JPH05233748A - Simulation method - Google Patents

Simulation method

Info

Publication number
JPH05233748A
JPH05233748A JP3648892A JP3648892A JPH05233748A JP H05233748 A JPH05233748 A JP H05233748A JP 3648892 A JP3648892 A JP 3648892A JP 3648892 A JP3648892 A JP 3648892A JP H05233748 A JPH05233748 A JP H05233748A
Authority
JP
Japan
Prior art keywords
circuit
function
subroutine
name
program
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP3648892A
Other languages
Japanese (ja)
Inventor
Masami Aihara
雅己 相原
Hiroshi Oyama
浩 大山
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Toshiba Corp
Original Assignee
Toshiba Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Toshiba Corp filed Critical Toshiba Corp
Priority to JP3648892A priority Critical patent/JPH05233748A/en
Publication of JPH05233748A publication Critical patent/JPH05233748A/en
Pending legal-status Critical Current

Links

Landscapes

  • Test And Diagnosis Of Digital Computers (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

PURPOSE:To realize an efficient arithmetic operation, and to execute a simulation at high speed at the time of the arithmetic execution of the simulation. CONSTITUTION:A division into combined circuits (dotted line) is operated. The same circuit patterns 23 and 24 which are repeated twice are registered. Input and output patterns to the circuits 23 and 24 are turned into a table, and registered. When the patterns which are the same as the input patterns turned into the table are inputted, the output patterns are searched from the registered table without performing the arithmetic operation. Circuits 21-24 whose operating frequency is 2 are registered. The input and output patterns to the circuits 21 and 22 are turned into the table, and registered. The circuits 21-24 are merged, and a merge circuit 26 is registered. The input and output pattern to the merge circuit 26 is turned into the table.

Description

【発明の詳細な説明】Detailed Description of the Invention

【0001】[0001]

【産業上の利用分野】本発明は論理回路の設計段階にお
いてシミュレーションを行うシミュレーション方法に関
する。
BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to a simulation method for performing a simulation in the design stage of a logic circuit.

【0002】[0002]

【従来の技術】従来のシミュレーション方法はパターン
入力の度ごとに演算を実行し、同じ入力パターンが繰り
返されても何度でも同じ演算を行っており、非効率的で
あった。また、全ての入出力パターンをテーブル化する
には記憶容量の問題があり、演算結果をテーブル化でき
なかった。
2. Description of the Related Art A conventional simulation method is inefficient because a calculation is executed every time a pattern is input, and the same calculation is repeated even when the same input pattern is repeated. In addition, there is a problem of storage capacity in tabulating all the input / output patterns, and the calculation result cannot be tabulated.

【0003】一方、シミュレーションプログラムなど、
1つのプログラムをいくつかのソースファイルに分割し
て記述し、個別にコンパイルすることが可能であるが、
最終的にはリンケージエディタにより、そのプログラム
中で使われているサブルーチンや関数のすべてのオブジ
ェクトファイルを結合して、1つの実行モジュールにま
とめている。
On the other hand, simulation programs, etc.
It is possible to divide one program into several source files and write them, and compile them individually.
Finally, the linkage editor combines all the object files of the subroutines and functions used in the program into one execution module.

【0004】最近では、システムに提供されている標準
的な入出力ルーチンや算術演算関数等、いわゆるライブ
ラリルーチンやライブラリ関数は結合せず、プログラム
の実行時に呼び出して実行することも行われている。
In recent years, so-called library routines and library functions such as standard input / output routines and arithmetic operation functions provided in the system are not combined, and they are called and executed when the program is executed.

【0005】しかし、ユーザーが作成したサブルーチン
あるいは関数をプログラムの中で呼び出すには、あらか
じめソースプログラムに明記しておく必要があり、ソー
スプログラムに明記していない関数は呼び出すことがで
きない。例えば、シミュレーション結果をグラフィカル
表示するサブルーチンなどを呼び出す場合には、そのサ
ブルーチンプログラムをソースプログラムに明記してお
かなければならない。
However, in order to call a subroutine or function created by the user in a program, it is necessary to specify it in the source program in advance, and a function not specified in the source program cannot be called. For example, when calling a subroutine for displaying the simulation result graphically, the subroutine program must be specified in the source program.

【0006】[0006]

【発明が解決しようとする課題】上述のように従来のシ
ミュレーション方法は、パターン入力の度ごとに演算を
行い、同じ入力パターンが繰り返されても同じ演算を繰
り返し、高速性が最も要求されるシミュレーションにお
いては致命的な欠点であった。また、高速性を求めるた
めに全ての演算をテーブル化するにはやはり、記憶容量
が膨大になるという致命的な欠点があった。
As described above, according to the conventional simulation method, the calculation is performed every time the pattern is input, and the same calculation is repeated even if the same input pattern is repeated, so that the high speed simulation is most required. Was a fatal drawback. In addition, there is a fatal drawback that the storage capacity becomes enormous in order to tabulate all the operations in order to obtain high speed.

【0007】また、プログラミング言語で記述されたプ
ログラムからオブジェクトファイルを作成し、上記オブ
ジェクトファイルをリンケージエディタを用いて結合し
て1つの実行ファイルを作成することにより、シミュレ
ーションを実行する際には、そのプログラムの中で呼び
出すサブルーチンあるいは関数はあらかじめソースプロ
グラムに明記しておく必要があった。
When a simulation is executed by creating an object file from a program written in a programming language and combining the object files with a linkage editor to create one execution file, The subroutine or function to be called in the program had to be specified in the source program in advance.

【0008】このため、ソースプログラムに明記されて
いないサブルーチンや関数は呼び出すことができず、プ
ログラムの実行状態によって任意のサブルーチンや関数
を呼び出すことが不可能であるという問題があった。
Therefore, there is a problem that it is impossible to call a subroutine or function which is not specified in the source program, and it is impossible to call an arbitrary subroutine or function depending on the execution state of the program.

【0009】さらに、開発途中のシミュレーションプロ
グラムのように頻繁に修正が行われる場合、プログラム
が修正されるたびに、全体をリンクし直さなければなら
ず、プログラムの開発効率の面でも問題があった。
Further, in the case of frequent modifications such as a simulation program in the middle of development, it is necessary to relink the whole program every time the program is modified, which causes a problem in terms of program development efficiency. ..

【0010】本発明はこのような問題点を解決するもの
であり、その目的の第1は、シミュレーションの効率性
を向上させ、なおかつ現実的な記憶容量で入出力パター
ンをテーブル化させることができるシミュレーション方
法を提供することにある。
The present invention solves such a problem, and the first object thereof is to improve the efficiency of simulation and to make the input / output pattern into a table with a realistic storage capacity. It is to provide a simulation method.

【0011】また、目的の第2は、シミュレーション実
行中にオペレータが任意に指定したサブルーチンや関数
のオブジェクトファイルを主記憶上にロードすること
で、ソースプログラムに明記されていないサブルーチン
や関数を呼び出して実行することが可能な、プログラム
の動的制御手段を有したシミュレーション方法を提供す
ることにある。
A second object is to load an object file of a subroutine or function arbitrarily designated by an operator into the main memory during the execution of a simulation, thereby calling a subroutine or function not specified in the source program. It is an object of the present invention to provide a simulation method having a program dynamic control means that can be executed.

【0012】[0012]

【課題を解決するための手段】このような問題点を解決
するために、第1の発明は、論理回路を構成する各回路
パターン繰り返し頻度を求め、高頻度の回路パターンの
入出力パターンをテーブル化し、前記各回路パターンの
動作頻度を計算し、動作頻度の高い回路パターンのシミ
ュレーション結果をテーブル化することを特徴としてい
る。
In order to solve such a problem, a first aspect of the present invention obtains the repetition frequency of each circuit pattern forming a logic circuit and displays the input / output pattern of a high frequency circuit pattern as a table. The operation frequency of each circuit pattern is calculated, and the simulation result of the circuit pattern having a high operation frequency is tabulated.

【0013】また、第2の発明は、プログラミング言語
で記述されたプログラムからオブジェクトファイルを作
成し、上記オブジェクトファイルをリンケージエディタ
を用いて結合し、1つの実行ファイルを作成してシミュ
レーションを実行する際に、主となるメインプログラム
に、任意のサブルーチン名や関数名を入力指示する手段
と、主記憶上にロードされているサブルーチンや関数の
名前とその先頭アドレスを保持する手段と、上記主記憶
上にロードされているサブルーチンや関数の名前とその
先頭アドレスを保持する手段が有しているデータを検索
して上記任意に指定された名前のサブルーチンや関数の
先頭アドレスを取り出す手段と、オブジェクトファイル
を主記憶上にロードしてそのオブジェクトファイルに含
まれているサブルーチンや関数の名前とその先頭アドレ
スを抽出して上記主記憶上にロードされているサブルー
チンや関数の名前とその先頭アドレスを保持する手段に
追加する手段と、上記取り出した先頭アドレスからサブ
ルーチンや関数を実行する手段とを付加したことを特徴
としている。
A second aspect of the invention is to create an object file from a program written in a programming language, combine the object files with a linkage editor, create one execution file and execute a simulation. , A means for inputting an arbitrary subroutine name or function name to the main main program, a means for holding the names of the subroutines or functions loaded in the main memory and their start addresses, To retrieve the start address of the subroutine or function with the arbitrarily specified name by searching the data held by the means that holds the name of the subroutine or function loaded in Sable that is loaded into main memory and included in the object file A means for extracting the name of the chin or function and its start address and adding it to the means for holding the name of the subroutine or function loaded in the main memory and its start address, and a subroutine or function from the extracted start address And a means for executing

【0014】[0014]

【作用】まず、第1の発明は、設計者の設計した回路を
解析し、動作頻度の高い回路を抽出する。動作頻度の高
い回路については一度行った演算結果を保持する。動作
頻度の高い回路で、以前と同じ入力パターンが入力され
た場合には、保持されている演算結果を出力パターンと
している。
According to the first aspect of the invention, the circuit designed by the designer is analyzed to extract a circuit having a high operation frequency. For a circuit with a high operation frequency, the result of the operation performed once is held. When the same input pattern as before is input in a circuit with high operation frequency, the held calculation result is used as an output pattern.

【0015】第2の発明は、まずオペレータが任意のサ
ブルーチン名ないし関数名をキーボードなどから入力指
定する。次に、指定された名前のサブルーチンないし関
数がすでに主記憶上にロードされている時は、その先頭
アドレスを取り出す。
In the second invention, first, an operator inputs and designates an arbitrary subroutine name or function name from a keyboard or the like. Next, if the subroutine or function with the specified name is already loaded in the main memory, the start address of the subroutine or function is fetched.

【0016】指定された名前のサブルーチンないし関数
が、まだ主記憶上にロードされていない時は、該当する
サブルーチンないし関数を含むオブジェクトファイルを
主記憶上にロードしてから、その先頭番地を取り出す。
そして、取り出した先頭アドレスからサブルーチンや関
数を実行する。
When the subroutine or function having the designated name is not loaded in the main memory yet, the object file including the corresponding subroutine or function is loaded in the main memory, and then the leading address is taken out.
Then, the subroutine or function is executed from the fetched start address.

【0017】このように第2の発明では、プログラムの
動的制御手段によってシミュレーション実行中にオペレ
ータが任意のサブルーチン名ないし関数名を指定し、そ
のオブジェクトファイルを主記憶上にロードして実行す
ることにより、オブジェクトファイル内の任意の名前の
サブルーチンないし関数を呼び出している。
As described above, in the second aspect of the invention, the operator specifies an arbitrary subroutine name or function name during the simulation by the dynamic control means of the program, and loads the object file on the main memory for execution. Calls a subroutine or function with an arbitrary name in the object file.

【0018】[0018]

【実施例】以下、本発明の詳細を図示の実施例によって
説明する。
The details of the present invention will be described below with reference to the illustrated embodiments.

【0019】第1の発明 図1は第1の発明のシミュレーション方法を実現するた
めの基本構成を示す図である。図2は具体的な論理回路
の例を示す図である。図3は図2の回路における動作頻
度の高い回路パターンの例である。図4は入力パターン
の一例である。図5は図3の回路パターンの演算結果で
ある。図6は図2と等価な回路である。図7は図6で示
した回路26の入出力パターンをテーブル化したもので
ある。
First Invention FIG. 1 is a diagram showing a basic configuration for realizing the simulation method of the first invention. FIG. 2 is a diagram showing an example of a specific logic circuit. FIG. 3 is an example of a circuit pattern with high operation frequency in the circuit of FIG. FIG. 4 is an example of the input pattern. FIG. 5 shows the calculation result of the circuit pattern of FIG. FIG. 6 is a circuit equivalent to FIG. FIG. 7 is a table of the input / output patterns of the circuit 26 shown in FIG.

【0020】まず、図1において概略を説明する。設計
者の記述した回路記述2がシミュレータ1に読み込まれ
ると、回路記述解析部5で組み合わせ回路に分割し、同
じような回路パターンが繰り返されていないか解析す
る。回路パターンの繰り返しの頻度を求め、回路頻度登
録部6に繰り返し頻度の高い回路パターンを抽出し登録
する。
First, the outline will be described with reference to FIG. When the circuit description 2 described by the designer is read by the simulator 1, the circuit description analysis unit 5 divides the circuit description into combinational circuits, and analyzes whether similar circuit patterns are repeated. The repetition frequency of the circuit pattern is obtained, and the circuit pattern having a high repetition frequency is extracted and registered in the circuit frequency registration unit 6.

【0021】次に入力パターン3でシミュレーションを
行う。そして、高頻度の回路パターンが組み合わせ回路
ならば、入出力パターンをテーブル化し、回路テーブル
データベース4に登録しておく。次の入力パターンが入
力されると、回路頻度登録部6で登録された回路の入力
パターンが回路テーブルデータベース4で登録されたテ
ーブルと一致するものがあるかどうか、入力パターン解
析部7で調べる。
Next, a simulation is performed with the input pattern 3. If the high-frequency circuit pattern is a combinational circuit, the input / output pattern is tabulated and registered in the circuit table database 4. When the next input pattern is input, the input pattern analysis unit 7 checks whether or not the input pattern of the circuit registered by the circuit frequency registration unit 6 matches the table registered in the circuit table database 4.

【0022】仮に一致するものがあれば、演算は行わず
にテーブルを用いて出力を求める。一致するものがなけ
れば新たに演算を実行し、結果を回路テーブルデータベ
ース4に登録しテーブル化する。
If there is a match, the output is obtained using the table without performing the calculation. If there is no match, a new calculation is executed and the result is registered in the circuit table database 4 and tabulated.

【0023】このようにして数回、シミュレーションが
実行されるとこれまでの動作頻度を動作回路解析部9に
おいて動作頻度を計算し、動作頻度の高い組み合わせ回
路を回路頻度登録部6に登録する。
When the simulation is performed several times in this way, the operation frequency is calculated in the operation circuit analysis unit 9 so that the combination circuit having a high operation frequency is registered in the circuit frequency registration unit 6.

【0024】さらに、次のシミュレーションから動作頻
度の高い回路における演算結果を回路テーブルデータベ
ース4でテーブル化する。回路頻度登録部6で登録され
た回路がマージできる場合かどうか回路記述解析部5で
判定し、マージできるならばマージした回路を新たに回
路頻度登録部6に登録する。
Further, from the next simulation, the circuit table database 4 is used to tabulate the operation results in the circuits with high operation frequency. The circuit description analysis unit 5 determines whether or not the circuits registered by the circuit frequency registration unit 6 can be merged. If the circuits can be merged, the merged circuit is newly registered in the circuit frequency registration unit 6.

【0025】このようにして、演算結果をテーブル化
し、次回からできる限り演算を少ない回数でシミュレー
ションを行うことができる。
In this way, the calculation results can be made into a table, and the simulation can be performed from the next time as few times as possible.

【0026】次に具体的な例を用いて説明する。図2は
設計者の設計した回路である。この回路はまず、回路記
述解析部5において図2の点線で囲んだ回路のように組
み合わせ回路に分割される。次に同じ回路パターンが何
度も繰り返されていないか調べると、図3に示す回路が
2回繰り返されているのでこの回路を回路頻度登録部6
に登録する。
Next, a specific example will be described. FIG. 2 is a circuit designed by the designer. This circuit is first divided into combinational circuits by the circuit description analysis unit 5 like the circuit surrounded by the dotted line in FIG. Next, when it is checked whether the same circuit pattern is repeated many times, the circuit shown in FIG. 3 is repeated twice.
Register with.

【0027】図4(a)のような入力パターンが入力さ
れるとすると、演算を行うことによって図2の回路23
は図5のパターン51のような、回路24は図5のパタ
ーン52のような結果を得ることができる。この結果を
回路テーブルデータベース4にテーブル化して登録す
る。
Assuming that the input pattern as shown in FIG. 4A is inputted, the circuit 23 shown in FIG.
The pattern 24 in FIG. 5 and the circuit 24 in the pattern 52 in FIG. The result is tabulated and registered in the circuit table database 4.

【0028】次に図4(b)の入力パターンが入力され
ると、図2の回路24の入力パターンは図5の入力パタ
ーン52と一致しているのでここの演算は行わずに回路
テーブルデータベース4から出力を求める。
Next, when the input pattern of FIG. 4 (b) is input, the input pattern of the circuit 24 of FIG. 2 coincides with the input pattern 52 of FIG. Obtain the output from 4.

【0029】図2の回路23は図5の入力パターン51
とパターンが異なるので回路テーブルデータベース4は
参照することはできない。そこで、演算を実行し、演算
結果53を回路テーブルデータベース4に保持してお
く。
The circuit 23 of FIG. 2 has the input pattern 51 of FIG.
, The circuit table database 4 cannot be referred to. Therefore, the calculation is executed and the calculation result 53 is held in the circuit table database 4.

【0030】今までの動作頻度を求めると、回路21,
22,23,24は頻度2であるが、回路25は頻度0
である。そこで、回路21,22,23,24を回路頻
度登録部6に登録するが、回路23,24はすでに登録
済みであるので、回路21,22を新たに登録する。
When the operation frequency up to now is calculated, the circuit 21,
22, 23, and 24 have a frequency of 2, but the circuit 25 has a frequency of 0.
Is. Therefore, the circuits 21, 22, 23, and 24 are registered in the circuit frequency registration unit 6. However, since the circuits 23 and 24 have already been registered, the circuits 21 and 22 are newly registered.

【0031】次のシミュレーションで回路21及び22
がテーブル化される。ここで、回路21〜24はマージ
できるのでマージした回路を回路26として新たに回路
頻度登録部に登録する。この時には図2の回路は図6の
ような回路と等価となり、簡単化できる。さらに、この
マージされた回路26を図7のようにテーブル化するこ
とにより、さらに効率的な演算を行うことができる。
In the next simulation, the circuits 21 and 22
Are tabulated. Since the circuits 21 to 24 can be merged, the merged circuit is newly registered as the circuit 26 in the circuit frequency registration unit. At this time, the circuit of FIG. 2 becomes equivalent to the circuit of FIG. 6 and can be simplified. Further, by forming the merged circuit 26 into a table as shown in FIG. 7, more efficient calculation can be performed.

【0032】第2の発明 図8は第2の発明のシミュレーション方法におけるプロ
グラムの動的制御手段を示す流れ図である。
Second Invention FIG. 8 is a flow chart showing the dynamic control means of the program in the simulation method of the second invention.

【0033】まず、step1でメインプログラムを起
動する。図9はプログラミング言語Cで記述したメイン
プログラムの一例で、オブジェクトファイルを読み込む
手段である関数_loadobj、指定された関数名の
先頭アドレスを取り出す手段である関数_searc
h、先頭アドレスから実行する手段である関数型ポイン
タ変数dmysubが付加されている。
First, in step 1, the main program is started. FIG. 9 shows an example of a main program written in the programming language C. Function_loadobj, which is a means for reading an object file, and function_search, which is a means for extracting the start address of a designated function name.
h, a function-type pointer variable dmysub that is means for executing from the start address is added.

【0034】さらに、任意の関数を呼び出したい箇所で
プログラムの動的制御手段61を提供する一連の記述が
設定されている。なお、この動的制御手段61は、複数
箇所に設定可能である。
Further, a series of descriptions for setting the dynamic control means 61 of the program at a place where an arbitrary function is desired to be called is set. The dynamic control means 61 can be set at a plurality of locations.

【0035】メインプログラムの実行中にプログラムの
動的制御手段61が実行されると、step2で関数名
の入力待ちとなる。オペレータが任意の関数名をキーボ
ードなどから入力すると、step3で関数_sear
ch()によって指定された関数の先頭アドレスを取り
出す。図10は主記憶上にロードされ、データ領域に保
持されている関数の名前とその先頭アドレスを示す表で
ある。
When the dynamic control means 61 of the program is executed during the execution of the main program, the input of the function name is waited at step 2. When the operator inputs an arbitrary function name from the keyboard, etc., in step 3, the function_sear
The start address of the function specified by ch () is taken out. FIG. 10 is a table showing the names of the functions loaded in the main memory and held in the data area and their start addresses.

【0036】step4で、指定された関数がすべてロ
ードされているときは正しいアドレスが返るので、st
ep6に行く。まだロードされていない時は−1が返る
ので、step5で、関数_loadobj()により
該当する関数を含むオブジェクトファイルを主記憶上に
ロードしその関数名と先頭アドレスを、関数の名前と先
頭アドレスを保持するデータ領域に追加してから、再
度、関数_search()で先頭アドレスを取り出
す。
In step 4, the correct address is returned when all the specified functions are loaded, so st
Go to ep6. If it is not loaded yet, -1 is returned, so in step 5, the object file containing the corresponding function is loaded into the main memory by the function _loadobj (), and the function name and start address, the function name and start address are set. After adding to the data area to be held, the start address is extracted again by the function _search ().

【0037】図11は、オペレータが任意に指定した関
数func1,func2のオブジェクトファイルを主
記憶上にロードした時の主記憶の様子を表した模式図で
ある。図中のデータ領域に、図10のデータが保持され
ている。step6で取り出した先頭アドレスから実行
する関数型ポインタ変数dmyfncに代入すること
で、オペレータが指定した任意の関数が先頭アドレスか
ら実行される。以下、プログラムの動的制御手段61が
実行されるごとにstep2からstep6を繰り返し
実行する。
FIG. 11 is a schematic diagram showing the state of the main memory when the object files of the functions func1 and func2 arbitrarily specified by the operator are loaded on the main memory. The data of FIG. 10 is held in the data area in the figure. By substituting the function-type pointer variable dmyfnc to be executed from the start address fetched in step 6, an arbitrary function designated by the operator is executed from the start address. Hereinafter, every time the dynamic control means 61 of the program is executed, step 2 to step 6 are repeatedly executed.

【0038】図12は、第2の発明の別の実施例に係わ
る流れ図である。本実施例ではプログラムの動的制御手
段61を提供する一連の記述をあらかじめソースプログ
ラムに記述するのが不可能な場合、例えばソースプログ
ラムがなく、実行ファイルだけが存在する場合に、第2
の発明を適用することが可能である。
FIG. 12 is a flow chart according to another embodiment of the second invention. In the present embodiment, when it is impossible to describe in advance a series of descriptions for providing the dynamic control means 61 of the program in the source program, for example, when there is no source program and only the execution file exists,
The invention of can be applied.

【0039】まず、step1でメインプログラムを起
動する。この時任意の中断点を設定する。中断点により
プログラムが中断したらstep7で、よく知られた方
法ではあるが、プログラムをパッチして、プログラムの
動的制御手段61を提供する一連の記述を組み込む。プ
ログラムを再開するとプログラムの動的制御手段61が
実行され、図8のstep2以降のステップが実行され
ることになる。
First, in step 1, the main program is started. At this time, an arbitrary break point is set. Once the program has been interrupted by the breakpoint, in step 7, in a well known manner, the program is patched to incorporate a series of descriptions that provide a dynamic control means 61 for the program. When the program is restarted, the dynamic control means 61 of the program is executed, and the steps after step 2 in FIG. 8 are executed.

【0040】このように、本実施例によれば、プログラ
ムの実行中にオペレータが任意に指定した名前の関数の
オブジェクトファイルを主記憶上にロードして、実行す
ることが可能である。
As described above, according to this embodiment, it is possible to load the object file of the function having the name arbitrarily specified by the operator into the main memory and execute the program during the execution of the program.

【0041】第2の発明によれば、シミュレーション実
行中に必要なデータであるにも拘らず、そのデータが無
い場合、部品名やモジュール名を入力することによって
実行を続行できる。例えば、シミュレーション結果をグ
ラフィカル表示するサブルーチンプログラムを任意に呼
び出すことができる。あるいは、第1の発明における、
入出力パターンをテーブル化するためのプログラム名を
指定して実行させることも可能である。
According to the second aspect of the present invention, even if the data is necessary during the simulation execution, but there is no such data, the execution can be continued by inputting the component name or the module name. For example, a subroutine program that graphically displays the simulation result can be called. Alternatively, in the first invention,
It is also possible to specify and execute a program name for tabulating the input / output patterns.

【0042】なお、第2の発明は、シミュレーションに
限るものではなく、ソフトウェア全体に応用可能なもの
である。
The second invention is not limited to simulation, but can be applied to the entire software.

【0043】[0043]

【発明の効果】以上説明したように、第1の発明によれ
ば、シミュレーションの演算実行の際、効率的な演算を
実現でき、シミュレーションの高速化を図ることができ
る。また、高頻度の入出力パターンのみをテーブル化さ
せることにより、現実的な記憶容量を使用できる。
As described above, according to the first aspect of the present invention, it is possible to realize efficient calculation when executing the calculation of the simulation, and to speed up the simulation. Further, by making only high-frequency input / output patterns into a table, a practical storage capacity can be used.

【0044】また、第2の発明によれば、プログラムの
実行中に任意の名前の関数のオブジェクトを主記憶上に
ロードして実行するようにしたので、ソースプログラム
に明記していなくても、サブルーチンや関数を実行する
ことができる。これにより、プログラムの実行状態に応
じて次に実行すべき関数を指定し、かつ、選択できる関
数の数に制限がなくなるため、自由度の高いプログラム
を構築することが可能である。
According to the second invention, since the object of the function having an arbitrary name is loaded into the main memory and executed during execution of the program, even if it is not specified in the source program, It can execute subroutines and functions. As a result, the function to be executed next is specified according to the execution state of the program, and the number of functions that can be selected is not limited, so that it is possible to construct a program with a high degree of freedom.

【0045】さらに、開発途中のプログラムのように修
正が頻繁に入るような場合、全体をリンクし直す手間が
省けるため、プログラムの開発効率がよくなる。
Further, in the case of frequent modifications such as a program in the middle of development, the labor of re-linking the entire program can be saved, and the program development efficiency can be improved.

【図面の簡単な説明】[Brief description of drawings]

【図1】第1の発明のシミュレーション方法を実現する
ための基本構成を示す図。
FIG. 1 is a diagram showing a basic configuration for realizing a simulation method of a first invention.

【図2】第1の発明における具体的な論理回路の例を示
す図。
FIG. 2 is a diagram showing an example of a specific logic circuit in the first invention.

【図3】図2の回路における動作頻度の高い回路パター
ンの例を示す図。
FIG. 3 is a diagram showing an example of a circuit pattern having a high operation frequency in the circuit of FIG.

【図4】第1の発明における入力パターンを示す図。FIG. 4 is a diagram showing an input pattern in the first invention.

【図5】図3の回路パターンの演算結果を示す図。FIG. 5 is a diagram showing a calculation result of the circuit pattern of FIG.

【図6】マージ後の図2と等価な回路を示す図。FIG. 6 is a diagram showing a circuit equivalent to FIG. 2 after merging.

【図7】図6の回路26の入出力パターンをテーブル化
した図。
FIG. 7 is a table showing the input / output patterns of the circuit 26 of FIG.

【図8】第2の発明のシミュレーション方法におけるプ
ログラムの動的制御手段を示す流れ図。
FIG. 8 is a flowchart showing dynamic control means of a program in the simulation method of the second invention.

【図9】プログラミング言語Cで記述したプログラムの
一例。
FIG. 9 shows an example of a program written in a programming language C.

【図10】第2の発明において、主記憶上にロードさ
れ、データ領域に保持されている関数の名前とその先頭
アドレスを示す表。
FIG. 10 is a table showing the names of the functions loaded in the main memory and held in the data area and their start addresses in the second invention.

【図11】第2の発明において、オブジェクトファイル
をロードした後の主記憶の様子を示す模式図。
FIG. 11 is a schematic diagram showing a state of main memory after loading an object file in the second invention.

【図12】第2の発明の別の実施例に係わる流れ図。FIG. 12 is a flowchart according to another embodiment of the second invention.

【符号の説明】[Explanation of symbols]

1 シミュレータ 2 回路記述 3 入力パターン 4 回路テーブルデータベース 5 回路記述解析部 6 回路頻度登録部 7 入力パターン解析部 8 演算実行部 9 動作回路解析部 21〜26 組み合わせ回路 61 動的制御手段 DESCRIPTION OF SYMBOLS 1 simulator 2 circuit description 3 input pattern 4 circuit table database 5 circuit description analysis unit 6 circuit frequency registration unit 7 input pattern analysis unit 8 operation execution unit 9 operation circuit analysis unit 21 to 26 combination circuit 61 dynamic control means

Claims (2)

【特許請求の範囲】[Claims] 【請求項1】 論理回路を構成する各回路パターン繰り
返し頻度を求め、高頻度の回路パターンの入出力パター
ンをテーブル化し、前記各回路パターンの動作頻度を計
算し、動作頻度の高い回路パターンのシミュレーション
結果をテーブル化することを特徴とするシミュレーショ
ン方法。
1. A repetition frequency of each circuit pattern forming a logic circuit is obtained, an input / output pattern of a high frequency circuit pattern is tabulated, an operation frequency of each circuit pattern is calculated, and a simulation of a circuit pattern having a high operation frequency is performed. A simulation method characterized by tabulating the results.
【請求項2】 プログラミング言語で記述されたプログ
ラムからオブジェクトファイルを作成し、上記オブジェ
クトファイルをリンケージエディタを用いて結合し、1
つの実行ファイルを作成してシミュレーションを実行す
る際に、 主となるメインプログラムに、任意のサブルーチン名や
関数名を入力指示する手段と、 主記憶上にロードされているサブルーチンや関数の名前
とその先頭アドレスを保持する手段と、 上記主記憶上にロードされているサブルーチンや関数の
名前とその先頭アドレスを保持する手段が有しているデ
ータを検索して上記任意に指定された名前のサブルーチ
ンや関数の先頭アドレスを取り出す手段と、 オブジェクトファイルを主記憶上にロードしてそのオブ
ジェクトファイルに含まれているサブルーチンや関数の
名前とその先頭アドレスを抽出して上記主記憶上にロー
ドされているサブルーチンや関数の名前とその先頭アド
レスを保持する手段に追加する手段と、 上記取り出した先頭アドレスからサブルーチンや関数を
実行する手段とを付加したことを特徴とするシミュレー
ション方法。
2. An object file is created from a program written in a programming language, the object files are combined using a linkage editor, and 1
When creating two execution files and executing a simulation, a means to input and instruct any subroutine name or function name to the main main program, and the name of the subroutine or function loaded in the main memory and its The means for holding the start address, the name of the subroutine or function loaded on the main memory and the data held by the means for holding the start address are searched, and the subroutine of the arbitrarily specified name or A means for fetching the start address of the function, and a subroutine loaded in the main memory by loading the object file onto the main memory and extracting the names and start addresses of the subroutines and functions included in the object file And means to add the name of the function and its start address to the means to hold Simulation method characterized by the addition of means for executing a subroutine or function from the head address.
JP3648892A 1992-02-24 1992-02-24 Simulation method Pending JPH05233748A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP3648892A JPH05233748A (en) 1992-02-24 1992-02-24 Simulation method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP3648892A JPH05233748A (en) 1992-02-24 1992-02-24 Simulation method

Publications (1)

Publication Number Publication Date
JPH05233748A true JPH05233748A (en) 1993-09-10

Family

ID=12471214

Family Applications (1)

Application Number Title Priority Date Filing Date
JP3648892A Pending JPH05233748A (en) 1992-02-24 1992-02-24 Simulation method

Country Status (1)

Country Link
JP (1) JPH05233748A (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009026101A (en) * 2007-07-20 2009-02-05 Nec Electronics Corp Evaluation apparatus, evaluation method and program
JP2011238163A (en) * 2010-05-13 2011-11-24 Renesas Electronics Corp Layout method, layout system, and layout program for semiconductor integrated circuit

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009026101A (en) * 2007-07-20 2009-02-05 Nec Electronics Corp Evaluation apparatus, evaluation method and program
JP2011238163A (en) * 2010-05-13 2011-11-24 Renesas Electronics Corp Layout method, layout system, and layout program for semiconductor integrated circuit

Similar Documents

Publication Publication Date Title
US5926638A (en) Program debugging system for debugging a program having graphical user interface
US6851106B1 (en) Object oriented optimizing code generator with user selection of use or do not use for dynamic generation of functions
JPH05233748A (en) Simulation method
US6343378B1 (en) Method of making link directive file and tool for making link directive file
JPH06110733A (en) Test case generating device of program
JP3099889B2 (en) Electronic computer, programmable logic circuit and program processing method
KR100224857B1 (en) Apparatus for editing a design
JP2001022808A (en) Logic circuit reducing device, method and device for logic simulation
JP3031767B2 (en) Natural language processor
US7627859B2 (en) Method for configuring non-script language library files to be run as scripts
JPH04274518A (en) Device for preparing picture signal processing program by dsp
JPH04333171A (en) Device for simulation
JP2990882B2 (en) Functional simulation device
JP2982418B2 (en) Functional simulation device
JP3057192B2 (en) Logic simulation support system
KR0175469B1 (en) How to control the visibility of fill program variables
JPS61131124A (en) Conversation input processing system
JPH06332719A (en) Compiler code generating device
JPH05150943A (en) Computer
JPH04289927A (en) Extended command generating system for debugger
JPH09297695A (en) Symbolic cross debugger and preparation system
JPH05181649A (en) Crossreference output device
JPH03206531A (en) Automatic generating device for test program
JPH0371229A (en) Program controller
JPH0612259A (en) Compiler processing system