(57)【特許請求の範囲】
【請求項１】
ディジタルＬＳＩ回路の論理シミュレーションの２値シミュレーションを実行する方法であって、回路及びテストベンチ情報を入力とし、前記回路及びテストベンチ情報中に信号線の不定状態に関する回路及びテストベンチ情報を検索する第１のステップと、検索された前記信号線の不定状態に関する回路及びテストベンチ情報を抽出し出力する第２のステップと、前記回路及びテストベンチ情報より、２値シミュレーションモデルを生成する第３のステップと、前記２値シミュレーションモデルに基づき２値シミュレーションを実行する第４のステップとを含む論理シミュレーション方法。
【請求項２】
ディジタルＬＳＩ回路の論理シミュレーションの２値シミュレーションを実行する方法であって、回路及びテストベンチ情報を入力とし、前記回路及びテストベンチ情報中に信号線の不定状態に関する回路及びテストベンチ情報を検索する第１のステップと、検索された前記信号線の不定状態に関する回路及びテストベンチ情報を抽出し出力する第２のステップと、前記回路及びテストベンチ情報と、前記不定状態に関する回路及びテストベンチ情報より、不定状態に関する回路及びテストベンチを、回路及びテストベンチの記述を同じ機能で異なる記述となるように、不定状態を含まない等価な回路及びテストベンチに置換して、２値シミュレーションモデルを生成する第３のステップと、前記２値シミュレーションモデルに基づき２値シミュレーションを実行する第４のステップとを含む論理シミュレーション方法。
【請求項３】
ディジタルＬＳＩ回路の論理シミュレーションの２値シミュレーションを実行する方法であって、回路及びテストベンチ情報を入力とし、前記回路及びテストベンチ情報中に信号線の不定状態に関する回路及びテストベンチ情報を検索する第１のステップと、検索された前記信号線の不定状態に関する回路及びテストベンチ情報を抽出し出力する第２のステップと、前記回路及びテストベンチ情報と、前記不定状態に関する回路及びテストベンチ情報より、不定状態に関する回路及びテストベンチについて、不定状態を判定する信号線を追加し、かつ不定状態を含まない等価な回路及びテストベンチに置換して、２値シミュレーションモデルを生成する第３のステップと、前記２値シミュレーションモデルに基づき２値シミュレーションを実行する第４のステップとを含む論理シミュレーション方法。
【請求項４】
ディジタルＬＳＩ回路の論理シミュレーションの２値シミュレーションを実行する方法であって、回路及びテストベンチ情報を入力とし、前記回路及びテストベンチ情報中に信号線の未初期化及び不定値の入力に関する回路及びテストベンチ情報を検索する第１のステップと、検索された前記信号線の未初期化及び不定値の入力に関する回路及びテストベンチ情報を抽出し出力する第２のステップと、前記回路及びテストベンチ情報より、２値シミュレーションモデルを生成する第３のステップと、前記２値シミュレーションモデルに基づき２値シミュレーションを実行する第４のステップとを含む論理シミュレーション方法。
【請求項５】
ディジタルＬＳＩ回路の論理シミュレーションの２値シミュレーションを実行する方法であって、回路及びテストベンチ情報を入力とし、前記回路及びテストベンチ情報中に信号線の未初期化及び不定値の入力に関する回路及びテストベンチ情報を検索する第１のステップと、検索された前記信号線の未初期化及び不定値の入力に関する回路及びテストベンチ情報を抽出し出力する第２のステップと、前記回路及びテストベンチ情報と、前記信号線の未初期化及び不定値の入力に関する回路及びテストベンチ情報より、前記未初期化及び不定値の入力がされる信号線の初期値を、前記未初期化及び不定値の入力がされる信号線が回路及びテストベンチ中に値として定義されていない値に決定し、２値シミュレーションモデルを生成する第３のステップと、前記２値シミュレーションモデルに基づき２値シミュレーションを実行する第４のステップとを含む論理シミュレーション方法。
【請求項６】
ディジタルＬＳＩ回路の論理シミュレーションの２値シミュレーションを実行する方法であって、回路及びテストベンチ情報を入力とし、前記回路及びテストベンチ情報中に信号線の未初期化及び不定値の入力、及び不定状態に関する回路及びテストベンチ情報を検索する第１のステップと、検索された前記信号線の未初期化及び不定値の入力、及び不定状態が伝播する回路及びテストベンチ中の信号線情報を抽出し出力する第２のステップと、前記回路及びテストベンチ情報より、２値シミュレーションモデルを生成する第３のステップと、前記２値シミュレーションモデルに基づき２値シミュレーションを実行する第４のステップとを含む論理シミュレーション方法。
【請求項７】
ディジタルＬＳＩ回路の論理シミュレーションの２値シミュレーションを実行する方法であって、回路及びテストベンチ情報を入力とし、前記回路及びテストベンチ情報中に記憶素子に関する回路及びテストベンチ情報を検索する第１のステップと、検索された記憶素子に関する回路及びテストベンチ情報を抽出し出力する第２のステップと、前記回路及びテストベンチ情報と、前記記憶素子に関する回路及びテストベンチ情報より、記憶素子の初期化がされたかどうか判定する信号線を追加し、２値シミュレーションモデルを生成する第３のステップと、前記２値シミュレーションモデルに基づき２値シミュレーションを実行する第４のステップとを含む論理シミュレーション方法。
【請求項８】
ディジタルＬＳＩ回路の論理シミュレーションの２値シミュレーションを実行する装置であって、回路及びテストベンチ情報を入力とし、前記回路及びテストベンチ情報中に信号線の不定状態に関する回路及びテストベンチ情報を検索し、検索された前記信号線の不定状態に関する回路及びテストベンチ情報を抽出し出力する手段と、前記回路及びテストベンチ情報より、２値シミュレーションモデルを生成する手段と、前記２値シミュレーションモデルに基づき２値シミュレーションを実行する手段を具備した論理シミュレーション装置。
【請求項９】
ディジタルＬＳＩ回路の論理シミュレーションの２値シミュレーションを実行する装置であって、回路及びテストベンチ情報を入力とし、前記回路及びテストベンチ情報中に信号線の不定状態に関する回路及びテストベンチ情報を検索し、検索された前記信号線の不定状態に関する回路及びテストベンチ情報を抽出し出力する手段と、不定状態に関する回路及びテストベンチを不定状態を含まない等価な回路及びテストベンチに置換するための方法および置換優先度を置換規約ライブラリとして具備し、前記回路及びテストベンチ情報と、前記不定状態に関する回路及びテストベンチ情報より、２値シミュレーションモデルを生成する手段と、前記２値シミュレーションモデルに基づき２値シミュレーションを実行する手段を具備した論理シミュレーション装置。
【請求項１０】
ディジタルＬＳＩ回路の論理シミュレーションの２値シミュレーションを実行する装置であって、回路及びテストベンチ情報を入力とし、前記回路及びテストベンチ情報中に信号線の未初期化及び不定値の入力に関する回路及びテストベンチ情報を検索し、検索された前記信号線の未初期化及び不定値の入力に関する回路及びテストベンチ情報を抽出し出力する手段と、前記回路及びテストベンチ情報より、２値シミュレーションモデルを生成する手段と、前記２値シミュレーションモデルに基づき２値シミュレーションを実行する手段を具備した論理シミュレーション装置。
【請求項１１】
ディジタルＬＳＩ回路の論理シミュレーションの２値シミュレーションを実行する装置であって、回路及びテストベンチ情報を入力とし、前記回路及びテストベンチ情報中に信号線の未初期化及び不定値の入力に関する回路及びテストベンチ情報を検索し、検索された前記信号線の未初期化及び不定値の入力に関する回路及びテストベンチ情報を抽出し出力する手段と、信号線の未初期化及び不定値の入力に関する回路及びテストベンチについて未初期化及び不定値の入力がされる信号線の初期値を決定する方法および決定優先度を初期化規約ライブラリとして具備し、前記回路及びテストベンチ情報と、前記信号線の未初期化及び不定値の入力に関する回路及びテストベンチ情報より、２値シミュレーションモデルを生成する手段と、前記２値シミュレーションモデルに基づき２値シミュレーションを実行する手段を具備した論理シミュレーション装置。
【請求項１２】
ディジタルＬＳＩ回路の論理シミュレーションの２値シミュレーションを実行する装置であって、回路及びテストベンチ情報を入力とし、前記回路及びテストベンチ情報中に信号線の未初期化及び不定値の入力、及び不定状態に関する回路及びテストベンチ情報を検索し、検索された前記信号線の未初期化及び不定値の入力、及び不定状態が伝播する回路及びテストベンチ中の信号線情報を抽出し出力する手段と、前記回路及びテストベンチ情報より、２値シミュレーションモデルを生成する手段と、前記２値シミュレーションモデルに基づき２値シミュレーションを実行する手段を具備した論理シミュレーション装置。
【請求項１３】
ディジタルＬＳＩ回路の論理シミュレーションの２値多値混在シミュレーションを実行する装置であって、回路及びテストベンチ情報を入力とし、前記回路及びテストベンチ情報中に信号線の未初期化及び不定値の入力、及び不定状態に関する回路及びテストベンチ情報を検索し、検索された前記信号線の未初期化及び不定値の入力、及び不定状態が伝播する回路及びテストベンチ中の信号線情報を抽出し出力する手段と、シミュレータ毎の２値多値混在シミュレーションを行う設定方法を多値指定規約ライブラリとして具備し、前記回路及びテストベンチ情報と、前記信号線の未初期化及び不定値の入力、及び不定状態が伝播する回路及びテストベンチ中の信号線情報より、２値多値混在シミュレーションモデルを生成する手段と、前記２値多値混在シミュレーションモデルに基づき２値多値混在シミュレーションを実行する手段を具備した論理シミュレーション装置。
【請求項１４】
ディジタルＬＳＩ回路の論理シミュレーションの２値シミュレーションを実行する装置であって、回路及びテストベンチ情報を入力とし、前記回路及びテストベンチ情報中に記憶素子に関する回路及びテストベンチ情報を検索し、検索された前記記憶素子に関する回路及びテストベンチ情報を抽出し出力する手段と、前記回路及びテストベンチ情報と、前記記憶素子に関する回路及びテストベンチ情報より、記憶素子の初期化がされたかどうか判定する信号線を追加し、２値シミュレーションモデルを生成する手段と、前記２値シミュレーションモデルに基づき２値シミュレーションを実行する手段を具備した論理シミュレーション装置。
【請求項１５】
ディジタルＬＳＩ回路の論理シミュレーションの並列２値シミュレーションを実行する装置であって、回路及びテストベンチ情報を入力とし、前記回路及びテストベンチ情報中に信号線の未初期化及び不定値の入力に関する回路及びテストベンチ情報を検索し、検索された前記信号線の未初期化及び不定値の入力に関する回路及びテストベンチ情報を抽出し出力する手段と、前記未初期化及び不定値の入力がされる信号線に対し、全て「０」、全て「１」、及び少なくとも一通りのランダムに「０」か「１」に指定する少なくとも三通りの前記信号線の初期値を生成する手段と、前記回路及びテストベンチ情報と、前記信号線の未初期化及び不定値の入力に関する回路及びテストベンチ情報と、少なくとも三通りの前記信号線の初期値より、少なくとも三通りのシミュレーションを並列で行う、並列２値シミュレーションモデルを生成する手段と、前並列２値シミュレーションモデルに基づき並列２値シミュレーションを実行する手段と、前記回路及びテストベンチ情報と、前記並列２値シミュレーションの結果より、各シミュレーションの結果の不一致箇所を解析し、解析結果として出力し、また前記並列２値シミュレーションの実行を制御する手段を具備した論理シミュレーション装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、ディジタルＬＳＩ回路設計、特にハードウェア記述言語によって設計されるディジタルＬＳＩ回路の論理シミュレーションを「０」と「１」の２値で行なう論理シミュレーション方法及び装置に関する。
【０００２】
【従来の技術】
計算機を用いたディジタルＬＳＩ回路設計のＤＡシステムにおいて、ＶｅｒｉｌｏｇＨＤＬやＶＨＤＬなどのハードウェア記述言語による回路設計が行なわれている。ここで、ディジタル回路においては、信号値を「０」、「１」、「ｘ」、「ｚ」で表し、「０」は電圧ロウ状態、「１」は電圧ハイ状態、「ｘ」は不定状態もしくは不定値、「ｚ」はハイインピーダンス状態を示す。設計されたディジタルＬＳＩ回路の論理の検証として、ソフトウエアシミュレータによる回路動作の検証が行なわれており、「０」、「１」のみを扱う２値シミュレーションや、「０」、「１」に加えて「ｘ」や「ｚ」を含めた多値シミュレーションが行なわれている。ソフトウエアシミュレータにより回路動作の検証を行なうためには、設計した回路データと回路を動作させるテストベンチが必要であり、これによりディジタルＬＳＩ回路の論理シミュレーションを実行する。今日、シミュレーション速度向上のため、シミュレーション速度が高速な２値シミュレーション及び一部の信号線のみ多値として扱う２値多値混在シミュレーションが頻繁に行なわれるようになってきている。ただし、２値シミュレーションは、不定状態を扱うことができないため、不定値に関連した回路に対しては多値シミュレーションとシミュレーション結果が一致しないことがあるという問題がある。
【０００３】
２値シミュレーションを行なう場合、図２７に示すように、従来の論理シミュレーション方法は、シミュレーションデータとして、回路及びテストベンチ情報を入力とし、入力されたシミュレーションデータ中に不定値「ｘ」があるかどうか判定するステップ１００と、不定値「ｘ」を「０」または「１」に置き換え、２値シミュレーションモデルを生成するステップ１１０と、２値シミュレーションを実行するステップ１２０からなっている。
【０００４】
また、図２８に示すように、従来の論理シミュレーション装置は、回路情報３００とテストベンチ情報３１０を入力とし、シミュレーションモデル情報３３０を出力する２値シミュレーション生成手段３２０と、２値シミュレーションモデル情報３３０を入力とし２値シミュレーションを実行し、結果３５０を出力する２値シミュレーション手段３４０からなっている。
【０００５】
ここで、ハードウェア記述言語の一つであるＶｅｒｉｌｏｇＨＤＬにより記述された回路及びテストベンチの２値シミュレーションの具体例を図２９に示す。まず、不定値に関係する回路記述３０１とテストベンチ３１１を読み込んで解析し、その中の不定値「ｘ」を「０」か「１」に置換し、２値シミュレーションモデル３３１を作成する。
【０００６】
【発明が解決しようとする課題】
従来の論理シミュレーション方法及び装置では、不定値を回路動作を考慮せずに「ｘ」を「０」または「１」に置き換えるために、回路動作が設計者の意図と異なり、シミュレーション結果が期待値と一致しない場合があるという問題があった、また、不定値「ｘ」に関係する記述情報が外部に出力されないため、期待値と一致しない場合の回路のデバッグが困難という問題があった。
【０００７】
したがって、この発明の目的は、不定状態を扱えない２値シミュレータでシミュレーションする場合でも、回路動作の異常箇所の特定、及び回路動作のデバッグに貢献する論理シミュレーションを可能とする論理シミュレーション方法および装置を提供することである。
【０００８】
【課題を解決するための手段】
請求項１記載の論理シミュレーション方法は、ディジタルＬＳＩ回路の論理シミュレーションの２値シミュレーションを実行する方法であって、回路及びテストベンチ情報を入力とし、回路及びテストベンチ情報中に信号線の不定状態に関する回路及びテストベンチ情報を検索する第１のステップと、検索された信号線の不定状態に関する回路及びテストベンチ情報を抽出し出力する第２のステップと、回路及びテストベンチ情報より、２値シミュレーションモデルを生成する第３のステップと、２値シミュレーションモデルに基づき２値シミュレーションを実行する第４のステップとを含むものである。
【０００９】
請求項１記載の論理シミュレーション方法によれば、ディジタルＬＳＩ回路の論理シミュレーションを２値で実行する場合において、シミュレーションデータとして入力された回路及びテストベンチ情報に、不定値「ｘ」に関係する情報があるかどうか検索し、検索結果を出力する論理シミュレーション方法を提供することができ、２値シミュレーション時に問題となる多値と２値のシミュレーションで期待値が異なる可能性のある不定値「ｘ」に関係する記述を自動的に把握できる。
【００１０】
請求項２記載の論理シミュレーション方法は、ディジタルＬＳＩ回路の論理シミュレーションの２値シミュレーションを実行する方法であって、回路及びテストベンチ情報を入力とし、回路及びテストベンチ情報中に信号線の不定状態に関する回路及びテストベンチ情報を検索する第１のステップと、検索された信号線の不定状態に関する回路及びテストベンチ情報を抽出し出力する第２のステップと、回路及びテストベンチ情報と、不定状態に関する回路及びテストベンチ情報より、不定状態に関する回路及びテストベンチを、回路及びテストベンチの記述を同じ機能で異なる記述となるように、不定状態を含まない等価な回路及びテストベンチに置換して、２値シミュレーションモデルを生成する第３のステップと、２値シミュレーションモデルに基づき２値シミュレーションを実行する第４のステップとを含むものである。
【００１１】
請求項２記載の論理シミュレーション方法によれば、ディジタルＬＳＩ回路の論理シミュレーションを２値で実行する場合において、シミュレーションデータとして入力された回路及びテストベンチ情報に、不定値「ｘ」に関係する情報があるかどうか検索し、該当する回路記述があれば、不定値「ｘ」を用いない回路記述に置換する論理シミュレーション方法を提供することができ、多値と等価な２値シミュレーションを自動的に行うことができる。
【００１２】
請求項３記載の論理シミュレーション方法は、ディジタルＬＳＩ回路の論理シミュレーションの２値シミュレーションを実行する方法であって、回路及びテストベンチ情報を入力とし、回路及びテストベンチ情報中に信号線の不定状態に関する回路及びテストベンチ情報を検索する第１のステップと、検索された信号線の不定状態に関する回路及びテストベンチ情報を抽出し出力する第２のステップと、回路及びテストベンチ情報と、不定状態に関する回路及びテストベンチ情報より、不定状態に関する回路及びテストベンチについて、不定状態を判定する信号線を追加し、かつ不定状態を含まない等価な回路及びテストベンチに置換して、２値シミュレーションモデルを生成する第３のステップと、２値シミュレーションモデルに基づき２値シミュレーションを実行する第４のステップとを含むものである。
【００１３】
請求項３記載の論理シミュレーション方法によれば、ディジタルＬＳＩ回路の論理シミュレーションを２値で実行する場合において、シミュレーションデータとして入力された回路及びテストベンチ情報に、不定値「ｘ」に関係する情報があるかどうか検索し、該当する回路記述があれば、不定か不定でないかを判定するフラグを用いた回路記述に置換する論理シミュレーション方法を提供することができる。
【００１４】
請求項４記載の論理シミュレーション方法は、ディジタルＬＳＩ回路の論理シミュレーションの２値シミュレーションを実行する方法であって、回路及びテストベンチ情報を入力とし、回路及びテストベンチ情報中に信号線の未初期化及び不定値の入力に関する回路及びテストベンチ情報を検索する第１のステップと、検索された信号線の未初期化及び不定値の入力に関する回路及びテストベンチ情報を抽出し出力する第２のステップと、回路及びテストベンチ情報より、２値シミュレーションモデルを生成する第３のステップと、２値シミュレーションモデルに基づき２値シミュレーションを実行する第４のステップとを含むものである。
【００１５】
請求項４記載の論理シミュレーション方法によれば、ディジタルＬＳＩ回路の論理シミュレーションを２値で実行する場合において、シミュレーションデータとして入力された回路及びテストベンチ情報に、初期化されていない入力信号線、もしくは不定値「ｘ」が初期値として入力される回路記述を検索し、検索結果を出力する論理シミュレーション方法を提供することができる。
【００１６】
請求項５記載の論理シミュレーション方法は、ディジタルＬＳＩ回路の論理シミュレーションの２値シミュレーションを実行する方法であって、回路及びテストベンチ情報を入力とし、回路及びテストベンチ情報中に信号線の未初期化及び不定値の入力に関する回路及びテストベンチ情報を検索する第１のステップと、検索された信号線の未初期化及び不定値の入力に関する回路及びテストベンチ情報を抽出し出力する第２のステップと、回路及びテストベンチ情報と、信号線の未初期化及び不定値の入力に関する回路及びテストベンチ情報より、未初期化及び不定値の入力がされる信号線の初期値を、未初期化及び不定値の入力がされる信号線が回路及びテストベンチ中に値として定義されていない値に決定し、２値シミュレーションモデルを生成する第３のステップと、２値シミュレーションモデルに基づき２値シミュレーションを実行する第４のステップとを含むものである。
【００１７】
請求項５記載の論理シミュレーション方法によれば、ディジタルＬＳＩ回路の論理シミュレーションを２値で実行する場合において、シミュレーションデータとして入力された回路及びテストベンチ情報に、初期化されていない入力信号線、もしくは不定値が入力される回路記述を検索し、該当する回路記述があれば、該当する回路記述からその入力値（初期値）を「０」か「１」に決定する論理シミュレーション方法を提供することができる。
【００１８】
請求項６記載の論理シミュレーション方法は、ディジタルＬＳＩ回路の論理シミュレーションの２値シミュレーションを実行する方法であって、回路及びテストベンチ情報を入力とし、回路及びテストベンチ情報中に信号線の未初期化及び不定値の入力、及び不定状態に関する回路及びテストベンチ情報を検索する第１のステップと、検索された信号線の未初期化及び不定値の入力、及び不定状態が伝播する回路及びテストベンチ中の信号線情報を抽出し出力する第２のステップと、回路及びテストベンチ情報より、２値シミュレーションモデルを生成する第３のステップと、２値シミュレーションモデルに基づき２値シミュレーションを実行する第４のステップとを含むものである。
【００１９】
請求項６記載の論理シミュレーション方法によれば、ディジタルＬＳＩ回路の論理シミュレーションを２値で実行する場合において、シミュレーションデータとして入力された回路及びテストベンチ情報に、不定値「ｘ」に関係する情報があるかどうか検索し、該当する回路記述があれば、その不定値「ｘ」が伝搬する可能性のある信号線を全て検索し、検索結果を出力する論理シミュレーション方法を提供することができる。
【００２０】
請求項７記載の論理シミュレーション方法は、ディジタルＬＳＩ回路の論理シミュレーションの２値シミュレーションを実行する方法であって、回路及びテストベンチ情報を入力とし、回路及びテストベンチ情報中に記憶素子に関する回路及びテストベンチ情報を検索する第１のステップと、検索された記憶素子に関する回路及びテストベンチ情報を抽出し出力する第２のステップと、回路及びテストベンチ情報と、記憶素子に関する回路及びテストベンチ情報より、記憶素子の初期化がされたかどうか判定する信号線を追加し、２値シミュレーションモデルを生成する第３のステップと、２値シミュレーションモデルに基づき２値シミュレーションを実行する第４のステップとを含むものである。
【００２１】
請求項７記載の論理シミュレーション方法によれば、ディジタルＬＳＩ回路の論理シミュレーションを２値で実行する場合において、シミュレーションデータとして入力された回路及びテストベンチ情報に、記憶素子があるかどうか検索し記憶素子があれば、記憶素子の初期化が行なわれたかどうかを初期化フラグにより観測する論理シミュレーション方法を提供することができ、レジスタ配列やメモリの初期化忘れを防止できる。
【００２２】
請求項８記載の論理シミュレーション装置は、ディジタルＬＳＩ回路の論理シミュレーションの２値シミュレーションを実行する装置であって、回路及びテストベンチ情報を入力とし、回路及びテストベンチ情報中に信号線の不定状態に関する回路及びテストベンチ情報を検索し、検索された信号線の不定状態に関する回路及びテストベンチ情報を抽出し出力する手段と、回路及びテストベンチ情報より、２値シミュレーションモデルを生成する手段と、２値シミュレーションモデルに基づき２値シミュレーションを実行する手段を具備したものである。
【００２３】
請求項８記載の論理シミュレーション装置によれば、ディジタルＬＳＩ回路の論理シミュレーションを２値で実行する場合において、シミュレーションデータとして入力された回路及びテストベンチ情報に、不定値「ｘ」に関係する情報があるかどうか検索し、検索結果を出力する論理シミュレーション装置を提供することができる。
【００２４】
請求項９記載の論理シミュレーション装置は、ディジタルＬＳＩ回路の論理シミュレーションの２値シミュレーションを実行する装置であって、回路及びテストベンチ情報を入力とし、回路及びテストベンチ情報中に信号線の不定状態に関する回路及びテストベンチ情報を検索し、検索された信号線の不定状態に関する回路及びテストベンチ情報を抽出し出力する手段と、不定状態に関する回路及びテストベンチを不定状態を含まない等価な回路及びテストベンチに置換するための方法および置換優先度を置換規約ライブラリとして具備し、回路及びテストベンチ情報と、不定状態に関する回路及びテストベンチ情報より、２値シミュレーションモデルを生成する手段と、２値シミュレーションモデルに基づき２値シミュレーションを実行する手段を具備したものである。
【００２５】
請求項９記載の論理シミュレーション装置によれば、ディジタルＬＳＩ回路の論理シミュレーションを２値で実行する場合において、不定値「ｘ」に関係する回路記述を不定値「ｘ」を用いない回路記述に変換するための情報をライブラリとして具備し、シミュレーションデータとして入力された回路及びテストベンチ情報に、不定値「ｘ」に関係する情報があるかどうか検索し、該当する回路記述があれば、ライブラリに従い、不定値「ｘ」を用いない回路記述に置換する論理シミュレーション装置を提供することができる。
【００２６】
請求項１０記載の論理シミュレーション装置は、ディジタルＬＳＩ回路の論理シミュレーションの２値シミュレーションを実行する装置であって、回路及びテストベンチ情報を入力とし、回路及びテストベンチ情報中に信号線の未初期化及び不定値の入力に関する回路及びテストベンチ情報を検索し、検索された信号線の未初期化及び不定値の入力に関する回路及びテストベンチ情報を抽出し出力する手段と、回路及びテストベンチ情報より、２値シミュレーションモデルを生成する手段と、２値シミュレーションモデルに基づき２値シミュレーションを実行する手段を具備したものである。
【００２７】
請求項１０記載の論理シミュレーション装置によれば、ディジタルＬＳＩ回路の論理シミュレーションを２値で実行する場合において、シミュレーションデータとして入力された回路及びテストベンチ情報に、初期化されていない入力信号線、もしくは不定値「ｘ」が初期値として入力される回路記述を検索し、検索結果を出力する論理シミュレーション装置を提供することができる。
【００２８】
請求項１１記載の論理シミュレーション装置は、ディジタルＬＳＩ回路の論理シミュレーションの２値シミュレーションを実行する装置であって、回路及びテストベンチ情報を入力とし、回路及びテストベンチ情報中に信号線の未初期化及び不定値の入力に関する回路及びテストベンチ情報を検索し、検索された信号線の未初期化及び不定値の入力に関する回路及びテストベンチ情報を抽出し出力する手段と、信号線の未初期化及び不定値の入力に関する回路及びテストベンチについて未初期化及び不定値の入力がされる信号線の初期値を決定する方法および決定優先度を初期化規約ライブラリとして具備し、回路及びテストベンチ情報と、信号線の未初期化及び不定値の入力に関する回路及びテストベンチ情報より、２値シミュレーションモデルを生成する手段と、２値シミュレーションモデルに基づき２値シミュレーションを実行する手段を具備したものである。
【００２９】
請求項１１記載の論理シミュレーション装置によれば、ディジタルＬＳＩ回路の論理シミュレーションを２値で実行する場合において、未初期化もしくは不定値「ｘ」が入力値の時、「０」か「１」に入力値を指定する情報をライブラリとして具備し、シミュレーションデータとして入力された回路及びテストベンチ情報に、初期化されていない入力信号線、もしくは不定値が入力される回路記述を検索し、該当する回路記述があれば、ライブラリに従い、その初期入力値を「０」か「１」に指定する論理シミュレーション装置を提供することができる。
【００３０】
請求項１２記載の論理シミュレーション装置は、ディジタルＬＳＩ回路の論理シミュレーションの２値シミュレーションを実行する装置であって、回路及びテストベンチ情報を入力とし、回路及びテストベンチ情報中に信号線の未初期化及び不定値の入力、及び不定状態に関する回路及びテストベンチ情報を検索し、検索された信号線の未初期化及び不定値の入力、及び不定状態が伝播する回路及びテストベンチ中の信号線情報を抽出し出力する手段と、回路及びテストベンチ情報より、２値シミュレーションモデルを生成する手段と、２値シミュレーションモデルに基づき２値シミュレーションを実行する手段を具備したものである。
【００３１】
請求項１２記載の論理シミュレーション装置によれば、ディジタルＬＳＩ回路の論理シミュレーションを２値で実行する場合において、シミュレーションデータとして入力された回路及びテストベンチ情報に、不定値「ｘ」に関係する情報があるかどうか検索し、該当する回路記述があれば、その不定値「ｘ」が伝搬する可能性のある信号線を全て検索し、検索結果を出力する論理シミュレーション装置を提供することができる。
【００３２】
請求項１３記載の論理シミュレーション装置は、ディジタルＬＳＩ回路の論理シミュレーションの２値多値混在シミュレーションを実行する装置であって、回路及びテストベンチ情報を入力とし、回路及びテストベンチ情報中に信号線の未初期化及び不定値の入力、及び不定状態に関する回路及びテストベンチ情報を検索し、検索された信号線の未初期化及び不定値の入力、及び不定状態が伝播する回路及びテストベンチ中の信号線情報を抽出し出力する手段と、シミュレータ毎の２値多値混在シミュレーションを行う設定方法を多値指定規約ライブラリとして具備し、回路及びテストベンチ情報と、信号線の未初期化及び不定値の入力、及び不定状態が伝播する回路及びテストベンチ中の信号線情報より、２値多値混在シミュレーションモデルを生成する手段と、２値多値混在シミュレーションモデルに基づき２値多値混在シミュレーションを実行する手段を具備したものである。
【００３３】
請求項１３記載の論理シミュレーション装置によれば、ディジタルＬＳＩ回路の論理シミュレーションを２値で実行する場合において、部分的に信号線毎に多値のシミュレーションを実行できるシミュレータと多値の指定方法をライブラリとして具備し、シミュレーションデータとして入力された回路及びテストベンチ情報に、不定値「ｘ」に関係する情報があるかどうか検索し、該当する回路記述があれば、その不定値「ｘ」が伝搬する可能性のある信号線を全て検索し、ライブラリに従い、不定値「ｘ」が伝搬する信号線を多値指定とする論理シミュレーション装置を提供することができ、不定値入力による回路の誤動作を検証でき、回路設計効率が向上する。
【００３４】
請求項１４記載の論理シミュレーション装置は、ディジタルＬＳＩ回路の論理シミュレーションの２値シミュレーションを実行する装置であって、回路及びテストベンチ情報を入力とし、回路及びテストベンチ情報中に記憶素子に関する回路及びテストベンチ情報を検索し、検索された記憶素子に関する回路及びテストベンチ情報を抽出し出力する手段と、回路及びテストベンチ情報と、記憶素子に関する回路及びテストベンチ情報より、記憶素子の初期化がされたかどうか判定する信号線を追加し、２値シミュレーションモデルを生成する手段と、２値シミュレーションモデルに基づき２値シミュレーションを実行する手段を具備したものである。
【００３５】
請求項１４記載の論理シミュレーション装置によれば、ディジタルＬＳＩ回路の論理シミュレーションを２値で実行する場合において、シミュレーションデータとして入力された回路及びテストベンチ情報に、記憶素子があるかどうか検索し、記憶素子があれば、記憶素子の初期化が行なわれたかどうかを初期化フラグにより観測する論理シミュレーション装置を提供することができる。
【００３６】
請求項１５記載の論理シミュレーション装置は、ディジタルＬＳＩ回路の論理シミュレーションの並列２値シミュレーションを実行する装置であって、回路及びテストベンチ情報を入力とし、回路及びテストベンチ情報中に信号線の未初期化及び不定値の入力に関する回路及びテストベンチ情報を検索し、検索された信号線の未初期化及び不定値の入力に関する回路及びテストベンチ情報を抽出し出力する手段と、未初期化及び不定値の入力がされる信号線に対し、全て「０」、全て「１」、及び少なくとも一通りのランダムに「０」か「１」に指定する少なくとも三通りの信号線の初期値を生成する手段と、回路及びテストベンチ情報と、信号線の未初期化及び不定値の入力に関する回路及びテストベンチ情報と、少なくとも三通りの信号線の初期値より、少なくとも三通りのシミュレーションを並列で行う、並列２値シミュレーションモデルを生成する手段と、前並列２値シミュレーションモデルに基づき並列２値シミュレーションを実行する手段と、回路及びテストベンチ情報と、並列２値シミュレーションの結果より、各シミュレーションの結果の不一致箇所を解析し、解析結果として出力し、また並列２値シミュレーションの実行を制御する手段を具備したものである。
【００３７】
請求項１５記載の論理シミュレーション装置によれば、ディジタルＬＳＩ回路の論理シミュレーションを２値で実行する場合において、シミュレーションデータとして入力された回路及びテストベンチ情報に、初期化されていない入力信号線、もしくは不定値が初期値として入力される回路記述を検索し、回路記述があれば、その初期値を、全て「０」、全て「１」、少なくとも一通りのランダムに「０」か「１」の組合せとし、少なくとも３つの並列シミュレーション可能な論理シミュレータにより同時にシミュレーションを行ない、その期待値を観測し、観測結果を出力する論理シミュレーション装置を提供することができる。
【００３８】
【発明の実施の形態】
以下、本発明の実施の形態について、図１から図２６を用いて説明する。
【００３９】
（実施の形態１）
この発明の請求項１に対応する第１の実施の形態の論理シミュレーション方法のフロー図を図１に、具体例を図２に示す。ＶｅｒｉｌｏｇＨＤＬで設計された回路情報及びテストベンチを入力とし、不定値情報を出力する場合を第１の実施の形態とする。
【００４０】
図１に示すように、論理シミュレーション方法は、ＶｅｒｉｌｏｇＨＤＬで設計された回路情報及びテストベンチによる２値シミュレーションを行なう前に、回路情報及びテストベンチ中に記述されている不定値「ｘ」の情報を検索し、出力する。
【００４１】
ステップ１００は、入力された回路情報及びテストベンチの記述に不定値「ｘ」があるかどうか検索する。
【００４２】
ステップ１３０は、ステップ１００で検索した不定値「ｘ」の場所とその記述を出力する。
【００４３】
ステップ１１０は、入力された回路情報及びテストベンチの記述中に不定値「ｘ」があれば、その値を「０」か「１」に置き換えて２値シミュレーションモデルを生成する。
【００４４】
ステップ１２０は、ステップ１１０で生成された２値シミュレーションモデルに対し、２値シミュレーションを実行する。
【００４５】
入力された回路及びテストベンチの記述から、不定値「ｘ」を検索し、その結果を出力する具体例を図１６に示し、図１のフロー図に沿って説明する。
【００４６】
回路記述３０２は、６行目に不定値「ｘ」の記述を持ち、テストベンチ記述３１２は、１行目に不定値「ｘ」の記述を持つ。
【００４７】
ステップ１００により、回路記述３０２及びテストベンチ記述３１２中の不定値「ｘ」を検索する。
【００４８】
ステップ１３０により、不定値「ｘ」の検索結果として、不定値記述情報３７１を出力する。不定値記述情報３７１には、回路記述６行目とテストベンチ記述１行目に不定値「x」の記述があることとその記述を出力する。
【００４９】
シミュレーション対象の回路及びテストベンチ中に不定値「ｘ」がどこにどのように記述されているかを回路及びテストベンチ設計者が知ることができ、回路及びテストベンチの２値シミュレーション時のデバッグ性が向上する。
【００５０】
（実施の形態２）
この発明の請求項８に対応する第２の実施の形態の論理シミュレーション装置の構成図を図３に示す。ＶｅｒｉｌｏｇＨＤＬで設計された回路情報及びテストベンチを入力とし、不定値情報を出力する場合を第２の実施の形態とする。
【００５１】
図３に示すように、論理シミュレーション装置は、回路及びテストベンチ中の不定値情報抽出手段３６０と、２値シミュレーションモデル生成手段３２０と、２値シミュレーション実行手段３４０から構成されている。
【００５２】
不定値情報抽出手段３６０は、回路情報３００とテストベンチ情報３１０を入力とし、それらの中に不定値「ｘ」があるかどうか検索し、検索結果を不定値情報３７０として出力する。
【００５３】
２値シミュレーションモデル生成手段３２０は、回路情報３００とテストベンチ情報３１０を入力とし、２値シミュレーションを行うためのシミュレーションモデル３３０を生成する。回路情報３００とテストベンチ情報３１０内に不定値「ｘ」があれば、それを「０」か「１」に置き換えて２値シミュレーションモデル３３０を生成する。
【００５４】
２値シミュレーション実行手段３４０は、２値シミュレーションモデル３３０を入力とし、２値シミュレーションを実行し、シミュレーション結果３５０を出力する。
【００５５】
シミュレーション対象の回路及びテストベンチ中に不定値「ｘ」がどこにどのように記述されているかを回路及びテストベンチ設計者が知ることができ、回路及びテストベンチの２値シミュレーション時のデバッグ性が向上する。
【００５６】
（実施の形態３）
この発明の請求項２に対応する第３の実施の形態の論理シミュレーション方法のフロー図を図４に、具体例を図５に示す。ＶｅｒｉｌｏｇＨＤＬで設計された回路情報及びテストベンチを入力とし、２値シミュレーションモデルを生成する場合を第３の実施の形態とする。
【００５７】
図４に示すように、論理シミュレーション方法は、ＶｅｒｉｌｏｇＨＤＬで設計された回路情報及びテストベンチによる２値シミュレーションを行なう前に、回路情報及びテストベンチ中に記述されている不定値「ｘ」の情報を検索し、不定値「ｘ」を用いない等価な２値シミュレーションモデルを生成する。
【００５８】
ステップ１００は、入力された回路情報及びテストベンチの記述に不定値「ｘ」があるかどうか検索する。
【００５９】
ステップ１３０は、ステップ１００で検索した不定値「ｘ」の場所とその記述を出力する。
【００６０】
ステップ１４０は、入力された回路情報及びテストベンチの記述中に不定値「ｘ」があれば、不定値「ｘ」が関係する記述を不定値「ｘ」を用いない等価な記述に置き換えて２値シミュレーションモデルを生成する。
【００６１】
ステップ１２０は、ステップ１４０で生成された２値シミュレーションモデルに対し、２値シミュレーションを実行する。
【００６２】
入力された回路及びテストベンチの記述から、不定値「ｘ」を検索し、不定値「ｘ」を用いない等価なシミュレーションモデルを生成する具体例を図５に示し、図４のフロー図に沿って説明する。
【００６３】
回路記述３０３は、１行目に不定値「ｘ」の記述を持ち、テストベンチ記述３１３は、不定値「ｘ」の記述を持たない。
【００６４】
ステップ１００により、回路記述３０３及びテストベンチ記述３１３中の不定値「ｘ」を検索する。
【００６５】
ステップ１３０により、不定値「ｘ」の検索結果として、不定値記述情報３７２を出力する。不定値記述情報３７２には、回路記述１行目に不定値「ｘ」の記述があることとその記述を出力する。
【００６６】
ステップ１４０により、回路記述３０３及びテストベンチ記述３１３、不定値記述情報３７２から２値シミュレーションモデル３３２を生成する。不定値記述情報３７２より、回路記述の１行目に、信号線ｒｓｔが「ｘ」または「１」であれば処理Ａ、信号線ｒｓｔが「ｘ」または「１」でなければ処理Ｂという記述を得る。ここで、信号線ｒｓｔが「ｘ」または「１」でないとは、信号線ｒｓｔが「０」でないということと等価であるため、この部分を置き換えて２値シミュレーションモデル３３２を生成する。
【００６７】
シミュレーション対象の回路及びテストベンチ中に不定値「ｘ」がどこにどのように記述されているかを回路及びテストベンチ設計者が知ることができ、また、不定値「ｘ」が関係する記述を不定値「ｘ」を用いない等価な記述に自動的に置き換えて２値シミュレーションを行うため、２値シミュレーションにおいて、多値シミュレーションと同じ結果が得られる。
【００６８】
（実施の形態４）
この発明の請求項３に対応する第４の実施の形態の論理シミュレーション方法のフロー図を図６に、具体例を図７に示す。ＶｅｒｉｌｏｇＨＤＬで設計された回路情報及びテストベンチを入力とし、２値シミュレーションモデルを生成する場合を第４の実施の形態とする。
【００６９】
図６に示すように、論理シミュレーション方法は、ＶｅｒｉｌｏｇＨＤＬで設計された回路情報及びテストベンチによる２値シミュレーションを行なう前に、回路情報及びテストベンチ中に記述されている不定値「ｘ」の情報を検索し、不定状態判定フラグにより、不定値「ｘ」を用いない等価な２値シミュレーションモデルを生成する。
【００７０】
ステップ１００は、入力された回路情報及びテストベンチの記述に不定値「ｘ」があるかどうか検索する。
【００７１】
ステップ１３０は、ステップ１００で検索した不定値「ｘ」の場所とその記述を出力する。
【００７２】
ステップ１４１は、入力された回路情報及びテストベンチの記述中に不定値「ｘ」があれば、該当する信号線が不定状態かどうかを判定する信号線を不定状態判定フラグとして追加し、不定値「ｘ」が関係する記述を不定値「ｘ」を用いない等価な記述に置き換えて２値シミュレーションモデルを生成する。
【００７３】
ステップ１２０は、ステップ１４１で生成された２値シミュレーションモデルに対し、２値シミュレーションを実行する。
【００７４】
入力された回路及びテストベンチの記述から、不定値「ｘ」を検索し、不定値「ｘ」を用いない等価なシミュレーションモデルを生成する具体例を図７に示し、図６のフロー図に沿って説明する。
【００７５】
回路記述３０４は、１行目に不定値「ｘ」の記述を持ち、テストベンチ記述３１４は、１行目に不定値「ｘ」の記述を持つ。
【００７６】
ステップ１００により、回路記述３０４及びテストベンチ記述３１４中の不定値「ｘ」を検索する。
【００７７】
ステップ１３０により、不定値「ｘ」の検索結果として、不定値記述情報３７３を出力する。不定値記述情報３７３には、回路記述１行目とテストベンチ記述１行目とに、不定値「ｘ」の記述があることとその記述を出力する。
【００７８】
ステップ１４１により、回路記述３０４及びテストベンチ記述３１４、不定値記述情報３７３から２値シミュレーションモデル３３３を生成する。不定値記述情報３７３より、回路記述の１行目に、信号線ｒｓｔが「ｘ」であれば処理Ａ、信号線ｒｓｔが「ｘ」でなければ処理Ｂという記述と、テストベンチ記述の１行目に、信号線ｒｓｔの初期値が「ｘ」であるという記述を得る。ここで、信号線ｒｓｔが「ｘ」であるかどうかを判断するため不定状態判定フラグとして信号線ｒｓｔ＿ｆｌｇを追加する。信号線ｒｓｔが「ｘ」であるとき、信号線ｒｓｔ＿ｆｌｇを「１」とし、信号線ｒｓｔが「ｘ」でないとき、信号線ｒｓｔ＿ｆｌｇを「０」とする。信号線ｒｓｔの初期値が「ｘ」であり、信号線ｒｓｔが「ｘ」であれば処理Ａ、信号線ｒｓｔが「ｘ」でなければ処理Ｂという記述は、信号線ｒｓｔ＿ｆｌｇの初期値が「１」であり、信号線ｒｓｔ＿ｆｌｇが「１」であれば処理Ａ、信号線ｒｓｔが「１」でなければ処理Ｂということと等価であるため、この部分を置き換えて２値シミュレーションモデル３３３を生成する。
【００７９】
シミュレーション対象の回路及びテストベンチ中に不定値「ｘ」がどこにどのように記述されているかを回路及びテストベンチ設計者が知ることができ、また、不定状態判定フラグとして信号線を追加することで、不定値「ｘ」が関係する記述を不定値「ｘ」を用いない等価な記述に自動的に置き換えて２値シミュレーションを行うため、２値シミュレーションにおいて、多値シミュレーションと同じ結果が得られる。
【００８０】
（実施の形態５）
この発明の請求項９に対応する第５の実施の形態の論理シミュレーション装置の構成図を図８に、具体例を図９に示す。ＶｅｒｉｌｏｇＨＤＬで設計された回路情報及びテストベンチを入力とし、２値シミュレーションモデルを生成する場合を第５の実施の形態とする。
【００８１】
図８に示すように、論理シミュレーション装置は、回路及びテストベンチ中の不定値情報抽出手段３６０と、２値シミュレーションモデル生成手段３８０と、２値シミュレーション実行手段３４０から構成されている。
【００８２】
不定値情報抽出手段３６０は、回路情報３００とテストベンチ情報３１０を入力とし、それらの中に不定値「ｘ」があるかどうか検索し、検索結果を不定値情報３７０として出力する。
【００８３】
２値シミュレーションモデル生成手段３８０は、不定値記述変換規約ライブラリ３９０を具備し、回路情報３００とテストベンチ情報３１０を入力とし、２値シミュレーションを行うためのシミュレーションモデル４００を生成する。不定値記述変換規約ライブラリ３９０は、不定値「ｘ」を処理する記述を、２値「０」、「１」により等価な処理をする記述に置き換える規約を記載する。回路情報３００とテストベンチ情報３１０内に不定値「ｘ」があれば、不定値記述変換規約ライブラリ３９０に従い、不定値「ｘ」を用いない等価な回路に置き換えて２値シミュレーションモデル４００を生成する。
【００８４】
２値シミュレーション実行手段３４０は、２値シミュレーションモデル４００を入力とし、２値シミュレーションを実行し、シミュレーション結果３５０を出力する。
【００８５】
入力された回路及びテストベンチの記述から、不定値「ｘ」を検索し、不定値「ｘ」を用いない等価なシミュレーションモデルを生成する具体例を図９に示し、図８の構成図に沿って説明する。
【００８６】
回路記述３０４は、１行目に不定値「ｘ」の記述を持ち、テストベンチ記述３１４は、１行目に不定値「ｘ」の記述を持つ。
【００８７】
不定値情報抽出手段３６０により、回路記述３０４及びテストベンチ記述３１４中の不定値「ｘ」を検索し、不定値記述情報３７３を出力する。不定値記述情報３７３には、回路記述１行目とテストベンチ記述１行目とに、不定値「ｘ」の記述があることとその記述を出力する。
【００８８】
２値シミュレーションモデル生成手段３８０により、不定記述変換規約ライブラリ３９１、回路記述３０４及びテストベンチ記述３１４、不定値記述情報３７３から２値シミュレーションモデル４０１を生成する。不定記述変換規約ライブラリ３９１は、論理的な等価で且つ不定値を用いない記述へ変換する手法１と、不定状態判断フラグにより論理的に等価で且つ不定値を用いない記述へ変換する手法２を持つ。手法１の優先度を１、手法２の優先度を２とし、手法１の方が手法２より優先とする。不定値記述情報３７３より、回路記述の１行目に、信号線ｒｓｔが「ｘ」であれば処理Ａ、信号線ｒｓｔが「ｘ」でなければ処理Ｂという記述と、テストベンチ記述の１行目に、信号線ｒｓｔの初期値が「ｘ」であるという記述を得る。ここで、信号線ｒｓｔが「ｘ」であるかどうかを、２値「０」、「１」では記述できないため、手法２を採用し、信号線ｒｓｔが「ｘ」であるかどうかを判断するため不定状態判定フラグとして信号線ｒｓｔ＿ｆｌｇを追加する。信号線ｒｓｔが「ｘ」であるとき、信号線ｒｓｔ＿ｆｌｇを「１」とし、信号線ｒｓｔが「ｘ」でないとき、信号線ｒｓｔ＿ｆｌｇを「０」とする。信号線ｒｓｔの初期値が「ｘ」であり、信号線ｒｓｔが「ｘ」であれば処理Ａ、信号線ｒｓｔが「ｘ」でなければ処理Ｂという記述は、信号線ｒｓｔ＿ｆｌｇの初期値が「１」であり、信号線ｒｓｔ＿ｆｌｇが「１」であれば処理Ａ、信号線ｒｓｔが「１」でなければ処理Ｂということと等価であるため、この部分を置き換えて２値シミュレーションモデル４０１を生成する。
【００８９】
シミュレーション対象の回路及びテストベンチ中に不定値「ｘ」がどこにどのように記述されているかを回路及びテストベンチ設計者が知ることができ、また、不定記述変換規約ライブラリに登録された方法により、不定値「ｘ」が関係する記述を不定値「ｘ」を用いない等価な記述に自動的に置き換えて２値シミュレーションを行うため、２値シミュレーションにおいて、多値シミュレーションと同じ結果が得られる。
【００９０】
（実施の形態６）
この発明の請求項４に対応する第６の実施の形態の論理シミュレーション方法のフロー図を図１０に、具体例を図１１に示す。ＶｅｒｉｌｏｇＨＤＬで設計された回路情報及びテストベンチを入力とし、入力不定情報を出力する場合を第６の実施の形態とする。
【００９１】
図１０に示すように、論理シミュレーション方法は、ＶｅｒｉｌｏｇＨＤＬで設計された回路情報及びテストベンチによる２値シミュレーションを行なう前に、回路情報及びテストベンチ中に記述されている信号線への入力不定情報を検索し、出力する。
【００９２】
ステップ１５０は、入力された回路情報及びテストベンチの記述に信号線の未初期化及び不定値「ｘ」の入力があるかどうか検索する。
【００９３】
ステップ１６０は、ステップ１５０で検索した信号線の未初期化及び不定値「ｘ」の入力の場所とその記述を出力する。
【００９４】
ステップ１１０は、入力された回路情報及びテストベンチの記述中に信号線の未初期化及び不定値「ｘ」の入力があれば、その値を「０」か「１」とし２値シミュレーションモデルを生成する。
【００９５】
ステップ１２０は、ステップ１１０で生成された２値シミュレーションモデルに対し、２値シミュレーションを実行する。
【００９６】
入力された回路及びテストベンチの記述から、信号線の未初期化及び不定値「ｘ」の入力を検索し、その結果を出力する具体例を図１１に示し、図１０のフロー図に沿って説明する。
【００９７】
回路記述３０５は、１行目に信号線ｃｎｔｌ、６行目に信号線ｒｓｔの記述を持ち、テストベンチ記述３１４は、１行目に不定値「ｘ」の入力記述を持つ。
【００９８】
ステップ１５０により、回路記述３０５及びテストベンチ記述３１４中の信号線の未初期化及び不定値「ｘ」の入力を検索する。
【００９９】
ステップ１６０により、信号線の未初期化及び不定値「ｘ」の入力の検索結果として、入力不定記述情報４２１を出力する。入力不定記述情報４２１には、回路記述６行目の信号線ｒｓｔが未初期化とテストベンチ記述１行目に不定値「x」の入力記述があることとその記述を出力する。
【０１００】
シミュレーション対象の回路及びテストベンチ中に信号線の未初期化及び不定値「ｘ」の入力がどこにどのように記述されているかを回路及びテストベンチ設計者が知ることができ、回路及びテストベンチの２値シミュレーション時のデバッグ性が向上する。
【０１０１】
（実施の形態７）
この発明の請求項１０に対応する第７の実施の形態の論理シミュレーション装置の構成図を図１２に示す。ＶｅｒｉｌｏｇＨＤＬで設計された回路情報及びテストベンチを入力とし、入力不定情報を出力する場合を第７の実施の形態とする。
【０１０２】
図１２に示すように、論理シミュレーション装置は、回路及びテストベンチ中の信号線の未初期化及び不定値「ｘ」の入力情報抽出手段４１０と、２値シミュレーションモデル生成手段３２０と、２値シミュレーション実行手段３４０から構成されている。
【０１０３】
信号線の未初期化または不定値「ｘ」の入力情報抽出手段４１０は、回路情報３００とテストベンチ情報３１０を入力とし、それらの中に信号線の未初期化及び不定値「ｘ」の入力があるかどうか検索し、検索結果を信号線の未初期化及び不定値「ｘ」の入力情報４２０として出力する。
【０１０４】
２値シミュレーションモデル生成手段３２０は、回路情報３００とテストベンチ情報３１０を入力とし、２値シミュレーションを行うためのシミュレーションモデル３３０を生成する。回路情報３００とテストベンチ情報３１０内に信号線の未初期化及び不定値「ｘ」の入力があれば、それを「０」か「１」とし２値シミュレーションモデル３３０を生成する。
【０１０５】
２値シミュレーション実行手段３４０は、２値シミュレーションモデル３３０を入力とし、２値シミュレーションを実行し、シミュレーション結果３５０を出力する。
【０１０６】
シミュレーション対象の回路及びテストベンチ中に信号線の未初期化及び不定値「ｘ」の入力がどこにどのように記述されているかを回路及びテストベンチ設計者が知ることができ、回路及びテストベンチの２値シミュレーション時のデバッグ性が向上する。
【０１０７】
（実施の形態８）
この発明の請求項５に対応する第８の実施の形態の論理シミュレーション方法のフロー図を図１３に、具体例を図１４に示す。ＶｅｒｉｌｏｇＨＤＬで設計された回路情報及びテストベンチを入力とし、２値シミュレーションモデルを生成する場合を第８の実施の形態とする。
【０１０８】
図１３に示すように、論理シミュレーション方法は、ＶｅｒｉｌｏｇＨＤＬで設計された回路情報及びテストベンチによる２値シミュレーションを行なう前に、回路情報及びテストベンチ中に記述されている入力不定情報を検索し、入力値が不定であっても不定値「ｘ」を用いない等価な２値シミュレーションモデルを生成する。
【０１０９】
ステップ１５０は、入力された回路情報及びテストベンチの記述に信号線の未初期化及び不定値「ｘ」の入力があるかどうか検索する。
【０１１０】
ステップ１６０は、ステップ１５０で検索した信号線の未初期化及び不定値「ｘ」の入力の場所とその記述を出力する。
【０１１１】
ステップ１７０は、入力された回路情報及びテストベンチの記述中に信号線の未初期化及び不定値「ｘ」の入力があれば、その信号線の接続先及び記述により、値を「０」か「１」に決定し、２値シミュレーションモデルを生成する。
【０１１２】
ステップ１２０は、ステップ１７０で生成された２値シミュレーションモデルに対し、２値シミュレーションを実行する。
【０１１３】
入力された回路及びテストベンチの記述から、信号線の未初期化及び不定値「ｘ」の入力を検索し、入力値が不定であっても不定値「ｘ」を用いない等価なシミュレーションモデルを生成する具体例を図１４に示し、図１３のフロー図に沿って説明する。
【０１１４】
回路記述３０６は、１行目に信号線ｃｎｔｌ、６行目に信号線ｒｓｔの記述を持ち、テストベンチ記述３１４は、１行目に不定値「ｘ」の入力記述を持つ。
【０１１５】
ステップ１５０により、回路記述３０６及びテストベンチ記述３１４中の信号線の未初期化及び不定値「ｘ」の入力を検索する。
【０１１６】
ステップ１６０により、信号線の未初期化及び不定値「ｘ」の入力の検索結果として、入力不定記述情報４２２を出力する。入力不定記述情報４２２には、回路記述６行目の信号線ｒｓｔが未初期化とテストベンチ記述１行目に不定値「ｘ」の入力記述があることとその記述を出力する。
【０１１７】
ステップ１７０により、回路記述３０６及びテストベンチ記述３１４、入力不定記述情報４２２から２値シミュレーションモデル３３４を生成する。入力不定記述情報４２２から、信号線ｃｎｔｌの初期入力値が不定値「ｘ」であることと、信号線ｒｓｔの初期化がされておらず、共に不定であることを得る。回路及びテストベンチ情報と、信号線の未初期化及び不定値の入力に関する回路及びテストベンチ情報より、未初期化及び不定値の入力がされる信号線の初期値を、未初期化及び不定値の入力がされる信号線が回路及びテストベンチ中に値として定義されていない値に決定する。ここで、回路記述３０６の１行目より、信号線ｃｎｔｌが「０」であればという記述が得られる。初期入力が不定であるということは、「０」ではないということで、この記述であれば２値シミュレーションでは「１」と等価となる。よって、信号線ｃｎｔｌの初期入力値を「１」と決定する。また、回路記述３０６の６行目より、信号線ｒｓｔが「１」であればという記述が得られる。初期入力が不定であるということは、「１」ではないということで、この記述であれば２値シミュレーションでは「０」と等価となる。よって、信号線ｒｓｔの初期入力値を「０」と決定する。信号線ｃｎｔｌの初期入力値を「１」、信号線ｒｓｔの初期入力値を「０」とする記述を追加して、２値シミュレーションモデル３３４を生成する。  シミュレーション対象の回路及びテストベンチ中に信号線の未初期化及び不定値「ｘ」の入力がどこにどのように記述されているかを回路及びテストベンチ設計者が知ることができ、また、信号線の未初期化及び不定値「ｘ」の入力が関係する記述を、入力値が不定であっても不定値「ｘ」を用いない等価な記述に自動的に置き換えて２値シミュレーションを行うため、２値シミュレーションにおいて、多値シミュレーションと同じ結果が得られる。
【０１１８】
（実施の形態９）
この発明の請求項１１に対応する第９の実施の形態の論理シミュレーション装置の構成図を図１５に、具体例を図１６に示す。ＶｅｒｉｌｏｇＨＤＬで設計された回路情報及びテストベンチを入力とし、２値シミュレーションモデルを生成する場合を第９の実施の形態とする。
【０１１９】
図１５に示すように、論理シミュレーション装置は、回路及びテストベンチ中の信号線の未初期化及び不定値「ｘ」の入力情報抽出手段４１０と、２値シミュレーションモデル生成手段４３０と、２値シミュレーション実行手段３４０から構成されている。
【０１２０】
信号線の未初期化または不定値「ｘ」の入力情報抽出手段４１０は、回路情報３００とテストベンチ情報３１０を入力とし、それらの中に信号線の未初期化及び不定値「ｘ」の入力があるかどうか検索し、検索結果を信号線の未初期化及び不定値「ｘ」の入力情報４２０として出力する。
【０１２１】
２値シミュレーションモデル生成手段４３０は、入力初期値規約ライブラリ４４０を具備し、回路情報３００とテストベンチ情報３１０を入力とし、２値シミュレーションを行うためのシミュレーションモデル４５０を生成する。入力初期値規約ライブラリ４４０は、信号線の未初期化及び不定値「ｘ」の入力について、２値「０」、「１」により等価な処理となる入力信号値を決定するための規約を記載する。回路情報３００とテストベンチ情報３１０内に信号線の未初期化及び不定値「ｘ」の入力があれば、入力初期値規約ライブラリ４４０に従い、入力値が不定であっても不定値「ｘ」を用いない等価な回路に置き換えて２値シミュレーションモデル４５０を生成する。
【０１２２】
２値シミュレーション実行手段３４０は、２値シミュレーションモデル４５０を入力とし、２値シミュレーションを実行し、シミュレーション結果３５０を出力する。
【０１２３】
入力された回路及びテストベンチの記述から、信号線の未初期化及び不定値「ｘ」の入力を検索し、入力値が不定であっても不定値「ｘ」を用いない等価なシミュレーションモデルを生成する具体例を図２２に示し、図９の構成図に沿って説明する。
【０１２４】
回路記述３０６は、１行目に信号線ｃｎｔｌ、６行目に信号線ｒｓｔの記述を持ち、テストベンチ記述３１４は、１行目に不定値「ｘ」の入力記述を持つ。
【０１２５】
信号線の未初期化または不定値「ｘ」の入力情報抽出手段４１０により、回路記述３０６及びテストベンチ記述３１４中の信号線の未初期化及び不定値「ｘ」の入力を検索し、入力不定記述情報４２２を出力する。入力不定記述情報４２２には、回路記述６行目の信号線ｒｓｔが未初期化とテストベンチ記述１行目に不定値「ｘ」の入力記述があることとその記述を出力する。
【０１２６】
２値シミュレーションモデル生成手段４３０により、入力初期値規約ライブラリ４４１、回路記述３０６及びテストベンチ記述３１４、入力不定記述情報４２２から２値シミュレーションモデル４５１を生成する。入力初期値規約ライブラリ４４１は、回路記述の条件式に明記されていない値に初期値を指定する手法１と、無条件に「０」に指定する手法２を持つ。手法１の優先度を１、手法２の優先度を２とし、手法１の方が手法２より優先とする。入力不定記述情報４２２から、信号線ｃｎｔｌの初期入力値が不定値「ｘ」であるここと、信号線ｒｓｔの初期化がされておらず、共に不定であることを得る。ここでは、初期入力値が不定な信号線の接続先の回路記述の条件式を参照できるため、手法１を採用する。ここで、回路記述３０６の１行目より、信号線ｃｎｔｌが「０」であればという記述が得られる。初期入力が不定であるということは、「０」ではないということで、この記述であれば２値シミュレーションでは「１」と等価となる。よって、信号線ｃｎｔｌの初期入力値を「１」と決定する。また、回路記述３０６の６行目より、信号線ｒｓｔが「１」であればという記述が得られる。初期入力が不定であるということは、「１」ではないということで、この記述であれば２値シミュレーションでは「０」と等価となる。よって、信号線ｒｓｔの初期入力値を「０」と決定する。信号線ｃｎｔｌの初期入力値を「１」、信号線ｒｓｔの初期入力値を「０」とする記述を追加して、２値シミュレーションモデル４５１を生成する。
【０１２７】
シミュレーション対象の回路及びテストベンチ中に信号線の未初期化及び不定値「ｘ」の入力がどこにどのように記述されているかを回路及びテストベンチ設計者が知ることができ、また、入力初期値規約ライブラリに登録された方法により、信号線の未初期化及び不定値「ｘ」の入力が関係する記述を、入力値が不定であっても不定値「ｘ」を用いない等価な記述に自動的に置き換えて２値シミュレーションを行うため、２値シミュレーションにおいて、多値シミュレーションと同じ結果が得られる。
【０１２８】
（実施の形態１０）
この発明の請求項６に対応する第１０の実施の形態の論理シミュレーション方法のフロー図を図１７に、具体例を図１８に示す。ＶｅｒｉｌｏｇＨＤＬで設計された回路情報及びテストベンチを入力とし、入力不定情報を出力する場合を第１０の実施の形態とする。
【０１２９】
図１７に示すように、論理シミュレーション方法は、ＶｅｒｉｌｏｇＨＤＬで設計された回路情報及びテストベンチによる２値シミュレーションを行なう前に、回路情報及びテストベンチ中に記述されている不定値「ｘ」が伝播する信号線を検索し、出力する。
【０１３０】
ステップ１８０は、入力された回路情報及びテストベンチの記述に未初期化の信号線及び不定値「ｘ」があるかどうか検索する。
【０１３１】
ステップ１９０は、ステップ１８０で検索した未初期化の信号線及び不定値「ｘ」が伝播する信号線の場所とその記述を出力する。
【０１３２】
ステップ１１０は、入力された回路情報及びテストベンチの記述中に信号線の未初期化及び不定値「ｘ」の入力があれば、その値を「０」か「１」とし２値シミュレーションモデルを生成する。
【０１３３】
ステップ１２０は、ステップ１１０で生成された２値シミュレーションモデルに対し、２値シミュレーションを実行する。
【０１３４】
入力された回路及びテストベンチの記述から、不定値「ｘ」の伝播する信号線を検索し、その結果を出力する具体例を図２３に示し、図１０のフロー図に沿って説明する。
【０１３５】
回路記述３０７は、信号線ｄａｔａＡが伝播する信号線ｄａｔａＢ、信号線ｄａｔａＢが伝播する信号線ｄａｔａＣを持ち、テストベンチ記述３１５は、信号線ｄａｔａＡへの不定値「ｘ」の入力記述を持つ。
【０１３６】
ステップ１８０により、回路記述３０５及びテストベンチ記述３１４中の未初期化の信号線及び不定値「ｘ」の入力を検索する。
【０１３７】
ステップ１９０により、未初期化の信号線及び不定値「ｘ」の伝播する信号線の検索結果として、不定値伝播信号線情報４７１を出力する。不定値伝播信号線情報４７１には、回路記述の信号線ｄａｔａＡ、ｄａｔａＢ、ｄａｔａＣ、及びがテストベンチ記述の信号線ｄａｔａＡに不定値が伝播することを出力する。
【０１３８】
シミュレーション対象の回路及びテストベンチ中のどの信号線に不定値「ｘ」が伝播するかを回路及びテストベンチ設計者が知ることができ、回路及びテストベンチの２値シミュレーション時のデバッグ性が向上する。
【０１３９】
（実施の形態１１）
この発明の請求項１２に対応する第１１の実施の形態の論理シミュレーション装置の構成図を図１９に示す。ＶｅｒｉｌｏｇＨＤＬで設計された回路情報及びテストベンチを入力とし、入力不定情報を出力する場合を第１１の実施の形態とする。
【０１４０】
図１９に示すように、論理シミュレーション装置は、回路及びテストベンチ中の不定値「ｘ」の不定値伝播信号線情報抽出手段４６０と、２値シミュレーションモデル生成手段３２０と、２値シミュレーション実行手段３４０から構成されている。
【０１４１】
不定値伝播信号線情報抽出手段４６０は、回路情報３００とテストベンチ情報３１０を入力とし、それらの中に未初期化の信号線及び不定値「ｘ」が伝播する信号線があるかどうか検索し、検索結果を不定値伝播信号線情報４７０として出力する。
【０１４２】
２値シミュレーションモデル生成手段３２０は、回路情報３００とテストベンチ情報３１０を入力とし、２値シミュレーションを行うためのシミュレーションモデル３３０を生成する。回路情報３００とテストベンチ情報３１０内に信号線の未初期化及び不定値「ｘ」の入力があれば、それを「０」か「１」とし２値シミュレーションモデル３３０を生成する。
【０１４３】
２値シミュレーション実行手段３４０は、２値シミュレーションモデル３３０を入力とし、２値シミュレーションを実行し、シミュレーション結果３５０を出力する。
【０１４４】
シミュレーション対象の回路及びテストベンチ中のどの信号線に不定値「ｘ」が伝播するかを回路及びテストベンチ設計者が知ることができ、回路及びテストベンチの２値シミュレーション時のデバッグ性が向上する。
【０１４５】
（実施の形態１２）
この発明の請求項１３に対応する第１２の実施の形態の論理シミュレーション装置の構成図を図２０に、具体例を図２１に示す。ＶｅｒｉｌｏｇＨＤＬで設計された回路情報及びテストベンチを入力とし、２値多値混在シミュレーションモデルを生成する場合を第１２の実施の形態とする。
【０１４６】
図２０に示すように、論理シミュレーション装置は、回路及びテストベンチ中の不定値「ｘ」の不定値伝播信号線情報抽出手段４６０と、２値多値混在シミュレーションモデル生成手段４８０と、２値多値混在シミュレーション実行手段５１０から構成されている。
【０１４７】
不定値伝播信号線情報抽出手段４６０は、回路情報３００とテストベンチ情報３１０を入力とし、それらの中に未初期化の信号線及び不定値「ｘ」が伝播する信号線があるかどうか検索し、検索結果を不定値伝播信号線情報４７０として出力する。
【０１４８】
２値多値混在シミュレーションモデル生成手段４８０は、多値指定規約ライブラリ４９０を具備し、回路情報３００とテストベンチ情報３１０、不定値伝播信号線情報４７０を入力とし、２値多値混在シミュレーションを行うためのシミュレーションモデル５００を生成する。多値指定規約ライブラリ４９１は、２値多値混在シミュレーションが可能なシミュレータ毎に、その多値指定の方法を記載する。回路情報３００とテストベンチ情報３１０内に不定値の伝播する信号線があれば、多値指定規約ライブラリ４９０に従い、特定の信号線のみ多値を扱う２値多値混在シミュレーションモデル５００を生成する。
【０１４９】
２値多値混在シミュレーション実行手段５１０は、２値多値混在シミュレーションモデル５００を入力とし、２値多値混在シミュレーションを実行し、シミュレーション結果３５０を出力する。
【０１５０】
入力された回路及びテストベンチの記述から、不定値「ｘ」が伝播する信号線を検索し、不定値が伝播する信号線のみ多値として２値多値混在入力値シミュレーションモデルを生成する具体例を図２１に示し、図２０の構成図に沿って説明する。
【０１５１】
回路記述３０７は、信号線ｄａｔａＡが伝播する信号線ｄａｔａＢ、信号線ｄａｔａＢが伝播する信号線ｄａｔａＣを持ち、テストベンチ記述３１５は、信号線ｄａｔａＡへの不定値「ｘ」の入力記述を持つ。
【０１５２】
不定値伝播信号線情報抽出手段４６０により、回路記述３０７及びテストベンチ記述３１５中の未初期化の信号線及び不定値「ｘ」の入力を検索し、未初期化の信号線及び不定値「ｘ」の伝播する信号線の検索結果として、不定値伝播信号線情報４７１を出力する。不定値伝播信号線情報４７１には、回路記述３０７の信号線ｄａｔａＡ、ｄａｔａＢ、ｄａｔａＣ、及びテストベンチ記述３１５の信号線ｄａｔａＡに不定値が伝播することを出力する。
【０１５３】
２値多値混在シミュレーションモデル生成手段４８０により、多値指定規約ライブラリ４９１、回路記述３０７及びテストベンチ記述３１５、不定値伝播信号線情報４７１から２値多値混在シミュレーションモデル５０１を生成する。
【０１５４】
多値指定規約ライブラリ４９１は、信号線の宣言末尾に／＊  ４ｓｔａｔｅ  ＊／を追加することで、多値信号線と認識するシミュレータＡと、信号線の宣言を４ｓｔａｔｅｒｅｇで行うことで多値信号線と認識するシミュレータＢを持つ。ここでは、シミュレータＡを使用するものとする。
【０１５５】
不定値伝播信号線情報抽出手段４６０から、回路記述３０７の信号線ｄａｔａＡ、ｄａｔａＢ、ｄａｔａＣ、及びテストベンチ記述３１５の信号線ｄａｔａＡに不定値が伝播することを得て、多値指定規約ライブラリ４９１に従い、信号線ｄａｔａＡ、ｄａｔａＢ、ｄａｔａＣの宣言末尾に／＊  ４ｓｔａｔｅ  ＊／を追加し、２値多値混在シミュレーションモデル５０１を生成する。
【０１５６】
シミュレーション対象の回路及びテストベンチ中のどの信号線に不定値「ｘ」が伝播するかを回路及びテストベンチ設計者が知ることができ、また、自動的に２値多値混在シミュレーションを行うシミュレーションモデルを生成でき、設計効率が向上する。
【０１５７】
（実施の形態１３）
この発明の請求項７に対応する第１３の実施の形態の論理シミュレーション方法のフロー図を図２２に、具体例を図２３に示す。ＶｅｒｉｌｏｇＨＤＬで設計された回路情報及びテストベンチを入力とし、２値シミュレーションモデルを生成する場合を第１３の実施の形態とする。
【０１５８】
図２２に示すように、論理シミュレーション方法は、ＶｅｒｉｌｏｇＨＤＬで設計された回路情報及びテストベンチによる２値シミュレーションを行なう前に、回路情報及びテストベンチ中に記述されている記憶素子の情報を検索し、記憶素子初期化フラグを用いた等価な２値シミュレーションモデルを生成する。
【０１５９】
ステップ２００は、入力された回路情報及びテストベンチの記述に記憶素子があるかどうか検索する。
【０１６０】
ステップ２１０は、ステップ２００で検索した記憶素子の場所とその記述を出力する。
【０１６１】
ステップ２２０は、入力された回路情報及びテストベンチの記述中に記憶素子があれば、記憶素子初期化フラグを用いた等価な２値シミュレーションモデルを生成する。
【０１６２】
ステップ１２０は、ステップ２２０で生成された２値シミュレーションモデルに対し、２値シミュレーションを実行する。
【０１６３】
入力された回路及びテストベンチの記述から、記憶素子を検索し、記憶素子初期化フラグを用いた等価なシミュレーションモデルを生成する具体例を図２５に示し、図２２のフロー図に沿って説明する。
【０１６４】
回路記述３０８は、記憶素子記述を持たず、テストベンチ記述３１６は、記憶素子記述としてレジスタ配列の記述を持つ。
【０１６５】
ステップ２００により、回路記述３０８及びテストベンチ記述３１６中の記憶素子記述を検索する。
【０１６６】
ステップ２１０により、記憶素子記述の検索結果として、記憶素子情報５３１を出力する。記憶素子情報５３１には、テストベンチ記述にレジスタ配列の記述があることとその記述を出力する。
【０１６７】
ステップ２２０により、回路記述３０８及びテストベンチ記述３１６、記憶素子情報５３１から２値シミュレーションモデル５５１を生成する。記憶素子情報５３１より、テストベンチ記述３１６にレジスタ配列ｍｅｍがあることを得て、レジスタ配列ｍｅｍと同じ配列を持つ初期化フラグをｍｅｍ＿ｆｌｇとして追加する。回路記述３０８及びテストベンチ記述３１６中にレジスタ配列ｍｅｍの初期化記述があるかどうか検索し、あれば初期化直後に初期化フラグｍｅｍ＿ｆｌｇを「１」とする記述を追加し、２値シミュレーションモデル５５１を生成する。
【０１６８】
シミュレーション対象の回路及びテストベンチ中に記憶素子記述がどこにどのように記述されているかを回路及びテストベンチ設計者が知ることができ、また、２値シミュレーションにおいて、記憶素子の初期化をしたかどうかを確認でき、設計検証の精度が向上する。
【０１６９】
（実施の形態１４）
この発明の請求項１４に対応する第１４の実施の形態の論理シミュレーション方法のフロー図を図２４に示す。ＶｅｒｉｌｏｇＨＤＬで設計された回路情報及びテストベンチを入力とし、２値シミュレーションモデルを生成する場合を第１４の実施の形態とする。
【０１７０】
図２４に示すように、論理シミュレーション方法は、ＶｅｒｉｌｏｇＨＤＬで設計された回路情報及びテストベンチによる２値シミュレーションを行なう前に、回路情報及びテストベンチ中に記述されている記憶素子の情報を検索し、記憶素子初期化フラグを用いた等価な２値シミュレーションモデルを生成する。
【０１７１】
記憶素子情報抽出手段５２０は、入力された回路情報３００及びテストベンチ情報３１０の記述に記憶素子があるかどうか検索し、検索した記憶素子の場所とその記述を記憶素子情報５３０として出力する。
【０１７２】
２値シミュレーションモデル生成手段５４０は、入力された回路情報及びテストベンチの記述中に記憶素子があれば、記憶素子初期化フラグを用いた等価な２値シミュレーションモデル５５０を生成する。
【０１７３】
２値シミュレーション実行手段３４０は、２値シミュレーションモデル５５０を入力とし、２値シミュレーションを実行し、シミュレーション結果３５０を出力する。
【０１７４】
シミュレーション対象の回路及びテストベンチ中に記憶素子記述がどこにどのように記述されているかを回路及びテストベンチ設計者が知ることができ、また、２値シミュレーションにおいて、記憶素子の初期化をしたかどうかを確認でき、設計検証の精度が向上する。
【０１７５】
（実施の形態１５）
この発明の請求項１５に対応する第１５の実施の形態の論理シミュレーション装置の構成図を図２５に、具体例を図２６に示す。ＶｅｒｉｌｏｇＨＤＬで設計された回路情報及びテストベンチを入力とし、並列２値シミュレーションが可能なシミュレータにより、入力信号が不定な場合の回路動作シミュレーションを行う場合を第１５の実施の形態とする。
【０１７６】
図２５に示すように、論理シミュレーション装置は、回路及びテストベンチ中の信号線の未初期化及び不定値「ｘ」の入力情報抽出手段４１０と、初期値生成手段５６０と、並列２値シミュレーションモデル生成手段５８０と、並列２値シミュレーション実行手段６００と、シミュレーション結果解析手段６２０から構成されている。
【０１７７】
信号線の未初期化または不定値「ｘ」の入力情報抽出手段４１０は、回路情報３００とテストベンチ情報３１０を入力とし、それらの中に信号線の未初期化及び不定値「ｘ」の入力があるかどうか検索し、検索結果を信号線の未初期化及び不定値「ｘ」の入力情報４２０として出力する。
【０１７８】
初期値生成手段５６０は、信号線の未初期化及び不定値「ｘ」の入力情報４２０を入力とし、入力値が不定の全信号線に対し、全て「０」、全て「１」、少なくとも一つのランダムに「０」か「１」を決定した組み合わせの少なくとも三通りの信号線初期値情報５７０を出力する。
【０１７９】
並列２値シミュレーションモデル生成手段５８０は、回路情報３００とテストベンチ情報３１０、信号線の未初期化または不定値「ｘ」の入力情報抽出手段４１０の未初期化及び不定値入力情報４２０と初期値情報５７０を入力とし、並列２値シミュレーションを行うためのシミュレーションモデル５９０を生成する。回路情報３００とテストベンチ情報３１０内に信号線の未初期化及び不定値「ｘ」の入力があれば、それを初期値情報５７０に従い指定し、並列２値シミュレーションモデル５９０を生成する。並列２値シミュレーションモデル５９０は、少なくとも三通りの組み合わせを持つ初期値情報５７０に対応した少なくとも三通りのシミュレーションを並列に行うモデルとする。
【０１８０】
並列２値シミュレーション実行手段６００は、並列２値シミュレーションモデル５９０を入力とし、並列２値シミュレーションを実行し、シミュレーション結果６１０を出力する。
【０１８１】
シミュレーション結果解析手段６２０は、回路情報３００とテストベンチ情報３１０、シミュレーション結果６１０を入力とし、並列２値シミュレーション間での期待値不一致箇所を解析し、不一致の状況と関係する回路及びテストベンチ情報を解析結果情報６３０として出力する。また、並列２値シミュレーション中に信号線の期待値不一致が発生したら並列２値シミュレーション実行手段６００を制御し、並列２値シミュレーションを中断させる。
【０１８２】
入力された回路及びテストベンチの記述から、信号線の未初期化及び不定値「ｘ」の入力を検索し、並列シミュレーション用の初期値情報を生成する具体例を図２６に示し、図２５の構成図に沿って説明する。
【０１８３】
テストベンチ記述３１７は、未初期化の入力信号線ｄｉｎＡ、ｄｉｎＢ、ｄｉｎＣを持つ。
【０１８４】
信号線の未初期化または不定値「ｘ」の入力情報抽出手段４１０により、回路記述３００及びテストベンチ記述３１７中の信号線の未初期化及び不定値「ｘ」の入力を検索し、入力不定記述情報４２３を出力する。入力不定記述情報４２３には、テストベンチ記述に未初期化の入力信号線ｄｉｎＡ、ｄｉｎＢ、ｄｉｎＣがあることとその記述を出力する。
【０１８５】
初期値生成手段５６０により、入力不定記述情報４２３中の未初期化の入力信号線ｄｉｎＡ、ｄｉｎＢ、ｄｉｎＣの値を全て「０」に初期化する初期値情報５７２、全て「１」に初期化する初期値情報５７３、ランダムに「０」か「１」と初期化し、信号線ｄｉｎＡ、ｄｉｎＣを「１」に、信号線ｄｉｎＢを「０」とした初期化情報５７４を初期化情報５７１として生成する。
【０１８６】
並列２値シミュレーションモデル生成手段５８０では、三通りの初期化情報を持つ初期化情報５７１に従い、三通りの入力値の異なる並列２値シミュレーションモデル５９０を生成する。
【０１８７】
シミュレーション対象の回路及びテストベンチ中に信号線の未初期化及び不定値「ｘ」の入力がどこにどのように記述されているかを回路及びテストベンチ設計者が知ることができる。また、不定入力信号に複数組み合わせの２値入力信号を与えることにより、回路の不定値入力時の動作検証を２値シミュレーションで自動的に行うことができ、回路及びテストベンチのデバッグ性が向上する。
【０１８８】
【発明の効果】
請求項１記載の論理シミュレーション方法によれば、ディジタルＬＳＩ回路の論理シミュレーションを２値で実行する場合において、シミュレーションデータとして入力された回路及びテストベンチ情報に、不定値「ｘ」に関係する情報があるかどうか検索し、検索結果を出力する論理シミュレーション方法を提供することができ、２値シミュレーション時に問題となる多値と２値のシミュレーションで期待値が異なる可能性のある不定値「ｘ」に関係する記述を自動的に把握できる。
【０１８９】
請求項２記載の論理シミュレーション方法によれば、ディジタルＬＳＩ回路の論理シミュレーションを２値で実行する場合において、シミュレーションデータとして入力された回路及びテストベンチ情報に、不定値「ｘ」に関係する情報があるかどうか検索し、該当する回路記述があれば、不定値「ｘ」を用いない回路記述に置換する論理シミュレーション方法を提供することができ、多値と等価な２値シミュレーションを自動的に行うことができる。
【０１９０】
請求項３記載の論理シミュレーション方法によれば、ディジタルＬＳＩ回路の論理シミュレーションを２値で実行する場合において、シミュレーションデータとして入力された回路及びテストベンチ情報に、不定値「ｘ」に関係する情報があるかどうか検索し、該当する回路記述があれば、不定か不定でないかを判定するフラグを用いた回路記述に置換する論理シミュレーション方法を提供することができる。
【０１９１】
請求項４記載の論理シミュレーション方法によれば、ディジタルＬＳＩ回路の論理シミュレーションを２値で実行する場合において、シミュレーションデータとして入力された回路及びテストベンチ情報に、初期化されていない入力信号線、もしくは不定値「ｘ」が初期値として入力される回路記述を検索し、検索結果を出力する論理シミュレーション方法を提供することができる。
【０１９２】
請求項５記載の論理シミュレーション方法によれば、ディジタルＬＳＩ回路の論理シミュレーションを２値で実行する場合において、シミュレーションデータとして入力された回路及びテストベンチ情報に、初期化されていない入力信号線、もしくは不定値が入力される回路記述を検索し、該当する回路記述があれば、該当する回路記述からその入力値（初期値）を「０」か「１」に決定する論理シミュレーション方法を提供することができる。
【０１９３】
請求項６記載の論理シミュレーション方法によれば、ディジタルＬＳＩ回路の論理シミュレーションを２値で実行する場合において、シミュレーションデータとして入力された回路及びテストベンチ情報に、不定値「ｘ」に関係する情報があるかどうか検索し、該当する回路記述があれば、その不定値「ｘ」が伝搬する可能性のある信号線を全て検索し、検索結果を出力する論理シミュレーション方法を提供することができる。
【０１９４】
請求項７記載の論理シミュレーション方法によれば、ディジタルＬＳＩ回路の論理シミュレーションを２値で実行する場合において、シミュレーションデータとして入力された回路及びテストベンチ情報に、記憶素子があるかどうか検索し記憶素子があれば、記憶素子の初期化が行なわれたかどうかを初期化フラグにより観測する論理シミュレーション方法を提供することができ、レジスタ配列やメモリの初期化忘れを防止できる。
【０１９５】
請求項８記載の論理シミュレーション装置によれば、ディジタルＬＳＩ回路の論理シミュレーションを２値で実行する場合において、シミュレーションデータとして入力された回路及びテストベンチ情報に、不定値「ｘ」に関係する情報があるかどうか検索し、検索結果を出力する論理シミュレーション装置を提供することができる。
【０１９６】
請求項９記載の論理シミュレーション装置によれば、ディジタルＬＳＩ回路の論理シミュレーションを２値で実行する場合において、不定値「ｘ」に関係する回路記述を不定値「ｘ」を用いない回路記述に変換するための情報をライブラリとして具備し、シミュレーションデータとして入力された回路及びテストベンチ情報に、不定値「ｘ」に関係する情報があるかどうか検索し、該当する回路記述があれば、ライブラリに従い、不定値「ｘ」を用いない回路記述に置換する論理シミュレーション装置を提供することができる。
【０１９７】
請求項１０記載の論理シミュレーション装置によれば、ディジタルＬＳＩ回路の論理シミュレーションを２値で実行する場合において、シミュレーションデータとして入力された回路及びテストベンチ情報に、初期化されていない入力信号線、もしくは不定値「ｘ」が初期値として入力される回路記述を検索し、検索結果を出力する論理シミュレーション装置を提供することができる。
【０１９８】
請求項１１記載の論理シミュレーション装置によれば、ディジタルＬＳＩ回路の論理シミュレーションを２値で実行する場合において、未初期化もしくは不定値「ｘ」が入力値の時、「０」か「１」に入力値を指定する情報をライブラリとして具備し、シミュレーションデータとして入力された回路及びテストベンチ情報に、初期化されていない入力信号線、もしくは不定値が入力される回路記述を検索し、該当する回路記述があれば、ライブラリに従い、その初期入力値を「０」か「１」に指定する論理シミュレーション装置を提供することができる。
【０１９９】
請求項１２記載の論理シミュレーション装置によれば、ディジタルＬＳＩ回路の論理シミュレーションを２値で実行する場合において、シミュレーションデータとして入力された回路及びテストベンチ情報に、不定値「ｘ」に関係する情報があるかどうか検索し、該当する回路記述があれば、その不定値「ｘ」が伝搬する可能性のある信号線を全て検索し、検索結果を出力する論理シミュレーション装置を提供することができる。
【０２００】
請求項１３記載の論理シミュレーション装置によれば、ディジタルＬＳＩ回路の論理シミュレーションを２値で実行する場合において、部分的に信号線毎に多値のシミュレーションを実行できるシミュレータと多値の指定方法をライブラリとして具備し、シミュレーションデータとして入力された回路及びテストベンチ情報に、不定値「ｘ」に関係する情報があるかどうか検索し、該当する回路記述があれば、その不定値「ｘ」が伝搬する可能性のある信号線を全て検索し、ライブラリに従い、不定値「ｘ」が伝搬する信号線を多値指定とする論理シミュレーション装置を提供することができ、不定値入力による回路の誤動作を検証でき、回路設計効率が向上する。
【０２０１】
請求項１４記載の論理シミュレーション装置によれば、ディジタルＬＳＩ回路の論理シミュレーションを２値で実行する場合において、シミュレーションデータとして入力された回路及びテストベンチ情報に、記憶素子があるかどうか検索し、記憶素子があれば、記憶素子の初期化が行なわれたかどうかを初期化フラグにより観測する論理シミュレーション装置を提供することができる。
【０２０２】
請求項１５記載の論理シミュレーション装置によれば、ディジタルＬＳＩ回路の論理シミュレーションを２値で実行する場合において、シミュレーションデータとして入力された回路及びテストベンチ情報に、初期化されていない入力信号線、もしくは不定値が初期値として入力される回路記述を検索し、回路記述があれば、その初期値を、全て「０」、全て「１」、少なくとも一通りのランダムに「０」か「１」の組合せとし、少なくとも３つの並列シミュレーション可能な論理シミュレータにより同時にシミュレーションを行ない、その期待値を観測し、観測結果を出力する論理シミュレーション装置を提供することができる。
【図面を簡単な説明】
【図１】この発明の第１の実施の形態の論理シミュレーション方法のフロー図である。
【図２】第１の実施の形態の論理シミュレーション方法の具体例を示す図である。
【図３】第２の実施の形態の論理シミュレーション装置の構成図である。
【図４】第３の実施の形態の論理シミュレーション方法のフロー図である。
【図５】第３の実施の形態の論理シミュレーション方法の具体例を示す図である。
【図６】第４の実施の形態の論理シミュレーション方法のフロー図である。
【図７】第４の実施の形態の論理シミュレーション方法の具体例を示す図である。
【図８】第５の実施の形態の論理シミュレーション装置のの構成図である。
【図９】第５の実施の形態の論理シミュレーション装置の具体例を示す図である。
【図１０】第６の実施の形態の論理シミュレーション方法のフロー図である。
【図１１】第６の実施の形態の論理シミュレーション方法の具体例を示す図である。
【図１２】第７の実施の形態の論理シミュレーション装置の一実施例の構成図である。
【図１３】第８の実施の形態の論理シミュレーション方法のフロー図である。
【図１４】第８の実施の形態の論理シミュレーション方法の具体例を示す図である。
【図１５】第９の実施の形態の論理シミュレーション装置の構成図である。
【図１６】第９の実施の形態の論理シミュレーション装置の具体例を示す図である。
【図１７】第１０の実施の形態の論理シミュレーション方法のフロー図である。
【図１８】第１０の実施の形態の論理シミュレーション方法の具体例を示す図である。
【図１９】第１１の実施の形態の論理シミュレーション装置の構成図である。
【図２０】第１２の実施の形態の論理シミュレーション装置の構成図である。
【図２１】第１２の実施の形態の論理シミュレーション装置の具体例を示す図である。
【図２２】第１３の実施の形態の論理シミュレーション方法のフロー図である。
【図２３】第１３の実施の形態の論理シミュレーション方法の具体例を示す図である。
【図２４】第１４の実施の形態の論理シミュレーション装置の構成図である。
【図２５】第１５の実施の形態の論理シミュレーション装置の構成図である。
【図２６】第１５の実施の形態の論理シミュレーション装置の具体例を示す図である。
【図２７】従来の論理シミュレーション方法のフロー図である。
【図２８】従来の論理シミュレーション装置の構成図である。
【図２９】従来の論理シミュレーション方法の具体例を示す図である。
【符号の説明】
１００  回路及びテストベンチ中に不定値があるかどうか検索するステップ
１１０  不定値を「０」か「１」に置き換えて２値シミュレーションモデルを生成するステップ
１２０  ２値シミュレーションを実行するステップ
１３０  不定値情報を出力するステップ
１４０  不定値を含まない等価なモデルに変換するステップ
１４１  不定状態判定フラグを用いた不定値を含まない等価なモデルに変換し、２値シミュレーションモデルを生成するステップ
１５０  回路及びテストベンチ中に未初期化及び不定入力があるかどうか検索するステップ
１６０  未初期化及び不定入力情報を出力するステップ
１７０  未初期化及び不定入力の接続先から初期値を決定し、２値シミュレーションモデルを生成するステップ
１８０  回路及びテストベンチ中に不定値、未初期化及び不定入力があるかどうか検索するステップ
１９０  不定値伝播信号線を抽出するステップ
２００  回路及びテストベンチ中に記憶素子記述があるかどうか検索するステップ
２１０  記憶素子情報を出力するステップ
２２０  記憶素子初期化フラグを用いた等価なモデルに変換し、２値シミュレーションモデルを生成するステップ
３００  回路情報
３０１  回路情報
３０２  回路情報
３０３  回路情報
３０４  回路情報
３０５  回路情報
３０６  回路情報
３０７  回路情報
３０８  回路情報
３１０  テストベンチ情報
３１１  テストベンチ情報
３１２  テストベンチ情報
３１３  テストベンチ情報
３１４  テストベンチ情報
３１５  テストベンチ情報
３１６  テストベンチ情報
３１７  テストベンチ情報
３２０  ２値シミュレーションモデル生成手段
３３０  ２値シミュレーションモデル情報
３３１  ２値シミュレーションモデル情報
３３２  ２値シミュレーションモデル情報
３３３  ２値シミュレーションモデル情報
３３４  ２値シミュレーションモデル情報
３４０  ２値シミュレーション実行手段
３５０  シミュレーション結果
３６０  不定値情報抽出手段
３７０  不定値情報
３７１  不定値情報
３７２  不定値情報
３７３  不定値情報
３８０  ２値シミュレーションモデル生成手段
３９０  不定値記述変換規約ライブラリ
３９１  不定値記述変換規約ライブラリ
４００  ２値シミュレーションモデル情報
４０１  ２値シミュレーションモデル情報
４１０  未初期化及び不定値入力情報抽出手段
４２０  未初期化及び不定値入力情報
４２１  未初期化及び不定値入力情報
４２２  未初期化及び不定値入力情報
４２３  未初期化及び不定値入力情報
４３０  ２値シミュレーションモデル生成手段
４４０  入力初期値規約ライブラリ
４４１  入力初期値規約ライブラリ
４５０  ２値シミュレーションモデル情報
４５１  ２値シミュレーションモデル情報
４６０  不定値伝播信号線情報抽出手段
４７０  不定値伝播信号線情報
４７１  不定値伝播信号線情報
４８０  ２値多値混在シミュレーションモデル生成手段
４９０  多値指定規約ライブラリ
４９１  多値指定規約ライブラリ
５００  ２値多値混在シミュレーションモデル情報
５０１  ２値多値混在シミュレーションモデル情報
５１０  ２値多値混在シミュレーション実行手段
５２０  記憶素子情報抽出手段
５３０  記憶素子情報
５３１  記憶素子情報
５４０  ２値シミュレーションモデル生成手段
５５０  ２値シミュレーションモデル情報
５５１  ２値シミュレーションモデル情報
５６０  初期値生成手段
５７０  初期値情報
５７１  初期値情報
５７２  初期値情報
５７３  初期値情報
５７４  初期値情報
５８０  並列２値シミュレーションモデル生成手段
５９０  並列２値シミュレーションモデル情報
６００  並列２値シミュレーション実行手段
６１０  シミュレーション結果
６２０  シミュレーション結果解析手段
６３０  シミュレーション結果解析情報
【図１】
0004011778.tif 000002
【図２】
0004011778.tif 000003
【図３】
0004011778.tif 000004
【図４】
0004011778.tif 000005
【図５】
0004011778.tif 000006
【図６】
0004011778.tif 000007
【図７】
0004011778.tif 000008
【図８】
0004011778.tif 000009
【図９】
0004011778.tif 000010
【図１０】
0004011778.tif 000011
【図１１】
0004011778.tif 000012
【図１２】
0004011778.tif 000013
【図１３】
0004011778.tif 000014
【図１４】
0004011778.tif 000015
【図１５】
0004011778.tif 000016
【図１６】
0004011778.tif 000017
【図１７】
0004011778.tif 000018
【図１８】
0004011778.tif 000019
【図１９】
0004011778.tif 000020
【図２０】
0004011778.tif 000021
【図２１】
0004011778.tif 000022
【図２２】
0004011778.tif 000023
【図２３】
0004011778.tif 000024
【図２４】
0004011778.tif 000025
【図２５】
0004011778.tif 000026
【図２６】
0004011778.tif 000027
【図２７】
0004011778.tif 000028
【図２８】
0004011778.tif 000029
【図２９】
0004011778.tif 000030