JPH07141407A - Logical simulator and logical simulation method - Google Patents

Logical simulator and logical simulation method

Info

Publication number
JPH07141407A
JPH07141407A JP5288402A JP28840293A JPH07141407A JP H07141407 A JPH07141407 A JP H07141407A JP 5288402 A JP5288402 A JP 5288402A JP 28840293 A JP28840293 A JP 28840293A JP H07141407 A JPH07141407 A JP H07141407A
Authority
JP
Japan
Prior art keywords
signal
trace
value
storage means
simulation
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.)
Withdrawn
Application number
JP5288402A
Other languages
Japanese (ja)
Inventor
Yasuhiro Odakura
泰浩 小田倉
Yukihiko Shibata
行彦 柴田
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
Toshiba Computer Engineering Corp
Original Assignee
Toshiba Corp
Toshiba Computer Engineering 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, Toshiba Computer Engineering Corp filed Critical Toshiba Corp
Priority to JP5288402A priority Critical patent/JPH07141407A/en
Publication of JPH07141407A publication Critical patent/JPH07141407A/en
Withdrawn legal-status Critical Current

Links

Abstract

PURPOSE:To accelerate the speed of logical simulation by providing a second value storage means for storing the values of trace specified signals independent of a first value storage means for storing the values of the respective signals in a logic circuit and updating the contents of only the second means with the value of a generation signal when the event of the trace specific signal is generated. CONSTITUTION:Before executing simulation, a trace signal value list 22 for storing the values of the signals to be traced is provided independent of a value list 21 and every time the event for the signals to be traced is generated, the trace signal value list 22 is updated with the value of the signal. Then, every time the simulation of one user time is completed, the trace signal value list 22 is read and a traced result is written in a trace buffer. That is, by providing the trace signal value list 22 independent of the value list 21, the need of a process for judging the presence/absence of the trace specification of event generation signals in a machine time cycle accompanying the generation of the event is eliminated.

Description

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

【0001】[0001]

【産業上の利用分野】本発明は、論理回路の検証に利用
される論理シミュレータ及び論理シミュレーション方法
に関する。
BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to a logic simulator and a logic simulation method used for verifying a logic circuit.

【0002】[0002]

【従来の技術】近年、ASIC(Application Specific
IC )等の論理回路の検証を論理シミュレータにより行
うことが一般化され、従来の試作機を製作してその検証
を行う方法に比べ時間的及び経済的なコストの大幅な低
減化が実現された。論理シミュレータは、回路モデルを
ハードウェア記述言語またはスケマティックにより表現
し、コンピュータ上でこの回路モデルの論理(動作)を
模擬実行するものである。この論理シミュレータにおけ
る代表的なシミュレーション方法としてイベントドリブ
ン方式がある。
2. Description of the Related Art In recent years, ASIC (Application Specific
It has been generalized that verification of logic circuits such as IC) is performed by a logic simulator, and time and economic costs have been significantly reduced compared to the conventional method of manufacturing a prototype and verifying it. . The logic simulator represents a circuit model in a hardware description language or a schematic, and simulates the logic (behavior) of this circuit model on a computer. An event driven method is a typical simulation method in this logic simulator.

【0003】イベントドリブン方式とは、シミュレーシ
ョンの実行の過程で、回路モデル中の信号の値に変化が
あったことをイベントの発生とみなし、このイベントが
発生した信号が伝搬される回路部分についてのみ演算を
進めて行く方式である。したがって、この方式による
と、シミュレーション実行における演算回数を必要最小
限に抑えることができ、効率良くシミュレーションを実
行することができる。
The event driven method considers that the value of the signal in the circuit model has changed in the course of executing the simulation as the occurrence of the event, and only the circuit portion where the signal generated by the event is propagated. This is a method that advances the calculation. Therefore, according to this method, the number of calculations in the simulation execution can be suppressed to the necessary minimum, and the simulation can be executed efficiently.

【0004】次にこのイベントドリブン方式によるシミ
ュレーションを具体的な例を挙げて説明する。図9はシ
ミュレーション対象となる回路モデルの例とこの回路モ
デルをハードウェア記述言語によって表現した例を示す
図である。回路モデルにおいて、IA、IB、IC、T
A、TB、TCは信号、91、92、93はAND回路
である。回路モデル記述において、AND回路の論理は
“&”によって表現されている。
Next, the event-driven simulation will be described with a specific example. FIG. 9 is a diagram showing an example of a circuit model to be simulated and an example of expressing this circuit model in a hardware description language. In the circuit model, IA, IB, IC, T
A, TB, and TC are signals, and 91, 92, and 93 are AND circuits. In the circuit model description, the logic of the AND circuit is represented by "&".

【0005】いま、回路モデル中の全ての信号IA、I
B、IC、TA、TB、TCは0に初期化されている。
ここで信号IA、IBに入力値としてそれぞれ1を与え
たとすると、信号IA、IBの信号値は0から1へと変
化する。これがイベントの発生となる。そしてイベント
発生信号の値は、図10に示すように、カレントイベン
トバッファにその信号名とともに登録される。
Now, all the signals IA, I in the circuit model
B, IC, TA, TB, and TC are initialized to 0.
If 1 is given to each of the signals IA and IB as an input value, the signal values of the signals IA and IB change from 0 to 1. This is the event occurrence. Then, the value of the event occurrence signal is registered in the current event buffer together with its signal name, as shown in FIG.

【0006】次に、カレントイベントバッファより信号
IAが読み出され、各AND回路91、92に入力値と
して与えられたとする。これにより、各AND回路9
1、92に信号IA(1)を入力した場合のシミュレー
ション演算が実行される。この場合、各AND回路9
1、92の出力信号TB、TCの値はともに0となる。
これは初期値として設定された値0と変わらないため、
イベントは発生しなかったものと判定される。
Next, it is assumed that the signal IA is read from the current event buffer and given to each AND circuit 91, 92 as an input value. As a result, each AND circuit 9
A simulation operation is executed when the signal IA (1) is input to the first and second terminals 92. In this case, each AND circuit 9
The values of the output signals TB and TC of 1 and 92 are both 0.
Since this is the same as the value 0 set as the initial value,
It is determined that the event has not occurred.

【0007】次に、カレントイベントバッファより信号
IBが読み出され、AND回路91に入力されると、A
ND回路91の出力信号TBの値は1となり、イベント
の発生が判定される。そしてイベント発生信号の値は、
図11に示すように、ネクストイベントバッファにその
信号名とともに登録される。
Next, when the signal IB is read from the current event buffer and input to the AND circuit 91, A
The output signal TB of the ND circuit 91 has a value of 1, and it is determined that an event has occurred. And the value of the event occurrence signal is
As shown in FIG. 11, it is registered in the next event buffer together with its signal name.

【0008】以上のように、カレントイベントバッファ
より各信号の値を読み出してシミュレーション演算を順
次実行し、すべてのイベント発生信号の値をネクストイ
ベントバッファにその信号名とともに登録して行く。そ
してカレントイベントバッファ内のすべての信号につい
て前記処理を終了すると、次にネクストイベントバッフ
ァの内容でカレントイベントバッファを更新し、その
後、再びこのカレントイベントバッファから信号の値を
読み出して同様の処理を実行する。
As described above, the value of each signal is read from the current event buffer, the simulation operation is sequentially executed, and the values of all event occurrence signals are registered in the next event buffer together with their signal names. When the above processing is completed for all the signals in the current event buffer, the current event buffer is updated with the contents of the next event buffer, and then the signal value is read again from this current event buffer and the same processing is executed. To do.

【0009】このように、カレントイベントバッファに
登録された信号についての処理を開始してからすべての
信号についての処理を終了するまでの一連の周期単位
を、ここではマシン時刻と呼んでいる。
As described above, a series of cycle units from the start of the processing of the signals registered in the current event buffer to the end of the processing of all the signals are called machine time here.

【0010】ところで、このような論理シミュレータで
は、回路モデル中の特定の信号の値をシミュレーション
の実行過程でトレース(追跡)することを行っている。
図12はこのトレース処理を含むシミュレーションの手
順を示すフローチャートである。
By the way, in such a logic simulator, the value of a specific signal in the circuit model is traced (tracked) during the execution process of the simulation.
FIG. 12 is a flowchart showing the procedure of simulation including this trace processing.

【0011】まず回路モデルのデータを読み込み、これ
を回路モデルデータ専用の記憶領域に格納する(ステッ
プ1201)。次に、ユーザから入力された各種シミュ
レーションコマンドを解釈して、シミュレーション終了
時刻、トレース指定信号、テストデータ、シミュレーシ
ョン開始指示等の設定を受け付ける(ステップ120
2)。シミュレーション開始の指示を受け付けると、ま
ずカレントイベントバッファから信号の値を読み出し
て、この信号の値と回路モデルのデータとからシミュレ
ーション演算を実行する(ステップ1205)。そして
演算結果から、イベントの発生の有無を判断し(ステッ
プ1206)、イベントが発生した場合、そのイベント
発生信号の値をネクストイベントバッファに登録する
(ステップ1207)。この処理をカレントイベントバ
ッファに登録された全ての信号について行い、全ての信
号についてこの処理を終了すると(ステップ120
4)、1マシン時刻のシミュレーションが終了したもの
として、各演算結果(イベント発生信号の値)で値表の
更新を行う(ステップ1210)。次に、値表中で値が
更新された信号がトレース指定されているかどうかを調
べ(ステップ1211)、トレース指定されている信号
であれば、その信号の値をトレース専用の記憶領域(ト
レースバッファ)に記録する(ステップ1212)。
First, the circuit model data is read and stored in a storage area dedicated to the circuit model data (step 1201). Next, various simulation commands input by the user are interpreted, and settings such as simulation end time, trace designation signal, test data, and simulation start instruction are accepted (step 120).
2). When the instruction to start the simulation is received, the value of the signal is first read from the current event buffer, and the simulation operation is executed from the value of the signal and the data of the circuit model (step 1205). Then, it is determined from the calculation result whether or not an event has occurred (step 1206), and when an event has occurred, the value of the event occurrence signal is registered in the next event buffer (step 1207). This process is performed for all signals registered in the current event buffer, and when this process is completed for all signals (step 120).
4) Assuming that the simulation for one machine time has ended, the value table is updated with each calculation result (value of the event occurrence signal) (step 1210). Next, it is checked whether or not the signal whose value is updated in the value table is trace-designated (step 1211). If the signal is trace-designated, the value of the signal is stored in the trace-specific storage area (trace buffer). ) Is recorded (step 1212).

【0012】トレース終了後、次のマシン時刻のシミュ
レーションを開始する。この場合、ネクストイベントバ
ッファの内容でカレントイベントバッファを更新し(ス
テップ1213)、ステップ1204に戻って、このカ
レントイベントバッファに登録された信号の値を読み出
してシミュレーション演算を実行する(ステップ120
5)。以下同様に、イベント発生の判定(ステップ12
06)、ネクストイベントバッファへの登録(ステップ
1207)、値表の更新(ステップ1210)、トレー
ス指定の判定(ステップ1211)、トレース情報の記
録(ステップ1212)、ネクストイベントバッファの
更新(ステップ1213)を、ネクストイベントバッフ
ァが空になるまで繰り返す。ネクストイベントバッファ
の空を検出すると(ステップ1208)、1ユーザ時刻
のシミュレーションの終了を判断してユーザ時刻の更新
を行い(ステップ1214)、次のユーザ時刻のシミュ
レーションを実行する。そして更新したユーザ時刻とシ
ミュレーション終了時刻とが一致するまで以上の処理を
繰り返し、ユーザ時刻とシミュレーション終了時刻とが
一致したところで(ステップ1203)、全てのシミュ
レーションを終了する。 要するに、この方式では、ト
レース指定された信号についてイベントが発生した場合
のみ、その信号値をトレースするようにしている。した
がって、信号値の変化のない場合の不要なトレース情報
を記録しないで済み、トレースバッファの限られた記憶
領域を有効に活用できる。
After the end of the trace, the simulation of the next machine time is started. In this case, the current event buffer is updated with the contents of the next event buffer (step 1213), the process returns to step 1204, the value of the signal registered in the current event buffer is read, and the simulation operation is executed (step 120).
5). Similarly, the determination of event occurrence (step 12
06), registration in the next event buffer (step 1207), updating of the value table (step 1210), determination of trace designation (step 1211), recording of trace information (step 1212), updating of the next event buffer (step 1213). Repeat until the next event buffer becomes empty. When the empty of the next event buffer is detected (step 1208), the end of the simulation for one user time is judged to update the user time (step 1214), and the simulation for the next user time is executed. The above processing is repeated until the updated user time and the simulation end time match, and when the user time and the simulation end time match (step 1203), all the simulations are ended. In short, in this method, the signal value is traced only when an event occurs with respect to the trace-designated signal. Therefore, it is not necessary to record unnecessary trace information when the signal value does not change, and the limited storage area of the trace buffer can be effectively utilized.

【0013】しかしながら、この方式では、イベントの
発生に伴ってマシン時刻単位で、その信号がトレース指
定されている信号であるかどうかの判定と、イベント発
生信号がトレース指定信号である場合、値表からの当該
信号の値の読み出し、及びトレースバッファへの記録を
行う必要がある。したがって、シミュレーション全体を
通してのこれらの処理時間の累計はかなり長いものにな
り、このことが全体のシミュレーション処理を遅くする
原因との一つとなっている。
However, according to this method, it is determined whether the signal is a trace-designated signal in machine time units as the event occurs, and if the event generation signal is a trace-designated signal, a value table is displayed. It is necessary to read the value of the signal from the device and record it in the trace buffer. Therefore, the cumulative total of these processing times throughout the simulation becomes considerably long, which is one of the causes for slowing down the entire simulation processing.

【0014】特にハードウェアアクセレレータを使用し
たCADシステムにおいて、入出力処理は非常に重要な
部分を占めており、いくら高速なシミュレーションを実
現しても入出力処理に時間がかかってしまっては全く無
意味なものになってしまう。
Especially in a CAD system using a hardware accelerator, the input / output processing occupies a very important part, and no matter how fast the simulation is realized, the input / output processing does not take time at all. It makes sense.

【0015】[0015]

【発明が解決しようとする課題】本発明はこのような課
題を解決するためのもので、マシン時刻単位で行われ
る、イベント発生信号のトレース指定有無の判定や、値
表からのトレース指定信号の読み出し及びトレース情報
記録域へ記録等、シミュレーション速度の低下の原因と
なるトレース関連処理を不要化し、トレース処理の高速
化、ひいては全体のシミュレーション速度の向上を図る
ことのできる論理シミュレータ及び論理シミュレーショ
ン方法の提供を目的としている。
SUMMARY OF THE INVENTION The present invention is intended to solve such a problem, and determines the presence / absence of trace designation of an event occurrence signal and the trace designation signal from a value table, which is performed in machine time units. A logic simulator and a logic simulation method that can eliminate the trace-related processing that causes a decrease in the simulation speed, such as reading and recording in the trace information recording area, and speed up the trace processing, and thus improve the overall simulation speed. It is intended to be provided.

【0016】[0016]

【課題を解決するための手段】本発明の論理シミュレー
タは上記した目的を達成するために、論理回路のシミュ
レーションを行う論理シミュレータにおいて、前記論理
回路のモデル情報を記憶するモデル情報記憶手段と、前
記論理回路中の各信号の値を記憶する第1の値記憶手段
と、前記論理回路中で予めトレース指定された信号の値
を記憶する第2の値記憶手段と、テストデータが与えら
れる毎に、前記モデル情報記憶手段、前記第1の値記憶
手段及び前記第2の値記憶手段の各内容に基づきイベン
トドリブン方式で前記論理回路のシミュレーションを実
行する演算手段と、シミュレーション実行中、前記指定
手段によりトレース指定された信号のイベントが発生し
た場合、このイベント発生信号の値で前記第2の値記憶
手段の内容を更新し、且つ、トレース指定されていない
信号のイベントが発生した場合、このイベント発生信号
の値で前記第1の値記憶手段の内容を更新する更新手段
と、ひとつのテストデータの入力に対するシミュレーシ
ョンが終了する度に、前記第2の値記憶手段の内容をト
レース情報として抽出する抽出手段とを具備している。
In order to achieve the above-mentioned object, a logic simulator of the present invention is a logic simulator for simulating a logic circuit, and model information storage means for storing model information of the logic circuit, and First value storage means for storing the value of each signal in the logic circuit, second value storage means for storing the value of the signal trace-designated in advance in the logic circuit, and every time test data is given. An operation means for executing a simulation of the logic circuit in an event driven manner based on the contents of the model information storage means, the first value storage means and the second value storage means, and the designating means during the simulation. When an event of the signal trace-designated by is generated, the contents of the second value storage means are updated with the value of this event occurrence signal. Further, when an event of a signal not designated for trace occurs, an updating means for updating the contents of the first value storing means with the value of the event occurrence signal and a simulation for inputting one test data are completed. And extraction means for extracting the contents of the second value storage means as trace information each time.

【0017】[0017]

【作用】すなわち、本発明では、トレース指定された信
号の値を記憶する第2の値記憶手段を論理回路中の各信
号の値を記憶する第1の値記憶手段と独立して設け、シ
ミュレーション実行中、トレース指定された信号のイベ
ントが発生した場合、このイベント発生信号の値で第2
の値記憶手段のみの内容を更新する。これにより、マシ
ン時刻単位で行われるイベント発生信号のトレース指定
有無の判定処理が不要になる。また、ひとつのテストデ
ータの入力に対するシミュレーションが終了する度に、
第2の値記憶手段の内容をトレース情報として抽出す
る。これにより、マシン時刻単位に行われる値表からの
トレース指定信号の出力処理が不要になる。したがっ
て、本発明により、シミュレーション全体の高速化を実
現することが可能になる。
That is, in the present invention, the second value storage means for storing the value of the trace-designated signal is provided independently of the first value storage means for storing the value of each signal in the logic circuit, and the simulation is performed. During execution, if an event of the signal specified by the trace occurs, the value of this event occurrence signal is used to generate the second
The content of only the value storage means of is updated. As a result, it is not necessary to perform the process of determining whether or not the trace of the event occurrence signal is specified, which is performed in machine time units. Also, each time the simulation for one test data input is completed,
The contents of the second value storage means are extracted as trace information. As a result, the output processing of the trace designation signal from the value table performed in machine time units becomes unnecessary. Therefore, according to the present invention, it is possible to speed up the entire simulation.

【0018】[0018]

【実施例】以下、本発明の実施例を図面を参照しながら
説明する。
Embodiments of the present invention will be described below with reference to the drawings.

【0019】図1は本発明に係る一実施例の論理シミュ
レータのシステム構成を示すブロック図である。同図に
おいて、1はシステム全体の制御を行うCPUである。
2はキーボードであり、論理シミュレータへの各種のコ
マンド入力、その他に用いられる。3はCRT等の表示
装置であり、シミュレーション結果であるトレース情
報、その他を表示する。4は記憶装置であり、回路モデ
ルのデータを記憶する回路モデル記憶領域、回路モデル
中の各信号の値を記憶する値表、トレース指定された信
号の値を記憶するトレース信号値表、カレントイベント
バッファ、ネクストイベントバッファ、トレースバッフ
ァ等を含んでいる。5は回路モデル読込みモジュールで
あり、回路モデルのデータを記憶装置4の回路モデル記
憶領域に取り込む。6はシミュレータコマンド解釈モジ
ュールであり、キーボード2を通してユーザより入力さ
れた、シミュレーションの実行を制御する各種コマンド
を解釈する。7はシミュレータ演算モジュールであり、
回路モデルデータ及びテストデータ等を用いて回路モデ
ルのシミュレーションを実行する。8は結果表示モジュ
ールであり、シミュレーション結果であるトレース情報
を表示装置3に表示する制御を行う。9はトレース信号
値表作成モジュールであり、記憶装置4上にトレース信
号値表を作成する処理を行う。10はトレース信号値表
参照モジュールであり、トレース信号値表の内容を1ユ
ーザ時刻毎に読み出してトレースバッファに書き込む処
理を行う。
FIG. 1 is a block diagram showing the system configuration of a logic simulator according to an embodiment of the present invention. In the figure, 1 is a CPU that controls the entire system.
A keyboard 2 is used for various command inputs to the logic simulator and other purposes. Reference numeral 3 denotes a display device such as a CRT, which displays trace information which is a simulation result and other information. Reference numeral 4 denotes a storage device, which is a circuit model storage area for storing the data of the circuit model, a value table for storing the values of each signal in the circuit model, a trace signal value table for storing the values of trace-designated signals, and a current event. Includes buffers, next event buffers, trace buffers, etc. Reference numeral 5 is a circuit model reading module, which takes in circuit model data into the circuit model storage area of the storage device 4. A simulator command interpretation module 6 interprets various commands input by the user through the keyboard 2 to control the execution of the simulation. 7 is a simulator operation module,
A circuit model simulation is executed using the circuit model data, test data, and the like. A result display module 8 controls to display the trace information as the simulation result on the display device 3. Reference numeral 9 denotes a trace signal value table creation module, which performs processing for creating a trace signal value table on the storage device 4. Reference numeral 10 denotes a trace signal value table reference module, which performs a process of reading the contents of the trace signal value table at each user time and writing the contents in the trace buffer.

【0020】図2は値表及びトレース信号値表の構成と
これらの関係を示す図である。同図において、21は回
路モデル中の各信号の値を登録する値表である。値表2
1は信号名21a、信号の値21b、及びトレースフラ
グ21cからなる。トレースフラグ21cは“1”でセ
ット状態である。また22はトレース信号値表である。
このトレース信号値表22は信号名22aと信号の値2
2bからなる。このトレース信号値表22にはトレース
指定された信号名のみ、つまり値表21においてトレー
スフラグ21cがセットされている信号名のみが登録さ
れる。このトレース信号値表22への信号名22aの登
録により、以降、この信号の値の登録場所はトレース信
号値表22のみに限定され、値表21においてトレース
フラグ21cがセットされている値の領域に対するアク
セスは禁止となる。なお、図において“−”はまた値が
入っていないことを示している。
FIG. 2 is a diagram showing the configurations of the value table and the trace signal value table and their relationship. In the figure, reference numeral 21 is a value table for registering the value of each signal in the circuit model. Value table 2
1 includes a signal name 21a, a signal value 21b, and a trace flag 21c. The trace flag 21c is set to "1". Reference numeral 22 is a trace signal value table.
This trace signal value table 22 shows the signal name 22a and the signal value 2
It consists of 2b. In the trace signal value table 22, only signal names designated for tracing, that is, only signal names for which the trace flag 21c is set in the value table 21 are registered. By registering the signal name 22a in the trace signal value table 22, the registration location of the value of this signal is limited only to the trace signal value table 22 thereafter, and the area of the value in which the trace flag 21c is set in the value table 21. Access to is prohibited. In the figure, "-" indicates that no value is entered.

【0021】図3はトレースバッファとユーザ時刻毎の
トレース信号値表との関係を示す図である。ここで31
はトレースバッファである。トレースバッファ31には
各ユーザ時刻のトレース信号値表22に登録された信号
名22a及び信号の値22bが順次格納される。
FIG. 3 is a diagram showing the relationship between the trace buffer and the trace signal value table for each user time. 31 here
Is the trace buffer. The trace buffer 31 sequentially stores the signal name 22a and the signal value 22b registered in the trace signal value table 22 at each user time.

【0022】次に本実施例の論理シミュレータの動作を
説明する。
Next, the operation of the logic simulator of this embodiment will be described.

【0023】図4はトレース処理を含むシミュレーショ
ンの手順を示すフローチャートである。まず論理シミュ
レータが起動されると、回路モデル読込みモジュール5
が起動され、この回路モデル読込みモジュール5によっ
て回路モデルのデータが記憶装置4の回路モデル記憶領
域に取り込まれる。またこの時、図5に示すような値表
21を作成して記憶装置4に格納する(ステップ40
1)。
FIG. 4 is a flow chart showing the procedure of simulation including trace processing. First, when the logic simulator is started, the circuit model reading module 5
Is started, and the circuit model reading module 5 loads the circuit model data into the circuit model storage area of the storage device 4. At this time, a value table 21 as shown in FIG. 5 is created and stored in the storage device 4 (step 40).
1).

【0024】次にシミュレータコマンド解釈モジュール
6が起動される。シミュレータコマンド解釈モジュール
6は、キーボード2を使ってユーザより入力された各種
コマンドを解釈する(ステップ402)。
Next, the simulator command interpretation module 6 is activated. The simulator command interpretation module 6 interprets various commands input by the user using the keyboard 2 (step 402).

【0025】このコマンド入力の具体例を図6に示す。
同図において“SIMT”はシミュレーション終了時刻
を指定するコマンドであり、ここではシミュレーション
終了時刻を“500 ”としている。“TRACE”はトレ
ースする信号を指定するコマンドであり、ここでは信号
名としてIB及びTCがトレース指定されている。“P
ATTRENS”はテストデータを設定するコマンドで
あり、IA、IB、ICはテストデータを与える回路モ
デル中の信号である。そして“1,1,0”“0,0,
1”“0,1,1”“1,1,1”は設定したテストデ
ータのパターンであり、個々のテストデータにはこれを
入力するユーザ時刻が付加される。また“GO”はシミ
ュレーション実行開始を指示するコマンドである。
A specific example of this command input is shown in FIG.
In the figure, "SIMT" is a command that specifies the simulation end time, and here the simulation end time is "500". “TRACE” is a command for designating a signal to be traced, and here, IB and TC are designated as signal names by tracing. "P
ATTRENS "is a command for setting test data, and IA, IB, and IC are signals in the circuit model that give test data." 1,1,0 "" 0,0,
“1” “0,1,1” “1,1,1” is a set test data pattern, and the user time for inputting this is added to each test data. This is a command for instructing start.

【0026】このように、トレース指定コマンドによっ
てトレースする信号が指定されると、シミュレータコマ
ンド解釈モジュール6は、図7に示すように、値表21
中の対応する信号IB、TCのトレースフラグ21cに
1をセットする。
In this way, when the signal to be traced is designated by the trace designation command, the simulator command interpretation module 6 displays the value table 21 as shown in FIG.
1 is set to the trace flag 21c of the corresponding signals IB and TC.

【0027】次にトレース信号値表作成モジュール9が
起動される。トレース信号値表作成モジュール9は、図
2に示したように、値表21中でトレースフラグ21c
が1にセットされている信号を見付け出し、値表21か
らその信号名21aと信号の値21bを取り出してトレ
ース信号値表22を作成する(ステップ403)。そし
てこのトレース信号値表22を記憶装置4に格納する。
Next, the trace signal value table preparation module 9 is activated. The trace signal value table creation module 9 uses the trace flag 21c in the value table 21 as shown in FIG.
Is found to be 1 and the signal name 21a and the signal value 21b are extracted from the value table 21 to create a trace signal value table 22 (step 403). Then, the trace signal value table 22 is stored in the storage device 4.

【0028】この後、GOコマンドの入力によってシミ
ュレーションが開始される。シミュレーションは次のよ
うにして実行される。まず、カレントイベントバッファ
から信号の値を読み出して、この信号の値と回路モデル
のデータとからシミュレーション演算を実行する(ステ
ップ406)。そして演算結果から、イベントの発生の
有無を判断し(ステップ407)、イベントが発生した
場合、そのイベント発生信号の値をネクストイベントバ
ッファに登録する(ステップ408)。この演算処理を
カレントイベントバッファに登録された全ての信号につ
いて行い、全ての信号についてこの処理を終了すると
(ステップ405)、1マシン時刻のシミュレーション
が終了したものとして、各演算結果(イベント発生信号
の値)で値表21またはトレース信号値表22の更新を
行う(ステップ411)。つまり、トレース指定されて
いる信号についてイベントが発生した場合はトレース信
号値表22を更新し、トレース指定されていない信号に
ついてイベントが発生した場合は値表21の更新を行
う。
After that, the simulation is started by inputting the GO command. The simulation is performed as follows. First, the value of a signal is read from the current event buffer, and a simulation operation is executed from the value of this signal and the data of the circuit model (step 406). Then, it is determined from the calculation result whether or not an event has occurred (step 407), and when an event has occurred, the value of the event occurrence signal is registered in the next event buffer (step 408). This calculation process is performed for all signals registered in the current event buffer, and when this process is completed for all signals (step 405), each calculation result (event generation signal The value table 21 or the trace signal value table 22 is updated with (value) (step 411). That is, the trace signal value table 22 is updated when an event occurs with respect to the signal for which trace is designated, and the value table 21 is updated when an event occurs with respect to a signal for which trace is not designated.

【0029】この後、次のマシン時刻のシミュレーショ
ンを実行する。すなわち、ネクストイベントバッファの
内容でカレントイベントバッファを更新し(ステップ4
12)、ステップ405に戻って、このカレントイベン
トバッファに登録された信号の値を読み出してシミュレ
ーション演算を実行する(ステップ406)。以下同様
に、イベント発生の判定(ステップ407)、ネクスト
イベントバッファへの登録(ステップ408)、値表2
1またはトレース信号値表22の更新(ステップ41
2)を、ネクストイベントバッファが空になるまで繰り
返す。そしてネクストイベントバッファの空を検出する
と(ステップ409)、トレース信号値表参照モジュー
ル10が起動される。トレース信号値表参照モジュール
10は図3に示したように、トレース信号値表22の内
容すなわち信号名22a及び信号の値22bを読み出し
てトレースバッファ31にこれらをトレース結果として
登録する(ステップ413)。この後、ユーザ時刻を更
新し(ステップ414)、次のユーザ時刻のシミュレー
ションを開始する。そして更新したユーザ時刻とシミュ
レーション終了時刻とが一致するまで以上の処理を繰り
返し、ユーザ時刻とシミュレーション終了時刻とが一致
したところで(ステップ404)、全てのシミュレーシ
ョンを終了する。
After that, the simulation of the next machine time is executed. That is, the current event buffer is updated with the contents of the next event buffer (step 4
12) Then, returning to step 405, the value of the signal registered in the current event buffer is read out and the simulation operation is executed (step 406). Similarly, determination of event occurrence (step 407), registration in next event buffer (step 408), value table 2
1 or update of trace signal value table 22 (step 41
Repeat 2) until the next event buffer is empty. When the empty of the next event buffer is detected (step 409), the trace signal value table reference module 10 is activated. As shown in FIG. 3, the trace signal value table reference module 10 reads the contents of the trace signal value table 22, that is, the signal name 22a and the signal value 22b, and registers them in the trace buffer 31 as a trace result (step 413). . After that, the user time is updated (step 414) and the simulation of the next user time is started. Then, the above processing is repeated until the updated user time and the simulation end time match, and when the user time and the simulation end time match (step 404), all simulations are ended.

【0030】トレースバッファ31に登録されたトレー
ス情報は、全体のシミュレーション終了後、結果表示モ
ジュール8によって読み出され、表示装置3に図8に示
すようなかたちで表示される。
The trace information registered in the trace buffer 31 is read by the result display module 8 after the completion of the entire simulation and is displayed on the display device 3 in the form as shown in FIG.

【0031】要するに、本実施例の論理シミュレータで
は、シミュレーション実行前に、トレースする信号の値
を記憶するトレース信号値表22を値表21と独立して
設けておき、トレースする信号についてイベントが発生
する度にこの信号の値でトレース信号値表22の更新を
行う(値表は更新しない。)。そして1ユーザ時刻のシ
ミュレーションが終了する毎にトレース信号値表22を
読み込み、トレース結果をトレースバッファ31に書き
込む。
In short, in the logic simulator of this embodiment, the trace signal value table 22 for storing the values of the signals to be traced is provided independently of the value table 21 before the simulation is executed, and an event occurs for the signals to be traced. Each time, the trace signal value table 22 is updated with the value of this signal (the value table is not updated). Then, the trace signal value table 22 is read every time the simulation for one user time is completed, and the trace result is written in the trace buffer 31.

【0032】したがって、本実施例によれば、シミュレ
ーション全体のスループットを従来と比較して大幅に改
善することができる。すなわち、本実施例の論理シミュ
レータは、値表21と独立してトレース信号値表22を
設けることで、イベントの発生に伴うマシン時刻周期で
の、イベント発生信号のトレース指定の有無判定の工程
が不要になる。また、ユーザ時刻単位でトレース信号値
表22の内容をトレース情報として読み込むことで、イ
ベントの発生に伴うマシン時刻周期での、値表21から
のトレース指定信号の出力が不要になる。よって、これ
らマシン時刻周期でのトレース関連処理を排除できたこ
とで、シミュレーション全体の高速化を実現することが
可能になる。
Therefore, according to this embodiment, the throughput of the entire simulation can be greatly improved as compared with the conventional case. That is, in the logic simulator of the present embodiment, by providing the trace signal value table 22 independently of the value table 21, the process of determining the presence / absence of trace designation of the event occurrence signal in the machine time cycle associated with the occurrence of the event is performed. It becomes unnecessary. Further, by reading the contents of the trace signal value table 22 as the trace information for each user time, it becomes unnecessary to output the trace designating signal from the value table 21 in the machine time cycle associated with the occurrence of the event. Therefore, by eliminating the trace-related processing in these machine time periods, it is possible to speed up the entire simulation.

【0033】そしてこの論理シミュレータを用いること
で、大規模化するLSI設計への対応やハードウェアア
クセレレータとの入出力処理等を効率良く行うことが可
能となる。
By using this logic simulator, it becomes possible to efficiently deal with large-scale LSI design and to efficiently perform input / output processing with a hardware accelerator.

【0034】[0034]

【発明の効果】以上説明したように本発明の論理シミュ
レータ及び論理シミュレーション方法によれば、マシン
時刻単位で行われるイベント発生信号のトレース指定有
無の判定処理やトレース指定信号の出力処理等、シミュ
レーション速度の低下の原因となるマシン時刻単位のト
レース関連処理を排除して、これに代わるより高速なト
レース処理を実現することができ、シミュレーション全
体の高速化を図ることが可能になる。
As described above, according to the logic simulator and the logic simulation method of the present invention, the simulation speed, such as the process of determining the presence / absence of trace designation of the event occurrence signal and the output process of the trace designation signal, which are performed in machine time units, is performed. It is possible to eliminate the trace-related processing in machine time units, which causes a decrease in the, and realize a faster trace processing in place of this, and to speed up the entire simulation.

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

【図1】本発明に係る一実施例の論理シミュレータのシ
ステム構成を示すブロック図である。
FIG. 1 is a block diagram showing a system configuration of a logic simulator according to an embodiment of the present invention.

【図2】値表及びトレース信号値表の構成とこれらの関
係を示す図である。
FIG. 2 is a diagram showing configurations of a value table and a trace signal value table and a relationship between them.

【図3】トレースバッファとユーザ時刻毎のトレース信
号値表との関係を示す図である。
FIG. 3 is a diagram showing a relationship between a trace buffer and a trace signal value table for each user time.

【図4】図1の論理シミュレータにおけるトレース処理
を含むシミュレーションの手順を示すフローチャートで
ある。
FIG. 4 is a flowchart showing a procedure of simulation including trace processing in the logic simulator shown in FIG.

【図5】初期状態の値表を示す図である。FIG. 5 is a diagram showing a value table in an initial state.

【図6】コマンド入力の具体例を示す図である。FIG. 6 is a diagram showing a specific example of command input.

【図7】トレースフラグをセットした後の値表を示す図
である。
FIG. 7 is a diagram showing a value table after setting a trace flag.

【図8】トレース情報の表示結果を示す図である。FIG. 8 is a diagram showing a display result of trace information.

【図9】シミュレーション対象となる回路モデルの例と
この回路モデルをハードウェア記述言語によって表現し
た記述例を示す図である。
FIG. 9 is a diagram showing an example of a circuit model to be simulated and a description example expressing this circuit model in a hardware description language.

【図10】カレントイベントバッファを示す図である。FIG. 10 is a diagram showing a current event buffer.

【図11】ネクストイベントバッファを示す図である。FIG. 11 is a diagram showing a next event buffer.

【図12】従来の論理シミュレータにおけるトレース処
理を含むシミュレーションの手順を示すフローチャート
である。
FIG. 12 is a flowchart showing a procedure of simulation including trace processing in a conventional logic simulator.

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

1…CPU、2…キーボード、3…表示装置、4…記憶
装置、5…回路モデル読込みモジュール、6…シミュレ
ータコマンド解釈モジュール、7…シミュレータ演算モ
ジュール、8…結果表示モジュール、9…トレース信号
値表作成モジュール、10…トレース信号値表参照モジ
ュール、21…値表、22…トレース信号値表、31…
トレースバッファ。
1 ... CPU, 2 ... Keyboard, 3 ... Display device, 4 ... Storage device, 5 ... Circuit model reading module, 6 ... Simulator command interpretation module, 7 ... Simulator operation module, 8 ... Result display module, 9 ... Trace signal value table Creation module, 10 ... Trace signal value table reference module, 21 ... Value table, 22 ... Trace signal value table, 31 ...
Trace buffer.

Claims (3)

【特許請求の範囲】[Claims] 【請求項1】 論理回路のシミュレーションを行う論理
シミュレータにおいて、 前記論理回路のモデル情報を
記憶するモデル情報記憶手段と、 前記論理回路中の各信号の値を記憶する第1の値記憶手
段と、 前記論理回路中で予めトレース指定された信号の値を記
憶する第2の値記憶手段と、 テストデータが与えられる毎に、前記モデル情報記憶手
段、前記第1の値記憶手段及び前記第2の値記憶手段の
各内容に基づきイベントドリブン方式で前記論理回路の
シミュレーションを実行する演算手段と、 シミュレーション実行中、前記指定手段によりトレース
指定された信号のイベントが発生した場合、このイベン
ト発生信号の値で前記第2の値記憶手段の内容を更新
し、且つ、トレース指定されていない信号のイベントが
発生した場合、このイベント発生信号の値で前記第1の
値記憶手段の内容を更新する更新手段と、 ひとつのテストデータの入力に対するシミュレーション
が終了する度に、前記第2の値記憶手段の内容をトレー
ス情報として抽出する抽出手段とを具備することを特徴
とする論理シミュレータ。
1. A logic simulator for simulating a logic circuit, including model information storage means for storing model information of the logic circuit, and first value storage means for storing the value of each signal in the logic circuit. Second value storage means for storing the value of the signal trace-designated in advance in the logic circuit, and the model information storage means, the first value storage means, and the second value storage means each time test data is given. An operation means for executing the simulation of the logic circuit in an event driven manner based on each content of the value storage means; and a value of the event occurrence signal when an event of a signal trace-designated by the designation means occurs during the simulation execution. If the content of the second value storage means is updated with, and an event of a signal not designated for trace occurs, Updating means for updating the contents of the first value storage means with the value of the vent occurrence signal, and extraction of the contents of the second value storage means as trace information each time the simulation for the input of one test data is completed. A logic simulator comprising:
【請求項2】 請求項1記載の論理シミュレータにおい
て、 前記論理回路中でトレースを行うべき任意の信号を指定
する指定手段と、 前記指定手段の指定内容を基に前記第2の値記憶手段を
設定する設定手段とをさらに具備することを特徴とする
論理シミュレータ。
2. The logic simulator according to claim 1, further comprising: designating means for designating an arbitrary signal to be traced in the logic circuit, and the second value storing means based on the content designated by the designating means. A logic simulator further comprising setting means for setting.
【請求項3】 論理回路のシミュレーションを行う論理
シミュレータにおいて、 前記論理回路のモデル情報を
記憶するモデル情報記憶手段と、前記論理回路中の各信
号の値を記憶する第1の値記憶手段と、前記論理回路中
で予めトレース指定された信号の値を記憶する第2の値
記憶手段とを有し、 テストデータが与えられる毎に、前記モデル情報記憶手
段、前記第1の値記憶手段及び前記第2の値記憶手段の
各内容に基づきイベントドリブン方式で前記論理回路の
シミュレーションを実行する工程と、 シミュレーション実行中、前記トレース指定された信号
のイベントが発生した場合、このイベント発生信号の値
で前記第2の値記憶手段の内容を更新する工程と、 シミュレーション実行中、トレース指定されていない信
号のイベントが発生した場合、このイベント発生信号の
値で前記第1の値記憶手段の内容を更新する工程と、 ひとつのテストデータの入力に対するシミュレーション
が終了する度に、前記第2の値記憶手段の内容をトレー
ス情報として抽出する工程とを有することを特徴とする
論理シミュレーション方法。
3. A logic simulator for simulating a logic circuit, including model information storage means for storing model information of the logic circuit, and first value storage means for storing the value of each signal in the logic circuit. Second value storage means for storing a value of a signal trace-designated in advance in the logic circuit, and the model information storage means, the first value storage means, and the second value storage means each time test data is given. A step of executing a simulation of the logic circuit in an event driven manner based on the contents of the second value storage means; and, when an event of the trace designated signal occurs during the execution of the simulation, the value of the event occurrence signal is used. Updating the contents of the second value storage means, and an event of a signal not designated as trace occurs during simulation execution In this case, the step of updating the content of the first value storage means with the value of this event occurrence signal, and the content of the second value storage means is traced every time the simulation for one test data input is completed. And a step of extracting as information, a logic simulation method.
JP5288402A 1993-11-17 1993-11-17 Logical simulator and logical simulation method Withdrawn JPH07141407A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP5288402A JPH07141407A (en) 1993-11-17 1993-11-17 Logical simulator and logical simulation method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP5288402A JPH07141407A (en) 1993-11-17 1993-11-17 Logical simulator and logical simulation method

Publications (1)

Publication Number Publication Date
JPH07141407A true JPH07141407A (en) 1995-06-02

Family

ID=17729747

Family Applications (1)

Application Number Title Priority Date Filing Date
JP5288402A Withdrawn JPH07141407A (en) 1993-11-17 1993-11-17 Logical simulator and logical simulation method

Country Status (1)

Country Link
JP (1) JPH07141407A (en)

Similar Documents

Publication Publication Date Title
JP2000132416A (en) Semiconductor integrated circuit design verifying device
JP2000082094A (en) Semiconductor integrated circuit design verification system
US7188338B2 (en) Apparatus and method for debugging software
US20040015792A1 (en) Method for creating standard VHDL test environments
JPH07141407A (en) Logical simulator and logical simulation method
JPH05266124A (en) Method for preparing circuit element library for logic circuit simulation
JPH06131215A (en) Software development supporting method
JP4183035B2 (en) Design support apparatus, source code coverage method, and program thereof
JP2990155B1 (en) Verification test pattern design apparatus and verification test pattern design method
JP2930951B2 (en) Logic circuit design rule verification display method
JPH02118849A (en) Simulation system for input output device
JP2982418B2 (en) Functional simulation device
JPH04311269A (en) Simulation system
JP3110326B2 (en) Verification test pattern design equipment
JP2005301498A (en) Logic data generation method and logic simulator
JP2001022808A (en) Logic circuit reducing device, method and device for logic simulation
JPH0589195A (en) Lsi design system
JPH021578A (en) Test item generating device
JPS6398042A (en) Simulation method
JP2002288258A (en) Method and device for simulating semiconductor integrated circuit, and method and device for cell library production for semiconductor integrated circuit simulation
JPS6091455A (en) Simulation system of logical circuit
JPH05314204A (en) Logic simulator and test circuit generator
JPH03116275A (en) Test pattern production method and its processing system
JPH0561934A (en) Logical simulation system
JPH06176096A (en) Logical simulation re-executing method and device therefor

Legal Events

Date Code Title Description
A300 Application deemed to be withdrawn because no request for examination was validly filed

Free format text: JAPANESE INTERMEDIATE CODE: A300

Effective date: 20010130