(57)【特許請求の範囲】
【請求項１】
テストベンチを用いて論理シミュレーションを実行する論理シミュレーション部と、
コードカバレッジ情報を利用して、論理シミュレーションにおいて実行されていない回路記述を抽出する未実行記述抽出部と、
抽出された前記回路記述が論理的に実行される可能性があるか否かを判別する判別手段と、
論理的に実行される可能性がある前記回路記述について、当該回路記述を実行するためのテストベンチを生成し、当該テストベンチを用いた論理シミュレーションにおいて回路動作が仕様を満たさない場合、その後の論理シミュレーションの際の入力パターンが当該テストベンチの入力パターンと同じか否かを判定するテストベンチを生成する禁止入力チェッカ生成部と
を具備することを特徴とする設計検証システム。
【請求項２】
前記テストベンチを生成することができない回路記述について、その後の論理シミュレーション時に当該回路記述が実行されようとしたことを通知するテストベンチを生成する未実行記述チェッカ生成部を具備することを特徴とする請求項１に記載の設計検証システム。
【請求項３】
前記判別手段は、モデルチェッキング技術により前記回路記述が論理的に実行可能性があるか否かを判別することを特徴とする請求項１又は請求項２に記載の設計検証システム。
【請求項４】
コンピュータが、コードカバレッジ情報を利用して、論理シミュレーションにおいて実行されていない回路記述を抽出するステップと、
コンピュータが、抽出された前記回路記述が論理的に実行される可能性があるか否かを判別するステップと、
コンピュータが、論理的に実行される可能性がある前記回路記述について、当該回路記述を実行するためのテストベンチを生成するステップと、
コンピュータが、生成された前記テストベンチを用いて論理シミュレーションを実行するステップと、
コンピュータが、前記テストベンチを用いた論理シミュレーションにおいて回路動作が仕様を満たさない場合、その後の論理シミュレーションの際の入力パターンが当該テストベンチの入力パターンと同じか否かを判定するテストベンチを生成するステップと
を有することを特徴とする設計検証方法。
【請求項５】
コンピュータが、前記テストベンチを生成することができない回路記述について、その後の論理シミュレーション時に当該回路記述が実行されようとしたことを通知するテストベンチを生成するステップを有することを特徴とする請求項４に記載の設計検証方法。
【請求項６】
コンピュータは、前記回路記述が論理的に実行可能性があるか否かの判別をモデルチェッキング技術を用いて行うことを特徴とする請求項４又は請求項５に記載の設計検証方法。
【請求項７】
コードカバレッジ情報を利用して、論理シミュレーションにおいて実行されていない回路記述を抽出する処理と、
抽出された前記回路記述が論理的に実行される可能性があるか否かを判別する処理と、
論理的に実行される可能性がある前記回路記述について、当該回路記述を実行するためのテストベンチを生成する処理と、
生成された前記テストベンチを用いて論理シミュレーションを実行する処理と、
前記テストベンチを用いた論理シミュレーションにおいて回路動作が仕様を満たさない場合、その後の論理シミュレーションの際の入力パターンが当該テストベンチの入力パターンと同じか否かを判定するテストベンチを生成する処理と
を含み、これらの処理をコンピュータに実行させることを特徴とする設計検証プログラムを格納したコンピュータ読取り可能な記録媒体。
【請求項８】
前記テストベンチを生成することができない回路記述について、その後の論理シミュレーション時に当該回路記述が実行されようとしたことを通知するテストベンチを生成する処理を含み、この処理をコンピュータに実行させることを特徴とする請求項７に記載の設計検証プログラムを格納したコンピュータ読取り可能な記録媒体。
【請求項９】
前記回路記述が論理的に実行可能性があるか否かの判別処理をモデルチェッキング技術を用いて行うことを特徴とする請求項７又は請求項８に記載の設計検証プログラムを格納したコンピュータ読取り可能な記録媒体。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、電子回路の設計検証処理に利用される設計検証システム、設計検証方法および設計検証プログラムを格納したコンピュータ読取り可能な記録媒体に関し、特に、テスト環境やテストベクトルが変更されたような場合であっても、変更に依存することなく、コードカバレッジ情報を効率良く管理することを可能にする技術に係わる。
【０００２】
【従来の技術】
近年の回路の急速な大規模化、複雑化に伴い、既に作製された設計資産を回路の設計段階において積極的に再利用しようとする動きが活発になっている。
【０００３】
設計資産を再利用して回路を設計する時には、再利用する回路が本当に信頼できるものであるか、十分に検証されたものであるか等、再利用する回路に対する検証確度に関する情報が、設計仕様を満たした回路を設計する上でも、大変重要となってくる。検証確度に関する情報としては、現在までの所、コードカバレッジ情報が一般に広く利用されている。コードカバレッジ情報とは、論理シミュレーション時に、回路記述内のどの記述が実行されたかを記録した情報であり、コードカバレッジ情報を参照することにより、設計者は、論理シミュレーションによってどの程度の回路記述が実行されたかを数値（％）により認識し、検証確度を図る目安を得ることができる。なお、最近では、回路記述の各行が実行されたか否かを判断する単純なステートカバレッジに加え、各条件式が実行されているか否かを示すブランチカバレッジ等、複数の種類のコードカバレッジ情報を取得することが可能となり、より精度の高い検証確度に関する情報を得ることができるようになっている。
【０００４】
【発明が解決しようとする課題】
ところが、回路の設計検証処理に利用される従来までのコードカバレッジ情報には、以下に示すような解決すべき技術的課題がある。
【０００５】
第１に、コードカバレッジ情報を取得する際、各回路に対して数種類のコードカバレッジ情報を保存するので、回路が大規模、複雑になるに伴い、その情報量が増大し、コードカバレッジ情報の管理が非常に煩雑となる。
【０００６】
第２に、コードカバレッジ情報はテスト環境、テストベクトル単位で取得するために、既存の回路を組み合わせて新たな回路を作製した場合の全体検証（上位システム検証）においてテスト環境、テストベクトルの構成が変更されると、単体検証（下位システム検証）時のコードカバレッジ情報を全体検証に正しく反映させることができない。また、全体検証の際に問題が発生しても、その問題が単体検証時において検証されなかった記述の問題であるのか、仕様として許されていない入力信号列を入力しているのか、換言すれば、周辺回路に起因する問題であるのか等の判別を行うことができず、デバッグ処理の効率が非常に悪い。
【０００７】
本発明は、このような技術的課題を解決すべくなされたものであり、その目的は、コードカバレッジ情報を効率良く管理することを可能にする設計検証システムを提供することにある。
【０００８】
また、本発明の他の目的は、コードカバレッジ情報を効率良く管理することを可能にする設計検証方法を提供することにある。
【０００９】
さらに、本発明の他の目的は、コードカバレッジ情報を効率良く管理することを可能にする設計検証プログラムを格納したコンピュータ読取り可能な記録媒体を提供することにある。
【００１０】
【課題を解決するための手段】
上記技術的課題を解決するにあたって、発明者は、論理シミュレーションの際の入力パターンが仕様的に禁止されている入力パターンと同じかどうかを判定し、また、論理シミュレーション時にそれまでのシミュレーションで未実行記述が実行された場合にその旨をユーザに通知することを可能にすることにより、環境に依存することなく、コードカバレッジ情報を効率良く管理することが可能になると考え、精力的な研究の結果、以下の特徴を含む技術的思想を発案するに至った。
【００１１】
本発明に係る設計検証システムの特徴は、テストベンチを用いて論理シミュレーションを実行する論理シミュレーション部と、コードカバレッジ情報を利用して、論理シミュレーションにおいて実行されていない回路記述を抽出する未実行記述抽出部と、抽出された回路記述が論理的に実行される可能性があるか否かを判別する判別手段と、論理的に実行される可能性がある回路記述について、当該回路記述を実行するためのテストベンチを生成し、テストベンチを用いた論理シミュレーションにおいて回路動作が仕様を満たさない場合、その後の論理シミュレーションの際の入力パターンがテストベンチの入力パターンと同じか否かを判定するテストベンチを生成する禁止入力チェッカ生成部とを具備することにある。
【００１２】
本発明に係る設計検証方法の特徴は、コンピュータが、コードカバレッジ情報を利用して、論理シミュレーションにおいて実行されていない回路記述を抽出するステップと、コンピュータが、抽出された回路記述が論理的に実行される可能性があるか否かを判別するステップと、コンピュータが、論理的に実行される可能性がある回路記述について、回路記述を実行するためのテストベンチを生成するステップと、コンピュータが、生成されたテストベンチを用いて論理シミュレーションを実行するステップと、コンピュータが、テストベンチを用いた論理シミュレーションにおいて回路動作が仕様を満たさない場合、その後の論理シミュレーションの際の入力パターンがテストベンチの入力パターンと同じか否かを判定するテストベンチを生成するステップとを有することにある。
【００１３】
本発明に係る設計検証プログラムを格納したコンピュータ読取り可能な記録媒体の特徴は、コードカバレッジ情報を利用して、論理シミュレーションにおいて実行されていない回路記述を抽出する処理と、抽出された回路記述が論理的に実行される可能性があるか否かを判別する処理と、論理的に実行される可能性がある回路記述について、回路記述を実行するためのテストベンチを生成する処理と、生成された前記テストベンチを用いて論理シミュレーションを実行する処理と、当該テストベンチを用いた論理シミュレーションにおいて回路動作が仕様を満たさない場合、その後の論理シミュレーションの際の入力パターンがテストベンチの入力パターンと同じか否かを判定するテストベンチを生成する処理とを含み、これらの処理をコンピュータに実行させることにある。
【００１４】
なお、テストベンチを生成することができない回路記述について、その後の論理シミュレーション時に回路記述が実行されようとしたことを通知するテストベンチを生成することが望ましい。
【００１５】
また、回路記述が論理的に実行可能性があるか否かの判別処理はモデルチェッキング技術を用いて行うことが望ましい。
【００１６】
【発明の実施の形態】
本発明に係る設計検証システムおよび設計検証方法は、例えば、コードカバレッジ情報の管理処理に適用、実施することができる。以下、本発明の実施形態に係る設計検証システムの構成およびその動作について説明する。
【００１７】
《設計検証システムの構成》
始めに、図１を参照して、本発明の実施形態に係る設計検証システムの構成について説明する。
【００１８】
本発明の実施形態に係る設計検証システムは、図１に示すように、コードカバレッジ情報の管理を行う設計検証装置１１０を具備し、設計検証装置１１０は、入出力インタフェイス１１１、制御部１１２、論理シミュレーション部１１３、解析処理部１１４、未実行記述抽出部１１５、モデルチェッキング処理部１１６、未実行記述チェッカ生成部１１７、禁止入力チェッカ生成部１１８、回路記述データベース１１９、コードカバレッジ情報データベース１２０、テストベンチデータベース１２１、未実行記述チェック用データベース１２２、禁止入力パターンチェック用データベース１２３を備える。
【００１９】
入出力インタフェイス１１１は、ユーザや設計検証装置１１０からの各種情報の入出力処理を支援、制御し、具体的には、グラフィカルユーザインタフェイス（Graphical User Interface）を利用する。
【００２０】
制御部１１２は、設計検証装置１１０内の各構成要素の動作を制御する。
【００２１】
論理シミュレーション部１１３は、コードカバレッジ情報の取得処理を含む論理シミュレーションを実行する。
【００２２】
解析処理部１１４は、論理シミュレーション結果およびコードカバレッジ情報の解析処理を行う環境をユーザに提供し、例えば、システム内の任意の点における信号の波形を表示する。
【００２３】
未実行記述抽出部１１５は、論理シミュレーションによって抽出されたコードカバレッジ情報の結果から、論理シミュレーションにおいて未だ実行されていないＲＴＬ（Register Transfer Level）記述を抽出する。
【００２４】
モデルチェッキング処理部１１６は、未実行記述抽出部１１５によって抽出された未実行記述が論理的に実行される可能性があるか否かをモデルチェッキング（＝形式検証）技術を用いて解析する。
【００２５】
未実行記述チェッカ生成部１１７は、論理シミュレーション時に未実行記述が実行されようとしたら、その旨をメッセージとして出力部１０２に出力するテストベンチ（＝未実行記述チェッカ）を生成する。
【００２６】
禁止入力チェッカ生成部１１８は、未実行記述の入力まで逆トレースし、未実行記述を実行するためのテストベンチを生成し、生成したテストベンチが仕様的に禁止されている入力である場合、生成したテストベンチと論理シミュレーションの際の入力パターンが同じかどうかを判定するチェック用テストベンチ（＝禁止入力チェッカ）を生成する。
【００２７】
回路記述データベース１１９は、設計する回路の仕様および動作を記述したＲＴＬ記述を格納する。
【００２８】
コードカバレッジ情報データベース１２０は、回路記述データベース１１９内に格納されたＲＴＬ記述についてのコードカバレッジ情報を格納する。
【００２９】
テストベンチデータベース１２１は、設計する回路の設計検証に利用するテストベンチを格納する。なお、ここでいうテストベンチとは、テストベクトルに、ＲＯＭやＲＡＭ等のシミュレーションモデルを加えたものを意味する。
【００３０】
未実行記述チェック用データベース１２２は、未実行記述チェッカ生成部１１７が生成した未実行記述チェッカを格納する。
【００３１】
禁止入力パターンチェック用データベース１２３は、禁止入力チェッカ生成部１１８が生成した禁止入力チェッカを格納する。
【００３２】
また、設計検証装置１１０は、設計検証装置１１０に関する各種入力情報や制御情報を入力するための入力部１０１、設計検証装置１１０に関する各種出力情報やエラー情報を出力するための出力部１０２に電気的に接続されている。ここで、入力部１０１としては、キーボード、マウスポインタ、ライトペン、出力部１０２としては、ディスプレイ、プリンタ、音声出力装置がこれにあたる。
【００３３】
《設計検証システムの動作〜設計検証方法〜》
次に、図２〜図４を参照して、本発明の実施形態に係る設計検証システムの動作について説明する。
【００３４】
本発明の実施形態に係る設計検証システムは、ユーザがＲＴＬ設計検証環境を作製し（Ｓ２０１）、論理シミュレーションの動作開始指示命令が入力部１０１を介して入力されるにしたがって、以下に示す処理ステップを開始する。
【００３５】
『下位システム検証処理』（図２、３参照）
（１）論理シミュレーション部１１３が、コードカバレッジ取得処理を含む論理シミュレーションを実行する（Ｓ２０２）。
【００３６】
（２）論理シミュレーションが完了すると、ユーザは、解析処理部１１４を利用して論理シミュレーション結果およびコードカバレッジ情報の解析を行い、検証確度を向上させる（Ｓ２０３）。
【００３７】
ここで、検証確度は、信号の波形の目視確認や検証言語のアサーションによる自動確認により回路が仕様にあっているか否か、実行されていないＲＴＬ記述が妥当なものであるか否か等の判別処理を行い、論理シミュレーション結果およびコードカバレッジ情報の解析し、その後、ＲＴＬ記述内のバグを修正（Ｓ２０４、Ｓ２０５）、テストベクトルを追加、再びＲＴＬ設計検証環境を作製（Ｓ２０６，Ｓ２０１）等して、向上が図られるものとする。
【００３８】
（３）回路のバグがある程度収束し、テストベクトルの追加、修正による検証確度の向上がこれ以上難しいと判断されると、未実行記述抽出部１１５が、論理シミュレーション時に収集されたコードカバレッジ情報を利用して、論理シミュレーションにおいて未だ実行されていないＲＴＬ記述（＝未実行記述）を抽出する（Ｓ２０７）。
【００３９】
なお、ここでいう未実行記述とは、コードカバレッジ情報の中から収集できる情報から判断することが可能な、全ての未実行記述を含み、例えば、ブランチ、ステート等のコードカバレッジ情報に対応する記述文がこれにあたる。
【００４０】
（４）未実行記述が抽出されると、モデルチェッキング処理部１１６が、未実行記述が論理的に実行される可能性があるか否かをモデルチェッキング技術を用いて解析し、解析の結果、論理的に実行される可能性がある場合には処理ステップ（Ｓ３０１）へ移行し、可能性がない場合には抽出された未実行記述を今後のコードカバレッジ計算対象から外す（Ｓ２１０）。
【００４１】
（５）禁止入力チェッカ生成部１１８が、各未実行記述について入力まで逆トレースし、未実行記述を実行するためのテストベンチの生成を試み（Ｓ３０１）、生成条件が複雑すぎる等の理由よってテストベンチを生成することができなかった場合には処理ステップ（Ｓ３１０）へ、生成することができた場合には処理ステップ（Ｓ３０３）へ移行する。
【００４２】
なお、ここでいう未実行記述とは、モデルチェッキング処理部１１６が論理的に実行可能性があると判断した未実行記述に加え、モデルチェッキング処理部１１６の性能の限界によって実行可能性の有無を判定できなかった未実行記述も含むものとする。
【００４３】
（６）論理シミュレーション部１１３が、禁止入力チェッカ生成部１１８が生成した未実行記述を実行するためのテストベンチを用いて論理シミュレーションを実行する（Ｓ３０３）。そして、論理シミュレーションの結果を解析し、回路動作が仕様を満たす場合には、論理シミュレーションに使用したテストベンチをテストベンチデータベースに格納する（Ｓ３０５）。一方、回路動作が仕様を満たさない場合には、ＲＴＬ記述にバグがあるか否かを解析し、回路記述内にバグがある場合にはＲＴＬ記述を修正し（Ｓ３０７）、ＲＴＬ記述内にバグがない場合には処理ステップ（Ｓ３０８）に移行する。
【００４４】
（７）処理ステップ（Ｓ３０３）における論理シミュレーションの結果、回路動作が仕様を満たさず、且つ、回路記述内にバグがない場合、禁止入力チェッカ生成部１１８が、生成したテストベンチが仕様的に禁止されている入力であると判断し、論理シミュレーションの際の入力パターンがそのテストベンチの入力パターンと同じかどうかを判定するチェック用テストベンチ（＝禁止入力チェッカ）を生成し、禁止入力パターンチェック用データベース１２３内に格納する（Ｓ３０８）。
【００４５】
（８）禁止入力チェッカが生成されると、制御部１１２が、テストベンチの生成元となった未実行記述をコードカバレッジを計算する対象から除外する（Ｓ３０９）。
【００４６】
（９）禁止入力チェッカ生成部１１８が、生成条件が複雑すぎる等の理由よって、未実行記述を実行するためのテストベンチを生成することができなかった場合には、未実行記述チェッカ生成部１１７が、論理シミュレーション時に未実行記述が実行されようとしたら、その旨をメッセージとして出力部１０２に出力するテストベンチ（＝未実行記述チェッカ）を生成し、未実行記述チェック用データベース１２２内に格納する。
【００４７】
『上位システム検証』（図４参照）
（１）制御部１１２が、禁止入力パターンチェック用データベース１２３内に格納された下位システムの禁止入力チェッカを用いて、上位システムの論理シミュレーションにおいて使用するテストベンチ内に下位システムの禁止入力パターンがあるか否かを判別する（Ｓ４０１）。
【００４８】
判別の結果、下位システムに関する禁止入力パターンがある場合には、その旨をユーザに通知し、ユーザは通知に応じて入力パターンを修正し（Ｓ４０２）、再び処理ステップ（Ｓ４０１）に戻る。一方、禁止入力パターンがない場合には、次の処理ステップ（Ｓ４０３）に移行する。
【００４９】
（２）論理シミュレーション部１１３が、テストベンチデータベース１２１内に格納されたテストベンチを利用して論理シミュレーションを実行する（Ｓ４０３）。
【００５０】
（３）制御部１１２が、未実行記述チェック用データベース１２２内に格納された下位システムの未実行記述チェッカを用いて、上位システムの論理シミュレーションの際に、下位システムの論理シミュレーション時に実行されなかったＲＴＬ記述（＝未実行記述）が実行されたか否かを判別する（Ｓ４０４）。
【００５１】
判別の結果、下位システムにおける未実行記述が実行された場合には処理ステップ（Ｓ４０５）へ、実行されなかった場合には処理ステップ（Ｓ４０８）へ移行する。
【００５２】
（４）制御部１１２が、論理シミュレーションの結果を参照して、未実行記述が実行された時の回路動作が設計仕様を満たしているか否かを判別する（Ｓ４０５）。
【００５３】
ここで、仕様を満たしているか否かの判別処理には、信号波形の目視確認や検証言語のアサーションによる自動確認が含まれるものとする。
【００５４】
判別の結果、未実行記述が実行された時の回路動作が設計仕様を満たしていない場合には処理ステップ（Ｓ４０６）へ、一方、満たしている場合には処理ステップ（Ｓ４０７）へ移行する。
【００５５】
（５）未実行記述が実行された時の回路動作が設計仕様を満たしていない場合、その原因を解析し、原因がＲＴＬ記述のバグである時にはＲＴＬ記述を修正し、一方、原因が仕様的に禁止されている入力パターンによる場合には、禁止入力チェッカ生成部１１８が、論理シミュレーションの際の入力パターンがそのテストベンチの入力パターンと同じかどうかを判定するチェック用テストベンチ（禁止入力チェッカ）を生成し、禁止入力パターンチェック用データベース１２３内に格納する。そして、禁止入力チェッカが生成されると、制御部１１２が、入力パターンの生成元となった未実行記述をコードカバレッジ計算対象から除外する（Ｓ４０６）。
【００５６】
（６）未実行記述が実行された時の回路動作が設計仕様を満たしている場合には、制御部１２１が、下位システムの境界におけるテスト入力パターンを切り出し、下位システムのテストベンチデータベース１２１内に格納すると同時に、コードカバレッジ情報データベース１２０内にコードカバレッジ情報を格納する（Ｓ４０７）。
【００５７】
（７）上位システムの論理シミュレーションの際に、下位システムの論理シミュレーション時に実行されなかった未実行記述が実行されなかった場合には、制御部１１２が、下位システムを組み合わせる（＝上位システムを構築する）ことにより新たな分岐やパスが発生していないかどうか判別する（Ｓ４０８）。
【００５８】
判別の結果、新たな分岐やパスが発生している場合には、下位システム設計検証処理の際と同様にして、上位システムに関する禁止入力チェッカおよび未実行チェッカを生成し（Ｓ４１０）、下位システムにおける禁止入力チェッカ、未実行記述チェッカと合わせて、上位システムにおけるチェッカとして、未実行記述チェック用データベース１２２、禁止入力パターンチェック用データベース１２３のそれぞれに格納し、上位システムの設計検証処理を終了する。一方、新たな分岐やパスが発生していない場合には、上位システムに関する禁止入力チェッカおよび未実行チェッカを生成せずに、一連の設計検証処理は完了される。
【００５９】
なお、上記実施形態の説明においては下位システムと上位システムの２階層についての設計検証処理について説明したが、本発明はこれに限られることなく、例えば、検証した上位システムをさらに上位のシステムに統合、又は、システム同士を組み合わせるような場合にも、以上の処理ステップを繰り返すものとする。
【００６０】
また、本発明の実施形態に係る設計検証装置には、いわゆる汎用機、ワークステーション、ＰＣ（Personal Computer）、ＮＣ（Network Computer）等が含まれ、例えば、図７に示す構成のような概観を有し、フロッピーディスクドライブ７２および光ディスクドライブ７４を備えている。そして、フロッピーディスクドライブ７２に対してはフロッピーディスク７３、光ディスクドライブ７４に対しては光ディスク７５を挿入し、所定の読み出し操作を行うことにより、これらの記録媒体に格納されたプログラムをコンピュータシステム内にインストールすることができる。また、所定のドライブ装置を接続することにより、例えば、メモリ装置の役割を担うＲＯＭ７７や、磁気テープ装置の役割を担うカートリッジ７８を用いて、インストールやデータの読み書きを実行することもできる。
【００６１】
さらに、本発明の実施形態に係る設計検証方法は、プログラム化しコンピュータ読取り可能な記録媒体に保存しても良い。そして、設計検証処理を行う際は、この記録媒体をコンピュータシステムに読み込ませ、コンピュータシステム内のメモリ等の記憶部にプログラムを格納し、設計検証プログラムを演算装置で実行することにより、本発明の設計検証装置およびその方法を実現することができる。なおここで言う記録媒体とは、例えば、半導体メモリ、磁気ディスク、光ディスク、光磁気ディスク、磁気テープなどのプログラムを記録することができるようなコンピュータ読取り可能な記録媒体等が含まれる。
【００６２】
《実施の形態から得られる効果》
以上のように、本発明の実施形態に係る設計検証システムおよび設計検証方法によれば、論理シミュレーションにおいて実行されていない回路記述が論理的に実行される可能性があるかどうかの判定を行うことができるので、より正確なコードカバレッジ情報を算出することができる。
【００６３】
また、本発明の実施形態に係る設計検証システムおよび設計検証方法によれば、回路が大規模化、複雑になることによってコードカバレッジが１００％になるような外部入力列を定義することは非常に難しいが、それを特定の記述から逆トレースすることによって自動的に生成することができる。
【００６４】
また、本発明の実施形態に係る設計検証システムおよび設計検証方法によれば、論理シミュレーションにおいて未実行の記述であるということを、テスト環境に依存することなく、正確に伝達し、未実行記述の確認、管理を自動化することができる。
【００６５】
さらに、本発明の実施形態に係る設計検証システムおよび設計検証方法によれば、作製された回路記述が仕様で禁止されている使い方をされていないかをテスト環境に依存することなく、確認することができる。
【００６６】
さらにまた、本発明の実施形態に係る設計検証システムおよび設計検証方法によれば、検証確度情報をテスト環境に依存することなく管理することができ、他のテスト環境下での確認も行うことが可能となる。また、検証確度が上がるにつれて取り扱う情報量は減少していくので、コードカバレッジ情報の管理が容易となる。
【００６７】
また、本発明の実施形態に係る設計検証システムおよび設計検証方法によれば、回路を組み合わせることによって発生する新たな分岐や上位システム固有のパスを正確に管理することが可能となる。
【００６８】
さらに、本発明の実施形態に係る設計検証システムおよび設計検証方法によれば、上位システムのチェック用テストベンチは、図５，６に示すように、下位システムのチェック用テストベンチと上位システム固有のチェック用テストベンチとを組み合わせるだけで実現することができるので、回路構成が変わった場合や、上位システム同士を更に組み合わせ場合でも簡単にコードカバレッジ情報を反映、管理することが可能となる。
【００６９】
【発明の効果】
本発明の設計検証システム、設計検証方法および設計検証プログラムを格納したコンピュータ読取り可能な記録媒体によれば、コードカバレッジ情報を効率良く管理することができる。
【図面の簡単な説明】
【図１】本発明の実施形態に係る設計検証システムの構成を示すブロック図である。
【図２】本発明の実施形態に係る設計検証処理を示すフローチャート図である。
【図３】本発明の実施形態に係る設計検証処理を示すフローチャート図である。
【図４】本発明の実施形態に係る設計検証処理を示すフローチャート図である。
【図５】本発明の実施形態に係る下位システムの設計検証処理を説明するための模式図である。
【図６】本発明の実施形態に係る上位システムの設計検証処理を説明するための模式図である。
【図７】本発明の実施形態に係る設計検証装置の概観を示す模式図である。
【符号の説明】
７０  コンピュータシステム
７１  ディスプレイ
７２  フロッピーディスクドライブ
７３  フロッピーディスク
７４  光ディスクドライブ
７５  光ディスク
７６  キーボード
７７  ＲＯＭ
７８  カートリッジ
１００  設計検証システム
１０１  入力部
１０２  出力部
１１０  設計検証装置
１１１  入出力インタフェイス
１１２  制御部
１１３  論理シミュレーション部
１１４  解析処理部
１１５  未実行記述抽出部
１１６  モデルチェッキング部
１１７  未実行記述チェッカ生成部
１１８  禁止入力チェッカ生成部
１１９  回路記述データベース
１２０  コードカバレッジ情報データベース
１２１  テストベンチデータベース
１２２  未実行記述チェック用データベース
１２３  禁止入力パターンチェック用データベース
【図１】
0003822044.tif 000002
【図２】
0003822044.tif 000003
【図３】
0003822044.tif 000004
【図４】
0003822044.tif 000005
【図５】
0003822044.tif 000006
【図６】
0003822044.tif 000007
【図７】
0003822044.tif 000008