JP2004070881A - タイミング検証装置 - Google Patents
タイミング検証装置 Download PDFInfo
- Publication number
- JP2004070881A JP2004070881A JP2002233182A JP2002233182A JP2004070881A JP 2004070881 A JP2004070881 A JP 2004070881A JP 2002233182 A JP2002233182 A JP 2002233182A JP 2002233182 A JP2002233182 A JP 2002233182A JP 2004070881 A JP2004070881 A JP 2004070881A
- Authority
- JP
- Japan
- Prior art keywords
- timing verification
- timing
- skew
- signal change
- time
- 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.)
- Withdrawn
Links
Images
Abstract
【課題】実デバイスにおける信号の遅延時間が論理シミュレーションにおける遅延時間と異なる場合でも、タイミング検証を正確に行なうことが可能なタイミング検証装置を提供すること。
【解決手段】タイミング検証スペック入力処理部5は、タイミング検証対象素子に対してタイミングチェック値を設定する。潜在的スキューエラーチェック値抽出部13は、タイミング検証対象素子の入力ピンに発生し得るスキューによる信号変化のずれを抽出する。そして、タイミング検証処理部11は、設定されたタイミングチェック値および抽出されたスキューによる信号変化のずれに基づいて、タイミング検証対象素子のタイミング検証を行なう。したがって、実デバイスにおける信号の遅延時間が論理シミュレーションにおける遅延時間と異なる場合でも、タイミング検証を正確に行なうことが可能となる。
【選択図】 図2
【解決手段】タイミング検証スペック入力処理部5は、タイミング検証対象素子に対してタイミングチェック値を設定する。潜在的スキューエラーチェック値抽出部13は、タイミング検証対象素子の入力ピンに発生し得るスキューによる信号変化のずれを抽出する。そして、タイミング検証処理部11は、設定されたタイミングチェック値および抽出されたスキューによる信号変化のずれに基づいて、タイミング検証対象素子のタイミング検証を行なう。したがって、実デバイスにおける信号の遅延時間が論理シミュレーションにおける遅延時間と異なる場合でも、タイミング検証を正確に行なうことが可能となる。
【選択図】 図2
Description
【0001】
【発明の属する技術分野】
本発明は、半導体集積回路において発生する誤動作を設計段階で検証する技術に関し、特に、遅延見積もり誤差を考慮して論理検証およびタイミング検証を行なうタイミング検証装置に関する。
【0002】
【従来の技術】
従来から、設計段階で半導体集積回路の不具合を検出するために、論理シミュレータが用いられている。ゲートレベル論理シミュレータにおいては、集積回路のレイアウトデータから抽出された素子の抵抗値や配線の容量値を用いて計算された素子や配線の遅延情報を用いて、論理検証およびタイミング検証が行なわれている。
【0003】
しかし、実デバイスのテストにおいては、実際の集積回路の遅延時間が論理シミュレータによって計算された遅延時間よりも大きかったり、小さかったりすることがある。特に、フリップフロップ、ラッチなどの記憶素子の入力ピンに到達する信号の変化時刻がシミュレーション結果と異なる場合には、記憶素子を含んだ回路が誤動作することがある。
【0004】
図4(a)〜図4(c)は、実デバイスにおいて発生する誤動作を説明するための図である。図4(a)は、フリップフロップ102を含んだ回路の一例を示している。論理シミュレータにおいては、ANDゲート101のAピンからYピンまでの遅延時間を10とし、BピンからYピンまでの遅延時間を20とし、ANDゲート101のYピンからフリップフロップ102のDピンまでの配線による遅延時間を10として論理シミュレーションを行なう。
【0005】
図4(b)は、論理シミュレータにおける信号波形の一例を示す図である。ANDゲート101のAピンおよびBピンに到達する信号の変化時刻がそれぞれ105および100の場合には、フリップフロップ102のデータピンDに到達する信号の変化時刻が125となる。フリップフロップ102のクロックピンTに到達する信号の変化時刻が135であるので、セットアップ時間およびホールド時間を満足してフリップフロップ102はデータピンDの信号値を正しく記憶することができる。
【0006】
図4(c)は、実デバイスにおける信号波形の一例を示す図である。実デバイスにおけるANDゲート101のAピンおよびBピンに到達する信号の変化時刻がそれぞれ100および105の場合には、実デバイスにおけるフリップフロップ102のデータピンDに到達する信号の変化時刻が135となる。フリップフロップ102のクロックピンTに到達する信号の変化時刻が135であるので、セットアップ時間を満足せずにフリップフロップ102はデータピンDの信号値を正しく記憶することができずに誤動作する可能性がある。
【0007】
そのため、タイミング検証を行なう場合、温度条件、電圧条件、プロセス変動条件などの遅延計算用パラメータに加えて、さらに素子や配線の物理的形状の変動係数等のパラメータを変化させて遅延計算を行なうことにより、数種類の素子や配線の遅延情報を求め、各遅延情報を用いて論理シミュレーションを繰返し実行して論理検証およびタイミング検証を行なうといった手法が採られている。
【0008】
【発明が解決しようとする課題】
しかし、上述したように、数種類の素子や配線の遅延情報を求め、各遅延情報を用いて論理シミュレーションを繰返し実行する場合には、膨大な時間が必要となるため、論理検証およびタイミング検証に長時間を要するといった問題点があった。
【0009】
本発明は、上記問題点を解決するためになされたものであり、第1の目的は、実デバイスにおける信号の遅延時間が論理シミュレーションにおける遅延時間と異なる場合でも、タイミング検証を正確に行なうことが可能なタイミング検証装置を提供することである。
【0010】
第2の目的は、タイミング検証に要する時間を削減することが可能なタイミング検証装置を提供することである。
【0011】
第3の目的は、ユーザの利便性を向上させることが可能なタイミング検証装置を提供することである。
【0012】
【課題を解決するための手段】
請求項1に記載のタイミング検証装置は、タイミング検証対象素子に対してタイミングチェック値を設定するための設定手段と、タイミング検証対象素子の入力ピンに発生し得るスキューによる信号変化のずれを抽出するための抽出手段と、設定手段によって設定されたタイミングチェック値および抽出手段によって抽出されたスキューによる信号変化のずれに基づいて、タイミング検証対象素子のタイミング検証を行なうための検証手段とを含む。
【0013】
タイミング検証手段は、抽出手段によって抽出されたスキューによる信号変化のずれに基づいて、タイミング検証対象素子のタイミング検証を行なうので、実デバイスにおける信号の遅延時間が論理シミュレーションにおける遅延時間と異なる場合でも、タイミング検証を正確に行なうことが可能となる。また、複数の遅延情報を用いて論理シミュレーションを繰返し行なう必要がなくなるので、タイミング検証に要する時間を削減することが可能となる。
【0014】
請求項2に記載のタイミング検証装置は、請求項1記載のタイミング検証装置であって、抽出手段はスキューによる信号変化のずれを外部から入力する。
【0015】
したがって、スキューによる信号変化のずれとして任意の値を設定することができ、ユーザの利便性を向上させることが可能となる。
【0016】
請求項3に記載のタイミング検証装置は、請求項1記載のタイミング検証装置であって、抽出手段は、タイミング検証対象素子の入力ピンから、他のタイミング検証対象素子の出力ピンまたは外部入力ピンまでバックトレースし、バックトレースした経路上の各素子における入力ピンから出力ピンまでの遅延時間の最大値と最小値との差分値を算出し、バックトレースした経路上の各素子の差分値の最大値をスキューによる信号変化のずれとして抽出する。
【0017】
したがって、スキューによる信号変化のずれを自動的に抽出することができ、タイミング検証を正確に行なうことが可能となる。
【0018】
請求項4に記載のタイミング検証装置は、請求項3記載のタイミング検証装置であって、抽出手段は、タイミング検証対象素子の入力ピンに信号変化が到達した第1の時刻から、抽出したスキューによる信号変化のずれを減算して第2の時刻を算出し、第1の時刻から第2の時刻までの間に入力ピンに到達した信号変化のうち、到達順序を入れ替えた場合でも到達順序を入替えない場合と同じ信号変化であり、かつ入替える前の第1の遅延時間と異なる第2の遅延時間となる信号変化がある場合には、第2の遅延時間と第1の遅延時間との差分をスキューによる信号変化のずれとする。
【0019】
したがって、タイミング検証対象素子の入力ピンにおいて発生する可能性があるスキューを考慮して、タイミング検証を行なうことが可能となる。
【0020】
請求項5に記載のタイミング検証装置は、請求項4記載のタイミング検証装置であって、さらに指定されたタイミング検証対象素子の入力ピンから、他のタイミング検証対象素子の出力ピンまたは外部入力ピンまでバックトレースし、バックトレースした経路上の各ノードにフラグを設定した後、与えられたタイミング検証対象外のノードに対応するバックトレースした経路上のノードのフラグを削除するためのフラグ設定手段を含み、検証手段は、フラグ設定手段によってフラグが設定されているノードを含んだタイミング検証対象素子のタイミング検証を行なう。
【0021】
タイミング検証対象外のノードのみを含んだ素子を、タイミング検証対象素子から除外することができ、タイミング検証に要する時間をさらに削減することが可能となる。
【0022】
請求項6に記載のタイミング検証装置は、請求項1〜5のいずれかに記載のタイミング検証装置であって、さらに検証手段によってエラーが検出された場合には、スキューによる信号変化のずれによってタイミングエラーが発生したことを示す情報を出力するための出力手段を含む。
【0023】
したがって、ユーザはタイミングエラーがスキューによる信号変化のずれによって発生したことを容易に認識することが可能となる。
【0024】
【発明の実施の形態】
(第1の実施の形態)
図1は、本発明の第1の実施の形態におけるタイミング検証装置の構成例を示すブロック図である。このタイミング検証装置は、コンピュータ本体21、ディスプレイ装置22、FD(Flexible Disk)24が装着されるFDドライブ23、キーボード25、マウス26、CD−ROM(Compact Disc−Read Only Memory)28が装着されるCD−ROM装置27およびネットワーク通信装置29を含む。
【0025】
タイミング検証装置を実現するプログラム(以下、タイミング検証プログラムと呼ぶ。)は、FD24またはCD−ROM28等の記録媒体によって供給される。タイミング検証プログラムがコンピュータ本体21によって実行されることにより、論理検証およびタイミング検証が行なわれる。また、タイミング検証プログラムは他のコンピュータよりネットワーク通信装置29を経由し、コンピュータ本体21に供給されてもよい。
【0026】
コンピュータ本体21は、CPU(Central Processing Unit)30、ROM(Read Only Memory)31、RAM(Random Access Memory)32およびハードディスク33を含む。CPU30は、ディスプレイ装置22、FDドライブ23、キーボード25、マウス26、CD−ROM装置27、ネットワーク通信装置29、ROM31、RAM32またはハードディスク33との間でデータを入出力しながら処理を行う。FD24またはCD−ROM28に記録されたタイミング検証プログラムは、CPU30によりFDドライブ23またはCD−ROM装置27を介して一旦ハードディスク33に格納される。CPU30は、ハードディスク33から適宜タイミング検証プログラムをRAM32にロードして実行することによって、論理検証およびタイミング検証が行なわれる。
【0027】
図2は、本発明の第1の実施の形態におけるタイミング検証装置の機能的構成を示すブロック図である。このタイミング検証装置は、回路の接続情報を入力する回路接続情報入力処理部1と、回路接続情報入力処理部1によって入力された回路の接続情報を格納する回路接続情報格納部2と、素子の遅延情報や配線の遅延情報を入力する素子/配線遅延情報入力処理部3と、素子/配線遅延情報入力処理部3によって入力された素子の遅延情報や配線の遅延情報を格納する素子/配線遅延情報格納部4と、タイミング検証のスペックを入力するタイミング検証スペック入力処理部5と、タイミング検証スペック入力処理部5によって入力されたタイミング検証のスペックを格納するタイミング検証スペック格納部6と、入力波形データを後述する内部イベント情報および外部入力ピン情報に変換する入力波形データ処理部7と、入力波形データ処理部7によって変換された内部イベント情報を格納する内部イベント情報格納部8と、入力波形データ処理部7によって変換された外部入力ピン情報を格納する外部入力ピン情報格納部9と、回路の接続情報に基づいて、内部イベント情報および外部入力ピン情報を回路内部に伝播して到達した素子において当該イベント情報を評価し、新たに発生した内部イベント情報を内部イベント情報格納部8に格納する内部イベント情報評価/伝播処理部10と、内部イベント情報がタイミング検証対象である素子の入力ピンに伝播された場合に、当該入力ピンに設定されているタイミング検証スペックにしたがってタイミング検証を行なうタイミング検証処理部11と、タイミング検証処理部11によってタイミングエラーと判定された場合に、当該タイミングエラーの内容を出力するタイミングエラー出力処理部12と、回路の接続情報および素子の遅延情報に基づいて遅延見積もり誤差を考慮したタイミングエラーチェック値(以下、潜在的スキューエラーチェック値と呼ぶ。)を抽出する潜在的スキューエラーチェック値抽出部13とを含む。
【0028】
回路接続情報入力処理部1は、入力された回路の接続情報をタイミング検証装置内部で処理可能なデータ構造(リスト構造など)に変換して、回路接続情報格納部2に格納する。
【0029】
素子/配線遅延情報入力処理部3は、入力された素子の遅延情報や配線の遅延情報をタイミング検証装置内部で処理可能なデータ構造(テーブルなど)に変換して、素子/配線遅延情報格納部4に格納する。
【0030】
タイミング検証スペック入力処理部5は、回路内に存在する素子のうち、フリップフロップ、ラッチなどの記憶素子やセレクタなどの素子等、タイミング検証が必要な素子に対して、予めライブラリデータとして設定されているタイミング検証項目(セットアップ時間、ホールド時間など)を設定し、タイミング検証装置内部で処理可能なデータ構造(リスト構造、テーブルなど)に変換し、タイミングチェック値としてタイミング検証スペック格納部6に格納する。
【0031】
潜在的スキューエラーチェック値抽出部13は、回路接続情報格納部2に格納される回路の接続情報と、素子/配線遅延情報格納部4に格納される素子の遅延情報とを参照して、タイミング検証処理部11が潜在的スキューエラーを検証する際に使用する潜在的スキューエラーチェック値を算出して、タイミング検証スペック格納部6に格納する。この潜在的スキューエラーチェック値は、次式によって算出される。なお、Tr(I,J)は、素子遅延(PinToPin遅延)が与えれた全ての素子における入力ピンINPUT(I)から出力ピンOUTPUT(J)までの立上り遅延時間を示し、Tf(I,J)は、入力ピンINPUT(I)から出力ピンOUTPUT(J)までの立下り遅延時間を示す。
【0032】
TrError=MAX(Tr(I,J))−MIN(Tr(I,J))
TfError=MAX(Tf(I,J))−MIN(Tf(I,J))…(1)
式(1)において、IおよびJは、1≦I≦入力ピン数、1≦J≦出力ピン数となる整数とする。また、TrErrorは、立上り信号変化(信号値が0→1、0→xまたはx→1)に対してタイミング検証を行なう際の潜在的スキューエラーチェック値を示し、TfErrorは、立下り信号変化(信号値が1→0、1→xまたはx→0)に対してタイミング検証を行なう際の潜在的スキューエラーチェック値を示す。なお、xは不定を示す。
【0033】
潜在的スキューエラーチェック値抽出部13は、タイミング検証対象素子の入力ピン(以下、タイミング検証対象ピンと呼ぶ。)から、他のタイミング検証対象素子の出力ピンまたは外部入力ピンまでバックトレースを行ない、バックトレースした経路上の素子におけるTrErrorおよびTfErrorの中から、最大となるTrErrorおよびTfErrorを求め、バックトレースを開始したタイミング検証対象ピンに対する潜在的スキューエラーチェック値とし、タイミング検証装置内部で処理可能なデータ構造に変換して、タイミング検証スペック格納部6に格納する。
【0034】
入力波形データ処理部7は、入力された波形データから回路の外部入力ピンに与える信号(以下、外部入力ピン情報と呼ぶ。)を抽出して外部入力ピン情報格納部9に格納し、回路内の素子の入力ピンに与える信号情報(以下、内部イベント情報または単にイベントと呼ぶ。)を抽出して内部イベント情報格納部8に格納する。なお、外部入力ピン情報は、外部入力ピンに与えた信号値、当該信号が印可された時刻および外部入力ピン名を含む。また、以下の説明において、内部イベント情報を格納する場所をタイムホイールと呼ぶ。
【0035】
図3は、本発明の第1の実施の形態におけるタイミング検証装置の処理手順を説明するためのフローチャートである。まず、潜在的スキューエラーチェック値抽出部13は、上述した手順によって潜在的スキューエラーチェック値を求め、タイミング検証スペック格納部6に格納する(S1)。この処理が終了すると、タイミング検証処理部11はタイミング検証を開始する。
【0036】
次に、内部イベント情報評価/伝播処理部10は、タイミング検証の現時刻における内部イベント情報をタイムホイールから取出し(S2)、取出した内部イベント情報を当該イベントが発生した素子の出力ピンに接続される素子の入力ピンに伝播し、当該イベントが到達した素子において出力ピンにイベントが発生するか否かの評価を行なう(S3)。なお、素子を評価する際、当該素子の入力ピンにおける当該時刻の信号値および信号が到達した時刻と、前信号値および前信号が到達した時刻とが保存される。
【0037】
内部イベント情報評価/伝播処理部10は、素子を評価して出力ピンにイベントが発生すると判定した場合、当該イベントの発生原因となった入力ピンを求め、当該入力ピンに到達したイベントに付加されている外部入力ピン情報を新規に発生したイベントに付加してタイムホイールに登録する(S4)。
【0038】
次に、当該イベントが到達した素子の入力ピンがタイミング検証対象ピンであれば、タイミング検証処理部11は、タイミング検証スペック格納部6に格納されているタイミングチェック値を用いてタイミング検証処理を行なう(S5)。タイミングエラーが発生した場合には、タイミングエラー出力処理部12は、タイミングエラーメッセージをディスプレイ装置22に表示したり、FD24などの記録媒体に記録したりする(S6)。
【0039】
また、タイミングエラーが発生しない場合には、タイミング検証処理部11は、タイミングチェック値に、タイミング検証スペック格納部6に格納されている潜在的スキューエラーチェック値を加えて再度タイミング検証を行なう。タイミングエラーが発生した場合には、タイミングエラー出力処理部12は、潜在的スキューによるタイミングエラーであることを示すタイミングエラーメッセージをディスプレイ装置に表示したり、FD24などの記録媒体に記録したりする(S6)。
【0040】
タイムホイールに残りのイベントが存在すれば(S7,Yes)、ステップS2に戻って以降の処理を繰返す。また、タイムホイールに残りのイベントが存在しなければ(S7,No)、処理を終了する。
【0041】
以上説明したように、本実施の形態におけるタイミング検証装置によれば、タイミング検証処理部11が、タイミングチェック値に、タイミング検証スペック格納部6に格納されている潜在的スキューエラーチェック値を加えてタイミング検証を行なうようにしたので、実デバイスにおける信号の遅延時間が論理シミュレーションにおける遅延時間と異なる場合でも、タイミング検証を正確に行なうことができ、タイミング検証時間を短縮することが可能となった。
【0042】
(第2の実施の形態)
本発明の第2の実施の形態におけるタイミング検証装置の構成例は、図1に示す第1の実施の形態におけるタイミング検証装置の構成例と同様である。また、本実施の形態におけるタイミング検証装置の機能的構成は、図2に示す第1の実施の形態におけるタイミング検証装置の機能的構成と同様である。したがって、重複する構成および機能の詳細な説明は繰返さない。
【0043】
また、本実施の形態におけるタイミング検証装置の処理手順は、図3に示す第1の実施の形態におけるタイミング検証装置の処理手順と同様である。したがって、重複する処理手順の詳細な説明は繰返さない。
【0044】
実施の形態1においては、潜在的スキューエラーを検証する際に、タイミングチェック値に、潜在的スキューエラーチェック値抽出部13によって抽出された潜在的スキューエラーチェック値をデフォルト値として上乗せしてタイミング検証を行なった。本実施の形態においては、ユーザがキーボード25、マウス26などを用いて、タイミング検証対象ピンに与える潜在的スキューエラーチェック値として任意の値をタイミング検証スペック入力処理部5に設定する。タイミング検証処理部11は、ユーザによって設定された潜在的スキューエラーチェック値を用いてタイミング検証を行なう。
【0045】
以上説明したように,本実施の形態におけるタイミング検証装置によれば、タイミング検証対象ピンに任意の潜在的スキューエラーチェック値を設定できるようにしたので、デフォルト値と異なる値を設定することができ、ユーザの利便性を向上させることが可能となった。
【0046】
(第3の実施の形態)
本発明の第3の実施の形態におけるタイミング検証装置の構成例は、図1に示す第1の実施の形態におけるタイミング検証装置の構成例と同様である。また、本実施の形態におけるタイミング検証装置の機能的構成は、図2に示す第1の実施の形態におけるタイミング検証装置の機能的構成と比較して、内部イベント情報評価/伝播処理部10およびタイミング検証処理部11の機能が異なる点のみが異なる。したがって、重複する構成および機能の詳細な説明は繰返さない。なお、本実施の形態における内部イベント情報評価/伝播処理部およびタイミング検証処理部の参照符号を、それぞれ10’および11’として説明する。
【0047】
また、本実施の形態におけるタイミング検証装置の処理手順は、図3に示す第1の実施の形態におけるタイミング検証装置の処理手順と比較して、ステップS3およびS5の処理が異なる点のみが異なる。したがって、重複する処理手順の詳細な説明は繰返さない。なお、本実施の形態におけるステップS3およびS5の処理を、ステップS3’およびS5’として説明する。
【0048】
ステップS3’において、内部イベント情報評価/伝播処理部10’は、評価した素子の出力ピンにイベントが発生した場合、次の判定条件を全て満足するか否かを判定する。
【0049】
▲1▼ 出力ピンの信号値が立上りまたは立下り変化した。
▲2▼ 時刻“現時刻−TrError”から現時刻までの期間に入力ピンに到達したイベントのうち、到達順序を入替えた場合でも、入替えない場合と同じ種類の信号変化であり、かつ入替える前の遅延値Tdとは違う遅延値Te(=Tr(K,J)またはTf(K,J))が選択される。
【0050】
上記▲1▼および▲2▼を全て満足する場合、通常のイベントに対して、「Ts(=Te−Td)時間でだけ進む(Ts>0の場合)、またはTs時間だけ遅れる(Ts<0の場合)可能性がある」と判定し、通常イベントにスキュー情報Tsを付加し、さらにイベントが発生した時刻、その素子名および外部ピン情報を付加する。なお、Teは上記▲1▼および▲2▼を全て満足するTr(K,J)またはTf(K,J)の最大値とする。
【0051】
ステップS5’において、当該イベントが到達した素子の入力ピンがタイミング検証対象ピンであれば、タイミング検証処理部11’は、タイミング検証スペック格納部6に格納されているタイミングチェック値を用いてタイミング検証処理を行なう。タイミングエラーが発生した場合には、タイミングエラー出力処理部12は、タイミングエラーメッセージをディスプレイ装置22に表示したり、FD24などの記録媒体に記録したりする(S6)。
【0052】
また、タイミングエラーが発生しない場合であり、かつタイミング検証対象ピンに到達したイベントがスキュー情報Tsを有する場合には、タイミング検証処理部11’は、イベントがタイミング検証対象ピンに到達した時刻(現時刻)にスキュー情報Tsを加えて再度タイミング検証を行なう。タイミングエラーが発生した場合には、タイミングエラー出力処理部12は、潜在的スキューによるタイミングエラーであることを示すタイミングエラーメッセージをディスプレイ装置に表示したり、FD24などの記録媒体に記録したりする(S6)。
【0053】
以上説明したように、本実施の形態におけるタイミング検証装置によれば、イベントがタイミング検証対象ピンに到達した時刻にスキュー情報Tsを加えてタイミング検証を行なうようにしたので、実デバイスにおいて発生し得るTs時間のスキューを考慮してタイミング検証を行なうことが可能となった。
【0054】
(第4の実施の形態)
本発明の第4の実施の形態におけるタイミング検証装置の構成例は、図1に示す第1の実施の形態におけるタイミング検証装置の構成例と同様である。また、本実施の形態におけるタイミング検証装置の機能的構成は、第3の実施の形態におけるタイミング検証装置の機能的構成と比較して、潜在的スキューエラーチェック値抽出部13の機能が異なる点のみが異なる。したがって、重複する構成および機能の詳細な説明は繰返さない。なお、本実施の形態における潜在的スキューエラーチェック値抽出部の参照符号を13”として説明する。
【0055】
実施の形態3においては、内部イベント情報評価/伝播処理部10’が全ての素子に対して潜在的スキューが発生しているか否かを判定した。本実施の形態においては、ユーザがキーボード25、マウス26などを用いて、任意のタイミング検証対象ピンを指定すると、タイミング検証スペック入力処理部5がそのタイミング検証対象ピンに遅延見積もり誤差によるタイミング検証を行なうピンであることを示す遅延見積もり誤差スキューフラグを設定する。
【0056】
潜在的スキューエラーチェック値抽出部13”は、遅延見積もり誤差スキューフラグが設定されたタイミング検証対象ピンから、他のタイミング検証対象素子の出力ピンまたは外部入力ピンまでバックトレースを行ない、バックトレースした経路上のノードに検証対象ノードフラグを設定する。
【0057】
潜在的スキューエラーチェック値抽出部13”は、回路シミュレータなどの他のタイミング検証装置によって予めタイミング検証された経路情報、または検証対象外経路に関する経路情報(検証対象外経路情報)を取得し、検証対象ノードフラグが付加されているノード中に検証済みノード(検証対象外のノード)が含まれる場合には、当該ノードに付加された検証対象ノードフラグを削除する。
【0058】
内部イベント情報評価/伝播処理部10’およびタイミング検証処理部11’は、検証対象ノードフラグが設定されているノードを有する素子に対して、第3の実施の形態において説明した処理を実行する。
【0059】
以上説明したように、本実施の形態におけるタイミング検証装置によれば、検証対象ノードフラグが設定されたノードを有する素子に対してタイミング検証を行なうようにしたので、タイミング検証が不要な素子を除外してタイミング検証が行なえるようになり、実施の形態3におけるタイミング検証装置よりもタイミング検証に要する時間をさらに削減することが可能となった。
【0060】
今回開示された実施の形態は、すべての点で例示であって制限的なものではないと考えられるべきである。本発明の範囲は上記した説明ではなくて特許請求の範囲によって示され、特許請求の範囲と均等の意味および範囲内でのすべての変更が含まれることが意図される。
【0061】
【発明の効果】
請求項1に記載のタイミング検証装置によれば、タイミング検証手段が、抽出手段によって抽出されたスキューによる信号変化のずれに基づいて、タイミング検証対象素子のタイミング検証を行なうので、実デバイスにおける信号の遅延時間が論理シミュレーションにおける遅延時間と異なる場合でも、タイミング検証を正確に行なうことが可能となった。また、複数の遅延情報を用いて論理シミュレーションを繰返し行なう必要がなくなるので、タイミング検証に要する時間を削減することが可能となった。
【0062】
請求項2に記載のタイミング検証装置によれば、スキューによる信号変化のずれとして任意の値を設定することができ、ユーザの利便性を向上させることが可能となった。
【0063】
請求項3に記載のタイミング検証装置によれば、スキューによる信号変化のずれを自動的に抽出することができ、タイミング検証を正確に行なうことが可能となった。
【0064】
請求項4に記載のタイミング検証装置によれば、タイミング検証対象素子の入力ピンにおいて発生する可能性があるスキューを考慮して、タイミング検証を行なうことが可能となった。
【0065】
請求項5に記載のタイミング検証装置によれば、タイミング検証対象外のノードのみを含んだ素子を、タイミング検証対象素子から除外することができ、タイミング検証に要する時間をさらに削減することが可能となった。
【0066】
請求項6に記載のタイミング検証装置によれば、ユーザはタイミングエラーがスキューによる信号変化のずれによって発生したことを容易に認識することが可能となった。
【図面の簡単な説明】
【図1】本発明の第1の実施の形態におけるタイミング検証装置の構成例を示すブロック図である。
【図2】本発明の第1の実施の形態におけるタイミング検証装置の機能的構成を示すブロック図である。
【図3】本発明の第1の実施の形態におけるタイミング検証装置の処理手順を説明するためのフローチャートである。
【図4】実デバイスにおいて発生する誤動作を説明するための図である。
【符号の説明】
1 回路接続情報入力処理部、2 回路接続情報格納部、3 素子/配線遅延情報入力処理部、4 素子/配線遅延情報格納部、5 タイミング検証スペック入力処理部、6 タイミング検証スペック格納部、7 入力波形データ処理部、8 内部イベント情報格納部、9 外部入力ピン情報格納部、10 内部イベント情報評価/伝播処理部、11 タイミング検証処理部、12 タイミングエラー出力処理部、13 潜在的スキューエラーチェック値抽出部、21 コンピュータ本体、22 ディスプレイ装置、23 FDドライブ、24 FD、25 キーボード、26 マウス、27 CD−ROM装置、28 CD−ROM、29 ネットワーク通信装置、30 CPU、31 ROM、32 RAM、33ハードディスク。
【発明の属する技術分野】
本発明は、半導体集積回路において発生する誤動作を設計段階で検証する技術に関し、特に、遅延見積もり誤差を考慮して論理検証およびタイミング検証を行なうタイミング検証装置に関する。
【0002】
【従来の技術】
従来から、設計段階で半導体集積回路の不具合を検出するために、論理シミュレータが用いられている。ゲートレベル論理シミュレータにおいては、集積回路のレイアウトデータから抽出された素子の抵抗値や配線の容量値を用いて計算された素子や配線の遅延情報を用いて、論理検証およびタイミング検証が行なわれている。
【0003】
しかし、実デバイスのテストにおいては、実際の集積回路の遅延時間が論理シミュレータによって計算された遅延時間よりも大きかったり、小さかったりすることがある。特に、フリップフロップ、ラッチなどの記憶素子の入力ピンに到達する信号の変化時刻がシミュレーション結果と異なる場合には、記憶素子を含んだ回路が誤動作することがある。
【0004】
図4(a)〜図4(c)は、実デバイスにおいて発生する誤動作を説明するための図である。図4(a)は、フリップフロップ102を含んだ回路の一例を示している。論理シミュレータにおいては、ANDゲート101のAピンからYピンまでの遅延時間を10とし、BピンからYピンまでの遅延時間を20とし、ANDゲート101のYピンからフリップフロップ102のDピンまでの配線による遅延時間を10として論理シミュレーションを行なう。
【0005】
図4(b)は、論理シミュレータにおける信号波形の一例を示す図である。ANDゲート101のAピンおよびBピンに到達する信号の変化時刻がそれぞれ105および100の場合には、フリップフロップ102のデータピンDに到達する信号の変化時刻が125となる。フリップフロップ102のクロックピンTに到達する信号の変化時刻が135であるので、セットアップ時間およびホールド時間を満足してフリップフロップ102はデータピンDの信号値を正しく記憶することができる。
【0006】
図4(c)は、実デバイスにおける信号波形の一例を示す図である。実デバイスにおけるANDゲート101のAピンおよびBピンに到達する信号の変化時刻がそれぞれ100および105の場合には、実デバイスにおけるフリップフロップ102のデータピンDに到達する信号の変化時刻が135となる。フリップフロップ102のクロックピンTに到達する信号の変化時刻が135であるので、セットアップ時間を満足せずにフリップフロップ102はデータピンDの信号値を正しく記憶することができずに誤動作する可能性がある。
【0007】
そのため、タイミング検証を行なう場合、温度条件、電圧条件、プロセス変動条件などの遅延計算用パラメータに加えて、さらに素子や配線の物理的形状の変動係数等のパラメータを変化させて遅延計算を行なうことにより、数種類の素子や配線の遅延情報を求め、各遅延情報を用いて論理シミュレーションを繰返し実行して論理検証およびタイミング検証を行なうといった手法が採られている。
【0008】
【発明が解決しようとする課題】
しかし、上述したように、数種類の素子や配線の遅延情報を求め、各遅延情報を用いて論理シミュレーションを繰返し実行する場合には、膨大な時間が必要となるため、論理検証およびタイミング検証に長時間を要するといった問題点があった。
【0009】
本発明は、上記問題点を解決するためになされたものであり、第1の目的は、実デバイスにおける信号の遅延時間が論理シミュレーションにおける遅延時間と異なる場合でも、タイミング検証を正確に行なうことが可能なタイミング検証装置を提供することである。
【0010】
第2の目的は、タイミング検証に要する時間を削減することが可能なタイミング検証装置を提供することである。
【0011】
第3の目的は、ユーザの利便性を向上させることが可能なタイミング検証装置を提供することである。
【0012】
【課題を解決するための手段】
請求項1に記載のタイミング検証装置は、タイミング検証対象素子に対してタイミングチェック値を設定するための設定手段と、タイミング検証対象素子の入力ピンに発生し得るスキューによる信号変化のずれを抽出するための抽出手段と、設定手段によって設定されたタイミングチェック値および抽出手段によって抽出されたスキューによる信号変化のずれに基づいて、タイミング検証対象素子のタイミング検証を行なうための検証手段とを含む。
【0013】
タイミング検証手段は、抽出手段によって抽出されたスキューによる信号変化のずれに基づいて、タイミング検証対象素子のタイミング検証を行なうので、実デバイスにおける信号の遅延時間が論理シミュレーションにおける遅延時間と異なる場合でも、タイミング検証を正確に行なうことが可能となる。また、複数の遅延情報を用いて論理シミュレーションを繰返し行なう必要がなくなるので、タイミング検証に要する時間を削減することが可能となる。
【0014】
請求項2に記載のタイミング検証装置は、請求項1記載のタイミング検証装置であって、抽出手段はスキューによる信号変化のずれを外部から入力する。
【0015】
したがって、スキューによる信号変化のずれとして任意の値を設定することができ、ユーザの利便性を向上させることが可能となる。
【0016】
請求項3に記載のタイミング検証装置は、請求項1記載のタイミング検証装置であって、抽出手段は、タイミング検証対象素子の入力ピンから、他のタイミング検証対象素子の出力ピンまたは外部入力ピンまでバックトレースし、バックトレースした経路上の各素子における入力ピンから出力ピンまでの遅延時間の最大値と最小値との差分値を算出し、バックトレースした経路上の各素子の差分値の最大値をスキューによる信号変化のずれとして抽出する。
【0017】
したがって、スキューによる信号変化のずれを自動的に抽出することができ、タイミング検証を正確に行なうことが可能となる。
【0018】
請求項4に記載のタイミング検証装置は、請求項3記載のタイミング検証装置であって、抽出手段は、タイミング検証対象素子の入力ピンに信号変化が到達した第1の時刻から、抽出したスキューによる信号変化のずれを減算して第2の時刻を算出し、第1の時刻から第2の時刻までの間に入力ピンに到達した信号変化のうち、到達順序を入れ替えた場合でも到達順序を入替えない場合と同じ信号変化であり、かつ入替える前の第1の遅延時間と異なる第2の遅延時間となる信号変化がある場合には、第2の遅延時間と第1の遅延時間との差分をスキューによる信号変化のずれとする。
【0019】
したがって、タイミング検証対象素子の入力ピンにおいて発生する可能性があるスキューを考慮して、タイミング検証を行なうことが可能となる。
【0020】
請求項5に記載のタイミング検証装置は、請求項4記載のタイミング検証装置であって、さらに指定されたタイミング検証対象素子の入力ピンから、他のタイミング検証対象素子の出力ピンまたは外部入力ピンまでバックトレースし、バックトレースした経路上の各ノードにフラグを設定した後、与えられたタイミング検証対象外のノードに対応するバックトレースした経路上のノードのフラグを削除するためのフラグ設定手段を含み、検証手段は、フラグ設定手段によってフラグが設定されているノードを含んだタイミング検証対象素子のタイミング検証を行なう。
【0021】
タイミング検証対象外のノードのみを含んだ素子を、タイミング検証対象素子から除外することができ、タイミング検証に要する時間をさらに削減することが可能となる。
【0022】
請求項6に記載のタイミング検証装置は、請求項1〜5のいずれかに記載のタイミング検証装置であって、さらに検証手段によってエラーが検出された場合には、スキューによる信号変化のずれによってタイミングエラーが発生したことを示す情報を出力するための出力手段を含む。
【0023】
したがって、ユーザはタイミングエラーがスキューによる信号変化のずれによって発生したことを容易に認識することが可能となる。
【0024】
【発明の実施の形態】
(第1の実施の形態)
図1は、本発明の第1の実施の形態におけるタイミング検証装置の構成例を示すブロック図である。このタイミング検証装置は、コンピュータ本体21、ディスプレイ装置22、FD(Flexible Disk)24が装着されるFDドライブ23、キーボード25、マウス26、CD−ROM(Compact Disc−Read Only Memory)28が装着されるCD−ROM装置27およびネットワーク通信装置29を含む。
【0025】
タイミング検証装置を実現するプログラム(以下、タイミング検証プログラムと呼ぶ。)は、FD24またはCD−ROM28等の記録媒体によって供給される。タイミング検証プログラムがコンピュータ本体21によって実行されることにより、論理検証およびタイミング検証が行なわれる。また、タイミング検証プログラムは他のコンピュータよりネットワーク通信装置29を経由し、コンピュータ本体21に供給されてもよい。
【0026】
コンピュータ本体21は、CPU(Central Processing Unit)30、ROM(Read Only Memory)31、RAM(Random Access Memory)32およびハードディスク33を含む。CPU30は、ディスプレイ装置22、FDドライブ23、キーボード25、マウス26、CD−ROM装置27、ネットワーク通信装置29、ROM31、RAM32またはハードディスク33との間でデータを入出力しながら処理を行う。FD24またはCD−ROM28に記録されたタイミング検証プログラムは、CPU30によりFDドライブ23またはCD−ROM装置27を介して一旦ハードディスク33に格納される。CPU30は、ハードディスク33から適宜タイミング検証プログラムをRAM32にロードして実行することによって、論理検証およびタイミング検証が行なわれる。
【0027】
図2は、本発明の第1の実施の形態におけるタイミング検証装置の機能的構成を示すブロック図である。このタイミング検証装置は、回路の接続情報を入力する回路接続情報入力処理部1と、回路接続情報入力処理部1によって入力された回路の接続情報を格納する回路接続情報格納部2と、素子の遅延情報や配線の遅延情報を入力する素子/配線遅延情報入力処理部3と、素子/配線遅延情報入力処理部3によって入力された素子の遅延情報や配線の遅延情報を格納する素子/配線遅延情報格納部4と、タイミング検証のスペックを入力するタイミング検証スペック入力処理部5と、タイミング検証スペック入力処理部5によって入力されたタイミング検証のスペックを格納するタイミング検証スペック格納部6と、入力波形データを後述する内部イベント情報および外部入力ピン情報に変換する入力波形データ処理部7と、入力波形データ処理部7によって変換された内部イベント情報を格納する内部イベント情報格納部8と、入力波形データ処理部7によって変換された外部入力ピン情報を格納する外部入力ピン情報格納部9と、回路の接続情報に基づいて、内部イベント情報および外部入力ピン情報を回路内部に伝播して到達した素子において当該イベント情報を評価し、新たに発生した内部イベント情報を内部イベント情報格納部8に格納する内部イベント情報評価/伝播処理部10と、内部イベント情報がタイミング検証対象である素子の入力ピンに伝播された場合に、当該入力ピンに設定されているタイミング検証スペックにしたがってタイミング検証を行なうタイミング検証処理部11と、タイミング検証処理部11によってタイミングエラーと判定された場合に、当該タイミングエラーの内容を出力するタイミングエラー出力処理部12と、回路の接続情報および素子の遅延情報に基づいて遅延見積もり誤差を考慮したタイミングエラーチェック値(以下、潜在的スキューエラーチェック値と呼ぶ。)を抽出する潜在的スキューエラーチェック値抽出部13とを含む。
【0028】
回路接続情報入力処理部1は、入力された回路の接続情報をタイミング検証装置内部で処理可能なデータ構造(リスト構造など)に変換して、回路接続情報格納部2に格納する。
【0029】
素子/配線遅延情報入力処理部3は、入力された素子の遅延情報や配線の遅延情報をタイミング検証装置内部で処理可能なデータ構造(テーブルなど)に変換して、素子/配線遅延情報格納部4に格納する。
【0030】
タイミング検証スペック入力処理部5は、回路内に存在する素子のうち、フリップフロップ、ラッチなどの記憶素子やセレクタなどの素子等、タイミング検証が必要な素子に対して、予めライブラリデータとして設定されているタイミング検証項目(セットアップ時間、ホールド時間など)を設定し、タイミング検証装置内部で処理可能なデータ構造(リスト構造、テーブルなど)に変換し、タイミングチェック値としてタイミング検証スペック格納部6に格納する。
【0031】
潜在的スキューエラーチェック値抽出部13は、回路接続情報格納部2に格納される回路の接続情報と、素子/配線遅延情報格納部4に格納される素子の遅延情報とを参照して、タイミング検証処理部11が潜在的スキューエラーを検証する際に使用する潜在的スキューエラーチェック値を算出して、タイミング検証スペック格納部6に格納する。この潜在的スキューエラーチェック値は、次式によって算出される。なお、Tr(I,J)は、素子遅延(PinToPin遅延)が与えれた全ての素子における入力ピンINPUT(I)から出力ピンOUTPUT(J)までの立上り遅延時間を示し、Tf(I,J)は、入力ピンINPUT(I)から出力ピンOUTPUT(J)までの立下り遅延時間を示す。
【0032】
TrError=MAX(Tr(I,J))−MIN(Tr(I,J))
TfError=MAX(Tf(I,J))−MIN(Tf(I,J))…(1)
式(1)において、IおよびJは、1≦I≦入力ピン数、1≦J≦出力ピン数となる整数とする。また、TrErrorは、立上り信号変化(信号値が0→1、0→xまたはx→1)に対してタイミング検証を行なう際の潜在的スキューエラーチェック値を示し、TfErrorは、立下り信号変化(信号値が1→0、1→xまたはx→0)に対してタイミング検証を行なう際の潜在的スキューエラーチェック値を示す。なお、xは不定を示す。
【0033】
潜在的スキューエラーチェック値抽出部13は、タイミング検証対象素子の入力ピン(以下、タイミング検証対象ピンと呼ぶ。)から、他のタイミング検証対象素子の出力ピンまたは外部入力ピンまでバックトレースを行ない、バックトレースした経路上の素子におけるTrErrorおよびTfErrorの中から、最大となるTrErrorおよびTfErrorを求め、バックトレースを開始したタイミング検証対象ピンに対する潜在的スキューエラーチェック値とし、タイミング検証装置内部で処理可能なデータ構造に変換して、タイミング検証スペック格納部6に格納する。
【0034】
入力波形データ処理部7は、入力された波形データから回路の外部入力ピンに与える信号(以下、外部入力ピン情報と呼ぶ。)を抽出して外部入力ピン情報格納部9に格納し、回路内の素子の入力ピンに与える信号情報(以下、内部イベント情報または単にイベントと呼ぶ。)を抽出して内部イベント情報格納部8に格納する。なお、外部入力ピン情報は、外部入力ピンに与えた信号値、当該信号が印可された時刻および外部入力ピン名を含む。また、以下の説明において、内部イベント情報を格納する場所をタイムホイールと呼ぶ。
【0035】
図3は、本発明の第1の実施の形態におけるタイミング検証装置の処理手順を説明するためのフローチャートである。まず、潜在的スキューエラーチェック値抽出部13は、上述した手順によって潜在的スキューエラーチェック値を求め、タイミング検証スペック格納部6に格納する(S1)。この処理が終了すると、タイミング検証処理部11はタイミング検証を開始する。
【0036】
次に、内部イベント情報評価/伝播処理部10は、タイミング検証の現時刻における内部イベント情報をタイムホイールから取出し(S2)、取出した内部イベント情報を当該イベントが発生した素子の出力ピンに接続される素子の入力ピンに伝播し、当該イベントが到達した素子において出力ピンにイベントが発生するか否かの評価を行なう(S3)。なお、素子を評価する際、当該素子の入力ピンにおける当該時刻の信号値および信号が到達した時刻と、前信号値および前信号が到達した時刻とが保存される。
【0037】
内部イベント情報評価/伝播処理部10は、素子を評価して出力ピンにイベントが発生すると判定した場合、当該イベントの発生原因となった入力ピンを求め、当該入力ピンに到達したイベントに付加されている外部入力ピン情報を新規に発生したイベントに付加してタイムホイールに登録する(S4)。
【0038】
次に、当該イベントが到達した素子の入力ピンがタイミング検証対象ピンであれば、タイミング検証処理部11は、タイミング検証スペック格納部6に格納されているタイミングチェック値を用いてタイミング検証処理を行なう(S5)。タイミングエラーが発生した場合には、タイミングエラー出力処理部12は、タイミングエラーメッセージをディスプレイ装置22に表示したり、FD24などの記録媒体に記録したりする(S6)。
【0039】
また、タイミングエラーが発生しない場合には、タイミング検証処理部11は、タイミングチェック値に、タイミング検証スペック格納部6に格納されている潜在的スキューエラーチェック値を加えて再度タイミング検証を行なう。タイミングエラーが発生した場合には、タイミングエラー出力処理部12は、潜在的スキューによるタイミングエラーであることを示すタイミングエラーメッセージをディスプレイ装置に表示したり、FD24などの記録媒体に記録したりする(S6)。
【0040】
タイムホイールに残りのイベントが存在すれば(S7,Yes)、ステップS2に戻って以降の処理を繰返す。また、タイムホイールに残りのイベントが存在しなければ(S7,No)、処理を終了する。
【0041】
以上説明したように、本実施の形態におけるタイミング検証装置によれば、タイミング検証処理部11が、タイミングチェック値に、タイミング検証スペック格納部6に格納されている潜在的スキューエラーチェック値を加えてタイミング検証を行なうようにしたので、実デバイスにおける信号の遅延時間が論理シミュレーションにおける遅延時間と異なる場合でも、タイミング検証を正確に行なうことができ、タイミング検証時間を短縮することが可能となった。
【0042】
(第2の実施の形態)
本発明の第2の実施の形態におけるタイミング検証装置の構成例は、図1に示す第1の実施の形態におけるタイミング検証装置の構成例と同様である。また、本実施の形態におけるタイミング検証装置の機能的構成は、図2に示す第1の実施の形態におけるタイミング検証装置の機能的構成と同様である。したがって、重複する構成および機能の詳細な説明は繰返さない。
【0043】
また、本実施の形態におけるタイミング検証装置の処理手順は、図3に示す第1の実施の形態におけるタイミング検証装置の処理手順と同様である。したがって、重複する処理手順の詳細な説明は繰返さない。
【0044】
実施の形態1においては、潜在的スキューエラーを検証する際に、タイミングチェック値に、潜在的スキューエラーチェック値抽出部13によって抽出された潜在的スキューエラーチェック値をデフォルト値として上乗せしてタイミング検証を行なった。本実施の形態においては、ユーザがキーボード25、マウス26などを用いて、タイミング検証対象ピンに与える潜在的スキューエラーチェック値として任意の値をタイミング検証スペック入力処理部5に設定する。タイミング検証処理部11は、ユーザによって設定された潜在的スキューエラーチェック値を用いてタイミング検証を行なう。
【0045】
以上説明したように,本実施の形態におけるタイミング検証装置によれば、タイミング検証対象ピンに任意の潜在的スキューエラーチェック値を設定できるようにしたので、デフォルト値と異なる値を設定することができ、ユーザの利便性を向上させることが可能となった。
【0046】
(第3の実施の形態)
本発明の第3の実施の形態におけるタイミング検証装置の構成例は、図1に示す第1の実施の形態におけるタイミング検証装置の構成例と同様である。また、本実施の形態におけるタイミング検証装置の機能的構成は、図2に示す第1の実施の形態におけるタイミング検証装置の機能的構成と比較して、内部イベント情報評価/伝播処理部10およびタイミング検証処理部11の機能が異なる点のみが異なる。したがって、重複する構成および機能の詳細な説明は繰返さない。なお、本実施の形態における内部イベント情報評価/伝播処理部およびタイミング検証処理部の参照符号を、それぞれ10’および11’として説明する。
【0047】
また、本実施の形態におけるタイミング検証装置の処理手順は、図3に示す第1の実施の形態におけるタイミング検証装置の処理手順と比較して、ステップS3およびS5の処理が異なる点のみが異なる。したがって、重複する処理手順の詳細な説明は繰返さない。なお、本実施の形態におけるステップS3およびS5の処理を、ステップS3’およびS5’として説明する。
【0048】
ステップS3’において、内部イベント情報評価/伝播処理部10’は、評価した素子の出力ピンにイベントが発生した場合、次の判定条件を全て満足するか否かを判定する。
【0049】
▲1▼ 出力ピンの信号値が立上りまたは立下り変化した。
▲2▼ 時刻“現時刻−TrError”から現時刻までの期間に入力ピンに到達したイベントのうち、到達順序を入替えた場合でも、入替えない場合と同じ種類の信号変化であり、かつ入替える前の遅延値Tdとは違う遅延値Te(=Tr(K,J)またはTf(K,J))が選択される。
【0050】
上記▲1▼および▲2▼を全て満足する場合、通常のイベントに対して、「Ts(=Te−Td)時間でだけ進む(Ts>0の場合)、またはTs時間だけ遅れる(Ts<0の場合)可能性がある」と判定し、通常イベントにスキュー情報Tsを付加し、さらにイベントが発生した時刻、その素子名および外部ピン情報を付加する。なお、Teは上記▲1▼および▲2▼を全て満足するTr(K,J)またはTf(K,J)の最大値とする。
【0051】
ステップS5’において、当該イベントが到達した素子の入力ピンがタイミング検証対象ピンであれば、タイミング検証処理部11’は、タイミング検証スペック格納部6に格納されているタイミングチェック値を用いてタイミング検証処理を行なう。タイミングエラーが発生した場合には、タイミングエラー出力処理部12は、タイミングエラーメッセージをディスプレイ装置22に表示したり、FD24などの記録媒体に記録したりする(S6)。
【0052】
また、タイミングエラーが発生しない場合であり、かつタイミング検証対象ピンに到達したイベントがスキュー情報Tsを有する場合には、タイミング検証処理部11’は、イベントがタイミング検証対象ピンに到達した時刻(現時刻)にスキュー情報Tsを加えて再度タイミング検証を行なう。タイミングエラーが発生した場合には、タイミングエラー出力処理部12は、潜在的スキューによるタイミングエラーであることを示すタイミングエラーメッセージをディスプレイ装置に表示したり、FD24などの記録媒体に記録したりする(S6)。
【0053】
以上説明したように、本実施の形態におけるタイミング検証装置によれば、イベントがタイミング検証対象ピンに到達した時刻にスキュー情報Tsを加えてタイミング検証を行なうようにしたので、実デバイスにおいて発生し得るTs時間のスキューを考慮してタイミング検証を行なうことが可能となった。
【0054】
(第4の実施の形態)
本発明の第4の実施の形態におけるタイミング検証装置の構成例は、図1に示す第1の実施の形態におけるタイミング検証装置の構成例と同様である。また、本実施の形態におけるタイミング検証装置の機能的構成は、第3の実施の形態におけるタイミング検証装置の機能的構成と比較して、潜在的スキューエラーチェック値抽出部13の機能が異なる点のみが異なる。したがって、重複する構成および機能の詳細な説明は繰返さない。なお、本実施の形態における潜在的スキューエラーチェック値抽出部の参照符号を13”として説明する。
【0055】
実施の形態3においては、内部イベント情報評価/伝播処理部10’が全ての素子に対して潜在的スキューが発生しているか否かを判定した。本実施の形態においては、ユーザがキーボード25、マウス26などを用いて、任意のタイミング検証対象ピンを指定すると、タイミング検証スペック入力処理部5がそのタイミング検証対象ピンに遅延見積もり誤差によるタイミング検証を行なうピンであることを示す遅延見積もり誤差スキューフラグを設定する。
【0056】
潜在的スキューエラーチェック値抽出部13”は、遅延見積もり誤差スキューフラグが設定されたタイミング検証対象ピンから、他のタイミング検証対象素子の出力ピンまたは外部入力ピンまでバックトレースを行ない、バックトレースした経路上のノードに検証対象ノードフラグを設定する。
【0057】
潜在的スキューエラーチェック値抽出部13”は、回路シミュレータなどの他のタイミング検証装置によって予めタイミング検証された経路情報、または検証対象外経路に関する経路情報(検証対象外経路情報)を取得し、検証対象ノードフラグが付加されているノード中に検証済みノード(検証対象外のノード)が含まれる場合には、当該ノードに付加された検証対象ノードフラグを削除する。
【0058】
内部イベント情報評価/伝播処理部10’およびタイミング検証処理部11’は、検証対象ノードフラグが設定されているノードを有する素子に対して、第3の実施の形態において説明した処理を実行する。
【0059】
以上説明したように、本実施の形態におけるタイミング検証装置によれば、検証対象ノードフラグが設定されたノードを有する素子に対してタイミング検証を行なうようにしたので、タイミング検証が不要な素子を除外してタイミング検証が行なえるようになり、実施の形態3におけるタイミング検証装置よりもタイミング検証に要する時間をさらに削減することが可能となった。
【0060】
今回開示された実施の形態は、すべての点で例示であって制限的なものではないと考えられるべきである。本発明の範囲は上記した説明ではなくて特許請求の範囲によって示され、特許請求の範囲と均等の意味および範囲内でのすべての変更が含まれることが意図される。
【0061】
【発明の効果】
請求項1に記載のタイミング検証装置によれば、タイミング検証手段が、抽出手段によって抽出されたスキューによる信号変化のずれに基づいて、タイミング検証対象素子のタイミング検証を行なうので、実デバイスにおける信号の遅延時間が論理シミュレーションにおける遅延時間と異なる場合でも、タイミング検証を正確に行なうことが可能となった。また、複数の遅延情報を用いて論理シミュレーションを繰返し行なう必要がなくなるので、タイミング検証に要する時間を削減することが可能となった。
【0062】
請求項2に記載のタイミング検証装置によれば、スキューによる信号変化のずれとして任意の値を設定することができ、ユーザの利便性を向上させることが可能となった。
【0063】
請求項3に記載のタイミング検証装置によれば、スキューによる信号変化のずれを自動的に抽出することができ、タイミング検証を正確に行なうことが可能となった。
【0064】
請求項4に記載のタイミング検証装置によれば、タイミング検証対象素子の入力ピンにおいて発生する可能性があるスキューを考慮して、タイミング検証を行なうことが可能となった。
【0065】
請求項5に記載のタイミング検証装置によれば、タイミング検証対象外のノードのみを含んだ素子を、タイミング検証対象素子から除外することができ、タイミング検証に要する時間をさらに削減することが可能となった。
【0066】
請求項6に記載のタイミング検証装置によれば、ユーザはタイミングエラーがスキューによる信号変化のずれによって発生したことを容易に認識することが可能となった。
【図面の簡単な説明】
【図1】本発明の第1の実施の形態におけるタイミング検証装置の構成例を示すブロック図である。
【図2】本発明の第1の実施の形態におけるタイミング検証装置の機能的構成を示すブロック図である。
【図3】本発明の第1の実施の形態におけるタイミング検証装置の処理手順を説明するためのフローチャートである。
【図4】実デバイスにおいて発生する誤動作を説明するための図である。
【符号の説明】
1 回路接続情報入力処理部、2 回路接続情報格納部、3 素子/配線遅延情報入力処理部、4 素子/配線遅延情報格納部、5 タイミング検証スペック入力処理部、6 タイミング検証スペック格納部、7 入力波形データ処理部、8 内部イベント情報格納部、9 外部入力ピン情報格納部、10 内部イベント情報評価/伝播処理部、11 タイミング検証処理部、12 タイミングエラー出力処理部、13 潜在的スキューエラーチェック値抽出部、21 コンピュータ本体、22 ディスプレイ装置、23 FDドライブ、24 FD、25 キーボード、26 マウス、27 CD−ROM装置、28 CD−ROM、29 ネットワーク通信装置、30 CPU、31 ROM、32 RAM、33ハードディスク。
Claims (6)
- タイミング検証対象素子に対してタイミングチェック値を設定するための設定手段と、
前記タイミング検証対象素子の入力ピンに発生し得るスキューによる信号変化のずれを抽出するための抽出手段と、
前記設定手段によって設定されたタイミングチェック値および前記抽出手段によって抽出されたスキューによる信号変化のずれに基づいて、前記タイミング検証対象素子のタイミング検証を行なうための検証手段とを含むタイミング検証装置。 - 前記抽出手段は、前記スキューによる信号変化のずれを外部から入力する、請求項1記載のタイミング検証装置。
- 前記抽出手段は、前記タイミング検証対象素子の入力ピンから、他のタイミング検証対象素子の出力ピンまたは外部入力ピンまでバックトレースし、バックトレースした経路上の各素子における入力ピンから出力ピンまでの遅延時間の最大値と最小値との差分値を算出し、前記バックトレースした経路上の各素子の差分値の最大値を前記スキューによる信号変化のずれとして抽出する、請求項1記載のタイミング検証装置。
- 前記抽出手段は、前記タイミング検証対象素子の入力ピンに信号変化が到達した第1の時刻から、前記抽出したスキューによる信号変化のずれを減算して第2の時刻を算出し、前記第1の時刻から前記第2の時刻までの間に入力ピンに到達した信号変化のうち、到達順序を入れ替えた場合でも到達順序を入替えない場合と同じ信号変化であり、かつ入替える前の第1の遅延時間と異なる第2の遅延時間となる信号変化がある場合には、前記第2の遅延時間と前記第1の遅延時間との差分を前記スキューによる信号変化のずれとする、請求項3記載のタイミング検証装置。
- 前記タイミング検証装置はさらに、指定されたタイミング検証対象素子の入力ピンから、他のタイミング検証対象素子の出力ピンまたは外部入力ピンまでバックトレースし、バックトレースした経路上の各ノードにフラグを設定した後、与えられたタイミング検証対象外のノードに対応する前記バックトレースした経路上のノードのフラグを削除するためのフラグ設定手段を含み、
前記検証手段は、前記フラグ設定手段によってフラグが設定されているノードを含んだタイミング検証対象素子のタイミング検証を行なう、請求項4記載のタイミング検証装置。 - 前記タイミング検証装置はさらに、前記検証手段によってエラーが検出された場合には、スキューによる信号変化のずれによってタイミングエラーが発生したことを示す情報を出力するための出力手段を含む、請求項1〜5のいずれかに記載のタイミング検証装置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2002233182A JP2004070881A (ja) | 2002-08-09 | 2002-08-09 | タイミング検証装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2002233182A JP2004070881A (ja) | 2002-08-09 | 2002-08-09 | タイミング検証装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2004070881A true JP2004070881A (ja) | 2004-03-04 |
Family
ID=32018375
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2002233182A Withdrawn JP2004070881A (ja) | 2002-08-09 | 2002-08-09 | タイミング検証装置 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2004070881A (ja) |
-
2002
- 2002-08-09 JP JP2002233182A patent/JP2004070881A/ja not_active Withdrawn
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8914761B2 (en) | Metastability effects simulation for a circuit description | |
US10222852B2 (en) | Voltage and frequency balancing at nominal point | |
US7454728B2 (en) | Metastability injector for a circuit description | |
US5974247A (en) | Apparatus and method of LSI timing degradation simulation | |
JP2004252831A (ja) | Lsiの統計的遅延シミュレーション装置及びそのシミュレーション方法 | |
US6278964B1 (en) | Hot carrier effect simulation for integrated circuits | |
US10025895B2 (en) | Circuit simulation using a recording of a reference execution | |
JP2005092885A (ja) | デジタル回路の統計的タイミング解析のためのシステムおよび方法 | |
JP2006107517A (ja) | クロストークを考慮したタイミング分析のためのシステム、方法及び論理装置 | |
JP4540540B2 (ja) | 遅延計算装置 | |
US7139988B2 (en) | Modeling metastability in circuit design | |
US6795951B2 (en) | Method and system for fault-tolerant static timing analysis | |
US9507903B2 (en) | Method for estimation of delays and slews during circuit optimization | |
JP2004133702A (ja) | 自動設計システム、及び自動設計方法 | |
US7080333B1 (en) | Verifying logic synthesizers | |
US7945882B2 (en) | Asynchronous circuit logical verification method, logical verification apparatus, and computer readable storage medium | |
US20220327269A1 (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 | |
JP5119506B2 (ja) | 半導体集積回路の設計装置、そのデータ処理方法、およびその制御プログラム | |
JP2010039925A (ja) | 遅延時間解析装置,遅延時間解析方法および遅延時間解析プログラム | |
US10690722B1 (en) | Methods and systems for efficient identification of glitch failures in integrated circuits | |
JP2004070881A (ja) | タイミング検証装置 | |
JP5831067B2 (ja) | 消費電力解析方法、消費電力解析装置および消費電力解析プログラム | |
JP4066399B2 (ja) | 集積回路におけるホットキャリア効果のシミュレーション方法 | |
JP2002259488A (ja) | クロックスキュー検証方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A300 | Application deemed to be withdrawn because no request for examination was validly filed |
Free format text: JAPANESE INTERMEDIATE CODE: A300 Effective date: 20051101 |