(57)【要約】【課題】あるノードにおける時間と出力状態との関係を示すシミュレーション結果と、あるノードの時間における出力状態の条件を指定する条件情報とを比較し判定すること。【解決手段】本発明に係るシミュレーション結果検証方法は、シミュレーション結果と条件情報とが一致するか判定することが可能になり、シミュレーション結果と閾値との関係を目視して検証する必要がなくなるために、検証時間の軽減化を図ることができ、目視による検証ミスを低く押さえることができる。【選択図】　図５
2004013595.tif 000002
【特許請求の範囲】
【請求項１】
半導体集積回路をシミュレーションすることにより得られた各ノードにおける時間と出力状態との関係を示すシミュレーション結果と、
あるノードの時間ｔ１〜ｔ２間における出力状態の条件を指定する条件情報とに基いて、
前記シミュレーション結果のうち前記あるノードの時間ｔ１〜ｔ２間における出力状態と前記条件情報の出力状態とが一致するか判定する、シミュレーション結果検証方法。
【請求項２】
前記出力状態は電圧であり、
前記シミュレーション結果における任意の時間ｔの前記電圧を
前記シミュレーション結果において実在する時間であって、前記時間ｔに前後し、かつ最も近接する時間ｔａ，ｔｂから求める、請求項１に記載のシミュレーション結果検証方法。
【請求項３】
前記出力状態は電圧であり、
前記シミュレーション結果における任意の時間ｔの前記電圧を、
次々にシミュレーション結果の時間Ｔを検索していき、
前記Ｔが時間ｔより大きくないときは前記時間ｔを時間情報ｔａと前記時間ｔにおける電圧を電圧情報Ｖａとを記憶し、
前記Ｔが前記ｔより大きいときは前記時間ｔを時間情報ｔｂと前記時間ｔにおける電圧を電圧情報Ｖｂとを記憶し、
前記ｔａとｔｂとＶａとＶｂとから求める、請求項１また請求項２に記載のシミュレーション結果検証方法。
【請求項４】
前記出力状態は電圧であり、
前記シミュレーション結果における任意の時間ｔの前記電圧を、
次々にシミュレーション結果の時間Ｔを検索していき、
前記Ｔが時間ｔ以上でないときは前記時間ｔを時間情報ｔａと前記時間ｔにおける電圧を電圧情報Ｖａとを記憶し、
前記Ｔが前記ｔ以上のときは時間情報ｔｂと電圧情報Ｖｂとを記憶し、
前記ｔａとｔｂとＶａとＶｂとから求める、請求項１また請求項３に記載のシミュレーション結果検証方法。
【請求項５】
前記シミュレーション結果における任意の時間ｔは、
前記シミュレーション結果の前記時間ｔ１〜ｔ２間に存在する全ての時間である、請求項１〜請求項４のいずれかに記載のシミュレーション結果検証方法。
【請求項６】
前記任意の時間ｔの電圧は
Ｖ＝（Ｖｂ―　Ｖａ／ｔｂ―ｔａ）×ｔ＋Ｖａ―（Ｖｂ―　Ｖａ／ｔｂ―ｔａ）×ｔａ
により求める、請求項１〜請求項５のいずれかに記載のシミュレーション結果検証方法。
【請求項７】
前記シミュレーション結果における任意の時間ｔが存在しないときに使用する、請求項１〜請求項６のいずれかに記載のシミュレーション結果検証方法。
【請求項８】
検証対象の回路のノードに対して、検証条件を入力する検証条件入力手段を有する、請求項１〜請求項７のいずれかに記載のシミュレーション結果検証方法。
【請求項９】
前記検証条件入力手段において、前記ノードはワイルドカードの指定ができる、請求項１〜請求項８のいずれかに記載のシミュレーション結果検証方法。
【請求項１０】
検証結果のフォーマットを指定する検証結果フォーマット指定手段を有する、請求項１〜請求項９のいずれかに記載のシミュレーション結果検証方法。
【請求項１１】
前記検証結果フォーマット指定手段において、前記フォーマットはＰＡＳＳ／ＦＡＩＬの指定ができる、請求項１〜請求項１０のいずれかに記載のシミュレーション結果検証方法。
【請求項１２】
前記検証結果フォーマット指定手段において、前記フォーマットはＦＡＩＬノード名の指定ができる、請求項１〜請求項１１のいずれかに記載のシミュレーション結果検証方法。
【請求項１３】
検証結果の出力先を指定する検証結果出力先指定手段を有する、請求項１〜請求項１２のいずれかに記載のシミュレーション結果検証方法。
【請求項１４】
前記検証結果出力先指定手段において、ＦＡＩＬノードの波形のエラー箇所をハイライト表示できる、請求項１〜請求項１３のいずれかに記載のシミュレーション結果検証方法。
【請求項１５】
半導体集積回路をシミュレーションすることにより得られた各ノードにおける時間と出力状態との関係を示すシミュレーション結果と、
あるノードの時間ｔ１〜ｔ２間における出力状態の条件を指定する条件情報と、
前記シミュレーション結果のうち前記あるノードの時間ｔ１〜ｔ２間における出力状態と前記条件情報の出力状態とが一致するか判定する、シミュレーション結果検証装置。
【請求項１６】
前記出力状態は電圧であり、
前記シミュレーション結果における任意の時間ｔの前記電圧を
前記時間ｔが前記シミュレーション結果において実在し、かつ最も近接する時間ｔａからｔｂに含まれるような、前記時間ｔａ，ｔｂから求める、請求項１５に記載のシミュレーション結果検証装置。
【請求項１７】
前記出力状態は電圧であり、
前記シミュレーション結果における任意の時間ｔの前記電圧を、
次々にシミュレーション結果の時間Ｔを検索していき、
前記Ｔが時間ｔより大きくないときは前記時間ｔを時間情報ｔａと前記時間ｔにおける電圧を電圧情報Ｖａとを記憶し、
前記Ｔが前記ｔより大きいときは時間情報ｔｂと電圧情報Ｖｂとを記憶し、
前記ｔａとｔｂとＶａとＶｂとから求める、請求項１５また請求項１６に記載のシミュレーション結果検証装置。
【請求項１８】
前記出力状態は電圧であり、
前記シミュレーション結果における任意の時間ｔの前記電圧を、
次々にシミュレーション結果の時間Ｔを検索していき、
前記Ｔが時間ｔ以上でないときは前記時間ｔを時間情報ｔａと前記時間ｔにおける電圧を電圧情報Ｖａとを記憶し、
前記Ｔが前記ｔ以上のときは時間情報ｔｂと電圧情報Ｖｂとを記憶し、
前記ｔａとｔｂとＶａとＶｂとから求める、請求項１５また請求項１６に記載のシミュレーション結果検証装置。
【請求項１９】
前記任意の時間ｔの電圧は
Ｖ＝（Ｖｂ―　Ｖａ／ｔｂ―ｔａ）×ｔ＋Ｖａ―（Ｖｂ―　Ｖａ／ｔｂ―ｔａ）×ｔａ
により求める、請求項１５〜請求項１８のいずれかに記載のシミュレーション結果検証装置。
【請求項２０】
前記シミュレーション結果における任意の時間ｔが存在しないときに使用する、請求項１５〜請求項１９のいずれかに記載のシミュレーション結果検証装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、半導体集積回路をシミュレーションし、得られたシミュレーション結果から半導体集積回路を検証するシミュレーション結果検証装置に関する。
【０００２】
【従来の技術】
近年、高性能、高集積ＬＳＩを実現するためには精度の高い回路設計を行うことが求められており、高精度な回路設計において回路シミュレーターが重要な役割を担っている。回路シミュレーターとは回路情報を示すネットリストを基にして、実際に製造されるＬＳＩを想定したシミュレーションを行うものである。
【０００３】
従来のＬＳＩのシミュレーションを図１に示す。回路シミュレーター１１０にネットリスト１０６、入力ベクタファイル１０７、閾値設定ファイル１０８、プロセスパラメーターライブラリ１０９の各々の情報を入力する。ネットリスト１０６はネットリスト出力ツール１０３を介して、回路構成に必要な素子を含んでいるトランジスタモデルライブラリ１０１の情報を有している。トランジスタモデルライブラリ１０１を図２（ａ）に示すが、トランジスタやインバーターなどが相当する。入力ベクタファイル１０７は図２（ｂ）に示すように回路の入力ノードに入力する電圧値を時間ごとに記述したものである。閾値設定ファイル１０８は図２（ｃ）に示すように検証対象のノードに対して閾値を設けることで視覚的に理解しやすい理論値に変換するものである。プロセスパラメーターライブラリ１０９はトランジスタ等の素子のプロセスばらつきを考慮したファイルを含んでいる。
【０００４】
回路シミュレーター１１０はシミュレーション結果を出力する。波形ビューワ１１２はシミュレーション結果を読みこんで表示する。図３に波形ビューワ１１２の画面を示す。Ｉ／Ｏ［０］とＩ／Ｏ［１］で表されているのが回路の入力ノードの波形であり、ＷＬ［０］とＳＬ［０］で表されているのが中間ノードの波形である。図３の波形ビューワは、３０１で表されるシミュレーション結果や、シミュレーション結果を閾値変換してやることにより得られた論理値３０２を表示する。図１において、１１３、１１４、１１５は波形ビューワ１１２の表示内容について目視で回路を検証する工程であり、１１６は目視での回路の検証が終了したことを示している。１１７は閾値設定ファイル１０８の閾値設定がＮＧだった場合や中間ノードに対して新たに閾値を設定する場合のやり直しを表している。
【０００５】
【発明が解決しようとする課題】
しかしながら、従来には以下のような問題があった。
【０００６】
図３の波形ビューワにおいて、設定された閾値はシミュレーション結果３０１を論理値３０２に変換するものにすぎず、あるノードにおける時間ｔ１〜ｔ２のシミュレーション結果３０１が所望するものになっているかを確かめることは目視にて確認するしかなかった。
【０００７】
本発明の目的は、上記のように、あるノードにおける時間と出力状態との関係を示すシミュレーション結果と、あるノードの時間における出力状態の条件を指定する条件情報とを比較し判定することを目的とする。
【０００８】
【課題を解決するための手段】
上記課題を解決する本発明に係るシミュレーション結果検証方法は、シミュレーション結果と条件情報とが一致するか判定することが可能になり、シミュレーション結果と閾値との関係を目視して検証する必要がなくなるために、検証時間の軽減化を図ることができ、目視による検証ミスを低く押さえることができる。
【０００９】
上記課題を解決する本発明に係る他のシミュレーション結果検証方法は、シミュレーション結果において実在する時間であって、時間ｔに前後し、かつ最も近接する時間ｔａからｔｂへの変化から予測することにより、シミュレーション結果における任意の時間ｔの電圧を求めることにより、実際に時間ｔが存在していなくても、時間ｔ１と時間ｔ２での電圧Ｖを求めることが出来る。
【００１０】
上記課題を解決する本発明に係る他のシミュレーション結果検証方法は、次々にシミュレーション結果の時間Ｔを検索していき、Ｔが時間ｔより大きくないときは時間ｔを時間情報ｔａと時間ｔにおける電圧を電圧情報Ｖａとを記憶し、Ｔが前記ｔより大きいときは時間ｔを時間情報ｔｂと時間ｔにおける電圧を電圧情報Ｖｂとを記憶する。実際にコンピューターを利用することにより、ｔａとｔｂとＶａとＶｂとを得ることができ、任意の時間ｔの電圧Ｖを求めることができる。
【００１１】
上記課題を解決する本発明に係る他のシミュレーション結果検証方法は、任意の時間ｔの電圧を
Ｖ＝（Ｖｂ―　Ｖａ／ｔｂ―ｔａ）×ｔ＋Ｖａ―（Ｖｂ―　Ｖａ／ｔｂ―ｔａ）×ｔａ
という近似式を用いることにより、近似値を求めることができる。
【００１２】
シミュレーション結果における任意の時間ｔが存在しないときに使用することによって、任意の時間ｔと時間Ｔが同じときは、近似値を求める必要がないので、早く結果を得ることができる。
【００１３】
【発明の実施の形態】
以下、本発明の実施の形態を図面と共に説明する。なお、本実施の形態において説明される構成要件のうち、従来の技術において説明した構成要件と同じ構成要件には同一の参照符号を付し、説明を省略している。
【００１４】
（実施の形態１）
本発明の実施の形態１に係る半導体集積回路をシミュレーションすることにより得られるシミュレーション結果を検証するためのシミュレーション結果検証方法について、図面を参照しながら説明する。図４に示すように１０１はＴｒ．モデルライブラリ、１０２は回路図入力エディタ、１０３はネットリスト出力ツール、１０４は入力ベクタファイル編集エディタ、１０６はネットリスト、１０７は入力ベクタファイル、１０９はプロセスパラメータライブラリ、１１０は回路シミュレーター、１１１はシミュレーション結果ファイル、１１６は目視での回路の検証が終了したことを示しており、これらは従来例の構成と同じである。
【００１５】
５０１はシミュレーション結果検証装置であり、その構成を図５に示す。シミュレーション結果検証装置５０１はシミュレーション結果ファイル１１１と、条件情報５０２とを有しており、シミュレーション結果ファイル１１１と条件情報５０２とを比較し、一致しているか表示を行う。結果ファイル１１１は、回路シミュレータ１１０でシミュレーションされたことにより得られた結果であり、出力情報として時間情報、電圧情報、電流情報およびノード名を有している。図６にシミュレーション結果ファイル１１１の中身を示す。図に示されるように、シミュレーション結果ファイルは、ノードにおける時間情報と電圧情報を一つづつ有している。
【００１６】
シミュレーション結果ファイル１１１と条件情報５０２との具体的な比較図を図７に示す。横軸に時間を、縦軸に電圧をとり、シミュレーション結果ファイル１１１は１１１１と表示される。ここで、条件情報５０２の時間を時間ｔ１〜時間ｔ２と設定し、条件情報５０２の電圧を電圧Ｖ１から電圧Ｖ２と設定すると、５０２１のように四角の図形で示される。上記の条件を入力した結果、四角の図形で表示されている条件情報５０２の範囲の中に、時間ｔ１〜時間ｔ２においてシミュレーション結果ファイル１１１の電圧Ｖがすべて含まれていれば、シミュレーション結果ファイル１１１と条件情報５０２とが条件を満たすと判定される。つまり、Ｖ１≦Ｖ≦Ｖ２という関係式が時間ｔ１〜時間ｔ２間で成立するならば、シミュレーション結果ファイル１１１と条件情報５０２とが条件を満たすと判定される。
【００１７】
逆に、四角の図形で表示されている条件情報５０２の範囲の中に時間ｔ１〜ｔ２において、シミュレーション結果ファイル１１１の電圧Ｖが一点でも含まれないのであれば、シミュレーション結果ファイル１１１と条件情報５０２とが条件を満たさないと判定される。つまり、シミュレーション結果ファイルの一点でも、Ｖ１≦Ｖ≦Ｖ２という関係式が時間ｔ１〜時間ｔ２間で成立しないのならば、シミュレーション結果ファイル１１１と条件情報５０２とが条件を満たさないと判定される。
【００１８】
条件情報５０２の時間を、時間ｔ１〜時間ｔ２で設定したが、それに対応するシミュレーション結果が存在しない可能性がある。つまり、ｔ１またはｔ２におけるシミュレーション結果が存在しない場合がある。そのときはシミュレーション結果１１１のｔ１またはｔ２の値が存在しないので、シミュレーション結果１１１と条件情報５０２とを一致するか判定することができなくなる。従って、このときは近似式を用いて、時間ｔ１およびｔ２における電圧Ｖの近似値を求める。以下、これを説明する。
【００１９】
図７の一部拡大図を図８に示す。このフローチャートを時間ｔ１について適応する。シミュレーション結果ファイル１１１において、時間ｔ１が存在しないときはシミュレーション結果において実在する時間であって、時間ｔに前後し、かつ最も近接する時間ｔａからｔｂへの変化から予測することにより、シミュレーション結果における任意の時間ｔの電圧を求める。
【００２０】
ここで、ｔａ、ｔｂ、Ｖａ、Ｖｂの認定の仕方をフローチャート図９を用いて説明する。シミュレーション結果の時間Ｔを次から次へと検索していき（Ｓ９１０）、時間Ｔが時間ｔ１より大きくないときは（Ｓ９１１）、時間Ｔにおける時間を時間ｔａと、時間ｔａにおける電圧をＶａとする（Ｓ９１２）。そして、時間ｔａより大きい次の時間Ｔを検索する（Ｓ９１０）。次の時間Ｔが検索されたら、その次の時間Ｔをｔａとし、ｔａにおける電圧をＶａとしなおす（Ｓ９１２）。そして、またさらに大きい時間Ｔを検索する（Ｓ９１０）。このように、次から次へと時間Ｔを検索していき（Ｓ９１０）、その時間Ｔをｔａと、ｔａにおける電圧をＶａとする（Ｓ９１２）。
【００２１】
そして、次の時間Ｔを検索していき（Ｓ９１０）、時間Ｔがｔ１より大きいときは（Ｓ９１１）、その時間Ｔをｔｂとし、ｔｂにおける電圧をＶｂとする（Ｓ９１３）。このように、　ｔａ、ｔｂ、Ｖａ、Ｖｂと決定してやり、下記の式
Ｖ＝（Ｖｂ―　Ｖａ／ｔｂ―ｔａ）×Ｔ＋Ｖａ―（Ｖｂ―　Ｖａ／ｔｂ―ｔａ）×ｔａ
を用いて（Ｓ９１４）、任意の時間ｔにおける電圧Ｖの近似値を求める。ここで、コンピューターを使用してｔａ、ｔｂの値をとることで、時間ｔ１が存在しないときでも、ｔ１より小さいながらもｔ１に一番近い値ｔａと、ｔ１より大きいながらもｔ１に一番近い値ｔｂと、ｔａにおける電圧Ｖａと、ｔｂにおける電圧Ｖｂとから時間ｔ１における電圧Ｖの近似値を求めることができる。具体的には、ｔａと、ｔｂとの２点の一次直線として近似して、近似値を求めている。
【００２２】
そして、図９に示されるように、求められたＶが予め設定された条件情報のＶ１より大きいか、つまりＶ１≦Ｖを満たすかどうか判定される（Ｓ９１５）。ここで、Ｖ１≦Ｖを満足しないと判定されたときは、条件を満たさないので、シミュレーション結果ファイル１１１と条件情報５０２とが条件を満たさないと判定される（Ｓ９１８）。Ｖ≦Ｖ１を満たすときは（Ｓ９１５）、Ｖはさらに条件情報で認定されたＶ２と比較され（Ｓ９１６）、Ｖ２≦Ｖを満足しないと判定されたときは、条件を満たさないので、シミュレーション結果ファイル１１１と条件情報５０２とが条件を満たさないと判定される（Ｓ９１８）。また、Ｖ２≧Ｖを満たすと判定されたら（Ｓ９１６）、シミュレーション結果ファイル１１１と条件情報５０２とが条件を満たすと判定される（Ｓ９１７）。
【００２３】
ここで、条件情報で設定されている時間ｔ２におけるｔａ、ｔｂ、Ｖａ、Ｖｂの認定の仕方をフローチャート図１０を用いて説明する。基本的にはｔ１の時と判定の仕方と同じである。シミュレーション結果の時間Ｔを次から次へと検索していき（Ｓ９１０）、Ｔにおける時間をｔａと、時間ｔａにおける電圧をＶａとする（Ｓ９１２）。そして、ｔａより大きい次の時間Ｔを検索する（Ｓ９１０）。次の時間Ｔが検索されたら、その次の時間Ｔをｔａとし、ｔａにおける電圧をＶａとしなおす（Ｓ９１２）。そして、またさらに大きい時間Ｔを検索する（Ｓ９１０）。このように、次から次へと時間Ｔを検索していき、その時間Ｔをｔａと、ｔａにおける電圧をＶａとする（Ｓ９１２）。
【００２４】
そして、次の時間Ｔを検索していき（Ｓ９１０）、時間Ｔがｔ２よりおおきくなったときは（Ｓ９１９）、その時間Ｔをｔｂとし、ｔｂにおける電圧をＶｂとする（Ｓ９１３）。このように、　ｔａ、ｔｂ、Ｖａ、Ｖｂと決定してやり、下記の式
Ｖ＝（Ｖｂ―　Ｖａ／ｔｂ―ｔａ）×Ｔ＋Ｖａ―（Ｖｂ―　Ｖａ／ｔｂ―ｔａ）×ｔａ
を用いて（Ｓ９１４）、任意の時間ｔにおける電圧Ｖの近似値を求める。そして、図９に示されるように、求められたＶが予め設定された条件情報の値のＶ１より大きいか、判定される（Ｓ９１５）。ここで、Ｖ１≦Ｖを満たさないときは、条件を満たさないので、シミュレーション結果ファイル１１１と条件情報５０２とが条件を満たさないと判定される（Ｓ９１８）。Ｖ≦Ｖ１を満たすときは、Ｖはさらに条件情報で認定されたＶ２と比較され（Ｓ９１６）、Ｖ２≦Ｖを満たさないときは、条件を満たさないので、シミュレーション結果ファイル１１１と条件情報５０２とが条件を満たさないと判定される（Ｓ９１８）。また、Ｖ≦Ｖ２と認定されたら（Ｓ９１６）、シミュレーション結果ファイル１１１と条件情報５０２とが条件を満たすと判定される（Ｓ９１７）。
【００２５】
次に、時間ｔ１から時間ｔ２の間に存在するシミュレーション結果が、条件情報で設定された電圧についてＶ１≦Ｖ≦Ｖ２を満たすかどうか考察する。それを図１１に示す。時間Ｔを検索していき（Ｓ９１０）、ｔ１＜Ｔを満たさないときは（Ｓ９１１）、また次のＴを検索する（Ｓ９１０）。なぜならば、求めたい条件に入っていないからである。時間Ｔがｔ１＜Ｔを満たしたときには（Ｓ９１１）、時間Ｔが時間ｔ２に対して、ｔ２＞Ｔを満たすかどうか判定する（Ｓ９２０）。Ｓ９１１のステップで示される条件を満たしているからである。ここで、時間ｔがｔ２＞Ｔと判定されたときは（Ｓ９２０）、電圧ＶがＶ１≦Ｖを満たすかどうか判定する（Ｓ９１５）。電圧ＶがＶ１≦Ｖを満たしていなければ、シミュレーション結果ファイル１１１と条件情報５０２とが条件を満たさないと判定される（Ｓ９１８）。Ｖ１≦Ｖを満たしていると判定されたときは（Ｓ９１５）、ＶはＶ２と比較される（Ｓ９１６）。Ｖ２≧Ｖを満たしていないときはシミュレーション結果ファイル１１１と条件情報５０２とが条件を満たさないと判定される（Ｓ９１８）。Ｖ２≧Ｖを満たしているときは次のＴを検索する（Ｓ９１０）。このようにして、時間ｔ１〜ｔ２に存在する全ての点について調べ、全ての点がこれらの条件を満たせば、シミュレーション結果ファイル１１１と条件情報５０２とが一致していることになる。
【００２６】
ｔ２＞Ｔを満たさないと判定されたときは（Ｓ９２０）、シミュレーション結果ファイル１１１と条件情報５０２とが条件を満たすと判定される（Ｓ９１７）。なぜならば、シミュレーション結果ファイル１１１と条件情報５０２とが条件を満たさないと判定されるものであるならば、先程の２工程にて、もうすでに条件を満たさないと判定されている。従って、ｔ２＞Ｔを満たさないときは（Ｓ９２０）、シミュレーション結果ファイル１１１と条件情報５０２とが条件を満たすと判定される。
【００２７】
今回はまず、ｔ１時の検索をし、次にｔ２時の検索をし、最後にｔ１〜ｔ２における点の検索をしたが、ｔ１時の検索、ｔ２時の検索、ｔ１＜ｔ＜ｔ２を満足するｔの検索をどの順番で検索しても構わない。ただ、ｔ１時の検索をし、次にｔ１＜ｔ＜ｔ２を満足するｔの検索をし、最後にｔ２時の検索をすれば効率がよい。なぜならば、たとえば、図７において、左側から検索していけば、効率よく検索できるからである。
【００２８】
また、図１２に示すように、本装置はシミュレーション結果読みこみ手段を有していても構わない。シミュレーション結果１１１を読みこむ手段である。
【００２９】
図１３に示すように、条件情報５０２は検証条件入力手段によって、決定される。図に示すようにディスプレイ上に検証条件を入力する画面を起動する。ノード名、時間ｔ１、時間ｔ２、電圧Ｖ１、電圧Ｖ２などを入力する。このとき、電流の値をいれても構わない。ここで入力された値に基づいて、図７において、四角が決定される。なお、ノード名はＷＬ［※］のようにワイルドカード指定が可能である。
【００３０】
図１４に検証結果フォーマット指定手段を示す。図のように、ディスプレイ上にフォーマット指定画面を起動する。フォーマットとしてＰＡＳＳ／ＦＡＩＬ、ＦＡＩＬノード名、およびＦＡＩＬノード波形の選択が可能である。
【００３１】
図１５に検証結果出力先指定手段について示す。図に示すように、ディスプレイ上に出力先を指定する画面を起動する。ディスプレイ、ファイル、いずれの選択も可能である。
【００３２】
図１６に検証結果出力手段を示す。検証結果出力指定手段でディスプレイを選択した場合、図に示すように検証結果フォーマット指定手段で選択したＰＡＳＳ／ＦＡＩＬ、ＦＡＩＬノード名、およびＦＡＩＬノード波形に対応する検証結果出力画面をそれぞれにディスプレイに表示する。ここで、ＦＡＩＬノード波形のエラー箇所を太字でハイライト表示する場合を考える。この場合、条件情報の時間がｔ０〜ｔ２であるとする。図７に示すように、ＦＡＩＬノード波形のエラー箇所を太字でハイライト表示することにより、エラー箇所が視覚的に理解しやすいという利点を持つ。
【００３３】
本実施の形態１においては、次々にシミュレーション結果の時間Ｔを検索していき、Ｔが時間ｔより大きくないときは時間ｔを時間情報ｔａと時間ｔにおける電圧を電圧情報Ｖａとを記憶し、Ｔが前記ｔより大きいときは時間ｔを時間情報ｔｂと時間ｔにおける電圧を電圧情報Ｖｂとを記憶する。従って、ｔａとｔｂとＶａとＶｂとから、実際にコンピューターを利用して、任意の時間ｔの電圧を求めることができる。従って、あるノードにおける時間と出力状態との関係を示すシミュレーション結果と、あるノードの時間における出力状態の条件を指定する条件情報とを比較し判定することが可能となり、その結果、検証時間を軽減し、目視での検証ミスを防止することができる。
【００３４】
次に実際の値を代入して具体的に考えてみる。まず、条件情報を入力する検証入力手段について考察する。図１７にそれを示す。ノード名をＷＬ［Ｚ］と、時間ｔ１を１５μｓと、時間ｔ２を４０μｓと、電圧Ｖ１を２．０と、電圧Ｖ２を７．０と入力する。図１８においてさらに詳しく説明する。先程入力した時間と電圧情報は５０２１と示される。図６に示される結果ファイル１１１のノードをＺと指定する。ここで、図６において、Ｚ以外のノードについて、図６では省略する。様々なノードごとに時間と電圧などの出力情報を有しているが、省略する。ノードＺにおける結果ファイル１１１を図１８に示すと１１１１のようになる。
【００３５】
ここで、図９および図１８を基にして考える。Ｔを次々と検索していく（Ｓ９１０）。Ｔが５のときは、１５＜５となり、ｔ１＜５を満たさないので、ｔａ＝５とし、図６からＶａ＝１．７とする（Ｓ９１２）。また次のＴを検索する（Ｓ９１０）。そして、次のＴは１０であった。Ｔが１０であるときは、１５＜１０となり、ｔ１＜１０を満たさないので、ｔａ＝１０とし、図６からＶａ＝２．２とする（Ｓ９１２）。そして、次のＴを検索する（Ｓ９１０）。次のＴが２０である。Ｔが２０であるので、１５＜２０となり、ｔ１＜２０の式を満たすので、ｔｂ＝２０、Ｖｂ＝３．７とする（Ｓ９１４）。
【００３６】
上記で求められた、ｔａ＝１０、Ｖａ＝２．２、ｔｂ＝２０、Ｖｂ＝３．７とＶ＝（Ｖｂ―　Ｖａ／ｔｂ―ｔａ）×Ｔ＋Ｖａ―（Ｖｂ―　Ｖａ／ｔｂ―ｔａ）×ｔａ
とから、Ｖを求める。つまり、ｔ１＝１５という点を基点として、ｔａ＝１０およびｔｂ＝２０という前後の２点から近似値を求める。このように、シミュレーション結果において実在する点で、かつｔ１＝１５という点に最も近接する時間ｔａ＝１０からｔｂ＝２０に含まれるような、前記時間から求めることができる。そして、上記の式を計算すると、Ｖ＝２．９５となる。
【００３７】
上記により求められたＶ＝２．９５が、電圧Ｖ１＝２．０に対して、Ｖ１≦Ｖの関係を満たすか判定する（Ｓ９１５）。２．９５は２．０より大きいので、Ｖ１≦Ｖの関係を満たす。従って、次にＶはＶ２との関係、Ｖ２≧Ｖの関係を満たすか判定する（Ｓ９１６）。電圧Ｖ２＝７．０であるから、Ｖ２≧Ｖの関係を満たす。よって、シミュレーション結果ファイル１１１と条件情報５０２とが条件を満たすと判定される（Ｓ９１７）。
【００３８】
次に、ｔ２においても同様のことをする。図１０を基に考える。Ｔを次々と検索していく（Ｓ９１０）。Ｔが３０のときは、４０＜３０となり、ｔ２＜３０を満たさないので、ｔａ＝３０とし、図６からＶａ＝４．４とする（Ｓ９１２）。また次のＴを検索する（Ｓ９１０）。そして、次のＴは４０であった。Ｔが４０であるときは、４０＜４０となり、ｔ１＜Ｔというを満たさないので、ｔａ＝４０とし、図６からＶａ＝４．８とする（Ｓ９１２）。そして、次のＴを検索する（Ｓ９１０）。次のＴが５０である。Ｔが５０であるので、４０＜５０となり、ｔ１＜５０の式を満たすので、ｔｂ＝５０、Ｖｂ＝５．０とする（Ｓ９１３）。
【００３９】
上記で求められた、ｔａ＝４０、Ｖａ＝４．８、ｔｂ＝５０、Ｖｂ＝５．０とＶ＝（Ｖｂ―　Ｖａ／ｔｂ―ｔａ）×Ｔ＋Ｖａ―（Ｖｂ―　Ｖａ／ｔｂ―ｔａ）×ｔａ
とから、Ｖを求める（Ｓ９１４）。計算すると、Ｖ＝４．８となる。上記により求められたＶ＝４．８が、電圧Ｖ１＝２．０に対して、Ｖ１≦Ｖの関係を満たすか判定する（Ｓ９１５）。４．８は２．０より大きいので、Ｖ１≦Ｖの関係を満たす（Ｓ９１５）。従って、Ｖ２との比較になる。つまりＶ２≧Ｖを判定する（Ｓ９１６）。７．０≧４．８となり、条件を満たすので、シミュレーション結果ファイル１１１と条件情報５０２とが条件を満たすと判定される（Ｓ９１７）。また、ｔ１からｔ２の間に存在するＴ＝２０とＴ＝３０がＶ１≦Ｖ≦Ｖ２を満たすかどうか考察する。Ｔ＝２０ときＶ＝３．７であるので、２．０≦３．７≦７．０を満たす。Ｔ＝３０のときＶ＝４．４であるので、２．０≦４．４≦７．０を満たす。このようにｔ１からｔ２に存在する全ての点において調べ、シミュレーション結果ファイル１１１と条件情報５０２とが条件を満たすと判定されたので、検証結果出力手段にＰＡＳＳと表示される（Ｓ９１７）。
【００４０】
（実施の形態２）
次に本発明における他の実施の形態２を説明する。本実施の形態２と上述した実施の形態１との間で異なる点は、本実施の形態２においては、図１９に示されるＳ９２１において、ｔ１とＴとの関係を「≦」としたことである。ｔ１＝Ｔを満たすときは、Ｓ９２１からＳ９１３へ移る。すなわち、ｔ１＝Ｔを満たすときであっても、ｔａ、ｔｂ、Ｖａ、Ｖｂおよび近似式からＶを求め、Ｖ１≦Ｖ≦Ｖ２の判定を行い結果を表示する。つまり、ｔ１＝Ｔを満たすときであっても、近似値を求めずにＶ１≦Ｖ≦Ｖ２の判定をするパスを有していない。これ以外については、特に説明しない限りは基本的には実施の形態１と同様である。
【００４１】
実際の値を代入して具体的に考えてみる。ｔ１については、実施の形態のときと同じであるので、ｔ２のときだけ考える。図１８および図１９を基に考える。Ｔを次々と検索していく。Ｔが３０のときは、４０≦３０となり、ｔ２≦３０を満たさないので、ｔａ＝３０とし、図６からＶａ＝４．４とする。また次のＴを検索する。そして、次のＴは４０であった。Ｔが４０であるときは、４０≦４０となり、ｔ２≦Ｔというを満たすので、ｔｂ＝４０とし、図６からＶａ＝４．８とする。
【００４２】
上記で求められた、ｔａ＝３０、Ｖａ＝４．４、ｔｂ＝４０、Ｖｂ＝４．８とＶ＝（Ｖｂ―　Ｖａ／ｔｂ―ｔａ）×Ｔ＋Ｖａ―（Ｖｂ―　Ｖａ／ｔｂ―ｔａ）×ｔａ
とから、Ｖを求める。計算すると、Ｖ＝４．８となる。次に、Ｖ１≦Ｖという条件を満たすか判断されるので、具体的な数値を入れると、２．０≦４．８となり、条件を満たす。従って、Ｖ２との比較になる。つまりＶ２≧Ｖを判定する。７．０≧４．８となり、条件を満たすので、シミュレーション結果ファイル１１１と条件情報５０２とが条件を満たすと判定される。従って、シミュレーション結果ファイル１１１と条件情報５０２とが条件を満たすと判定されたので、検証結果出力手段にＰＡＳＳと表示される。
【００４３】
以上のことより、実施の形態１で説明した結果と同じになった。つまり、図９のフローチャートを使用しようと、図１９のフローチャートを使用しようと同じ結果となる。
【００４４】
（実施の形態３）
次に本発明における他の実施の形態３を説明する。本実施の形態３と上述した実施の形態１との間で異なる点は、本実施の形態３においては、図２１に示されるように、任意の時間ｔとシミュレーション結果の時間Ｔが同じ時間であるときである。すなわち、ｔ＝Ｔを満たす場合である。
【００４５】
任意の時間ｔがｔ１のときを考える。時間Ｔがｔ１と同じとき、つまりＴ＝ｔ１というときについてを図２１に示す。Ｔ＝ｔ１のときは、ｔ１＜Ｔという条件は満たさない。従って、Ｔ＝ｔ１のときは、それ以上ｔの検索を行わずに、Ｔを決定する。Ｔが決定されれば、Ｖも決定されるので、そのＶがＶ１、Ｖ２との比較に入る。電圧ＶがＶ１≦Ｖを満たすかどうか判定する。電圧ＶがＶ１≦Ｖを満たしていなければ、シミュレーション結果ファイル１１１と条件情報５０２とが条件を満たさないと判定される。Ｖ１≦Ｖを満たしていると判定されたときは、ＶはＶ２と比較される。Ｖ２≧Ｖを満たしていないときはシミュレーション結果ファイル１１１と条件情報５０２とが条件を満たさないと判定される。Ｖ２≧Ｖを満たしているときはシミュレーション結果ファイル１１１と条件情報５０２とが条件を満たすと判定される。これ以外については、特に説明しない限りは基本的には実施の形態１と同様である。
【００４６】
ここで、実際の値を代入して考えてみる。図２１を参照する。ｔ１のときは実施の形態１と同じであるから、ｔ２のときを考える。Ｔを次々と検索していく。Ｔが３０のときは、４０＜３０となり、ｔ２＜３０を満たさないし、ｔ２＝ｔも満たさないので、ｔａ＝３０とし、図６からＶａ＝４．４とする。また次のＴを検索する。そして、次のＴは４０であった。Ｔが４０であるときは、４０＜４０となり、ｔ１＜Ｔというを満たさない。そして、ｔ２＝Ｔを満たすので、Ｔが４０のときは図６よりＶが４．８となる。Ｖ１≦Ｖという条件を満たすか判断されるので、具体的な数値を入れると、２．０≦４．８となり、条件を満たす。従って、Ｖ２との比較になる。つまりＶ２≧Ｖを判定する。７．０≧４．８となり、条件を満たすので、シミュレーション結果ファイル１１１と条件情報５０２とが条件を満たすと判定される。シミュレーション結果ファイル１１１と条件情報５０２とが条件を満たすと判定されたと判定されたときは、検証結果出力手段にＰＡＳＳと表示される。
【００４７】
つまり、時間Ｔがｔ１と同じとき、つまりＴ＝ｔ１というときは、ｔａ、ｔｂ，Ｖａ，Ｖｂと、
Ｖ＝（Ｖｂ―　Ｖａ／ｔｂ―ｔａ）×Ｔ＋Ｖａ―（Ｖｂ―　Ｖａ／ｔｂ―ｔａ）×ｔａ
とから、近似値を求めずに、Ｔと時間Ｔに対するＶを用いる。つまり、実在点が存在するときは実在点を用いる。このような方法をとってやると、近似値を求めなくていいので、早く結果を得ることができる。ただし、得られる結果は実施の形態１と同じである。
【００４８】
（実施の形態４）
次に本発明における他の実施の形態４を説明する。本実施の形態４と上述した実施の形態１との間で異なる点は、本実施の形態４においては、図２２に示されるように、任意の時間ｔとシミュレーション結果の時間Ｔが同じ時間であるときである。すなわち、ｔ＝Ｔを満たす場合である。
【００４９】
先程とは違ったパターンではあるが、時間Ｔがｔ１と同じとき、つまりＴ＝ｔ１というときについてを図２２に示す。Ｔを検索していき、ｔ１≦Ｔを満たさないときは、Ｔをｔａと、ＶをＶａとし、次のＴを検索する。ｔ１≦Ｔを満たすときは、Ｔがｔ１と等しいか判断される。ｔ１＝Ｔが満たされるときは、Ｔはｔ１と決定される。Ｔが決定されれば、Ｔに対するＶが決定される。先程と同じように、電圧ＶがＶ１≦Ｖを満たしていなければ、シミュレーション結果ファイル１１１と条件情報５０２とが条件を満たさないと判定される。Ｖ１≦Ｖを満たしていると判定されたときは、ＶはＶ２と比較される。Ｖ２≧Ｖを満たしていないときはシミュレーション結果ファイル１１１と条件情報５０２とが条件を満たさないと判定される。Ｖ２≧Ｖを満たしているときはシミュレーション結果ファイル１１１と条件情報５０２とが条件を満たすと判定される。
【００５０】
一方、ｔ１＝Ｔが満たされないときは、Ｔはｔｂと認定され、ＶはＶｂと認定される。先程、認定されたｔａとＶａと下記の式
Ｖ＝（Ｖｂ―　Ｖａ／ｔｂ―ｔａ）×Ｔ＋Ｖａ―（Ｖｂ―　Ｖａ／ｔｂ―ｔａ）×ｔａ
とを用いて、任意の時間ｔにおける電圧Ｖの近似値を求める。そして、図２１に示されるように、求められたＶが条件情報のＶ１より大きいか、判定される。ここで、Ｖ１≦Ｖを満たさないときは、条件を満たさないので、シミュレーション結果ファイル１１１と条件情報５０２とが条件を満たさないと判定される。Ｖ≦Ｖ１を満たすときは、Ｖはさらに条件情報で認定されたＶ２と比較され、Ｖ２≧Ｖを満たさないときは、条件を満たさないので、シミュレーション結果ファイル１１１と条件情報５０２とが条件を満たさないと判定される。また、Ｖ２≧Ｖ認定されたら、シミュレーション結果ファイル１１１と条件情報５０２とが条件を満たすと判定される。これ以外については、特に説明しない限りは基本的には実施の形態１と同様である。
【００５１】
ここで、実際の値を代入して考えてみる。図２２を参照する。ｔ１のときは実施の形態１と同じであるから、ｔ２のときを考える。Ｔを次々と検索していく。Ｔが３０のときは、４０≦３０となり、ｔ２≦３０を満たさないので、ｔａ＝３０とし、図６からＶａ＝４．４とする。また次のＴを検索する。そして、次のＴは４０であった。Ｔが４０であるときは、４０≦４０となり、ｔ１≦Ｔという条件を満たす。そして、ｔ２＝Ｔを満たすので、Ｔが４０のときは図６よりＶが４．８となる。次に、Ｖ１≦Ｖという条件を満たすか判断されるので、具体的な数値を入れると、２．０≦４．８となり、条件を満たす。従って、Ｖ２との比較になる。つまりＶ２≧Ｖを判定する。７．０≧４．８となり、条件を満たすので、シミュレーション結果ファイル１１１と条件情報５０２とが条件を満たすと判定される。シミュレーション結果ファイル１１１と条件情報５０２とが条件を満たすと判定されたときは、検証結果出力手段にて、ＰＡＳＳと表示される。
【００５２】
つまり、時間Ｔがｔ１と同じとき、つまりＴ＝ｔ１というときは、ｔａ、ｔｂ，Ｖａ，Ｖｂと、
Ｖ＝（Ｖｂ―　Ｖａ／ｔｂ―ｔａ）×Ｔ＋Ｖａ―（Ｖｂ―　Ｖａ／ｔｂ―ｔａ）×ｔａ
とから、近似値を求めずに、Ｔと時間Ｔに対するＶを用いる。つまり、実在点が存在するときは実在点を用いる。また、この方法により、近似値を求めなくていいことから、結果を早く得ることが可能となる。ただし、得られる結果は実施の形態１と同じである。
【００５３】
（実施の形態５）
次に本発明における他の実施の形態５を説明する。本実施の形態５と上述した実施の形態１との間で異なる点は、本実施の形態５においては、図２３のＳ９２３に示されるように、「Ｔ＝ｔ１」のチェックを最初にすることである。これ以外については、特に説明しない限りは基本的には実施の形態１と同様である。
【００５４】
実際の値を代入して考えてみる。図２３を参照する。ｔ１のときは実施の形態１と同じであるから、ｔ２のときを考える。Ｔを次々と検索していく。Ｔが３０のときは、ｔ２＝Ｔを満たさないので、ｔ２＜Ｔを考える。４０＜３０となり、ｔ２＜３０を満たさないので、ｔａ＝３０とし、図６からＶａ＝４．４とする。また次のＴを検索する。そして、次のＴは４０であった。Ｔが４０であるときは、ｔ２＝Ｔとなる。つまり、４０＝４０となり、ｔ２＝Ｔという条件を満たす。Ｔが４０のときは図６よりＶが４．８となる。従って、Ｖ１≦Ｖという条件を満たすか判断されるので、具体的な数値を入れると、２．０≦４．８となり、条件を満たす。従って、Ｖ２との比較になる。つまりＶ２≧Ｖを判定する。７．０≧４．８となり、条件を満たすので、シミュレーション結果ファイル１１１と条件情報５０２とが条件を満たすと判定される。シミュレーション結果ファイル１１１と条件情報５０２とが条件を満たすと判定されたときは検証結果出力手段にて、ＰＡＳＳと表示される。
【００５５】
つまり、時間Ｔがｔ１と同じとき、つまりＴ＝ｔ１というときは、ｔａ、ｔｂ，Ｖａ，Ｖｂと、
Ｖ＝（Ｖｂ―　Ｖａ／ｔｂ―ｔａ）×Ｔ＋Ｖａ―（Ｖｂ―　Ｖａ／ｔｂ―ｔａ）×ｔａ
とから、近似値を求めずに、Ｔと時間Ｔに対するＶを用いる。つまり、実在点が存在するときは実在点を用いる。この方法を用いることによって、近似値を求めなくていいので、結果を早く得ることが可能となる。ただし得られる結果は実施の形態１と同じである。
【００５６】
【発明の効果】
本発明により、あるノードにおける時間と出力状態との関係を示すシミュレーション結果と、あるノードの時間における出力状態の条件を指定する条件情報とを比較し判定することができるようになった。
【図面の簡単な説明】
【図１】従来のシミュレーション結果検証装置の構成を示すブロック図
【図２】（ａ）Ｔｒ．モデルライブラリの内容を示す図
（ｂ）入力ベクタファイルの内容を示す図
（ｃ）閾値設定ファイルの内容を示す図
【図３】波形ビューワ画面の内容を示す図
【図４】本発明のシミュレーション結果検証装置の構成を示すブロック図
【図５】本発明のシミュレーション結果検証装置を示す図
【図６】本発明の結果ファイルを示す図
【図７】シミュレーション結果と条件情報との比較を表す図
【図８】図７の拡大図
【図９】本発明の実施の形態１を示すフローチャート
【図１０】本発明の実施の形態１を示すフローチャート
【図１１】本発明の実施の形態１を示すフローチャート
【図１２】シミュレーション結果入力画面の内容を示す図
【図１３】検証条件入力画面の内容を示す図
【図１４】フォーマット指定画面の内容を示す図
【図１５】出力先指定画面の内容を示す図
【図１６】検証結果出力画面の内容を示す図
【図１７】検証条件入力画面の内容を示す図
【図１８】シミュレーション結果と条件情報との比較を表す図
【図１９】本発明の実施の形態２を示すフローチャート
【図２０】本発明の実施の形態２を示すフローチャート
【図２１】本発明の実施の形態３を示すフローチャート
【図２２】本発明の実施の形態４を示すフローチャート
【図２３】本発明の実施の形態５を示すフローチャート
【図２４】シミュレーション結果と条件情報との比較を表す図
【符号の説明】
１０１：Ｔｒ．モデルライブラリ
１０２：回路図入力エディタ
１０３：ネットリスト出力ツール
１０４：入力ベクタファイル編集エディタ
１０５：閾値設定ファイル編集エディタ
１０６：ネットリスト
１０７：入力ベクタファイル
１０８：閾値設定ファイル
１０９：プロセスパラメータライブラリ
１１０：回路シミュレータ
１１１：シミュレーション結果ファイル
１１２：波形ビューワ
１１３：入力ベクタ
１１４：閾値設定
１１５：検証結果
１１６：検証終了
３０１：シミュレーション結果
３０２：論理値
５０１：シミュレーション結果検証装置
５０２：条件情報
５０２１：条件情報
１１１１：シミュレーション結果
６０１：シミュレーション結果読込手段
６０２：検証条件入力手段
６０３：検証結果フォーマット指定手段
６０４：検証結果出力先指定手段
６０６：検証結果出力手段
ｔ：任意の時間
ｔ１：あるノードの時間
ｔ２：あるノードの時間
ｔａ：時間
ｔｂ：時間
Ｔ：時間
Ｖａ：電圧
Ｖｂ：電圧
【図１】
2004013595.tif 000003
【図２】
2004013595.tif 000004
【図３】
2004013595.tif 000005
【図４】
2004013595.tif 000006
【図５】
2004013595.tif 000007
【図６】
2004013595.tif 000008
【図７】
2004013595.tif 000009
【図８】
2004013595.tif 000010
【図９】
2004013595.tif 000011
【図１０】
2004013595.tif 000012
【図１１】
2004013595.tif 000013
【図１２】
2004013595.tif 000014
【図１３】
2004013595.tif 000015
【図１４】
2004013595.tif 000016
【図１５】
2004013595.tif 000017
【図１６】
2004013595.tif 000018
【図１７】
2004013595.tif 000019
【図１８】
2004013595.tif 000020
【図１９】
2004013595.tif 000021
【図２０】
2004013595.tif 000022
【図２１】
2004013595.tif 000023
【図２２】
2004013595.tif 000024
【図２３】
2004013595.tif 000025
【図２４】
2004013595.tif 000026