JP2878745B2 - Logic simulator - Google Patents
Logic simulatorInfo
- Publication number
- JP2878745B2 JP2878745B2 JP1344343A JP34434389A JP2878745B2 JP 2878745 B2 JP2878745 B2 JP 2878745B2 JP 1344343 A JP1344343 A JP 1344343A JP 34434389 A JP34434389 A JP 34434389A JP 2878745 B2 JP2878745 B2 JP 2878745B2
- Authority
- JP
- Japan
- Prior art keywords
- event
- cell
- simulation
- data
- information
- 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.)
- Expired - Fee Related
Links
Landscapes
- Test And Diagnosis Of Digital Computers (AREA)
Description
【発明の詳細な説明】 [発明の目的] (産業上の利用分野) 本発明は、論理回路のシミュレーションを行う技術に
係わり、特にシミュレーションにより実現された回路の
不具合点のデバッグを支援する論理シミュレータに関す
る。Description: Object of the Invention (Industrial Application Field) The present invention relates to a technology for simulating a logic circuit, and in particular, a logic simulator for assisting debugging of a circuit defect realized by the simulation. About.
(従来の技術) 近年、大規模論理回路のシミュレーションを行うもの
として、イベント・ドリブン方式の論理シミュレータが
開発されている。イベント・ドリブン方式とは、ある論
理ゲートが変化したときそれに接続される論理回路の入
力のみを変化させ、論理信号の伝搬経路に沿ってのみ信
号値の計算をしていく方法である。(Prior Art) In recent years, an event-driven logic simulator has been developed to simulate a large-scale logic circuit. The event-driven method is a method in which when a certain logic gate changes, only the input of a logic circuit connected to the logic gate changes, and the signal value is calculated only along the propagation path of the logic signal.
イベント・ドリブン方式の論理シミュレータでは、シ
ミュレーションの結果、回路に不具合点が見付かった場
合、これをデバッグするためには、シミュレーション中
に発生したイベントが必要となる。このため、論理回路
のデバッグを確実に行うには、シミュレーションの開始
から終了までの全イベントを保持しなければならない。In the event-driven logic simulator, if a defect is found in a circuit as a result of the simulation, an event generated during the simulation is necessary to debug the defect. Therefore, in order to reliably debug the logic circuit, all events from the start to the end of the simulation must be held.
しかしながら、シミュレーション開始からの全イベン
トを保持しようとすると、長大なテストパターンによる
シミュレーション或いは大規模回路のシミュレーション
を行った場合、保持するイベントの数が極めて多くな
る。このため、イベントを保持するための膨大な量の記
憶領域が必要になるといった問題がある。However, if all the events from the start of the simulation are to be held, if the simulation using a long test pattern or the simulation of a large-scale circuit is performed, the number of events to be held becomes extremely large. For this reason, there is a problem that an enormous amount of storage area for holding events is required.
なお、シミュレーションの結果、回路に不具合点が見
付かり、デバッグを行うときも、全イベントの情報が必
要なわけではなく、古いイベントは殆ど役に立たないこ
とが多い。しかし、シミュレーション中にどこで不具合
が生じるかが判らないため、どの時点からイベントの保
持を行えば良いか判断することができず、結局全てのイ
ベントを保持するという方法を取らざるを得なかった。As a result of the simulation, when a defect is found in the circuit and debugging is performed, information on all events is not necessary, and an old event is hardly useful. However, since it is not known where a problem occurs during the simulation, it is not possible to judge from which point the event should be held, so that all the events have to be held.
(発明が解決しようとする課題) このように従来、イベント・ドリブン方式の論理シミ
ュレータでは、シミュレーションの結果見付かった回路
の不具合点のデバッグを行うには、シミュレーションの
開始から全イベントを保持する必要があり、イベント情
報を記憶するための記憶領域の増大を招いた。また、膨
大な量のイベントを基に不具合が生じた点を探す必要が
あり、デバッグ作業が煩雑になると共に時間が掛かると
いう問題があった。(Problems to be Solved by the Invention) As described above, conventionally, in the event-driven logic simulator, in order to debug a defect of a circuit found as a result of the simulation, it is necessary to hold all events from the start of the simulation. Yes, the storage area for storing event information is increased. Further, it is necessary to search for a point where a problem has occurred based on an enormous amount of events, and there has been a problem that debugging work is complicated and time is required.
本発明は、上記事情を考慮してなされたもので、その
目的とするところは、シミュレーションにより見付かっ
た論理回路のデバッグを確実に行うことができ、且つイ
ベント情報記憶領域の低減をはかり得るイベント・ドリ
ブン方式の論理シミュレータを提供することにある。The present invention has been made in view of the above circumstances. It is an object of the present invention to reliably debug a logic circuit found by simulation and to reduce an event information storage area. An object of the present invention is to provide a driven logic simulator.
[発明の構成] (課題を解決するための手段) 本発明の骨子は、全てのイベントを保持するのではな
く、最新のイベントから所定のイベントセル数だけ逆上
ったイベントまでの情報を保持することにある。[Structure of the Invention] (Means for Solving the Problem) The gist of the present invention is not to hold all events, but to hold information from the latest event to an event that has gone up by a predetermined number of event cells. Is to do.
即ち本発明は、ハードウェア記述言語によりモデル化
された論理回路の動作を模擬するイベント・ドリブン方
式の論理シミュレータにおいて、イベント情報を格納す
るためのイベントセルを複数個保持するイベントセルプ
ールと、テストパターンの変化又はイベントの実行によ
り新たなイベントが発生したとき前記イベントセルプー
ルの先頭からイベントセルを取り出すイベントセル獲得
手段と、該手段により獲得されたイベントセルに上記新
たに発生したイベントの情報を登録するイベント登録手
段と、該手段により登録されたイベントの実行により不
要となったイベントセルを前記イベントセルプールの最
後に追加するイベントセル回収手段とを設けるようにし
たものである。That is, the present invention provides an event-driven logic simulator that simulates the operation of a logic circuit modeled by a hardware description language, an event cell pool that holds a plurality of event cells for storing event information, Event cell acquisition means for extracting an event cell from the head of the event cell pool when a new event occurs due to a change in pattern or execution of an event, and information of the newly generated event is stored in the event cell acquired by the means. There is provided an event registering means for registering, and an event cell collecting means for adding an event cell unnecessary by execution of the event registered by the means to the end of the event cell pool.
(作用) 本発明においては、まずシミュレーション実行前にイ
ベントセルの初期化を行い、全てのイベントセルの親イ
ベントセルの情報をクリアし、全イベントセルをイベン
トセルプールに保持しておく。(Operation) In the present invention, first, the event cells are initialized before executing the simulation, the information of the parent event cells of all the event cells is cleared, and all the event cells are stored in the event cell pool.
シミュレーション実行においては、次のようになる。
まず、外部より入力されたテストパターンに対しては、
イベントセルプールよりイベントセルを獲得し、親イベ
ントセルの情報はクリアのままイベントを作り登録す
る。また、登録されているイベントを実行して新たなイ
ベントが発生した場合は、イベントセルプールよりイベ
ントセルを獲得し、親イベントセルとして現在実行中の
イベントのイベントセル番号を持たせたイベントを作り
登録する。イベントの実行が終わった時は、今実行した
イベントのイベントセルが不要となるので、これをイベ
ントセルプールに戻す。このとき、イベントの情報はそ
のまま保存しておく。In the simulation execution, the following is performed.
First, for test patterns input from outside,
An event cell is acquired from the event cell pool, and an event is created and registered while the information of the parent event cell is cleared. When a new event occurs by executing a registered event, an event cell is acquired from the event cell pool, and an event having the event cell number of the currently executing event is created as a parent event cell. sign up. When the execution of the event is completed, the event cell of the currently executed event becomes unnecessary, and is returned to the event cell pool. At this time, the event information is stored as it is.
このようにイベントセルを使うときは、イベントセル
プールの先頭から使用し、イベントの実行が終わって不
要となったイベントセルは、イベントの情報を保存した
ままイベントセルプールの最後に戻すことにより、イベ
ントセルプールはあたかもエンドレステープに記録され
たイベントのログ情報と見なすことができる。イベント
セルプールには、常に最新のイベントからイベントセル
の個数だけ逆上ったイベントの情報が保存されているこ
とになり、イベントセルの個数をある程度大きくとるこ
とにより、全てのイベントを保存しておかなくても、大
本のイベントまでバックトレースすることが可能であ
り、回路のデバッグには有効である。When using event cells in this way, use the event cells from the top of the event cell pool, and return unnecessary event cells after the execution of the event to the end of the event cell pool while preserving the event information. The event cell pool can be regarded as log information of an event recorded on an endless tape. The event cell pool always stores the information of the event that has gone up from the latest event by the number of event cells. By increasing the number of event cells to some extent, all the events are stored. Even if it is not necessary, it is possible to trace back to a large event, which is effective for circuit debugging.
このように本発明では、シミュレーションの開始から
全イベントを保持することなく、最新のイベントから所
定のイベントセル数だけ逆上ったイベントまでの情報を
保持しているので、論理回路のデバッグに有効なイベン
トのバックトレースが可能となる。As described above, according to the present invention, since information from the latest event to an event that has gone up by a predetermined number of event cells is held without holding all events from the start of the simulation, the present invention is effective for debugging a logic circuit. Backtrace of various events becomes possible.
(実施例) 以下、本発明の詳細を図示の実施例によって説明す
る。(Examples) Hereinafter, details of the present invention will be described with reference to the illustrated examples.
第1図は本発明の一実施例に係わる論理シミュレータ
を示す概略構成図である。このシミュレータ10は、イベ
ントセルをリスト状に保持するイベントセルプール11,
イベントセルプール11の先頭からイベントセルを取り出
すイベントセル獲得部12,不要となったイベントセルを
イベントセルプール11の最後に追加するイベントセル回
収部13,イベントセルにイベント情報を登録するイベン
トセル登録部14,イベントを実行するイベント実行部15
及びイベントのバックトレースを行うバックトレース部
16等から構成されている。FIG. 1 is a schematic configuration diagram showing a logic simulator according to one embodiment of the present invention. The simulator 10 includes an event cell pool 11, which holds event cells in a list,
An event cell acquisition unit 12 that extracts event cells from the beginning of the event cell pool 11, an event cell collection unit 13 that adds unnecessary event cells to the end of the event cell pool 11, and an event cell registration that registers event information in the event cells Unit 14, event execution unit 15 that executes events
Backtrace section that performs backtrace of events and events
It is composed of 16 mag.
イベントセルは第2図に示す如く、次のイベントセル
の番号,時刻,素子番号,イベント値及び親のイベント
セルの番号等のイベント情報を格納するものである。シ
ミュレーション実行前に、全イベントセルは親イベント
セル番号を−1に初期化され、イベントセルプール11に
保持される。イベントセルプール11内では、イベントセ
ルは、次のイベントセルの番号によりチェインを構成し
ている。第3図はイベントセルプール11の一例を示す模
式図であり、イベントセル20が番号順(#1,#2,…,#
n)に保持されている。As shown in FIG. 2, the event cell stores event information such as the next event cell number, time, element number, event value, and parent event cell number. Prior to the execution of the simulation, all the event cells are initialized to a parent event cell number of −1 and held in the event cell pool 11. In the event cell pool 11, the event cells form a chain by the number of the next event cell. FIG. 3 is a schematic diagram showing an example of the event cell pool 11, in which the event cells 20 are arranged in numerical order (# 1, # 2,.
n).
第4図は被シミュレーション回路の一例であり、ORゲ
ートG1,G2、ANDゲーG3及びNOTゲートG4から構成されて
いる。いま、ゲートG1の入力端子A,Bが共に“0"、ゲー
トG2の入力端子C,Dが共に“1"であるとする。時刻T1に
入力端子Aに“1"がテストパターンとして入力されたと
する。FIG. 4 shows an example of the circuit to be simulated, which comprises OR gates G1, G2, AND gate G3, and NOT gate G4. Now, it is assumed that the input terminals A and B of the gate G1 are both "0", and the input terminals C and D of the gate G2 are both "1". "1" to the input terminal A and is inputted as a test pattern at time T 1.
この場合、前記第1図に示すシミュレータ10におい
て、イベントセル獲得部12によりイベントセルプール11
から番号#kのイベントセルを取ってきてイベントを作
り、イベント登録部14にて登録する。イベント実行部15
で#kのイベントを実行すると、ゲートG1の出力が“1"
に変化するため、新たなイベントが発生する。従って、
イベントセルプール11からイベントセル#(k+1)を
取ってきてイベントを作り登録する。ここで、#(k+
1)のイベントの親イベントセルの番号は#kである。
イベントの実行が終わると、イベントセル#kは不要と
なるので、イベントセル回収部13によりイベントセルプ
ール11の最終段に戻される。In this case, in the simulator 10 shown in FIG.
, An event cell with the number #k is fetched, an event is created, and the event is registered in the event registration unit 14. Event execution unit 15
When the event of #k is executed, the output of the gate G1 becomes "1"
, A new event occurs. Therefore,
An event cell # (k + 1) is fetched from the event cell pool 11 to create and register an event. Here, # (k +
The number of the parent event cell of the event 1) is #k.
When the execution of the event is completed, the event cell #k becomes unnecessary, and is returned to the last stage of the event cell pool 11 by the event cell collection unit 13.
次に、イベントセル#(k+1)のイベントを実行す
ると、ゲートG3の出力が“1"となるため、先と同様にイ
ベントセル#(k+2)を取ってきて、イベントを作り
登録する。そして、イベントセル#(k+1)は、イベ
ントセルプール11に回収される。さらに、イベントセル
#(k+2)を実行すると、ゲートG4の出力が“0"にな
るので、先と同様にイベントを作り、イベントセル#
(k+2)はイベントセルプール11に戻される。第5図
は、この時のイベントセルプール11の様子を示す図であ
る。Next, when the event of the event cell # (k + 1) is executed, the output of the gate G3 becomes "1", so that the event cell # (k + 2) is fetched in the same manner as described above, and the event is created and registered. Then, the event cell # (k + 1) is collected in the event cell pool 11. Further, when the event cell # (k + 2) is executed, the output of the gate G4 becomes "0".
(K + 2) is returned to the event cell pool 11. FIG. 5 is a diagram showing a state of the event cell pool 11 at this time.
ここで、ゲートG4に立ったイベントからバックトレー
スをかけると、イベントセルプール11中に保存されてい
る過去のイベントの親イベントセルの番号を基に第6図
に示すようにイベントのバックトレースを行うことが可
能である。Here, when the back trace is applied from the event standing at the gate G4, the back trace of the event is performed based on the number of the parent event cell of the past event stored in the event cell pool 11 as shown in FIG. It is possible to do.
第7図は前記第1図に示したシミュレータを用いてシ
ミュレーションからデバッグまでを行う装置を示す図で
ある。テストパターン30はシミュレータ10に入力され、
シミュレータ10からはテストパターンに応じたシミュレ
ーション結果が出力される。この出力結果40と予め設定
された期待値50とを比較手段60により比較し、これらが
一致しないときはデバッグ手段70により回路のデバッグ
を行う。このデバッグに際しては、先に説明したよう
に、シミュレータ10内のバックトレース部16によりイベ
ントセルプール11のイベントセルをバックトレースして
行う。FIG. 7 is a diagram showing an apparatus for performing from simulation to debugging using the simulator shown in FIG. The test pattern 30 is input to the simulator 10,
The simulation result is output from the simulator 10 according to the test pattern. The output result 40 is compared with a preset expected value 50 by the comparing means 60. If they do not match, the circuit is debugged by the debugging means 70. In this debugging, as described above, the back tracing unit 16 in the simulator 10 back traces the event cells in the event cell pool 11 and performs the debugging.
第8図はテストパターンと出力結果との関係を示す図
である。ここで、従来方法では、回路のデバッグを行う
ために、図中破線矢印で示す如く全てのテストパターン
に対するイベントを保持する必要がある。つまり、シミ
ュレーション開始からの全イベントを保持する必要があ
り、その記憶容量が膨大なものとなる。これに対し本実
施例では、図中実線矢印で示す如く全てのテストパター
ンではなく、ある領域のテストパターンに対応する(時
刻により変化する)イベントを保持すればよいので、そ
の記憶容量は格段に少なくて済む。FIG. 8 is a diagram showing the relationship between test patterns and output results. Here, in the conventional method, in order to debug a circuit, it is necessary to hold events for all test patterns as indicated by broken arrows in the figure. That is, it is necessary to hold all events from the start of the simulation, and the storage capacity becomes enormous. On the other hand, in the present embodiment, not all the test patterns as shown by solid arrows in the figure, but events corresponding to test patterns in a certain area (which change with time) may be held. Less is needed.
なお、チェックの方法としては、テストパターンを全
てシミュレーションしてから、再度シミュレーション
し、バグがあるイベント近傍でシミュレーションを停止
する。このとき、イベントセルプール11には最新のイベ
ントからある個数分逆上ったイベントが保持されている
ので、バグの生じたイベントも保持されている。従っ
て、イベントセルプール11に保持されたイベントをバッ
クトレースすることにより、容易にデバッグが可能とな
る。As a check method, all test patterns are simulated, then simulated again, and the simulation is stopped near an event having a bug. At this time, since the event cell pool 11 holds an event that is up by a certain number from the latest event, the event in which a bug has occurred is also held. Therefore, by back tracing the events held in the event cell pool 11, debugging can be easily performed.
また、テストパターンを全てシミュレーションしたの
ち再シミュレーションする代りに、シミュレーションす
る領域を分割することによりシミュレーションを1回で
済ますことができる。即ち、ある範囲毎にチェックポイ
ントCPを設けておき、各チェックポイント毎にバグが生
じた場合はバックトレースしてデバッグを行うようにし
てもよい。Also, instead of resimulating after simulating all the test patterns, the simulation can be completed only once by dividing the region to be simulated. That is, a checkpoint CP may be provided for each certain range, and when a bug occurs at each checkpoint, back-trace may be performed to perform debugging.
かくして本実施例によれば、常に最新のイベントから
ある個数分逆上ったイベントを保持することができ、全
イベントの情報を保持しておかなくても、イベントのバ
ックトレースを行うことができる。このため、回路のデ
バッグを有効に行うことが可能である。また、全イベン
トを保持せずに、予め定めた数のイベントだけを保持す
るので、長大なシミュレーションを行った場合でも記憶
領域が増えることがないという利点がある。Thus, according to the present embodiment, it is possible to always hold an event that has gone up by a certain number from the latest event, and it is possible to backtrace the event without holding information on all events. . Therefore, it is possible to effectively debug the circuit. Further, since only a predetermined number of events are stored without storing all events, there is an advantage that the storage area does not increase even when a long simulation is performed.
次に、本発明の別の実施例について説明する。 Next, another embodiment of the present invention will be described.
従来、大規模論理システムの設計では、システム全体
を幾つかの部分に分割し階層的に設計する手法が採られ
ている。これに対応してハードウェア記述言語も階層的
な記述が可能となっており、各サブモジュール毎にモデ
ル化を行えるようになっている。これを従来の論理シミ
ュレータでシミュレーションする場合、まず各サブモジ
ュールの記述をコンパイルし、次にリンクすることによ
って論理システム全体を1つのロードデータにまとめ
る。これをシミュレータにロードすることで、1度に論
理システムの全データを読み込ませシミュレーションを
実行している。2. Description of the Related Art Conventionally, in the design of a large-scale logical system, a technique of dividing the entire system into several parts and designing hierarchically has been adopted. Correspondingly, a hardware description language can be described hierarchically, and modeling can be performed for each submodule. When this is simulated by a conventional logic simulator, the description of each submodule is compiled first, and then linked to combine the entire logic system into one load data. By loading this into the simulator, all the data of the logical system is read at once and the simulation is executed.
このような従来の論理シミュレータでは、対象とする
論理システムの規模に比例してロードデータの大きさが
増大する。このため、シミュレーション可能な論理シス
テムの規模がシミュレータの主記憶領域の大きさによっ
て制限される、或いはロードデータの読み込みに時間が
掛かるといった問題点がある。また、シミュレーション
実行中においては、モデル化した論理システムの全デー
タが必要なわけではなく、むしろ局所的な部分のデータ
があれば十分であり、全データをロードすることは主記
憶領域の使用効率の点からも問題である。In such a conventional logic simulator, the size of the load data increases in proportion to the size of the target logic system. For this reason, there is a problem that the size of the logic system that can be simulated is limited by the size of the main storage area of the simulator, or that it takes time to read the load data. Also, during the execution of the simulation, not all the data of the modeled logical system is needed, but rather data of the local part is sufficient. This is also a problem.
そこで本実施例では、シミュレーションしようとする
論理システムの全データをロードするのではなく、シミ
ュレーションの対象となっている論理システムのサブモ
ジュールのデータを必要となった時に主記憶領域上にロ
ードし、主記憶領域が足らなくなった場合は不要になっ
たサブモジュールのデータがロードされている主記憶領
域を解放して別のサブモジュールのデータをロードして
シミュレーションを実行する。これにより、論理システ
ム全体のデータを1度に全てロードしなくてもシミュレ
ーションの実行を可能とし、上記問題を解消している。Therefore, in this embodiment, instead of loading all the data of the logical system to be simulated, the data of the sub-module of the logical system to be simulated is loaded onto the main storage area when needed, When the main storage area becomes insufficient, the main storage area to which the data of the unnecessary submodule is loaded is released, and the data of another submodule is loaded to execute the simulation. This makes it possible to execute a simulation without loading all the data of the entire logical system at once, thereby solving the above problem.
第9図はこの実施例に係わる論理シミュレータを示す
概略構成図である。このシミュレータ80は、シミュレー
タの基本要素であるシミュレータコア部81,論理システ
ムのサブモジュールのデータを記憶する主記憶領域82,
主記憶上にロードされているサブモジュールを管理する
サブモジュール管理テーブル83,指定されたサブモジュ
ールが主記憶上にロードされているかどうかをチェック
するモジュールチェック部84,サブモジュールデータの
データ量を見積るデータ量見積り部85,見積ったデータ
量に応じた主記憶領域を獲得する主記憶領域獲得部86,
主記憶領域を解放する主記憶領域解放部87,主記憶領域
上にサブモジュールのデータを読み込むデータロード部
88及び各部を制御する制御部89等から構成されている。
シミュレーションする論理システムを構成する各サブモ
ジュールのデータ90は、シミュレータ80の外部から入力
される。FIG. 9 is a schematic configuration diagram showing a logic simulator according to this embodiment. The simulator 80 includes a simulator core unit 81 which is a basic element of the simulator, a main storage area 82 for storing data of sub-modules of a logical system,
A sub-module management table 83 for managing the sub-modules loaded on the main memory, a module check unit 84 for checking whether the specified sub-module is loaded on the main memory, and estimating the data amount of the sub-module data A data amount estimating unit 85, a main storage area obtaining unit 86 for obtaining a main storage area according to the estimated data amount,
Main storage area release unit 87 that releases the main storage area, data load unit that reads submodule data into the main storage area
It comprises a control unit 88 for controlling each unit and the like.
Data 90 of each sub-module constituting the logical system to be simulated is input from outside the simulator 80.
第10図は被シミュレーション論理システムの一例であ
り、最上位階層のモジュールMD1,サブモジュールSMD2か
ら構成されている。シミュレーションの初めにおいて、
まず、データ量見積り部85により最上位階層のモジュー
ルMD1のデータ量を見積る。見積ったデータ量に応じて
主記憶領域獲得部86により主記憶領域を確保し、データ
ロード部88により主記憶領域82にデータをロードする。
このとき、主記憶領域獲得部86はサブモジュール管理テ
ーブル83にMD1の主記憶領域の内容を登録する。第11図
は、モジュール管理テーブル83の一例を示す図である。FIG. 10 shows an example of the simulated logic system, which is composed of a module MD1 and a submodule SMD2 of the highest hierarchy. At the beginning of the simulation,
First, the data amount estimating unit 85 estimates the data amount of the module MD1 in the highest hierarchy. A main storage area is secured by the main storage area acquisition unit 86 according to the estimated data amount, and data is loaded into the main storage area 82 by the data load unit 88.
At this time, the main storage area acquisition unit 86 registers the contents of the main storage area of the MD1 in the submodule management table 83. FIG. 11 is a diagram showing an example of the module management table 83.
いま、MD1の入力端子A1にテストパターンが与えられ
シミュレーションをしたところサブモジュールSMD2の入
力端子B2にイベントが発生したとする。この場合、モジ
ュールチェック部84によりサブモジュールSMD2のデータ
が主記憶領域上にロードされているかどうかチェックさ
れる。ロードされていないときは、データ量見積り部85
でSMD2のデータ量を見積り、主記憶領域獲得部86で主記
憶領域を確保する。SMD2に必要な主記憶領域を確保でき
ないときは、主記憶領域解放部87でその時点でシミュレ
ーションに不要なサブモジュールの主記憶領域を解放
し、再度、主記憶領域を確保を行う。Now, suppose that a test pattern is given to the input terminal A1 of MD1 and a simulation is performed, and an event occurs at the input terminal B2 of the submodule SMD2. In this case, the module check unit 84 checks whether the data of the sub-module SMD2 has been loaded on the main storage area. If it is not loaded, the data amount estimation unit 85
To estimate the data amount of the SMD2, and the main storage area acquisition unit 86 secures the main storage area. When the main storage area required for the SMD 2 cannot be secured, the main storage area releasing unit 87 releases the main storage area of the submodule not required for the simulation at that time, and secures the main storage area again.
そして、確保した主記憶領域にデータロード部88によ
りサブモジュールSMD2のデータをロードし、シミュレー
ションを続行する。以下同様にして、シミュレーション
の実行中にサブモジュールの入力端子に対しイベントが
生じた場合は、同時にそのサブモジュールのデータが主
記憶領域上にあるか否かをチェックし、無いときは領域
を確保してデータをロードすることを繰り返していく。Then, the data of the submodule SMD2 is loaded into the secured main storage area by the data load unit 88, and the simulation is continued. Similarly, if an event occurs at the input terminal of the sub-module during the execution of the simulation, it is checked at the same time whether or not the data of the sub-module is in the main storage area. And then load the data.
このように本実施例では、階層的な論理システムのシ
ミュレーションにおいて、シミュレーションしようとす
る論理システムの全データをロードするのではなく、各
サブモジュール毎に必要となったときにサブモジュール
単位でデータをロードして、シミュレーションすること
が可能である。さらに、不要となったサブモジュールの
データを解放することにより、その領域に別のサブモジ
ュールのデータをードすることができる。従って、対象
とする論理システムの規模がシミュレータの主記憶領域
の大きさに制限されることがなくなり、大規模な論理シ
ステムのシミュレーションが可能となる。As described above, in the present embodiment, in the simulation of the hierarchical logical system, instead of loading all the data of the logical system to be simulated, when the data is needed for each sub-module, the data is It can be loaded and simulated. Further, by releasing the data of the unnecessary sub-module, the data of another sub-module can be loaded into the area. Therefore, the size of the target logical system is not limited by the size of the main storage area of the simulator, and a large-scale logical system can be simulated.
かくして本実施例によれば、シミュレーションの対象
となっている論理システムのサブモジュールのデータを
必要となった時に主記憶領域上にロードし、主記憶領域
が足らなくなった場合は、不要になったサブモジュール
のデータがロードされている主記憶領域を解放して、別
のサブモジュールのデータをロードすることによりシミ
ュレーションを行うことができる。このため、論理シス
テム全体のデータを1度に全てロードしなくてもシミュ
レーションが実行可能である。従って、シミュレーショ
ンの持つ主記憶領域の大きさに制限されることなく、大
規模論理システムのシミュレーションが実行可能であ
る。また、1度に全てのデータをロードしないので、デ
ータの読み込みにやたら時間が掛かることはないという
利点もある。Thus, according to the present embodiment, the data of the submodule of the logical system to be simulated is loaded onto the main storage area when it becomes necessary, and becomes unnecessary when the main storage area becomes insufficient. The simulation can be performed by releasing the main storage area where the data of the submodule is loaded and loading the data of another submodule. Therefore, a simulation can be executed without loading all the data of the entire logical system at once. Therefore, the simulation of the large-scale logic system can be executed without being limited by the size of the main storage area of the simulation. In addition, since all data is not loaded at one time, there is an advantage that it does not take much time to read data.
なお、本発明は上述した実施例に限定されるものでは
なく、その要旨を逸脱しない範囲で、種々変形して実施
することができる。例えば、前記イベントセルに登録す
るイベント情報は第2図に示すものに限らず、仕様に応
じて適宜変更可能である。但し、バックトレースするた
めには、親イベントセル番号を含む方が望ましい。ま
た、イベントセルプールの大きさは、シミュレーション
すべき回路の複雑さ及びテストパターンの数等の条件に
応じて適宜定めればよい。The present invention is not limited to the above-described embodiment, and can be implemented with various modifications without departing from the spirit of the invention. For example, the event information registered in the event cell is not limited to the one shown in FIG. 2, but can be changed as appropriate according to the specifications. However, for back tracing, it is desirable to include the parent event cell number. Further, the size of the event cell pool may be appropriately determined according to conditions such as the complexity of the circuit to be simulated and the number of test patterns.
[発明の効果] 以上詳述したように本発明によれば、全てのイベント
を保持するのではなく、最新のイベントから所定のイベ
ントセル数だけ逆上ったイベントの情報を保持するよう
にしているので、全イベントを保持することなく、回路
のデバッグを行うことができ、イベントの情報記憶領域
の低減をはかり得ると共に回路のデバッグを有効に行う
ことが可能となる。[Effects of the Invention] As described above in detail, according to the present invention, instead of holding all events, information of an event that has gone up by a predetermined number of event cells from the latest event is held. Therefore, the circuit can be debugged without holding all the events, and the event information storage area can be reduced, and the circuit can be effectively debugged.
第1図は本発明の一実施例に係わる論理シミュレータを
示す概略構成図、第2図はイベントセルの内容を示す模
式図、第3図はシミュレーション前のイベントセルプー
ルの様子を示す模式図、第4図は被シミュレーション回
路の一例を示す回路構成図、第5図はシミュレーション
後のイベントセルプールの様子を示す模式図、第6図は
バックトレースの様子を示す模式図、第7図はシミュレ
ーション方法を説明するための図、第8図はテストパタ
ーンと出力結果との関係を示す図、第9図は本発明の別
の実施例を示す概略構成図、第10図は被シミュレーショ
ン論理システムの一例を示す図、第11図はモジュール管
理テーブルの一例を示す模式図である。 10…論理シミュレータ、11…イベントセルプール、12…
イベントセル獲得部、13…イベントセル回収部、14…イ
ベント登録部、15…イベント実行部、16…バックトレー
ス部、20…イベント情報、30…テストパターン、40…出
力結果、50…期待値、60…比較手段、70…デバッグ手
段。FIG. 1 is a schematic configuration diagram showing a logic simulator according to one embodiment of the present invention, FIG. 2 is a schematic diagram showing the contents of an event cell, FIG. 3 is a schematic diagram showing a state of an event cell pool before simulation, FIG. 4 is a circuit configuration diagram showing an example of a circuit to be simulated, FIG. 5 is a schematic diagram showing a state of an event cell pool after simulation, FIG. 6 is a schematic diagram showing a state of a back trace, and FIG. FIG. 8 is a diagram for explaining a method, FIG. 8 is a diagram showing a relationship between a test pattern and an output result, FIG. 9 is a schematic configuration diagram showing another embodiment of the present invention, and FIG. FIG. 11 is a diagram showing an example, and FIG. 11 is a schematic diagram showing an example of a module management table. 10… Logic simulator, 11… Event cell pool, 12…
Event cell acquisition unit, 13: Event cell collection unit, 14: Event registration unit, 15: Event execution unit, 16: Back trace unit, 20: Event information, 30: Test pattern, 40: Output result, 50: Expected value, 60: comparison means, 70: debugging means.
Claims (3)
た論理回路の動作を模擬するイベント・ドリブン方式の
論理シミュレータにおいて、 イベント情報を格納するためのイベントセルを複数個保
持するイベントセルプールと、テストパターンの変化又
はイベントの実行により新たなイベントが発生したとき
前記イベントセルプールの先頭からイベントセルを取り
出すイベントセル獲得手段と、該手段により獲得された
イベントセルに上記新たに発生したイベントの情報を登
録するイベント登録手段と、該手段により登録されたイ
ベントの実行により不要となったイベントセルを前記イ
ベントセルプールの最後に追加するイベントセル回収手
段とを具備してなることを特徴とする論理シミュレー
タ。1. An event-driven logic simulator simulating the operation of a logic circuit modeled by a hardware description language, comprising: an event cell pool for holding a plurality of event cells for storing event information; Event cell acquisition means for extracting an event cell from the head of the event cell pool when a new event occurs due to a change in pattern or execution of an event, and information of the newly generated event is stored in the event cell acquired by the means. A logic register comprising: an event registering means for registering; and an event cell collecting means for adding an event cell which becomes unnecessary by execution of the event registered by the means to the end of the event cell pool. .
に登録されるイベント情報には、そのイベントが発生す
る原因となった親イベントのイベントセル番号が付加さ
れることを特徴とする請求項1記載の論理シミュレー
タ。2. The event information registered in an event cell by the event registration means is added with an event cell number of a parent event that caused the event to occur. Logic simulator.
セル番号を基に、イベント情報をバックトレースする手
段を備えたことを特徴とする請求項2記載の論理シミュ
レータ。3. The logic simulator according to claim 2, further comprising means for back-tracing the event information based on the parent event cell number added to the event information.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP1344343A JP2878745B2 (en) | 1988-12-28 | 1989-12-28 | Logic simulator |
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP63-333567 | 1988-12-28 | ||
JP33356788 | 1988-12-28 | ||
JP1344343A JP2878745B2 (en) | 1988-12-28 | 1989-12-28 | Logic simulator |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH02288979A JPH02288979A (en) | 1990-11-28 |
JP2878745B2 true JP2878745B2 (en) | 1999-04-05 |
Family
ID=26574555
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP1344343A Expired - Fee Related JP2878745B2 (en) | 1988-12-28 | 1989-12-28 | Logic simulator |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2878745B2 (en) |
-
1989
- 1989-12-28 JP JP1344343A patent/JP2878745B2/en not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JPH02288979A (en) | 1990-11-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7478028B2 (en) | Method for automatically searching for functional defects in a description of a circuit | |
US6609229B1 (en) | Method for automatically generating checkers for finding functional defects in a description of a circuit | |
US5845064A (en) | Method for testing and verification of a CPU using a reference model | |
KR100921314B1 (en) | High Performance Design Verification Apparatus Using Verification Results Re-use Technique and Its Rapid Verification Method Using the Same | |
US5068812A (en) | Event-controlled LCC stimulation | |
US8079022B2 (en) | Simulation of software | |
US6074426A (en) | Method for automatically generating behavioral environment for model checking | |
US20120246606A1 (en) | Generation of an end point report for a timing simulation of an integrated circuit | |
Taşar et al. | A study of intermittent faults in digital computers | |
US6212493B1 (en) | Profile directed simulation used to target time-critical crossproducts during random vector testing | |
US20050010387A1 (en) | High level synthesis device, method for generating a model for verifying hardware, method for verifying hardware, control program, and readable recording medium | |
Kantrowitz et al. | Functional Verification of a Multiple-issue, Pipelined, Superscalar Alpha Processor - the Alpha 21164 CPU Chip | |
US6934656B2 (en) | Auto-linking of function logic state with testcase regression list | |
JP2878745B2 (en) | Logic simulator | |
US6370492B1 (en) | Modified design representation for fast fault simulation of an integrated circuit | |
Park et al. | Post-silicon bug localization for processors using IFRA | |
Gai et al. | Creator: New advanced concepts in concurrent simulation | |
US6986110B1 (en) | Automated method and system for backtracing of instruction parameters from specified instruction in test cases | |
Butler et al. | LAMP: Application to Switching‐System Development | |
Manning | On Computer Self-Diagnosis Part II-Generalizations and Design Principles | |
US8869080B2 (en) | Automatically identifying resettable flops for digital designs | |
Gorse et al. | Enhancing ESys. Net with a semi-formal verification layer | |
Kakani et al. | Transactional Test Environment for Faster and Early Verification of Digital Designs | |
Christley | Thick film substrate (Micropackage) design utilizing interactive Computer Aided Design systems | |
Aouadja | SoC regression strategy developement |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
LAPS | Cancellation because of no payment of annual fees |