JP2996153B2 - ASIC verification method - Google Patents
ASIC verification methodInfo
- Publication number
- JP2996153B2 JP2996153B2 JP7251532A JP25153295A JP2996153B2 JP 2996153 B2 JP2996153 B2 JP 2996153B2 JP 7251532 A JP7251532 A JP 7251532A JP 25153295 A JP25153295 A JP 25153295A JP 2996153 B2 JP2996153 B2 JP 2996153B2
- Authority
- JP
- Japan
- Prior art keywords
- path
- simulation
- circuit
- event
- registered
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Description
【0001】[0001]
【発明の属する技術分野】本発明はASIC検証方法に
係わり、特に大規模な回路機能を有するASICのシミ
ュレーション効率を改善したASIC検証方法に関す
る。BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to an ASIC verification method, and more particularly to an ASIC verification method having improved simulation efficiency of an ASIC having a large-scale circuit function.
【0002】[0002]
【従来の技術】一般的なASICの設計手順としては、
自動設計あるいは人手設計のいずれの場合においても、
ユーザーが定めるASICの外部条件、設計要項等のシ
ステム仕様に基づきASICの機能仕様を作成し、AS
ICの動作の詳細を設計する機能設計工程と、この工程
で得られた機能設計データに基づきASICがNAND
およびインバータ等の論理ゲートを単位とするレベルに
まで具体化され、これらゲートの接続関係に主眼をおい
た設計であって、あらかじめ用意された論理セルライブ
ラリを使用して行なう論理設計工程と、ASICの製造
条件に基づき使用するトランジスタの形状、電気的性能
等を設計するデバイス設計工程と、論理セルライブラリ
に使用する基本論理単位とデバイス設計によって得られ
るトランジスタライブラリを組み合せて、その性能を回
路シミュレータによって予測してパラメータの形で提供
する回路セルの設計およびレイアウト設計後のデータを
基により詳細な電源変動、温度変動、クリティカルパス
の余裕度等を検証する全体回路設計からなる論理設計工
程と、論理設計から得られた接続情報および回路設計よ
り得られた論理セルライブラリを用いて論理ゲートの配
置配線を行なうレイアウト設計工程と、製造後のASI
Cが所期の性能および機能を満たしていることを調べる
ための入力試験データおよび出力期待値等のテストパタ
ンを設計する試験設計工程とからなる。2. Description of the Related Art A general ASIC design procedure includes:
In either automatic or manual design,
ASIC function specifications are created based on system specifications such as external conditions and design requirements of the ASIC specified by the user.
A function design process for designing the details of the operation of the IC, and the ASIC performs NAND based on the function design data obtained in this process.
A logic design step which is embodied to a level in units of logic gates such as inverters and the like, and focuses on the connection relation of these gates. Combining the device design process to design the shape and electrical performance of the transistors used based on the manufacturing conditions of the above, the basic logical unit used for the logic cell library and the transistor library obtained by the device design A logic design process consisting of a whole circuit design that verifies detailed power supply fluctuations, temperature fluctuations, margin of critical path, etc. based on the data of the circuit cell design and layout design that is predicted and provided in the form of parameters, Connection information obtained from the design and logic information obtained from the circuit design A layout design step of performing a placement and routing of the logic gates with a library, post production ASI
A test design process for designing test patterns such as input test data and output expected values for checking that C satisfies the intended performance and function.
【0003】上述した設計工程のうちの論理設計工程に
おいては、論理セルライブラリとして基本ゲートの他に
複合ゲート、フリップフロップ、入出バッファのような
数ゲートから十数ゲート規模のセルが含まれる。これら
の各ゲートの電気的特性から予測した延値を論理回路に
与えて、回路接続された所定の機能ブロック間のパスに
おける素子および配線の遅延時間を計算しそのクリティ
カルパスの遅延シミュレーションを行なうパス解析法等
のシミュレーション手段が用いられ、回路設計工程およ
びレイアウト設計工程と密接な関係をもたせて作業が行
なわれる。In the logic design process of the above-described design process, a logic cell library includes cells of several gates to several tens of gates such as composite gates, flip-flops, and input / output buffers in addition to basic gates. The delay value predicted from the electrical characteristics of each of these gates is given to the logic circuit, the delay time of the element and wiring in the path between predetermined circuit blocks connected to the circuit is calculated, and the delay simulation of the critical path is performed. A simulation means such as an analysis method is used, and the work is performed in close relation with the circuit design process and the layout design process.
【0004】従来のこの種の検証方法の一例が、特開平
4−238576号公報に記載されている。同公報記載
の遅延シミュレーション方法の構成要部を示した図6を
参照すると、遅延シミュレータ10は検証対象の論理回
路11とこの回路を検証するためのテストパタン12と
論理回路13内のすべての素子遅延および配線遅延値か
らなる遅延情報13とから所定の情報が与えられるとと
もに、シミュレーション結果をリスト14に出力する。An example of this type of conventional verification method is described in Japanese Patent Application Laid-Open No. 4-238576. Referring to FIG. 6 showing a main part of a delay simulation method described in the publication, a delay simulator 10 includes a logic circuit 11 to be verified, a test pattern 12 for verifying the circuit, and all elements in the logic circuit 13. Predetermined information is provided from delay information 13 including a delay and a wiring delay value, and a simulation result is output to a list 14.
【0005】このシミュレータ10は、テストパタン1
2を用いてゼロディレイまたはユニットディレイシミュ
レーションを行なうシミュレータ101と、このシミュ
レータ101によるシミュレーション結果から活性化さ
れたパスを検出するパス検出手段102と、活性化され
たパスの情報入力ピン名とその素子に接続される前段の
素子の出力ピン名と活性化時の出力状態値をスタックす
る活性化テーブル103と、活性化されたパスのみにつ
いて詳細な遅延情報に基づき遅延シミュレーションを行
なう論理シミュレータ104と、この論理シミュレータ
104のシミュレーションの結果から最小遅延時間およ
び最大遅延時間のクリティカルパスを求めるパス解析手
段105とを備える。The simulator 10 has a test pattern 1
2, a simulator 101 for performing a zero- delay or unit-delay simulation, a path detecting means 102 for detecting an activated path from a simulation result by the simulator 101, an information input pin name of the activated path and its element An activation table 103 for stacking output pin names and output state values at the time of activation of the elements at the preceding stage connected to the logic circuit 104; a logic simulator 104 for performing delay simulation based on detailed delay information only for activated paths; A path analysis unit for obtaining a critical path of the minimum delay time and the maximum delay time from the result of the simulation by the logic simulator;
【0006】このシミュレーション動作を説明すると、
まず、始めにテストパタン12が与えられると、ゼロ
(0)ディレイあるいはユニットディレイシミュレータ
101により論理回路11全体のシミュレータにより、
論理回路11の回路全体のシミュレーションを行なう。The simulation operation will be described.
First, when the test pattern 12 is provided in the beginning, more to the logic circuit 11 the entire simulator by zero (0) delay or unit delay simulator 101,
A simulation of the entire circuit of the logic circuit 11 is performed.
【0007】このとき活性化された素子についてその素
子の入力ピン名とその素子に接続される前段の素子の出
力ピン名と活性化されたときの出力状態値を活性化テー
ブル103にスタックする。最終的には論理回路の外部
入力ピンの変化が外部出力ピンに伝播した後、活性化さ
れた出力ピンからファンイントレースを行ない、活性化
されたパスをパス検出手段102により求める。At this time, for the activated element, the input pin name of the element, the output pin name of the preceding element connected to the element, and the output state value when activated are stacked in the activation table 103. Finally, after the change of the external input pin of the logic circuit is propagated to the external output pin, fan-in tracing is performed from the activated output pin, and the activated path is obtained by the path detecting means 102 .
【0008】次に、活性化されたパスについてのみ遅延
情報13および活性化テーブル103の情報から素子遅
延時間および配線遅延時間を考慮した詳細なシミュレー
ションを論理シミュレータ104で行なう。その結果を
活性化テーブル103にスタックする。このスタックさ
れたシミュレーション結果を基にパス解析手段105に
より最大および最小遅延を求めている。[0008] Next, a detailed simulation considering only the delay information 13 and information from the element delay time of activation table 103 for the activated paths and wiring delay time, logical simulator 104. The result is stacked on the activation table 103. The maximum and minimum delays are obtained by the path analysis unit 105 based on the stacked simulation results.
【0009】[0009]
【発明が解決しようとする課題】上述したように、従来
の遅延シミュレータにおいては、回路全体のパスの活性
化状態をユニットまたはゼロディレイのゲートレベルシ
ミュレーションを利用して求めているので、回路規模が
大きくなるとシミューションの高速化が困難になってく
るという問題があった。As described above, in the conventional delay simulator, the activation state of the path of the entire circuit is obtained by using the unit or zero- delay gate level simulation. There is a problem that it becomes difficult to increase the speed of the simulation as the size increases.
【0010】また、活性化テーブルをゲートレベルの回
路に対して用意しているので、回路規模が大きくなると
活性化テーブルに必要なメモリ量が膨大な量になってく
るとともに、活性化されたパスが膨大になり遅延シミュ
レーションの時間が長時間必要となってくるという問題
もあった。Further, since the activation table is prepared for the gate-level circuit, the memory size required for the activation table becomes enormous when the circuit scale becomes large, and the activated path is activated. However, there is also a problem that the delay simulation time is required for a long time.
【0011】本発明の目的は、上述の欠点に鑑みなされ
たものであり、大規模のASIC半導体における機能お
よびタイミングの検証を高速に実行する検証方法を提供
することにある。SUMMARY OF THE INVENTION An object of the present invention is to provide a verification method for verifying the function and timing of a large-scale ASIC semiconductor at high speed.
【0012】[0012]
【課題を解決するための手段】本発明のASIC検証方
法の特徴は、ASICの機能設計データに基づきこのA
SICの内部回路が論理積回路、論理和回路、インバー
タ回路、複合ゲート、フリップフロップおよび入出バッ
ファ等のセルを含む基本セルを単位とする階層レベルに
まで具体化され、これら論理回路相互間の接続にあらか
じめ用意された論理セルライブラリを使用するととも
に、フリップフロップ、加算器、減算器、選択回路など
をそれぞれ機能ブロックとし、各ゲートの電気的特性か
ら予測した遅延値を与えて所定の機能ブロック間の回路
接続されたパスにおける素子および配線の遅延時間を計
算しそのクリティカルパスの解析を行なう遅延シミュレ
ーションを対象とするASIC検証方法において、前記
遅延シミュレーション実行時にテストパタン情報の変化
に応じて前記内部回路内の前記機能ブロックの出力端子
に論理レベルのハイレベルからロウレベルへ、またはロ
ウレベルからハイレベルへ変化するイベントが発生した
全ての前記パスのうち前記パス登録用のデータベースに
未登録のパスのみを抽出して順次登録するとともに、こ
れらの登録されたパスの前記遅延時間のみを計算する遅
延シミュレーション処理を行う検証方法であって、前記
遅延シミュレーション処理は、与えられた回路情報およ
び機能情報を読み込むステップと、与えられた前記テス
トパタン情報を読み込むステップと、前記回路および機
能のそれぞれの情報と前記テストパタン情報を基に機能
シミュレーションを実行するステップと、前記機能シミ
ュレーションの実行時に内部接続のネットに前記イベン
トが生じたかを判定するステップと、前記機能情報に含
まれる前記機能ブロックの出力端子に前記イベントが生
じたパスが既に登録されているか否かを判定するステッ
プと、前記イベントが発生しているときはそのパスを記
録して前記データベースを作成するステップと、前記機
能シミュレーションが終了したかを判定するステップ
と、前記データベースから前記イベントが生じたパス情
報を抽出してこのパスの前記遅延時間を計算するステッ
プと、計算された前記パスの遅延時間を基に前記内部回
路の所定のタイミングの検証結果を表示するステップと
を有する。 Means for Solving the Problems The feature of ASIC verification method of the present invention, this A based on the functional design data of ASIC
The internal circuit of the SIC is an AND circuit, an OR circuit, and an inverter
Circuit, composite gate, flip-flop and input / output
Hierarchical level in units of basic cells including cells such as files
And the connection between these logic circuits
Using the prepared logic cell library
, Flip-flops, adders, subtractors, selection circuits, etc.
Are each a functional block, and a delay value predicted from the electrical characteristics of each gate is given to measure a delay time of an element and a wiring in a path connected to a circuit between predetermined functional blocks.
In the ASIC verification method for a delay simulation for performing a critical path analysis, a logic high level is applied to an output terminal of the functional block in the internal circuit in response to a change in test pattern information during the execution of the delay simulation. Out of all the paths where an event that changes from low to high or from low to high occurs in the database for the path registration
Only unregistered paths are extracted and sequentially registered, and a delay for calculating only the delay time of these registered paths is calculated.
A verification method for performing a rolling simulation process,
The delay simulation process is based on the given circuit information and
Reading function and function information;
Reading the top pattern information;
Function based on each function information and the test pattern information
Performing a simulation;
When executing the simulation, the event
Determining whether or not a fault has occurred,
The event is generated at the output terminal of the function block
Step to determine whether the same path has already been registered
And the path when the event has occurred.
Recording and creating the database;
For determining whether the simulation has been completed
And the path information where the event occurred from the database.
To calculate the delay time for this path.
And the internal loop based on the calculated delay time of the path.
Displaying a verification result of a predetermined timing of the road;
Having.
【0013】[0013]
【0014】さらに、前記イベントが発生しないときお
よび前記イベントを生じたパスが既に登録されていると
きは、そのいずれも前記機能シミュレーションが終了す
るまでそのシミュレーションを再実行することができ
る。Further, when the event does not occur and when the path that caused the event has already been registered, the functional simulation ends.
The simulation can be re-executed until
【0015】本発明のASIC検証方法の他の特徴は、
ASICの機能設計データに基づきこのASICの内部
回路が論理積回路、論理和回路、インバータ回路、複合
ゲート、フリップフロップおよび入出バッファ等のセル
を含む基本セルを単位とする階層レベルにまで具体化さ
れ、これら論理回路相互間の接続にあらかじめ用意され
た論理セルライブラリを使用するとともに、フリップフ
ロップ、加算器、減算器、選択回路などをそれぞれ機能
ブロックとし、各ゲートの電気的特性から予測した遅延
値を与えて所定の機能ブロック間の回路接続されたパス
における素子および配線の遅延時間を計算しそのクリテ
ィカルパスの解析を行なう遅延シミュレーションを対象
とするASIC検証方法において、前記遅延シミュレー
ション実行時にテストパタン情報の変化に応じて前記内
部回路内の前記機能ブロックの出力端子に論理レベルの
ハイレベルからロウレベルへ、またはロウレベルからハ
イレベルへ変化するイベントが発生した全ての前記パス
のうち前記パス登録用のデータベースに未登録のパスの
みを抽出して順次登録するとともに、前記パスの終点の
前記機能ブロックに順序回路の要素または外部出力端子
が含まれる場合はそのパスをそれぞれ前記データベース
に登録し、これらの登録されたパスの前記遅延時間のみ
を計算する遅延シミュレーション処理を行う検証方法で
あって、前記遅延シミュレーション処理は、与えられた
回路情報および機能情報を読み込むステップと、与えら
れた前記テストパタン情報を読み込むステップと、前記
機能シミュレーションを実行するステップと、前記機能
シミュレーションの実行時に内部接続のネットの前記機
能情報に含まれる前記機能ブロックの出力端子に前記イ
ベントが生じたか否かを判定するステップと、検出され
た前記パスの終点の前記機能ブロックが順序回路の要素
を含んでいるかまたは前記外部出力端子のいずれかであ
るかを判定するステップと、検出された前記パスが既に
前記データベース上に登録されているかを判定するステ
ップと、検出された前記パスの終点の前記機能ブロック
が前記順序回路の要素を含むときまたは前記外部出力端
子であるときのみにそれらのパスを前記データベースに
登録するステップと、前記機能シミュレーションが終了
したかを判定するステップと、前記パスが登録されたデ
ータベースから前記イベントが生じたパス情報を抽出し
てこのパスの前記遅延時間を計算するステップと、計算
された前記パスの前記遅延時間を基に前記内部回路の所
定のタイミングの検証結果を表示するステップとを有す
る。 Another feature of the ASIC verification method of the present invention is as follows.
The inside of this ASIC based on the function design data of the ASIC
Circuit is AND circuit, OR circuit, inverter circuit, composite
Cells such as gates, flip-flops and input / output buffers
Of the basic cell containing
Are prepared in advance for the connection between these logic circuits.
Using a logic cell library
Function of rop, adder, subtractor, selection circuit, etc.
Blocks and delays predicted from the electrical characteristics of each gate
Circuit-connected path between given function blocks by giving a value
Element and wiring delay time in
For delay simulations that analyze optical paths
In the ASIC verification method, the delay simulation
When the test pattern information changes during execution of the
Logic level output terminal of the functional block in the
From high level to low level or from low level to
All the paths where the event that changes to
Of the paths not registered in the path registration database
Extracted and registered sequentially, and the end point of the path
A sequential circuit element or an external output terminal
If the path is included in the database,
Only the delay time of these registered paths
Is a verification method that performs delay simulation processing to calculate
Inside there, the delay simulation process includes the step of reading the circuit information and the function information provided, the step of reading the test pattern information given, and executing the functional simulation, during execution of the functional simulation or determining whether the event to an output terminal of the functional blocks included in the function information of the connection net has occurred, the functional block of the end point of said detected path contains the elements of the sequential circuit or stearyl determined and determining whether any one of the external output terminals, whether said detected path is already registered on the database
And-up, a step the functional blocks of the end point of said detected path to register only those paths when or when the an external output terminal contains elements of the sequential circuit in the database, the function simulation determining whether to exit the steps of extracting the path information which the event has occurred from a database in which the path is registered to calculate the delay time of the path, the delay time of the calculated the path and a step of displaying the verification result of the predetermined timing of the internal circuit based on.
【0016】また、前記イベントが生じないときと、前
記パスの終点の前記機能ブロックが前記順序回路の要素
を含んでいないかまたは前記外部出力端子でないとき
と、前記パスが既に前記データベースへ登録されている
ときとは、そのいずれも前記機能シミュレーションが終
了するまでそのシミュレーションを再実行することがで
きる。When the event does not occur, and when the functional block at the end of the path does not include the element of the sequential circuit or is not the external output terminal, the path is already registered in the database. Means that the functional simulation has been completed.
The simulation can be re-executed until completed .
【0017】[0017]
【発明の実施の形態】まず、本発明の第1の実施の形態
について図面を参照しながら説明する。図1は本発明の
ASIC検証方法の第1の実施の形態を示すフローチャ
ートである。DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS First, a first embodiment of the present invention will be described with reference to the drawings. FIG. 1 is a flowchart showing a first embodiment of the ASIC verification method of the present invention.
【0018】図1を参照すると、ステップS1は与えら
れた回路情報および機能情報を読み込むステップであ
る。ステップS2は与えられたテストパタン情報を読み
込むステップである。ステップS3は回路情報および機
能情報のそれぞれの情報とこのASICの内部回路を検
証するためにあらかじめ用意されたテストパタンを基に
機能シミュレーションを実行するステップである。ステ
ップ4は機能シミュレーションの実行時に内部接続のネ
ットにイベントが生じたかを判定するステップである。
ステップS5は機能情報に含まれる機能ブロックの出力
端子にイベントが生じたパスが既に登録されている否か
を判定するステップである。ステップS6はイベントが
発生しているときはそのパスを記録してデータベースを
作成するステップである。ステップS7はシミュレーシ
ョンが終了したかを判定するステップである。ステップ
S8は記録されたデータベースからイベントが生じたパ
ス情報を抽出してこのパスの遅延時間を計算するステッ
プである。ステップS9は計算されたパスの遅延時間を
基に内部回路の所定のタイミングの検証結果を表示する
ステップである。Referring to FIG. 1, step S1 is a step of reading given circuit information and function information. Step S2 is a step of reading the given test pattern information. Step S3 is a step of executing a function simulation based on the respective information of the circuit information and the function information and a test pattern prepared in advance to verify the internal circuit of the ASIC. Step 4 is a step for determining whether or not an event has occurred in the internally connected net during execution of the function simulation.
Step S5 is a step of determining whether or not the path in which the event has occurred is already registered at the output terminal of the function block included in the function information. Step S6 is a step of recording a path when an event has occurred and creating a database. Step S7 is a step for determining whether the simulation has been completed. Step S8 is a step of extracting the path information where the event has occurred from the recorded database and calculating the delay time of this path. Step S9 is a step of displaying a verification result of a predetermined timing of the internal circuit based on the calculated path delay time.
【0019】このとき、ステップS3におけるイベント
が発生しないときおよびステップS5におけるイベント
を生じたパスが既に登録されているときは、そのいずれ
もシミュレーションが終了するまでそのシミュレーショ
ンを再実行するフローに構成してある。At this time, when the event in step S3 does not occur and when the path in which the event has occurred in step S5 is already registered, the flow is configured to re-execute the simulation until the simulation ends. It is.
【0020】上述した検証フローを、本発明が適用され
る回路の一例を示した図2とこの回路に適用するテスト
パタンの一例を示した図3とステップS5で作成された
データベースの一例を示した図4とを参照しながら説明
すると、図2に示す回路は、一例として2ビットの信号
A(0)およびA(1)とB(0)およびB(1)が供
給されており、そのうち入力端子A(1)から信号A
(1)のデータがフリップフロップ回路(以下、FFと
称す)1aに供給され、入力端子A(0)から信号A
(0)のデータがフリップフロップ回路(以下、FFと
称す)1bに供給される。The above verification flow is shown in FIG. 2 showing an example of a circuit to which the present invention is applied, FIG. 3 showing an example of a test pattern applied to this circuit, and an example of a database created in step S5. Referring to FIG. 4, the circuit shown in FIG. 2 is supplied with 2- bit signals A (0) and A (1) and B (0) and B (1) as an example. Signal A from input terminal A (1)
The data of (1) is supplied to a flip-flop circuit (hereinafter referred to as FF) 1a, and a signal A is input from an input terminal A (0).
The data of (0) is supplied to a flip-flop circuit (hereinafter, referred to as FF) 1b.
【0021】入力端子B(1)から信号B(1)のデー
タがFF2aに供給され、入力端子B(0)から信号B
(0)のデータがFF2bに供給される。The data of the signal B (1) is supplied from the input terminal B (1) to the FF 2a, and the signal B (0) is supplied from the input terminal B (0).
The data of (0) is supplied to the FF 2b.
【0022】FF1aの出力端Qから出力w1(1)が
加算器3の一方の入力端A1に供給され、FF1bの出
力端Qから出力w1(0)が他方の入力端A0に供給さ
れ、さらに加算器3の入力端B1にFF2aの出力端Q
から出力w2(1)が供給され、入力端B0にFF2b
の出力端Qから出力w2(0)が供給される。The output w1 (1) is supplied from the output terminal Q of the FF1a to one input terminal A1 of the adder 3, and the output w1 (0) is supplied from the output terminal Q of the FF1b to the other input terminal A0. The input terminal B1 of the adder 3 is connected to the output terminal Q of the FF2a.
Output w2 (1) is supplied from the FF2b to the input terminal B0.
The output w2 (0) is supplied from the output terminal Q of.
【0023】FF1aの出力端Qの出力w1(1)はさ
らに減算器4の一方の入力端A1に供給され、FF1b
の出力端Qの出力w1(0)が他方の入力端A0に供給
され、さらに減算器4の入力端B1にFF2aの出力端
Qの出力w2(1)が供給され、入力端B0にFF2b
の出力端Qの出力w2(0)が供給される。The output w1 (1) of the output terminal Q of the FF1a is further supplied to one input terminal A1 of the subtractor 4, and the FF1b
The output w1 (0) of the output terminal Q is supplied to the other input terminal A0, the output w2 (1) of the output terminal Q of the FF2a is supplied to the input terminal B1 of the subtractor 4, and the FF2b is supplied to the input terminal B0.
The output w2 (0) of the output terminal Q is supplied.
【0024】加算器3の出力w3(1)が選択回路5の
一方の入力端A1に供給され、出力w3(0)が他方の
入力端A0に供給される。選択回路5の一方の入力端B
1に減算器4の出力w4(1)が供給され、他方の入力
端B0に減算器4の出力w4(0)が供給される。さら
に入力端子SELにセレクト信号SELが供給されその
信号が論理レベルのハイレベル(以下、“1”と称す)
のとき入力端A1およびA0の2ビットの信号を選択す
る。The output w3 (1) of the adder 3 is supplied to one input terminal A1 of the selection circuit 5, and the output w3 (0) is supplied to the other input terminal A0. One input terminal B of the selection circuit 5
1 is supplied with the output w4 (1) of the subtractor 4, and the other input terminal B0 is supplied with the output w4 (0) of the subtractor 4. Further, a select signal SEL is supplied to the input terminal SEL, and the select signal SEL is at a high logic level (hereinafter, referred to as “1”).
At this time, a 2-bit signal at the input terminals A1 and A0 is selected.
【0025】選択回路5の出力w5(1)はFF6aの
データ入力端に供給され、その出力Qは出力端子OUT
(1)へ出力され、選択回路5の出力w5(0)はFF
6bのデータ入力端に供給され、その出力Qは出力端子
OUT(0)へ出力される。なお、FF1a、FF2a
およびFF6aおよび6bには入力端子Cからクロック
がそれぞれ供給される。The output w5 (1) of the selection circuit 5 is supplied to the data input terminal of the FF 6a, and its output Q is connected to the output terminal OUT.
(1), and the output w5 (0) of the selection circuit 5 is FF
6b is supplied to the data input terminal, and the output Q is output to the output terminal OUT (0). FF1a, FF2a
And the FF6a and 6b clock from the input terminal C is fed, respectively it subjected.
【0026】図2および図3中において、点線で囲まれ
た数字は、テストパタンとして与えられる値であり、上
から1、2、…、のパタン数を示し、図3のテストパタ
ンに対応する。In FIGS. 2 and 3, numerals surrounded by dotted lines are values given as test patterns, and indicate the number of patterns of 1, 2,... From the top and correspond to the test patterns of FIG. .
【0027】なお、加算器3と減算器4とにはそれぞれ
機能記述で記述されたデータとゲートレベルで記述され
たデータとが存在している。Each of the adder 3 and the subtractor 4 has data described in the function description and data described in the gate level.
【0028】まず最初に機能記述のデータとゲートレベ
ルのデータをステップS1で読み込んだ後に、テストパ
タンをステップS2で読み込み、ステップ3でシミュレ
ーションを実行して検証回路の入力端子A(1)、A
(0)、B(1)、B(0)、CおよびSELにそれぞ
れ対応するテストパタンを入力しながらクロック単位に
各ブロックの状態変化をトレースする。First, the function description data and gate level data are read in step S1, then the test pattern is read in step S2, and a simulation is executed in step 3 to execute input terminals A (1) and A (1) of the verification circuit.
While inputting test patterns respectively corresponding to (0), B (1), B (0), C and SEL, the state change of each block is traced in clock units.
【0029】まず例えば上位1ビット目(括弧付きの数
字、例えばA(1)のように示す)および下位0ビット
のそれぞれにテストパターンを与え、シミュレーション
を実行すると、テストパタン1では入力端子A(1)に
“1”、A(0)に“0”、B(1)に“1”、B
(0)に“0”、SELに“1”、クロック入力端子C
には“0”がそれぞれ供給され、そのときのFF1aお
よび1b、FF2aおよび2bの出力は不定(X)であ
るから次段以降に接続された各ブロックの出力も不定で
ある。すなわち出力w1(1)、w1(0)、w2
(1)、w2(0)、w3(1)、w3(0)、w4
(1)、w4(0)、w5(1)、w5(0)はそれぞ
れ“X”である。First, for example, a test pattern is given to each of the first upper bit (a number in parentheses, such as A (1)) and the lower 0 bits, and a simulation is executed. 1) is “1”, A (0) is “0”, B (1) is “1”, B
(0) is “0”, SEL is “1”, clock input terminal C
Is supplied, and the outputs of the FFs 1a and 1b and the FFs 2a and 2b at that time are undefined (X), so that the outputs of the blocks connected to the next and subsequent stages are also undefined. That is, outputs w1 (1), w1 (0), w2
(1), w2 (0), w3 (1), w3 (0), w4
(1), w4 (0), w5 (1), w5 (0) are each “X”.
【0030】テストパタン2ではクロックを変化させ入
力端子Cが“1”であるから、FF1aおよび2aはそ
れぞれ“1”を読み込み、FF1bおよび2bはそれぞ
れ“0”を読み込みそのデータを次のクロックの変化ま
で保持するから、加算器3は(A1、A0)+(B1、
B0)=10+10を加算し桁上りして出力は“00”
となる。減算器4は(A1、A0)−(B1、B0)=
10−10の減算をして出力は“00”となる。In the test pattern 2, since the clock is changed and the input terminal C is "1", the FFs 1a and 2a
Since each of the FFs 1b and 2b reads " 0 " and holds the data until the next clock change, the adder 3 reads (A1, A0) + (B1,
B0) = 10 + 10 is added and carry is carried out, and the output is “00”
Becomes The subtracter 4 calculates (A1, A0)-(B1, B0) =
After subtracting 10-10, the output becomes "00".
【0031】選択回路5ではセレクト信号SELが
“1”であるからA1、A0入力を選択し“00”を出
力する。次段のFF6aは次のクロック変化までは前の
状態を保持しているのでその出力は不定のままである。
すなわち、出力w1(1)、w2(1)は“1”、w1
(0)、w2(0)は“0”、w3(1)、w3
(0)、w4(1)、w4(0)、w5(1)、w5
(0)は“0”でありOUTは“X”である。Since the select signal SEL is "1", the select circuit 5 selects the A1 and A0 inputs and outputs "00". The output of the next-stage FF 6a remains undefined because the FF 6a holds the previous state until the next clock change.
That is, the outputs w1 (1) and w2 (1) are “1”, w1
(0), w2 (0) are “ 0 ”, w3 (1), w3
(0), w4 (1), w4 (0), w5 (1), w5
(0) is "0" and OUT is "X".
【0032】次のステップS3では、シミュレーション
の結果イベントが生じたか否かの判定をし、出力w1
(1)、w2(1)はその出力が不定から“1”に変化
し、w3(1)、w3(0)、w4(1)、w4
(0)、w5(1)、w5(0)は不定から“0”に変
化するイベントが生じたので、これらのパスが既にデー
タベースに登録されているか否かをその次のステップS
5で判定する。最初のテストパタンであるからまだ登録
されていないので、これらのイベントが生じたパスをそ
の次のステップS6でデータベースに登録する。In the next step S3, it is determined whether or not an event has occurred as a result of the simulation.
The outputs of (1) and w2 (1) change from indefinite to “1”, and w3 (1), w3 (0), w4 (1), w4
(0), w5 (1), and w5 (0) have an event that changes from indefinite to “0”, so it is determined whether or not these paths are already registered in the database in the next step S
5 is determined. Since the first test pattern has not been registered yet, the path where these events have occurred is registered in the database in the next step S6.
【0033】図4に示したデータベースを参照すると、
アドレス0にネット名Cの値が“1”→w1(0)の値
が“0”→w3(1)の値が“0”→w5(1)の値が
“0”のパスが登録され、アドレス1にCの値が“1”
→w1(0)の値が“0”→w3(0)の値が“0”→
w5(0)の値が“0”のパスが登録され、アドレス2
にCの値が“1”→w1(1)の値が“1”→w3
(1)の値が“0”→w5(1)の値が“0”のパスが
登録され、アドレス3にCの値が“1”→w1(1)の
値が“1”→w3(0)の値が“0”→w5(0)の値
が“0”のパスが登録されている。Referring to the database shown in FIG.
At address 0, a path in which the value of the net name C is “1” → the value of w1 (0) is “0” → the value of w3 (1) is “0” → the value of w5 (1) is “0” is registered. , The value of C at address 1 is “1”
→ The value of w1 (0) is “0” → The value of w3 (0) is “0” →
A path in which the value of w5 (0) is “0” is registered, and the address 2
, The value of C is “1” → w1 (1) is “1” → w3
A path where the value of (1) is “0” → the value of w5 (1) is “0” is registered, and the value of C is “1” → the value of w1 (1) is “1” → w3 ( A path in which the value of (0) is “0” → the value of w5 (0) is “0” is registered.
【0034】アドレス4にはネット名Cの値が“1”→
w1(0)の値が“0”→w4(1)の値が“0”のパ
スが登録され、アドレス5にはCの値が“1”→w1
(0)の値が“0”→w4(0)の値が“0”のパスが
登録され、アドレス6にはCの値が“1”→w1(1)
の値が“1”→w4(1)の値が“0”のパスが登録さ
れ、アドレス7にはCの値が“1”→w1(1)の値が
“1”→w4(0)の値が“0”のパスが登録されてい
る。At the address 4, the value of the net name C is "1" →
A path where the value of w1 (0) is “0” → w4 (1) is “0” is registered, and the value of C is “1” → w1 at address 5.
A path in which the value of (0) is “0” → the value of w4 (0) is “0” is registered, and the value of C is “1” → w1 (1) at address 6.
Is registered, a path whose value of “1” → w4 (1) is “0” is registered, and the value of C at the address 7 is “1” → the value of w1 (1) is “1” → w4 (0). Is registered as a path whose value is “0”.
【0035】アドレス8にネット名Cの値が“1”→w
2(0)の値が“0”→w3(0)の値が“0”→w5
(1)の値が“0”で登録され、アドレス9にCの値が
“1”→w2(0)の値が“0”→w3(0)の値が
“0”→w5(0)の値が“0”で登録され、アドレス
10にCの値が“1”→w2(1)の値が“1”→w3
(1)の値が“0”→w5(1)の値が“0”のパスが
登録され、アドレス11にCの値が“1”→w2(1)
の値が“1”→w3(0)の値が“0”→w5(0)の
値が“0”のパスが登録されている。At address 8, the value of the net name C is changed from "1" to w.
The value of 2 (0) is “0” → the value of w3 (0) is “0” → w5
The value of (1) is registered as “0”, and the value of C at address 9 is “1” → the value of w2 (0) is “0” → the value of w3 (0) is “0” → w5 (0) Is registered as “0”, and the value of C is “1” → w2 (1) at address 10 is “1” → w3
A path in which the value of (1) is “0” → the value of w5 (1) is “0” is registered, and the value of C is “1” → w2 (1) in the address 11
Are registered as paths in which the value of “1” → w3 (0) is “0” → the value of w5 (0) is “0”.
【0036】アドレス12にネット名Cの値が“1”→
w2(0)の値が“0”→w4(1)の値が“0”→ア
ドレス13にCの値が“1”→w2(0)の値が“0”
→w4(0)の値が“0”のパスが登録され、アドレス
14にCの値が“1”→w2(1)の値が“1”→w4
(1)の値が“0”のパスが登録され、アドレス15に
Cの値が“1”→w2(1)の値が“1”→w4(0)
の値が“0”のパスが登録されている。The value of the net name C is "1" at the address 12 →
The value of w2 (0) is “0” → the value of w4 (1) is “0” → the value of C at address 13 is “1” → the value of w2 (0) is “0”
→ A path with the value of w4 (0) being “0” is registered, and the value of C is “1” at address 14 → the value of w2 (1) is “1” → w4
A path whose value of (1) is “0” is registered, and the value of C is “1” → w2 (1) is “1” → w4 (0) at address 15.
Is registered as a path whose value is “0”.
【0037】次にステップS7でシミュレーションが終
了したかを判定するが、まだ2パターン目であるから、
引き続き3パターン目のシミュレーションを実行する。Next, in step S7, it is determined whether or not the simulation has been completed.
Subsequently, the simulation of the third pattern is executed.
【0038】テストパタン3ではクロックを変化させ入
力端子Cが再び“0”になるので、端子A(0)は
“1”に変化するが読み込まれずFF1aおよび1bと
FF2aおよび2bとは前の状態を維持し、したがって
加算器3、減算器4、選択回路5、FF6aおよび6b
の各出力も前の状態のままである。In the test pattern 3, since the clock is changed and the input terminal C becomes "0" again, the terminal A (0) changes to "1" but is not read and the FFs 1a and 1b and the FFs 2a and 2b are in the previous state. Therefore, the adder 3, the subtractor 4, the selection circuit 5, the FFs 6a and 6b
Are also in the previous state.
【0039】テストパタン4ではクロックが変化せず入
力端子Cが“0”のままであるので、出力w1(1)、
w2(1)は“1”、w1(0)、w2(0)はw3
(1)、w3(0)、w4(1)、w4(0)、w5
(1)、w5(0)は“0”であり、OUTは依然とし
て“X”である。これらのテストパタン3および4では
イベントが発生しないのでデータベースへの登録はしな
い。In the test pattern 4, since the clock does not change and the input terminal C remains "0", the outputs w1 (1),
w2 (1) is "1", w1 (0), w2 (0) is w3
(1), w3 (0), w4 (1), w4 (0), w5
(1), w5 (0) is “0”, and OUT is still “X”. Since no event occurs in these test patterns 3 and 4, registration in the database is not performed.
【0040】テストパタン5では再びクロックを変化さ
せ入力端子Cが“1”であるから、FF1aおよび1b
とFF2aとは再びデータ“1”を、FF2bはデータ
“0”を読み込み、これらのデータを次のクロックの変
化まで保持するから、これらの出力はそれぞれ“1”お
よび“0”を維持し、加算器3は(A1、A0)+(B
1、B0)=11+10を計算しその出力は“01”、
減算器4は(A1、A0)−(B1、B0)=11−1
0を計算しその出力は“01”となる。In the test pattern 5, since the clock is changed again and the input terminal C is "1", the FFs 1a and 1b
And FF2a read data "1" again, and FF2b read data "0" again, and hold these data until the next clock change. Therefore, their outputs maintain "1" and "0", respectively. The adder 3 calculates (A1, A0) + (B
1, B0) = 11 + 10, and the output is “01”,
The subtracter 4 calculates (A1, A0)-(B1, B0) = 11-1.
0 is calculated and the output is “01”.
【0041】選択回路5ではセレクト信号SELが
“1”のままであるからA1、A0入力を選択し“0
1”を出力する。次段のFF6aおよび6bはクロック
が変化したときに選択回路5の前の出力状態“0”をそ
れぞれ読み込み、出力は不定状態からそれぞれ“0”に
変化し、したがって出力端子OUT(1)およびOUT
(0)もそれぞれ“0”となる。すなわち、出力w1
(1)、w1(0)、w2(1)、w3(0)、w4
(0)、w5(0)は“1”であり、w2(0)、w3
(1)、w4(1)、w5(1)、OUTは“0”であ
る。In the selection circuit 5, since the select signal SEL remains "1", the inputs A1 and A0 are selected and "0" is selected.
The next-stage FFs 6a and 6b respectively read the output state "0" before the selection circuit 5 when the clock changes, and the outputs change from the undefined state to "0", respectively. OUT (1) and OUT
(0) also becomes “0”. That is, the output w1
(1), w1 (0), w2 (1), w3 (0), w4
(0) and w5 (0) are “1” and w2 (0) and w3
(1), w4 (1), w5 (1), and OUT are “0”.
【0042】テストパタン5における次のステップS3
では、再びシミュレーションの結果イベントが生じたか
否かの判定をし、FF1aおよび1bとFF2aおよび
FF2aとは前の状態を維持するが、FF6aおよび6
bの出力は“0”に変化するイベントが生じたので、こ
れらのパスが既にデータベースに登録されているか否か
をその次のステップS5で判定する。2回目のテストパ
タンであるから、w1(0)およびw4(0)がそれぞ
れ“1”と、OUT(1)およびOUT(0)のそれぞ
れ“0”のイベント以外はテストパタン2で既に登録さ
れているので、ここではOUT(1)およびOUT
(0)がそれぞれ“0”のイベントだけをその次のステ
ップS6でデータベースに登録する。Next step S3 in test pattern 5
Then, it is again determined whether or not an event has occurred as a result of the simulation, and the FFs 1a and 1b and the FFs 2a and FF2a maintain the previous state, but the FFs 6a and 6
Since the event that the output of b changes to “0” has occurred, it is determined in the next step S5 whether or not these paths have already been registered in the database. Since this is the second test pattern, w1 (0) and w4 (0) are already registered in test pattern 2 except for events of “1” and OUT (1) and OUT (0) of “0”, respectively. Therefore, here, OUT (1) and OUT (1)
Only the event for which (0) is "0" is registered in the database in the next step S6.
【0043】図4に示したデータベースを参照すると、
アドレス16にCの値が“1”→OUT(1)の値が
“0”、アドレス17にCの値が“1”→OUT(0)
の値が“0”、アドレス18にCの値が“1”→w2
(0)の値が“0”→w4(0)の値が“1”、アドレ
ス19にCの値が“1”→w1(0)の値が“1”→w
4(0)の値が“1”、アドレス20にCの値が“1”
→w2(0)の値が“0”→w3(0)の値が“1”→
w5(0)の値が“1”のパスがそれぞれ登録されてい
る。Referring to the database shown in FIG.
The value of C is “1” → OUT (1) is “0” at address 16, and the value of C is “1” → OUT (0) at address 17.
Is “0” and the value of C at address 18 is “1” → w2
The value of (0) is “0” → the value of w4 (0) is “1”, and the value of C at address 19 is “1” → the value of w1 (0) is “1” → w
The value of 4 (0) is “1”, and the value of C at address 20 is “1”.
→ The value of w2 (0) is “0” → The value of w3 (0) is “1” →
Each path whose value of w5 (0) is “1” is registered.
【0044】次にステップS7でシミュレーションが終
了したかを判定する。まだ5パターン目であるから、引
き続き6〜7パターン目のシミュレーションを順次に実
行する。6パターン目で端子A(0)は再び“0”に変
化するがクロックCが“0”に変化するので読み込まれ
ず前の状態を維持する。結局それぞれのイベントが発生
しないのでデータベースの登録はしない。Next, in step S7, it is determined whether the simulation has been completed. Since it is still the fifth pattern, simulations of the sixth and seventh patterns are successively executed. In the sixth pattern, the terminal A (0) changes to "0" again, but since the clock C changes to "0", the terminal A (0) is not read and the previous state is maintained. Eventually, each event does not occur, so the database is not registered.
【0045】次にステップS7でシミュレーションが終
了したかを判定する。まだ7パターン目であるから、引
き続きテストパターン8を実行する。テストパタン8で
はクロックが再び“1”になるので端子Cの値は“1”
となり、FF1aおよびFF2aはそれぞれ“1”を、
FF1bおよびFF2bはそれぞれ“0”を読み込んで
出力する。加算器3は(A1、A0)+(B1、B0)
=10+10の計算を実行して“00”を出力し、減算
器4は(A1、A0)−(B1、B0)=10−10の
計算を実行して“00”を出力する。Next, in step S7, it is determined whether the simulation has been completed. Since the pattern is still the seventh pattern, the test pattern 8 is continuously executed. In the test pattern 8, since the clock becomes "1" again, the value of the terminal C is "1".
FF1a and FF2a each represent "1",
The FFs 1b and 2b read and output “0”, respectively. The adder 3 is (A1, A0) + (B1, B0)
= 10 + 10 and outputs “00”, and the subtractor 4 executes the calculation of (A1, A0) − (B1, B0) = 10−10 and outputs “00”.
【0046】選択回路5はまだA1、A0入力を選択し
ているのでその出力は加算器3の値である“00”を出
力する。FF6aおよび6bはクロックが変化した時点
で選択回路5の前の出力状態“01”のうち、FF6a
が“0”を読み込むが前の状態と同じであるから“0”
を維持し、出力端子OUT(1)も“0”で変らない。Since the selection circuit 5 is still selecting the A1 and A0 inputs, its output outputs "00" which is the value of the adder 3. When the clock changes, the FFs 6a and 6b output the FF 6a out of the output state "01" before the selection circuit 5.
Reads “0” but is the same as the previous state, so “0”
, And the output terminal OUT (1) does not change to “0”.
【0047】FF6bは“1”を読み込むのでその出力
は“0”から“1”に変化し、したがって出力端子OU
T(0)も“1”に変化する。すなわち、出力w1
(0)、w2(0)、w3(1)、w3(0)、w4
(1)、w4(0)、w5(1)は“0”であり、出力
w1(1)、w2(1)、w5(0)は“1”であるか
ら、OUT(0)は“1”である。Since the FF 6b reads "1", its output changes from "0" to "1", so that the output terminal OU
T (0) also changes to “1”. That is, the output w1
(0), w2 (0), w3 (1), w3 (0), w4
(1), w4 (0), w5 (1) are “0” and the outputs w1 (1), w2 (1), w5 (0) are “1”, so that OUT (0) is “1”. ".
【0048】次のステップS4では、再びイベントが生
じたか否かの判定をし、出力w1(0)、w3(0)、
w4(0)は“1”から“0”へ、FF6bの出力が
“0”から“1”に変化するイベントがそれぞれ生じた
ので、これらのパスが既にデータベースに登録されてい
るか否かをその次のステップS5で判定して、ステップ
S6でデータベースに登録する。In the next step S4, it is determined whether or not an event has occurred again, and outputs w1 (0), w3 (0),
In w4 (0), an event occurs in which the output of the FF 6b changes from "0" to "1", and an event that the output of the FF 6b changes from "0" to "1" has occurred. Therefore, it is determined whether or not these paths have already been registered in the database. The determination is made in the next step S5, and registered in the database in step S6.
【0049】図4に示したデータベースを参照すると、
アドレス0〜15にはテストパタン2のときのw1
(0)、w3(0)、w4(0)がそれぞれ既に登録さ
れているからここではこれらの登録はしない。アドレス
21にはネット名Cの値が“1”のときネット名OUT
(0)の値が“1”で登録されている。Referring to the database shown in FIG.
Addresses 0 to 15 have w1 for test pattern 2
Since (0), w3 (0), and w4 (0) are already registered, they are not registered here. When the value of the net name C is "1", the net name OUT
The value of (0) is registered as “1”.
【0050】次にステップS7でシミュレーションが終
了したかを判定し、8パターン目で終了しているので、
次のステップS8ではゲートレベルの回路とステップ5
で記録したデータベース中に登録されたパスの遅延時間
を計算し、ステップ9では計算結果をレポート出力す
る。Next, it is determined in step S7 whether or not the simulation has been completed.
In the next step S8, the gate level circuit and step 5
The delay time of the path registered in the database recorded in the step is calculated, and in step 9, the calculation result is output as a report.
【0051】上述したように本実施例では、イベントが
発生したパスのデータのみを機能ブロックレベルのパス
のデータとして登録するので、従来例のようにゲートレ
ベルのパスデータを登録するのに比べて、データベース
の容量は従来よりも少なくて済む。As described above, in the present embodiment, only the data of the path where the event has occurred is registered as the data of the path at the functional block level, so that it is necessary to register the path data at the gate level as in the conventional example. However, the capacity of the database is smaller than before.
【0052】次に第2の実施の形態を説明する。第2の
実施の形態のフローチャートを示した図5を参照する
と、この遅延シミュレーション処理のステップは、ステ
ップS11は与えられた回路情報および機能情報を読み
込むステップであり、ステップS12は、与えられたテ
ストパタン情報を読み込むステップである。ステップS
13は機能シミュレーションを実行するステップであ
る。ステップS14は機能シミュレーションの実行時に
内部接続のネットにイベントが生じたかを判定するステ
ップである。ステップS15は機能情報に含まれる機能
ブロックの出力端子にイベントが生じたパスの終点の機
能ブロックが、順序回路の要素を含んでいるかまたは外
部出力端子のいずれかであるかを判定するステップであ
る。ステップS16は検出されたパスが既にデータベー
ス上に記録されているかを判定するステップである。ス
テップS17は検出されたパスの終点の機能ブロックが
順序回路の要素を含むときまたは外部出力端子であると
きのみにそれらのパスをデータベースに登録するステッ
プである。ステップS18は前記シミュレーションが終
了したかを判定するステップである。ステップS19は
記録されたデータベースからイベントが生じたパス情報
を抽出してこのパスの遅延時間を計算するステップであ
る。ステップS20は計算されたパスの遅延時間を基に
内部回路の所定のタイミングの検証結果を表示するステ
ップである。Next, a second embodiment will be described. Referring to FIG. 5 showing a flowchart of the second embodiment, in the delay simulation processing, step S11 is a step of reading given circuit information and function information, and step S12 is a step of reading a given test. This is a step of reading pattern information. Step S
13 is a step of executing a function simulation. Step S14 is a step of determining whether or not an event has occurred in the internally connected net when executing the function simulation. Step S15 is a step of determining whether the functional block at the end point of the path where an event has occurred at the output terminal of the functional block included in the functional information contains a sequential circuit element or is either an external output terminal. . Step S16 is a step of determining whether or not the detected path has already been recorded on the database. Step S17 is a step of registering the detected paths in the database only when the functional block at the end point of the paths includes an element of the sequential circuit or is an external output terminal. Step S18 is a step of determining whether or not the simulation has been completed. Step S19 is a step of extracting the path information where the event has occurred from the recorded database and calculating the delay time of this path. Step S20 is a step of displaying a verification result of a predetermined timing of the internal circuit based on the calculated path delay time.
【0053】このとき、ステップS14におけるイベン
トが発生しないときと、ステップS15におけるイベン
トが生じたパスの終点のブロックに順序回路の要素が含
まれていないときと、ステップS16におけるイベント
を生じたパスが既に登録されているときとは、そのいず
れもシミュレーションが終了するまではそのシミュレー
ションを再実行するフローになるように構成してある。At this time, when the event does not occur in step S14, when the element of the sequential circuit is not included in the block at the end point of the path in which the event occurred in step S15, and when the path in which the event occurs in step S16 is In the case where the simulation is already registered, the flow is such that the simulation is re-executed until the simulation is completed.
【0054】再び図2、図3および図4を併せて参照し
ながら上述した検証フローを説明すると、第1の実施の
形態のフローとの相違点は、検出された回路の終点のブ
ロックが順序回路の要素を含んでいるか、または外部出
力端子のいずれであるかを判定するステップS15を追
加していることである。The above-described verification flow will be described with reference to FIGS. 2, 3 and 4 again. The difference from the flow of the first embodiment is that the block at the end point of the detected circuit is in order. Step S15 for determining whether the element includes a circuit element or is an external output terminal is added.
【0055】すなわち、内部回路の検証を実行すると
き、タイミングが問題となるのは外部入力端子を起点と
し、FFのデータ入力または外部出力端子を終点とする
パスである。本実施の形態では、終点のブロックが順序
回路を含んでいるかまたは外部出力端子のいずれである
かを判定し、終点のブロックが順序回路の要素を含まな
いパス、または外部出力端子でないパスはデータベース
に登録しないように構成されている。That is, when the verification of the internal circuit is executed, the timing becomes a problem in a path starting from the external input terminal and ending at the data input of the FF or the external output terminal. In this embodiment, it is determined whether the block at the end point includes a sequential circuit or an external output terminal, and the path at which the block at the end point does not include the element of the sequential circuit, or the path that is not the external output terminal is a database. It is configured not to register with.
【0056】例えば、図2に示した回路の場合は、w1
(1)→w4(1)、w1(0)→w4(0)、w2
(1)→w4(1)およびw2(0)→w4(0)のそ
れぞれのパスの終点は選択回路5であり、図3に示した
テストパタンではこれら4つのパスはいずれも選択回路
5では選択されていないので、データベースには登録さ
れない。図4に示した第1の実施の形態におけるデータ
ベースには、テストパタン2ではアドレス4にw1
(0)→w4(1)、アドレス5にw1(0)→w4
(0)、アドレス6にw1(1)→w4(1)、アドレ
ス7にw1(1)→w4(0)、アドレス12にw2
(0)→w4(1)、アドレス13にw2(0)→w4
(0)、アドレス14にw2(1)→w4(1)、アド
レス15にw2(1)→w4(0)、テストパタン5で
はアドレス18にw2(0)→w4(0)およびアドレ
ス19にw1(0)→w4(0)のそれぞれのパスが登
録されているが、これらのパスは第2の実施の形態では
ステップS15により除かれるので登録されることはな
い。For example, in the case of the circuit shown in FIG.
(1) → w4 (1), w1 (0) → w4 (0), w2
The end point of each path of (1) → w4 (1) and w2 (0) → w4 (0) is the selection circuit 5, and in the test pattern shown in FIG. Since it is not selected, it is not registered in the database. In the database according to the first embodiment shown in FIG.
(0) → w4 (1), w1 (0) → w4 at address 5
(0), w1 (1) → w4 (1) at address 6, w1 (1) → w4 (0) at address 7, w2 at address 12
(0) → w4 (1), w2 (0) → w4 at address 13
(0), w2 (1) → w4 (1) for address 14, w2 (1) → w4 (0) for address 15, and w2 (0) → w4 (0) for address 18 and address 19 for test pattern 5. Although respective paths from w1 (0) to w4 (0) are registered, these paths are not registered because they are excluded in step S15 in the second embodiment.
【0057】したがって、上述したように、イベントが
発生しているパスであっても、回路の動作に影響のない
パスをデータベースに登録しないようにすることによっ
て、データベースの容量の削減とステップS19におけ
る遅延計算に要する時間の短縮が出来る。Therefore, as described above, even if a path in which an event has occurred, a path that does not affect the operation of the circuit is not registered in the database, thereby reducing the capacity of the database and reducing the processing in step S19. The time required for delay calculation can be reduced.
【0058】[0058]
【発明の効果】以上説明したように、本発明のASIC
検証方法は、シミュレーションの実行結果にイベントが
生じた場合はそのイベントが生じるパスと、このパスの
終点のブロックに順序回路の要素が含まれるかまたは外
部出力端子である場合はそのパスとをそれぞれ機能ブロ
ック単位にデータベースに登録し、これらの登録された
パスの遅延時間のみを計算する遅延シミュレーション処
理を含むので、従来のようにゲートレベルでイベントの
あったパスの全てのデータを登録していたのに比べてデ
ータベースの容量を削減出来、かつ機能シミュレーショ
ンを高速に実行することが出来る。さらにイベントが発
生しているパスであっても、回路の動作に影響のないパ
スをデータベースに登録しないようにすることによっ
て、データベースの容量の削減をすることが出来る。As described above, the ASIC of the present invention
The verification method determines the path in which the event occurs if the event occurs in the simulation execution result, and the path if the block at the end point of this path includes a sequential circuit element or is an external output terminal. Since it includes delay simulation processing that registers in the database for each functional block and calculates only the delay time of these registered paths, all data of the path that had an event at the gate level as before was registered As compared with the above, the capacity of the database can be reduced, and the function simulation can be executed at high speed. Furthermore, even if a path in which an event has occurred, the capacity of the database can be reduced by not registering a path that does not affect the operation of the circuit in the database.
【図1】本発明の第1の実施の形態を示すフローチャー
トである。FIG. 1 is a flowchart showing a first embodiment of the present invention.
【図2】本発明が適用される内部回路の一例の回路を示
すブロック図である。FIG. 2 is a block diagram illustrating an example of an internal circuit to which the present invention is applied;
【図3】本発明の検証方法説明するためのテストパタン
の一例を示す図である。FIG. 3 is a diagram showing an example of a test pattern for explaining a verification method of the present invention.
【図4】本発明の検証方法説明するためのデータベース
に登録されたパスの一例を示す図である。FIG. 4 is a diagram showing an example of a path registered in a database for explaining a verification method of the present invention.
【図5】本発明の第2の実施の形態を示すフローチャー
トである。FIG. 5 is a flowchart showing a second embodiment of the present invention.
【図6】従来の検証方法の一例を示す構成図である。FIG. 6 is a configuration diagram illustrating an example of a conventional verification method.
1a,1b,2a,2b,6a,6b FF 3a,3b 加算器 4 減算器 5 選択回路 10 遅延シミュレータ 11 論理回路 12 テストパタン 13 遅延情報 14 リスト w1(1) FF1a出力 w1(0) FF1b出力 w2(1) FF2a出力 w2(0) FF2b出力 w3(1) 加算器3の上位ビット出力 w3(0) 加算器3の下位ビット出力 w4(1) 減算器3の上位ビット出力 w4(0) 減算器3の下位ビット出力 w5(1) 選択回路5の上位ビット出力 w5(0) 選択回路5の下位ビット出力 S1〜S9 第1の実施の形態のフローチャートの処
理ステップ S11〜S20 第2の実施の形態のフローチャート
の処理ステップ1a, 1b, 2a, 2b, 6a, 6b FF 3a, 3b Adder 4 Subtractor 5 Selection circuit 10 Delay simulator 11 Logic circuit 12 Test pattern 13 Delay information 14 List w1 (1) FF1a output w1 (0) FF1b output w2 (1) Output of FF2a w2 (0) Output of FF2b w3 (1) Upper bit output of adder 3 w3 (0) Lower bit output of adder 3 w4 (1) Upper bit output of subtracter 3 w4 (0) Subtractor 3 low-order bit output w5 (1) high-order bit output of the selection circuit 5 w5 (0) low-order bit output of the selection circuit 5 S1 to S9 Processing steps in the flowchart of the first embodiment S11 to S20 Second embodiment Processing steps in the flowchart
Claims (4)
ASICの内部回路が論理積回路、論理和回路、インバ
ータ回路、複合ゲート、フリップフロップおよび入出バ
ッファ等のセルを含む基本セルを単位とする階層レベル
にまで具体化され、これら論理回路相互間の接続にあら
かじめ用意された論理セルライブラリを使用するととも
に、フリップフロップ、加算器、減算器、選択回路など
をそれぞれ機能ブロックとし、各ゲートの電気的特性か
ら予測した遅延値を与えて所定の機能ブロック間の回路
接続されたパスにおける素子および配線の遅延時間を計
算しそのクリティカルパスの解析を行なう遅延シミュレ
ーションを対象とするASIC検証方法において、前記
遅延シミュレーション実行時にテストパタン情報の変化
に応じて前記内部回路内の前記機能ブロックの出力端子
に論理レベルのハイレベルからロウレベルへ、またはロ
ウレベルからハイレベルへ変化するイベントが発生した
全ての前記パスのうち前記パス登録用のデータベースに
未登録のパスのみを抽出して順次登録するとともに、こ
れらの登録されたパスの前記遅延時間のみを計算する遅
延シミュレーション処理を行う検証方法であって、前記
遅延シミュレーション処理は、与えられた回路情報およ
び機能情報を読み込むステップと、与えられた前記テス
トパタン情報を読み込むステップと、前記回路および機
能のそれぞれの情報と前記テストパタン情報を基に機能
シミュレーションを実行するステップと、前記機能シミ
ュレーションの実行時に内部接続のネットに前記イベン
トが生じたかを判定するステップと、前記機能情報に含
まれる前記機能ブロックの出力端子に前記イベントが生
じたパスが既に登録されているか否かを判定するステッ
プと、前記イベントが発生しているときはそのパスを記
録して前記データベースを作成するステップと、前記機
能シミュレーションが終了したかを判定するステップ
と、前記データベースから前記イベントが生じたパス情
報を抽出してこのパスの前記遅延時間を計算するステッ
プと、計算された前記パスの遅延時間を基に前記内部回
路の所定のタイミングの検証結果を表示するステップと
を有するASIC検証方法。 (1) This is based on the ASIC function design data.
The internal circuit of the ASIC is a logical product circuit, a logical sum circuit,
Data circuit, composite gate, flip-flop and input / output
Hierarchy level in units of basic cells including cells such as buffers
To the connection between these logic circuits.
Use the logic cell library prepared in advance
, Flip-flops, adders, subtractors, selection circuits, etc.
Are function blocks, respectively.Electrical characteristics of each gate
Circuit between predetermined function blocks by giving the delay value predicted from
ConnectedMeasure the delay time of elements and wiring in the path
ArithmeticDelay simulation to analyze the critical path
In an ASIC verification method for an application,
Changes in test pattern information during delay simulation
An output terminal of the functional block in the internal circuit according to
The logic level from high to low or low.
An event that changes from u-level to high-level has occurred
In the path registration database of all the paths
Extract only unregistered pathsWhile registering sequentially,
TheseDelay to calculate only the delay time of the registered path
A verification method for performing a rolling simulation process,
Delay simulation processingIs the circuit information and
And function informationStepsAnd the given test
Read top pattern informationStepsAnd the circuit and machine
Function based on each function information and the test pattern information
Run the simulationStepsAnd the function stain
When executing the simulation, the event
To determine if the event has occurredStepsIncluded in the function information.
The event is generated at the output terminal of the function block
To determine whether the same path has already been registeredStep
StepIf the event has occurred, write the path.
Record and create the databaseStepsAnd the machine
To determine whether the simulation has been completedSteps
And the path information where the event occurred from the database.
Information and calculate the delay time for this pathStep
StepAnd the internal time based on the calculated delay time of the path.
Display the verification result of the predetermined timing of the roadStepsWhen
An ASIC verification method comprising:
記イベントを生じたパスが既に登録されているときは、
そのいずれも前記機能シミュレーションが終 了するまで
そのシミュレーションを再実行する請求項1記載のAS
IC検証方法。 2. When the event does not occur and when the path that caused the event is already registered,
That any of the functional simulation Until termination has been finalized
2. The AS according to claim 1, wherein the simulation is re-executed.
IC verification method.
ASICの内部回路が論理積回路、論理和回路、インバ
ータ回路、複合ゲート、フリップフロップおよび入出バ
ッファ等のセルを含む基本セルを単位とする階層レベル
にまで具体化され、これら論理回路相互間の接続にあら
かじめ用意された論理セルライブラリを使用するととも
に、フリップフロップ、加算器、減算器、選択回路など
をそれぞれ機能ブロックとし、各ゲートの電気的特性か
ら予測した遅延値を与えて所定の機能ブロック間の回路
接続されたパスにおける素子および配線の遅延時間を計
算しそのクリティカルパスの解析を行なう遅延シミュレ
ーションを対象とするASIC検証方法において、前記
遅延シミュレーション実行時にテストパタン情報の変化
に応じて前記内部回路内の前記機能ブロックの出力端子
に論理レベルのハイレベルからロウレベルへ、またはロ
ウレベルからハイレベルへ変化するイベントが発生した
全ての前記パスのうち前記パス登録用のデータベースに
未登録のパスのみを抽出して順次登録するとともに、前
記パスの終点の前記機能ブロックに順序回路の要素また
は外部出力端子が含まれる場合はそのパスをそれぞれ前
記データベースに登録し、これらの登録されたパスの前
記遅延時間のみを計算する遅延シミュレーション処理を
行う検証方法であって、前記遅延シミュレーション処理
は、与えられた回路情報および機能情報を読み込むステ
ップと、与えられた前記テストパタン情報を読み込むス
テップと、前記機能シミュレーションを実行するステッ
プと、前記機能シミュレーションの実行時に内部接続の
ネットの前記機能情報に含まれる前記機能ブロックの出
力端子に前記イベントが生じたか否かを判定するステッ
プと、検出された前記パスの終点の前記機能ブロックが
順序回路の要素を含んでいるかまたは前記外部出力端子
のいずれかであるかを判定するステップと、検出された
前記パスが既に前記データベース上に登録されているか
を判定するステップと、検出された前記パスの終点の前
記機能ブロックが前記順序回路の要素を含むときまたは
前記外部出力端子であるときのみにそれらのパスを前記
データベースに登録するステップと、前記機能シミュレ
ーションが終了したかを判定するステップと、前記パス
が登録されたデータベースから前記イベントが生じたパ
ス情報を抽出してこのパスの前記遅延時間を計算するス
テップと、計算された前記パスの前記遅延時間を基に前
記内部回路の所定のタイミングの検証結果を表示するス
テップとを有するASIC検証方法。 3. Based on the function design data of the ASIC,
The internal circuit of the ASIC is a logical product circuit, a logical sum circuit,
Data circuit, composite gate, flip-flop and input / output
Hierarchy level in units of basic cells including cells such as buffers
To the connection between these logic circuits.
Use the logic cell library prepared in advance
, Flip-flops, adders, subtractors, selection circuits, etc.
Are each a functional block, and a delay value predicted from the electrical characteristics of each gate is given to measure a delay time of an element and a wiring in a path connected to a circuit between predetermined functional blocks.
In the ASIC verification method for a delay simulation for performing a critical path analysis, a logic high level is applied to an output terminal of the functional block in the internal circuit in response to a change in test pattern information during the execution of the delay simulation. Out of all the paths where an event that changes from low to high or from low to high occurs in the database for the path registration
Only unregistered paths are extracted and sequentially registered, and when the functional block at the end of the path includes a sequential circuit element or an external output terminal, the path is forwarded.
Registered in the database and before these registered paths
Delay simulation processing that calculates only the delay time
The delay simulation processing is a step of reading given circuit information and function information.
Vinegar read and-up, the test pattern information given
And step, step of executing the functional simulation
A step of determining whether or not the event has occurred at the output terminal of the function block included in the function information of the internally connected net when the function simulation is executed.
Flop and, and determining whether any of the detected end point the function blocks or the external output terminal contains elements of the sequential circuit of said path, said detected path already on the database and determining whether it is registered in the functional block of the end point of said detected path to register only those paths when or when the an external output terminal contains elements of the sequential circuit in the database steps and, determining whether the functional simulation is finished, scan the extracted path information which the event has occurred from a database in which the path is registered to calculate the delay time of the path
And a step of displaying a verification result of a predetermined timing of the internal circuit based on the calculated delay time of the path .
An ASIC verification method having steps .
スの終点の前記機能ブロックが前記順序回路の要素を含
んでいないかまたは前記外部出力端子でないときと、前
記パスが既に前記データベースへ登録されているときと
は、そのいずれも前記機能シミュレーションが終了する
までそのシミュレーションを再実行する請求項3記載の
ASIC検証方法。And when wherein said event does not occur, and when the function block of the end point of the path is not does not contain elements or the external output terminal of the sequential circuit, the path is already registered to the database The functional simulation is terminated.
4. The ASIC verification method according to claim 3, wherein the simulation is re-executed until the ASIC verification.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP7251532A JP2996153B2 (en) | 1995-09-28 | 1995-09-28 | ASIC verification method |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP7251532A JP2996153B2 (en) | 1995-09-28 | 1995-09-28 | ASIC verification method |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH0997270A JPH0997270A (en) | 1997-04-08 |
JP2996153B2 true JP2996153B2 (en) | 1999-12-27 |
Family
ID=17224217
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP7251532A Expired - Fee Related JP2996153B2 (en) | 1995-09-28 | 1995-09-28 | ASIC verification method |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2996153B2 (en) |
-
1995
- 1995-09-28 JP JP7251532A patent/JP2996153B2/en not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JPH0997270A (en) | 1997-04-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7958470B1 (en) | Method and system for false path analysis | |
JP4994393B2 (en) | System and method for generating multiple models at different levels of abstraction from a single master model | |
US7587690B1 (en) | Method and system for global coverage analysis | |
JP3851357B2 (en) | Timing characteristic extraction method for transistor circuit, storage medium storing timing characteristic library, LSI design method, and gate extraction method | |
US20050228616A1 (en) | Method and system for providing fast design for testability prototyping in integrated circuit designs | |
JPH06274568A (en) | How to expand hierarchical figure data | |
CN117907812B (en) | Circuit detection method and device, electronic device, storage medium, and program product | |
JP3272915B2 (en) | Static timing analyzer | |
Chen et al. | A new framework for static timing analysis, incremental timing refinement, and timing simulation | |
JP2996153B2 (en) | ASIC verification method | |
US12073159B2 (en) | Computing device and method for detecting clock domain crossing violation in design of memory device | |
US7328415B2 (en) | Modeling blocks of an integrated circuit for timing verification | |
US6377909B1 (en) | Method and apparatus for preparing a logic simulation model and recording medium for storing the same | |
JP2872216B1 (en) | Macro design method | |
Oh et al. | Efficient logic-level timing analysis using constraint-guided critical path search | |
JP2853649B2 (en) | How to create a logic simulation model | |
JP2845154B2 (en) | How to create a logic simulation model | |
JP2002259488A (en) | Method for verifying clock skew | |
JP3654941B2 (en) | Logic simulation method and logic simulator | |
US7350162B2 (en) | Structure analytic program | |
JPH0195365A (en) | Analyzing processing system for critical path | |
JP3957507B2 (en) | Device for converting logic circuit into decision graph, conversion method, and recording medium recording conversion program | |
JP3130881B2 (en) | Timing specification verification method | |
JP3652220B2 (en) | Logic circuit verification device, logic circuit verification method, and recording medium storing logic circuit verification program | |
JP3491618B2 (en) | Netlist generation method and program for integrated circuit |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 19990928 |
|
LAPS | Cancellation because of no payment of annual fees |