JP2723297B2 - Timing verification processing method - Google Patents
Timing verification processing methodInfo
- Publication number
- JP2723297B2 JP2723297B2 JP1156568A JP15656889A JP2723297B2 JP 2723297 B2 JP2723297 B2 JP 2723297B2 JP 1156568 A JP1156568 A JP 1156568A JP 15656889 A JP15656889 A JP 15656889A JP 2723297 B2 JP2723297 B2 JP 2723297B2
- Authority
- JP
- Japan
- Prior art keywords
- timing
- check
- event
- time
- net
- 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
【発明の詳細な説明】 〔概要〕 論理シミュレーションにおけるタイミング・ベリフィ
ケーション処理方式に関し、 タイミングのチェックを高速かつ効率的に処理できる
ようにすることを目的とし、 チェックプリミティブが組み込まれたモデル回路に論
理シミュレーションを実行することでタイミングを検証
する処理方式において、モデル回路の各ネット毎に最も
現時刻の近くで発生したイベントの発生時刻を管理する
イベントメモリと、チェックプリミティブの各入力ネッ
ト毎にどの入力ネットを検索すればよいのかを管理する
検索テーブルと、チェックプリミティブの入力ネットに
イベントが発生するときに、検索テーブルに従ってイベ
ントメモリを検索することで1つ又は複数のイベント発
生時刻を特定する手段と、特定される発生時刻と現時刻
との遷移時刻差を算出する手段と、算出される遷移時刻
差から1つ又は複数のタイミング時刻差を求めて対応す
る基準値と比較することでタイミングの異常を検出する
手段とを備えるよう構成する。DETAILED DESCRIPTION OF THE INVENTION [Summary] The present invention relates to a timing verification processing method in logic simulation, which aims to enable high-speed and efficient processing of timing checks, and to a model circuit incorporating check primitives. In a processing method for verifying timing by executing a logic simulation, an event memory that manages the occurrence time of an event that occurred closest to the current time for each net of the model circuit, and a check method for each input net of a check primitive Search table for managing whether to search an input net, and means for specifying one or more event occurrence times by searching an event memory according to the search table when an event occurs in the input net of the check primitive And when the occurrence occurs Means for calculating a transition time difference between the time and the current time, and means for detecting one or more timing time differences from the calculated transition time difference and comparing with a corresponding reference value to detect a timing abnormality. It comprises so that it may be provided.
本発明は、設計された論理回路のタイミングを検証す
るための論理シミュレーションにおけるタイミング・ベ
リフィケーション処理方式に関し、特に、タイミングの
チェックを高速かつ効率的に処理できるようにするタイ
ミング・ベリフィケーション処理方式に関するものであ
る。The present invention relates to a timing verification processing method in a logic simulation for verifying the timing of a designed logic circuit, and more particularly, to a timing verification processing method capable of processing a timing check at high speed and efficiently. It is about the method.
論理シミュレーションでは、設計された論理回路のパ
ルス幅が十分なものであるのか否かや、セットアップ時
間が十分なものであるのか否かや、ホールド時間が十分
なものであるのか否かや、ディレイオーバとなっている
のか否かや、レーシングとなっているのか否か等のタイ
ミングのチェック処理を行うことになる。このタイミン
グのチェック処理は、高速かつ効率的に実行されるよう
構成していく必要がある。In the logic simulation, the pulse width of the designed logic circuit is sufficient, whether the setup time is sufficient, whether the hold time is sufficient, A timing check process is performed to determine whether or not the vehicle is over or whether or not the vehicle is racing. This timing check process needs to be configured to be executed quickly and efficiently.
従来では、論理シミュレーションにおけるタイミング
のチェック処理は、チェック項目毎の検証処理を実行す
るプリミティブを設けるよう構成して、個々のプリミテ
ィブに従ってタイミングのチェックを実行するよう構成
していた。ここで、プリミティブとは、論理ハードロジ
ックの基本単位に相当するもので、入力と出力との演算
関係が定義されることでシミュレーション演算の基本単
位をなすものである。Conventionally, a timing check process in a logic simulation is configured to provide a primitive for executing a verification process for each check item, and to perform a timing check according to each primitive. Here, the primitive corresponds to a basic unit of a logical hardware logic, and defines a calculation relationship between an input and an output and forms a basic unit of a simulation calculation.
しかしながら、このような従来技術では、個々のプリ
ミティブに従ってタイミングのチェックを行うことか
ら、ソフト的にはシミュレーション処理時間が増大する
という問題点があるとともに、ハード的には物量が増大
するという問題点があった。従って、論理シミュレーシ
ョンにおけるタイミングのチェック処理を高速で実行で
きないとともに、効率的に実行できないという問題点が
あったのである。However, in such a conventional technique, since the timing is checked according to each primitive, there is a problem that the simulation processing time increases in terms of software, and a problem that the physical quantity increases in terms of hardware. there were. Therefore, there has been a problem that the timing check processing in the logic simulation cannot be executed at high speed and cannot be executed efficiently.
本発明はかかる事情に鑑みてなされたものであって、
設計された論理回路のタイミングを高速かつ効率的に実
行できるようにする新たなタイミング・ベリフィケーシ
ョン処理方式の提供を目的とするものである。The present invention has been made in view of such circumstances,
It is an object of the present invention to provide a new timing verification processing method that enables high-speed and efficient execution of the timing of a designed logic circuit.
第1図は本発明の原理構成図である。 FIG. 1 is a diagram illustrating the principle of the present invention.
図中、1はシミュレーションエンジンであって、ハー
ドウェアにより構成されて本発明を実装するもの、10は
シミュレーション実行手段であってイベントドリブン法
に従って論理回路のシミュレーション処理を実行するも
の、11はモデル回路管理手段であって、論理回路にチェ
ックプリミティブを組み込むことで作成されるタイミン
グチェックモデル回路についての回路記述データ(回路
接続や遅延データや演算種別等)を管理するもの、12は
タイムホイールであって、論理回路の遅延動作に従って
発生することが予定される内部イベントを管理するも
の、13は入力パターン管理手段であって、論理回路の入
力段に入力される外部イベントの時系列データを管理す
るもの、14はタイミングチェック実行手段であって、チ
ェックプリミティブのシミュレーション演算を実行する
ことで論理回路のタイミングの検証処理を実行するも
の、15はイベントメモリであって、タイミングチェック
モデル回路の各ネット毎に、最も現時刻の近くで発生し
たイベントの発生時刻を管理するもの、16は入力イベン
トフラグメモリであって、タイミングチェックモデル回
路の各ネット毎に、現時刻においてイベントが発生して
いるのか否かを管理するもの、17は検索テーブルであっ
て、チェックプリミティブの各入力ネット毎に、入力ネ
ットの内のどの入力ネットを検索すればよいのかを管理
するもの、18は前イベント発生時刻特定手段であって、
検索テーブル17に従ってイベントメモリ15を検索するこ
とで1つ又は複数の対応するイベント発生時刻を特定す
るもの、19は減算手段であって、前イベント発生時刻特
定手段18により特定されるイベント発生時刻と現時刻と
の遷移時刻差を算出するもの、20はラッチ手段であっ
て、減算手段19により求められる遷移時刻差を保持する
もの、21はタイミング判定手段であって、ラッチされる
遷移時刻差からタイミングの検証のために必要となるタ
イミング時刻差を求めて基準チェックと比較することで
タイミングの異常を検出するものである。In the figure, reference numeral 1 denotes a simulation engine which is configured by hardware and implements the present invention, 10 denotes a simulation execution means which executes simulation processing of a logic circuit according to an event driven method, and 11 denotes a model circuit. Management means for managing circuit description data (circuit connection, delay data, operation type, etc.) of a timing check model circuit created by incorporating a check primitive into a logic circuit; and 12, a time wheel , An internal pattern management means for managing an internal event expected to occur in accordance with the delay operation of the logic circuit; and 13, an input pattern management means for managing time-series data of an external event input to an input stage of the logic circuit , 14 are timing check execution means, which check the A logic circuit for performing a verification process of the timing of the logic circuit by executing a calculation operation, and 15 is an event memory, for each net of the timing check model circuit, for determining an occurrence time of an event occurring closest to the current time. 16 is an input event flag memory for managing whether or not an event has occurred at the current time for each net of the timing check model circuit, and 17 is a search table for checking For each input net of primitives, which manages which input net of the input nets should be searched, 18 is a previous event occurrence time specifying means,
One that specifies one or more corresponding event occurrence times by searching the event memory 15 according to the search table 17, 19 is a subtraction unit, and the event occurrence time identified by the previous event occurrence time identification unit 18 is The one that calculates the transition time difference from the current time, 20 is a latch means, which holds the transition time difference obtained by the subtraction means 19, and 21 is the timing determination means, which is based on the latched transition time difference. An abnormality in timing is detected by obtaining a timing time difference required for timing verification and comparing the difference with a reference check.
本発明では、シミュレーション実行手段10は、モデル
回路管理手段11、タイムホイール12及び入力パターン管
理手段13を参照しながらタイミングチェックモデル回路
に対して論理シミュレーションを実行していくことで、
タイミングチェックモデル回路の各ネットにおける現時
刻のイベントの発生状態を求めると、イベントメモリ15
及び入力イベントフラグメモリ16を更新してタイミング
チェック実行手段14を起動する。In the present invention, the simulation execution unit 10 executes a logic simulation on the timing check model circuit while referring to the model circuit management unit 11, the time wheel 12, and the input pattern management unit 13,
When the occurrence state of the event at the current time in each net of the timing check model circuit is obtained, the event memory 15
Then, the input event flag memory 16 is updated and the timing check execution means 14 is started.
このようにして起動されると、タイミングチェック実
行手段14の前イベント発生時刻特定手段18は、先ず最初
に、入力イベントフラグメモリ16を参照することで現時
刻において入力ネットにイベントの発生したチェックプ
リミティブを検出する。次に、このチェックプリミティ
ブのイベントの発生した入力ネットをキーにして検索テ
ーブル17を検索することで、イベントの発生した入力ネ
ットに関係付けられる1つ又は複数の入力ネットを検索
し、続いて、この検索された1つ又は複数の入力ネット
をキーにしてイベントメモリ15を検索することで、1つ
又は複数の対応するイベント発生時刻を特定して読み出
す。When started in this way, the previous event occurrence time specifying means 18 of the timing check executing means 14 first refers to the input event flag memory 16 to check for the check primitive in which the event has occurred in the input net at the current time. Is detected. Next, by searching the search table 17 using the input net where the event of the check primitive has occurred as a key, one or more input nets related to the input net where the event has occurred are searched, By searching the event memory 15 using one or more of the searched input nets as a key, one or more corresponding event occurrence times are specified and read.
イベントメモリ15から1つ又は複数の対応するイベン
ト発生時刻が読み出されると、減算手段19は、現時刻と
の差分値を算出することで遷移時刻差を求めてラッチ手
段20に格納する。そして、タイミング判定手段21は、ラ
ッチ手段20に格納されている遷移時刻差を直接使用する
とか、あるいは格納されている遷移時刻差の間で差分値
を算出するとかして、論理回路のタイミングの検証のた
めに必要となる1つ又は複数のタイミング時刻差を求め
るるともに、この求められたタイミング時刻差を対応す
る基準値と比較することでタイミングの異常の有無を検
出して、チェックプリミティブの出力として出力する。When one or a plurality of corresponding event occurrence times are read from the event memory 15, the subtraction means 19 calculates a difference value from the current time to obtain a transition time difference and stores the difference in the latch means 20. The timing determination unit 21 verifies the timing of the logic circuit by directly using the transition time difference stored in the latch unit 20 or calculating a difference value between the stored transition time differences. One or a plurality of timing time differences required for the operation, and comparing the obtained timing time difference with a corresponding reference value to detect the presence / absence of a timing abnormality and to output a check primitive. Output as
このように、本発明によれば、1つのチェックプリミ
ティブに従って複数の種類のタイミングの検証を実現で
きるようになることから、論理シミュレーションにおけ
るタイミングの検証処理を高速かつ効率的に処理できる
ようになるのである。As described above, according to the present invention, a plurality of types of timing verification can be realized according to one check primitive, so that the timing verification processing in the logic simulation can be performed at high speed and efficiently. is there.
以下、実施例に従って本発明を詳細に説明する。 Hereinafter, the present invention will be described in detail with reference to examples.
第2図に、本発明を実装するシミュレーションエンジ
ンのシステム構成を示す。図中、1がシミュレーション
エンジン、2はシミュレーションエンジン1を起動する
ために設けられるワークステーション、3はシミュレー
ションエンジン1とワークステーションとの間を接続す
るバスである。シミュレーションエンジン1は、コント
ロールプロセッサ101、インプットプロセッサ102、ゲー
トプロセッサ103〜106、アウトプットプロセッサ107及
び内部バス108から構成される。FIG. 2 shows a system configuration of a simulation engine implementing the present invention. In the figure, 1 is a simulation engine, 2 is a workstation provided for activating the simulation engine 1, and 3 is a bus connecting between the simulation engine 1 and the workstation. The simulation engine 1 includes a control processor 101, an input processor 102, gate processors 103 to 106, an output processor 107, and an internal bus 108.
このコントロールプロセッサ101は、ワークステーシ
ョン2から設定される外部イベント等のインタフェース
制御を実行するとともに、インプットプロセッサ102、
ゲートプロセッサ103〜106及びアウトプットプロセッサ
107の制御を実行し、インプットプロセッサ102は、シミ
ュレーション処理の時間管理機能を備えて、現時刻にお
ける内部イベント(タイムホイールに登録されているイ
ベント)及び外部イベントの読出処理を実行し、ゲート
プロセッサ103は、インプットプロセッサ102により読み
出される全イベントに従ってシミュレーション対象の論
理回路のネット値を更新し、ゲートプロセッサ104は、
ファンアウト展開を実行し、ゲートプロセッサ105は、
ファンイン抽出を実行し、ゲートプロセッサ106は、ゲ
ートプロセッサ105から供給されるネット番号とネット
値とからゲートの論理演算を実行し、アウトプットプロ
セッサ107は、イベントデータの作成処理を実行する。The control processor 101 executes interface control such as an external event set from the workstation 2, and controls the input processor 102,
Gate processor 103-106 and output processor
The input processor 102 executes the control of 107 and has a time management function of the simulation process, executes the reading process of the internal event (the event registered in the time wheel) and the external event at the current time, and executes the gate processor 103. Updates the net value of the logic circuit to be simulated according to all events read by the input processor 102, and the gate processor 104
Perform a fan-out deployment and gate processor 105
The fan-in extraction is executed, the gate processor 106 executes a logical operation of the gate from the net number and the net value supplied from the gate processor 105, and the output processor 107 executes a process of creating event data.
本発明では、第1図でも説明したように、シミュレー
ション演算の基本単位となるプリミティブの1つとして
複数の検査項目に関してのタイミングの検証処理を行う
チェックプリミティブを定義して、この定義したチェッ
クプリミティブをシミュレーション対象の論理回路に組
み込むことでタイミングチェックモデル回路を作成する
とともに、この作成されたタイミングチェックモデル回
路に対して論理シミュレーションを実行することで論理
回路のタイミングの検証を効率的に実行するよう構成す
るものである。これから、タイミングの検証処理は、シ
ミュレーション演算の処理の1つとしてゲートプロセッ
サ106によって実行されることになる。In the present invention, as described in FIG. 1, a check primitive for performing timing verification processing on a plurality of inspection items is defined as one of primitives serving as a basic unit of a simulation operation, and the defined check primitive is defined as a primitive. A timing check model circuit is created by incorporating it into a logic circuit to be simulated, and a logic simulation is performed on the created timing check model circuit to efficiently execute timing verification of the logic circuit. Is what you do. Thus, the timing verification process is executed by the gate processor 106 as one of the simulation calculation processes.
第3図に、2回路のラッチ系に対して定義されるチェ
ックプリミティブを図示するとともに、第4図に、ラッ
チ回路Aとラッチ回路Bという2回路のラッチ系に対し
てこのチェックプリミティブを組み込むことで作成され
るタイミングチェックモデル回路を図示する。この図に
示すように、チェックプリミティブは、タイミングの検
証を必要とする論理回路単位に対応させて用意されて、
組み込まれる論理回路単位の入出力ネットを入力とし、
他の論理回路単位に接続されない検証端子を出力とする
もので、組み込まれる論理回路単位の機能に従って定義
されるタイミングの検証処理の演算機能が割り付けられ
るものである。以下、説明の便宜上、この2回路のラッ
チ系に対して定義される第3図のチェックプリミティブ
をチェックプリミティブ4として識別することにする。FIG. 3 shows a check primitive defined for a two-circuit latch system, and FIG. 4 shows the incorporation of this check primitive for a two-circuit latch system, a latch circuit A and a latch circuit B. 2 shows a timing check model circuit created by the step (a). As shown in this figure, the check primitive is prepared corresponding to a logic circuit unit that requires timing verification,
The input / output net of the logic circuit unit to be incorporated is taken as input,
The output is a verification terminal that is not connected to another logic circuit unit, and an arithmetic function of timing verification processing defined according to the function of the incorporated logic circuit unit is assigned. Hereinafter, for convenience of explanation, the check primitive defined in FIG. 3 defined for the two-circuit latch system will be identified as a check primitive 4.
この割り付けられる検証処理の演算機能に従って、チ
ェックプリミティブ4は、2回路のラッチ系が検証を必
要としているセットアップ時間、ホールド時間、パルス
幅、レーシング、ディレイオーバといったタイミングの
検証処理を1つのチェックプリミティブ4により実行す
るよう処理することになる。第5図に、これらのセット
アップ時間、ホールド時間、パルス幅、レーシング、デ
ィレイオーバについての正常/異常の判断内容を図示す
る。図中、例えば、 CLK1−D1 は、現時刻にチェックプリミティブ4の“CLK1"ネット
にイベントが発生するときに、現時刻とチェックプリミ
ティブ4の“D1"ネットの最も現時刻の近くで発生した
イベント発生時刻との時刻差を算出することを示してお
り、“CLK1(H)”はチェックプリミティブ4の“CLK
1"ネットの立ち上がりのイベント、“CLK1(L)”はチ
ェックプリミティブ4の“CLK1"ネットの立ち下がりの
イベントを示している。According to the arithmetic function of the assigned verification processing, the check primitive 4 performs the verification processing of the timing such as the setup time, the hold time, the pulse width, the racing, and the delay over which the two latch circuits need to verify, in one check primitive 4. To be executed. FIG. 5 shows the judgment contents of the set-up time, the hold time, the pulse width, the racing and the delay over as normal / abnormal. In the drawing, for example, when an event occurs on the “CLK1” net of the check primitive 4 at the current time, CLK1−D1 is an event that occurs closest to the current time on the “D1” net of the check primitive 4 The time difference from the occurrence time is calculated, and “CLK1 (H)” is “CLK1 (H)” of the check primitive 4.
The “1” net rising event, “CLK1 (L)” indicates the falling event of the “CLK1” net of the check primitive 4.
次に、第3図のチェックプリミティブ4に割り付けら
れるタイミングの検証処理の演算機能を実現するための
実施例について詳細に説明する。Next, an embodiment for realizing the calculation function of the verification processing of the timing assigned to the check primitive 4 in FIG. 3 will be described in detail.
第6図及び第7図にこの実施例構成を示す。ここで、
第6図の実施例は、第5図の(1)ないし(3)に判断
基準を示したセットアップ時間、ホールド時間、パルス
幅についての検証処理を実現するための実施例であり、
第7図の実施例は、第5図の(4)ないし(6)に判断
基準を示したレーシング、ディレイオーバ、セットアッ
プ時間についての検証処理を実現するための実施例であ
る。6 and 7 show the configuration of this embodiment. here,
The embodiment of FIG. 6 is an embodiment for realizing a verification process for the set-up time, the hold time, and the pulse width shown in (1) to (3) of FIG.
The embodiment of FIG. 7 is an embodiment for realizing verification processing for racing, delay over, and set-up time, the criteria of which are shown in (4) to (6) of FIG.
最初に、第6図の実施例について説明する。図中、15
は第1図で説明したイベントメモリ、16は第1図で説明
した入力イベントフラグメモリ、17aは第1図で説明し
た検索テーブル17に対応するタイミングチェックテーブ
ルである。イベントメモリ15は、第8図に示すように、
最も現時刻の近くで発生したイベントの発生時刻である
Tpcを、タイミングチェックモデル回路の例えば50万ゲ
ート分の各ネット毎に管理する。また、このイベントメ
モリ15は、Tpc以外にも、論理シミュレーション処理の
ために必要とされるセットリングのイベント時刻やトラ
ンジションのイベント時刻等も管理する。First, the embodiment of FIG. 6 will be described. In the figure, 15
Is an event memory described in FIG. 1, 16 is an input event flag memory described in FIG. 1, and 17a is a timing check table corresponding to the search table 17 described in FIG. The event memory 15, as shown in FIG.
The time of the event that occurred closest to the current time
T pc is managed for each net of, for example, 500,000 gates of the timing check model circuit. Also, the event memory 15, in addition to T pc, also manage event time and transitions event time or the like of settling required for the logic simulation process.
入力イベントフラグメモリ16は、第9図に示すよう
に、現時刻において各入力ネットにイベントが発生して
いるのか否かをイベントの種別(立ち上がり・立ち下が
り)とともに管理する。ここで、この第9図の実施例で
は、タイミングチェックモデル回路が例えば4入力を基
本とする論理回路に従って構成されていることを想定し
ている。As shown in FIG. 9, the input event flag memory 16 manages whether or not an event has occurred in each input net at the current time, together with the type of event (rising / falling). Here, in the embodiment of FIG. 9, it is assumed that the timing check model circuit is configured according to a logic circuit based on, for example, four inputs.
タイミングチェックテーブル17aは、第10図に示すよ
うに、現時刻においてチェックプリミティブ4の入力ネ
ットにイベントが発生するときに、イベントメモリ15か
らそのチェックプリミティブ4のどの入力ネットのTpc
を読み出せばよいのかということを管理する。ここで、
図中では現時刻をTcで示してある。具体的に説明するな
らば、現時刻において“CLK1"ネットにイベントが発生
するときには、このタイミングチェックテーブル17aに
従って、イベントメモリ15から“CLK1"ネットのTpcと、
“D1"ネットのTpcとが読み出されることになる。更に詳
細に説明するならば、このタイミングチェックテーブル
17aは、第11図に示すように、読み出されるTpcが如何な
るタイミングの検証処理に係るものであるのかも管理し
ている。すなわち、現時刻において“CLK1"ネットにイ
ベントが発生することで“CLK1"ネットのTpcが読み出さ
れるときには、“CLK1"ネットのパルス幅の検証が実行
されることになることを意味し、また、現時刻において
“CLK1"ネットにイベントが発生することで“D1"ネット
のTpcが読み出されるときには、ラッチ回路Aのセット
アップ時間の検証が実行されることになることを意味し
ているということも管理することになる。As shown in FIG. 10, when an event occurs in the input net of the check primitive 4 at the current time, the timing check table 17a stores the T pc of any input net of the check primitive 4 from the event memory 15.
Is read out. here,
In the figure, the current time is indicated by Tc . If specifically described, when the event occurs "CLK1" Internet at the present time, in accordance with the timing check table 17a, and T pc of "CLK1" net from the event memory 15,
"D1" will be a net of T pc is read. To explain in more detail, this timing check table
17a also manages at what timing the read Tpc is related to the verification process, as shown in FIG. That is, when the T pc of "CLK1" net by event "CLK1" net at the current time is generated is read, which means that the "CLK1" to verify the pulse width of the net is performed, also , the fact that when the "D1" net T pc is read by an event occurs "CLK1" net at the current time, which means that it will set up the time verification of the latch circuit a is performed Will also be managed.
以上に説明したタイミングチェックテーブル17aの管
理内容から分かるように、第10図のタイミングチェック
テーブル17aの該当する箇所にフラグを立てるか否かで
処理対象となるチェックプリミティブ4に関してのタイ
ミングの検証項目が決定されることになる。これから、
ワークステーション2は、例えば、セットアップ時間、
ホールド時間等を表示する第12図に示すような設定画面
をディスプレイ画面上に表示させて、オペレータに対し
てタイミングの検証項目を設定させるよう処理すること
になる。As can be seen from the management contents of the timing check table 17a described above, the timing verification items for the check primitive 4 to be processed depend on whether or not a flag is set in the corresponding portion of the timing check table 17a in FIG. Will be determined. from now on,
The workstation 2 has, for example, setup time,
A setting screen as shown in FIG. 12 for displaying the hold time and the like is displayed on the display screen, and the processing is performed so that the operator can set the timing verification items.
第6図に戻って説明するならば、30は入力ネットアド
レスメモリであって、各チェックプリミティブ4の入力
ネットについてのTpc情報がイベントメモリ15のどのア
ドレスに格納されているのかを管理するもの、31は4個
のレジスタからなる入力ネットアドレスレジスタであっ
て、入力ネットアドレスメモリ30から読み出される処理
対象のチェックプリミティブ4の入力ネットのアドレス
情報を格納するもの、32はマルチプレクサであって、入
力ネットアドレスレジスタ31のいずれか1つを選択して
イベントメモリ15からTpc情報を読み出すもの、33はタ
イミングチェック制御部であって、タイミングチェック
テーブル17aに従ってマルチプレクサ32を制御すること
でイベントメモリ15から読み出すTpc情報の制御を実行
するもの、34はTcレジスタであって、現時刻Tcを格納す
るもの、35はTpcレジスタであって、イベントメモリ15
から読み出されるイベントの発生時刻であるTpcを格納
するもの、36は減算器であって、Tcレジスタ34のTcとT
pcレジスタ35のTpcとの差分値を算出して遷移時刻差を
求めるもの、37は遷移時刻差レジスタであって、減算器
36により求められた遷移時刻差を格納するもの、38はタ
イミング基準値メモリであって、タイミングの検証処理
のために必要となるセットアップ時間、ホールド時間及
びパルス幅の基準値を、タイミングチェックモデル回路
の各ネット対応で管理するもの、39はコンパレータであ
って、遷移時刻差レジスタ37の遷移時刻差とタイミング
基準値メモリ38から読み出される対応の基準値とを比較
することで、タイミングの検証処理を実行するもの、40
は判定レジスタであって、コンパレータ39の判定結果を
格納するものである。Referring back to FIG. 6, reference numeral 30 denotes an input net address memory which manages at which address in the event memory 15 the Tpc information on the input net of each check primitive 4 is stored. , 31 are input net address registers consisting of four registers, which store the address information of the input net of the check primitive 4 to be processed read from the input net address memory 30, and 32 is a multiplexer, The one which selects any one of the net address registers 31 and reads out Tpc information from the event memory 15, a timing check control unit 33 controls the multiplexer 32 according to the timing check table 17 a to read out the Tpc information from the event memory 15. The one that controls the Tpc information to be read, 34 is a Tc register , The current time Tc , 35 is a T pc register, and stores the event memory 15
A subtractor 36 stores T pc , which is the time of occurrence of an event read out from the T c and T c of the T c register 34.
A transition time difference is obtained by calculating a difference value from T pc of the pc register 35, and a transition time difference register 37 is a subtractor.
The reference time memory 38 stores a transition time difference obtained by 36, and stores a reference value of a setup time, a hold time, and a pulse width required for a timing verification process in a timing check model circuit. 39 is a comparator that manages each of the nets, and compares the transition time difference of the transition time difference register 37 with the corresponding reference value read from the timing reference value memory 38 to perform a timing verification process. What to do, 40
Is a judgment register for storing the judgment result of the comparator 39.
タイミングチェックモデル回路に対しての論理シミュ
レーションが実行されることで、イベントメモリ15に現
時刻におけるTpc情報が格納されるとともに、入力イベ
ントフラグメモリ16に現時刻におけるイベントの発生情
報が格納されると、タイミングチェック制御部33は、先
ず最初に、入力イベントフラグメモリ16を参照すること
で現時刻において入力ネットにイベントの発生したチェ
ックプリミティブ4を検出してその1つを特定するとと
もに、この特定されたチェックプリミティブ4を入力ネ
ットアドレスレジスタ31に通知することで、入力ネット
アドレスレジスタ31に特定されたチェックプリミティブ
4の入力ネットに関してのアドレス情報を格納する。By executing the logic simulation on the timing check model circuit, the Tpc information at the current time is stored in the event memory 15 and the event occurrence information at the current time is stored in the input event flag memory 16. First, the timing check control unit 33 first detects the check primitive 4 in which the event has occurred in the input net at the current time by referring to the input event flag memory 16 and specifies one of the check primitives. By notifying the input net address register 31 of the specified check primitive 4, the input net address register 31 stores the address information of the specified check primitive 4 regarding the input net.
次に、タイミングチェック制御部33は、この特定した
チェックプリミティブ4のイベントの発生した入力ネッ
トをキーにしてタイミングチェックテーブル17aを参照
することで、イベントの発生した入力ネットに関係付け
られる1つ又は複数の入力ネットを検索する。この検索
処理により、第10図の例で説明するならば、現時刻にお
いて“CLK1"ネットにイベントが発生するときには、“C
LK1"ネットと“D1"ネットとが検索されることになる。
続いて、タイミングチェック制御部33は、この検索され
た1つ又は複数の入力ネットに対応する入力ネットアド
レスレジスタ31を選択すべくマルチプレクサ32を制御す
ることで、イベントメモリ15から該当するTpc情報を読
み出してTpcレジスタ35に順次格納していく処理を行
う。Next, the timing check control unit 33 refers to the timing check table 17a using the specified input net in which the event of the check primitive 4 has occurred as a key, so that one or more associated with the input net in which the event has occurred. Search multiple input nets. According to the example shown in FIG. 10 by this search processing, when an event occurs on the “CLK1” net at the current time, “C
The "LK1" net and the "D1" net are searched.
Subsequently, the timing check control unit 33 controls the multiplexer 32 to select the input net address register 31 corresponding to the searched one or more input nets, and thereby the corresponding Tpc information from the event memory 15. Is read out and sequentially stored in the Tpc register 35.
このようにしてTpcレジスタ35にTpc情報が格納される
と、減算器36は、順次読み出されるTpc毎に、 Tc−Tpc を算出することで遷移時刻差を求めて遷移時刻差レジス
タ37に格納し、コンパレータ39は、この遷移時刻差レジ
スタ37の遷移時刻差と、タイミング基準値メモリ38から
読み出される対応する基準値とを比較することでタイミ
ングの検証処理を実行する。この処理により、第5図の
(1)ないし(3)に判断基準を示したセットアップ時
間、ホールド時間、パルス幅についての検証処理が実行
されることになる。When the T pc information is stored in the T pc register 35 in this manner, the subtracter 36 calculates the transition time difference by calculating T c −T pc for each sequentially read T pc , and obtains the transition time difference. Stored in the register 37, the comparator 39 performs a timing verification process by comparing the transition time difference of the transition time difference register 37 with a corresponding reference value read from the timing reference value memory 38. By this processing, the verification processing for the setup time, the hold time, and the pulse width indicated by the criterion in (1) to (3) of FIG. 5 is executed.
次に、第5図の(4)ないし(6)に判断基準を示し
たレーシング、ディレイオーバ、セットアップ時間につ
いての検証処理を実現するための第7図の実施例につい
て説明する。Next, a description will be given of an embodiment of FIG. 7 for realizing a verification process for racing, delay over, and set-up time, for which the criteria are shown in (4) to (6) of FIG.
図中、37aはSKEW値レジスタであって、減算器36によ
り求められるSKEW値を格納するもの、37bはDELAY値レジ
スタであって、減算器36により求められるDELAY値を格
納するものである。ここで、SKEWとDELAYとは、第5図
中にも示すように、 DELAY=D2−CLK1 SKEW=CLK2−CLK1 で定義されるものである。38aはタイミング基準値メモ
リ38を構成するホールド時間基準値メモリであって、ラ
ッチBに関してのホールド時間の基準値を格納するも
の、38bはタイミング基準値メモリ38を構成するセット
アップ時間基準値メモリであって、ラッチBに関しての
セットアップ時間の基準値を格納するもの、41は減算器
であって、DELAY値レジスタ37bのDELAY値とSKEW値レジ
スタ37aのSKEW値との差分値を算出することでDF値を求
めるもの、42はDF値レジスタであって、減算器41により
求められたDF値を格納するもの、43は基準値レジスタで
あって、ホールド時間基準値メモリ38a及びセットアッ
プ時間基準値メモリ38bから読み出されるラッチBに関
してのホールド時間及びセットアップ時間の基準値を格
納するもの、44はコンパレータであって、DF値レジスタ
42のDF値と基準値レジスタ43から読み出されるラッチB
に関してのホールド時間の基準値とを比較するもの、45
は比較結果レジスタであって、コンパレータ44の比較結
果を格納するもの、46はコンパレータであって、DF値レ
ジスタ42のDF値と基準値レジスタ43から読み出されるラ
ッチBに関してのセットアップ時間の基準値とを比較す
るもの、47は比較結果レジスタであって、コンパレータ
46の比較結果を格納するもの、48はレーシング異常判定
処理部であって、比較結果レジスタ45の格納データから
レーシング異常なのか否かを判定するもの、49はディレ
イオーバ判定処理部であって、DF値レジスタ42のDF値と
比較結果レジスタ47の格納データとからディレイオーバ
なのか否かを判定するもの、50はセットアップ時間異常
判定処理部であって、DF値レジスタ42のDF値と比較結果
レジスタ47の格納データとからセットアップ時間異常な
のか否かを判定するものである。In the figure, 37a is a SKEW value register for storing the SKEW value obtained by the subtractor 36, and 37b is a DELAY value register for storing the DELAY value obtained by the subtractor 36. Here, SKEW and DELAY are defined by DELAY = D2-CLK1 SKEW = CLK2-CLK1 as shown in FIG. Reference numeral 38a denotes a hold time reference value memory constituting the timing reference value memory 38, which stores the reference value of the hold time for the latch B, and reference numeral 38b denotes a setup time reference value memory constituting the timing reference value memory 38. The reference value of the setup time for the latch B is stored. Reference numeral 41 denotes a subtractor, which calculates a difference value between the DELAY value of the DELAY value register 37b and the SKEW value of the SKEW value register 37a to obtain a DF value. 42 is a DF value register, which stores the DF value obtained by the subtractor 41, 43 is a reference value register, which is obtained from the hold time reference value memory 38a and the setup time reference value memory 38b. 44 stores a reference value of a hold time and a setup time for the latch B to be read, 44 is a comparator, and a DF value register
Latch B read from DF value of 42 and reference value register 43
For comparison with the reference value of the hold time for
Is a comparison result register that stores the comparison result of the comparator 44, and 46 is a comparator that stores the DF value of the DF value register 42 and the reference value of the setup time for the latch B read from the reference value register 43. 47 is a comparison result register for comparing
46 stores a comparison result, 48 is a racing abnormality determination processing unit, which determines whether there is a racing abnormality from data stored in the comparison result register 45, 49 is a delay over determination processing unit, A setup time abnormality determination processing unit 50 determines whether or not a delay is over based on the DF value of the DF value register 42 and the data stored in the comparison result register 47. The data stored in the register 47 is used to determine whether the setup time is abnormal.
第6図の減算器36に従ってSKEW値レジスタ37aにSKEW
値が格納されるとともに、DELAY値レジスタ37bにDELAY
値が格納されると、減算器41は、格納されたDELAY値とS
KEW値との差分値を算出することでDF値を求めてDF値レ
ジスタ42に格納する。一方、このとき、基準値レジスタ
43には、処理対象となっているチェックプリミティブ4
に係るラッチBに関してのホールド時間の基準値とセッ
トアップ時間の基準値とが格納されるよう構成される。SKEW is stored in the SKEW value register 37a according to the subtractor 36 in FIG.
The value is stored and the DELAY value register 37b
When the value is stored, the subtractor 41 calculates the stored DELAY value and S
By calculating a difference value from the KEW value, a DF value is obtained and stored in the DF value register 42. On the other hand, at this time, the reference value register
43 contains the check primitives 4 to be processed
, The reference value of the hold time and the reference value of the setup time for the latch B according to the above are stored.
このようにして、DF値レジスタ42と基準値レジスタ43
に必要なデータが格納されると、コンパレータ44は、DF
値とラッチBに関してのホールド時間の基準値とを比較
するとともに、その比較結果を比較結果レジスタ45に格
納し、レーシング異常判定処理部48は、その比較結果に
従ってレーシング異常であるのか否かを判定する。そし
て、コンパレータ46は、DF値とラッチBに関してのセッ
トアップ時間の基準値とを比較するとともに、その比較
結果を比較結果レジスタ47に格納し、ディレイオーバ判
定処理部49は、その比較結果とDF値の正負とを使って第
5図の(5)の判断基準に従ってディレイオーバである
のか否かを判定し、セットアップ時間異常判定処理部50
は、その比較結果とDF値の正負とを使って第5図の
(6)の判断基準に従ってラッチ回路Bに関してのセッ
トアップ異常であるのか否かを判定する。これらの処理
により、第5図の(4)ないし(6)に判断基準を示し
たレーシング、ディレイオーバ、セットアップ時間につ
いての検証処理が実行されることになる。Thus, the DF value register 42 and the reference value register 43
When the necessary data is stored in the comparator 44, the comparator 44
The value is compared with the reference value of the hold time for the latch B, and the comparison result is stored in the comparison result register 45. The racing abnormality determination processing unit 48 determines whether or not the racing is abnormal according to the comparison result. I do. Then, the comparator 46 compares the DF value with the reference value of the setup time for the latch B, and stores the comparison result in the comparison result register 47. It is determined whether or not the delay is over according to the criterion of (5) in FIG.
Uses the comparison result and the positive / negative of the DF value to determine whether or not a setup abnormality has occurred in the latch circuit B in accordance with the criterion of (6) in FIG. As a result of these processes, verification processes for racing, delay over, and setup time, which are shown in (4) to (6) of FIG. 5, are performed.
このように、本発明によれば、2回路のラッチ系に関
してのセットアップ時間、ホールド時間、パルス幅、レ
ーシング、ディレイオーバ等のタイミングの検証を1つ
のチェックプリミティブ4に従って実行できるようにな
る。As described above, according to the present invention, the verification of the setup time, the hold time, the pulse width, the timing of the racing, the delay over, and the like for the two-circuit latch system can be executed according to one check primitive 4.
図示実施例について説明したが、本発明はこれに限定
されるものではない。例えば、2回路のラッチ系に適用
が限られるものではないのである。Although the illustrated embodiment has been described, the present invention is not limited to this. For example, the application is not limited to a two-circuit latch system.
以上説明したように、本発明によれば、1つのチェッ
クプリミティブに従って複数の種類のタイミングの検証
を実現できるようになることから、論理シミュレーショ
ンにおけるタイミングの検証処理を高速かつ効率的に処
理できるようになる。As described above, according to the present invention, a plurality of types of timing verification can be realized according to one check primitive, so that a timing verification process in a logic simulation can be performed quickly and efficiently. Become.
第1図は本発明の原理構成図、 第2図はシミュレーションエンジンのシステム構成図、 第3図は2回路のラッチ系に対して定義されるチェック
プリミティブの説明図、 第4図は2回路のラッチ系に対して作成されるタイミン
グチェックモデル回路の説明図、 第5図は2回路のラッチ系のタイミングの検証処理の判
断内容の説明図、 第6図及び第7図はタイミングの検証処理の演算機能を
実現するための一実施例、 第8図はイベントメモリのデータ構造の説明図 第9図は入力イベントフラグメモリのデータ構造の説明
図、 第10図及び第11図はタイミングチェックテーブルのデー
タ構造の説明図、 第12図はタイミングチェックテーブルの設定処理のため
に表示する一覧表の説明図である。 図中、1はシミュレーションエンジン、2はワークステ
ーション、10はシミュレーション実行手段、11はモデル
回路管理手段、12はタイムホイール、13は入力パターン
管理手段、14はタイミングチェック実行手段、15はイベ
ントメモリ、16は入力イベントフラグメモリ、17は検索
テーブル、18は前イベント発生時刻特定手段、19は減算
手段、20はラッチ手段、21はタイミング判定手段であ
る。FIG. 1 is a block diagram of the principle of the present invention, FIG. 2 is a diagram of a system configuration of a simulation engine, FIG. 3 is an explanatory diagram of a check primitive defined for a two-circuit latch system, and FIG. FIG. 5 is an explanatory diagram of a timing check model circuit created for a latch system, FIG. 5 is an explanatory diagram of the judgment contents of the verification process of the timing of the latch system of the two circuits, and FIG. 6 and FIG. FIG. 8 is an explanatory diagram of a data structure of an event memory. FIG. 9 is an explanatory diagram of a data structure of an input event flag memory. FIGS. 10 and 11 are diagrams of a timing check table. FIG. 12 is an explanatory diagram of a data structure. FIG. 12 is an explanatory diagram of a list displayed for setting processing of a timing check table. In the figure, 1 is a simulation engine, 2 is a workstation, 10 is a simulation execution unit, 11 is a model circuit management unit, 12 is a time wheel, 13 is an input pattern management unit, 14 is a timing check execution unit, 15 is an event memory, 16 is an input event flag memory, 17 is a search table, 18 is previous event occurrence time specifying means, 19 is subtraction means, 20 is latch means, and 21 is timing determination means.
Claims (1)
位に対応させて用意されて、該論理回路単位の入出力ネ
ットを入力とし、他の論理回路単位に接続されない検証
端子を出力とするチェックプリミティブを定義するとと
もに、該チェックプリミティブを設計された論理回路に
組み込むことでタイミングチェックモデル回路を作成し
て、該タイミングチェックモデル回路に対して論理シミ
ュレーション処理を実行することで、設計された論理回
路のタイミングを検証するタイミング・ベリフィケーシ
ョン処理方式において、 上記タイミングチェックモデル回路の各ネット毎に、最
も現時刻の近くで発生したイベントの発生時刻を管理す
るイベントメモリ(15)と、 上記チェックプリミティブの各入力ネット毎に、該入力
ネットの内のどの入力ネットを検索すればよいのかを管
理する検索テーブル(17)と、 論理シミュレーション処理に従い現時刻において上記チ
ェックプリミティブの入力ネットにイベントが発生する
ときに、上記検索テーブルに従って上記イベントメモリ
を検索することで1つ又は複数の対応するイベント発生
時刻を特定する前イベント発生時刻特定手段(18)と、 該特定されるイベント発生時刻と現時刻との遷移時刻差
を算出する減算手段(19)と、 該算出される遷移時刻差からタイミングの検証のために
必要となる1つ又は複数のタイミング時刻差を求めると
ともに、該タイミング時刻差を対応する基準値と比較す
ることでタイミングの異常の有無を検出して、上記チェ
ックプリミティブの検証端子の出力とするタイミング判
定手段(21)とを備えることを、 特徴とするタイミング・ベリフィケーション処理方式。1. A check in which input / output nets of a logic circuit unit are provided as inputs and verification terminals which are not connected to other logic circuit units are provided corresponding to a logic circuit unit requiring timing verification. By defining a primitive and creating a timing check model circuit by incorporating the check primitive into the designed logic circuit, and executing a logic simulation process on the timing check model circuit, the designed logic circuit In the timing verification processing method for verifying the timing of the above, an event memory (15) for managing an occurrence time of an event occurring closest to the current time for each net of the timing check model circuit; For each input net of A search table (17) for managing whether a power net should be searched, and searching the event memory according to the search table when an event occurs in the input net of the check primitive at the current time according to a logic simulation process. A previous event occurrence time specifying means (18) for specifying one or more corresponding event occurrence times, a subtraction means (19) for calculating a transition time difference between the specified event occurrence time and the current time, From the calculated transition time difference, one or more timing time differences necessary for timing verification are obtained, and the timing time difference is compared with a corresponding reference value to detect the presence / absence of timing abnormality. And a timing determining means (21) for outputting an output of a verification terminal of the check primitive. Timing verification processing method according to claim.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP1156568A JP2723297B2 (en) | 1989-06-19 | 1989-06-19 | Timing verification processing method |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP1156568A JP2723297B2 (en) | 1989-06-19 | 1989-06-19 | Timing verification processing method |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH0322038A JPH0322038A (en) | 1991-01-30 |
JP2723297B2 true JP2723297B2 (en) | 1998-03-09 |
Family
ID=15630625
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP1156568A Expired - Fee Related JP2723297B2 (en) | 1989-06-19 | 1989-06-19 | Timing verification processing method |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2723297B2 (en) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH0561931A (en) * | 1991-08-30 | 1993-03-12 | Mitsubishi Electric Corp | Simulation device |
JP2788820B2 (en) * | 1991-08-30 | 1998-08-20 | 三菱電機株式会社 | Simulation equipment |
JP2002248470A (en) * | 2001-02-26 | 2002-09-03 | Isis:Kk | Method and apparatus for producing activated water |
US20050058752A1 (en) * | 2003-09-17 | 2005-03-17 | Deason Howard Thomas | Multi-ply products comprising a consumer accessible tab |
JP6572290B2 (en) * | 2017-11-22 | 2019-09-04 | ファナック株式会社 | Electronic equipment abnormality detection device |
-
1989
- 1989-06-19 JP JP1156568A patent/JP2723297B2/en not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JPH0322038A (en) | 1991-01-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP2723297B2 (en) | Timing verification processing method | |
US5805859A (en) | Digital simulator circuit modifier, network, and method | |
US7028273B2 (en) | Delay optimization designing system and delay optimization designing method for a logic circuit and control program | |
US4982361A (en) | Multiple loop parallel pipelined logic simulation system | |
US6594815B2 (en) | Asynchronous controller generation method | |
US6041168A (en) | High-speed delay verification apparatus and method therefor | |
JP3265384B2 (en) | Logic simulation method and logic simulation device used therefor | |
JP2914257B2 (en) | How to determine conflict behavior | |
JP2970600B2 (en) | Logic simulation method | |
JP3193173B2 (en) | Logic circuit design equipment | |
JP2781081B2 (en) | Logical operation method by parallel operation mechanism | |
JPH06300814A (en) | Integrated circuit and its test method | |
JP2844716B2 (en) | Logical matching method for sequential circuits | |
JP2812257B2 (en) | How to create a logic simulation model | |
JP2500385B2 (en) | Input data management method | |
JPH10254914A (en) | Logic simulated result analyzer | |
JP2996153B2 (en) | ASIC verification method | |
JP2785708B2 (en) | Logic simulation method | |
JPH0713818B2 (en) | Microprocessor | |
JPH05266124A (en) | Method for preparing circuit element library for logic circuit simulation | |
JPH05303606A (en) | Logic simulator | |
JP2000348076A (en) | Method and device for simulation and recording medium | |
JP2000200297A (en) | Analog component deletion information imparting system | |
JPH07152815A (en) | Logic circuit | |
JPH05189513A (en) | Logical simulation method taking delay into consideration |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
LAPS | Cancellation because of no payment of annual fees |