JP2001306646A - Timing verifying method for logical simulation - Google Patents

Timing verifying method for logical simulation

Info

Publication number
JP2001306646A
JP2001306646A JP2000124711A JP2000124711A JP2001306646A JP 2001306646 A JP2001306646 A JP 2001306646A JP 2000124711 A JP2000124711 A JP 2000124711A JP 2000124711 A JP2000124711 A JP 2000124711A JP 2001306646 A JP2001306646 A JP 2001306646A
Authority
JP
Japan
Prior art keywords
delay
value
time
timing
buffer
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
JP2000124711A
Other languages
Japanese (ja)
Inventor
Mari Oya
まり 大箭
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.)
Renesas Micro Systems Co Ltd
Original Assignee
Renesas Micro Systems Co 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 Renesas Micro Systems Co Ltd filed Critical Renesas Micro Systems Co Ltd
Priority to JP2000124711A priority Critical patent/JP2001306646A/en
Publication of JP2001306646A publication Critical patent/JP2001306646A/en
Pending legal-status Critical Current

Links

Abstract

PROBLEM TO BE SOLVED: To materialize efficient timing verification by adjustment processing wherein a buffer cell for delay adjustment is virtually inserted in case of a timing error. SOLUTION: When the setup time or hold time during simulation has a positive value and it is evident that there is a timing violation smaller than the prescribed specification value of the setup time or hold time during the simulation, a sequential circuit cell in an internal circuit virtually adds the buffer cell for delay adjustment to a clock or data input terminal of the sequential circuit cell from a delay adjustment buffer information file 107 and adds its addition information in a result storage file 106, and also has a delay adjustment processing flow for carrying on the simulation 102 up to the end time of the event without changing the delay time in the sequential circuit cell, thereby obtaining a simulation result having the timing violation solved by the virtual insertion of the buffer cell.

Description

【発明の詳細な説明】DETAILED DESCRIPTION OF THE INVENTION

【0001】[0001]

【発明の属する技術分野】本発明は論理シミュレーショ
ンのタイミング検証方法に係わり、特に半導体集積回路
における回路設計が収束するまでのタイミングエラー解
析、回路修正、再シミュレーションの回数を最小限に押
さえ、設計期間を短縮することに効果のある論理シミュ
レーションのタイミング検証方法に関する。
BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to a method for verifying the timing of a logic simulation, and more particularly, to minimizing the number of times of timing error analysis, circuit correction and re-simulation until the circuit design in a semiconductor integrated circuit converges, and a design period The present invention relates to a logic simulation timing verification method that is effective in shortening the timing.

【0002】[0002]

【従来の技術】従来、半導体集積回路装置における論理
回路設計時に、その論理動作およびタイミング検証のツ
ールとして論理シミュレーション装置が用いられてい
る。この論理動作を検証するための論理シミュレーショ
ン装置における一方式として、例えばイベントドリブン
方式と呼ばれるものがある。
2. Description of the Related Art Conventionally, when designing a logic circuit in a semiconductor integrated circuit device, a logic simulation device has been used as a tool for verifying its logic operation and timing. As one method in the logic simulation apparatus for verifying the logical operation, there is, for example, a method called an event driven method.

【0003】このイベントドリブン方式は、クロック信
号やデータ信号等の論理レベルの変化を回路の論理状態
に影響を与えるイベントとして記憶手段に登録してお
き、このイベントを順次読み出しながらデータの内容を
更新する。このデータを入力とする内部論理回路につい
て演算処理を行ない、その出力信号に変化があれば遅延
量を勘案しながら順次イベントとして登録し、シミュレ
ーションを実行するというものである。
In the event-driven system, a change in a logic level of a clock signal, a data signal, or the like is registered in a storage unit as an event that affects the logic state of a circuit, and the contents of data are updated while sequentially reading the event. I do. The internal logic circuit that receives this data as input is subjected to arithmetic processing, and if there is a change in its output signal, it is sequentially registered as an event while taking into account the amount of delay, and a simulation is executed.

【0004】上述した論理シミュレーションを半導体集
積回路装置の内部回路に存在する順序回路セル(以下、
回路内部セルと称す)に対して実行し、セットアップタ
イムおよびホールドタイムのタイミング検証をする時、
この回路内部セルには、クロック信号と、このクロック
信号に同期してデータを読み込む2本の入力端子が用意
される。これらの入力端子の電位は、外部から供給され
た時点と入力端子に到着した時点とでは、クロック信号
およびデータ信号のスキューにより異なる時刻に変化す
る。
[0004] The above-described logic simulation is performed by using a sequential circuit cell (hereinafter, referred to as an internal circuit) in an internal circuit of a semiconductor integrated circuit device.
When the timing is verified for setup time and hold time,
This circuit internal cell is provided with a clock signal and two input terminals for reading data in synchronization with the clock signal. The potential of these input terminals changes at different times depending on the skew of the clock signal and the data signal between the time when they are supplied from the outside and the time when they arrive at the input terminals.

【0005】そのため、クロック信号とデータ信号との
タイミング違反が発生した場合、イベントドリブン方式
のシミュレーション装置では、異なった時刻に、各アド
レス端子毎にタイミング違反を検出する。
Therefore, when a timing violation between the clock signal and the data signal occurs, the event-driven type simulation apparatus detects a timing violation for each address terminal at different times.

【0006】ここでタイミング違反とは、データ信号と
クロック信号との間には正常な信号の授受のために安定
化された期間が必要とされ、これに対応するためにタイ
ミングスペックとして、セットアップタイムおよびホー
ルドタイムが設けられている。このセットアップタイム
およびホールドタイムが守られないと回路内部セルが誤
動作することになる。
Here, the timing violation means that a stable period is required between the data signal and the clock signal for transmission and reception of a normal signal. In order to cope with this, a setup time is defined as a timing specification. And a hold time. If the setup time and the hold time are not observed, the cells inside the circuit will malfunction.

【0007】すなわち、後述するように、回路内部セル
の一例としてデータフリップフロップ(以下、DFFと
称す)のタイミングスペックを示した図4(b)を参照
すると、セットアップタイムは、クロック信号を基準と
して、その変化タイミング以前の時点でデータ信号が確
定している必要があり、そのデータ信号が確定した時点
とクロック信号の変化タイミング(論理レベルのロウレ
ベルからハイレベルへの立ち上がり)との間の時間をセ
ットアップ(Setup)と定義し、そのタイミングス
ペックは0.5nsとする。
That is, as will be described later, referring to FIG. 4B showing a timing specification of a data flip-flop (hereinafter, referred to as a DFF) as an example of a circuit internal cell, the setup time is based on a clock signal. The data signal must be determined before the change timing, and the time between the determination of the data signal and the change timing of the clock signal (the rise of the logic level from a low level to a high level) is defined as It is defined as a setup, and its timing specification is 0.5 ns.

【0008】一方、ホールドタイムは、クロック信号を
基準として、その変化タイミング以後の時点でデータ信
号が確定している必要があり、クロック信号の変化タイ
ミングとそのデータ信号が確定した時点との間の時間を
ホールド(Hold)タイムと定義し、そのタイミング
スペックを0.5nsとする。
On the other hand, the hold time requires that the data signal be determined at a point in time after the change timing with respect to the clock signal, and the hold time between the clock signal change timing and the point in time when the data signal is determined is determined. The time is defined as a hold time, and its timing specification is set to 0.5 ns.

【0009】上述したセットアップタイムおよびホール
ドタイムがタイミングスペックを満たしているかを検証
する方法として論理シミュレーションのタイミング検証
が採用されている。
As a method for verifying whether the setup time and the hold time satisfy the timing specifications, a timing verification of a logic simulation is employed.

【0010】上述した従来の論理シミュレーションのタ
イミング検証後の結果格納ファイルに出力された全ての
タイミングエラー情報に対する処置の手順について説明
する。まず、内部回路内の全エラーセルの内部インスタ
ンス名からエラーの箇所を把握し、エラーセルの周辺の
セルの内部ノード状態値をシミュレーションする。
A procedure for handling all timing error information output to the result storage file after the above-described conventional logic simulation timing verification will be described. First, the location of the error is grasped from the internal instance names of all the error cells in the internal circuit, and the internal node state values of the cells around the error cell are simulated.

【0011】当該エラーセルの出力状態値の伝播経路、
動作状態を解析し、回路修正を行い修正回路を用いて再
シミュレーションを実行する。
A propagation path of the output state value of the error cell;
The operating state is analyzed, the circuit is corrected, and a re-simulation is executed using the corrected circuit.

【0012】タイミングエラーが発生した回路内部セル
の入力端子に対して、遅延調整用のバッファセルを挿入
し回路修正を行う。そのバッファセルの挿入による遅延
値の変化によりもう一度シミュレーションを実行して、
回路内部セルの後段に繋がる回路のタイミングチェック
を行なっていき、タイミングエラーをゼロに収束するま
で、シミュレーションを繰り返し実行させていた。その
ため、シミュレーション回数が増え、その結果の解析に
非常に時間が掛かっていた。
A buffer cell for delay adjustment is inserted into an input terminal of a circuit internal cell in which a timing error has occurred to correct the circuit. The simulation is executed again by the change of the delay value due to the insertion of the buffer cell,
The timing of a circuit connected to the subsequent stage of the circuit internal cell is checked, and the simulation is repeatedly executed until the timing error converges to zero. Therefore, the number of simulations has increased, and the analysis of the results has taken a very long time.

【0013】上述した従来における処理をさらに詳述す
る。まずその全体の構成を示した図9を用いて説明す
る。
The above-described conventional processing will be described in further detail. First, a description will be given with reference to FIG.

【0014】遅延・タイミング制約情報ファイルD30
1からの情報に基づき遅延計算プログラムS301から
生成される回路内の各セルの回路SDFD302、回路
接続情報ファイル(以下、回路ネットリストと称する)
D303、ライブラリD304、検証パタン(入力パタ
ン)D305と、シミュレーション結果を格納する結果
格納ファイルD306とを有する。結果格納ファイルD
306以外のファイルには予めそれぞれの情報をシミュ
レーション実行時に読み込む必要がある。
Delay / timing constraint information file D30
The circuit SDFD 302 of each cell in the circuit generated from the delay calculation program S301 based on the information from No. 1 and a circuit connection information file (hereinafter, referred to as a circuit netlist)
D303, a library D304, a verification pattern (input pattern) D305, and a result storage file D306 for storing simulation results. Result storage file D
The files other than 306 need to be read in advance at the time of simulation execution.

【0015】上記の各ファイルの情報を用いてシミュレ
ーション装置でシミュレーション処理S312を実行す
る。シミュレーション処理S312が全て終了した後
は、その結果を結果格納ファイルD306に出力する。
結果格納ファイルD306にはシミュレーション実行で
発生したタイミングエラー情報、検証パタンのパタン毎
の論理演算値が記述される。結果格納ファイルD306
を基に回路設計者がエラーの有無を確認し(処理S31
4)、エラーがあればシミュレーション処理S312で
回路ネットリストD303を用いて回路修正を行う。
A simulation process S312 is executed by the simulation device using the information of each file described above. After the simulation processing S312 is completed, the result is output to the result storage file D306.
In the result storage file D306, timing error information generated during the execution of the simulation and a logical operation value of each verification pattern are described. Result storage file D306
The circuit designer confirms the presence or absence of an error based on (step S31).
4) If there is an error, the circuit is corrected using the circuit netlist D303 in the simulation processing S312.

【0016】シミュレーション処理S312を概略的に
示したのが処理S320であり、イベント入力処理S3
21、タイミングチェック処理S322、論理演算処理
S323を実行し、スケジュール処理S324を実行す
る構成である。
The process S312 schematically shows the simulation process S312, and the event input process S3
21, a timing check process S322, a logical operation process S323, and a schedule process S324.

【0017】次に上述した従来における処理の構成に基
づき処理の流れを詳述する。タイミング検証の処理の流
れを示した図10を参照すると、まず、シミュレーショ
ン対象回路内の回路内部セルの入力端子にイベントが発
生したことを検出するための入力イベント検出処理S3
31を実行する。
Next, the processing flow will be described in detail based on the above-described conventional processing configuration. Referring to FIG. 10 showing a flow of the timing verification process, first, an input event detection process S3 for detecting that an event has occurred at an input terminal of a circuit internal cell in the simulation target circuit.
Execute 31.

【0018】入力イベント検出処理S331によりシミ
ュレーション回路内の回路内部セルに入力イベントを検
出した場合、イベント端子変化時刻と対象端子変化時刻
との時間差を演算するための時間差演算処理S332を
実行する。ここで述べる対象端子とは、イベント入力端
子との間でタイミングスペック値が規定された関係を有
する端子を示す。例えば、イベント入力端子がクロック
端子であれば対象端子はデータ端子であり、反してイベ
ント入力端子がデータ端子であれば対象端子はクロック
端子である。
When an input event is detected in a circuit internal cell in the simulation circuit by the input event detection processing S331, a time difference calculation processing S332 for calculating a time difference between the event terminal change time and the target terminal change time is executed. The target terminal described here indicates a terminal having a relationship in which a timing specification value is defined with the event input terminal. For example, if the event input terminal is a clock terminal, the target terminal is a data terminal, while if the event input terminal is a data terminal, the target terminal is a clock terminal.

【0019】次に、時間差演算処理S332で演算した
時間差が、当該タイミングスペック値よりも大きいかを
判別し、小さい場合はタイミングエラーと見なすタイミ
ングスペック判別処理S333を実行する。
Next, it is determined whether or not the time difference calculated in the time difference calculation processing S332 is larger than the timing specification value, and if it is smaller, a timing specification determination processing S333 is performed, which is regarded as a timing error.

【0020】タイミングスペック判別処理S333で、
時間差が当該タイミングスペック値よりも小さく、実行
エラーと判定(no)された場合は、検証対象である回
路内部セルの論理演算を行う第1の論理演算処理S33
4を実行する。
In the timing specification discriminating process S333,
If the time difference is smaller than the timing specification value and it is determined that the execution error has occurred (no), a first logical operation process S33 for performing a logical operation on the circuit internal cell to be verified is performed.
Execute Step 4.

【0021】第1の論理演算処理S334を実行した結
果、その演算結果である出力状態値が変化するかを判別
する第1の出力状態判別処理S335を実行する。
As a result of executing the first logical operation processing S334, a first output state determination processing S335 for determining whether the output state value as the operation result changes is executed.

【0022】出力状態値が変化すると判別(yes)さ
れると、当該イベントに対する出力状態値の変化パスの
遅延値を付加させる第1の遅延値付加処理S336を実
行する。
When it is determined that the output state value changes (yes), a first delay value adding process S336 for adding the delay value of the output state value change path to the event is executed.

【0023】次に、第1の遅延値付加処理S336で遅
延値が付加された出力状態値をスケジュールし、結果格
納ファイルD306に格納する第1の状態値スケジュー
ル処理S337を実行する。
Next, a first state value scheduling process S337 for scheduling the output state value to which the delay value has been added in the first delay value adding process S336 and storing the output state value in the result storage file D306 is executed.

【0024】第1の状態値スケジュール処理S337で
スケジュールされた出力状態値をエラー情報として結果
格納ファイルD306に格納するエラー情報出力処理S
338を実行する。
An error information output process S for storing the output status values scheduled in the first status value schedule process S337 as error information in the result storage file D306.
Execute 338.

【0025】また、第1の出力状態判別処理S335に
おいて出力状態値が変化しない(no)と判別された場
合もエラー情報出力処理S338に移り、タイミングエ
ラー情報を結果格納ファイルD306に格納する。
Also, when it is determined in the first output state determination processing S335 that the output state value does not change (no), the process proceeds to the error information output processing S338, and the timing error information is stored in the result storage file D306.

【0026】エラー情報出力処理S338に続きタイミ
ング検証が終了時刻かどうか判断するための終了時刻判
断処理S339を実行し、終了時刻でなければ、入力イ
ベント検出処理S331へ戻り、終了時刻であればタイ
ミング検証を終了する。
Following the error information output processing S338, an end time determination processing S339 for determining whether the timing verification is the end time is executed. If the end time is not the end time, the process returns to the input event detection processing S331. End verification.

【0027】タイミングスペック判別処理S333で、
時間差が当該タイミングスペック値よりも大きく、実行
エラーではないと判定(yes)された場合は、検証対
象である回路内部セルの論理演算を行う第2の論理演算
処理S340を実行する。
In the timing specification discriminating process S333,
If it is determined that the time difference is larger than the timing specification value and it is not an execution error (yes), a second logical operation process S340 for performing a logical operation on a circuit internal cell to be verified is executed.

【0028】次に、第2の論理演算処理S340の演算
結果である出力状態値が変化するかを判断する第2の出
力状態値判別処理S341を実行する。
Next, a second output state value discriminating process S341 for judging whether or not the output state value which is the operation result of the second logical operation process S340 changes.

【0029】出力状態値が変化すると判別(yes)さ
れると、当該イベントに対する出力状態値の変化パスの
遅延値を付加させる第2の遅延値付加処理S342を実
行する。
If it is determined that the output state value changes (yes), a second delay value adding process S342 for adding the delay value of the output state value change path to the event is executed.

【0030】遅延値を付加させた後、出力状態値をスケ
ジュールし結果格納ファイルD306に格納する第2の
状態値スケジュール処理S343を実行し、次の終了時
刻判別処理S339で検証パタンが終了時刻かを判別
し、終了時刻でなければ処理S331の入力イベント検
証待ちに移り、終了時刻であれば処理を終了する。
After adding the delay value, a second state value scheduling process S343 for scheduling the output state value and storing it in the result storage file D306 is executed, and in the next end time discrimination process S339, whether the verification pattern indicates the end time is determined. If it is not the end time, the flow shifts to the input event verification wait in step S331, and if it is the end time, the process ends.

【0031】[0031]

【発明が解決しようとする課題】上述した従来のシミュ
レーションは、一度のシミュレーションにおいてはたっ
た1つの回路しか流せない、特定回路の論理演算しか行
なうことが出来ない。
In the conventional simulation described above, only one circuit can flow in one simulation, and only a logical operation of a specific circuit can be performed.

【0032】そのため、遅延調整バッファを挿入するだ
けでも、回路修正を行ないシミュレーションを実行しな
ければならなかった。
Therefore, even if a delay adjustment buffer is simply inserted, the circuit must be corrected and a simulation must be executed.

【0033】ただし、過去における回路規模でのシミュ
レーションでは特に深刻な影響をもたらす方法ではなか
ったが、近年のLSIの高集積化による回路規模の増大
により、従来の方法では、シミュレーションに多大な時
間を必要とするので、その影響は大きくなりつつある。
However, in the past, the simulation on the circuit scale was not a method having a particularly serious effect, but due to the recent increase in the circuit scale due to the high integration of the LSI, the conventional method requires a lot of time for the simulation. The impact is growing because it requires it.

【0034】本発明の目的は、上述した従来の欠点に鑑
みなされたものであり、1回目のシミュレーションのと
きに内部でタイミングエラーがあった場合、仮想的に遅
延調整用のバッファセルを差し込むと言う調整処理によ
って、最初の回路にバッファを差し込んだ回路を仮定し
てシミュレーションを連続して実行するので、結果的に
は2つ、場合によっては2つ以上の回路を流すことにな
り、1つの回路に特定されることがなく、2回目のシミ
ュレーションは確認のみにするので、効率的なシミュレ
ーションを実行することが出来る論理シミュレーション
のタイミング検証方法を提供することにある。
An object of the present invention has been made in view of the above-described drawbacks of the related art. When a timing error occurs internally during the first simulation, a buffer cell for delay adjustment is virtually inserted. As a result of the adjustment processing, the simulation is continuously performed assuming a circuit in which a buffer is inserted in the first circuit. As a result, two, and in some cases, two or more circuits are flown, and one An object of the present invention is to provide a logic simulation timing verification method capable of executing an efficient simulation because the second simulation is only confirmation without being specified by a circuit.

【0035】[0035]

【課題を解決するための手段】本発明は、検証対象の内
部回路に対しイベントドリブン方式による論理シミュレ
ーション装置を用いた論理シミュレーションのタイミン
グ検証方法において、前記論理シミュレーション中に発
生した順序回路セルのイベント入力端子およびこのイベ
ント端子との間でタイミングスペック値が規定された対
象端子間におけるタイミングエラーに対して、少なくと
も一方の端子に自動で遅延調整用のバッファセルを仮想
的に挿入する遅延調整処理フローをイベント終了時刻ま
で実行し、その結果の処置情報および処置後の演算結果
を結果格納ファイルに出力するとともに、その結果格納
ファイルを参照して回路修正の処置を行なった後、再シ
ミュレーションすることにより、前記論理シミュレーシ
ョンの実行回数を抑制することを特徴とする。
SUMMARY OF THE INVENTION The present invention relates to a timing verification method for a logic simulation using an event-driven logic simulation apparatus for an internal circuit to be verified. Delay adjustment processing flow for automatically inserting a buffer cell for delay adjustment into at least one of the terminals in response to a timing error between a target terminal for which a timing specification value is defined between the input terminal and the event terminal Is executed until the event end time, and the resulting treatment information and the operation result after the treatment are output to the result storage file, and the circuit is corrected with reference to the result storage file and then re-simulated. , The number of executions of the logic simulation Characterized in that win.

【0036】本発明の他の特徴は、検証対象の内部回路
に対しイベントドリブン方式による論理シミュレーショ
ン装置を用いた論理シミュレーションのタイミング検証
方法において、回路接続情報および遅延・タイミング制
約情報から遅延計算プログラムにより生成される配線遅
延定義情報と、前記回路接続情報と、動作検証用パタン
と、セルライブラリに格納された回路ネットリスト内の
セルの論理情報と、遅延調整用のバッファセルの情報と
をそれぞれ読み込むとともに、読み込んだこれらの情報
を用いて第1回目の論理シミュレーションを実行し、そ
の実行中にタイミングエラーがあれば遅延調整用の前記
バッファセルを仮想的に付加して検証対象の順序回路セ
ルの出力状態値をスケジュールする処理を検証終了時刻
までの全てのイベントごとに順次に繰り返し実行し、か
つ前記タイミングエラー情報と前記バッファセルを仮想
的に付加したことによりタイミングエラーを解消したこ
とを示すリカバー情報とを結果格納ファイルに出力し、
その結果格納ファイルの内容を回路設計者が確認すると
ともに前記タイミングエラーがあれば回路ネットリスト
を用いて回路修正し、その回路修正後の前記検証対象回
路に対して、前記結果格納ファイルの内容を参照しなが
ら第2回目の論理シミュレーションを実行して前記回路
修正の確認のみ行うことにより、前記論理シミュレーシ
ョンを2回実行させるだけでタイミング検証が収束する
ことにある。
Another feature of the present invention is that in a timing verification method of a logic simulation using an event-driven logic simulation apparatus for an internal circuit to be verified, a delay calculation program is used based on circuit connection information and delay / timing constraint information. The generated wiring delay definition information, the circuit connection information, the operation verification pattern, the logic information of the cell in the circuit net list stored in the cell library, and the information of the buffer cell for delay adjustment are read. At the same time, the first logic simulation is executed using the read information, and if there is a timing error during the execution, the buffer cell for delay adjustment is virtually added to the sequential circuit cell to be verified. The process of scheduling the output state value is performed for all events until the verification end time. Sequentially repeatedly performed for each preparative, and then output to the timing error information to the buffer cell indicating that eliminates timing errors due to the addition of virtually recovered information and the result storage file,
As a result, the circuit designer confirms the contents of the storage file, and if there is the timing error, corrects the circuit using the circuit netlist. By executing the second logic simulation with reference to confirming the circuit correction only, the timing verification converges only by executing the logic simulation twice.

【0037】また、遅延調整用の前記バッファセルの情
報が格納される遅延調整バッファ情報ファイルは、回路
設計に使用可能な全てのセルの遅延情報および順序回路
セルのタイミングスペック値が格納された遅延・タイミ
ング制約情報と、回路設計に使用可能な全てのセルの
内、遅延調整用に付加可能なバッファセル名称のリスト
が格納されたブロックリストとに基づき、遅延調整用の
前記バッファセルのみの遅延情報を抽出するデータ処理
により作成される さらに、前記論理シミュレーションは、前記検証対象の
前記順序回路セルの入力端子でイベントを検出する入力
イベント検出処理と、前記入力端子に既に遅延調整用の
前記バッファセルが仮想的に付加されたイベント入力端
子ならば付加された遅延値分だけ遅らせた時刻をイベン
ト端子変化時刻に置き換えるイベント時刻変更処理と、
前記入力端子との間でタイミングスペック値が規定され
ている検証対象端子における対象端子変化時刻との時間
差を演算するタイミングチェック処理とを行ない、前記
タイミングエラーであれば前記遅延調整バッファ情報フ
ァイルから前記遅延調整用のバッファセルを選択して仮
想的に付加する選択処理と、前記バッファセルが仮想的
に付加された状態で検証対象の前記順序回路セルの論理
演算を行い出力状態値のスケジュールを行う論理演算・
遅延スケジュール処理とで構成される。
The delay adjustment buffer information file in which the information of the buffer cells for delay adjustment is stored is a delay adjustment buffer information file in which delay information of all cells usable for circuit design and timing specification values of sequential circuit cells are stored. A delay of only the buffer cells for delay adjustment based on the timing constraint information and a block list storing a list of buffer cell names that can be added for delay adjustment among all cells available for circuit design; Further, the logic simulation is performed by an input event detection process of detecting an event at an input terminal of the sequential circuit cell to be verified, and the buffer for delay adjustment is already provided at the input terminal. If the cell is a virtually added event input terminal, the time delayed by the added delay value Event time change processing for replacing with the terminal change time;
A timing check process is performed to calculate a time difference between the input terminal and a target terminal change time at a verification target terminal for which a timing specification value is defined, and if the timing error is detected, the timing adjustment processing is performed from the delay adjustment buffer information file. A selection process of selecting and virtually adding a buffer cell for delay adjustment, and performing a logical operation on the sequential circuit cell to be verified in a state where the buffer cell is virtually added to schedule an output state value. Logical operation
And delay schedule processing.

【0038】さらにまた、前記イベント時刻変更処理
は、前記順序回路セルの前記入力端子に入力イベントを
検出した際、前記入力端子がシミュレーション開始から
入力イベント検出時刻までの間で遅延調整バッファが付
加されたイベント入力端子であるかを前記結果格納ファ
イルを参照して判別するバッファ付加判別処理と、この
バッファ付加判別処理において前記入力端子が、前記イ
ベント入力端子であると判別された場合、前記遅延調整
バッファ情報を参照して付加された遅延調整用の前記バ
ッファセルの遅延値を検索する遅延値検索処理とからな
る。
Further, in the event time changing process, when an input event is detected at the input terminal of the sequential circuit cell, a delay adjustment buffer is added to the input terminal between the start of simulation and the input event detection time. A buffer addition determining process of determining whether the input terminal is the event input terminal by referring to the result storage file. If the input terminal is determined to be the event input terminal in the buffer addition determining process, A delay value search process for searching for a delay value of the buffer cell for delay adjustment added with reference to the buffer information.

【0039】また、前記タイミングチェック処理は、前
記イベント時刻変更処理における判別処理で前記順序回
路セルの前記入力端子に遅延調整用の前記バッファセル
が付加されていないと判別された場合は、現時刻を前記
イベント端子変化時刻とし、前記入力端子に遅延調整用
の前記バッファセルが付加されている場合は、付加され
た前記バッファセルの遅延値を検索する遅延調整バッフ
ァ遅延値検索処理と、検索された前記遅延値を前記イベ
ント端子変化時刻に付加するイベント端子変化時刻変更
処理と、イベント端子変化時刻変更処理と前記対象端子
変化時刻との時間差を演算する時間差演算処理とからな
る さらに、前記選択処理は、前記時間差演算処理で求めた
前記時間差がタイミングスペック値より大きいかを比較
し小さければタイミングエラーと判別する時間差判別処
理と、前記タイミングエラーの場合、タイミングスペッ
ク値と前記時間差との差分であって前記タイミングエラ
ーの解消に必要な時間を算出するスペック値との不足時
間算出処理と、前記遅延調整バッファ情報ファイルを参
照して、前記前記タイミングエラーの解消に必要な時間
より大きい遅延値を有するバッファセルを選択し、選択
したバッファセルを前記入力端子に仮想的に付加する仮
想的バッファ付加処理とからなる さらにまた、論理演算・遅延スケジュール処理は、前記
タイミングスペック値との不足時間よりも大きい遅延値
を有する前記バッファセルを検証対象の前記順序回路セ
ルのイベント入力端子に付加した状態で論理演算を実行
する第1の論理演算処理と、前記論理演算の演算結果で
ある出力状態値が変化するかを判別する第1の出力状態
値判別処理と、前記出力状態値が変化すると判別された
場合、発生したイベントに対する前記出力状態値に、前
記仮想的バッファ付加処理で選択され仮想的に付加され
た前記バッファセルの遅延値を付加する第1の遅延値付
加処理と、前記遅延値を付加された出力状態値のスケジ
ュールを行い、そのスケジュール結果を前記結果格納フ
ァイルに格納するとともに、タイミングエラー情報と前
記バッファセルを付加したことを仮定して前記タイミン
グエラーが解消したことを示すリカバー情報とをそれぞ
れ前記結果格納ファイルに出力し、前記出力状態値判別
処理で前記出力状態値が変化しないと判別された場合も
前記タイミングエラー情報と前記リカバー情報とをそれ
ぞれ前記結果格納ファイルに出力する第1の状態値スケ
ジュール処理と、前記時間差判別処理での判別結果で前
記時間差が前記タイミングスペック値より大きい場合
は、検証対象の前記順序回路セルの論理演算を前記バッ
ファセルを付加せずに実行する第2の論理演算処理と、
この第2の論理演算結果である出力状態値が変化するか
を判別する第2の出力状態値判別処理と、出力状態値が
変化すると判別されると、前記イベントに対する出力状
態値の変化パスの遅延値を付加する第2の遅延値付加処
理と、この第2の遅延値付加処理で前記遅延値が付加さ
れた出力状態値のスケジュールを行い、そのスケジュー
ル結果を前記結果格納ファイルに格納する第2状態値ス
ケジュール処理と、からなる。
In the timing check processing, when it is determined in the determination processing in the event time change processing that the buffer cell for delay adjustment is not added to the input terminal of the sequential circuit cell, the current time is changed. Is the event terminal change time, and when the buffer cell for delay adjustment is added to the input terminal, a delay adjustment buffer delay value search process for searching for a delay value of the added buffer cell; Further comprising: an event terminal change time change process for adding the delay value to the event terminal change time; and a time difference calculation process for calculating a time difference between the event terminal change time change process and the target terminal change time. It is determined whether the time difference obtained in the time difference calculation process is greater than a timing specification value. A time difference determination process for determining an imming error, and in the case of the timing error, a shortage time calculation process of a difference between a timing specification value and the time difference and a specification value for calculating a time required for eliminating the timing error, A virtual buffer that refers to the delay adjustment buffer information file, selects a buffer cell having a delay value greater than the time required for eliminating the timing error, and virtually adds the selected buffer cell to the input terminal Further, the logic operation / delay schedule processing is a state in which the buffer cell having a delay value larger than the shortage time with the timing specification value is added to an event input terminal of the sequential circuit cell to be verified. A first logical operation process of executing a logical operation by A first output state value determining process for determining whether or not a certain output state value changes; and, if it is determined that the output state value changes, the output state value corresponding to the generated event is added to the virtual buffer adding process. A first delay value adding process for adding a delay value of the selected and virtually added buffer cell is performed, and an output state value to which the delay value is added is scheduled. The schedule result is stored in the result storage file. Storing and outputting the timing error information and the recovery information indicating that the timing error has been resolved assuming that the buffer cell has been added, to the result storage file, and outputting the output in the output state value determination processing. Even when it is determined that the status value does not change, the timing error information and the recover information are stored in the result. If the time difference is greater than the timing specification value as a result of the first state value schedule processing to be output to a file and the time difference determination processing, the buffer operation is added to the logic operation of the sequential circuit cell to be verified. A second logical operation to be performed without
A second output state value determining process for determining whether an output state value as a result of the second logical operation changes; and, when determining that the output state value changes, a change path of the output state value for the event. A second delay value adding process for adding a delay value, and a schedule of the output state value to which the delay value is added in the second delay value adding process, and storing the schedule result in the result storage file. 2 state value schedule processing.

【0040】また、前記仮想的バッファ付加処理に代え
て、遅延調整用の前記バッファセルの許容最大遅延値を
読み込む許容最大遅延値読み込み処理と、前記タイミン
グエラーを解消するに必要な不足時間が、前記許容最大
遅延値より大きいかを判別する最大許容遅延値の判別処
理と、大きければ前記遅延調整バッファファイルを参照
して、前記許容最大遅延値より小さい遅延値を有するバ
ッファセル名を選択する遅延値小のバッファセル選択処
理と、選択された前記バッファセルを前記イベント入力
端子に仮想的に付加する第1の仮想付加処理と、付加し
た前記バッファセルの遅延値を前記不足時間から差し引
いた時間を新たな不足時間として置き換えるとともに前
記最大許容遅延値の判別処理に戻る不足時間変更処理
と、前記最大許容遅延値の判別処理において前記タイミ
ングエラーを解消するに必要な前記不足時間が、前記許
容最大遅延値より小さければ前記遅延調整バッファファ
イルを参照し前記不足時間より大きい遅延値を有する遅
延調整用の前記バッファセルを選択する遅延値大のバッ
ファセル選択処理と、選択した前記バッファセルを前記
イベント入力端子に仮想的に付加する第2の仮想付加処
理とを適用する。
Further, instead of the virtual buffer addition processing, an allowable maximum delay value reading processing for reading an allowable maximum delay value of the buffer cell for delay adjustment, and a shortage time required for eliminating the timing error are as follows. A determination process of a maximum allowable delay value for determining whether the delay cell is larger than the allowable maximum delay value, and a delay for selecting a buffer cell name having a delay value smaller than the allowable maximum delay value by referring to the delay adjustment buffer file if the value is larger. Small value buffer cell selection processing, first virtual addition processing for virtually adding the selected buffer cell to the event input terminal, and time obtained by subtracting the delay value of the added buffer cell from the shortage time Is replaced with a new shortage time, and the shortage time change process returns to the process of determining the maximum allowable delay value. If the shortage time required to resolve the timing error in the value determination processing is smaller than the allowable maximum delay value, the buffer for delay adjustment having a delay value larger than the shortage time by referring to the delay adjustment buffer file A buffer cell selection process with a large delay value for selecting a cell and a second virtual addition process for virtually adding the selected buffer cell to the event input terminal are applied.

【0041】本発明のさらに他の特徴は、検証対象であ
る所定の内部回路に対しイベントドリブン方式による論
理シミュレーション装置を用いた論理シミュレーション
のタイミング検証方法において、前記内部回路でタイミ
ングスペック値が規定された順序回路セルの入力端子に
イベントが発生した場合、前記入力端子が現時刻までの
処理の間に遅延調整用のバッファセルが付加されたイベ
ント入力端子かを判別し、イベント入力端子でなければ
現時刻をそのままイベント時刻とし、イベント入力端子
であれば遅延調整用のバッファセルの情報が格納された
遅延調整バッファ情報ファイルから、付加されている遅
延調整バッファの遅延情報を検索し、その検索した遅延
調整バッファの遅延値分、前記イベント発生時刻を遅ら
せて次の処理を行なう処理と、前記順序回路セルの前記
イベント入力端子の変化時刻と前記入力端子との間でタ
イミングスペック値が規定されたタイミング検証対象端
子での対象端子変化時刻との時間差を算出し、算出され
た時間差が前記順序回路セルにタイミングスペック値と
して定義される値より小さい場合、前記タイミングスペ
ック値と前記時間差の差分である前記タイミングエラー
を解消するに必要な時間を算出する処理と、予め参照ラ
イブラリとして用意されている回路設計に使用可能な全
セルの遅延・タイミング制約情報ファイルと、遅延調整
に使用可能なバッファセル名のリストから作成された、
遅延調整に使用可能なバッファセル名および遅延情報が
格納される遅延調整バッファ情報ファイルを参照して、
前記タイミングエラーを解消するのに必要な時間より大
きい遅延値を有する遅延調整用のバッファセル名を抽出
し、現時刻での前記イベント入力端子に前記遅延調整用
のバッファセルを付加したことを仮定する処理と、前記
順序回路セルの論理演算の結果として前記順序回路セル
の出力状態値が変化する場合、前記イベントによる出力
変化パスの遅延値に前記遅延調整用のバッファセルの遅
延値を付加して前記出力状態値の遅延スケジュールを行
う処理と、タイミングエラー情報と遅延調整用のバッフ
ァセルを付加したことを仮定する旨のリカバー情報を結
果格納ファイルに出力する処理と、検証パタンが終了時
刻でなければ、次のイベント検出まで待機し、終了時刻
であればタイミング検証を終了する処理とを有し、タイ
ミング検証対象の前記順序回路セルにて発生するタイミ
ングエラーを、入力回路データの変更を行わずに、前記
結果格納ファイルの情報に基づき前記出力状態値の遅延
スケジュールを行って自動で解消したことを仮定した論
理シミュレーションを行なうことことにある。
Still another feature of the present invention is that in a timing verification method of a logic simulation using a logic simulation device of an event driven method for a predetermined internal circuit to be verified, a timing specification value is defined by the internal circuit. If an event occurs at the input terminal of the sequential circuit cell, it is determined whether the input terminal is an event input terminal to which a buffer cell for delay adjustment has been added during the processing up to the current time. The current time is used as the event time, and if it is an event input terminal, the delay information of the added delay adjustment buffer is searched from the delay adjustment buffer information file storing the information of the buffer cell for delay adjustment. The next processing is performed by delaying the event occurrence time by the delay value of the delay adjustment buffer. And the time difference between the change time of the event input terminal of the sequential circuit cell and the target terminal change time at the timing verification target terminal for which the timing specification value is defined between the input terminal is calculated. If the time difference is smaller than a value defined as a timing specification value in the sequential circuit cell, a process of calculating a time required to resolve the timing error that is a difference between the timing specification value and the time difference; Created from a list of delay / timing constraint information files for all cells that can be used for circuit design and a list of buffer cell names that can be used for delay adjustment.
Refer to the delay adjustment buffer information file that stores buffer cell names and delay information that can be used for delay adjustment,
It is assumed that a buffer cell name for delay adjustment having a delay value larger than the time required to resolve the timing error is extracted, and the buffer cell for delay adjustment is added to the event input terminal at the current time. And when the output state value of the sequential circuit cell changes as a result of the logical operation of the sequential circuit cell, the delay value of the buffer cell for delay adjustment is added to the delay value of the output change path due to the event. A process of performing a delay schedule of the output state value, a process of outputting recovery information indicating that timing error information and a buffer cell for delay adjustment have been added to a result storage file, and a verification pattern at the end time. If not, the process waits until the next event is detected, and if it is the end time, ends the timing verification. A logic simulation assuming that a timing error occurring in the sequential circuit cell is automatically resolved by performing a delay schedule of the output state value based on information of the result storage file without changing input circuit data. Is to do.

【0042】また、クロック入力ラインおよびデータ入
力ラインの遅延値を個別並びに任意に変更して検証対象
回路の動作を保証する。
Further, the operation of the circuit to be verified is guaranteed by individually and arbitrarily changing the delay values of the clock input line and the data input line.

【0043】また、予め定める所定の遅延値を有する遅
延調整用の前記バッファセルに代えて、前記所定の遅延
値よりも小さい遅延値を有するバッファセルを複数個直
列に接続して付加する。
In place of the buffer cell for delay adjustment having a predetermined delay value, a plurality of buffer cells having a delay value smaller than the predetermined delay value are connected in series and added.

【0044】本発明のまたさらに他の特徴は、検証対象
である所定の内部回路に対しイベントドリブン方式によ
る論理シミュレーション装置を用いた論理シミュレーシ
ョンのタイミング検証方法において、前記内部回路内の
順序回路セルはシミュレーション実行中のセットアップ
時間またはホールド時間がそれぞれ正値であり、かつシ
ミュレーション実行中に予め規定したセットアップ時間
のスペック値またはホールド時間のスペック値より小さ
いタイミング違反が判明した場合に、遅延調整用のバッ
ファセルを前記順序回路セルのクロックまたはデータ入
力端子に仮想的に挿入し、前記順序回路セルの内部の遅
延時間を変更しないまま、前記バッファセルの仮想的挿
入によって前記タイミング違反が解消されたシミュレー
ション結果を得ることにある。
Still another feature of the present invention is that in a timing verification method of a logic simulation using a logic simulation device of an event driven system for a predetermined internal circuit to be verified, a sequential circuit cell in the internal circuit is When the setup time or the hold time during the simulation is a positive value, and a timing violation smaller than the predetermined setup time specification value or the hold time specification value is found during the simulation execution, a buffer for delay adjustment is used. A simulation result in which a cell is virtually inserted into a clock or data input terminal of the sequential circuit cell and the timing violation is eliminated by virtually inserting the buffer cell without changing a delay time inside the sequential circuit cell. Get In the door.

【0045】[0045]

【発明の実施の形態】はじめに、本発明の概要を述べる
と、論理シミュレーションのタイミング検証において、
シミュレーション中に発生した回路内部セルのイベント
入力端子およびこのイベント端子との間でタイミングス
ペック値が規定された対象端子間におけるタイミングエ
ラーに対して、少なくとも一方の端子に自動で遅延調整
用のバッファセルを仮想的に挿入する遅延調整処理フロ
ーをイベント終了時刻まで実行し、その結果の処置情報
および処置後の演算結果を結果格納ファイルに出力する
とともに、その結果格納ファイルを参照して回路修正の
処置を行なった後、再シミュレーションするので、シミ
ュレーションが2回で済み、回路設計が収束するまでの
タイミングエラー解析、回路修正、再シミュレーション
の回数を最小限に抑えるというものである。
DESCRIPTION OF THE PREFERRED EMBODIMENTS First, an outline of the present invention will be described.
A buffer cell for delay adjustment is automatically provided in at least one of terminals in response to a timing error between an event input terminal of a circuit internal cell generated during a simulation and a target terminal for which a timing specification value is defined between the event input terminal and the event terminal. Is executed until the event end time, the processing information of the result and the operation result after the processing are output to the result storage file, and the circuit correction processing is performed with reference to the result storage file. Is performed and then re-simulated, so that only two simulations are required, and the number of times of timing error analysis, circuit correction, and re-simulation until the circuit design converges is minimized.

【0046】次に、本発明における実施形態の全体構成
について、図面を参照しながら説明する。本発明におけ
る実施形態の全体構成を示した図1を参照すると、遅延
・タイミング制約情報ファイルD101からの情報に基
づき遅延計算プログラムS101から生成される回路内
の各セルの内部遅延値およびタイミングスペックが格納
される回路SDFD102、回路ネットリストD10
3、回路ネットリストD103内のセルの論理情報が格
納されるファイル(以下、ライブラリと称す)D10
4、動作検証用入力信号データ(以下、検証パタンと称
す)D105と、シミュレーション結果を格納する結果
格納ファイルD106と、さらに、遅延調整バッファ情
報ファイルD107とを有する。
Next, the overall configuration of the embodiment of the present invention will be described with reference to the drawings. Referring to FIG. 1 showing the entire configuration of the embodiment of the present invention, the internal delay value and the timing specification of each cell in the circuit generated from the delay calculation program S101 based on the information from the delay / timing constraint information file D101 are shown. Stored circuit SDFD102, circuit netlist D10
3. A file (hereinafter referred to as a library) D10 in which logic information of cells in the circuit netlist D103 is stored.
4. It has input signal data for operation verification (hereinafter referred to as verification pattern) D105, a result storage file D106 for storing simulation results, and a delay adjustment buffer information file D107.

【0047】回路検証におけるシミュレーション実行に
当たっては、前述したように、回路ネットリストD10
3、検証パタンD105、遅延・タイミング制約情報フ
ァイルD101および回路SDFD102の各情報を読
み込む必要がある。
In executing the simulation in the circuit verification, as described above, the circuit netlist D10
3. It is necessary to read each information of the verification pattern D105, the delay / timing constraint information file D101, and the circuit SDFD102.

【0048】前述した各ファイル内の情報を用いて論理
シミュレーション装置でシミュレーション処理S202
を実行し、シミュレーション処理が終了した後は、その
シミュレーション結果を結果格納ファイルD106に出
力する。
Using the information in each file described above, a simulation process S202 is performed by the logic simulation apparatus.
After the simulation processing is completed, the simulation result is output to the result storage file D106.

【0049】結果格納ファイルD106には、シミュレ
ーション実行時に発生したタイミングエラー情報、検証
パタンのパタン毎の論理演算値等が記述される。
In the result storage file D106, timing error information generated at the time of executing the simulation, a logical operation value of each verification pattern, and the like are described.

【0050】結果格納ファイルD106を基に回路設計
者がエラー確認処理S103においてエラーの有無を確
認し、エラーがあれば回路修正処理S204において回
路ネットリストD103を用いて回路修正を行い、エラ
ー確認処理S203においてエラーが無ければ回路検証
終了となる。
Based on the result storage file D106, the circuit designer confirms the presence or absence of an error in the error confirmation processing S103. If there is an error, the circuit is corrected using the circuit netlist D103 in the circuit correction processing S204, and the error confirmation processing is performed. If there is no error in S203, the circuit verification ends.

【0051】シミュレーション処理S202を概略的に
示したのが処理S110である。そのシミュレーション
処理S110において、検証対象の回路内部セルの入力
端子でイベントを検出するイベント入力処理S111
と、入力端子に既に遅延調整用のバッファセルが仮想的
に付加されたイベント入力端子ならば付加された遅延値
分だけ遅らせた時刻をイベント端子変化時刻に置き換え
るイベント時刻変更処理S112と、入力端子との間で
タイミングスペック値が規定されている検証対象端子に
おける対象端子変化時刻との時間差を演算するタイミン
グチェック処理S113とを行ない、タイミングエラー
であれば遅延調整バッファ情報ファイルD107から遅
延調整用のバッファセルを選択して仮想的に付加する選
択処理S114と、バッファセルが仮想的に付加された
状態で検証対象の回路内部セルの論理演算を行い、出力
状態値のスケジュールを行う論理演算処理S115、遅
延スケジュール処理S116とで構成される。
Process S110 schematically shows the simulation process S202. In the simulation process S110, an event input process S111 for detecting an event at an input terminal of a circuit internal cell to be verified.
Event time change processing S112 for replacing the time delayed by the added delay value with the event terminal change time if the event input terminal already has a buffer cell for delay adjustment virtually added to the input terminal; And a timing check process S113 for calculating a time difference from the target terminal change time in the verification target terminal for which the timing specification value is defined, and if a timing error occurs, the delay adjustment buffer information file D107 reads out the delay adjustment buffer information file D107. A selection process S114 for selecting and virtually adding a buffer cell, and a logic operation process S115 for performing a logic operation on a circuit internal cell to be verified in a state where the buffer cell is virtually added and scheduling an output state value. , Delay schedule processing S116.

【0052】次に、上述した構成に基づき、本発明のタ
イミング検証方法を、本発明のタイミング検証方法の処
理の流れを示した図2および図3を参照しながら説明す
る。
Next, the timing verification method of the present invention based on the above-described configuration will be described with reference to FIGS. 2 and 3 which show the processing flow of the timing verification method of the present invention.

【0053】なお、図2および図3それぞれの図中に示
したの各節点を接続することにより全体の構
成となる。
The whole structure is obtained by connecting the nodes shown in FIGS. 2 and 3 respectively.

【0054】まず、シミュレーション実行に際し、予め
作成する必要のある情報ファイルについて説明する。遅
延・タイミング制約情報ファイルD101は、回路設計
に使用可能な全てのセルの遅延情報および回路内部セル
のタイミングスペック値が格納されているファイルであ
る。
First, an information file that needs to be created in advance when executing a simulation will be described. The delay / timing constraint information file D101 is a file storing delay information of all cells usable for circuit design and timing specification values of cells inside the circuit.

【0055】このファイルは、本発明に用いる他に、設
計回路内部全てのセル間の配線遅延およびタイミングス
ペック情報が定義された配線遅延定義である回路SDF
D102を作成する際にも参照される。
In addition to the file used in the present invention, this file is a circuit SDF which is a wiring delay definition in which wiring delay and timing specification information between all cells in the design circuit are defined.
It is also referred to when creating D102.

【0056】ブロックリストD108は、回路設計に使
用可能な全てのセルの内、本発明に利用されるバッファ
セルであって、遅延調整目的で設計回路内に付加可能な
バッファセル名称のリストファイルである。
The block list D108 is a buffer file used in the present invention among all cells usable for circuit design, and is a list file of buffer cell names that can be added to the design circuit for delay adjustment purposes. is there.

【0057】データ処理S200は、これらの2つのフ
ァイル、遅延・タイミング制約情報ファイルD101お
よびブロックリストD102を参照してデータ処理を行
ない、遅延調整用のバッファセルのみの遅延情報を抽出
して格納した遅延調整バッファ情報ファイルD107の
作成を行う。
The data processing S200 performs data processing with reference to these two files, the delay / timing constraint information file D101 and the block list D102, and extracts and stores delay information of only buffer cells for delay adjustment. A delay adjustment buffer information file D107 is created.

【0058】遅延調整バッファ情報ファイルD107
は、本発明において直接参照されるファイルである。な
お、この遅延調整バッファ情報ファイルD107は、イ
ベント毎に作成する必要はない。
Delay adjustment buffer information file D107
Is a file directly referenced in the present invention. Note that the delay adjustment buffer information file D107 does not need to be created for each event.

【0059】次に、本発明のタイミング検証方法の処理
フローの説明を行う。
Next, the processing flow of the timing verification method of the present invention will be described.

【0060】入力イベント検出処理S201は、回路内
部セルの入力端子においてイベントが発生するとそのイ
ベントを検出する処理である。
The input event detection process S201 is a process for detecting an event when an event occurs at an input terminal of a circuit internal cell.

【0061】バッファ付加判別処理S202は、入力イ
ベント検出処理S102で入力イベントを検出した際、
当該回路内部セルの入力端子がシミュレーション開始か
ら入力イベント検出時刻までの間で遅延調整用のバッフ
ァセルが付加されたイベント入力端子であるかを、結果
格納ファイルD106を参照して判別する処理である。
The buffer addition determining process S202 is performed when an input event is detected in the input event detecting process S102.
This processing is to determine whether the input terminal of the circuit internal cell is an event input terminal to which a buffer cell for delay adjustment has been added from the start of the simulation to the input event detection time, by referring to the result storage file D106. .

【0062】遅延調整バッファ遅延値検索処理S203
は、バッファ付加判別処理S202において当該入力端
子が遅延調整用のバッファセルを付加されたイベント入
力端子であると判別された場合は、付加された遅延調整
用のバッファセルの遅延値を、遅延調整バッファ情報フ
ァイルD107を参照して検索する処理である。
Delay adjustment buffer delay value search processing S203
When the input terminal is determined to be the event input terminal to which the buffer cell for delay adjustment is added in the buffer addition determination processing S202, the delay value of the buffer cell for delay adjustment is added to the delay value. This is a process of searching with reference to the buffer information file D107.

【0063】イベント端子変化時刻変更処理S204
は、当該イベント端子変化時刻をS203で検索した遅
延値分だけ遅らせるとともに、遅らせた時刻をイベント
端子変化時刻に置き換える処理である。
Event terminal change time change processing S204
Is a process of delaying the event terminal change time by the delay value searched in S203 and replacing the delayed time with the event terminal change time.

【0064】一方、バッファ付加判別処理S202にお
いて、当該入力端子が遅延調整用のバッファセルを付加
されていない端子であると判別(no)された場合は、
現時刻をイベント端子変化時刻として次の処理S105
へ移る。
On the other hand, if it is determined in the buffer addition determining process S202 that the input terminal is a terminal to which a buffer cell for delay adjustment is not added (no),
The next processing S105 is performed using the current time as the event terminal change time.
Move to

【0065】時間差演算処理S205は、イベント端子
変化時刻変更処理S204またはバッファ付加判別処理
S202で決定されたイベント端子変化時刻と対象端子
変化時刻との時間差を演算する処理である。
The time difference calculation process S205 is a process for calculating the time difference between the event terminal change time determined in the event terminal change time change process S204 or the buffer addition determination process S202 and the target terminal change time.

【0066】ここで述べる対象端子とは、イベント入力
端子との間でタイミングスペック値が規定された関係を
有する端子を示し、イベント入力端子がクロック端子で
あれば、対象端子はデータ端子であり、反してイベント
入力端子がデータ端子であれば、対象端子はクロック端
子である。
The target terminal described here is a terminal having a relationship in which a timing specification value is defined with the event input terminal. If the event input terminal is a clock terminal, the target terminal is a data terminal. Conversely, if the event input terminal is a data terminal, the target terminal is a clock terminal.

【0067】時間差判別処理S206は、時間差演算処
理S205で演算した時間差が当該タイミングスペック
値より大きいかを判別し、小さければタイミングエラー
と判別(no)し、大きければタイミングエラーではな
いと判別(yes)する処理である。
The time difference determination processing S206 determines whether the time difference calculated in the time difference calculation processing S205 is larger than the timing specification value. If the time difference is smaller, it is determined as a timing error (no). If larger, it is determined that it is not a timing error (yes). ).

【0068】スペック値との不足時間算出処理S207
は、時間差判別処理S206で時間差が当該タイミング
スペック値より小さくタイミングエラーと判断された結
果に基づき、当該タイミングスペックと先に求めた時間
差との差分の時間であって、当該タイミングエラーを解
消するのに必要な時間を算出する処理である。
Insufficient time calculation processing with specification value S207
Is the time of the difference between the timing specification and the previously obtained time difference, based on the result that the time difference is smaller than the timing specification value in the time difference determination processing S206, and the timing error is eliminated. This is a process for calculating the time required for the operation.

【0069】仮想的バッファ付加処理S208は、遅延
調整バッファ情報ファイルD107を参照して、スペッ
ク値との不足時間算出処理S207で算出した時間より
も大きい遅延値を有するバッファセル名を選択するとと
もに、当該イベント入力端子に当該バッファセルを仮想
的に付加する処理である。
The virtual buffer addition processing S208 refers to the delay adjustment buffer information file D107, selects a buffer cell name having a delay value larger than the time calculated in the shortage calculation processing S207 with the specification value, and This is a process of virtually adding the buffer cell to the event input terminal.

【0070】第1の論理演算処理S209は、タイミン
グスペック値との不足時間よりも大きい遅延値を有する
バッファセルをイベント入力端子に仮想的に付加した状
態で当該回路内部セルの論理演算を行なう処理である。
The first logical operation process S209 is a process of performing a logical operation on a cell inside the circuit in a state where a buffer cell having a delay value larger than the shortage time with the timing specification value is virtually added to the event input terminal. It is.

【0071】第1の出力状態値判別処理S210は、第
1の論理演算処理S209の演算結果である出力状態値
が変化するかを判別する処理である。
The first output state value discriminating process S210 is a process for discriminating whether the output state value, which is the result of the first logical operation process S209, changes.

【0072】第1の遅延値付加処理S211は、第1の
出力状態値判別処理S210において出力状態値が変化
すると判別(yes)されると、当該イベントに対する
出力状態値の変化パスの遅延値に、仮想的バッファ付加
処理S208で選択された遅延調整用のバッファセルの
遅延値を付加する処理である。
The first delay value addition processing S211 determines that the output state value changes in the first output state value determination processing S210 (yes). This is a process of adding the delay value of the buffer cell for delay adjustment selected in the virtual buffer addition process S208.

【0073】第1の状態値スケジュール処理S212
は、遅延調整用のバッファセルの遅延値を付加された出
力状態値の遅延スケジュールを行い、結果格納ファイル
D106に格納した後、次のエラー情報およびリカバー
情報出力処理S213に移る処理である。
First state value schedule processing S212
Is a process of performing a delay schedule of the output state value to which the delay value of the buffer cell for delay adjustment is added, storing the result in the result storage file D106, and then proceeding to the next error information and recovery information output process S213.

【0074】また、第1の出力状態値判別処理S210
において出力状態値が変化しないと判別(no)された
場合も次のエラー情報およびリカバー情報出力処理S2
13に移り、タイミングエラー情報と遅延調整用のバッ
ファセルを付加したことを仮定して当該タイミングエラ
ーが解消したことを示す旨のリカバー情報を結果格納フ
ァイルD106に出力し、次の終了時刻判別処理S21
4へ移る。
The first output state value discrimination processing S210
Also in the case where it is determined (No) that the output state value does not change in the above, the next error information and recovered information output processing S2
13, assuming that timing error information and a buffer cell for delay adjustment have been added, recovery information indicating that the timing error has been eliminated is output to the result storage file D106, and the next end time determination process is performed. S21
Move to 4.

【0075】一方、時間差判別処理S206においてS
205で演算した時間差が当該タイミングスペック値よ
りも大きい場合の処理を説明する。
On the other hand, in the time difference determination processing S206, S
Processing when the time difference calculated in 205 is larger than the timing specification value will be described.

【0076】第2の論理演算処理S215は、検証対象
の回路内部セルの論理演算をバッファセルを付加せずに
実行する処理である。
The second logical operation process S215 is a process for executing a logical operation on a circuit internal cell to be verified without adding a buffer cell.

【0077】第2の出力状態値判別処理S216は、第
2の論理演算処理S215の演算結果である出力状態値
が変化するかを判別する処理である。
The second output state value discriminating process S216 is a process for discriminating whether or not the output state value, which is the result of the second logical operation process S215, changes.

【0078】第2の遅延値付加処理S217は、出力状
態値が変化すると判別された際に、当該イベントに対す
る出力状態値の変化パスの遅延値を付加する処理であ
る。
The second delay value adding process S217 is a process of adding a delay value of a change path of the output state value to the event when it is determined that the output state value changes.

【0079】第2の状態値スケジュール処理S218
は、第2の遅延値付加処理S217で遅延値が付加され
た出力状態値のスケジュールを行い、そのスケジュール
結果を結果格納ファイルD106に格納する処理であ
る。
Second state value schedule processing S218
Is a process of scheduling the output state value to which the delay value has been added in the second delay value adding process S217, and storing the schedule result in the result storage file D106.

【0080】終了時刻判別処理S214は、検証パタン
が終了時刻かの判別を行い、終了時刻でなければ入力イ
ベント検出処理S201に移り、終了時刻であれば処理
を終了する処理である。
The end time determination process S214 is a process for determining whether or not the verification pattern is the end time. If the end time is not the end time, the process proceeds to the input event detection process S201.

【0081】上述した各処理に基づき、図2、図3、図
4、図5、図6、図7を用いて具体的にタイミング検証
方法を説明する。
The timing verification method will be specifically described with reference to FIGS. 2, 3, 4, 5, 6, and 7 based on the above-described processes.

【0082】以下の説明で用いる回路ネットリストの一
例を示した図4を参照すると、この回路ネットリスト
は、3つのDFFの回路内部セルで構成されており、各
回路内部セル名称はそれぞれA1,A2,A3と定義さ
れている(以下、各回路内部セル名称をA1,A2,A
3と称す)。また、A1,A2,A3が持つ端子名称の
Dはデータ端子、Cはクロック端子、Qは出力端子を示
す。
Referring to FIG. 4 showing an example of a circuit netlist used in the following description, this circuit netlist is composed of circuit internal cells of three DFFs, and each circuit internal cell name is A1, A2, A3 (hereinafter, each circuit internal cell name is A1, A2, A3).
3). In the terminal names of A1, A2, and A3, D indicates a data terminal, C indicates a clock terminal, and Q indicates an output terminal.

【0083】図5(a)は、上述したA1,A2,A3
で表されるDFFの真理値表であり、図5(b)はタイ
ミングスペックを示している。クロック信号のロウ(L
ow)レベルおよびハイ(High)レベル期間のパル
ス幅(Width)をそれぞれ1nsとすると、前述し
たように、セットアップタイムは、クロック信号を基準
として、その変化タイミング以前の時点でデータ信号の
変化点が確定している必要があり、そのデータ信号が確
定した時点(R=Rise/F=Fall)とクロック
信号の立ち上がり(R)との間の時間をセットアップ
(Setup)と定義し、そのタイミングスペックは
0.5nsとする。
FIG. 5 (a) shows A1, A2, A3 described above.
5B is a truth table of the DFF, and FIG. 5B shows a timing specification. Clock signal row (L
Assuming that the pulse widths (Width) of the ow) level and the high level period are 1 ns, respectively, as described above, the setup time of the data signal at the change point before the change timing is determined based on the clock signal. The time between the time when the data signal is determined (R = Rise / F = Fall) and the rise (R) of the clock signal is defined as setup (Setup), and its timing specification is 0.5 ns.

【0084】一方、ホールドタイムは、クロック信号を
基準として、その変化タイミング以後の時点でデータ信
号が確定している必要があり、クロック信号の変化タイ
ミングとそのデータ信号が確定した時点との間の時間を
ホールド(Hold)タイムと定義し、そのタイミング
スペックを0.5nsとする。
On the other hand, the hold time is based on the clock signal, and it is necessary for the data signal to be determined at a point after the change timing, and the hold time is determined between the clock signal change timing and the point at which the data signal is determined. The time is defined as a hold time, and its timing specification is set to 0.5 ns.

【0085】図4および検証パタンの一例を示した図6
(a)および結果格納ファイルの記述例を示した図6
(b)を併せて参照すると、本実施形態では、図4に示
す回路ネットリストを、図6(a)の検証パタンを用い
てシミュレーションを行うものとして説明する。なお、
図6(a)のD1,D2,C1,C2,N1,N2は図
4のネットリストにおける端子D1,D2,C1,C
2,N1,N2にそれぞれ対応している。
FIG. 4 and FIG. 6 showing an example of the verification pattern.
(A) and FIG. 6 showing a description example of a result storage file.
Referring also to FIG. 6B, in the present embodiment, the circuit netlist shown in FIG. 4 will be described assuming that simulation is performed using the verification pattern of FIG. 6A. In addition,
D1, D2, C1, C2, N1, and N2 in FIG. 6A are terminals D1, D2, C1, and C in the netlist in FIG.
2, N1 and N2.

【0086】まず、本発明のタイミング検証を行うため
のシミュレーション実行に際し、予め作成する必要のあ
る遅延調整バッファ情報ファイルについて説明を行う。
First, a description will be given of a delay adjustment buffer information file that needs to be created in advance when executing a simulation for performing timing verification according to the present invention.

【0087】図7は遅延調整バッファ情報ファイルを予
め作成するための処理である。図7中の遅延・タイミン
グ制約情報ファイルD101の記述例において、cel
l(BUF01)はブロック名(BUF01)を表す。
tpd tableでは、in H01 Rは入力端子
(H01)の値がR(rise)する時であることを示
す。out N01 Rは出力端子(N01)の値がR
(rise)する時であることを示す。tableでは
min 0.1000はmin条件の遅延値、typ
0.2000はtyp条件の遅延値、max 0.30
00はmax条件の遅延値をそれぞれ示す。
FIG. 7 shows a process for creating a delay adjustment buffer information file in advance. In the description example of the delay / timing constraint information file D101 in FIG.
1 (BUF01) represents a block name (BUF01).
In the tpd table, in H01 R indicates that the value of the input terminal (H01) is R (rise). out N01 R is the value of the output terminal (N01) is R
(Rise). In the table, min 0.1000 is the delay value of the min condition, type
0.2000 is the delay value of the type condition, max 0.30
00 indicates a delay value under the max condition.

【0088】ブロックリストD108には遅延調整用の
バッファセルBUF01,BUF02,BUF03,B
UF04が記述されていることを表している。
The block list D108 includes buffer cells BUF01, BUF02, BUF03, B for delay adjustment.
UF04 is described.

【0089】遅延調整バッファ情報ファイルD107に
ついては、遅延・タイミング制約情報ファイルD101
のformatを変えたファイルになっている。
As for the delay adjustment buffer information file D107, the delay / timing constraint information file D101
The file has changed the format.

【0090】BUF01〜4はブロック名、IOPAT
H H01 N01は端子名で入力端子(H01)、出
力端子(N01)を表す。左側の(1:2:3)は入力
端子の値が何らかに変化した時、N01がR(ris
e)する時の遅延値(min条件:typ条件:max
条件)を表す。右側の(1:2:3)は入力端子の値が
何らかに変化した時、N01がF(Fall)する時の
遅延値(min条件:typ条件:max条件)を表
す。
BUF01-4 are block names, IOPAT
H H01 N01 is a terminal name representing an input terminal (H01) and an output terminal (N01). In the left side (1: 2: 3), when the value of the input terminal changes in some way, N01 is R (ris)
e) Delay value when performing (min condition: type condition: max)
Condition). (1: 2: 3) on the right side represents a delay value (min condition: type condition: max condition) when N01 changes to F (Fall) when the value of the input terminal changes in some way.

【0091】一方、図6(b)を参照すると、セットア
ップエラーのリカバー情報として時刻2000で、A1
(DFF)のクロック端子Cおよびデータ端子D間の時
間差は4時刻であり、規定されているスペック値は5時
刻である。従ってA1のクロック端子CにBUF01を
付加することが記載されている。さらに、ホールドエラ
ー情報として、時刻4000で、A3(DFF)のにク
ロック端子Cおよびデータ端子D間の時間差は1時刻で
あり、規定されているスペック値は5時刻である。従っ
て、A3のデータ端子DにBUF02を付加することが
記載されている。
On the other hand, referring to FIG. 6B, at time 2000, A1
The time difference between the clock terminal C and the data terminal D of (DFF) is four times, and the specified spec value is five times. Therefore, it is described that BUF01 is added to the clock terminal C of A1. Further, as the hold error information, at time 4000, the time difference between the clock terminal C and the data terminal D of A3 (DFF) is one time, and the specified spec value is five times. Therefore, it is described that BUF02 is added to the data terminal D of A3.

【0092】これらの内容記述例のバッファセル名称、
遅延値等は以下に述べる実施形態の説明で随時引用され
るであろう。
The buffer cell names of these content description examples,
The delay value and the like will be referred to at any time in the description of the embodiment described below.

【0093】処理S200は、図4に示す回路ネットリ
スト内の全てのセルの遅延条件の遅延値等が記述されて
いる遅延・タイミング制約情報ファイルD101と、回
路設計に使用可能な全てのセルの内、遅延調整の目的で
回路内に付加可能なバッファセル名称のブロックリスト
ファイルD108を参照して、遅延調整バッファセルの
みの遅延情報を抽出した遅延調整バッファ情報ファイル
D107の作成を行う。
The process S200 includes a delay / timing constraint information file D101 in which delay values of delay conditions of all cells in the circuit net list shown in FIG. Of these, a delay adjustment buffer information file D107 in which delay information of only delay adjustment buffer cells is extracted is created with reference to a block list file D108 of a buffer cell name that can be added to the circuit for the purpose of delay adjustment.

【0094】上述した処理S200で作成された遅延調
整バッファ情報ファイルD107は、予め作成すること
が可能であるから、イベント毎に作成する必要はない。
Since the delay adjustment buffer information file D107 created in the above-described process S200 can be created in advance, it is not necessary to create it for each event.

【0095】まず、図6(a)の時刻T2において、A
1にSetupタイミングエラーが発生した場合と、図
6(a)の時刻T6においてA3にHoldタイミング
エラーが発生した場合のタイミング検証処理を図2およ
び図3の処理フローを用いて説明する。
First, at time T2 in FIG.
1 and a Hold timing error at A3 at time T6 in FIG. 6A will be described with reference to FIGS. 2 and 3.

【0096】なお、以下の説明を容易にするために各回
路内部セルの入力イベントに対する出力変化の遅延値は
同一値を用いて説明し、遅延条件は最大値を使用する。
In order to facilitate the following description, the delay value of the output change with respect to the input event of each circuit internal cell is described using the same value, and the maximum value is used as the delay condition.

【0097】また、図6(a)中に示す時刻、例えばT
2の2000時刻は、0.1nsを1時刻に換算したも
のである。
The time shown in FIG.
The 2000 time of 2 is obtained by converting 0.1 ns to 1 time.

【0098】最初に図6(a)の時刻T2においてA1
にSetupタイミングエラーが発生した場合における
処理を用いて説明を行う。
First, at time T2 in FIG.
Will be described with reference to the processing when a Setup timing error occurs.

【0099】時刻T2において、シミュレーション回路
内の回路内部セルA1に入力イベントを検出すると、バ
ッファ付加判別処理S202において当該回路内部セル
A1のイベント端子となる入力端子Cがシミュレーショ
ン開始から現時刻T2までに、遅延調整用のバッファセ
ルが付加された端子であるかを結果格納ファイルD10
6を参照して判別を行う。
At time T2, when an input event is detected in the circuit internal cell A1 in the simulation circuit, the input terminal C serving as the event terminal of the circuit internal cell A1 is changed from the start of the simulation to the current time T2 in the buffer addition determining process S202. Whether the terminal is a terminal to which a buffer cell for delay adjustment is added is stored in the result storage file D10.
6 is determined.

【0100】結果としてシミュレーション開始から現時
刻T2までの間においては、A1の入力端子Cにおける
タイミングエラーが発生していないので、現時刻T2に
おける時刻2000をイベント端子変化時刻として時間
差演算処理S205に移る。
As a result, during the period from the start of the simulation to the current time T2, no timing error has occurred at the input terminal C of A1. Therefore, the time 2000 at the current time T2 is set as the event terminal change time, and the process proceeds to the time difference calculation processing S205. .

【0101】時間差演算処理S205において、イベン
ト端子変化時刻T2と時刻T1との時間差を算出する。
つまり、A1の入力端子C(クロック端子)および入力
端子D(データ端子)の間ではタイミングスペック値が
規定されており、T1は、入力端子Dにおけるイベント
であり、入力端子Cのイベント端子変化時刻T2よりも
前のイベントである。
In the time difference calculation process S205, a time difference between the event terminal change time T2 and the time T1 is calculated.
That is, a timing specification value is defined between the input terminal C (clock terminal) and the input terminal D (data terminal) of A1, and T1 is an event at the input terminal D, and an event terminal change time of the input terminal C. This is an event before T2.

【0102】前述したように、ここでは0.1nsを1
時刻として表現しているから、求める時間差は、現時刻
T2(2000時刻)−T1(1996時刻)=4時刻
となる。
As described above, here, 0.1 ns is set to 1
Since the time difference is expressed as time, the time difference to be obtained is the current time T2 (2000 time) −T1 (1996 time) = 4 times.

【0103】時間差演算処理S205で時間差=4時刻
が算出されたので、時間差判別処理S206において
は、時間差=4時刻がA1の有するタイミングスペック
値より大きいかを判別する。
Since the time difference = 4 times has been calculated in the time difference calculation processing S205, it is determined in the time difference determination processing S206 whether the time difference = 4 times is greater than the timing specification value of A1.

【0104】時間差演算処理S205で演算した時間差
が4時刻であり、A1の有するタイミングスペック値は
5時刻であるから、時間差演算処理S205で演算した
時間差の方がタイミングスペック値より小さいため、タ
イミングエラーが発生したと判断される。
Since the time difference calculated in the time difference calculation processing S205 is four times and the timing specification value of A1 is five times, the time difference calculated in the time difference calculation processing S205 is smaller than the timing specification value. Is determined to have occurred.

【0105】次にスペック値との不足時間算出処理S2
07において当該タイミングエラーを解消するのに必要
な時間を求める。すなわち、時間差演算処理S205で
演算した時間差とタイミングスペック値との不足時間を
算出すると、5時刻−4時刻で1時刻不足していること
になる。これが当該タイミングエラーを解消するのに必
要な時間である。
Next, shortage time calculation processing S2 with the specification value
At 07, a time required for eliminating the timing error is obtained. That is, when the shortage time between the time difference calculated in the time difference calculation process S205 and the timing specification value is calculated, one time is short by five times and four times. This is the time required to resolve the timing error.

【0106】タイミングエラーを解消するのに必要な時
間が得られたので、仮想的バッファ付加処理S208に
おいては、スペック値との不足時間算出処理S207で
算出した不足時間よりも大きい遅延値を有する遅延調整
用のバッファセルを、遅延調整バッファ情報ファイルD
107から選択(BUF01)するとともに、当該イベ
ント端子(本タイミングエラー項目に関してはA1にお
けるC端子)に当該バッファセルを仮想的に付加する。
Since the time required to eliminate the timing error is obtained, in the virtual buffer adding process S208, a delay having a delay value larger than the shortage time calculated in the shortage time calculation process S207 with the specification value is calculated. The buffer cell for adjustment is stored in the delay adjustment buffer information file D.
The buffer cell is selected (BUF01) from 107 and the buffer cell is virtually added to the event terminal (the C terminal in A1 for this timing error item).

【0107】本実施形態の説明においては、一例とし
て、タイミングエラーを解消するために1つの遅延調整
用のバッファセルのみを付加しているが、それに固定さ
れるものではなく、タイミングエラーを解消するための
不足時間が遅延調整バッファ情報ファイル内の単独セル
にて不可能であった場合には、遅延値の大きいバッファ
から順に遅延値の加算を行い、不足時間に達した時のバ
ッファをすべて選択することにより仮想遅延の追加を行
うことが出来ることは明らかである。
In the description of the present embodiment, as an example, only one buffer cell for delay adjustment is added in order to eliminate a timing error. However, the present invention is not limited to this, and the timing error is eliminated. If the shortage time is not possible for a single cell in the delay adjustment buffer information file, the delay value is added in order from the buffer with the largest delay value, and all buffers when the shortage time is reached are selected It is clear that the virtual delay can be added by performing the above.

【0108】その後第1の論理演算処理S209におい
て論理演算を行い、第1の出力状態値判別処理S210
では演算結果である出力状態値が変化するかの判別を行
う。
Thereafter, a logical operation is performed in a first logical operation processing S209, and a first output state value determination processing S210 is performed.
Then, it is determined whether or not the output state value as the calculation result changes.

【0109】本検証パタンにおいては、A1の入力端子
Cのクロックがハイレベルの状態値“1”に変化したこ
とにより出力状態値が変化することになるため、次の第
1の遅延値付加処理S211に移る。
In the present verification pattern, the output state value changes when the clock of the input terminal C of A1 changes to the high-level state value "1". Move to S211.

【0110】第1の遅延値付加処理S211において
は、当該イベントに対する出力状態値の変化パス(シミ
ュレーション開始から出力状態値の変化時刻まで)の遅
延値に、遅延調整用のバッファセルとして選択したBU
F01の遅延値(図6よりBUF01の遅延値はmax
=3時刻)を付加する。
In the first delay value adding process S211, the BU selected as the buffer cell for delay adjustment is added to the delay value of the output state value change path (from the start of simulation to the output state value change time) for the event.
The delay value of F01 (from FIG. 6, the delay value of BUF01 is max
= 3 time).

【0111】その後、第1の状態値スケジュール処理S
212にて第1の論理演算処理S209で算出した演算
結果の出力状態値の遅延スケジュールを行い、エラー情
報およびリカバー情報出力処理S213においては、エ
ラー情報と仮想的バッファ付加処理S208における処
理として、選択した遅延調整バッファ名を付加したとい
う仮定の下に当該タイミングエラーを解消したことを示
す旨のリカバー情報を結果格納ファイルD106に出力
する。
Thereafter, the first state value schedule processing S
In 212, a delay schedule of the output state value of the operation result calculated in the first logical operation process S209 is performed, and in the error information and recover information output process S213, the error information and the virtual buffer addition process S208 are selected. Under the assumption that the delay adjustment buffer name has been added, the recovery information indicating that the timing error has been resolved is output to the result storage file D106.

【0112】その後終了時刻判別処理S214に移る。
終了時刻判別処理S214にてパタンの終了時刻である
かの判別し、終了時刻ではないので入力イベント検出処
理S201の待ちに移る。
Thereafter, the flow shifts to end time determination processing S214.
In the end time determination process S214, it is determined whether or not the current time is the end time of the pattern. Since the time is not the end time, the process proceeds to the input event detection process S201.

【0113】次のイベント発生時刻T3において、再び
入力イベント検出処理S201でシミュレーション回路
内の回路内部セルに入力イベントを検出する。その後、
バッファ付加判別処理S202にて当該回路内部セルA
1のイベント端子Cがシミュレーション開始から現時刻
T3までの処理の間で遅延調整バッファが付加された端
子であるかを結果格納ファイルD106を参照して判別
する。
At the next event occurrence time T3, an input event is detected again in a circuit internal cell in the simulation circuit in the input event detection processing S201. afterwards,
In the buffer addition determination process S202, the circuit internal cell A
It is determined by referring to the result storage file D106 whether the event terminal C of No. 1 is a terminal to which the delay adjustment buffer is added during the processing from the start of the simulation to the current time T3.

【0114】時刻T2において、A1の当該イベント端
子Cにタイミングエラーが発生しているため、すでに遅
延調整バッファBUF01を仮想付加させている。この
ため遅延調整バッファ遅延値検索処理S203に移る。
At time T2, since a timing error has occurred at the event terminal C of A1, the delay adjustment buffer BUF01 has already been virtually added. Therefore, the process proceeds to the delay adjustment buffer delay value search processing S203.

【0115】遅延調整バッファ遅延値検索処理S203
において遅延調整バッファ情報ファイルD107を参照
し、付加された遅延調整用のバッファセルBUF01の
遅延値(=3時刻)を検索し抽出する。
Delay adjustment buffer delay value search processing S203
, The delay value (= 3 times) of the added delay adjustment buffer cell BUF01 is searched for and extracted with reference to the delay adjustment buffer information file D107.

【0116】イベント端子変化時刻変更処理S204に
おいて、現時刻T3に遅延調整用のバッファセルBUF
01を抽出しその遅延値分遅らせた時刻T4をイベント
端子変化時刻に置き換える。
In the event terminal change time change processing S204, the buffer cell BUF for delay adjustment is set at the current time T3.
01 is extracted and the time T4 delayed by the delay value is replaced with the event terminal change time.

【0117】時間差演算処理S205において、イベン
ト端子変化時刻T4と、イベント端子Cとの間でタイミ
ングスペック値が規定されたA1の入力端子D(データ
端子)におけるイベント端子変化時刻よりも前のイベン
ト時刻T1との時間差を演算する。
In the time difference calculation process S205, the event terminal change time T4 and the event time before the event terminal change time at the input terminal D (data terminal) of the input terminal A1 whose timing specification value is defined between the event terminal C and the event terminal C are defined. The time difference from T1 is calculated.

【0118】時間差判別処理S206において、時間差
演算処理S205で演算した時間差が当該タイミングス
ペック値より大きいかを判別する。
In the time difference determination processing S206, it is determined whether the time difference calculated in the time difference calculation processing S205 is larger than the timing specification value.

【0119】時間差演算処理S205において計算され
た時間差は、T4(2503時刻)−T1(1996時
刻)=507時刻であり、A1の有するタイミングスペ
ック値の5時刻より大きいので、タイミングエラーは発
生していないと判定する。
The time difference calculated in the time difference calculation processing S205 is T4 (2503 time) −T1 (1996 time) = 507 time, which is larger than the five time of the timing specification value of A1, so that a timing error has occurred. It is determined that there is not.

【0120】この後第2の論理演算処理S215に移り
論理演算を行う。
Thereafter, the flow shifts to a second logical operation process S215, where a logical operation is performed.

【0121】A1の入力端子Dにおけるデータ信号のレ
ベルがロウレベルの状態値“0”のままであり、変化が
発生していないため、出力状態値は変化しない。このた
め終了時刻判別処理S214に移る。
Since the level of the data signal at the input terminal D of A1 remains at the low level state value "0" and no change has occurred, the output state value does not change. Therefore, the process proceeds to the end time determination process S214.

【0122】終了時刻判別処理S214においてパタン
の終了時刻であるかを判別する。その後、入力イベント
検出処理S201に移る。
In the end time determination processing S214, it is determined whether or not it is the end time of the pattern. After that, it moves to the input event detection processing S201.

【0123】時刻T3から終了時刻までA1の入力端子
Cのイベント時刻にはBUF01の遅延値(=3時刻)
をそれぞれ仮想的に付加させ、A1の入力端子Cに遅延
調整用のバッファセルBUF01が付加されたという仮
定の状態でシミュレーション処理を行う。
From the time T3 to the end time, the event time of the input terminal C of A1 is the delay value of BUF01 (= 3 times).
Are virtually added, and the simulation process is performed on the assumption that the buffer cell BUF01 for delay adjustment is added to the input terminal C of A1.

【0124】また、この付加される遅延調整用のバッフ
ァセルについては、常にA1の入力端子Cの直前に付加
されることを想定して行う。従って、A1の入力端子C
と同一のクロックが分配される図4のA3のクロック端
子に対して影響を及ぼすことはない。
Further, it is assumed that the added buffer cell for delay adjustment is always added immediately before the input terminal C of A1. Therefore, the input terminal C of A1
There is no effect on the clock terminal A3 in FIG. 4 to which the same clock is distributed.

【0125】次に、図6(a)の時刻T6において、A
3にHoldタイミングエラーが発生した場合における
処理を説明する。
Next, at time T6 in FIG.
The process when a Hold timing error occurs in No. 3 will be described.

【0126】時刻T6において、シミュレーション回路
内の回路内部セルA3に入力イベントを検出した際、バ
ッファ付加判別処理S202においては、当該回路内部
セルA3のイベント端子Dがシミュレーション開始から
現時刻T6までに遅延調整用のバッファセルが付加され
た端子であるかを結果格納ファイルD106を参照して
判別を行う。
At time T6, when an input event is detected in the circuit internal cell A3 in the simulation circuit, in the buffer addition determining process S202, the event terminal D of the circuit internal cell A3 is delayed from the start of the simulation to the current time T6. It is determined whether or not the terminal is a terminal to which an adjustment buffer cell is added by referring to the result storage file D106.

【0127】シミュレーション開始から現時刻T6まで
の間に、A3の入力端子Dにはタイミングエラーは発生
していないため、T6における時刻をイベント端子変化
時刻とするとともに、時間差演算処理S205に移る。
Since no timing error has occurred at the input terminal D of A3 between the start of the simulation and the current time T6, the time at T6 is set as the event terminal change time, and the processing shifts to the time difference calculation processing S205.

【0128】時間差演算処理S205においては、イベ
ント端子変化時刻T6と、イベント端子Dとの間でタイ
ミングスペック値が規定されているA3の入力端子C
(クロック端子)におけるイベント時刻T5,すなわち
イベント端子変化時刻T6より前のイベントの時刻T5
との時間差を算出する。
In the time difference calculation process S205, the input terminal C of A3 in which the timing specification value is defined between the event terminal change time T6 and the event terminal D
(Clock terminal) event time T5, that is, the time T5 of the event before the event terminal change time T6
Is calculated.

【0129】結果としてT6(4000時刻)−T5
(3999時刻)=1時刻の時間差が求まる。
As a result, T6 (4000 time) -T5
(3999 time) = 1 time difference is obtained.

【0130】次に時間差判別処理S206においては、
時間差演算処理S205で演算した時間差がA3の有す
るタイミングスペック値より大きいかを判定する。
Next, in the time difference determination processing S206,
It is determined whether the time difference calculated in the time difference calculation process S205 is larger than the timing specification value of A3.

【0131】判定結果として時間差演算処理S205で
演算した時間差が1時刻であり、タイミングスペック値
は5時刻であるため、時間差演算処理S205で演算し
た時間差の方がタイミングスペック値より小さいので、
タイミングエラーが発生したと判定する。
As a result of the determination, the time difference calculated in the time difference calculation processing S205 is one time, and the timing specification value is five times. Therefore, the time difference calculated in the time difference calculation processing S205 is smaller than the timing specification value.
It is determined that a timing error has occurred.

【0132】次に、スペック値との不足時間算出処理S
207においては、当該タイミングエラーを解消するの
に必要な時間、すなわち時間差演算処理S205で演算
した時間差とタイミングスペック値との不足時間の算出
を行い、結果として、5時刻−1時刻で4時刻不足して
いることが求まる。
Next, shortage time calculation processing S with the specification value
In 207, the time required to resolve the timing error, that is, the shortage time between the time difference calculated in the time difference calculation processing S205 and the timing specification value is calculated, and as a result, 5 times-1 time is short by 4 times. That is what you do.

【0133】その後仮想的バッファ付加処理S208に
おいては、スペック値との不足時間算出処理S207で
算出した不足時間よりも大きい遅延を有する遅延調整用
のバッファセルを、図1の遅延調整バッファ情報ファイ
ルD107から選択するとともに、当該イベント端子D
に当該バッファセルを仮想付加する。
Thereafter, in the virtual buffer addition process S208, a buffer cell for delay adjustment having a delay larger than the shortage time calculated in the shortage time calculation process S207 with the specification value is stored in the delay adjustment buffer information file D107 in FIG. And the event terminal D
To the buffer cell.

【0134】結果としてスペック値との不足時間算出処
理S207で演算した不足時間である4時刻以上の遅延
値を持つ遅延調整用のバッファセルとしてBUF02を
選択する。
As a result, BUF02 is selected as a buffer cell for delay adjustment having a delay value of 4 hours or more, which is the shortage time calculated in the shortage time calculation processing S207 with the specification value.

【0135】本実施形態の説明においても、タイミング
エラーを解消するために1つの遅延調整バッファのみで
説明しているが、これに固定されるものではなく、タイ
ミングエラーを解消するための不足時間が遅延調整バッ
ファ情報ファイル内の単独セルでは不可能であった場合
には、遅延値の大きいバッファから順に遅延値の加算を
行い、不足時間に達した時のバッファをすべて選択する
ことにより、仮想遅延の追加を行う。
In the description of the present embodiment, only one delay adjustment buffer is used to eliminate the timing error. However, the present invention is not limited to this, and the shortage time for eliminating the timing error is not limited to this. If it is not possible with a single cell in the delay adjustment buffer information file, the delay value is added in order from the buffer with the largest delay value, and all the buffers when the shortage time is reached are selected, so that the virtual delay Is added.

【0136】また、この付加される遅延調整用のバッフ
ァセルについては、常にA3の入力端子Dの直前に付加
されることを想定して行う。
The delay adjustment buffer cell to be added is always assumed to be added immediately before the input terminal D of A3.

【0137】次に、第1の論理演算処理S209におい
て論理演算を行い、第1の出力状態値判別処理S210
において演算結果である出力状態値が変化するかを判別
し、イベント変化時刻T6以前においてはA3の入力端
子Dが変化していないことにより、出力状態値が変化し
ないとの判定を行い、次のエラー情報およびリカバー情
報出力処理S213に移る。
Next, a logical operation is performed in a first logical operation processing S209, and a first output state value determination processing S210 is performed.
It is determined whether the output state value, which is the calculation result, changes in, and before the event change time T6, since the input terminal D of A3 has not changed, it is determined that the output state value does not change. The process proceeds to error information and recovery information output processing S213.

【0138】次にエラー情報およびリカバー情報出力処
理S213においては、エラー情報と仮想的バッファ付
加処理S208で選択した遅延調整バッファ名を仮想的
に付加して当該タイミングエラーを解消したことを示す
旨のリカバー情報を結果格納ファイルD106に出力
し、時刻終了判別処理S214に移る。
Next, in the error information and recovery information output processing S213, the error information and the delay adjustment buffer name selected in the virtual buffer addition processing S208 are virtually added to indicate that the timing error has been resolved. The recovery information is output to the result storage file D106, and the process proceeds to the time end determination processing S214.

【0139】時刻終了判別処理S214でパタンの終了
時刻であるかの判別をし、終了時刻ではないため入力イ
ベント検出処理S201に移る。
In the time end determination processing S214, it is determined whether or not the current time is the end time of the pattern. Since it is not the end time, the flow shifts to the input event detection processing S201.

【0140】次にA3の入力端子Dにおける次のイベン
ト発生時刻T7において、再び入力イベント検出処理S
201でシミュレーション回路の回路内部セルA3に対
しての入力イベントを検出する。
Next, at the next event occurrence time T7 at the input terminal D of A3, the input event detection processing S
At 201, an input event to the circuit internal cell A3 of the simulation circuit is detected.

【0141】次にバッファ付加判別処理S202におい
て、当該回路内部セルA3のイベント端子Dがシミュレ
ーション開始から現時刻T7までの処理の間で、遅延調
整バッファが付加された端子であるかを結果格納ファイ
ルD104を参照して判定する。
Next, in the buffer addition determining process S202, it is determined whether or not the event terminal D of the circuit internal cell A3 is the terminal to which the delay adjustment buffer is added during the process from the start of the simulation to the current time T7. The determination is made with reference to D104.

【0142】結果として時刻T6においてA3の当該イ
ベント端子Dにタイミングエラーが発生し、遅延調整用
のバッファセルBUF02を仮想付加させているので、
遅延調整バッファ遅延値検索処理S203に移る。
As a result, at time T6, a timing error occurs at the event terminal D of A3, and the buffer cell BUF02 for delay adjustment is virtually added.
The process proceeds to the delay adjustment buffer delay value search processing S203.

【0143】遅延調整バッファ遅延値検索処理S203
において、遅延調整バッファ情報ファイルD107を参
照し、付加された遅延調整用のバッファセルBUF02
の遅延値を検索し抽出する。
Delay adjustment buffer delay value search processing S203
, With reference to the delay adjustment buffer information file D107, the added delay adjustment buffer cell BUF02
Search and extract the delay value of.

【0144】イベント端子変化時刻変更処理S204に
おいては、現時刻T7に遅延調整用のバッファセルBU
F02を抽出し、その遅延値分遅らせた時刻T8をイベ
ント端子変化時刻に置き換える。
In the event terminal change time change processing S204, the buffer cell BU for delay adjustment is set at the current time T7.
F02 is extracted, and the time T8 delayed by the delay value is replaced with the event terminal change time.

【0145】時間差演算処理S205において、イベン
ト端子変化時刻T8と、イベント端子との間でタイミン
グスペック値が規定されているA3の入力端子C(クロ
ック端子)におけるイベント変化時刻T5との時間差を
演算する。
In the time difference calculation processing S205, the time difference between the event terminal change time T8 and the event change time T5 at the input terminal C (clock terminal) of A3, whose timing specification value is defined between the event terminal, is calculated. .

【0146】時間差判別処理S206において、時間差
演算処理S205で演算した時間差が、当該タイミング
スペック値より大きいかを判別する。
In the time difference determination processing S206, it is determined whether the time difference calculated in the time difference calculation processing S205 is larger than the timing specification value.

【0147】時間差演算処理S205で求めた時間差
は、T8(4810時刻)−T5(3999時刻)=8
11時刻となり、タイミングスペック値の5時刻より大
きいのでタイミングエラーは発生していないとみなし、
第2の論理演算処理S215に移り論理演算を行う。
The time difference obtained in the time difference calculation processing S205 is T8 (4810 time) −T5 (3999 time) = 8
It is 11 hours, which is greater than 5 times of the timing specification value, so it is considered that no timing error has occurred,
The process proceeds to a second logical operation process S215 to perform a logical operation.

【0148】イベント変化時刻T8においては、A3の
入力端子Cが変化が発生していないので出力状態値は変
化しなことになり終了時刻判定処理S214に移る。
At the event change time T8, since the input terminal C of A3 has not changed, the output state value does not change, and the flow shifts to end time determination processing S214.

【0149】終了時刻判定処理S214においてパタン
の終了時刻であるかの判別後、入力イベント検出処理S
201に移る。
After it is determined in the end time determination processing S214 whether the current time is the end time of the pattern, the input event detection processing S
Move to 201.

【0150】時刻T8から終了時刻までA3の入力端子
Dのイベント時刻には、BUF02の遅延値(5時刻)
を仮想的に付加させ、A3の入力端子Dに遅延調整用の
バッファセルBUF02を付加させた仮定の状態でシミ
ュレーション処理を行う。
From the time T8 to the end time, the event time of the input terminal D of A3 includes the delay value of BUF02 (5 times).
Is virtually added, and the simulation process is performed under the assumption that the buffer cell BUF02 for delay adjustment is added to the input terminal D of A3.

【0151】上述したように、内部回路内の回路内部セ
ルはシミュレーション実行中のセットアップ時間または
ホールド時間がそれぞれ正値であり、かつシミュレーシ
ョン実行中に予め規定したセットアップ時間のスペック
値またはホールド時間のスペック値より小さいタイミン
グ違反が判明した場合に、遅延調整用のバッファセルを
回路内部セルのクロックまたはデータ入力端子に仮想的
に挿入し、回路内部セルの内部の遅延時間を変更しない
まま、バッファセルの仮想的挿入によってタイミング違
反が解消されたシミュレーション結果を得ることができ
る。
As described above, the circuit internal cell in the internal circuit has a positive value for the setup time or the hold time during the execution of the simulation, and the specification value of the setup time or the hold time for the predetermined setup time during the execution of the simulation. When a timing violation smaller than the value is found, a buffer cell for delay adjustment is virtually inserted into the clock or data input terminal of the circuit internal cell, and the delay time of the buffer cell is changed without changing the internal delay time of the circuit internal cell. A simulation result in which the timing violation is eliminated by the virtual insertion can be obtained.

【0152】また、本実施形態の論理シミュレーション
のタイミング検証方法では、タイミングエラーが発生し
た回路内部セルの入力端子に、当該タイミングエラーを
解消するための遅延調整用のバッファセルを回路データ
を変更することなしに挿入したと仮定して論理演算およ
びタイミングチェックを検証終了時刻まで行うことが可
能である。
In the logic simulation timing verification method of this embodiment, the circuit data is changed to a delay adjustment buffer cell for eliminating the timing error at the input terminal of the circuit internal cell where the timing error has occurred. It is possible to perform the logical operation and the timing check until the verification end time, assuming that the insertion is performed without any problem.

【0153】すなわち、シミュレーション中に発生した
回路内部セルのイベント入力端子およびこのイベント端
子との間でタイミングスペック値が規定された対象端子
間におけるタイミングエラーに対して、少なくとも一方
の端子に自動的に遅延調整用のバッファセルを仮想的に
挿入する遅延調整処理をイベント終了時刻まで実行し、
その結果の処置情報および処置後の演算結果を結果格納
ファイルに出力するとともに、その結果格納ファイルを
参照して回路修正の処置を行なった後、再シミュレーシ
ョンする。
That is, in response to a timing error between the event input terminal of the circuit internal cell generated during the simulation and the target terminal whose timing specification value is defined between the event input terminal and the event terminal, at least one of the terminals automatically receives the timing error. Execute the delay adjustment process of virtually inserting a buffer cell for delay adjustment until the event end time,
The resulting treatment information and the calculation result after the treatment are output to the result storage file, the circuit is corrected with reference to the result storage file, and then the simulation is performed again.

【0154】これは回路設計が収束するまでのタイミン
グエラー解析、回路修正、再シミュレーションの回数を
最小限に抑えることができ、設計期間短縮に効果があ
る。
This can minimize the number of timing error analysis, circuit correction, and re-simulation until the circuit design converges, which is effective in shortening the design period.

【0155】例えば、従来は、回路セル数が2000セ
ル程度で構成された回路のシミュレーションにおいてタ
イミングエラーが検出された場合、結果格納ファイルの
タイミングエラー情報より回路修正を施し、再シミュレ
ーションする回路検証は、回路設計収束まで平均6回程
の上記処置、つまりタイミングエラー検出、回路修正、
再シミュレーションの繰り返しを必要としていた。
For example, conventionally, when a timing error is detected in a simulation of a circuit having about 2000 circuit cells, a circuit is corrected based on the timing error information in a result storage file and re-simulated. On average, the above measures until the circuit design converges about six times, ie, timing error detection, circuit correction,
It required repeated re-simulation.

【0156】これらの実行回数が多くなるのは、タイミ
ングエラーが発生した場合、エラーセルの後段につなが
る回路のタイミング検証結果は、回路修正により当該エ
ラーセルのタイミングエラーを解消した後の修正回路ネ
ットリストを用いたシミュレーションを実行しなければ
解らないため、必要となっていた。
The reason why the number of executions increases is that when a timing error occurs, the result of the timing verification of the circuit connected to the subsequent stage of the error cell is the corrected circuit netlist after the timing error of the error cell is eliminated by circuit correction. This was necessary because the simulations used would have to be understood unless executed.

【0157】従って、一回の回路シミュレーションに約
30時間必要な回路規模であれば約180時間もの設計
期間が必要であった。
Therefore, if the circuit scale requires about 30 hours for one circuit simulation, a design period of about 180 hours is required.

【0158】これに対し、本発明は1回のシミュレーシ
ョンによる結果格納ファイルを参照して回路修正を施し
た場合、2回目のシミュレーション実行は確認のみで回
路設計を収束させることが可能となるので、上記と同じ
回路規模であれば約60時間で回路設計が収束し、約1
20時間の回路設計期間の短縮となる効果を得られる。
On the other hand, according to the present invention, when the circuit is corrected by referring to the result storage file obtained by one simulation, the circuit design can be converged only by confirming the second simulation. With the same circuit scale as above, the circuit design converges in about 60 hours, and
The effect of shortening the circuit design period of 20 hours can be obtained.

【0159】また、遅延調整用のバッファセルを自動挿
入することにより、回路動作を保証するという観点にお
いては、従来技術にあるCTS(クロックツリーシンセ
シス)という手法と同一ではあるが、CTSがクロック
ラインのみのスキューを一定値以内とすることにより回
路動作を保証する方法であるのにくらべ、本発明のタイ
ミング検証方法は、回路動作をクロックラインおよびデ
ータラインの遅延値を個別ならび任意に変更可能である
という異なる機能を有し、異なる効果が得られるもので
ある。
Further, from the viewpoint of assuring circuit operation by automatically inserting buffer cells for delay adjustment, the CTS (clock tree synthesis) method is the same as that of the prior art, but the CTS is In contrast to the method of assuring circuit operation by keeping only the skew within a certain value, the timing verification method of the present invention allows the circuit operation to individually and arbitrarily change the delay value of the clock line and the data line. It has a different function, and has different effects.

【0160】次に、本発明の他の実施形態例を説明す
る。
Next, another embodiment of the present invention will be described.

【0161】上述した本発明においては遅延調整用のバ
ッファセルとして、タイミングスペック値と、イベント
端子と対象端子の入力信号変化時刻の時間差との差分よ
り大きい遅延値を有する遅延調整用のバッファセルを選
択したが、シミュレーション回路の性質および構成によ
る入力端子負荷容量の関係によっては、1つの大きな遅
延値を有する遅延調整用のバッファセルを付加するより
は、遅延値の小さな遅延調整用のバッファセルを複数直
列に接続したものを付加した方が信号波形をくずさない
で伝搬可能な場合がある。
In the above-described present invention, a buffer cell for delay adjustment having a delay value larger than the difference between the timing specification value and the time difference between the input signal change times of the event terminal and the target terminal is used as the buffer cell for delay adjustment. However, depending on the relationship between the input terminal load capacitance due to the nature and configuration of the simulation circuit, a buffer cell for delay adjustment with a small delay value may be used instead of a buffer cell for delay adjustment having one large delay value. In some cases, it is possible to propagate a signal waveform without disturbing it by adding a plurality of serially connected ones.

【0162】信号波形をくずさない信号伝搬の実現は、
特に高い周波数で動作する回路において、その動作周波
数の低下を軽減させる効果がある。
To realize signal propagation without disturbing the signal waveform,
In particular, a circuit operating at a high frequency has an effect of reducing a decrease in the operating frequency.

【0163】本発明は、このような特定の遅延値以下の
遅延値を有する複数の遅延調整用のバッファセルを選択
し付加することもできる。すなわち、許容最大遅延値の
設定と図2の仮想的バッファ付加処理S208の処理の
一部を変更するだけで実現可能である。その方法を次に
説明する。
According to the present invention, a plurality of buffer cells for delay adjustment having a delay value equal to or less than the specific delay value can be selected and added. That is, it can be realized only by changing the setting of the allowable maximum delay value and a part of the virtual buffer adding process S208 in FIG. The method will be described below.

【0164】仮想的バッファ付加処理S208を他の処
理に置き換えたフローチャートを示した図8を参照する
と、前述した実施形態の図2における不足時間算出処理
S208に続く処理として、許容最大遅延値読み込み処
理S301を実行する。この許容最大遅延値読み込み処
理S301においては、遅延調整バッファ情報ファイル
D107を参照して、当該回路のシミュレーションにお
ける遅延調整用のバッファセルの遅延値のうち、許容最
大遅延値を読み込む。
Referring to FIG. 8, which shows a flowchart in which the virtual buffer addition process S208 is replaced with another process, the allowable maximum delay value reading process is a process subsequent to the shortage time calculation process S208 in FIG. Execute S301. In the allowable maximum delay value reading process S301, the allowable maximum delay value among the delay values of the buffer cells for delay adjustment in the simulation of the circuit is read with reference to the delay adjustment buffer information file D107.

【0165】次に、許容最大遅延値の判別処理S302
では、タイミングエラーを解消するに必要な不足時間
が、許容最大遅延値より大きいかを判別する。
Next, processing S302 for determining the allowable maximum delay value
Then, it is determined whether the shortage time required to resolve the timing error is larger than the allowable maximum delay value.

【0166】遅延値小のバッファ選択処理S303で
は、許容最大遅延値判別処理S302の判別結果におい
て不足時間が許容最大遅延値より大きければ、遅延調整
バッファファイルを参照し、許容最大遅延値以下の遅延
値を有するバッファセル名を選択する。
In the small delay value buffer selection processing S303, if the shortage time is larger than the maximum allowable delay value in the result of the determination in the maximum allowable delay value determination processing S302, the delay adjustment buffer file is referred to and the delay equal to or less than the maximum allowable delay value is determined. Select a buffer cell name that has a value.

【0167】第1の仮想付加処理S304では、遅延値
小のバッファ選択処理S303で選択されたバッファセ
ルを当該イベント端子に仮想付加する。
In the first virtual addition process S304, the buffer cell selected in the small delay value buffer selection process S303 is virtually added to the event terminal.

【0168】不足時間変更処理S305では、当該不足
時間から、選択したバッファセルの遅延値を差し引いた
時間を新たな不足時間とするとともに、許容最大遅延値
の判別処理S302に戻る。
In the shortage time change processing S305, the time obtained by subtracting the delay value of the selected buffer cell from the shortage time is set as a new shortage time, and the process returns to the allowable maximum delay value determination processing S302.

【0169】許容最大遅延値の判別処理S302におい
てタイミングエラーを解消するに必要な不足時間が、許
容最大遅延値より小さいと判別された場合は、遅延値大
のバッファ選択処理S306で、遅延調整バッファファ
イルD103を参照し不足時間より大きい遅延値を有す
るバッファを選択する。
If it is determined in the allowable maximum delay value determination processing S302 that the shortage time required to resolve the timing error is smaller than the allowable maximum delay value, the delay adjustment buffer selection processing S306 selects a delay adjustment buffer. A buffer having a delay value larger than the shortage time is selected with reference to the file D103.

【0170】第2の仮想付加処理S307では、遅延値
大のバッファ選択処理S306で選択したバッファセル
を、当該イベント端子に仮想付加し、図3に示した第1
の論理演算処理S209へ移る。
In the second virtual addition process S307, the buffer cell selected in the delay value large buffer selection process S306 is virtually added to the event terminal, and the first cell shown in FIG.
The processing moves to the logical operation processing S209.

【0171】この実施形態でも、1回のシミュレーショ
ンによる結果格納ファイルを参照して回路修正を施した
場合、2回目のシミュレーション実行は確認のみで回路
設計を収束させることが可能となるとともに、1つの大
きな遅延値を有する遅延調整用のバッファセルを付加す
るよりは、遅延値の小さな遅延調整用のバッファセルを
複数直列に接続したものを付加して、信号波形をくずさ
ないで伝搬することができる。
Also in this embodiment, when the circuit is corrected by referring to the result storage file obtained by one simulation, the circuit design can be converged only by confirmation in the second simulation execution, and one Rather than adding a delay adjustment buffer cell having a large delay value, a plurality of delay adjustment buffer cells having a small delay value connected in series can be added to propagate a signal waveform without disturbing the signal waveform. .

【0172】[0172]

【発明の効果】以上説明したように、本発明の論理シミ
ュレーションのタイミング検証方法は、シミュレーショ
ン中に発生した回路内部セルのイベント入力端子および
このイベント端子との間でタイミングスペック値が規定
された対象端子間におけるタイミングエラーに対して、
少なくとも一方の端子に自動で遅延調整用のバッファセ
ルを仮想的に挿入する遅延調整処理フローをイベント終
了時刻まで実行し、その結果の処置情報および処置後の
演算結果を結果格納ファイルに出力するとともに、その
結果格納ファイルを参照して回路修正の処置を行なった
後、再シミュレーションするので、回路設計が収束する
までのタイミングエラー解析、回路修正、再シミュレー
ションの回数を最小限に抑えることができ、設計期間短
縮に効果がある。
As described above, according to the timing verification method of the logic simulation of the present invention, an event input terminal of a circuit internal cell generated during a simulation and an object whose timing specification value is defined between the event input terminal and the event input terminal are defined. For timing errors between terminals,
A delay adjustment processing flow for automatically inserting a buffer cell for delay adjustment into at least one of the terminals is executed until the event end time, and the resulting treatment information and the calculation result after the treatment are output to a result storage file. Since the results are re-simulated after referring to the storage file and performing circuit correction, the number of times of timing error analysis, circuit correction, and re-simulation until the circuit design converges can be minimized. This is effective in shortening the design period.

【0173】従って、本発明は1回のシミュレーション
による結果ファイルを参照して回路修正を施した場合、
2回目のシミュレーション実行確認のみで回路設計を収
束させることができる。
Therefore, according to the present invention, when a circuit is modified with reference to a result file obtained by one simulation,
The circuit design can be converged only by the second simulation execution confirmation.

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

【図1】本発明の一実施形態の全体構成を示した図であ
る。
FIG. 1 is a diagram showing an overall configuration of an embodiment of the present invention.

【図2】本発明のタイミング検証方法の処理の流れの前
半部分を示した図である。
FIG. 2 is a diagram showing a first half of a processing flow of a timing verification method of the present invention.

【図3】本発明のタイミング検証方法の処理の流れの後
半部分を示した図である。
FIG. 3 is a diagram showing the latter half of the processing flow of the timing verification method of the present invention.

【図4】回路ネットリストの一例を示した図である。FIG. 4 is a diagram showing an example of a circuit netlist.

【図5】(a)DFFの真理値表である。 (b)タイミングスペックを示す図である。FIG. 5A is a truth table of a DFF. (B) is a diagram showing a timing specification.

【図6】(a)検証パタンの一例を示した図である。 (b)結果格納ファイルの記述例を示す図である。FIG. 6A illustrates an example of a verification pattern. (B) is a diagram showing a description example of a result storage file.

【図7】遅延調整バッファ情報ファイルを予め作成する
ための処理を示す図である。
FIG. 7 is a diagram showing a process for creating a delay adjustment buffer information file in advance.

【図8】仮想的バッファ付加処理S208を他の処理に
置き換えた時の処理を示す図である。
FIG. 8 is a diagram illustrating processing when the virtual buffer addition processing S208 is replaced with another processing.

【図9】従来のタイミング検証の全体の構成を示す図で
ある。
FIG. 9 is a diagram showing an entire configuration of a conventional timing verification.

【図10】従来のタイミング検証の処理の流れを示した
図である。
FIG. 10 is a diagram showing a flow of a conventional timing verification process.

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

A1,A2,A3 DFF D1,D2,C1,C2,N1,N2 ネットリスト
における端子 D101,D301 遅延・タイミング制約情報ファ
イル D102,D302 回路SDF D103,D303 回路ネットリスト D104,D304 ライブラリ D105,D305 検証パタン D106,D306 結果格納ファイル D107 遅延調整バッファ情報ファイル D108 ブロックリスト S101,S311 遅延計算プログラム S102,S312 シミュレーション処理 S111,S321 イベント入力処理 S112 イベント時刻変更処理 S113 タイミングチェック処理 S114 選択処理 S115 論理演算処理 S116 遅延スケジュール処理 S200 データ処理 S201,S321,S331 入力イベント検出処
理 S202 バッファ付加判別処理 S203 遅延調整バッファ遅延値検索処理 S204 イベント端子変化時刻変更処理 S205 時間差演算処理 S206 時間差判別処理 S207 スペック値との不足時間算出処理 S208 仮想的バッファ付加処理 S209,S334 第1の論理演算処理 S210,S335 第1の出力状態値判別処理 S211,S336 第1の遅延値付加処理 S212,S337 第1の状態値スケジュール処理 S213 エラー情報およびリカバー情報出力処理 S214,S339 終了時刻判別処理 S215,S340 第2の論理演算処理 S216,S341 第2の出力状態値判別処理 S217,S342 第2の遅延値付加処理 S218,S343 第2の状態値スケジュール処理 S301 許容最大遅延値読み込み処理 S302 許容最大遅延値の判別処理 S303 遅延値小のバッファ選択処理 S304 第1の仮想付加処理 S305 不足時間変更処理 S306 遅延値大のバッファ選択処理 S307 第2の仮想付加処理
A1, A2, A3 DFF D1, D2, C1, C2, N1, N2 Terminals in the netlist D101, D301 Delay / timing constraint information file D102, D302 Circuit SDF D103, D303 Circuit netlist D104, D304 Library D105, D305 Verification pattern D106, D306 Result storage file D107 Delay adjustment buffer information file D108 Block list S101, S311 Delay calculation program S102, S312 Simulation processing S111, S321 Event input processing S112 Event time change processing S113 Timing check processing S114 Selection processing S115 Logical operation processing S116 Delay Schedule processing S200 Data processing S201, S321, S331 Input event detection processing S2 02 Buffer addition determination processing S203 Delay adjustment buffer delay value search processing S204 Event terminal change time change processing S205 Time difference calculation processing S206 Time difference determination processing S207 Insufficient time calculation processing with specification values S208 Virtual buffer addition processing S209, S334 First logic Calculation processing S210, S335 First output state value discrimination processing S211, S336 First delay value addition processing S212, S337 First state value schedule processing S213 Error information and recovery information output processing S214, S339 End time discrimination processing S215, S340 Second logical operation processing S216, S341 Second output state value discrimination processing S217, S342 Second delay value addition processing S218, S343 Second state value schedule processing S301 Permissible maximum delay value read Physical S302 allowable maximum delay value determination process S303 delay value small buffer selection process S304 first virtual additional processing S305 insufficient time changing process S306 delay value sized buffer selection processing S307 second virtual additional processing

───────────────────────────────────────────────────── フロントページの続き (51)Int.Cl.7 識別記号 FI テーマコート゛(参考) G06F 19/00 110 G06F 19/00 110 H01L 21/82 H01L 21/82 C Fターム(参考) 5B046 AA08 BA03 JA01 JA05 5B049 AA06 BB07 CC23 CC32 EE01 EE31 EE42 EE56 EE59 GG04 GG07 5F064 BB19 BB28 EE02 EE47 HH06 HH09 HH12 ──────────────────────────────────────────────────続 き Continued on the front page (51) Int.Cl. 7 Identification symbol FI Theme coat ゛ (Reference) G06F 19/00 110 G06F 19/00 110 H01L 21/82 H01L 21/82 CF term (Reference) 5B046 AA08 BA03 JA01 JA05 5B049 AA06 BB07 CC23 CC32 EE01 EE31 EE42 EE56 EE59 GG04 GG07 5F064 BB19 BB28 EE02 EE47 HH06 HH09 HH12

Claims (13)

【特許請求の範囲】[Claims] 【請求項1】 検証対象の内部回路に対しイベントドリ
ブン方式による論理シミュレーション装置を用いた論理
シミュレーションのタイミング検証方法において、前記
論理シミュレーション中に発生した順序回路セルのイベ
ント入力端子およびこのイベント入力端子との間でタイ
ミングスペック値が規定された対象端子間におけるタイ
ミングエラーに対して、少なくとも一方の端子に自動で
遅延調整用のバッファセルを仮想的に挿入する遅延調整
処理フローをイベント終了時刻まで実行し、その結果の
処置情報および処置後の演算結果を結果格納ファイルに
出力するとともに、その結果格納ファイルを参照して回
路修正の処置を行なった後、再シミュレーションするこ
とにより、前記論理シミュレーションの実行回数を抑制
することを特徴とする論理シミュレーションのタイミン
グ検証方法。
In a method for verifying the timing of a logic simulation using an event-driven logic simulation device for an internal circuit to be verified, an event input terminal of a sequential circuit cell generated during the logic simulation and the event input terminal. In response to a timing error between target terminals for which a timing specification value is defined, a delay adjustment process flow for automatically inserting a buffer cell for delay adjustment into at least one of the terminals is executed until the event end time. Output the resulting treatment information and the operation result after the treatment to a result storage file, perform a circuit correction process with reference to the result storage file, and re-simulate, thereby executing the logic simulation Characterized by suppressing Logic simulation timing verification method.
【請求項2】 検証対象の内部回路に対しイベントドリ
ブン方式による論理シミュレーション装置を用いた論理
シミュレーションのタイミング検証方法において、回路
接続情報および遅延・タイミング制約情報から遅延計算
プログラムにより生成される配線遅延定義情報と、前記
回路接続情報と、動作検証用パタンと、セルライブラリ
に格納された回路ネットリスト内のセルの論理情報と、
遅延調整用のバッファセルの情報とをそれぞれ読み込む
とともに、読み込んだこれらの情報を用いて第1回目の
論理シミュレーションを実行し、その実行中にタイミン
グエラーがあれば遅延調整用の前記バッファセルを仮想
的に付加して検証対象の順序回路セルの出力状態値をス
ケジュールする処理を検証終了時刻までの全てのイベン
トごとに順次に繰り返し実行し、かつ前記タイミングエ
ラー情報と前記バッファセルを仮想的に付加したことに
よりタイミングエラーを解消したことを示すリカバー情
報とを結果格納ファイルに出力し、その結果格納ファイ
ルの内容を回路設計者が確認するとともに前記タイミン
グエラーがあれば回路ネットリストを用いて回路修正
し、その回路修正後の前記検証対象回路に対して、前記
結果格納ファイルの内容を参照しながら第2回目の論理
シミュレーションを実行して前記回路修正の確認のみ行
うことにより、前記論理シミュレーションを2回実行さ
せるだけでタイミング検証が収束することを特徴とする
論理シミュレーションのタイミング検証方法。
2. A method for verifying the timing of a logic simulation using an event-driven logic simulation device for an internal circuit to be verified, wherein a wiring delay definition generated by a delay calculation program from circuit connection information and delay / timing constraint information. Information, the circuit connection information, the operation verification pattern, and the logic information of the cells in the circuit netlist stored in the cell library,
The information of the buffer cells for delay adjustment is read, and the first logic simulation is executed using the read information, and if there is a timing error during the execution, the buffer cells for delay adjustment are virtualized. To sequentially schedule the output state value of the sequential circuit cell to be verified and sequentially executed for every event until the verification end time, and virtually adds the timing error information and the buffer cell. Output to the result storage file indicating that the timing error has been eliminated by the operation, and the circuit designer confirms the contents of the result storage file and corrects the circuit using the circuit netlist if there is the timing error. Then, for the circuit to be verified after the circuit correction, the result storage file Performing the second logic simulation while confirming the circuit correction while referring to the contents, whereby the timing verification converges only by executing the logic simulation twice, wherein the timing verification converges. Method.
【請求項3】 遅延調整用の前記バッファセルの情報が
格納される遅延調整バッファ情報ファイルは、回路設計
に使用可能な全てのセルの遅延情報および順序回路セル
のタイミングスペック値が格納された遅延・タイミング
制約情報と、回路設計に使用可能な全てのセルの内、遅
延調整用に付加可能なバッファセル名称のリストが格納
されたブロックリストとに基づき、遅延調整用の前記バ
ッファセルのみの遅延情報を抽出するデータ処理により
作成される請求項2記載の論理シミュレーションのタイ
ミング検証方法。
3. A delay adjustment buffer information file in which information on the buffer cells for delay adjustment is stored, the delay adjustment buffer information file includes delay information in which delay information of all cells usable in circuit design and timing specification values of sequential circuit cells are stored. A delay of only the buffer cells for delay adjustment based on the timing constraint information and a block list storing a list of buffer cell names that can be added for delay adjustment among all cells available for circuit design; 3. The logic verification timing verification method according to claim 2, wherein the timing is created by data processing for extracting information.
【請求項4】 前記論理シミュレーションは、前記検証
対象の前記順序回路セルの入力端子でイベントを検出す
る入力イベント検出処理と、前記入力端子に既に遅延調
整用の前記バッファセルが仮想的に付加されたイベント
入力端子ならば付加された遅延値分だけ遅らせた時刻を
イベント端子変化時刻に置き換えるイベント時刻変更処
理と、前記入力端子との間でタイミングスペック値が規
定されている検証対象端子における対象端子変化時刻と
の時間差を演算するタイミングチェック処理とを行な
い、前記タイミングエラーであれば前記遅延調整バッフ
ァ情報ファイルから前記遅延調整用のバッファセルを選
択して仮想的に付加する選択処理と、前記バッファセル
が仮想的に付加された状態で検証対象の前記順序回路セ
ルの論理演算を行い出力状態値のスケジュールを行う論
理演算・遅延スケジュール処理とで構成される請求項2
記載の論理シミュレーションのタイミング検証方法。
4. The logic simulation includes an input event detection process of detecting an event at an input terminal of the sequential circuit cell to be verified, and the buffer cell for delay adjustment is already virtually added to the input terminal. Event input terminal, an event time change process for replacing a time delayed by the added delay value with an event terminal change time, and a target terminal in a verification target terminal for which a timing specification value is defined between the input terminal and the event input terminal. Performing a timing check process of calculating a time difference from the change time, and selecting the buffer cell for delay adjustment from the delay adjustment buffer information file and virtually adding the buffer cell if the timing error is detected; Performs a logical operation on the sequential circuit cell to be verified in a state where the cells are virtually added, and outputs the result. 3. A logic operation / delay schedule process for scheduling a force state value.
The timing verification method of the logic simulation described.
【請求項5】 前記イベント時刻変更処理は、前記順序
回路セルの前記入力端子に入力イベントを検出した際、
前記入力端子がシミュレーション開始から入力イベント
検出時刻までの間で遅延調整バッファが付加されたイベ
ント入力端子であるかを前記結果格納ファイルを参照し
て判別するバッファ付加判別処理と、このバッファ付加
判別処理において前記入力端子が、前記イベント入力端
子であると判別された場合、前記遅延調整バッファ情報
を参照して付加された遅延調整用の前記バッファセルの
遅延値を検索する遅延値検索処理とからなる請求項4記
載の論理シミュレーションのタイミング検証方法。
5. The event time change processing includes detecting an input event at the input terminal of the sequential circuit cell.
A buffer addition determining process for determining whether the input terminal is an event input terminal to which a delay adjustment buffer is added from the start of the simulation to an input event detection time by referring to the result storage file; In the case where the input terminal is determined to be the event input terminal, a delay value search process for searching for a delay value of the buffer cell for delay adjustment added with reference to the delay adjustment buffer information. 5. The logic simulation timing verification method according to claim 4.
【請求項6】 前記タイミングチェック処理は、前記イ
ベント時刻変更処理における判別処理で前記順序回路セ
ルの前記入力端子に遅延調整用の前記バッファセルが付
加されていないと判別された場合は、現時刻を前記イベ
ント端子変化時刻とし、前記入力端子に遅延調整用の前
記バッファセルが付加されている場合は、付加された前
記バッファセルの遅延値を検索する遅延調整バッファ遅
延値検索処理と、検索された前記遅延値を前記イベント
端子変化時刻に付加するイベント端子変化時刻変更処理
と、イベント端子変化時刻変更処理と前記対象端子変化
時刻との時間差を演算する時間差演算処理とからなる請
求項4記載の論理シミュレーションのタイミング検証方
法。
6. The timing check processing is performed, when it is determined in the determination processing in the event time change processing that the buffer cell for delay adjustment is not added to the input terminal of the sequential circuit cell, Is the event terminal change time, and when the buffer cell for delay adjustment is added to the input terminal, a delay adjustment buffer delay value search process for searching for a delay value of the added buffer cell; 5. The event terminal change time changing process of adding the delay value to the event terminal change time, and a time difference calculating process of calculating a time difference between the event terminal change time change process and the target terminal change time. Timing verification method for logic simulation.
【請求項7】 前記選択処理は、前記時間差演算処理で
求めた前記時間差がタイミングスペック値より大きいか
を比較し小さければタイミングエラーと判別する時間差
判別処理と、前記タイミングエラーの場合、タイミング
スペック値と前記時間差との差分であって前記タイミン
グエラーの解消に必要な時間を算出するスペック値との
不足時間算出処理と、前記遅延調整バッファ情報ファイ
ルを参照して、前記前記タイミングエラーの解消に必要
な時間より大きい遅延値を有するバッファセルを選択
し、選択したバッファセルを前記入力端子に仮想的に付
加する仮想的バッファ付加処理とからなる請求項4記載
の論理シミュレーションのタイミング検証方法。
7. The selection process includes a process for comparing whether the time difference obtained in the time difference calculation process is greater than a timing specification value, and determining a time error if the time difference is smaller, and a timing specification value for the timing error. A shortage time calculation process for calculating a time required for eliminating the timing error, which is a difference between the timing error and the time difference, and referring to the delay adjustment buffer information file to perform the operation for eliminating the timing error. 5. The logic simulation timing verification method according to claim 4, further comprising: a virtual buffer addition process of selecting a buffer cell having a delay value greater than a predetermined time and virtually adding the selected buffer cell to the input terminal.
【請求項8】 論理演算・遅延スケジュール処理は、前
記タイミングスペック値との不足時間よりも大きい遅延
値を有する前記バッファセルを検証対象の前記順序回路
セルのイベント入力端子に付加した状態で論理演算を実
行する第1の論理演算処理と、前記論理演算の演算結果
である出力状態値が変化するかを判別する第1の出力状
態値判別処理と、前記出力状態値が変化すると判別され
た場合、発生したイベントに対する前記出力状態値に、
前記仮想的バッファ付加処理で選択され仮想的に付加さ
れた前記バッファセルの遅延値を付加する第1の遅延値
付加処理と、前記遅延値を付加された出力状態値のスケ
ジュールを行い、そのスケジュール結果を前記結果格納
ファイルに格納するとともに、タイミングエラー情報と
前記バッファセルを付加したことを仮定して前記タイミ
ングエラーが解消したことを示すリカバー情報とをそれ
ぞれ前記結果格納ファイルに出力し、前記出力状態値判
別処理で前記出力状態値が変化しないと判別された場合
も前記タイミングエラー情報と前記リカバー情報とをそ
れぞれ前記結果格納ファイルに出力する第1の状態値ス
ケジュール処理と、前記時間差判別処理での判別結果で
前記時間差が前記タイミングスペック値より大きい場合
は、検証対象の前記順序回路セルの論理演算を前記バッ
ファセルを付加せずに実行する第2の論理演算処理と、
この第2の論理演算結果である出力状態値が変化するか
を判別する第2の出力状態値判別処理と、出力状態値が
変化すると判別されると、前記イベントに対する出力状
態値の変化パスの遅延値を付加する第2の遅延値付加処
理と、この第2の遅延値付加処理で前記遅延値が付加さ
れた出力状態値のスケジュールを行い、そのスケジュー
ル結果を前記結果格納ファイルに格納する第2状態値ス
ケジュール処理と、からなる請求項4記載の論理シミュ
レーションのタイミング検証方法。
8. The logical operation / delay schedule processing is performed in a state where the buffer cell having a delay value larger than the shortage time with the timing specification value is added to an event input terminal of the sequential circuit cell to be verified. And a first output state value determining process of determining whether an output state value as a result of the logical operation changes, and a case where the output state value is determined to change , The output state value for the event that occurred,
A first delay value adding process for adding a delay value of the buffer cell selected and virtually added in the virtual buffer adding process, and an output state value to which the delay value is added are scheduled. A result is stored in the result storage file, and timing error information and recovery information indicating that the timing error has been resolved assuming that the buffer cell has been added are output to the result storage file, respectively. A first state value schedule process for outputting the timing error information and the recover information to the result storage file also when the output state value is determined not to change in the state value determination process, and the time difference determination process. If the time difference is larger than the timing specification value in the determination result of A second logical operation to perform a logical operation of the sequential circuit cell without adding the buffer cell,
A second output state value determining process for determining whether an output state value as a result of the second logical operation changes; and, when determining that the output state value changes, a change path of the output state value for the event. A second delay value adding process for adding a delay value, and a schedule of the output state value to which the delay value is added in the second delay value adding process, and storing the schedule result in the result storage file. 5. The logic verification timing verification method according to claim 4, comprising a two-state value schedule process.
【請求項9】 前記仮想的バッファ付加処理に代えて、
遅延調整用の前記バッファセルの許容最大遅延値を読み
込む許容最大遅延値読み込み処理と、前記タイミングエ
ラーを解消するに必要な不足時間が、前記許容最大遅延
値より大きいかを判別する最大許容遅延値の判別処理
と、大きければ前記遅延調整バッファファイルを参照し
て、前記許容最大遅延値より小さい遅延値を有するバッ
ファセル名を選択する遅延値小のバッファセル選択処理
と、選択された前記バッファセルを前記イベント入力端
子に仮想的に付加する第1の仮想付加処理と、付加した
前記バッファセルの遅延値を前記不足時間から差し引い
た時間を新たな不足時間として置き換えるとともに前記
最大許容遅延値の判別処理に戻る不足時間変更処理と、
前記最大許容遅延値の判別処理において前記タイミング
エラーを解消するに必要な前記不足時間が、前記許容最
大遅延値より小さければ前記遅延調整バッファファイル
を参照し前記不足時間より大きい遅延値を有する遅延調
整用の前記バッファセルを選択する遅延値大のバッファ
セル選択処理と、選択した前記バッファセルを前記イベ
ント入力端子に仮想的に付加する第2の仮想付加処理と
を適用する請求項7記載の論理シミュレーションのタイ
ミング検証方法。
9. Instead of the virtual buffer addition processing,
An allowable maximum delay value reading process for reading the allowable maximum delay value of the buffer cell for delay adjustment, and a maximum allowable delay value for determining whether the shortage time required to resolve the timing error is larger than the allowable maximum delay value. And a delay value small buffer cell selecting process of selecting a buffer cell name having a delay value smaller than the allowable maximum delay value by referring to the delay adjustment buffer file if the buffer cell size is larger, and the selected buffer cell Virtual addition processing for virtually adding the delay time to the event input terminal, replacing the time obtained by subtracting the delay value of the added buffer cell from the shortage time as a new shortage time, and determining the maximum allowable delay value. Shortage time change processing returning to the processing,
If the shortage time required to resolve the timing error in the process of determining the maximum allowable delay value is smaller than the allowable maximum delay value, the delay adjustment is performed by referring to the delay adjustment buffer file and having a delay value larger than the shortage time. 8. The logic according to claim 7, wherein a buffer value selecting process for selecting a buffer cell for a large delay value and a second virtual adding process for virtually adding the selected buffer cell to the event input terminal are applied. Simulation timing verification method.
【請求項10】 検証対象である所定の内部回路に対し
イベントドリブン方式による論理シミュレーション装置
を用いた論理シミュレーションのタイミング検証方法に
おいて、前記内部回路でタイミングスペック値が規定さ
れた順序回路セルの入力端子にイベントが発生した場
合、前記入力端子が現時刻までの処理の間に遅延調整用
のバッファセルが付加されたイベント入力端子かを判別
し、イベント入力端子でなければ現時刻をそのままイベ
ント時刻とし、イベント入力端子であれば遅延調整用の
バッファセルの情報が格納された遅延調整バッファ情報
ファイルから、付加されている遅延調整バッファの遅延
情報を検索し、その検索した遅延調整バッファの遅延値
分、前記イベント発生時刻を遅らせて次の処理を行なう
処理と、前記順序回路セルの前記イベント入力端子の変
化時刻と前記入力端子との間でタイミングスペック値が
規定されたタイミング検証対象端子での対象端子変化時
刻との時間差を算出し、算出された時間差が前記順序回
路セルにタイミングスペック値として定義される値より
小さい場合、前記タイミングスペック値と前記時間差の
差分である前記タイミングエラーを解消するに必要な時
間を算出する処理と、予め参照ライブラリとして用意さ
れている回路設計に使用可能な全セルの遅延・タイミン
グ制約情報ファイルと、遅延調整に使用可能なバッファ
セル名のリストから作成された、遅延調整に使用可能な
バッファセル名および遅延情報が格納される遅延調整バ
ッファ情報ファイルを参照して、前記タイミングエラー
を解消するのに必要な時間より大きい遅延値を有する遅
延調整用のバッファセル名を抽出し、現時刻での前記イ
ベント入力端子に前記遅延調整用のバッファセルを付加
したことを仮定する処理と、前記順序回路セルの論理演
算の結果として前記順序回路セルの出力状態値が変化す
る場合、前記イベントによる出力変化パスの遅延値に前
記遅延調整用のバッファセルの遅延値を付加して前記出
力状態値の遅延スケジュールを行う処理と、タイミング
エラー情報と遅延調整用のバッファセルを付加したこと
を仮定する旨のリカバー情報を結果格納ファイルに出力
する処理と、検証パタンが終了時刻でなければ、次のイ
ベント検出まで待機し、終了時刻であればタイミング検
証を終了する処理とを有し、タイミング検証対象の前記
順序回路セルにて発生するタイミングエラーを、入力回
路データの変更を行わずに、前記結果格納ファイルの情
報に基づき前記出力状態値の遅延スケジュールを行って
自動で解消したことを仮定した論理シミュレーションを
行なうことを特徴とする論理シミュレーションのタイミ
ング検証方法。
10. A timing verification method for a logic simulation using a logic simulation device based on an event-driven system for a predetermined internal circuit to be verified, wherein an input terminal of a sequential circuit cell in which a timing specification value is defined in the internal circuit. If an event occurs, it is determined whether the input terminal is an event input terminal to which a buffer cell for delay adjustment has been added during the processing up to the current time. If the input terminal is an event input terminal, the delay information of the added delay adjustment buffer is searched from the delay adjustment buffer information file storing the information of the buffer cells for delay adjustment, and the delay value of the searched delay adjustment buffer is calculated. Processing for delaying the event occurrence time and performing the next processing; A time difference between a change time of the event input terminal of the cell and a target terminal change time at a timing verification target terminal whose timing specification value is defined between the input terminal is calculated, and the calculated time difference is calculated by the sequential circuit cell. If the value is smaller than the value defined as the timing specification value, a process for calculating a time required to resolve the timing error, which is a difference between the timing specification value and the time difference, and a circuit design prepared in advance as a reference library Adjustment buffer that stores buffer cell names and delay information that can be used for delay adjustment, created from the delay / timing constraint information file of all cells that can be used for delay adjustment and a list of buffer cell names that can be used for delay adjustment Referring to the information file, a delay larger than the time required to resolve the timing error is used. Extracting a buffer cell name for delay adjustment having a value, assuming that the buffer cell for delay adjustment has been added to the event input terminal at the current time, and as a result of a logical operation of the sequential circuit cell When the output state value of the sequential circuit cell changes, a process of adding the delay value of the buffer cell for delay adjustment to the delay value of the output change path due to the event to perform a delay schedule of the output state value; The process of outputting the error information and the recovery information to the effect that the buffer cell for delay adjustment is added to the result storage file, and if the verification pattern is not the end time, the process waits until the next event is detected and the end time. Processing for ending timing verification, if any, in the input circuit A logic simulation assuming that a delay schedule of the output state value is made based on the information of the result storage file and that the output state value is automatically canceled without changing the data. .
【請求項11】 クロック入力ラインおよびデータ入力
ラインの遅延値を個別並びに任意に変更して検証対象回
路の動作を保証する請求項2または10記載の論理シミ
ュレーションのタイミング検証方法。
11. The logic simulation timing verification method according to claim 2, wherein the delay values of the clock input line and the data input line are individually and arbitrarily changed to guarantee the operation of the circuit to be verified.
【請求項12】 予め定める所定の遅延値を有する遅延
調整用の前記バッファセルに代えて、前記所定の遅延値
よりも小さい遅延値を有するバッファセルを複数個直列
に接続して付加する請求項1,2または10記載の論理
シミュレーションのタイミング検証方法。
12. A plurality of buffer cells having a delay value smaller than the predetermined delay value are connected in series and added in place of the buffer cells for delay adjustment having a predetermined delay value. 11. The logic simulation timing verification method according to 1, 2, or 10.
【請求項13】 検証対象である所定の内部回路に対し
イベントドリブン方式による論理シミュレーション装置
を用いた論理シミュレーションのタイミング検証方法に
おいて、前記内部回路内の順序回路セルはシミュレーシ
ョン実行中のセットアップ時間またはホールド時間がそ
れぞれ正値であり、かつシミュレーション実行中に予め
規定したセットアップ時間のスペック値またはホールド
時間のスペック値より小さいタイミング違反が判明した
場合に、遅延調整用のバッファセルを前記順序回路セル
のクロックまたはデータ入力端子に仮想的に挿入し、前
記順序回路セルの内部の遅延時間を変更しないまま、前
記バッファセルの仮想的挿入によって前記タイミング違
反が解消されたシミュレーション結果を得ることを特徴
とする論理シミュレーションのタイミング検証方法。
13. A timing verification method for a logic simulation using an event-driven logic simulation apparatus for a predetermined internal circuit to be verified, wherein a sequential circuit cell in the internal circuit has a setup time or hold during simulation execution. If the time is a positive value and a timing violation smaller than the setup time specification value or the hold time specification value specified in advance during simulation execution is found, a buffer cell for delay adjustment is clocked by the sequential circuit cell. Alternatively, a simulation result in which the timing violation has been eliminated by virtually inserting the buffer cell without changing the delay time inside the sequential circuit cell is virtually obtained by inserting the buffer cell into the data input terminal. simulation How to verify the timing of the solution.
JP2000124711A 2000-04-25 2000-04-25 Timing verifying method for logical simulation Pending JP2001306646A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2000124711A JP2001306646A (en) 2000-04-25 2000-04-25 Timing verifying method for logical simulation

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2000124711A JP2001306646A (en) 2000-04-25 2000-04-25 Timing verifying method for logical simulation

Publications (1)

Publication Number Publication Date
JP2001306646A true JP2001306646A (en) 2001-11-02

Family

ID=18634800

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2000124711A Pending JP2001306646A (en) 2000-04-25 2000-04-25 Timing verifying method for logical simulation

Country Status (1)

Country Link
JP (1) JP2001306646A (en)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7131086B2 (en) 2004-03-30 2006-10-31 Fujitsu Limited Logic verification device, logic verification method and logic verification computer program
US10140412B2 (en) 2014-10-22 2018-11-27 Samsung Electronics Co., Ltd. Timing matching method of timing analyzer and method of designing integrated circuit using the same
CN108959682A (en) * 2018-03-30 2018-12-07 浙江传媒学院 Circuit virtual experimental method for building up
CN108983870A (en) * 2017-05-31 2018-12-11 深圳市中兴微电子技术有限公司 A kind of time restorative procedure and device
CN109388813A (en) * 2017-08-03 2019-02-26 深圳市中兴微电子技术有限公司 A kind of method and device constructing the Clock Tree for IC design
CN113609690A (en) * 2021-08-09 2021-11-05 西安航天动力技术研究所 Missile firing time sequence design method under Vxworks

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7131086B2 (en) 2004-03-30 2006-10-31 Fujitsu Limited Logic verification device, logic verification method and logic verification computer program
US10140412B2 (en) 2014-10-22 2018-11-27 Samsung Electronics Co., Ltd. Timing matching method of timing analyzer and method of designing integrated circuit using the same
CN108983870A (en) * 2017-05-31 2018-12-11 深圳市中兴微电子技术有限公司 A kind of time restorative procedure and device
CN108983870B (en) * 2017-05-31 2021-12-28 深圳市中兴微电子技术有限公司 Time restoration method and device
CN109388813A (en) * 2017-08-03 2019-02-26 深圳市中兴微电子技术有限公司 A kind of method and device constructing the Clock Tree for IC design
CN109388813B (en) * 2017-08-03 2023-04-14 深圳市中兴微电子技术有限公司 Method and device for constructing clock tree for integrated circuit design
CN108959682A (en) * 2018-03-30 2018-12-07 浙江传媒学院 Circuit virtual experimental method for building up
CN113609690A (en) * 2021-08-09 2021-11-05 西安航天动力技术研究所 Missile firing time sequence design method under Vxworks
CN113609690B (en) * 2021-08-09 2023-07-14 西安航天动力技术研究所 Missile firing time sequence design method under Vxworks

Similar Documents

Publication Publication Date Title
US9536024B2 (en) Methods for static checking of asynchronous clock domain crossings
US20050091025A1 (en) Methods and systems for improved integrated circuit functional simulation
US9727668B2 (en) Delta retiming in logic simulation
US7640476B2 (en) Method and system for automated path delay test vector generation from functional tests
JP2002267719A (en) Semiconductor integrated circuit, and testing method therefor
US8042074B2 (en) Circuit design device, circuit design program, and circuit design method
JP2001306646A (en) Timing verifying method for logical simulation
US5805859A (en) Digital simulator circuit modifier, network, and method
US20080071514A1 (en) Apparatus for handling register-transfer-level description, method thereof, and program storage medium storing program thereof
US7328117B2 (en) Apparatus, method and program for verifying asynchronous circuit
US7930609B2 (en) Apparatus and method for verifying target circuit
US10599802B2 (en) Methods for automatic engineering change order (ECO) bug fixing in integrated circuit design
US8392776B2 (en) Delay fault diagnosis program
US7080333B1 (en) Verifying logic synthesizers
US7216321B2 (en) Pattern recognition in an integrated circuit design
CN117350208A (en) Method and apparatus for checking performance of sequential logic element
US10690722B1 (en) Methods and systems for efficient identification of glitch failures in integrated circuits
Shi et al. SPIN-SIM: Logic and fault simulation for speed-independent circuits
JP2003281212A (en) Method, device and program for automatic arrangement and wiring
US10726189B2 (en) Less-pessimistic static timing analysis for synchronous circuits
US20070010982A1 (en) Automatic time warp for electronic system simulation
JP3953250B2 (en) Asynchronous circuit verification method
US6591404B1 (en) Method of automatically finding and fixing min-time violations
JP4549935B2 (en) Semiconductor integrated circuit design support system and program
JP6394278B2 (en) Design verification apparatus, design verification method, and design verification program for finite state machine

Legal Events

Date Code Title Description
A711 Notification of change in applicant

Free format text: JAPANESE INTERMEDIATE CODE: A711

Effective date: 20060307