JPH05189513A - Logical simulation method taking delay into consideration - Google Patents

Logical simulation method taking delay into consideration

Info

Publication number
JPH05189513A
JPH05189513A JP4002752A JP275292A JPH05189513A JP H05189513 A JPH05189513 A JP H05189513A JP 4002752 A JP4002752 A JP 4002752A JP 275292 A JP275292 A JP 275292A JP H05189513 A JPH05189513 A JP H05189513A
Authority
JP
Japan
Prior art keywords
time
event
output value
propagation
logic
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
JP4002752A
Other languages
Japanese (ja)
Inventor
Takashi Suzuki
敬 鈴木
美夫 ▲高▼嶺
Yoshio Takamine
Marenori Takahashi
希典 高橋
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.)
Hitachi Ltd
Original Assignee
Hitachi Ltd
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 Hitachi Ltd filed Critical Hitachi Ltd
Priority to JP4002752A priority Critical patent/JPH05189513A/en
Publication of JPH05189513A publication Critical patent/JPH05189513A/en
Pending legal-status Critical Current

Links

Abstract

PURPOSE:To provide an invalid event deleting method which can suppress the increase of the processing time end the memory capacity for the logical simulation. CONSTITUTION:The propagation expected output value and the propagation expected time are added to the information on a logical element. When an event is propagated, the propagation expected time of the logical element is compared with the present time. Then the event is propagated only when the coincidence is secured between both times (13), and the output value of the element connected to the output of the element propagated by the event is obtained (14). When a new event is registered, the propagation expected output value is rewritten into the new output value. Then the event registering time and the propagation expected time are rewritten into the value obtained by adding the element delay to the present time when the propagation expected time is equal to or smaller than the present time or when the new output value is different from the element output value. Otherwise no event is registered and only the propagation expected time is rewritten into the present time (15).

Description

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

【0001】[0001]

【産業上の利用分野】本発明は、論理回路の動作を計算
機上で模擬する論理シミュレーションのうち、信号値の
ディレイ時間を考慮する論理シミュレーションの方法に
係り、特に、論理素子が反応しない短いパルスの伝達に
ついて、このパルスに関するイベントを除く方法に関す
る。
BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to a method of logic simulation in which the delay time of a signal value is taken into consideration in a logic simulation for simulating the operation of a logic circuit on a computer. The method of excluding the event related to this pulse.

【0002】[0002]

【従来の技術】電子回路の論理設計において論理シミュ
レーションは設計段階での設計の検証を行う一般的な方
法である。論理シミュレーションにはいろいろな方法が
あるが、論理素子のディレイ(遅延)等の物理的な特性
を考慮した論理シミュレーションの方法が幾つも提案さ
れている。これらの方法は、例えば、岩波講座マイクロ
エレクトロニクス4、VLSIの設計II、第191頁から
第220頁に示されている。
2. Description of the Related Art In logic design of electronic circuits, logic simulation is a general method for verifying the design at the design stage. Although there are various methods for the logic simulation, several logic simulation methods have been proposed in consideration of physical characteristics such as delay of logic elements. These methods are shown, for example, in Iwanami Course Microelectronics 4, VLSI Design II, pages 191 to 220.

【0003】論理シミュレーションの方法として広く用
いられているイベント法は、回路中で信号値の変化する
部分を順にトレースして行く方法である。このイベント
法ではイベント、即ち、信号値の変化に関する情報を信
号の伝播する時刻の順番に評価することにより論理素子
のディレイを扱うことができる。
The event method, which is widely used as a method of logic simulation, is a method of tracing a portion where a signal value changes in a circuit in order. In this event method, the delay of the logic element can be handled by evaluating the event, that is, the information about the change in the signal value in the order of the time when the signal propagates.

【0004】また、論理素子のディレイのモデルも幾つ
か知られている。その中で慣性遅延と呼ばれるモデル
は、指定されたディレイ時間以上同一の入力値を加えな
いと素子が動作しないというモデルである。さらに、正
確なシミュレーションを行う場合は、素子毎に立ち上が
り,立ち下がりのディレイを設定してシミュレーション
を行う。
Also, some models of delay of logic elements are known. Among them, the model called inertial delay is a model in which an element does not operate unless the same input value is applied for a specified delay time or longer. Furthermore, when performing an accurate simulation, the simulation is performed by setting the rising and falling delays for each element.

【0005】[0005]

【発明が解決しようとする課題】慣性遅延を扱う場合、
論理素子の出力を評価する毎に、その素子の出力値に関
するイベントの有無を調べ、これが存在する場合はこれ
を無効にし、当時刻の出力変化もイベントとしては登録
しない。そのため、慣性遅延の処理ではイベントの有無
を調べる方法とイベントを削除する方法を効率よく行う
必要がある。登録されているイベントを無効にする方法
として、従来は論理素子の出力を評価した際にイベント
を格納するテーブルを毎回探索するか、あるいは素子毎
に対応するイベントの格納位置を保持することにより目
的のイベントを簡単に探し、これを削除する方法が用い
られてきた。しかし、前者の方法ではイベントの探索に
多大な時間を要し、後者の方法では余分なメモリを必要
とし、テーブルの構造も複雑になる。
When dealing with inertial delay,
Each time the output of the logic element is evaluated, the presence or absence of an event relating to the output value of the element is checked, and if it exists, it is invalidated, and the output change at that time is not registered as an event. Therefore, in the process of inertial delay, it is necessary to efficiently perform the method of checking the existence of an event and the method of deleting an event. As a method of invalidating registered events, conventionally, the purpose is to search the table that stores events each time the output of a logic element is evaluated, or to hold the storage location of the corresponding event for each element. A method has been used to easily find the event and delete it. However, the former method requires a great deal of time to search for an event, the latter method requires extra memory, and the table structure becomes complicated.

【0006】本発明の目的は、処理時間とメモリの増加
を防いだ、イベントの無効判定を行う方法を提供するこ
とにある。
It is an object of the present invention to provide a method for judging invalidity of an event while preventing an increase in processing time and memory.

【0007】[0007]

【課題を解決するための手段】本発明は上記の課題を解
決するために、各論理素子の情報を格納するテーブルに
イベントが伝播する予定の時刻を格納する領域、すなわ
ち、伝播予定時刻を設ける。そして、論理素子の出力値
評価時に伝播予定時刻を書き替え、さらに、イベントを
取り出し、それを論理素子の出力値に伝播する際に、伝
播予定時刻と現在のシミュレーション時刻が一致しない
場合はイベントを無効とする。
In order to solve the above-mentioned problems, the present invention provides an area for storing the scheduled time of event propagation, that is, a scheduled propagation time, in a table storing information of each logic element. .. Then, when the output value of the logic element is evaluated, the propagation scheduled time is rewritten, and when the event is extracted and propagated to the output value of the logic element, if the scheduled propagation time and the current simulation time do not match, the event is Invalidate.

【0008】[0008]

【作用】論理素子の出力値を評価した時点では、伝播予
定時刻を書き替えるのみとし、イベントを取り出し、論
理素子の出力値に伝播する段階で伝播予定時刻を調べる
ことにより、イベントの探索による処理時間の増加や、
複雑なテーブルを構成することによるメモリ使用量の増
加,処理の複雑化を防ぐことができる。
[Operation] When the output value of the logic element is evaluated, the scheduled propagation time is simply rewritten, the event is extracted, and the scheduled propagation time is checked at the stage of propagating to the output value of the logical element, thereby performing processing by searching for the event. Increased time,
It is possible to prevent an increase in memory usage and complication of processing by configuring a complicated table.

【0009】[0009]

【実施例】図1〜図12を用いて本発明の一実施例を示
す。図1は本発明による論理シミュレーションの動作フ
ローを示す図である。図1において、先ず11で、シミ
ュレーションに必要なテーブルの作成,初期イベントの
登録,現在時刻(シミュレーション時刻)の初期化を行
う。そして、各時刻について12〜17の処理を行う。
すなわち、12はまだ伝播していないイベントを保持す
るテーブルから現在時刻に伝播するイベントのリストを
作成する処理である。13では12で作成したリストの
うち各素子の伝播予定時刻が現在時刻と一致する素子に
ついてイベントによる出力値の変化を伝播する。14で
はイベントが伝播した素子の出力に接続する素子のリス
トを作成する。15では14で作成したリスト上の各素
子について、新しい出力値を求め、その値と現在の出力
値,伝播予定出力値との関係、さらに現在時刻と伝播予
定時刻との関係によりイベントの登録を行う。また、こ
の時、伝播予定時刻も更新する。16では現在時刻を進
め、17でシミュレーションの終了判定を行う。
DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENT An embodiment of the present invention will be described with reference to FIGS. FIG. 1 is a diagram showing an operation flow of a logic simulation according to the present invention. In FIG. 1, first, at 11, a table required for simulation is created, an initial event is registered, and a current time (simulation time) is initialized. Then, the processes 12 to 17 are performed for each time.
That is, 12 is a process of creating a list of events propagated at the current time from a table holding events that have not yet propagated. In 13, in the list created in 12, the change in the output value due to the event is propagated to the element whose scheduled propagation time of each element matches the current time. At 14, a list of elements connected to the output of the element to which the event propagates is created. In 15, the new output value is obtained for each element on the list created in 14, and the event is registered according to the relationship between the new output value and the current output value, the planned propagation output value, and the relationship between the current time and the planned propagation time. To do. At this time, the scheduled propagation time is also updated. At 16, the current time is advanced, and at 17 the end of the simulation is determined.

【0010】以上の処理のうち本発明の特徴的な処理で
ある13と15の処理を図2と図3、及び図4と図5を
用いて詳細に説明する。
Of the above processes, the processes 13 and 15 which are characteristic processes of the present invention will be described in detail with reference to FIGS. 2 and 3 and FIGS. 4 and 5.

【0011】先ず、処理に用いるテーブルについて図5
を用いて説明する。処理に用いるテーブルは五種類存在
する。未処理イベントポインタUEP51はイベントテ
ーブルET53に保持されている未伝播のイベントの格
納位置を要素として保持するリストである。その要素数
はNUEP511である。評価対象イベントポインタC
EP52は、現在時刻に伝播するイベントの格納位置を
要素として保持するリストで、その要素数はNCEP5
21である。イベントテーブルET53は、イベントを
保持するテーブルで、各イベントは論理素子識別子LI
D531,イベントの伝播時刻PT532,伝播信号値
PV533よりなる。
First, the table used for processing is shown in FIG.
Will be explained. There are five types of tables used for processing. The unprocessed event pointer UEP51 is a list holding the storage position of the unpropagated event held in the event table ET53 as an element. The number of elements is NUEP511. Evaluation target event pointer C
EP52 is a list holding the storage position of the event propagating at the current time as an element, and the number of elements is NCEP5.
21. The event table ET53 is a table for holding events, and each event has a logical element identifier LI.
D531, event propagation time PT532, propagation signal value PV533.

【0012】各々のイベントが伝播する素子の論理素子
識別子LID531は論理素子テーブル中の位置を示す
識別子である。伝播時刻PT532はそのイベントが伝
播する時刻を示し、伝播信号値PV533は時刻PTに
論理素子LIDの出力値が変化する値を示す。
The logic element identifier LID531 of the element to which each event propagates is an identifier indicating the position in the logic element table. The propagation time PT532 shows the time when the event propagates, and the propagation signal value PV533 shows the value at which the output value of the logic element LID changes at the time PT.

【0013】例えば、イベントテーブルETの最初の要
素、(LID=L2,PT=5,PV=0)は時刻5に
おいて論理素子L2の出力値が0に変化することを意味
するイベントである。図5の例ではその他に論理素子L
3の出力値が時刻5において1に変化することを意味す
るイベントが登録されている。ファンアウトポインタF
OP54はイベントが伝播した論理素子の出力に接続す
る論理素子の識別子を保持するテーブルで、その要素数
はNFOP541である。
For example, the first element of the event table ET, (LID = L2, PT = 5, PV = 0), is an event meaning that the output value of the logic element L2 changes to 0 at time 5. In the example of FIG.
An event is registered which means that the output value of 3 changes to 1 at time 5. Fan-out pointer F
OP54 is a table holding the identifier of the logic element connected to the output of the logic element to which the event has propagated, and the number of elements is NFOP541.

【0014】図1の13の処理で出力値が変化した素子
に関して、図1の14の処理でその出力に接続する素子
の識別子をこのテーブルに格納する。
With respect to the element whose output value has changed in the processing of 13 of FIG. 1, the identifier of the element connected to the output is stored in this table in the processing of 14 of FIG.

【0015】論理素子テーブルLT55は論理素子の情
報を保持するテーブルで、出力値V551,伝播予定出
力値PEV552,伝播予定時刻PET553,素子タ
イプFN554,ファンインFI555,ファンアウト
FO556,ディレイテーブルDTBL557からな
る。このテーブルの各行が図4に示すL1〜L6の論理
素子に対応している。
The logic element table LT55 is a table for holding information of logic elements, and is composed of an output value V551, a planned propagation value PEV552, a planned propagation time PET553, a device type FN554, a fan-in FI555, a fan-out FO556 and a delay table DTBL557. .. Each row of this table corresponds to the logic elements L1 to L6 shown in FIG.

【0016】出力値Vは、各論理素子の出力信号値を表
す。伝播予定信号値PEVと伝播予定時刻PETはその
論理素子の出力値が伝播予定時刻PETに伝播予定信号
値PEVに変化する予定であることを示す。素子タイプ
FNはその論理素子の機能を識別するために用いる。フ
ァンインFIはその論理素子の入力に接続する論理素子
の識別子を保持するリストである。ファンアウトFOは
その論理素子の出力に接続する論理素子の識別子を保持
するリストである。ディレイテーブルDTBLはその論理素
子のディレイ、すなわち、素子の遅延時間を保持するテ
ーブルで出力値の変化により異なる遅延値を扱えるよう
になっている。例えば、出力値が0から1に変化した場
合の遅延値は5571に示される。
The output value V represents the output signal value of each logic element. The planned propagation signal value PEV and the planned propagation time PET indicate that the output value of the logic element is planned to change to the planned propagation signal value PEV at the planned propagation time PET. The element type FN is used to identify the function of the logic element. The fan-in FI is a list holding the identifier of the logic element connected to the input of that logic element. The fanout FO is a list holding the identifiers of the logic elements connected to the output of that logic element. The delay table DTBL is a table that holds the delay of the logic element, that is, the delay time of the element, and can handle different delay values depending on the change of the output value. For example, a delay value 5571 is shown when the output value changes from 0 to 1.

【0017】図5に示す論理素子テーブルLT55は図
4に示す論理回路を表している。図4の論理素子BUF
(L1)は図5の論理素子テーブルLT55の第一行L
1に相当する。論理素子テーブルLT55の素子タイプ
(FN)のフィールド554には論理素子のタイプ、す
なわち、BUFが格納されている。論理素子BUF(L
1)の出力(ファンアウト)には論理素子AND(L
5)が接続されている。この情報は論理素子テーブルL
T55のファンアウトFO556のフィールドに格納さ
れている。一方、論理素子L5の入力(ファンイン)に
は論理素子BUF(L1)と論理素子NOR(L4)が接
続されている。この情報は論理素子テーブルLT55の
第五行L5のファンインFI555のフィールドにその
素子の識別子(L1とL4)が格納されている。同様に
BUF(L2)とBUF(L3)の出力がNOR(L
4)へ、NOR(L4)の出力がAND(L5)へ、A
ND(L5)の出力がBUF(L6)へそれぞれ接続
し、また逆にNOR(L4)の入力にBUF(L2)と
BUF(L3)が、BUF(L6)の入力にAND(L5)
が接続していることが論理素子テーブルLT55のファ
ンアウトFO556とファンインFI555のフィール
ドに記述されている。
The logic element table LT55 shown in FIG. 5 represents the logic circuit shown in FIG. Logic element BUF of FIG.
(L1) is the first row L of the logic element table LT55 of FIG.
Equivalent to 1. The element type (FN) field 554 of the logical element table LT55 stores the type of the logical element, that is, BUF. Logic element BUF (L
The logical element AND (L
5) is connected. This information is the logic element table L
It is stored in the field of fan-out FO556 of T55. On the other hand, the logic element BUF (L1) and the logic element NOR (L4) are connected to the input (fan-in) of the logic element L5. As for this information, the identifier (L1 and L4) of the element is stored in the field of the fan-in FI555 of the fifth row L5 of the logic element table LT55. Similarly, the outputs of BUF (L2) and BUF (L3) are NOR (L
4), the output of NOR (L4) goes to AND (L5), A
The output of ND (L5) is connected to BUF (L6) respectively, and conversely, BUF (L2) and BUF (L3) are input to NOR (L4) and AND (L5) is input to BUF (L6).
Are connected in the fields of the fan-out FO 556 and the fan-in FI 555 of the logic element table LT55.

【0018】図2は無効イベントを削除し、有効なイベ
ントの伝播を行う処理のフローである。ここでは評価対
象イベントポインタCEPの各要素が指すイベントにつ
いて処理を行う。まず、21でカウンタC1とC2の初
期化を行う。カウンタC1はイベントを順番に参照する
ために用いるカウンタである。C2は有効なイベントを
順番に再登録する際に用いるカウンタである。各イベン
トに関して22〜26の処理を行う。22では処理対象
イベントポインタCEPのC1番目の要素が指すイベン
ト(ep)の論理素子識別子LIDにより識別される論
理素子の伝播予定時刻が現在時刻Xtと等しいか否かを
判定する。等しい場合は23以降を行い、等しくない場
合は25以降を行う。
FIG. 2 is a flow of processing for deleting an invalid event and propagating a valid event. Here, processing is performed for the event indicated by each element of the evaluation target event pointer CEP. First, at 21 the counters C1 and C2 are initialized. The counter C1 is a counter used for sequentially referring to events. C2 is a counter used when re-registering valid events in order. 22 to 26 are processed for each event. At 22, it is determined whether the scheduled propagation time of the logic element identified by the logic element identifier LID of the event (ep) pointed to by the C1th element of the processing target event pointer CEP is equal to the current time Xt. If they are equal, 23 and subsequent steps are performed. If they are not equal, 25 and subsequent steps are performed.

【0019】23と24は有効なイベントとしてイベン
トの伝播を行う処理である。23ではそのイベントの伝
播信号値PVを論理素子の出力値に書き込む。24では
処理対象イベントポインタCEPのC2番目の位置にC
1番目の要素を書き込み、C2の値をインクリメントす
る。この処理により有効なイベントのみが順番にCEP
に保持される。25ではC1をインクリメントする。2
6ではC1とCEPの要素数NCEPを比較し、ループの
終了を判定する。CEPの全ての要素に関して処理が終
了した場合は27を行う。27ではC2を有効なイベン
ト数とし、NCEPの値とする。
Reference numerals 23 and 24 denote processes for propagating an event as a valid event. At 23, the propagation signal value PV of the event is written in the output value of the logic element. In 24, C is located at the C-th position of the processing-target event pointer CEP.
Write the first element and increment the value of C2. With this processing, only valid events are sequentially CEP
Held in. At 25, C1 is incremented. Two
At 6, the number of elements NCEP of C1 and CEP are compared to determine the end of the loop. When the processing is completed for all the elements of CEP, 27 is performed. At 27, C2 is set as the number of valid events and is set as the value of NCEP.

【0020】図3は論理素子の新しい出力値を求め、新
しいイベントを登録する処理である。ここではファンア
ウトポインタFOPの各要素に関して32から39の処
理を行う。まず、31ではループカウンタiを初期化す
る。32ではファンアウトポインタFOPのi番目の要
素(fp)が指す論理素子、すなわち、論理素子テーブ
ルLT中のfpが指す論理素子の新しい出力値Vnew
を、論理素子テーブルLT中のタイプFN,素子のファ
ンインFIの接続先素子の出力値、その素子の現在の出
力値V等から求める。33では論理素子の伝播予定出力
値PEVと新出力値Vnewを比較し、一致しない場合
は34以降を行い、一致する場合、すなわち、イベント
とならない場合は38以降を行う。34では論理素子の
遅延値dをディレイテーブルDTBLを参照して求め、
伝播予定出力値を新出力値PEVに書き替える。35で
はその論理素子の伝播予定時刻PETが現在時刻Xtよ
りも小さいか等しいか、または、現在の出力値Vと新出
力値Vnewが異なるか否かを判定する。
FIG. 3 shows a process of obtaining a new output value of the logic element and registering a new event. Here, the processes from 32 to 39 are performed for each element of the fan-out pointer FOP. First, at 31, the loop counter i is initialized. In 32, the new output value Vnew of the logic element pointed to by the i-th element (fp) of the fan-out pointer FOP, that is, the logic element pointed to by fp in the logic element table LT.
Is calculated from the type FN in the logic element table LT, the output value of the element connected to the fan-in FI of the element, the current output value V of the element, and the like. In 33, the expected output value PEV of the logic element is compared with the new output value Vnew. If they do not match, 34 or later is performed. If they match, that is, if they are not events, 38 or later is performed. At 34, the delay value d of the logic element is obtained by referring to the delay table DTBL,
The planned propagation output value is rewritten to the new output value PEV. At 35, it is determined whether the expected propagation time PET of the logic element is smaller than or equal to the current time Xt, or whether the current output value V and the new output value Vnew are different.

【0021】条件が成立した場合は36を、成立しない
場合は37を行う。36は新しいイベントを登録する処
理で、fpを論理素子識別子LID,伝播時刻PTを現
在時刻Xtと遅延値dの和、伝播信号値PVを新出力値
VnewとしてイベントテーブルETと未処理イベント
ポインタUEPに登録する。また論理素子テーブルの伝
播予定時刻PETは現在時刻Xtと遅延値dの和の値と
する。37では論理素子テーブルの伝播予定時刻PET
を現在時刻Xtに書替えるだけでイベントの登録は行わ
ない。38ではカウンタiをインクリメントし、39で
カウンタ値iとファンアウトポインタFOPの要素数N
FOPとを比較し、ループの終了を判定する。
If the condition is met, 36 is carried out, and if not, 37 is carried out. 36 is a process for registering a new event, where fp is the logical element identifier LID, propagation time PT is the sum of the current time Xt and the delay value d, and the propagation signal value PV is the new output value Vnew, the event table ET and the unprocessed event pointer UEP. Register with. The expected propagation time PET in the logic element table is the sum of the current time Xt and the delay value d. In 37, the expected propagation time PET of the logic element table
Is rewritten to the current time Xt and no event is registered. In 38, the counter i is incremented, and in 39, the counter value i and the number N of elements of the fan-out pointer FOP.
The end of the loop is determined by comparing with FOP.

【0022】図12は本実施例を実行するシステムの構
成図である。このシステムは回路記述ファイル121と
入力パタンファイル122を入力とし、シミュレーショ
ン結果ファイルとシミュレーション結果リストを出力す
る。回路記述ファイル121は論理回路の情報を記述し
たファイルで各論理素子の接続関係と、各論理素子の遅
延などの情報が格納されている。入力パタンファイル1
22にはシミュレーションを行う論理回路に与えられる
入力信号を時系列的に記述した情報が格納されている。
FIG. 12 is a block diagram of a system for executing this embodiment. This system inputs a circuit description file 121 and an input pattern file 122 and outputs a simulation result file and a simulation result list. The circuit description file 121 is a file in which information of a logic circuit is described, and stores information such as the connection relation of each logic element and the delay of each logic element. Input pattern file 1
22 stores information describing in time series the input signal given to the logic circuit for performing the simulation.

【0023】処理装置123はCPU1231と主記憶
装置1232により構成され、主記憶装置には回路記述
ファイルから論理素子テーブル1242を作成する論理
コンパイラ1241と本実施例に示す論理シミュレーシ
ョンを行う論理シミュレータ1243の二つのプログラ
ムを格納している。また論理素子テーブル1242とイ
ベントテーブル1244も主記憶装置内に保持してい
る。これらのテーブルは論理コンパイラ1241と論理
シミュレータ1243により作成される。論理シミュレ
−タ1243の処理結果であるシミュレーション結果フ
ァイル125とシミュレーション結果リスト126はシ
ミュレーション時の論理回路の各信号出力値を記録した
ファイルと印字出力リストである。
The processing unit 123 is composed of a CPU 1231 and a main storage unit 1232. The main storage unit includes a logic compiler 1241 for creating a logic element table 1242 from a circuit description file and a logic simulator 1243 for performing the logic simulation shown in this embodiment. It stores two programs. The logic element table 1242 and the event table 1244 are also held in the main memory. These tables are created by the logic compiler 1241 and the logic simulator 1243. A simulation result file 125 and a simulation result list 126, which are the processing results of the logic simulator 1243, are a file in which each signal output value of the logic circuit at the time of simulation is recorded and a print output list.

【0024】次に、図4に示す論理回路について、図6
〜図11を用いて本実施例の処理の進行を順を追って説
明する。
Next, regarding the logic circuit shown in FIG.
~ The progress of the processing of this embodiment will be described step by step with reference to Fig. 11.

【0025】図6は時刻0(Xt=0)の時点のタイミ
ングチャート61と各テーブル(62から65)の状態
を示す図である。タイミングチャート61においてL1
〜L5は図4の各論理素子L1〜L5の出力値に対応し
ている。時刻0以前は、L1,L2は1、L3〜L5は
0である。時刻0においてL2は1から0へと変化する
(611)。イベントテーブルET64には二つのイベ
ントが保持されている。これらのうちの第一行にあるイ
ベントは伝播時刻が0であり、これがL2の変化(61
1)に対応する。このイベントは図1の12の処理によ
り評価対象イベントポインタCEP63に取り出され
る。そのため、評価対象イベントポインタCEP63の
第一の要素は1になる。未処理イベントポインタUEP
62には残りのイベント、すなわち2が保持されてい
る。このイベントを伝播した後、図1の14の処理を行
うと、L2の出力に接続する素子、すなわち、L4がフ
ァンアウトポインタFOP65に取り出される。ファン
アウトポインタFOPの作成は論理素子テーブルのファ
ンアウトFOのフィールドを参照して行う。
FIG. 6 is a diagram showing the timing chart 61 at time 0 (Xt = 0) and the state of each table (62 to 65). L1 in the timing chart 61
To L5 correspond to the output values of the logic elements L1 to L5 in FIG. Before time 0, L1 and L2 are 1, and L3 to L5 are 0. At time 0, L2 changes from 1 to 0 (611). The event table ET64 holds two events. The event in the first row of these has a propagation time of 0, which is the change in L2 (61
It corresponds to 1). This event is fetched by the evaluation target event pointer CEP63 by the processing of 12 in FIG. Therefore, the first element of the evaluation target event pointer CEP63 becomes 1. Unprocessed event pointer UEP
62 holds the remaining event, that is, 2. After propagating this event, when the processing of 14 of FIG. 1 is performed, the element connected to the output of L2, that is, L4 is taken out to the fan-out pointer FOP65. The fan-out pointer FOP is created by referring to the fan-out FO field of the logic element table.

【0026】図7は時刻0において、図1の15の処理
を行った後の状態を示す図である。タイミングチャート
71に示すように時刻0におけるL2の変化(711)
によりL4の値は時刻4に1に変化する(712)。こ
の変化はイベントとしてイベントテーブルET74の第
三行目に記録され、未処理イベントポインタUEP72 には
イベントテーブルETの第三行目を示す3の値が追加さ
れる。また論理素子テーブルLT75のL4の伝播予定
出力値PEV752と伝播予定時刻PET753は新しいイベ
ントと同じく値は1、時刻は4となる。この時刻は論理
素子テーブルETの各要素毎に存在するディレイテーブ
ルDTBL(図5の557)を参照して求まる遅延値と
現在時刻の和により求める。
FIG. 7 is a diagram showing a state after performing the process 15 of FIG. 1 at time 0. Change in L2 at time 0 as shown in the timing chart 71 (711)
Causes the value of L4 to change to 1 at time 4 (712). This change is recorded as an event in the third line of the event table ET74, and the unprocessed event pointer UEP72 is added with a value of 3 indicating the third line of the event table ET. The planned propagation output value PEV752 and the planned propagation time PET753 of L4 of the logic element table LT75 are 1 and 4 at the same time as the new event. This time is obtained by the sum of the delay value obtained by referring to the delay table DTBL (557 in FIG. 5) existing for each element of the logic element table ET and the current time.

【0027】図8は時刻4の状態である。時刻4では時
刻0に発生したL4のイベント811が伝播し、L4に接
続する素子L5に新たなイベント812が発生する。図
1の13の処理では論理素子テーブルの伝播予定時刻と
現在時刻を比較し、これが一致する場合にイベントの伝
播を行う。イベント811はイベントテーブルET83の第
三行に相当し、論理素子テーブルの伝播予定時刻は4で
あり、現在時刻と一致するため伝播する。そして図1の
15の処理により論理素子L4のファンアウトに接続す
る論理素子L5の出力値が求められ、これが新しいイベ
ントとしてイベントテーブルET83の第四行と評価対
象イベントポインタCEP82に登録される。また、論
理素子テーブルLT84のL5の伝播予定出力値PEV
842と伝播予定時刻PET843は新しいイベントと
同じく値は1、時刻は11となる。
FIG. 8 shows the state at time 4. At time 4, the event 811 of L4 generated at time 0 propagates, and a new event 812 occurs in the element L5 connected to L4. In the process of 13 in FIG. 1, the scheduled propagation time of the logic element table is compared with the current time, and if they match, the event is propagated. The event 811 corresponds to the third row of the event table ET83, and the scheduled propagation time of the logic element table is 4, which propagates because it matches the current time. Then, the output value of the logic element L5 connected to the fan-out of the logic element L4 is obtained by the processing of 15 in FIG. 1, and this is registered as a new event in the fourth row of the event table ET83 and the evaluation target event pointer CEP82. Also, the expected propagation value PEV of L5 of the logic element table LT84
842 and the scheduled propagation time PET 843 have the same value 1 and the same time 11 as the new event.

【0028】図9は時刻5の状態である。時刻5ではタ
イミングチャート91に示すように、素子L3の出力に
イベントが伝播し(911)、これにより素子L3の出
力に接続する素子L4に新たなイベント912が発生す
る。イベント911はイベントテーブルET92の第二
行のイベントに相当し、このイベントにより論理素子テ
ーブルLT93の素子L3の出力値V931は1に変化
する。そしてL3に接続する素子L4に新しいイベント
が発生する。このイベントはイベントテーブルET92
の第五行に登録される。また論理素子テーブルLT93
のL4行の伝播予定出力値PEV932と伝播予定時刻
PET933は新しいイベントと同じく値は0、時刻は
10となる。
FIG. 9 shows the state at time 5. At time 5, as shown in the timing chart 91, the event propagates to the output of the element L3 (911), which causes a new event 912 to occur in the element L4 connected to the output of the element L3. The event 911 corresponds to the event in the second row of the event table ET92, and the output value V931 of the element L3 of the logic element table LT93 changes to 1 by this event. Then, a new event occurs in the element L4 connected to L3. This event is event table ET92
Registered in the 5th line of. Also, the logic element table LT93
The planned propagation output value PEV 932 and the planned propagation time PET 933 in the L4 row of the same are 0 and 10 at the same time as the new event.

【0029】図10は時刻10の状態である。時刻10
ではタイミングチャート101に示すように、L4にイ
ベントが伝播する(1011)。しかし素子L4に接続
する素子L5には新しいイベントは発生しない。これは
L4の信号値の変化の間隔がL5の素子遅延よりも短い
期間であったため、すなわち、時刻4のL4の変化によ
るイベントがL5に伝播する前にL4が再度変化したた
め、慣性遅延のモデルでは信号値の変化が伝播しないこ
とによる。イベント1011はイベントテーブルET1
02の第五行のイベントに相当する。このイベントによ
り論理素子テーブルLT103の素子L4の出力値Vは
0に変化する。そして図3のフローに従い、L4に接続
する素子L5の新出力値を求める。この時、論理積AN
Dである論理素子L5の入力はL1が1、L4が0なの
で新出力値Vnewは0となる。この値は伝播予定出力
値PEVの1(図9の932参照)と異なるため、図3
の33の条件は成立し、図3の34の処理を行う。34
で遅延値dをディレイテーブルDTBLを参照して求め
る。伝播予定出力値PEVはVnewの値、すなわち0
に書き替わる。そして伝播予定時刻11(図9の933
参照)に対して現在時刻が10で、かつ出力値VとVn
ewが共に0で等しく、図3の35の条件は満足しない
ため図3の37が実行され、伝播予定時刻PET(10
34)を現在時刻の10に書き替えて終了する。そのた
め、新しいイベントは登録されない。
FIG. 10 shows the state at time 10. Time 10
Then, as shown in the timing chart 101, the event propagates to L4 (1011). However, no new event occurs in the element L5 connected to the element L4. This is because the interval between changes in the signal value of L4 is shorter than the element delay of L5, that is, L4 changes again before the event due to the change in L4 at time 4 propagates to L5, and thus the model of inertial delay The reason is that the change in signal value does not propagate. Event 1011 is event table ET1
Corresponds to the event in the fifth row of 02. Due to this event, the output value V of the element L4 of the logic element table LT103 changes to 0. Then, according to the flow of FIG. 3, a new output value of the element L5 connected to L4 is obtained. At this time, the logical product AN
Since the input of the logic element L5 which is D is 1 for L1 and 0 for L4, the new output value Vnew becomes 0. Since this value is different from the expected propagation output value PEV of 1 (see 932 in FIG. 9), the value in FIG.
33 is satisfied, and the process of 34 in FIG. 3 is performed. 34
Then, the delay value d is obtained by referring to the delay table DTBL. The expected propagation value PEV is the value of Vnew, that is, 0.
Be rewritten. And the scheduled propagation time 11 (933 in FIG. 9)
The current time is 10 and the output values V and Vn
Since both ew are 0 and equal, and the condition of 35 in FIG. 3 is not satisfied, 37 in FIG. 3 is executed, and the estimated propagation time PET (10
34) is rewritten to 10 which is the current time, and the process ends. Therefore, new events will not be registered.

【0030】図11は時刻11の状態である。この時刻
にはタイミングチャート111に示すようにL5に伝播
予定のイベント1111が存在するが、このイベントは
時刻10の処理により無効となったイベントであるため
伝播しない。イベント1111はイベントテーブルET11
2の第四行のイベントに相当する。このイベントも図2
のフローに従い、伝播の処理が行われる。しかし図2の
22の条件判定により、論理素子テーブルLT113の
伝播予定時刻PET1134(値は10)が現在時刻、
すなわち11と異なるため、伝播の対象とならない。
FIG. 11 shows the state at time 11. At this time, as shown in the timing chart 111, there is an event 1111 scheduled to be propagated to L5, but this event is an event that was invalidated by the processing at time 10 and therefore does not propagate. Event 1111 is event table ET11
Corresponds to the event in the 4th row of 2. This event is also shown in Figure 2.
Propagation processing is performed according to the flow. However, according to the condition determination of 22 in FIG. 2, the estimated propagation time PET1134 (value is 10) of the logic element table LT113 is the current time,
That is, since it is different from 11, it is not a target of propagation.

【0031】このように、論理素子テーブルに伝播予定
時刻を保持するフィールドを設け、これをイベント登録
時に適宜書き替え、イベント伝播時にこの値と現在時刻
を比較することにより無効なイベントを検出し、これを
削除することが可能になる。
As described above, a field for holding a scheduled propagation time is provided in the logic element table, this field is appropriately rewritten at the time of event registration, and an invalid event is detected by comparing this value with the current time at the time of event propagation. It becomes possible to delete this.

【0032】[0032]

【発明の効果】本発明によれば、イベント登録時に既に
登録されているイベントの中から無効なイベントを探す
必要がなくなるため、慣性遅延のモデルに従う論理シミ
ュレーションの処理を高速に行うことが可能になる。
According to the present invention, since it is not necessary to search for an invalid event from the already registered events at the time of event registration, it is possible to perform the logic simulation process according to the inertial delay model at high speed. Become.

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

【図1】本発明を用いた論理シミュレーションの処理を
表すフローチャート。
FIG. 1 is a flowchart showing a process of a logic simulation using the present invention.

【図2】本発明による論理シミュレーションの処理のう
ちイベントの伝播を行う処理を表すフローチャート。
FIG. 2 is a flowchart showing a process of propagating an event in the process of the logic simulation according to the present invention.

【図3】本発明による論理シミュレーションの処理のう
ち新たなイベントを登録する処理を表すフローチャー
ト。
FIG. 3 is a flowchart showing a process of registering a new event in the process of the logic simulation according to the present invention.

【図4】本発明の動作を説明する際に用いる論理回路
図。
FIG. 4 is a logic circuit diagram used to explain the operation of the present invention.

【図5】本発明による論理シミュレーションに必要なテ
ーブルを表す説明図。
FIG. 5 is an explanatory diagram showing a table required for logic simulation according to the present invention.

【図6】時刻0におけるタイミングチャート(a)と主
要なテーブルの状態を示す説明図(b)。
FIG. 6 is a timing chart (a) at time 0 and an explanatory diagram (b) showing states of main tables.

【図7】時刻0の処理が終了した段階のタイミングチャ
ート(a)と主要なテーブルの状態を示す説明図
(b)。
FIG. 7 is a timing chart (a) at the stage when the processing at time 0 is completed and an explanatory diagram (b) showing the states of main tables.

【図8】時刻4におけるタイミングチャート(a)と主
要なテーブルの状態を示す説明図。
FIG. 8 is an explanatory diagram showing a timing chart (a) at time 4 and states of main tables.

【図9】時刻5におけるタイミングチャート(a)と主
要なテーブルの状態を示す説明図(b)。
FIG. 9 is a timing chart (a) at time 5 and an explanatory diagram (b) showing states of main tables.

【図10】時刻10におけるタイミングチャート(a)
と主要なテーブルの状態を示す説明図。
FIG. 10 is a timing chart at time 10 (a).
An explanatory view showing the states of the main tables.

【図11】時刻11におけるタイミングチャート(a)
と主要なテーブルの状態を示す説明図(b)。
FIG. 11 is a timing chart at time 11 (a).
And (b) an explanatory view showing states of main tables.

【図12】本発明の実施例を行うシステムの構成を表す
説明図。
FIG. 12 is an explanatory diagram showing the configuration of a system for carrying out an embodiment of the present invention.

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

11…シミュレーションの初期設定処理、12…現在時
刻に処理するイベントのリストの作成処理、13…無効
イベントの削除とイベント伝播処理、14…イベントが
伝播した素子の出力に接続する素子のリストの作成処
理、15…新しいイベントの登録処理、16…現在時刻
を進める、17…シミュレーションの終了判定。
11 ... Simulation initialization processing, 12 ... Creation processing of list of events to be processed at the current time, 13 ... Removal of invalid event and event propagation processing, 14 ... Creation of list of elements connected to output of element where event propagated Processing, 15 ... Registration processing of new event, 16 ... Advance current time, 17 ... Judgment of simulation end.

Claims (1)

【特許請求の範囲】[Claims] 【請求項1】信号値のディレイ時間を考慮する論理シミ
ュレーションにおいて、 論理素子の情報として前記論理素子の出力値と、伝播予
定出力値と、伝播予定時刻とを持ち、論理素子の前記出
力値の変化の情報として、論理素子識別子と、伝播時刻
と、伝播信号値とを持ち、 ある論理素子について、将来伝播する新しい出力値が求
まった際に、前記伝播予定出力値と前記新しい出力値が
異なれば、前記伝播予定出力値を前記新しい出力値に書
替え、さらに前記伝播予定時刻が現在のシミュレーショ
ン時刻と等しいか小さいか、または前記新しい出力値と
前記出力値が異なる場合に前記シミュレーション時刻と
前記論理素子の遅延時間を加えた値を新しい伝播予定時
刻として書き込み、前記論理素子の識別子,前記新しい
伝播予定時刻,前記新しい出力値をそれぞれ前記論理素
子識別子,前記イベント評価時刻,前記伝播信号値とす
る新しいイベントを登録し、前記伝播予定時刻が前記シ
ミュレーション時刻より大きく、かつ前記新しい出力値
と前記出力値が等しい場合に前記伝播予定時刻を前記シ
ミュレーション時刻以前の時刻に書替え、 その後、イベントの内容を前記出力値に伝播する際に、
出力値にイベントが伝播する論理素子の前記伝播予定時
刻と現在のシミュレーション時刻が等しい場合に、前記
出力値を前記伝播信号値に書換え、それ以外のイベント
は無効とすることを特徴とするディレイ考慮論理シミュ
レーション方法。
1. A logic simulation in which a delay time of a signal value is taken into consideration, wherein an output value of the logic element, a planned propagation output value, and a planned propagation time are provided as information of the logic element, and the output value of the logic element The change information has a logic element identifier, a propagation time, and a propagation signal value.When a new output value to be propagated in the future is obtained for a certain logic element, the planned propagation output value and the new output value are different from each other. For example, rewriting the planned propagation output value to the new output value, and further, if the planned propagation time is equal to or smaller than the current simulation time, or if the new output value and the output value are different, the simulation time and the logic A value obtained by adding the delay time of the element is written as a new expected propagation time, and the identifier of the logic element, the new expected propagation time, the When a new event having a new output value as the logic element identifier, the event evaluation time, and the propagation signal value is registered, the scheduled propagation time is larger than the simulation time, and the new output value and the output value are equal. When the propagation scheduled time is rewritten to a time before the simulation time, and then when the content of the event is propagated to the output value,
Delay consideration characterized by rewriting the output value to the propagation signal value when the scheduled propagation time of the logic element through which the event propagates to the output value is equal to the current simulation time, and invalidating other events Logical simulation method.
JP4002752A 1992-01-10 1992-01-10 Logical simulation method taking delay into consideration Pending JPH05189513A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP4002752A JPH05189513A (en) 1992-01-10 1992-01-10 Logical simulation method taking delay into consideration

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP4002752A JPH05189513A (en) 1992-01-10 1992-01-10 Logical simulation method taking delay into consideration

Publications (1)

Publication Number Publication Date
JPH05189513A true JPH05189513A (en) 1993-07-30

Family

ID=11538082

Family Applications (1)

Application Number Title Priority Date Filing Date
JP4002752A Pending JPH05189513A (en) 1992-01-10 1992-01-10 Logical simulation method taking delay into consideration

Country Status (1)

Country Link
JP (1) JPH05189513A (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH08129565A (en) * 1994-11-02 1996-05-21 Nec Corp Logical simulation method

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH08129565A (en) * 1994-11-02 1996-05-21 Nec Corp Logical simulation method

Similar Documents

Publication Publication Date Title
US5513339A (en) Concurrent fault simulation of circuits with both logic elements and functional circuits
US8875082B1 (en) System and method for detecting and prescribing physical corrections for timing violations in pruned timing data for electronic circuit design defined by physical implementation data
US7117466B2 (en) System and method for correlated process pessimism removal for static timing analysis
US4937765A (en) Method and apparatus for estimating fault coverage
Salz et al. IRSIM: An incremental MOS switch-level simulator
US5467462A (en) Event driven logic simulator for partial simulation
US10031986B1 (en) System and method for creating a spice deck for path-based analysis of an electronic circuit design using a stage-based technique
US5845064A (en) Method for testing and verification of a CPU using a reference model
US20060130029A1 (en) Programming language model generating apparatus for hardware verification, programming language model generating method for hardware verification, computer system, hardware simulation method, control program and computer-readable storage medium
US8402405B1 (en) System and method for correcting gate-level simulation accuracy when unknowns exist
JP3851357B2 (en) Timing characteristic extraction method for transistor circuit, storage medium storing timing characteristic library, LSI design method, and gate extraction method
Ulrich et al. High-speed concurrent fault simulation with vectors and scalars
US6725187B1 (en) Latch inference using dataflow analysis
Ulrich et al. Concurrent and comparative discrete event simulation
US9058452B1 (en) Systems and methods for tracing and fixing unknowns in gate-level simulation
US20220327269A1 (en) Computing device and method for detecting clock domain crossing violation in design of memory device
US11263376B1 (en) System and method for fixing unknowns when simulating nested clock gaters
JPH05189513A (en) Logical simulation method taking delay into consideration
US6339751B1 (en) Circuit design support apparatus and a method
JP2970600B2 (en) Logic simulation method
US20240086602A1 (en) Clock relationship based re-convergence analysis
JP3654941B2 (en) Logic simulation method and logic simulator
JPH052620A (en) Device and method for circuit fault simulation test
JP2729061B2 (en) Zero-delay operation processing method for simulation equipment
JPH08180083A (en) Method and system for evaluating logic verification sufficiency