JPH04205063A - Logical simulation method - Google Patents
Logical simulation methodInfo
- Publication number
- JPH04205063A JPH04205063A JP2331036A JP33103690A JPH04205063A JP H04205063 A JPH04205063 A JP H04205063A JP 2331036 A JP2331036 A JP 2331036A JP 33103690 A JP33103690 A JP 33103690A JP H04205063 A JPH04205063 A JP H04205063A
- Authority
- JP
- Japan
- Prior art keywords
- processing
- event
- information
- buffer
- connection
- 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
Links
- 238000004088 simulation Methods 0.000 title claims abstract description 20
- 238000000034 method Methods 0.000 title claims description 20
- 238000012545 processing Methods 0.000 claims abstract description 65
- 238000004364 calculation method Methods 0.000 claims description 6
- 239000000872 buffer Substances 0.000 abstract description 16
- 238000012360 testing method Methods 0.000 description 3
- 230000003542 behavioural effect Effects 0.000 description 2
- 238000010586 diagram Methods 0.000 description 2
- 238000011094 buffer selection Methods 0.000 description 1
- 238000007796 conventional method Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 230000007257 malfunction Effects 0.000 description 1
- 238000011160 research Methods 0.000 description 1
Landscapes
- Test And Diagnosis Of Digital Computers (AREA)
Abstract
Description
【発明の詳細な説明】
[発明の目的]
(産業上の利用分野)
この発明は、動作レベルあるいは構造レベルの記述を検
証するイベント駆動による論理シミュレータに用いて好
適な論理シミュレーション方式に関する。DETAILED DESCRIPTION OF THE INVENTION [Object of the Invention] (Industrial Application Field) The present invention relates to a logic simulation method suitable for use in an event-driven logic simulator that verifies descriptions at a behavioral level or a structural level.
(従来の技術)
動作レベルあるいは構造レベルの記述を検証する方法と
してはシミュレーションが一般的である。シミュレーシ
ョンによらずに記述の正当性を確認する研究もなされて
いるか実用約2ものはない。シュレーションの方式には
コンパイル方式とイベント方式コンパイル方式は回路を
あるマシンの命令コードに変換して直接実行する手法で
ある。(Prior Art) Simulation is a common method for verifying descriptions at the behavioral level or structural level. There has been no research to confirm the validity of the description without simulation, but there is no practical use of it. The simulation methods include the compilation method and the event method.The compilation method is a method that converts a circuit into instruction code for a certain machine and directly executes it.
実行速度か早いという長所を持つか遅延を考慮したシミ
ュレーションが難しく、また、扱える範囲にも制限があ
る。これに対してイベント駆動方式は回路をテーブル形
式で表現し、これをたどりなからシミュレーションする
方式である。Although it has the advantage of fast execution speed, it is difficult to simulate with consideration of delay, and there are also limits to the range that can be handled. In contrast, the event-driven method represents a circuit in a table format and simulates it without tracing it.
イベント方式の論理シミュレータは、信号線の種類・ビ
ット幅等の情報を有するファシリティ表、接続関係を表
す接続表、信号線間の処理を行うための演算情報を有す
る演算表、各信号線情報を有する値表を用い処理か行わ
れていた。しかし論理モデルかコンパイラ等により処理
手順のレベル付けかなされていない場合は、レジスタ・
ラッチ等記憶素子に関する処理を記憶素子以外のイベン
ト(値の変化)が安定した後に行うことをしないと、イ
ベントが同一信号線、同一時刻に複数回発生するために
記憶素子の誤動作が生じる。An event-based logic simulator uses a facility table that contains information such as the type and bit width of signal lines, a connection table that shows connection relationships, a calculation table that contains calculation information for processing between signal lines, and information about each signal line. Processing was carried out using a value table that was available. However, if the processing procedure is not leveled by the logical model or compiler, registers and
If processes related to storage elements such as latches are not performed after events (changes in value) other than the storage elements have stabilized, the events will occur multiple times on the same signal line at the same time, causing malfunctions of the storage elements.
このような記憶素子に関する処理を行う場合、演算表内
の情報を処理する際中に、記憶素子処理であるときは処
理を中断し、記憶素子以外のイベントが安定した後に、
あらためて記憶素子についての処理を行っていたもので
ある。When performing processing related to such a memory element, if it is a memory element process while processing information in the calculation table, the process is interrupted, and after events other than the memory element have stabilized,
The memory elements were once again processed.
(発明が解決しようとする課題)
上述したように従来方式では、演算処理中に記憶素子に
対する処理か否かをチエツクする必要があり、従って、
チエツクするまでの演算表処理か無駄になるといった不
都合があった。(Problem to be Solved by the Invention) As described above, in the conventional method, it is necessary to check whether or not the processing is for a storage element during arithmetic processing.
There was an inconvenience that processing of the calculation table before checking was wasted.
この発明は上記事情に鑑みてなされたものであり、論理
シミュレーションで使用する接続表中に信号線間の処理
がとのようなものであるか(レジスタ処理、ラッチ処理
、ゲート処理等)という情報を付加し、これを参照する
ことにより記岱、素子の処理を後回しにすることてシミ
ュレーション処理の高速化をはかった論理シミュレーシ
ョン方式を提供することを目的とする。This invention was made in view of the above circumstances, and includes information on whether processing between signal lines is performed (register processing, latch processing, gate processing, etc.) in the connection table used in logic simulation. The purpose of the present invention is to provide a logic simulation method that increases the speed of simulation processing by postponing element processing and by referring to this.
[発明の構成]
(課題を解決するだめの手段)
本発明の論理シミュレーション方式は、レベル付けがさ
れていない論理モデルをシミュレーションにより検証す
る論理シミュレータにおいて、信号線自身に対する情報
を有するファシリティ表、接続情報を有する接続表、接
続先信号の演算処理を行うための情報を有する演算表な
らびに信号線の有する値表をたどることにより実行処理
を行ない、上記接続表中に接続先の処理内容が記憶素子
か否かを識別する情報を付加し、この情報を参照するこ
とにより、記憶素子のための処理を最後に行うことを特
徴とする。[Structure of the Invention] (Means for Solving the Problems) The logic simulation method of the present invention is a logic simulator that verifies a logic model without leveling by simulation. Execution processing is performed by tracing a connection table containing information, an operation table containing information for performing arithmetic processing of connection destination signals, and a value table possessed by the signal line, and the processing contents of the connection destination are stored in the memory element in the connection table. It is characterized in that the process for the storage element is performed last by adding information that identifies whether or not the data is stored, and by referring to this information.
(作 用)
上述した構成にて、論理シミュレーションで使用する接
続表中に信号線間の処理かとのようなものであるか(レ
ジスタ処理、ラッチ処理、ゲート処理等)という情報を
を参照することにより記憶素子の処理を後回しにするこ
とでシミュレーション処理の高速化をはかることができ
る。(Function) With the above configuration, refer to the information on the processing between signal lines (register processing, latch processing, gate processing, etc.) in the connection table used in logic simulation. By deferring the processing of the memory element, it is possible to speed up the simulation processing.
(実施例)
以下、図面を使用して本発明実施例について詳細に説明
する。第1図は本発明の実施例を示すブロック図である
。(Example) Hereinafter, an example of the present invention will be described in detail using the drawings. FIG. 1 is a block diagram showing an embodiment of the present invention.
図において、符号1はファシリティ表であり、図中九枠
で示す信号線Aに対応し、3種類の接続表へのポインタ
を有する。符号2はゲート用接続表であり、信号線Aの
接続先となるゲート処理のための演算表ポインタを有す
る。符号3はラッチ用接続表であり、信号線への接続先
となるラッチ処理のための演算表ポインタを有する。符
号4はレジスタ用接続表であり、信号線Aの接続先とな
るレジスタ処理のための演算表ポインタを有する。In the figure, reference numeral 1 is a facility table, which corresponds to the signal line A indicated by nine frames in the figure, and has pointers to three types of connection tables. Reference numeral 2 is a gate connection table, which has an operation table pointer for gate processing to which the signal line A is connected. Reference numeral 3 is a latch connection table, which has an arithmetic table pointer for latch processing that is a connection destination to a signal line. Reference numeral 4 is a register connection table, which has an arithmetic table pointer for register processing to which the signal line A is connected.
符号5〜8は演算表であり、レジスタ、ラッチ、ゲート
回路に相当する演算処理を行うための情報である。Reference numerals 5 to 8 are arithmetic tables, which are information for performing arithmetic processing corresponding to registers, latches, and gate circuits.
図中、九枠は回路モデルであり、上記1〜8で示す各表
に対応したものである。In the figure, nine frames are circuit models, which correspond to the respective tables shown in 1 to 8 above.
第2図は本発明実施例の動作を示すフローチャートであ
る。FIG. 2 is a flowchart showing the operation of the embodiment of the present invention.
図において、符号11は入力データを処理するステップ
であり、テストデータの入カバターンに対する各信号値
を値表に1時刻分だけ更新する。In the figure, reference numeral 11 is a step for processing input data, in which each signal value corresponding to the input pattern of test data is updated in the value table by one time.
符号12はイベントの振分けをするステップであり、入
力データ処理、ゲートイベント処理等により発生したイ
ベント(値の変化)情報を接続表の種類により分類する
。符号13〜15はイベントバッファの登録を行うステ
ップであり、ステップ12により指定されるバッファに
イベント情報を登録する。符号16はバッファ選択を実
行するステップであり、符号13〜15にイベント情報
か登録されている場合は、ゲート用、ラッチ用、レジス
タ用バッファの順でイベント処理を実行するバッファを
選択し、全てのバッファにイベント情報が登録されてい
ない場合は、ステップ11の処理へ戻る。符号17〜1
9はイベント処理を実行するステップであり、ステップ
16て選択されたバッファ用のイベント処理をファシリ
ティ、接続、演算のための各表を用いて行ない、接続先
にイベントが発生した場合、値表の更新を行なうもので
ある。Reference numeral 12 is a step for allocating events, in which event (change in value) information generated by input data processing, gate event processing, etc. is classified according to the type of connection table. Reference numerals 13 to 15 are steps for registering an event buffer, and event information is registered in the buffer specified in step 12. Reference numeral 16 is a step for executing buffer selection, and if event information is registered in codes 13 to 15, select the buffers to perform event processing in the order of gate, latch, and register buffers, and select all buffers. If no event information is registered in the buffer, the process returns to step 11. Code 17-1
9 is a step for executing event processing, in which event processing for the buffer selected in step 16 is performed using each table for facility, connection, and calculation, and when an event occurs at the connection destination, the value table is This is for updating.
以下、本発明実施例の動作について詳細に説明する。第
1図に示すように九枠で示す回路モデルを表1〜8と値
表という形で清算表以外の接続表についても回路処理内
容に関する情報を与えた場合の機能シミュレーション処
理について説明する。Hereinafter, the operation of the embodiment of the present invention will be explained in detail. Functional simulation processing will be described in the case where a circuit model shown in nine boxes as shown in FIG. 1 is provided with information regarding circuit processing contents for connection tables other than the settlement table in the form of Tables 1 to 8 and a value table.
まず、シミュレーション行う上での各信号線の値は、テ
ストデータ中の人カバターンにより与えられるため、第
2図ステップ11で示された入力処理により1時刻分の
入カバターンの値の更新とイベント(信号変化)発生の
チエツクを行う。ステップ12では、イベントの発生し
た信号について、その接続先イベント処理がどのような
種類のものであるかを接続表の種類により識別し、イベ
ントバッファにイベント情報を登録する。このようなイ
ベントの登録先の振り分けは、論理モデルのレベルソー
トが困難であるためイベント処理の内容により処理する
順番を変えることが必要となるためである。(ステップ
13〜15)ステップ16では、処理の種類による処理
順番を決定するものであり、この選択処理により、ラッ
チの処理は、ゲート系信号線のイベントが安定した後に
行い、さらにレジスタの処理にいては、ゲート、ラッチ
系信号線のイベントが安定した後に行う。このようにし
て、同一時刻の処理内で記憶素子により、モデルとなる
回路をレベル付けする操作を実行している。First, since the value of each signal line in the simulation is given by the human cover turn in the test data, the input process shown in step 11 in Fig. 2 updates the value of the input line for one time and the event ( Check for occurrence of signal change). In step 12, for the signal in which the event has occurred, the type of event processing to which the event is connected is identified by the type of the connection table, and the event information is registered in the event buffer. This distribution of event registration destinations is because it is difficult to level sort the logical model, so it is necessary to change the processing order depending on the content of the event processing. (Steps 13 to 15) In step 16, the processing order is determined based on the type of processing. Through this selection process, latch processing is performed after the gate system signal line event has stabilized, and register processing is performed. If so, perform this after the gate and latch signal line events have stabilized. In this way, the storage element performs the leveling operation of the model circuit within the same time processing.
選択されたイベントバッファは、対応するイベント処理
部により、接続先イベント処理を行い、イベント発生し
たものについて、ステップ12により、イベント登録先
バッファの振り分けを行う。The selected event buffer is subjected to connection destination event processing by the corresponding event processing section, and for those in which an event has occurred, in step 12, the event registration destination buffer is distributed.
以上のようにステップ12〜19の処理をステップ13
〜15て示すイベントバッファが全て空になるまで繰返
す。イベントバッファが空になったことをステップ16
により検出し、その際は、次の時刻の入カバターンに対
する入力データ処理を行う。テストデータの入カバター
ン全てについて入力データ処理が終了したところでシミ
ュレーションが終了する。As described above, steps 12 to 19 are processed in step 13.
Repeat until all event buffers indicated by 15 are empty. Step 16: The event buffer is empty.
In this case, input data processing for the input pattern at the next time is performed. The simulation ends when input data processing is completed for all input patterns of test data.
C発明の効果コ
以上説明のように本発明は、論理シミュレーションで使
用する接続表中に信号線間の処理がどのようなものであ
るか(レジスタ処理、ラッチ処理、ゲート処理等)とい
う情報を付加し、これを参照することにより記憶素子の
処理を後回しにすることでシミュレーション処理の高速
化をはかることができる。C. Effects of the Invention As explained above, the present invention includes information on the type of processing between signal lines (register processing, latch processing, gate processing, etc.) in the connection table used in logic simulation. By adding and referring to this, the processing of the memory element can be postponed, thereby speeding up the simulation processing.
第1図は本発明の実施例を示すブロック図、第2図は本
発明実施例の動作を示すフローチャートである。
1・・・・・・・・・ファシリティ表
2.3.4・・・接続表
5.6.7.8・・・清算表FIG. 1 is a block diagram showing an embodiment of the present invention, and FIG. 2 is a flow chart showing the operation of the embodiment of the present invention. 1... Facility table 2.3.4... Connection table 5.6.7.8... Settlement table
Claims (1)
ンにより検証する論理シミュレータにおいて、信号線自
身に対する情報を有するファシリテイ表、接続情報を有
する接続表、接続先信号の演算処理を行うための情報を
有する演算表ならびに信号線の有する値表をたどること
により実行処理を行ない、上記接続表中に接続先の処理
内容が記憶素子か否かを識別する情報を付加し、この情
報を参照することにより、記憶素子のための処理を最後
に行うことを特徴とする論理シミュレーション方式。In a logic simulator that verifies unleveled logic models through simulation, there is a facility table that has information about the signal line itself, a connection table that has connection information, and a calculation table that has information for performing arithmetic processing on connected signals. In addition, execution processing is performed by following the value table of the signal line, information is added to the connection table to identify whether or not the processing content of the connected destination is a storage element, and by referring to this information, the execution processing is performed by following the value table of the signal line. A logical simulation method that is characterized by performing the processing for the last step.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2331036A JPH04205063A (en) | 1990-11-29 | 1990-11-29 | Logical simulation method |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2331036A JPH04205063A (en) | 1990-11-29 | 1990-11-29 | Logical simulation method |
Publications (1)
Publication Number | Publication Date |
---|---|
JPH04205063A true JPH04205063A (en) | 1992-07-27 |
Family
ID=18239117
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2331036A Pending JPH04205063A (en) | 1990-11-29 | 1990-11-29 | Logical simulation method |
Country Status (1)
Country | Link |
---|---|
JP (1) | JPH04205063A (en) |
-
1990
- 1990-11-29 JP JP2331036A patent/JPH04205063A/en active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JPS60164848A (en) | Modeling method and apparatus | |
US6922665B1 (en) | Method and system for device-level simulation of a circuit design for a programmable logic device | |
JPH04205063A (en) | Logical simulation method | |
JPS6141017B2 (en) | ||
US6813751B2 (en) | Creating standard VHDL test environments | |
US10223077B2 (en) | Determination of signals for readback from FPGA | |
US6339751B1 (en) | Circuit design support apparatus and a method | |
EP0365186A2 (en) | Apparatus for enhanced tagged data processing in a generalized computer execution unit | |
CN109358855A (en) | A kind of front end analogue data agile development method and electronic equipment for programming | |
EP4165500B1 (en) | A method of programming a software module associated with a firmware unit of a device | |
JP2525393B2 (en) | Logic simulation test coverage method | |
JP3255975B2 (en) | Automatic management device for the logic design rule confirmation status | |
JP2785708B2 (en) | Logic simulation method | |
JP2586155B2 (en) | Logic simulator | |
CN114707450A (en) | SystemC-based virtual model generation method, system, medium, and device | |
US8495539B1 (en) | Scheduling processes in simulation of a circuit design | |
JPH06119207A (en) | Microprogram containing rate measuring system | |
Abbott | A symbolic simulator for microprogram development | |
JPH03152672A (en) | Logical simulation system for function model | |
JP2581214B2 (en) | Logic simulator | |
JP2560545B2 (en) | Interface inspection processor | |
JPH0498366A (en) | Logical simulation method | |
JPS6029865A (en) | Logical simulation system by history registration | |
JP3032874B2 (en) | Equivalent circuit creation method and logic simulation method | |
JPS63304362A (en) | Logical simulation system |