(57)【要約】【課題】実デバイスにおける信号の遅延時間が論理シミュレーションにおける遅延時間と異なる場合でも、タイミング検証を正確に行なうことが可能なタイミング検証装置を提供すること。【解決手段】タイミング検証スペック入力処理部５は、タイミング検証対象素子に対してタイミングチェック値を設定する。潜在的スキューエラーチェック値抽出部１３は、タイミング検証対象素子の入力ピンに発生し得るスキューによる信号変化のずれを抽出する。そして、タイミング検証処理部１１は、設定されたタイミングチェック値および抽出されたスキューによる信号変化のずれに基づいて、タイミング検証対象素子のタイミング検証を行なう。したがって、実デバイスにおける信号の遅延時間が論理シミュレーションにおける遅延時間と異なる場合でも、タイミング検証を正確に行なうことが可能となる。【選択図】　　　　図２
2004070881.tif 000002
【特許請求の範囲】
【請求項１】
タイミング検証対象素子に対してタイミングチェック値を設定するための設定手段と、
前記タイミング検証対象素子の入力ピンに発生し得るスキューによる信号変化のずれを抽出するための抽出手段と、
前記設定手段によって設定されたタイミングチェック値および前記抽出手段によって抽出されたスキューによる信号変化のずれに基づいて、前記タイミング検証対象素子のタイミング検証を行なうための検証手段とを含むタイミング検証装置。
【請求項２】
前記抽出手段は、前記スキューによる信号変化のずれを外部から入力する、請求項１記載のタイミング検証装置。
【請求項３】
前記抽出手段は、前記タイミング検証対象素子の入力ピンから、他のタイミング検証対象素子の出力ピンまたは外部入力ピンまでバックトレースし、バックトレースした経路上の各素子における入力ピンから出力ピンまでの遅延時間の最大値と最小値との差分値を算出し、前記バックトレースした経路上の各素子の差分値の最大値を前記スキューによる信号変化のずれとして抽出する、請求項１記載のタイミング検証装置。
【請求項４】
前記抽出手段は、前記タイミング検証対象素子の入力ピンに信号変化が到達した第１の時刻から、前記抽出したスキューによる信号変化のずれを減算して第２の時刻を算出し、前記第１の時刻から前記第２の時刻までの間に入力ピンに到達した信号変化のうち、到達順序を入れ替えた場合でも到達順序を入替えない場合と同じ信号変化であり、かつ入替える前の第１の遅延時間と異なる第２の遅延時間となる信号変化がある場合には、前記第２の遅延時間と前記第１の遅延時間との差分を前記スキューによる信号変化のずれとする、請求項３記載のタイミング検証装置。
【請求項５】
前記タイミング検証装置はさらに、指定されたタイミング検証対象素子の入力ピンから、他のタイミング検証対象素子の出力ピンまたは外部入力ピンまでバックトレースし、バックトレースした経路上の各ノードにフラグを設定した後、与えられたタイミング検証対象外のノードに対応する前記バックトレースした経路上のノードのフラグを削除するためのフラグ設定手段を含み、
前記検証手段は、前記フラグ設定手段によってフラグが設定されているノードを含んだタイミング検証対象素子のタイミング検証を行なう、請求項４記載のタイミング検証装置。
【請求項６】
前記タイミング検証装置はさらに、前記検証手段によってエラーが検出された場合には、スキューによる信号変化のずれによってタイミングエラーが発生したことを示す情報を出力するための出力手段を含む、請求項１〜５のいずれかに記載のタイミング検証装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、半導体集積回路において発生する誤動作を設計段階で検証する技術に関し、特に、遅延見積もり誤差を考慮して論理検証およびタイミング検証を行なうタイミング検証装置に関する。
【０００２】
【従来の技術】
従来から、設計段階で半導体集積回路の不具合を検出するために、論理シミュレータが用いられている。ゲートレベル論理シミュレータにおいては、集積回路のレイアウトデータから抽出された素子の抵抗値や配線の容量値を用いて計算された素子や配線の遅延情報を用いて、論理検証およびタイミング検証が行なわれている。
【０００３】
しかし、実デバイスのテストにおいては、実際の集積回路の遅延時間が論理シミュレータによって計算された遅延時間よりも大きかったり、小さかったりすることがある。特に、フリップフロップ、ラッチなどの記憶素子の入力ピンに到達する信号の変化時刻がシミュレーション結果と異なる場合には、記憶素子を含んだ回路が誤動作することがある。
【０００４】
図４（ａ）〜図４（ｃ）は、実デバイスにおいて発生する誤動作を説明するための図である。図４（ａ）は、フリップフロップ１０２を含んだ回路の一例を示している。論理シミュレータにおいては、ＡＮＤゲート１０１のＡピンからＹピンまでの遅延時間を１０とし、ＢピンからＹピンまでの遅延時間を２０とし、ＡＮＤゲート１０１のＹピンからフリップフロップ１０２のＤピンまでの配線による遅延時間を１０として論理シミュレーションを行なう。
【０００５】
図４（ｂ）は、論理シミュレータにおける信号波形の一例を示す図である。ＡＮＤゲート１０１のＡピンおよびＢピンに到達する信号の変化時刻がそれぞれ１０５および１００の場合には、フリップフロップ１０２のデータピンＤに到達する信号の変化時刻が１２５となる。フリップフロップ１０２のクロックピンＴに到達する信号の変化時刻が１３５であるので、セットアップ時間およびホールド時間を満足してフリップフロップ１０２はデータピンＤの信号値を正しく記憶することができる。
【０００６】
図４（ｃ）は、実デバイスにおける信号波形の一例を示す図である。実デバイスにおけるＡＮＤゲート１０１のＡピンおよびＢピンに到達する信号の変化時刻がそれぞれ１００および１０５の場合には、実デバイスにおけるフリップフロップ１０２のデータピンＤに到達する信号の変化時刻が１３５となる。フリップフロップ１０２のクロックピンＴに到達する信号の変化時刻が１３５であるので、セットアップ時間を満足せずにフリップフロップ１０２はデータピンＤの信号値を正しく記憶することができずに誤動作する可能性がある。
【０００７】
そのため、タイミング検証を行なう場合、温度条件、電圧条件、プロセス変動条件などの遅延計算用パラメータに加えて、さらに素子や配線の物理的形状の変動係数等のパラメータを変化させて遅延計算を行なうことにより、数種類の素子や配線の遅延情報を求め、各遅延情報を用いて論理シミュレーションを繰返し実行して論理検証およびタイミング検証を行なうといった手法が採られている。
【０００８】
【発明が解決しようとする課題】
しかし、上述したように、数種類の素子や配線の遅延情報を求め、各遅延情報を用いて論理シミュレーションを繰返し実行する場合には、膨大な時間が必要となるため、論理検証およびタイミング検証に長時間を要するといった問題点があった。
【０００９】
本発明は、上記問題点を解決するためになされたものであり、第１の目的は、実デバイスにおける信号の遅延時間が論理シミュレーションにおける遅延時間と異なる場合でも、タイミング検証を正確に行なうことが可能なタイミング検証装置を提供することである。
【００１０】
第２の目的は、タイミング検証に要する時間を削減することが可能なタイミング検証装置を提供することである。
【００１１】
第３の目的は、ユーザの利便性を向上させることが可能なタイミング検証装置を提供することである。
【００１２】
【課題を解決するための手段】
請求項１に記載のタイミング検証装置は、タイミング検証対象素子に対してタイミングチェック値を設定するための設定手段と、タイミング検証対象素子の入力ピンに発生し得るスキューによる信号変化のずれを抽出するための抽出手段と、設定手段によって設定されたタイミングチェック値および抽出手段によって抽出されたスキューによる信号変化のずれに基づいて、タイミング検証対象素子のタイミング検証を行なうための検証手段とを含む。
【００１３】
タイミング検証手段は、抽出手段によって抽出されたスキューによる信号変化のずれに基づいて、タイミング検証対象素子のタイミング検証を行なうので、実デバイスにおける信号の遅延時間が論理シミュレーションにおける遅延時間と異なる場合でも、タイミング検証を正確に行なうことが可能となる。また、複数の遅延情報を用いて論理シミュレーションを繰返し行なう必要がなくなるので、タイミング検証に要する時間を削減することが可能となる。
【００１４】
請求項２に記載のタイミング検証装置は、請求項１記載のタイミング検証装置であって、抽出手段はスキューによる信号変化のずれを外部から入力する。
【００１５】
したがって、スキューによる信号変化のずれとして任意の値を設定することができ、ユーザの利便性を向上させることが可能となる。
【００１６】
請求項３に記載のタイミング検証装置は、請求項１記載のタイミング検証装置であって、抽出手段は、タイミング検証対象素子の入力ピンから、他のタイミング検証対象素子の出力ピンまたは外部入力ピンまでバックトレースし、バックトレースした経路上の各素子における入力ピンから出力ピンまでの遅延時間の最大値と最小値との差分値を算出し、バックトレースした経路上の各素子の差分値の最大値をスキューによる信号変化のずれとして抽出する。
【００１７】
したがって、スキューによる信号変化のずれを自動的に抽出することができ、タイミング検証を正確に行なうことが可能となる。
【００１８】
請求項４に記載のタイミング検証装置は、請求項３記載のタイミング検証装置であって、抽出手段は、タイミング検証対象素子の入力ピンに信号変化が到達した第１の時刻から、抽出したスキューによる信号変化のずれを減算して第２の時刻を算出し、第１の時刻から第２の時刻までの間に入力ピンに到達した信号変化のうち、到達順序を入れ替えた場合でも到達順序を入替えない場合と同じ信号変化であり、かつ入替える前の第１の遅延時間と異なる第２の遅延時間となる信号変化がある場合には、第２の遅延時間と第１の遅延時間との差分をスキューによる信号変化のずれとする。
【００１９】
したがって、タイミング検証対象素子の入力ピンにおいて発生する可能性があるスキューを考慮して、タイミング検証を行なうことが可能となる。
【００２０】
請求項５に記載のタイミング検証装置は、請求項４記載のタイミング検証装置であって、さらに指定されたタイミング検証対象素子の入力ピンから、他のタイミング検証対象素子の出力ピンまたは外部入力ピンまでバックトレースし、バックトレースした経路上の各ノードにフラグを設定した後、与えられたタイミング検証対象外のノードに対応するバックトレースした経路上のノードのフラグを削除するためのフラグ設定手段を含み、検証手段は、フラグ設定手段によってフラグが設定されているノードを含んだタイミング検証対象素子のタイミング検証を行なう。
【００２１】
タイミング検証対象外のノードのみを含んだ素子を、タイミング検証対象素子から除外することができ、タイミング検証に要する時間をさらに削減することが可能となる。
【００２２】
請求項６に記載のタイミング検証装置は、請求項１〜５のいずれかに記載のタイミング検証装置であって、さらに検証手段によってエラーが検出された場合には、スキューによる信号変化のずれによってタイミングエラーが発生したことを示す情報を出力するための出力手段を含む。
【００２３】
したがって、ユーザはタイミングエラーがスキューによる信号変化のずれによって発生したことを容易に認識することが可能となる。
【００２４】
【発明の実施の形態】
（第１の実施の形態）
図１は、本発明の第１の実施の形態におけるタイミング検証装置の構成例を示すブロック図である。このタイミング検証装置は、コンピュータ本体２１、ディスプレイ装置２２、ＦＤ（Ｆｌｅｘｉｂｌｅ　Ｄｉｓｋ）２４が装着されるＦＤドライブ２３、キーボード２５、マウス２６、ＣＤ−ＲＯＭ（Ｃｏｍｐａｃｔ　Ｄｉｓｃ−Ｒｅａｄ　Ｏｎｌｙ　Ｍｅｍｏｒｙ）２８が装着されるＣＤ−ＲＯＭ装置２７およびネットワーク通信装置２９を含む。
【００２５】
タイミング検証装置を実現するプログラム（以下、タイミング検証プログラムと呼ぶ。）は、ＦＤ２４またはＣＤ−ＲＯＭ２８等の記録媒体によって供給される。タイミング検証プログラムがコンピュータ本体２１によって実行されることにより、論理検証およびタイミング検証が行なわれる。また、タイミング検証プログラムは他のコンピュータよりネットワーク通信装置２９を経由し、コンピュータ本体２１に供給されてもよい。
【００２６】
コンピュータ本体２１は、ＣＰＵ（Ｃｅｎｔｒａｌ　Ｐｒｏｃｅｓｓｉｎｇ　Ｕｎｉｔ）３０、ＲＯＭ（Ｒｅａｄ　Ｏｎｌｙ　Ｍｅｍｏｒｙ）３１、ＲＡＭ（Ｒａｎｄｏｍ　Ａｃｃｅｓｓ　Ｍｅｍｏｒｙ）３２およびハードディスク３３を含む。ＣＰＵ３０は、ディスプレイ装置２２、ＦＤドライブ２３、キーボード２５、マウス２６、ＣＤ−ＲＯＭ装置２７、ネットワーク通信装置２９、ＲＯＭ３１、ＲＡＭ３２またはハードディスク３３との間でデータを入出力しながら処理を行う。ＦＤ２４またはＣＤ−ＲＯＭ２８に記録されたタイミング検証プログラムは、ＣＰＵ３０によりＦＤドライブ２３またはＣＤ−ＲＯＭ装置２７を介して一旦ハードディスク３３に格納される。ＣＰＵ３０は、ハードディスク３３から適宜タイミング検証プログラムをＲＡＭ３２にロードして実行することによって、論理検証およびタイミング検証が行なわれる。
【００２７】
図２は、本発明の第１の実施の形態におけるタイミング検証装置の機能的構成を示すブロック図である。このタイミング検証装置は、回路の接続情報を入力する回路接続情報入力処理部１と、回路接続情報入力処理部１によって入力された回路の接続情報を格納する回路接続情報格納部２と、素子の遅延情報や配線の遅延情報を入力する素子／配線遅延情報入力処理部３と、素子／配線遅延情報入力処理部３によって入力された素子の遅延情報や配線の遅延情報を格納する素子／配線遅延情報格納部４と、タイミング検証のスペックを入力するタイミング検証スペック入力処理部５と、タイミング検証スペック入力処理部５によって入力されたタイミング検証のスペックを格納するタイミング検証スペック格納部６と、入力波形データを後述する内部イベント情報および外部入力ピン情報に変換する入力波形データ処理部７と、入力波形データ処理部７によって変換された内部イベント情報を格納する内部イベント情報格納部８と、入力波形データ処理部７によって変換された外部入力ピン情報を格納する外部入力ピン情報格納部９と、回路の接続情報に基づいて、内部イベント情報および外部入力ピン情報を回路内部に伝播して到達した素子において当該イベント情報を評価し、新たに発生した内部イベント情報を内部イベント情報格納部８に格納する内部イベント情報評価／伝播処理部１０と、内部イベント情報がタイミング検証対象である素子の入力ピンに伝播された場合に、当該入力ピンに設定されているタイミング検証スペックにしたがってタイミング検証を行なうタイミング検証処理部１１と、タイミング検証処理部１１によってタイミングエラーと判定された場合に、当該タイミングエラーの内容を出力するタイミングエラー出力処理部１２と、回路の接続情報および素子の遅延情報に基づいて遅延見積もり誤差を考慮したタイミングエラーチェック値（以下、潜在的スキューエラーチェック値と呼ぶ。）を抽出する潜在的スキューエラーチェック値抽出部１３とを含む。
【００２８】
回路接続情報入力処理部１は、入力された回路の接続情報をタイミング検証装置内部で処理可能なデータ構造（リスト構造など）に変換して、回路接続情報格納部２に格納する。
【００２９】
素子／配線遅延情報入力処理部３は、入力された素子の遅延情報や配線の遅延情報をタイミング検証装置内部で処理可能なデータ構造（テーブルなど）に変換して、素子／配線遅延情報格納部４に格納する。
【００３０】
タイミング検証スペック入力処理部５は、回路内に存在する素子のうち、フリップフロップ、ラッチなどの記憶素子やセレクタなどの素子等、タイミング検証が必要な素子に対して、予めライブラリデータとして設定されているタイミング検証項目（セットアップ時間、ホールド時間など）を設定し、タイミング検証装置内部で処理可能なデータ構造（リスト構造、テーブルなど）に変換し、タイミングチェック値としてタイミング検証スペック格納部６に格納する。
【００３１】
潜在的スキューエラーチェック値抽出部１３は、回路接続情報格納部２に格納される回路の接続情報と、素子／配線遅延情報格納部４に格納される素子の遅延情報とを参照して、タイミング検証処理部１１が潜在的スキューエラーを検証する際に使用する潜在的スキューエラーチェック値を算出して、タイミング検証スペック格納部６に格納する。この潜在的スキューエラーチェック値は、次式によって算出される。なお、Ｔｒ（Ｉ，Ｊ）は、素子遅延（ＰｉｎＴｏＰｉｎ遅延）が与えれた全ての素子における入力ピンＩＮＰＵＴ（Ｉ）から出力ピンＯＵＴＰＵＴ（Ｊ）までの立上り遅延時間を示し、Ｔｆ（Ｉ，Ｊ）は、入力ピンＩＮＰＵＴ（Ｉ）から出力ピンＯＵＴＰＵＴ（Ｊ）までの立下り遅延時間を示す。
【００３２】
ＴｒＥｒｒｏｒ＝ＭＡＸ（Ｔｒ（Ｉ，Ｊ））−ＭＩＮ（Ｔｒ（Ｉ，Ｊ））
ＴｆＥｒｒｏｒ＝ＭＡＸ（Ｔｆ（Ｉ，Ｊ））−ＭＩＮ（Ｔｆ（Ｉ，Ｊ））…（１）
式（１）において、ＩおよびＪは、１≦Ｉ≦入力ピン数、１≦Ｊ≦出力ピン数となる整数とする。また、ＴｒＥｒｒｏｒは、立上り信号変化（信号値が０→１、０→ｘまたはｘ→１）に対してタイミング検証を行なう際の潜在的スキューエラーチェック値を示し、ＴｆＥｒｒｏｒは、立下り信号変化（信号値が１→０、１→ｘまたはｘ→０）に対してタイミング検証を行なう際の潜在的スキューエラーチェック値を示す。なお、ｘは不定を示す。
【００３３】
潜在的スキューエラーチェック値抽出部１３は、タイミング検証対象素子の入力ピン（以下、タイミング検証対象ピンと呼ぶ。）から、他のタイミング検証対象素子の出力ピンまたは外部入力ピンまでバックトレースを行ない、バックトレースした経路上の素子におけるＴｒＥｒｒｏｒおよびＴｆＥｒｒｏｒの中から、最大となるＴｒＥｒｒｏｒおよびＴｆＥｒｒｏｒを求め、バックトレースを開始したタイミング検証対象ピンに対する潜在的スキューエラーチェック値とし、タイミング検証装置内部で処理可能なデータ構造に変換して、タイミング検証スペック格納部６に格納する。
【００３４】
入力波形データ処理部７は、入力された波形データから回路の外部入力ピンに与える信号（以下、外部入力ピン情報と呼ぶ。）を抽出して外部入力ピン情報格納部９に格納し、回路内の素子の入力ピンに与える信号情報（以下、内部イベント情報または単にイベントと呼ぶ。）を抽出して内部イベント情報格納部８に格納する。なお、外部入力ピン情報は、外部入力ピンに与えた信号値、当該信号が印可された時刻および外部入力ピン名を含む。また、以下の説明において、内部イベント情報を格納する場所をタイムホイールと呼ぶ。
【００３５】
図３は、本発明の第１の実施の形態におけるタイミング検証装置の処理手順を説明するためのフローチャートである。まず、潜在的スキューエラーチェック値抽出部１３は、上述した手順によって潜在的スキューエラーチェック値を求め、タイミング検証スペック格納部６に格納する（Ｓ１）。この処理が終了すると、タイミング検証処理部１１はタイミング検証を開始する。
【００３６】
次に、内部イベント情報評価／伝播処理部１０は、タイミング検証の現時刻における内部イベント情報をタイムホイールから取出し（Ｓ２）、取出した内部イベント情報を当該イベントが発生した素子の出力ピンに接続される素子の入力ピンに伝播し、当該イベントが到達した素子において出力ピンにイベントが発生するか否かの評価を行なう（Ｓ３）。なお、素子を評価する際、当該素子の入力ピンにおける当該時刻の信号値および信号が到達した時刻と、前信号値および前信号が到達した時刻とが保存される。
【００３７】
内部イベント情報評価／伝播処理部１０は、素子を評価して出力ピンにイベントが発生すると判定した場合、当該イベントの発生原因となった入力ピンを求め、当該入力ピンに到達したイベントに付加されている外部入力ピン情報を新規に発生したイベントに付加してタイムホイールに登録する（Ｓ４）。
【００３８】
次に、当該イベントが到達した素子の入力ピンがタイミング検証対象ピンであれば、タイミング検証処理部１１は、タイミング検証スペック格納部６に格納されているタイミングチェック値を用いてタイミング検証処理を行なう（Ｓ５）。タイミングエラーが発生した場合には、タイミングエラー出力処理部１２は、タイミングエラーメッセージをディスプレイ装置２２に表示したり、ＦＤ２４などの記録媒体に記録したりする（Ｓ６）。
【００３９】
また、タイミングエラーが発生しない場合には、タイミング検証処理部１１は、タイミングチェック値に、タイミング検証スペック格納部６に格納されている潜在的スキューエラーチェック値を加えて再度タイミング検証を行なう。タイミングエラーが発生した場合には、タイミングエラー出力処理部１２は、潜在的スキューによるタイミングエラーであることを示すタイミングエラーメッセージをディスプレイ装置に表示したり、ＦＤ２４などの記録媒体に記録したりする（Ｓ６）。
【００４０】
タイムホイールに残りのイベントが存在すれば（Ｓ７，Ｙｅｓ）、ステップＳ２に戻って以降の処理を繰返す。また、タイムホイールに残りのイベントが存在しなければ（Ｓ７，Ｎｏ）、処理を終了する。
【００４１】
以上説明したように、本実施の形態におけるタイミング検証装置によれば、タイミング検証処理部１１が、タイミングチェック値に、タイミング検証スペック格納部６に格納されている潜在的スキューエラーチェック値を加えてタイミング検証を行なうようにしたので、実デバイスにおける信号の遅延時間が論理シミュレーションにおける遅延時間と異なる場合でも、タイミング検証を正確に行なうことができ、タイミング検証時間を短縮することが可能となった。
【００４２】
（第２の実施の形態）
本発明の第２の実施の形態におけるタイミング検証装置の構成例は、図１に示す第１の実施の形態におけるタイミング検証装置の構成例と同様である。また、本実施の形態におけるタイミング検証装置の機能的構成は、図２に示す第１の実施の形態におけるタイミング検証装置の機能的構成と同様である。したがって、重複する構成および機能の詳細な説明は繰返さない。
【００４３】
また、本実施の形態におけるタイミング検証装置の処理手順は、図３に示す第１の実施の形態におけるタイミング検証装置の処理手順と同様である。したがって、重複する処理手順の詳細な説明は繰返さない。
【００４４】
実施の形態１においては、潜在的スキューエラーを検証する際に、タイミングチェック値に、潜在的スキューエラーチェック値抽出部１３によって抽出された潜在的スキューエラーチェック値をデフォルト値として上乗せしてタイミング検証を行なった。本実施の形態においては、ユーザがキーボード２５、マウス２６などを用いて、タイミング検証対象ピンに与える潜在的スキューエラーチェック値として任意の値をタイミング検証スペック入力処理部５に設定する。タイミング検証処理部１１は、ユーザによって設定された潜在的スキューエラーチェック値を用いてタイミング検証を行なう。
【００４５】
以上説明したように，本実施の形態におけるタイミング検証装置によれば、タイミング検証対象ピンに任意の潜在的スキューエラーチェック値を設定できるようにしたので、デフォルト値と異なる値を設定することができ、ユーザの利便性を向上させることが可能となった。
【００４６】
（第３の実施の形態）
本発明の第３の実施の形態におけるタイミング検証装置の構成例は、図１に示す第１の実施の形態におけるタイミング検証装置の構成例と同様である。また、本実施の形態におけるタイミング検証装置の機能的構成は、図２に示す第１の実施の形態におけるタイミング検証装置の機能的構成と比較して、内部イベント情報評価／伝播処理部１０およびタイミング検証処理部１１の機能が異なる点のみが異なる。したがって、重複する構成および機能の詳細な説明は繰返さない。なお、本実施の形態における内部イベント情報評価／伝播処理部およびタイミング検証処理部の参照符号を、それぞれ１０’および１１’として説明する。
【００４７】
また、本実施の形態におけるタイミング検証装置の処理手順は、図３に示す第１の実施の形態におけるタイミング検証装置の処理手順と比較して、ステップＳ３およびＳ５の処理が異なる点のみが異なる。したがって、重複する処理手順の詳細な説明は繰返さない。なお、本実施の形態におけるステップＳ３およびＳ５の処理を、ステップＳ３’およびＳ５’として説明する。
【００４８】
ステップＳ３’において、内部イベント情報評価／伝播処理部１０’は、評価した素子の出力ピンにイベントが発生した場合、次の判定条件を全て満足するか否かを判定する。
【００４９】
▲１▼　出力ピンの信号値が立上りまたは立下り変化した。
▲２▼　時刻“現時刻−ＴｒＥｒｒｏｒ”から現時刻までの期間に入力ピンに到達したイベントのうち、到達順序を入替えた場合でも、入替えない場合と同じ種類の信号変化であり、かつ入替える前の遅延値Ｔｄとは違う遅延値Ｔｅ（＝Ｔｒ（Ｋ，Ｊ）またはＴｆ（Ｋ，Ｊ））が選択される。
【００５０】
上記▲１▼および▲２▼を全て満足する場合、通常のイベントに対して、「Ｔｓ（＝Ｔｅ−Ｔｄ）時間でだけ進む（Ｔｓ＞０の場合）、またはＴｓ時間だけ遅れる（Ｔｓ＜０の場合）可能性がある」と判定し、通常イベントにスキュー情報Ｔｓを付加し、さらにイベントが発生した時刻、その素子名および外部ピン情報を付加する。なお、Ｔｅは上記▲１▼および▲２▼を全て満足するＴｒ（Ｋ，Ｊ）またはＴｆ（Ｋ，Ｊ）の最大値とする。
【００５１】
ステップＳ５’において、当該イベントが到達した素子の入力ピンがタイミング検証対象ピンであれば、タイミング検証処理部１１’は、タイミング検証スペック格納部６に格納されているタイミングチェック値を用いてタイミング検証処理を行なう。タイミングエラーが発生した場合には、タイミングエラー出力処理部１２は、タイミングエラーメッセージをディスプレイ装置２２に表示したり、ＦＤ２４などの記録媒体に記録したりする（Ｓ６）。
【００５２】
また、タイミングエラーが発生しない場合であり、かつタイミング検証対象ピンに到達したイベントがスキュー情報Ｔｓを有する場合には、タイミング検証処理部１１’は、イベントがタイミング検証対象ピンに到達した時刻（現時刻）にスキュー情報Ｔｓを加えて再度タイミング検証を行なう。タイミングエラーが発生した場合には、タイミングエラー出力処理部１２は、潜在的スキューによるタイミングエラーであることを示すタイミングエラーメッセージをディスプレイ装置に表示したり、ＦＤ２４などの記録媒体に記録したりする（Ｓ６）。
【００５３】
以上説明したように、本実施の形態におけるタイミング検証装置によれば、イベントがタイミング検証対象ピンに到達した時刻にスキュー情報Ｔｓを加えてタイミング検証を行なうようにしたので、実デバイスにおいて発生し得るＴｓ時間のスキューを考慮してタイミング検証を行なうことが可能となった。
【００５４】
（第４の実施の形態）
本発明の第４の実施の形態におけるタイミング検証装置の構成例は、図１に示す第１の実施の形態におけるタイミング検証装置の構成例と同様である。また、本実施の形態におけるタイミング検証装置の機能的構成は、第３の実施の形態におけるタイミング検証装置の機能的構成と比較して、潜在的スキューエラーチェック値抽出部１３の機能が異なる点のみが異なる。したがって、重複する構成および機能の詳細な説明は繰返さない。なお、本実施の形態における潜在的スキューエラーチェック値抽出部の参照符号を１３”として説明する。
【００５５】
実施の形態３においては、内部イベント情報評価／伝播処理部１０’が全ての素子に対して潜在的スキューが発生しているか否かを判定した。本実施の形態においては、ユーザがキーボード２５、マウス２６などを用いて、任意のタイミング検証対象ピンを指定すると、タイミング検証スペック入力処理部５がそのタイミング検証対象ピンに遅延見積もり誤差によるタイミング検証を行なうピンであることを示す遅延見積もり誤差スキューフラグを設定する。
【００５６】
潜在的スキューエラーチェック値抽出部１３”は、遅延見積もり誤差スキューフラグが設定されたタイミング検証対象ピンから、他のタイミング検証対象素子の出力ピンまたは外部入力ピンまでバックトレースを行ない、バックトレースした経路上のノードに検証対象ノードフラグを設定する。
【００５７】
潜在的スキューエラーチェック値抽出部１３”は、回路シミュレータなどの他のタイミング検証装置によって予めタイミング検証された経路情報、または検証対象外経路に関する経路情報（検証対象外経路情報）を取得し、検証対象ノードフラグが付加されているノード中に検証済みノード（検証対象外のノード）が含まれる場合には、当該ノードに付加された検証対象ノードフラグを削除する。
【００５８】
内部イベント情報評価／伝播処理部１０’およびタイミング検証処理部１１’は、検証対象ノードフラグが設定されているノードを有する素子に対して、第３の実施の形態において説明した処理を実行する。
【００５９】
以上説明したように、本実施の形態におけるタイミング検証装置によれば、検証対象ノードフラグが設定されたノードを有する素子に対してタイミング検証を行なうようにしたので、タイミング検証が不要な素子を除外してタイミング検証が行なえるようになり、実施の形態３におけるタイミング検証装置よりもタイミング検証に要する時間をさらに削減することが可能となった。
【００６０】
今回開示された実施の形態は、すべての点で例示であって制限的なものではないと考えられるべきである。本発明の範囲は上記した説明ではなくて特許請求の範囲によって示され、特許請求の範囲と均等の意味および範囲内でのすべての変更が含まれることが意図される。
【００６１】
【発明の効果】
請求項１に記載のタイミング検証装置によれば、タイミング検証手段が、抽出手段によって抽出されたスキューによる信号変化のずれに基づいて、タイミング検証対象素子のタイミング検証を行なうので、実デバイスにおける信号の遅延時間が論理シミュレーションにおける遅延時間と異なる場合でも、タイミング検証を正確に行なうことが可能となった。また、複数の遅延情報を用いて論理シミュレーションを繰返し行なう必要がなくなるので、タイミング検証に要する時間を削減することが可能となった。
【００６２】
請求項２に記載のタイミング検証装置によれば、スキューによる信号変化のずれとして任意の値を設定することができ、ユーザの利便性を向上させることが可能となった。
【００６３】
請求項３に記載のタイミング検証装置によれば、スキューによる信号変化のずれを自動的に抽出することができ、タイミング検証を正確に行なうことが可能となった。
【００６４】
請求項４に記載のタイミング検証装置によれば、タイミング検証対象素子の入力ピンにおいて発生する可能性があるスキューを考慮して、タイミング検証を行なうことが可能となった。
【００６５】
請求項５に記載のタイミング検証装置によれば、タイミング検証対象外のノードのみを含んだ素子を、タイミング検証対象素子から除外することができ、タイミング検証に要する時間をさらに削減することが可能となった。
【００６６】
請求項６に記載のタイミング検証装置によれば、ユーザはタイミングエラーがスキューによる信号変化のずれによって発生したことを容易に認識することが可能となった。
【図面の簡単な説明】
【図１】本発明の第１の実施の形態におけるタイミング検証装置の構成例を示すブロック図である。
【図２】本発明の第１の実施の形態におけるタイミング検証装置の機能的構成を示すブロック図である。
【図３】本発明の第１の実施の形態におけるタイミング検証装置の処理手順を説明するためのフローチャートである。
【図４】実デバイスにおいて発生する誤動作を説明するための図である。
【符号の説明】
１　回路接続情報入力処理部、２　回路接続情報格納部、３　素子／配線遅延情報入力処理部、４　素子／配線遅延情報格納部、５　タイミング検証スペック入力処理部、６　タイミング検証スペック格納部、７　入力波形データ処理部、８　内部イベント情報格納部、９　外部入力ピン情報格納部、１０　内部イベント情報評価／伝播処理部、１１　タイミング検証処理部、１２　タイミングエラー出力処理部、１３　潜在的スキューエラーチェック値抽出部、２１　コンピュータ本体、２２　ディスプレイ装置、２３　ＦＤドライブ、２４　ＦＤ、２５　キーボード、２６　マウス、２７　ＣＤ−ＲＯＭ装置、２８　ＣＤ−ＲＯＭ、２９　ネットワーク通信装置、３０　ＣＰＵ、３１　ＲＯＭ、３２　ＲＡＭ、３３ハードディスク。
【図１】
2004070881.tif 000003
【図２】
2004070881.tif 000004
【図３】
2004070881.tif 000005
【図４】
2004070881.tif 000006