Deprecated: The each() function is deprecated. This message will be suppressed on further calls in /home/zhenxiangba/zhenxiangba.com/public_html/phproxy-improved-master/index.php on line 456
JP2996153B2 - Asic検証方法 - Google Patents
[go: Go Back, main page]

JP2996153B2 - Asic検証方法 - Google Patents

Asic検証方法

Info

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
Application number
JP7251532A
Other languages
English (en)
Other versions
JPH0997270A (ja
Inventor
祐史 奥野
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.)
NEC Corp
Original Assignee
NEC Corp
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 NEC Corp filed Critical NEC Corp
Priority to JP7251532A priority Critical patent/JP2996153B2/ja
Publication of JPH0997270A publication Critical patent/JPH0997270A/ja
Application granted granted Critical
Publication of JP2996153B2 publication Critical patent/JP2996153B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明はASIC検証方法に
係わり、特に大規模な回路機能を有するASICのシミ
ュレーション効率を改善したASIC検証方法に関す
る。
【0002】
【従来の技術】一般的なASICの設計手順としては、
自動設計あるいは人手設計のいずれの場合においても、
ユーザーが定めるASICの外部条件、設計要項等のシ
ステム仕様に基づきASICの機能仕様を作成し、AS
ICの動作の詳細を設計する機能設計工程と、この工程
で得られた機能設計データに基づきASICがNAND
およびインバータ等の論理ゲートを単位とするレベルに
まで具体化され、これらゲートの接続関係に主眼をおい
た設計であって、あらかじめ用意された論理セルライブ
ラリを使用して行なう論理設計工程と、ASICの製造
条件に基づき使用するトランジスタの形状、電気的性能
等を設計するデバイス設計工程と、論理セルライブラリ
に使用する基本論理単位とデバイス設計によって得られ
るトランジスタライブラリを組み合せて、その性能を回
路シミュレータによって予測してパラメータの形で提供
する回路セルの設計およびレイアウト設計後のデータを
基により詳細な電源変動、温度変動、クリティカルパス
の余裕度等を検証する全体回路設計からなる論理設計工
程と、論理設計から得られた接続情報および回路設計よ
り得られた論理セルライブラリを用いて論理ゲートの配
置配線を行なうレイアウト設計工程と、製造後のASI
Cが所期の性能および機能を満たしていることを調べる
ための入力試験データおよび出力期待値等のテストパタ
ンを設計する試験設計工程とからなる。
【0003】上述した設計工程のうちの論理設計工程に
おいては、論理セルライブラリとして基本ゲートの他に
複合ゲート、フリップフロップ、入出バッファのような
数ゲートから十数ゲート規模のセルが含まれる。これら
の各ゲートの電気的特性から予測した延値を論理回路に
与えて、回路接続された所定の機能ブロック間のパスに
おける素子および配線の遅延時間を計算しそのクリティ
カルパスの遅延シミュレーションを行なうパス解析法等
のシミュレーション手段が用いられ、回路設計工程およ
びレイアウト設計工程と密接な関係をもたせて作業が行
なわれる。
【0004】従来のこの種の検証方法の一例が、特開平
4−238576号公報に記載されている。同公報記載
の遅延シミュレーション方法の構成要部を示した図6を
参照すると、遅延シミュレータ10は検証対象の論理回
路11とこの回路を検証するためのテストパタン12と
論理回路13内のすべての素子遅延および配線遅延値か
らなる遅延情報13とから所定の情報が与えられるとと
もに、シミュレーション結果をリスト14に出力する。
【0005】このシミュレータ10は、テストパタン1
2を用いてゼロディレイまたはユニットディレイシミュ
レーションを行なうシミュレータ101と、このシミュ
レータ101によるシミュレーション結果から活性化さ
れたパスを検出するパス検出手段102と、活性化され
たパスの情報入力ピン名とその素子に接続される前段の
素子の出力ピン名と活性化時の出力状態値をスタックす
る活性化テーブル103と、活性化されたパスのみにつ
いて詳細な遅延情報に基づき遅延シミュレーションを行
なう論理シミュレータ104と、この論理シミュレータ
104のシミュレーションの結果から最小遅延時間およ
び最大遅延時間のクリティカルパスを求めるパス解析手
段105とを備える。
【0006】このシミュレーション動作を説明すると、
まず、始めにテストパタン12が与えられると、ゼロ
(0)ディレイあるいはユニットディレイシミュレータ
101により論理回路11全体のシミュレータにより、
論理回路11の回路全体のシミュレーションを行なう。
【0007】このとき活性化された素子についてその素
子の入力ピン名とその素子に接続される前段の素子の出
力ピン名と活性化されたときの出力状態値を活性化テー
ブル103にスタックする。最終的には論理回路の外部
入力ピンの変化が外部出力ピンに伝播した後、活性化さ
れた出力ピンからファンイントレースを行ない、活性化
されたパスをパス検出手段102により求める。
【0008】次に、活性化されたパスについてのみ遅延
情報13および活性化テーブル103の情報から素子遅
延時間および配線遅延時間を考慮した詳細なシミュレー
ションを論理シミュレータ104で行なう。その結果を
活性化テーブル103にスタックする。このスタックさ
れたシミュレーション結果を基にパス解析手段105
より最大および最小遅延を求めている。
【0009】
【発明が解決しようとする課題】上述したように、従来
の遅延シミュレータにおいては、回路全体のパスの活性
化状態をユニットまたはゼロディレイのゲートレベルシ
ミュレーションを利用して求めているので、回路規模が
大きくなるとシミューションの高速化が困難になってく
るという問題があった。
【0010】また、活性化テーブルをゲートレベルの回
路に対して用意しているので、回路規模が大きくなると
活性化テーブルに必要なメモリ量が膨大な量になってく
るとともに、活性化されたパスが膨大になり遅延シミュ
レーションの時間が長時間必要となってくるという問題
もあった。
【0011】本発明の目的は、上述の欠点に鑑みなされ
たものであり、大規模のASIC半導体における機能お
よびタイミングの検証を高速に実行する検証方法を提供
することにある。
【0012】
【課題を解決するための手段】本発明のASIC検証方
法の特徴は、ASICの機能設計データに基づきこのA
SICの内部回路が論理積回路、論理和回路、インバー
タ回路、複合ゲート、フリップフロップおよび入出バッ
ファ等のセルを含む基本セルを単位とする階層レベルに
まで具体化され、これら論理回路相互間の接続にあらか
じめ用意された論理セルライブラリを使用するととも
に、フリップフロップ、加算器、減算器、選択回路など
をそれぞれ機能ブロックとし、各ゲートの電気的特性か
ら予測した遅延値を与えて所定の機能ブロック間の回路
接続されたパスにおける素子および配線の遅延時間を計
しそのクリティカルパスの解析を行なう遅延シミュレ
ーションを対象とするASIC検証方法において、前記
遅延シミュレーション実行時にテストパタン情報の変化
に応じて前記内部回路内の前記機能ブロックの出力端子
に論理レベルのハイレベルからロウレベルへ、またはロ
ウレベルからハイレベルへ変化するイベントが発生した
全ての前記パスのうち前記パス登録用のデータベースに
未登録のパスのみを抽出して順次登録するとともに、こ
れらの登録されたパスの前記遅延時間のみを計算する遅
延シミュレーション処理を行う検証方法であって、前記
遅延シミュレーション処理は、与えられた回路情報およ
び機能情報を読み込むステップと、与えられた前記テス
トパタン情報を読み込むステップと、前記回路および機
能のそれぞれの情報と前記テストパタン情報を基に機能
シミュレーションを実行するステップと、前記機能シミ
ュレーションの実行時に内部接続のネットに前記イベン
トが生じたかを判定するステップと、前記機能情報に含
まれる前記機能ブロックの出力端子に前記イベントが生
じたパスが既に登録されているか否かを判定するステッ
プと、前記イベントが発生しているときはそのパスを記
録して前記データベースを作成するステップと、前記機
能シミュレーションが終了したかを判定するステップ
と、前記データベースから前記イベントが生じたパス情
報を抽出してこのパスの前記遅延時間を計算するステッ
プと、計算された前記パスの遅延時間を基に前記内部回
路の所定のタイミングの検証結果を表示するステップと
を有する。
【0013】
【0014】さらに、前記イベントが発生しないときお
よび前記イベントを生じたパスが既に登録されていると
きは、そのいずれも前記機能シミュレーションが終了す
るまでそのシミュレーションを再実行することができ
る。
【0015】本発明のASIC検証方法の他の特徴は、
ASICの機能設計データに基づきこのASICの内部
回路が論理積回路、論理和回路、インバータ回路、複合
ゲート、フリップフロップおよび入出バッファ等のセル
を含む基本セルを単位とする階層レベルにまで具体化さ
れ、これら論理回路相互間の接続にあらかじめ用意され
た論理セルライブラリを使用するとともに、フリップフ
ロップ、加算器、減算器、選択回路などをそれぞれ機能
ブロックとし、各ゲートの電気的特性から予測した遅延
値を与えて所定の機能ブロック間の回路接続されたパス
における素子および配線の遅延時間を計算しそのクリテ
ィカルパスの解析を行なう遅延シミュレーションを対象
とするASIC検証方法において、前記遅延シミュレー
ション実行時にテストパタン情報の変化に応じて前記内
部回路内の前記機能ブロックの出力端子に論理レベルの
ハイレベルからロウレベルへ、またはロウレベルからハ
イレベルへ変化するイベントが発生した全ての前記パス
のうち前記パス登録用のデータベースに未登録のパスの
みを抽出して順次登録するとともに、前記パスの終点の
前記機能ブロックに順序回路の要素または外部出力端子
が含まれる場合はそのパスをそれぞれ前記データベース
に登録し、これらの登録されたパスの前記遅延時間のみ
を計算する遅延シミュレーション処理を行う検証方法で
あって、前記遅延シミュレーション処理は、与えられた
回路情報および機能情報を読み込むステップと、与えら
れた前記テストパタン情報を読み込むステップと、前記
機能シミュレーションを実行するステップと、前記機能
シミュレーションの実行時に内部接続のネットの前記機
能情報に含まれる前記機能ブロックの出力端子に前記イ
ベントが生じたか否かを判定するステップと、検出され
た前記パスの終点の前記機能ブロックが順序回路の要素
を含んでいるかまたは前記外部出力端子のいずれかであ
るかを判定するステップと、検出された前記パスが既に
前記データベース上に登録されているかを判定するステ
ップと、検出された前記パスの終点の前記機能ブロック
が前記順序回路の要素を含むときまたは前記外部出力端
子であるときのみにそれらのパスを前記データベースに
登録するステップと、前記機能シミュレーションが終了
したかを判定するステップと、前記パスが登録されたデ
ータベースから前記イベントが生じたパス情報を抽出し
てこのパスの前記遅延時間を計算するステップと、計算
された前記パスの前記遅延時間を基に前記内部回路の所
定のタイミングの検証結果を表示するステップとを有す
る。
【0016】また、前記イベントが生じないときと、前
記パスの終点の前記機能ブロックが前記順序回路の要素
を含んでいないかまたは前記外部出力端子でないとき
と、前記パスが既に前記データベースへ登録されている
ときとは、そのいずれも前記機能シミュレーションが終
了するまでそのシミュレーションを再実行することがで
きる。
【0017】
【発明の実施の形態】まず、本発明の第1の実施の形態
について図面を参照しながら説明する。図1は本発明の
ASIC検証方法の第1の実施の形態を示すフローチャ
ートである。
【0018】図1を参照すると、ステップS1は与えら
れた回路情報および機能情報を読み込むステップであ
る。ステップS2は与えられたテストパタン情報を読み
込むステップである。ステップS3は回路情報および機
能情報のそれぞれの情報とこのASICの内部回路を検
証するためにあらかじめ用意されたテストパタンを基に
機能シミュレーションを実行するステップである。ステ
ップ4は機能シミュレーションの実行時に内部接続のネ
ットにイベントが生じたかを判定するステップである。
ステップS5は機能情報に含まれる機能ブロックの出力
端子にイベントが生じたパスが既に登録されている否か
を判定するステップである。ステップS6はイベントが
発生しているときはそのパスを記録してデータベースを
作成するステップである。ステップS7はシミュレーシ
ョンが終了したかを判定するステップである。ステップ
S8は記録されたデータベースからイベントが生じたパ
ス情報を抽出してこのパスの遅延時間を計算するステッ
プである。ステップS9は計算されたパスの遅延時間を
基に内部回路の所定のタイミングの検証結果を表示する
ステップである。
【0019】このとき、ステップS3におけるイベント
が発生しないときおよびステップS5におけるイベント
を生じたパスが既に登録されているときは、そのいずれ
もシミュレーションが終了するまでそのシミュレーショ
ンを再実行するフローに構成してある。
【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に供給される。
【0021】入力端子B(1)から信号B(1)のデー
タがFF2aに供給され、入力端子B(0)から信号B
(0)のデータがFF2bに供給される。
【0022】FF1aの出力端Qから出力w1(1)が
加算器3の一方の入力端A1に供給され、FF1bの出
力端Qから出力w1(0)が他方の入力端A0に供給さ
れ、さらに加算器3の入力端B1にFF2aの出力端Q
から出力w2(1)が供給され、入力端B0にFF2b
の出力端Qから出力w2(0)が供給される。
【0023】FF1aの出力端Qの出力w1(1)はさ
らに減算器4の一方の入力端A1に供給され、FF1b
の出力端Qの出力w1(0)が他方の入力端A0に供給
され、さらに減算器4の入力端B1にFF2aの出力端
Qの出力w2(1)が供給され、入力端B0にFF2b
の出力端Qの出力w2(0)が供給される。
【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ビットの信号を選択す
る。
【0025】選択回路5の出力w5(1)はFF6aの
データ入力端に供給され、その出力Qは出力端子OUT
(1)へ出力され、選択回路5の出力w5(0)はFF
6bのデータ入力端に供給され、その出力Qは出力端子
OUT(0)へ出力される。なお、FF1a、FF2a
およびFF6aおよび6bには入力端子Cからクロック
がそれぞれ供給される。
【0026】図2および図3中において、点線で囲まれ
た数字は、テストパタンとして与えられる値であり、上
から1、2、…、のパタン数を示し、図3のテストパタ
ンに対応する。
【0027】なお、加算器3と減算器4とにはそれぞれ
機能記述で記述されたデータとゲートレベルで記述され
たデータとが存在している。
【0028】まず最初に機能記述のデータとゲートレベ
ルのデータをステップS1で読み込んだ後に、テストパ
タンをステップS2で読み込み、ステップ3でシミュレ
ーションを実行して検証回路の入力端子A(1)、A
(0)、B(1)、B(0)、CおよびSELにそれぞ
れ対応するテストパタンを入力しながらクロック単位に
各ブロックの状態変化をトレースする。
【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”である。
【0030】テストパタン2ではクロックを変化させ入
力端子Cが“1”であるから、FF1aおよび2aはそ
れぞれ“1”を読み込み、FF1bおよび2bはそれぞ
れ“”を読み込みそのデータを次のクロックの変化ま
で保持するから、加算器3は(A1、A0)+(B1、
B0)=10+10を加算し桁上りして出力は“00”
となる。減算器4は(A1、A0)−(B1、B0)=
10−10の減算をして出力は“00”となる。
【0031】選択回路5ではセレクト信号SELが
“1”であるからA1、A0入力を選択し“00”を出
力する。次段のFF6aは次のクロック変化までは前の
状態を保持しているのでその出力は不定のままである。
すなわち、出力w1(1)、w2(1)は“1”、w1
(0)、w2(0)は“”、w3(1)、w3
(0)、w4(1)、w4(0)、w5(1)、w5
(0)は“0”でありOUTは“X”である。
【0032】次のステップS3では、シミュレーション
の結果イベントが生じたか否かの判定をし、出力w1
(1)、w2(1)はその出力が不定から“1”に変化
し、w3(1)、w3(0)、w4(1)、w4
(0)、w5(1)、w5(0)は不定から“0”に変
化するイベントが生じたので、これらのパスが既にデー
タベースに登録されているか否かをその次のステップS
5で判定する。最初のテストパタンであるからまだ登録
されていないので、これらのイベントが生じたパスをそ
の次のステップ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”のパスが登録されている。
【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”のパスが登録されてい
る。
【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”のパスが登録されている。
【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”のパスが登録されている。
【0037】次にステップS7でシミュレーションが終
了したかを判定するが、まだ2パターン目であるから、
引き続き3パターン目のシミュレーションを実行する。
【0038】テストパタン3ではクロックを変化させ入
力端子Cが再び“0”になるので、端子A(0)は
“1”に変化するが読み込まれずFF1aおよび1bと
FF2aおよび2bとは前の状態を維持し、したがって
加算器3、減算器4、選択回路5、FF6aおよび6b
の各出力も前の状態のままである。
【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では
イベントが発生しないのでデータベースへの登録はしな
い。
【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”となる。
【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”であ
る。
【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でデータベースに登録する。
【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”のパスがそれぞれ登録されてい
る。
【0044】次にステップS7でシミュレーションが終
了したかを判定する。まだ5パターン目であるから、引
き続き6〜7パターン目のシミュレーションを順次に実
行する。6パターン目で端子A(0)は再び“0”に変
化するがクロックCが“0”に変化するので読み込まれ
ず前の状態を維持する。結局それぞれのイベントが発生
しないのでデータベースの登録はしない。
【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”を出力する。
【0046】選択回路5はまだA1、A0入力を選択し
ているのでその出力は加算器3の値である“00”を出
力する。FF6aおよび6bはクロックが変化した時点
で選択回路5の前の出力状態“01”のうち、FF6a
が“0”を読み込むが前の状態と同じであるから“0”
を維持し、出力端子OUT(1)も“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”である。
【0048】次のステップS4では、再びイベントが生
じたか否かの判定をし、出力w1(0)、w3(0)、
w4(0)は“1”から“0”へ、FF6bの出力が
“0”から“1”に変化するイベントがそれぞれ生じた
ので、これらのパスが既にデータベースに登録されてい
るか否かをその次のステップS5で判定して、ステップ
S6でデータベースに登録する。
【0049】図4に示したデータベースを参照すると、
アドレス0〜15にはテストパタン2のときのw1
(0)、w3(0)、w4(0)がそれぞれ既に登録さ
れているからここではこれらの登録はしない。アドレス
21にはネット名Cの値が“1”のときネット名OUT
(0)の値が“1”で登録されている。
【0050】次にステップS7でシミュレーションが終
了したかを判定し、8パターン目で終了しているので、
次のステップS8ではゲートレベルの回路とステップ5
で記録したデータベース中に登録されたパスの遅延時間
を計算し、ステップ9では計算結果をレポート出力す
る。
【0051】上述したように本実施例では、イベントが
発生したパスのデータのみを機能ブロックレベルのパス
のデータとして登録するので、従来例のようにゲートレ
ベルのパスデータを登録するのに比べて、データベース
の容量は従来よりも少なくて済む。
【0052】次に第2の実施の形態を説明する。第2の
実施の形態のフローチャートを示した図5を参照する
と、この遅延シミュレーション処理のステップは、ステ
ップS11は与えられた回路情報および機能情報を読み
込むステップであり、ステップS12は、与えられたテ
ストパタン情報を読み込むステップである。ステップS
13は機能シミュレーションを実行するステップであ
る。ステップS14は機能シミュレーションの実行時に
内部接続のネットにイベントが生じたかを判定するステ
ップである。ステップS15は機能情報に含まれる機能
ブロックの出力端子にイベントが生じたパスの終点の機
能ブロックが、順序回路の要素を含んでいるかまたは外
部出力端子のいずれかであるかを判定するステップであ
る。ステップS16は検出されたパスが既にデータベー
ス上に記録されているかを判定するステップである。ス
テップS17は検出されたパスの終点の機能ブロックが
順序回路の要素を含むときまたは外部出力端子であると
きのみにそれらのパスをデータベースに登録するステッ
プである。ステップS18は前記シミュレーションが終
了したかを判定するステップである。ステップS19は
記録されたデータベースからイベントが生じたパス情報
を抽出してこのパスの遅延時間を計算するステップであ
る。ステップS20は計算されたパスの遅延時間を基に
内部回路の所定のタイミングの検証結果を表示するステ
ップである。
【0053】このとき、ステップS14におけるイベン
トが発生しないときと、ステップS15におけるイベン
トが生じたパスの終点のブロックに順序回路の要素が含
まれていないときと、ステップS16におけるイベント
を生じたパスが既に登録されているときとは、そのいず
れもシミュレーションが終了するまではそのシミュレー
ションを再実行するフローになるように構成してある。
【0054】再び図2、図3および図4を併せて参照し
ながら上述した検証フローを説明すると、第1の実施の
形態のフローとの相違点は、検出された回路の終点のブ
ロックが順序回路の要素を含んでいるか、または外部出
力端子のいずれであるかを判定するステップS15を追
加していることである。
【0055】すなわち、内部回路の検証を実行すると
き、タイミングが問題となるのは外部入力端子を起点と
し、FFのデータ入力または外部出力端子を終点とする
パスである。本実施の形態では、終点のブロックが順序
回路を含んでいるかまたは外部出力端子のいずれである
かを判定し、終点のブロックが順序回路の要素を含まな
いパス、または外部出力端子でないパスはデータベース
に登録しないように構成されている。
【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により除かれるので登録されることはな
い。
【0057】したがって、上述したように、イベントが
発生しているパスであっても、回路の動作に影響のない
パスをデータベースに登録しないようにすることによっ
て、データベースの容量の削減とステップS19におけ
る遅延計算に要する時間の短縮が出来る。
【0058】
【発明の効果】以上説明したように、本発明のASIC
検証方法は、シミュレーションの実行結果にイベントが
生じた場合はそのイベントが生じるパスと、このパスの
終点のブロックに順序回路の要素が含まれるかまたは外
部出力端子である場合はそのパスとをそれぞれ機能ブロ
ック単位にデータベースに登録し、これらの登録された
パスの遅延時間のみを計算する遅延シミュレーション処
理を含むので、従来のようにゲートレベルでイベントの
あったパスの全てのデータを登録していたのに比べてデ
ータベースの容量を削減出来、かつ機能シミュレーショ
ンを高速に実行することが出来る。さらにイベントが発
生しているパスであっても、回路の動作に影響のないパ
スをデータベースに登録しないようにすることによっ
て、データベースの容量の削減をすることが出来る。
【図面の簡単な説明】
【図1】本発明の第1の実施の形態を示すフローチャー
トである。
【図2】本発明が適用される内部回路の一例の回路を示
すブロック図である。
【図3】本発明の検証方法説明するためのテストパタン
の一例を示す図である。
【図4】本発明の検証方法説明するためのデータベース
に登録されたパスの一例を示す図である。
【図5】本発明の第2の実施の形態を示すフローチャー
トである。
【図6】従来の検証方法の一例を示す構成図である。
【符号の説明】
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の実施の形態のフローチャート
の処理ステップ

Claims (4)

    (57)【特許請求の範囲】
  1. 【請求項1】 ASICの機能設計データに基づきこの
    ASICの内部回路が論理積回路、論理和回路、インバ
    ータ回路、複合ゲート、フリップフロップおよび入出バ
    ッファ等のセルを含む基本セルを単位とする階層レベル
    にまで具体化され、これら論理回路相互間の接続にあら
    かじめ用意された論理セルライブラリを使用するととも
    に、フリップフロップ、加算器、減算器、選択回路など
    をそれぞれ機能ブロックとし、各ゲートの電気的特性か
    ら予測した遅延値を与えて所定の機能ブロック間の回路
    接続されたパスにおける素子および配線の遅延時間を計
    しそのクリティカルパスの解析を行なう遅延シミュレ
    ーションを対象とするASIC検証方法において、前記
    遅延シミュレーション実行時にテストパタン情報の変化
    に応じて前記内部回路内の前記機能ブロックの出力端子
    に論理レベルのハイレベルからロウレベルへ、またはロ
    ウレベルからハイレベルへ変化するイベントが発生した
    全ての前記パスのうち前記パス登録用のデータベースに
    未登録のパスのみを抽出して順次登録するとともに、こ
    れらの登録されたパスの前記遅延時間のみを計算する遅
    延シミュレーション処理を行う検証方法であって、前記
    遅延シミュレーション処理は、与えられた回路情報およ
    び機能情報を読み込むステップと、与えられた前記テス
    トパタン情報を読み込むステップと、前記回路および機
    能のそれぞれの情報と前記テストパタン情報を基に機能
    シミュレーションを実行するステップと、前記機能シミ
    ュレーションの実行時に内部接続のネットに前記イベン
    トが生じたかを判定するステップと、前記機能情報に含
    まれる前記機能ブロックの出力端子に前記イベントが生
    じたパスが既に登録されているか否かを判定するステッ
    と、前記イベントが発生しているときはそのパスを記
    録して前記データベースを作成するステップと、前記機
    能シミュレーションが終了したかを判定するステップ
    と、前記データベースから前記イベントが生じたパス情
    報を抽出してこのパスの前記遅延時間を計算するステッ
    と、計算された前記パスの遅延時間を基に前記内部回
    路の所定のタイミングの検証結果を表示するステップ
    を有するASIC検証方法。
  2. 【請求項2】 前記イベントが発生しないときおよび前
    記イベントを生じたパスが既に登録されているときは、
    そのいずれも前記機能シミュレーションが終 了するまで
    そのシミュレーションを再実行する請求項1記載のAS
    IC検証方法。
  3. 【請求項3】 ASICの機能設計データに基づきこの
    ASICの内部回路が論理積回路、論理和回路、インバ
    ータ回路、複合ゲート、フリップフロップおよび入出バ
    ッファ等のセルを含む基本セルを単位とする階層レベル
    にまで具体化され、これら論理回路相互間の接続にあら
    かじめ用意された論理セルライブラリを使用するととも
    に、フリップフロップ、加算器、減算器、選択回路など
    をそれぞれ機能ブロックとし、各ゲートの電気的特性か
    ら予測した遅延値を与えて所定の機能ブロック間の回路
    接続されたパスにおける素子および配線の遅延時間を計
    しそのクリティカルパスの解析を行なう遅延シミュレ
    ーションを対象とするASIC検証方法において、前記
    遅延シミュレーション実行時にテストパタン情報の変化
    に応じて前記内部回路内の前記機能ブロックの出力端子
    に論理レベルのハイレベルからロウレベルへ、またはロ
    ウレベルからハイレベルへ変化するイベントが発生した
    全ての前記パスのうち前記パス登録用のデータベースに
    未登録のパスのみを抽出して順次登録するとともに、前
    記パスの終点の前記機能ブロックに順序回路の要素また
    外部出力端子が含まれる場合はそのパスをそれぞれ前
    記データベースに登録し、これらの登録されたパスの前
    記遅延時間のみを計算する遅延シミュレーション処理を
    行う検証方法であって、前記遅延シミュレーション処理
    は、与えられた回路情報および機能情報を読み込むステ
    ップと、与えられた前記テストパタン情報を読み込む
    テップと、前記機能シミュレーションを実行するステッ
    と、前記機能シミュレーションの実行時に内部接続の
    ネットの前記機能情報に含まれる前記機能ブロックの出
    力端子に前記イベントが生じたか否かを判定するステッ
    と、検出された前記パスの終点の前記機能ブロックが
    順序回路の要素を含んでいるかまたは前記外部出力端子
    のいずれかであるかを判定するステップと、検出された
    前記パスが既に前記データベース上に登録されているか
    を判定するステップと、検出された前記パスの終点の前
    記機能ブロックが前記順序回路の要素を含むときまたは
    前記外部出力端子であるときのみにそれらのパスを前記
    データベースに登録するステップと、前記機能シミュレ
    ーションが終了したかを判定するステップと、前記パス
    が登録されたデータベースから前記イベントが生じたパ
    ス情報を抽出してこのパスの前記遅延時間を計算する
    テップと、計算された前記パスの前記遅延時間を基に前
    記内部回路の所定のタイミングの検証結果を表示する
    テップとを有するASIC検証方法。
  4. 【請求項4】 前記イベントが生じないときと、前記パ
    スの終点の前記機能ブロックが前記順序回路の要素を含
    んでいないかまたは前記外部出力端子でないときと、前
    記パスが既に前記データベースへ登録されているときと
    は、そのいずれも前記機能シミュレーションが終了する
    までそのシミュレーションを再実行する請求項3記載の
    ASIC検証方法。
JP7251532A 1995-09-28 1995-09-28 Asic検証方法 Expired - Fee Related JP2996153B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP7251532A JP2996153B2 (ja) 1995-09-28 1995-09-28 Asic検証方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP7251532A JP2996153B2 (ja) 1995-09-28 1995-09-28 Asic検証方法

Publications (2)

Publication Number Publication Date
JPH0997270A JPH0997270A (ja) 1997-04-08
JP2996153B2 true JP2996153B2 (ja) 1999-12-27

Family

ID=17224217

Family Applications (1)

Application Number Title Priority Date Filing Date
JP7251532A Expired - Fee Related JP2996153B2 (ja) 1995-09-28 1995-09-28 Asic検証方法

Country Status (1)

Country Link
JP (1) JP2996153B2 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114970414A (zh) * 2022-05-31 2022-08-30 长鑫存储技术有限公司 电路的功能验证方法、装置及存储介质

Also Published As

Publication number Publication date
JPH0997270A (ja) 1997-04-08

Similar Documents

Publication Publication Date Title
US7958470B1 (en) Method and system for false path analysis
US20090064071A1 (en) Method and system for global coverage analysis
JP3851357B2 (ja) トランジスタ回路のタイミング特性抽出方法、タイミング特性ライブラリを記憶した記憶媒体、lsiの設計方法、及びゲート抽出方法
JPH04101274A (ja) 論理設計処理装置およびタイミング調整方法
JP4994393B2 (ja) 単一のマスターモデルから異なる抽象化レベルの複数のモデルを生成するシステムと方法
CN107784185B (zh) 一种门级网表中伪路径的提取方法、装置及终端设备
JPWO1999009497A1 (ja) トランジスタ回路のタイミング特性抽出方法、タイミング特性ライブラリを記憶した記憶媒体、lsiの設計方法、及びゲート抽出方法
CN117907812B (zh) 电路检测方法及装置、电子设备、存储介质、程序产品
US12073159B2 (en) Computing device and method for detecting clock domain crossing violation in design of memory device
JPH06274568A (ja) 階層図形データの展開方法
JPH10283394A (ja) 故障シミュレーション方法
JP3272915B2 (ja) スタティックタイミング解析装置
JP2996153B2 (ja) Asic検証方法
Chen et al. A new framework for static timing analysis, incremental timing refinement, and timing simulation
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
JP2853649B2 (ja) 論理シミュレーション用モデルの作成方法
Oh et al. Efficient logic-level timing analysis using constraint-guided critical path search
JP2845154B2 (ja) 論理シミュレーション用モデルの作成方法
JPH11259555A (ja) マクロの設計方法
Slutz Initial design considerations for a hierarchical IC design system
US7350162B2 (en) Structure analytic program
JP3957507B2 (ja) 論理回路の決定グラフへの変換装置、変換方法及び変換プログラムを記録した記録媒体
JP3130881B2 (ja) タイミングスペック検証方法
JPH0195365A (ja) クリティカルパスの解析処理方式

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