JP4307169B2 - 遅延検証装置 - Google Patents
遅延検証装置 Download PDFInfo
- Publication number
- JP4307169B2 JP4307169B2 JP2003194980A JP2003194980A JP4307169B2 JP 4307169 B2 JP4307169 B2 JP 4307169B2 JP 2003194980 A JP2003194980 A JP 2003194980A JP 2003194980 A JP2003194980 A JP 2003194980A JP 4307169 B2 JP4307169 B2 JP 4307169B2
- Authority
- JP
- Japan
- Prior art keywords
- delay
- metastable
- delay value
- time
- value
- 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
Images
Landscapes
- Logic Circuits (AREA)
Description
【発明の属する技術分野】
本発明は、フリップフロップなどの順序回路を含んだ論理回路の遅延検証を行なう技術に関し、特に、順序回路のデータ入力に非同期信号が入力されてメタステーブルが発生するような場合を考慮して論理回路の遅延検証を行なう遅延検証装置に関する。
【0002】
【従来の技術】
近年、半導体集積回路の回路規模が増加する傾向にあり、このような半導体集積回路の遅延検証を高速で高精度に行なえるような遅延検証装置が盛んに開発されている。一般に、遅延検証においては、遅延シミュレーション手法と、静的パス遅延解析手法との2つの方法が用いられる。これら2つの手法とも、論理回路を構成する論理素子に対する遅延値を計算し、この遅延値に基づいて検証を行なうものである。
【0003】
論理素子の遅延値とは、素子の入力ピンにおける信号変化が出力ピンにおける信号変化として現れるまでの時間のことである。論理素子の入力/出力ピンが多数ある場合、入力ピンと出力ピンとの組合わせに対して、他の入力ピンの信号値が変化しない場合の遅延値を計算し、これを遅延値として用いる。この遅延値の計算は、他の入力ピンが変化しないことが前提となっている。
【0004】
しかし、実際の論理回路においては、複数の入力ピンにおける信号が同時に変化する可能性がある。この場合、上述した方法で計算された遅延値と、実際の論理回路における遅延値とは、大きな計算誤差が発生し得る。このような大きな計算誤差が発生する場合として、フリップフロップ(以下、FFと略す。)などの順序回路において発生するメタステーブル状態を挙げることができる。
【0005】
メタステーブル状態とは、FFの入力信号において、セットアップ時間やホールド時間が守られなかった場合に、出力信号が不安定な状態になることをいう。このメタステーブル状態は長く続くことはなく、必ず起きる現象でもない。しかし、メタステーブル状態でない場合のFFの遅延値に比べ、10倍以上の遅延誤差が発生する可能性がある。動作周波数の高い、高速な回路を設計する上では無視できない誤差である。なお、メタステーブルの発生原理は、「非同期クロック間のデータ転送方法」、pp119, Design Wave Magazine 2001 Septemberに詳細に説明されているので、これを参照されたい。
【0006】
これに関連する技術として、特開平10−124552号公報および特開平6−76015号公報に開示された発明がある。
【0007】
特開平10−124552号公報に開示されたタイミング検証方法においては、非タイミング検証素子である同期ラッチまたは外部データ出力ピンを起点として外部データ入力ピンまたは同期ラッチに至るまでの間に順次接続される非同期ラッチを検証対象とする。そして、最悪条件のもとで各非同期ラッチが正常に動作するために必要とされる非同期クロックのタイミングに関する条件を順次導出し、さらに端に位置する非同期ラッチが受ける外部入力データ(または、同期ラッチから出力されるデータ)のタイミングに関する制約条件を導出して、これらの制約条件と予め用意した非同期クロック情報等とを対比することにより検証を行なう。
【0008】
特開平6−76015号公報に開示された論理回路検証方法においては、各セルの持つ遅延値を最小遅延値から最大遅延値までの値に統計的手法により設定し、設定した遅延時間を利用してシミュレーションを繰返すことにより、統計的に論理回路を検証するものである。
【0009】
【特許文献1】
特開平10−124552号公報
【0010】
【特許文献2】
特開平6−76015号公報
【0011】
【発明が解決しようとする課題】
通常のクロック同期型の論理回路において、異なるクロック系に属する回路からの信号や、非同期の信号が入力されるFFでメタステーブルが発生する可能性がある。しかし、従来の遅延検証方法においては、メタステーブルを想定した正しい遅延値を用いたものがないため、メタステーブルを考慮した遅延検証が行なえないといった問題点があった。
【0012】
また、上述した特開平10−124552号公報に開示されたタイミング検証方法および特開平6−76015号公報に開示された論理回路検証方法においては、セットアップ時間やホールド時間を満足しないFFなどの順序回路を検出することは可能であるが、メタステーブルを考慮した遅延検証を行なうことは不可能である。
【0013】
本発明は、上記問題点を解決するためになされたものであり、その目的は、メタステーブルを考慮した遅延検証を行なうことが可能な遅延検証装置を提供することである。
【0014】
【課題を解決するための手段】
本発明のある局面に従えば、非同期信号が入力される順序回路を含む論理回路を静的パス遅延解析手法を用いて遅延検証を行なう遅延検証装置であって、論理回路に含まれる順序回路の中から、メタステーブルが発生する可能性のある順序回路を指定する指定手段と、指定手段によって指定された順序回路の遅延値としてメタステーブル時の遅延値を用い、それ以外の順序回路の遅延値として非メタステーブル時の遅延値を用いて遅延解析を行なう解析手段とを含み、遅延検証装置はさらに、解析手段によって使用される遅延値を格納する格納手段と、非メタステーブル時の遅延値とメタステーブル時の遅延値との差の平均値に、対象となる順序回路の非メタステーブル時の遅延値を加算して、対象となる順序回路のメタステーブル時の遅延値として格納手段に登録する遅延値登録手段とを含む。
本発明の別の局面に従えば、非同期信号が入力される順序回路を含む論理回路を静的パス遅延解析手法を用いて遅延検証を行なう遅延検証装置であって、論理回路に含まれる順序回路の中から、メタステーブルが発生する可能性のある順序回路を指定する指定手段と、指定手段によって指定された順序回路の遅延値としてメタステーブル時の遅延値を用い、それ以外の順序回路の遅延値として非メタステーブル時の遅延値を用いて遅延解析を行なう解析手段とを含み、遅延検証装置はさらに、解析手段によって使用される遅延値を格納する格納手段と、非メタステーブル時の遅延値とメタステーブル時の遅延値との比の平均値に、対象となる順序回路の非メタステーブル時の遅延値を乗算して、対象となる順序回路のメタステーブル時の遅延値として格納手段に登録する遅延値登録手段とを含む。
【0015】
本発明のさらに別の局面に従えば、遅延シミュレーション手法を用いて遅延検証を行なう遅延検証装置であって、論理回路内の素子の入力ピンに信号変化が発生したことを示すイベントを生成して登録するイベント登録手段と、イベント登録手段によって登録されたイベントに基づいて遅延シミュレーションを行ない、順序回路の入力信号の変化が制約を満たさない場合には、当該順序回路の遅延値としてメタステーブル時の遅延値を用いて、イベント登録手段にイベントを生成させる遅延シミュレーション手段とを含み、遅延検証装置はさらに、遅延シミュレーション手段によって使用される遅延値を格納する格納手段と、非メタステーブル時の遅延値とメタステーブル時の遅延値との差の平均値に、対象となる順序回路の非メタステーブル時の遅延値を加算して、対象となる順序回路のメタステーブル時の遅延値として格納手段に登録する登録手段とを含む。
本発明のさらに別の局面に従えば、遅延シミュレーション手法を用いて遅延検証を行なう遅延検証装置であって、論理回路内の素子の入力ピンに信号変化が発生したことを示すイベントを生成して登録するイベント登録手段と、イベント登録手段によって登録されたイベントに基づいて遅延シミュレーションを行ない、順序回路の入力信号の変化が制約を満たさない場合には、当該順序回路の遅延値としてメタステーブル時の遅延値を用いて、イベント登録手段にイベントを生成させる遅延シミュレーション手段とを含み、遅延検証装置はさらに、遅延シミュレーション手段によって使用される遅延値を格納する格納手段と、非メタステーブル時の遅延値とメタステーブル時の遅延値との比の平均値に、対象となる順序回路の非メタステーブル時の遅延値を乗算して、対象となる順序回路のメタステーブル時の遅延値として格納手段に登録する遅延値登録手段とを含む。
【0016】
【発明の実施の形態】
(第1の実施の形態)
通常のクロック同期型の論理回路において、メタステーブルが発生する可能性があるFFは、異なるクロック系に属する回路からの信号や、非同期の信号を入力とするFFに限定される。
【0017】
図1は、メタステーブルが発生する場合の論理回路の一例を示す図である。この論理回路は、FF101,102および104と、組合わせ回路103とを含む。FF101に入力されるクロックCLKAと、FF102に入力されるクロックCLKBとが非同期であるので、FF102のデータ入力端子には非同期信号が入力される。そのため、FF102においてメタステーブルが発生する可能性があり、メタステーブル状態の伝播(レーシング)を防止するために、FF104においてメタステーブル時の遅延値を用いた遅延検証が必要になる。
【0018】
図2は、メタステーブル状態の伝播を防止するための論理回路の一例を示す図である。この論理回路は、図1に示す論理回路と比較して、FF102と組合わせ回路103との間に、FF105を挿入したものである。FF105に入力されるクロックは、FF102に入力されるクロックと同じものが使用され、メタステーブル時における遅延値よりも十分に大きな周期を有している。そのため、十分な遅延マージンを得ることができ、メタステーブル時における遅延誤差を吸収することができる。すなわち、FF104の遅延検証においては、非メタステーブル時の遅延値を用いた遅延検証で十分となる。しかし、このようなメタステーブル状態の伝播の防止策は、必要となるFF数が増大し、論理回路の規模増大や消費電力が増大するという問題点がある。
【0019】
本発明の第1の実施の形態における遅延検証装置は、メタステーブル時の遅延値を用いた遅延検証を可能とし、メタステーブル状態の伝播を防止するためのFFを不要とするものである。
【0020】
図3は、本発明の第1の実施の形態における遅延検証装置の構成例を示すブロック図である。この遅延検証装置は、コンピュータ本体1、ディスプレイ装置2、FD(Flexible Disk)4が装着されるFDドライブ3、キーボード5、マウス6、CD−ROM(Compact Disc-Read Only Memory)8が装着されるCD−ROM装置7、およびネットワーク通信装置9を含む。
【0021】
遅延検証プログラムは、FD4またはCD−ROM8等の記録媒体によって供給される。遅延検証プログラムがコンピュータ本体1によって実行されることによって、論理回路の遅延検証が行なわれる。また、遅延検証プログラムは他のコンピュータよりネットワーク通信装置9を経由し、コンピュータ本体1に供給されてもよい。
【0022】
図3に示すコンピュータ本体1は、CPU(Central Processing Unit)10、ROM(Read Only Memory)11、RAM(Random Access Memory)12およびハードディスク13を含む。CPU10は、ディスプレイ装置2、FDドライブ3、キーボード5、マウス6、CD−ROM装置7、ネットワーク通信装置9、ROM11、RAM12またはハードディスク13との間でデータを入出力しながら処理を行なう。
【0023】
FD4またはCD−ROM8に記録された遅延検証プログラムは、CPU10によりFDドライブ3またはCD−ROM装置7を介してハードディスク13に格納される。CPU10は、ハードディスク13から適宜遅延検証プログラムをRAM12にロードして実行することによって、論理回路の遅延検証が行なわれる。
【0024】
図4は、本発明の第1の実施の形態における遅延検証装置の機能的構成を示すブロック図である。この遅延検証装置は、論理回路のネットリストが格納されるネットリスト格納部21と、ネットリスト格納部21に格納されたネットリストを参照して各素子の遅延値を計算する遅延値計算部31と、遅延値計算部31によって計算された遅延値が格納される素子遅延データベース22と、ネットリスト格納部21に格納されたネットリストを参照してパス遅延解析の始点ポイントを抽出する始点ポイント抽出部32と、ネットリスト格納部21に格納されたネットリストを参照してパス遅延解析の終点ポイントを抽出する終点ポイント抽出部33と、始点ポイント抽出部32によって抽出された始点ポイントから終点ポイント抽出部33によって抽出された終点ポイントに至るパスを抽出するパス抽出部34と、素子遅延データベース22およびパス抽出部34によって抽出されたパスに基づいてタイミング検証を行ない、違反パスレポート23を出力するタイミング検証部35と、メタステーブルが発生する可能性のあるFFを指定するメタステーブルFF指定部36とを含む。
【0025】
図5は、本発明の第1の実施の形態における遅延検証装置の処理手順を説明するためのフローチャートである。まず、ネットリスト格納部21に格納された解析対象の論理回路のネットリストが入力される(S11)。遅延値計算部31は、ネットリスト中の各素子に対して、素子の入力から出力に至る遅延値を計算し、その遅延値を素子遅延データベース22に登録する(S12)。このとき、FFについては、メタステーブル時と非メタステーブル時との2種類の遅延値を計算する。
【0026】
次に、クロック周期や入力/出力端子の外部遅延が指定される(S13)。そして、ネットリスト中のFFがメタステーブルの可能性があるFFと、メタステーブルの可能性がないFFとが指定される(S14)。この指定は、メタステーブルFF指定部36を用いて、人手によって対象FFを指定することによって行なわれる。
【0027】
次に、始点ポイント抽出部32および終点ポイント抽出部33は、パス遅延解析の始点ポイントと終点ポイントとの集合を抽出する(S15)。始点ポイント抽出部32は、回路の外部出力端子とFFのデータ入力ピンとを始点ポイントとして抽出する。また、終点ポイント抽出部33は、回路の外部入力端子とFFのデータ出力ピンとを終点ポイントとして抽出する。
【0028】
次に、パス抽出部34は、始点ポイント抽出部32によって抽出された始点ポイントの集合の中から1つを選択する(S16)。ここで、選択する始点ポイントがなければ、処理を終了する。
【0029】
パス抽出部34は、選択した始点ポイントに対して、終点パスに向かう全パスを列挙する。そして、タイミング検証部35は、その各パス上にある素子の遅延値の総和を計算する。そして、遅延値の総和の最大値が、クロック周期よりも大きければ、違反パスレポート23を出力する(S17)。ここで、素子がメタステーブルの可能性があるFFの場合、遅延値としてメタステーブル時の遅延値を用いる。また、素子がメタステーブルの可能性がないFFの場合、遅延値として非メタステーブル時の遅延値を用いる。
【0030】
図6は、本発明の第1の実施の形態における遅延検証装置によって静的パス遅延解析が行なわれる論理回路の一例を示す図である。この論理回路は、FF111、113、114および115と、AND回路112とを含む。
【0031】
まず、図6に示す回路図(ネットリスト)がネットリスト格納部21に格納されており、その回路図が入力される(S11)。遅延値計算部31は、各素子の遅延値を図5に示すように計算する。すなわち、FF−A113、FF−B114、FF−C111およびFF−D115のメタステーブル時の遅延値として、Delay(FF−A−m),Delay(FF−B−m),Delay(FF−C−m)およびDelay(FF−D−m)を計算し、非メタステーブル時の遅延値として、Delay(FF−A),Delay(FF−B),Delay(FF−C)およびDelay(FF−D)を計算する。また、AND回路の遅延値として、入力端子Aから出力端子Yまでの遅延値Delay(A_Y)と入力端子Bから出力端子Yまでの遅延値Delay(B_Y)とを計算する。
【0032】
次に、クロック周期や入力/出力端子の外部遅延が指定され(S13)、メタステーブルの可能性があるFFが指定される(S14)。図6に示す論理回路においては、FF−C111のクロック入力ピンのみが異なるクロック(CLK1)系に属するFF(FF−D115)からの入力データを受入れるため、FF−C111がメタステーブルの可能性があるFFとして指定される。
【0033】
次に、始点ポイント抽出部32および終点ポイント抽出部33は、始点ポイントおよび終点ポイントの集合を抽出する(S15)。図5に示す論理回路においては、始点ポイントとして外部出力端子(OUT)と、各FFのデータ入力ピンとが抽出される。また、終点ポイントとして外部入力端子(INP)と、各FFのデータ出力ピンとが抽出される。
【0034】
たとえば、FF−A113のデータ入力ピンが始点として選択された場合(S16)、FF−A113のデータ入力ピンを始点としたパスは、FF−B114のデータ出力ピンに至るパスと、FF−C111のデータ出力ピンに至るパスとの2種類がある。FF−B114は、FF−A113と同期の関係にあるため、FF−B114の遅延値として、非メタステーブル時の遅延値Delay(FF−B)が使用される。また、FF−C111の入力を受けるタイミングは、FF−A113と非同期の関係にあるため、FF−C111の遅延値として、メタステーブル時の遅延値Delay(FF−C−m)が使用される。したがって、FF−A113のデータ入力ピンに至る2つのパスの遅延値は、Delay(FF−C−m)+Delay(A_Y)と、Delay(FF−B)+Delay(B_Y)とになる。
【0035】
タイミング検証部35は、この遅延値が、指定されたクロック周期以上であれば、違反パスレポート23を出力する。
【0036】
以上説明したように、本実施の形態における遅延検証装置によれば、メタステーブルの可能性があるFFの場合には、メタステーブル時の遅延値を用いてタイミング検証を行なうようにしたので、メタステーブルを考慮した遅延解析を行なうことが可能となった。
【0037】
(第2の実施の形態)
本発明の第1の実施の形態においては、メタステーブルの可能性があるFFを人手によって指定していたが、メタステーブルの可能性があるFFの数が多い場合、指定抜けが発生する可能性があり、正しい遅延検証が行なえなくなるという問題点がある。本発明の第2の実施の形態においては、メタステーブルの可能性があるFFを自動的に抽出するものである。
【0038】
本発明の第2の実施の形態における遅延検証装置の構成例は、図3に示す第1の実施の形態における遅延検証装置の構成例と同様である。また、本発明の第2の実施の形態における遅延検証装置の機能的構成は、図4に示す第1の実施の形態におけるメタステーブルFF指定部36の機能が異なる点のみが異なる。したがって、重複する構成および機能の詳細な説明は繰返さない。
【0039】
図7は、本発明の第2の実施の形態におけるメタステーブルFF指定部36の構成をさらに詳細に説明するための図である。メタステーブルFF指定部36は、ネットリスト格納部21に格納されるネットリストを参照して外部クロック端子などに定義するクロックドメイン名を入力するクロックドメイン入力部41と、論理回路中の全てのFFのデータ入力ピンおよびクロック入力ピンが所属するクロックドメイン名を指定するクロックドメイン指定部42と、論理回路中のFFをクロックドメイン名に基づいて分類するクロックドメイン分類部43と、クロックドメイン分類部43による分類に応じてメタステーブルが発生する可能性のあるFFを抽出してメタステーブルFF格納部45に格納するメタステーブルFF抽出部44とを含む。
【0040】
図8は、本発明の第2の実施の形態におけるメタステーブルFF指定部36の処理手順を説明するためのフローチャートである。上述したように、メタステーブルが発生する可能性のあるFFは、外部入力端子から直接データ入力があるFFおよび異なるクロック系のFFからデータ入力があるFFに限定される。したがって、FFの属するクロック系を解析することで、メタステーブルが発生する可能性のあるFFを自動的に抽出することができる。
【0041】
まず、ネットリスト格納部21からネットリストが入力される(S21)。そして、クロックドメイン入力部41によってクロックドメイン名が入力される(S22)。同期関係がないクロック入力端子に対して、別々のクロックドメイン名が定義される。また、非同期信号が入力される外部入力端子に対しても、別のドメイン名が定義される。このクロックドメイン入力部41によるクロックドメイン名の入力は、ユーザがキーボード5、マウス6などを用いることによって行なわれる。
【0042】
次に、クロックドメイン指定部42によって論理回路中の全ての入力ピンおよびクロック入力ピンに対して、所属するクロックドメイン名が指定される(S23)。このクロックドメイン指定部42によるクロックドメイン名の指定は、ユーザがキーボード5、マウス6などを用いることによって行なわれる。
【0043】
次に、クロックドメイン分類部43は、ネットリスト中の全てのFFに対して、クロック入力ピンに接続しているクロック入力端子のクロックドメイン名によって分類する(S24)。
【0044】
最後に、メタステーブルFF抽出部44は、FFのデータ入力ピンを始点として、データ入力方向に、外部入力端子またはFFの出力ピンに到達するまでネットリストをトレースする。トレースした末端の外部入力端子またはFFのクロックドメイン名が、始点のFFのクロックドメイン名と異なる場合、その始点のFFをメタステーブルが発生する可能性のあるFFとして抽出し、メタステーブルFF格納部24に登録して(S25)、処理を終了する。
【0045】
以上説明したように、本実施の形態における遅延検証装置においては、同期関係がないクロック入力端子、または非同期信号が入力される外部入力端子に別のクロックドメイン名を定義し、論理回路中の全ての入力ピンおよびクロック入力ピンに対して所属するクロックドメイン名を指定し、クロックドメイン名によってメタステーブルが発生する可能性のあるFFを抽出するようにしたので、メタステーブルが発生する可能性のあるFFを自動的に抽出することができ、FFの指定抜けを防止することが可能となった。
【0046】
(第3の実施の形態)
本発明の第1の実施の形態における遅延検証装置においては、素子遅延データベース22に、各FFに対するメタステーブル時の遅延値と非メタステーブル時の遅延値との2種類の遅延値を登録する必要がある。しかし、素子の遅延計算においては、一般に半導体メーカ固有のツールを用いる必要があり、メタステーブル時の遅延値を登録できない場合が考えられる。本発明の第3の実施の形態の遅延検証装置においては、メタステーブル時の遅延値の概算値を求めて、素子遅延データベース22に登録するものである。
【0047】
図9は、本発明の第3の実施の形態におけるメタステーブル時の遅延値の計算処理を説明するためのフローチャートである。典型的な回路構成におけるFFの非メタステーブル時の遅延値と、メタステーブル時の遅延値との情報を、予め半導体メーカ等から入手する。そして、これらの情報から、非メタステーブル時の遅延値と、メタステーブル時の遅延値との差の平均(A)25が求められる。
【0048】
素子遅延データベース22に登録がないFFのメタステーブル時の遅延値を、非メタステーブル時の遅延値(素子遅延情報26)に対して、平均遅延差(A)25を加算することによって求め、メタステーブル時の遅延値(素子遅延情報27)として素子遅延データベース22に登録する(S31)。
【0049】
以上説明したように、本実施の形態における遅延検証装置においては、典型的な回路構成におけるFFの非メタステーブル時の遅延値と、メタステーブル時の遅延値との差の平均から、登録がないFFのメタステーブル時の遅延値を計算するようにしたので、メタステーブル時の遅延値を入手できない場合でも、メタステーブルを考慮した遅延検証を行なうことが可能となった。
【0050】
(第4の実施の形態)
本発明の第3の実施の形態においては、メタステーブル時の遅延値を、非メタステーブル時の遅延値に平均遅延値(A)25を加算することによって求めた。本発明の第4の実施の形態においては、実際の回路の遅延値に近い値とするために、平均遅延差(A)25を加算するのではなく、平均的な遅延値の比を乗算して求めた値を用いる。これによって、メタステーブル時の遅延値の誤差を小さくすることができる。
【0051】
図10は、本発明の第4の実施の形態におけるメタステーブル時の遅延値の計算処理を説明するためのフローチャートである。典型的な回路構成におけるFFの非メタステーブル時の遅延値と、メタステーブル時の遅延値との情報を、予め半導体メーカ等から入手する。そして、これらの情報から、非メタステーブル時の遅延値と、メタステーブル時の遅延値との比の平均(B)28が求められる。
【0052】
素子遅延データベース22に登録がないFFのメタステーブル時の遅延値を、非メタステーブル時の遅延値(素子遅延情報26)に対して、平均遅延比(B)28を乗算することによって求め、メタステーブル時の遅延値(素子遅延情報29)として素子遅延データベース22に登録する(S41)。
【0053】
以上説明したように、本実施の形態における遅延検証装置においては、典型的な回路構成におけるFFの非メタステーブル時の遅延値と、メタステーブル時の遅延値との比の平均から、登録がないFFのメタステーブル時の遅延値を計算するようにしたので、実施の形態3と比較して、メタステーブル時の遅延値の誤差を小さくすることが可能となった。
【0054】
(第5の実施の形態)
本発明の第5の実施の形態における遅延検証装置は、イベント処理方式の遅延シミュレーションに関するものである。イベント処理方式の遅延シミュレーションとは、ネットリスト中の外部入力端子や素子のピンの信号変化だけに着目して、効率的にシミュレーションを行なう手法である。一般的な論理回路においては、外部入力端子の信号が変化しても、論理回路中の多くの素子のピン状態は変化しないことが多い。したがって、ネットリスト中の全素子を対象として信号変化のシミュレーションを行なうよりも、信号変化が発生した素子だけを対象としてシミュレーションを行なう方が効率的である。イベント処理方式の遅延シミュレーションにおいては、信号変化をイベントと呼ぶ。そして、イベントを登録する内部データベースをイベントキューと呼ぶ。イベントキューには、変化する素子のピン、信号値および変化が発生する時刻が登録される。
【0055】
図11は、本発明の第5の実施の形態における遅延検証装置の機能的構成を示すブロック図である。この遅延検証装置は、ネットリスト格納部21と、素子遅延データベース22と、論理回路のシミュレーションを行なうためのテストパターンが格納されるテストパターン格納部51と、信号変化イベントを検出して登録する信号変化イベント登録部52と、論理回路のシミュレーションを実行するシミュレーション実行部54と、信号変化イベント登録部52によって検出された信号変化イベントが登録されるイベントキュー53とを含む。
【0056】
図12は、本発明の第5の実施の形態における遅延検証装置の処理手順を説明するためのフローチャートである。まず、ネットリスト格納部21からネットリストが読込まれ、素子遅延データベース22から素子遅延データが読込まれる(S51)。
【0057】
次に、シミュレーション時刻の初期化が行なわれる(S52)。そして、信号変化イベント登録部52は、テストパターン格納部51に格納されたテストパターン(入力信号ベクタ)を読込み、テストパターンを解釈して、信号変化のある入力ピンについては、その変化の時刻の信号変化イベントとしてイベントキュー53に全て登録する(S53)。
【0058】
次に、シミュレーション実行部54は、イベントキュー53にイベントがあるか否かをチェックする(S54)。イベントがなければ(S54,無)、処理を終了する。イベントがあれば(S54,有)、現時刻のイベントがあるか否かを判定する(S55)。
【0059】
現時刻のイベントがなければ(S55,無)、シミュレーション時刻を進め(S57)、ステップS54へ戻って以降の処理を繰返す。現時刻のイベントがあれば(S55,有)、シミュレーション実行部54は、現時刻のイベントに対するシミュレーションを実行する。信号変化が発生した信号線を入力とする素子を調べ、その信号変化が素子の出力信号に変化をもたらすか否かをチェックする。
【0060】
素子の出力信号に変化がある場合、信号変化イベント登録部52は、その素子の遅延分だけ時刻を遅らせた新しい信号変化イベントとして、イベントキュー53に登録する(S56)。このとき、対象素子がFFであれば、入力データの変化がセットアップ時間やホールド時間の制約を満たしているか否かによって、遅延時間を変更する。制約を満たしている場合には、非メタステーブル時の遅延時間を用いる。また、制約を満たしていない場合には、メタステーブル時の遅延時間を用いる。そして、ステップS55に戻って以降の処理を繰返す。
【0061】
以上説明したように、本実施の形態における遅延検証装置によれば、イベント処理方式の遅延シミュレーションを実行し、信号変化があったFFにおいてメタステーブルが発生する場合には、メタステーブル時の遅延時間を用いるようにしたので、メタステーブルを考慮した遅延シミュレーションを行なうことが可能となった。
【0062】
(第6の実施の形態)
第5の実施の形態においては、メタステーブル時の遅延データと非メタステーブル時の遅延データとが素子遅延データベース22に格納されていることを想定していた。しかし、必ずしもメタステーブル時の遅延データを使用できるとは限らない。この場合には、第3の実施の形態または第4の実施の形態において説明した構成を用いることによって、メタステーブル時の遅延データも素子遅延データベース22に登録することができる。
【0063】
なお、本実施の形態における遅延検証装置の構成例は、図3に示す第1の実施の形態における遅延検証装置の構成例と同様である。また、本実施の形態における遅延検証装置の機能的構成は、図11に示す第5の実施の形態における遅延検証装置の機能的構成と同様である。したがって、重複する構成および機能の詳細な説明は繰返さない。
【0064】
以上説明したように、本実施の形態における遅延検証装置によれば、本発明の第5の実施の形態において説明した効果に加えて、メタステーブル時の遅延値を入手できない場合でも、メタステーブルを考慮した遅延検証を行なうことが可能となった。
【0065】
今回開示された実施の形態は、すべての点で例示であって制限的なものではないと考えられるべきである。本発明の範囲は上記した説明ではなくて特許請求の範囲によって示され、特許請求の範囲と均等の意味および範囲内でのすべての変更が含まれることが意図される。
【0066】
【発明の効果】
本発明のある局面によれば、解析手段が、指定手段によって指定された順序回路の遅延値としてメタステーブル時の遅延値を用い、それ以外の順序回路の遅延値として非メタステーブル時の遅延値を用いて遅延解析を行なうので、メタステーブルを考慮した遅延検証を行なうことが可能となった。
【0067】
本発明の別の局面によれば、遅延シミュレーション手段が、イベント登録手段によって登録されたイベントに基づいて遅延シミュレーションを行ない、順序回路の入力信号の変化が制約を満たさない場合には、当該順序回路の遅延値としてメタステーブル時の遅延値を用いて、イベント登録手段にイベントを生成させるので、メタステーブルを考慮した遅延検証を行なうことが可能となった。
【図面の簡単な説明】
【図1】 メタステーブルが発生する場合の論理回路の一例を示す図である。
【図2】 メタステーブル状態の伝播を防止するための論理回路の一例を示す図である。
【図3】 本発明の第1の実施の形態における遅延検証装置の構成例を示すブロック図である。
【図4】 本発明の第1の実施の形態における遅延検証装置の機能的構成を示すブロック図である。
【図5】 本発明の第1の実施の形態における遅延検証装置の処理手順を説明するためのフローチャートである。
【図6】 本発明の第1の実施の形態における遅延検証装置によって静的パス遅延解析が行なわれる論理回路の一例を示す図である。
【図7】 本発明の第2の実施の形態におけるメタステーブルFF指定部36の構成をさらに詳細に説明するための図である。
【図8】 本発明の第2の実施の形態におけるメタステーブルFF指定部36の処理手順を説明するためのフローチャートである。
【図9】 本発明の第3の実施の形態におけるメタステーブル時の遅延値の計算処理を説明するためのフローチャートである。
【図10】 本発明の第4の実施の形態におけるメタステーブル時の遅延値の計算処理を説明するためのフローチャートである。
【図11】 本発明の第5の実施の形態における遅延検証装置の機能的構成を示すブロック図である。
【図12】 本発明の第5の実施の形態における遅延検証装置の処理手順を説明するためのフローチャートである。
【符号の説明】
1 コンピュータ本体、2 ディスプレイ装置、3 FDドライブ、4 FD、5 キーボード、6 マウス、7 CD−ROM装置、8 CD−ROM、9ネットワーク通信装置、10 CPU、11 ROM、12 RAM、13 ハードディスク、21 ネットリスト格納部、22 素子遅延データベース、23 違反パスレポート、31 遅延値計算部、32 始点ポイント抽出部、33終点ポイント抽出部、34 パス抽出部、35 タイミング検証部、36 メタステーブルFF指定部、41 クロックドメイン入力部、42 クロックドメイン指定部、43 クロックドメイン分類部、44 メタステーブルFF抽出部、45 メタステーブルFF格納部、51 テストパターン格納部、52 信号変化イベント登録部、53 イベントキュー、54 シミュレーション実行部、101,102,104,105,111,113,114,115 FF、103 組合わせ回路、112 AND回路。
Claims (4)
- 非同期信号が入力される順序回路を含む論理回路を静的パス遅延解析手法を用いて遅延検証を行なう遅延検証装置であって、
論理回路に含まれる順序回路の中から、メタステーブルが発生する可能性のある順序回路を指定する指定手段と、
前記指定手段によって指定された順序回路の遅延値としてメタステーブル時の遅延値を用い、それ以外の順序回路の遅延値として非メタステーブル時の遅延値を用いて遅延解析を行なう解析手段とを含み、
前記遅延検証装置はさらに、前記解析手段によって使用される遅延値を格納する格納手段と、
非メタステーブル時の遅延値とメタステーブル時の遅延値との差の平均値に、対象となる順序回路の非メタステーブル時の遅延値を加算して、前記対象となる順序回路のメタステーブル時の遅延値として前記格納手段に登録する遅延値登録手段とを含む、遅延検証装置。 - 非同期信号が入力される順序回路を含む論理回路を静的パス遅延解析手法を用いて遅延検証を行なう遅延検証装置であって、
論理回路に含まれる順序回路の中から、メタステーブルが発生する可能性のある順序回路を指定する指定手段と、
前記指定手段によって指定された順序回路の遅延値としてメタステーブル時の遅延値を用い、それ以外の順序回路の遅延値として非メタステーブル時の遅延値を用いて遅延解析を行なう解析手段とを含み、
前記遅延検証装置はさらに、前記解析手段によって使用される遅延値を格納する格納手段と、
非メタステーブル時の遅延値とメタステーブル時の遅延値との比の平均値に、対象となる順序回路の非メタステーブル時の遅延値を乗算して、前記対象となる順序回路のメタステーブル時の遅延値として前記格納手段に登録する遅延値登録手段とを含む、遅延検証装置。 - 遅延シミュレーション手法を用いて遅延検証を行なう遅延検証装置であって、
論理回路内の素子の入力ピンに信号変化が発生したことを示すイベントを生成して登録するイベント登録手段と、
前記イベント登録手段によって登録されたイベントに基づいて遅延シミュレーションを行ない、順序回路の入力信号の変化が制約を満たさない場合には、当該順序回路の遅延値としてメタステーブル時の遅延値を用いて、前記イベント登録手段にイベントを生成させる遅延シミュレーション手段とを含み、
前記遅延検証装置はさらに、前記遅延シミュレーション手段によって使用される遅延値を格納する格納手段と、
非メタステーブル時の遅延値とメタステーブル時の遅延値との差の平均値に、対象となる順序回路の非メタステーブル時の遅延値を加算して、前記対象となる順序回路のメタステーブル時の遅延値として前記格納手段に登録する登録手段とを含む、遅延検証装置。 - 遅延シミュレーション手法を用いて遅延検証を行なう遅延検証装置であって、
論理回路内の素子の入力ピンに信号変化が発生したことを示すイベントを生成して登録するイベント登録手段と、
前記イベント登録手段によって登録されたイベントに基づいて遅延シミュレーションを行ない、順序回路の入力信号の変化が制約を満たさない場合には、当該順序回路の遅延値としてメタステーブル時の遅延値を用いて、前記イベント登録手段にイベントを生成させる遅延シミュレーション手段とを含み、
前記遅延検証装置はさらに、前記遅延シミュレーション手段によって使用される遅延値を格納する格納手段と、
非メタステーブル時の遅延値とメタステーブル時の遅延値との比の平均値に、対象となる順序回路の非メタステーブル時の遅延値を乗算して、前記対象となる順序回路のメタステーブル時の遅延値として前記格納手段に登録する遅延値登録手段とを含む、遅延検証装置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2003194980A JP4307169B2 (ja) | 2003-07-10 | 2003-07-10 | 遅延検証装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2003194980A JP4307169B2 (ja) | 2003-07-10 | 2003-07-10 | 遅延検証装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2005031890A JP2005031890A (ja) | 2005-02-03 |
JP4307169B2 true JP4307169B2 (ja) | 2009-08-05 |
Family
ID=34205957
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2003194980A Expired - Fee Related JP4307169B2 (ja) | 2003-07-10 | 2003-07-10 | 遅延検証装置 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP4307169B2 (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8798889B2 (en) * | 2010-12-20 | 2014-08-05 | Ford Global Technologies, Llc | Automatic transmission and method of control for rejecting erroneous torque measurements |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4763629B2 (ja) | 2007-02-20 | 2011-08-31 | 富士通セミコンダクター株式会社 | 検証装置、検証方法及びプログラム |
-
2003
- 2003-07-10 JP JP2003194980A patent/JP4307169B2/ja not_active Expired - Fee Related
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8798889B2 (en) * | 2010-12-20 | 2014-08-05 | Ford Global Technologies, Llc | Automatic transmission and method of control for rejecting erroneous torque measurements |
Also Published As
Publication number | Publication date |
---|---|
JP2005031890A (ja) | 2005-02-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4729007B2 (ja) | 消費電力解析装置および消費電力解析方法 | |
US20070089076A1 (en) | Application of consistent cycle context for related setup and hold tests for static timing analysis | |
US7185300B2 (en) | Vectorless instantaneous current estimation | |
US7343575B2 (en) | Phase abstraction for formal verification | |
US20050216247A1 (en) | Method and program for verifying logic circuit having asynchronous interface | |
JP4200465B2 (ja) | 半導体集積回路の設計方法及び設計システム | |
US7134062B2 (en) | Static timing analysis approach for multi-clock domain designs | |
US20080005709A1 (en) | Verification of logic circuits using cycle based delay models | |
Iizuka et al. | A tool set for the design of asynchronous circuits with bundled-data implementation | |
US9449127B1 (en) | System for verifying timing constraints of IC design | |
WO1999017239A1 (en) | Method and apparatus for analyzing digital circuits | |
US7080333B1 (en) | Verifying logic synthesizers | |
JP4307169B2 (ja) | 遅延検証装置 | |
US7257789B2 (en) | LSI design method | |
US7945882B2 (en) | Asynchronous circuit logical verification method, logical verification apparatus, and computer readable storage medium | |
Kasim et al. | Methodology for detecting glitch on clock, reset and CDC path | |
US12073159B2 (en) | Computing device and method for detecting clock domain crossing violation in design of memory device | |
US20080069277A1 (en) | Method and apparatus for modeling signal delays in a metastability protection circuit | |
US9710580B2 (en) | Timing analysis method for digital circuit design and system thereof | |
JP5104356B2 (ja) | 検証支援プログラム、検証支援装置、および検証支援方法 | |
JP2004145712A (ja) | 半導体設計における動作記述の等価性検証方法 | |
JP2009187344A (ja) | 非同期論理回路検証装置およびその方法、並びにプログラム | |
US20120253712A1 (en) | Power consumption calculation method, power consumption calculation apparatus, and non-transitory computer-readble medium storing power consumption calculation program | |
JP7354815B2 (ja) | 検証支援装置、検証支援方法および検証支援プログラム | |
JP2007241836A (ja) | マルチサイクルパス検証方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20060620 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20081007 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20081203 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20090203 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20090220 |
|
A911 | Transfer to examiner for re-examination before appeal (zenchi) |
Free format text: JAPANESE INTERMEDIATE CODE: A911 Effective date: 20090330 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20090421 |
|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20090428 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120515 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120515 Year of fee payment: 3 |
|
S111 | Request for change of ownership or part of ownership |
Free format text: JAPANESE INTERMEDIATE CODE: R313111 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120515 Year of fee payment: 3 |
|
R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120515 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130515 Year of fee payment: 4 |
|
LAPS | Cancellation because of no payment of annual fees |