(57)【要約】 【課題】  論理回路の動的検証、静的検証のいずれによっても検証されない変数と条件式とを判別できる論理回路設計検証装置を提供する。 【解決手段】  被検証対象のＲＴＬ記述中に含まれるすべての変数と条件式とを抽出して、記憶部１２０に格納する。次に、動的検証ツールである論理シミュレーションを実行し、テストパターンにより活性化した変数や条件式を記憶部１２０に格納する。静的検証ツールであるプロパティ検証ツールを実行し、プロパティ単位で切り分けられた論理コーンに含まれるすべての変数と条件式を記憶部１２０に格納する。記憶部１２０に格納されたＲＴＬ記述中に含まれるすべての変数と条件式と、動的検証ツール、静的検証ツールによって検証された変数と条件式とを比較し、検証されなかった変数と条件式とを出力する【選択図】  図１
2006106865.tif 000002
【特許請求の範囲】
【請求項１】
論理回路の信号線の接続関係および該論理回路の動作が記述されている論理回路設計情報を記憶する論理回路記述記憶手段と、 
前記論理回路設計情報の記述から、論理回路の特定の動作を引き起こす条件を示す条件式と、該特定の動作に関係する信号を示す変数名と、の組を抽出しカバレッジ記憶手段に格納する抽出手段と、 
前記論理回路の動作が該論理回路の設計仕様で規定された動作であるか否かをテストパターンを用いて検証する動的検証手段と、 
前記論理回路を設計仕様単位で切り分けた論理コーン毎に、ブール代数的に該論理コーンの記載と対応する設計仕様とが同一であるか否か判別することにより、各論理コーンの動作が対応する設計仕様で規定された動作を満たすか否かを検証する静的検証手段と、 
前記動的検証手段あるいは静的検証手段で検証された論理回路の各動作に対応する変数名と条件式との組が、前記カバレッジ記憶手段に格納されているか否かを判別する判別手段と、 
前記カバレッジ記憶手段に格納された変数名と条件式との組のうち、前記判別手段の判別結果に従って、検証されなかった変数名と条件式との組を判別し出力する出力手段と、
を具備することを特徴とする論理回路設計検証装置。 
【請求項２】
前記論理回路設計装置は、 
前記カバレッジ記憶手段に格納された変数名と条件式との組のうち、前記判別手段の判別結果に従って、検証されなかった変数名と条件式との組の全組に対する割合を算出する算出手段を具備し、 
前記出力手段が、さらに、前記算出手段で算出された前記割合を出力すること、 
を特徴とする請求項１に記載の論理回路設計検証装置。 
【請求項３】
前記判別手段は、前記動的検証手段により論理回路の設計仕様上誤った出力をしたと判別された各動作に対応する変数名と条件式との組を判別の対象としないことを特徴とする請求項１または２に記載の論理回路設計検証装置。 
【請求項４】
前記判別手段は、前記静的検証手段により論理回路の設計仕様上誤った記載であると判別された記載に対応する変数名と条件式との組を判別の対象としないことを特徴とする請求項１、２または３に記載の論理回路設計検証装置。 
【請求項５】
前記判別手段は、前記動的検証手段あるいは静的検証手段で検証された論理回路の各動作に対応する変数名と条件式との組が、前記カバレッジ記憶手段に格納されていると判別した場合に、前記カバレッジ記憶手段から該変数名と条件式との組を削除する削除手段を備え、 
前記出力手段は、前記削除手段の作動後に、前記カバレッジ記憶手段に格納されたままである変数名と条件式との組を出力すること、 
を特徴とする請求項１乃至４のいずれか１項に記載の論理回路設計検証装置。 
【請求項６】
論理回路の信号線の接続関係および該論理回路の動作を記述した論理回路設計情報を論理回路記述記憶手段に記憶する記憶ステップと、 
該論理回路設計情報の記述から、論理回路の特定の動作を引き起こす条件を示す条件式と、該特定の動作に関係する信号を示す変数名と、の組を抽出しカバレッジ記憶手段に格納する抽出ステップと、 
前記論理回路の動作が該論理回路の設計仕様で規定された動作であるか否かをテストパターンを用いて検証する動的検証ステップと、 
前記論理回路を設計仕様単位で切り分けた論理コーン毎に、ブール代数的に該論理コーンの記載と対応する設計仕様とが同一であるか否か判別することにより、各論理コーンの動作が対応する設計仕様で規定された動作を満たすか否かを検証する静的検証ステップと、 
前記動的検証ステップあるいは静的検証ステップで検証された論理回路の各動作に対応する変数名と条件式との組が、前記カバレッジ記憶手段に格納されているか否かを判別する判別ステップと、 
前記カバレッジ記憶手段に格納された変数名と条件式との組のうち、前記判別ステップの判別結果に従って、検証されなかった変数名と条件式との組を判別し出力する出力ステップと、 
を具備することを特徴とする論理回路設計検証方法。 
【請求項７】
コンピュータ装置を、 
論理回路の信号線の接続関係および該論理回路の動作が記述されている論理回路設計情報を記憶する論理回路記述記憶手段と、 
前記論理回路設計情報の記述から、論理回路の特定の動作を引き起こす条件を示す条件式と、該特定の動作に関係する信号を示す変数名と、の組を抽出しカバレッジ記憶手段に格納する抽出手段と、 
前記論理回路の動作が該論理回路の設計仕様で規定された動作であるか否かをテストパターンを用いて検証する動的検証手段と、 
前記論理回路を設計仕様単位で切り分けた論理コーン毎に、ブール代数的に該論理コーンの記載と対応する設計仕様とが同一であるか否か判別することにより、各論理コーンの動作が対応する設計仕様で規定された動作を満たすか否かを検証する静的検証手段と、 
前記動的検証手段あるいは静的検証手段で検証された論理回路の各動作に対応する変数名と条件式との組が、前記カバレッジ記憶手段に格納されているか否かを判別する判別手段と、 
前記カバレッジ記憶手段に格納された変数名と条件式との組のうち、前記判別手段の判別結果に従って、検証されなかった変数名と条件式との組を判別し出力する出力手段と、  を具備する論理回路設計検証装置として機能させることを特徴とするプログラム。 
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、論理回路の設計段階における論理検証を行う論理回路設計検証装置および方法、プログラムに関する。 
【背景技術】
【０００２】
論理回路の検証方法として、動的検証ツールである論理シミュレーションツール（例えば、特許文献１）と、静的検証ツールであるプロパティ検証ツールと（例えば、特許文献２）が存在する。 
【０００３】
論理シミュレーションツールは、テストパターンを設定して、ＲＴＬ（Register Transfer Level）の記述をコンパイルしたものに対して動作シミュレーションを行い、各テストパターンに対する出力信号が設計通りであるか否かを検証する。 
【０００４】
プロパティ検証ツールは、ブール代数などを使用して、記述した論理回路がプロパティ（設計仕様）と一致しているか否かを判別することにより、論理回路がプロパティを満たしているか否かを検証する。 
【０００５】
論理回路設計者は、例えば、ＶＨＤＬ（VHSIC Hardware Description Language）、Ｖｅｒｉｌｏｇ−ＨＤＬ言語などのハードウェア記述言語、あるいはＣ言語、Ｊａｖａ（登録商標）言語などのプログラム言語を用いて回路動作を記述する。そして、その記述内容が設計通りであるか否かを、論理シミュレーションツールおよびプロパティ検証ツールを動作させて検証する。 
【特許文献１】特開平５−１５１２９７号公報（第２、３頁、図１）
【特許文献２】特開２００３−１９６３４２号公報（第６、７頁、図１）
【発明の開示】
【発明が解決しようとする課題】
【０００６】
現状では、論理回路設計者は、これら２つのツール（論理シミュレーションツール、プロパティ検証ツール）を使い分けながら論理回路の検証を行っている。ところが、これら２つのツールは検証原理が異なるため、これら２つのツールのテストカバレッジが統合されていない。そのため、論理回路設計者は、個々のツールで検証されなかった部位を認識できるとしても、いずれのツールによっても検証されなかった部位（すなわち、検証漏れ）を簡単に認識できなかった。 
【０００７】
本発明は上記問題点に鑑みてなされたもので、動的検証と静的検証とで同一のテストカバレッジを使用できる論理回路設計検証装置および方法、プログラムを提供することを目的とする。 
【課題を解決するための手段】
【０００８】
本発明の第１の観点にかかる論理回路設計検証装置は、 
論理回路の信号線の接続関係および該論理回路の動作が記述されている論理回路設計情報を記憶する論理回路記述記憶手段と、 
前記論理回路設計情報の記述から、論理回路の特定の動作を引き起こす条件を示す条件式と、該特定の動作に関係する信号を示す変数名と、の組を抽出しカバレッジ記憶手段に格納する抽出手段と、 
前記論理回路の動作が該論理回路の設計仕様で規定された動作であるか否かをテストパターンを用いて検証する動的検証手段と、 
前記論理回路を設計仕様単位で切り分けた論理コーン毎に、ブール代数的に該論理コーンの記載と対応する設計仕様とが同一であるか否か判別することにより、各論理コーンの動作が対応する設計仕様で規定された動作を満たすか否かを検証する静的検証手段と、 
前記動的検証手段あるいは静的検証手段で検証された論理回路の各動作に対応する変数名と条件式との組が、前記カバレッジ記憶手段に格納されているか否かを判別する判別手段と、 
前記カバレッジ記憶手段に格納された変数名と条件式との組のうち、前記判別手段の判別結果に従って、検証されなかった変数名と条件式との組を判別し出力する出力手段と、
を具備する。 
【０００９】
上記論理回路設計検証装置が、前記記憶手段に格納された変数名と条件式との組のうち、前記判別手段により検証されたと判別されなかった変数名と条件式との組の全組に対する割合を算出する算出手段を具備してもよい。 
この場合、前記出力手段が、さらに、前記算出手段で算出された前記割合を出力する。
【００１０】
上記論理回路設計検証装置において、前記判別手段は、前記動的検証手段により論理回路の設計仕様上誤った動作を行ったと判別された動作に対応する変数名と条件式との組を判別の対象としなくてもよい。 
【００１１】
上記論理回路設計検証装置において、前記判別手段は、前記静的検証手段により論理回路の設計仕様上誤った記載であると判別された記載に対応する変数名と条件式との組を判別の対象としなくてもよい。 
【００１２】
上記論理回路設計検証装置において、前記判別手段は、前記動的検証手段あるいは静的検証手段で検証された論理回路の動作に対応する変数名と条件式との組が、前記カバレッジ記憶手段に格納されていると判別した場合に、前記カバレッジ記憶手段から該変数名と条件式との組を削除する削除手段を備えてもよい。 
この場合、前記出力手段は、前記削除手段の作動後に、前記カバレッジ記憶手段に格納されたままである変数名と条件式との組を出力する。 
【００１３】
本発明の第２の観点にかかる論理回路設計検証方法は、 
論理回路の信号線の接続関係および該論理回路の動作を記述した論理回路設計情報を論理回路記述記憶手段に記憶する記憶ステップと、 
該論理回路設計情報の記述から、論理回路の特定の動作を引き起こす条件を示す条件式と、該特定の動作に関係する信号を示す変数名と、の組を抽出しカバレッジ記憶手段に格納する抽出ステップと、 
前記論理回路の動作が該論理回路の設計仕様で規定された動作であるか否かをテストパターンを用いて検証する動的検証ステップと、 
前記論理回路を設計仕様単位で切り分けた論理コーン毎に、ブール代数的に該論理コーンの記載と対応する設計仕様とが同一であるか否か判別することにより、各論理コーンの動作が対応する設計仕様で規定された動作を満たすか否かを検証する静的検証ステップと、 
前記動的検証ステップあるいは静的検証ステップで検証された論理回路の各動作に対応する変数名と条件式との組が、前記カバレッジ記憶手段に格納されているか否かを判別する判別ステップと、 
前記カバレッジ記憶手段に格納された変数名と条件式との組のうち、前記判別ステップの判別結果に従って、検証されなかった変数名と条件式との組を判別し出力する出力ステップと、 
を具備する。 
【００１４】
本発明の第３の観点にかかるプログラムは、 
コンピュータ装置を、 
論理回路の信号線の接続関係および該論理回路の動作が記述されている論理回路設計情報を記憶する論理回路記述記憶手段と、 
前記論理回路設計情報の記述から、論理回路の特定の動作を引き起こす条件を示す条件式と、該特定の動作に関係する信号を示す変数名と、の組を抽出しカバレッジ記憶手段に格納する抽出手段と、 
前記論理回路の動作が該論理回路の設計仕様で規定された動作であるか否かをテストパターンを用いて検証する動的検証手段と、 
前記論理回路を設計仕様単位で切り分けた論理コーン毎に、ブール代数的に該論理コーンの記載と対応する設計仕様とが同一であるか否か判別することにより、各論理コーンの動作が対応する設計仕様で規定された動作を満たすか否かを検証する静的検証手段と、 
前記動的検証手段あるいは静的検証手段で検証された論理回路の各動作に対応する変数名と条件式との組が、前記カバレッジ記憶手段に格納されているか否かを判別する判別手段と、 
前記カバレッジ記憶手段に格納された変数名と条件式との組のうち、前記判別手段の判別結果に従って、検証されなかった変数名と条件式との組を判別し出力する出力手段と、  を具備する論理回路設計検証装置として機能させる。 
【発明の効果】
【００１５】
本発明によれば、動的検証ツールと、静的検証ツールとを併用して論理回路を検証する場合に、動的検証ツールと、静的検証ツールとで同一のテストカバレッジを使用する。このため、いずれのツールによっても検証されなかった部位を論理回路設計者に提示することができる。 
【発明を実施するための最良の形態】
【００１６】
本発明にかかる実施の形態を、以下図面を参照して説明する。図１は、本発明の実施の形態にかかる論理回路設計支援装置の構成を示すブロック図である。 
【００１７】
本実施の形態にかかる論理回路設計支援装置１００は、論理回路設計者が記述したＲＴＬ（Register Transfer Level）記述に基づいて論理回路を検証し、未検証部分が存在するとその旨を出力する。論理回路設計支援装置１００は、ＲＴＬ記述を検証する際、動的検証（論理シミュレーション）と静的検証（プロパティ検証）とを実行する。論理回路設計者は、論理回路設計支援装置１００に、ＲＴＬ記述を記したファイル（以下、ＲＴＬファイルと称する）を読み込ませ、検証の指示を出す。なお、検証すべき論理回路は複数のＲＴＬファイルに分割されて記述されるのが通例であるため、論理回路設計支援装置１００は複数のＲＴＬファイルを受け付けるように構成される。 
【００１８】
図１に示すように、本実施の形態にかかる論理回路設計支援装置１００は、制御部１１０と、記憶部１２０と、入力制御部１３０と、出力制御部１４０と、プログラム格納部１５０とを備える。そして、入力制御部１３０に入力装置１３が、出力制御部１４０に出力装置１４がそれぞれ接続されている。 
【００１９】
制御部１１０は、例えば、中央演算処理装置（ＣＰＵ、Central Processing Unit）やワークエリアとなる記憶装置（ＲＡＭ（Random Access Memory）等）などを備える。制御部１１０は、プログラム格納部１５０に格納されている動作プログラムを読み出して実行することにより、例えば、図２に示すような、解析部１１１、動的検証部１１２、静的検証部１１３などを実現する。制御部１１０は論理回路設計支援装置１００の各部を制御しつつ、後述するＲＴＬ記述検証処理などを実行する。 
【００２０】
解析部１１１は、記憶部１２０に格納されているＲＴＬファイルを読み出し、ＲＴＬファイルに記述されている内容を構文解析して、すべての変数名（入力信号あるいは出力信号に付けられた名前）と条件式との組を抽出し、後述する要検証部位記憶部１２２に格納する。 
【００２１】
ここで、条件式とは、論理回路のある一部分が活性化し、その部分が特定の出力信号を出力するための条件式を意味する。例えば、ＶＨＤＬでは、ｉｆ文やｃａｓｅ文などに含まれる条件式である。なお、複数の条件式が入れ子に記載されている場合は、論理回路設計支援装置１００はこれら複数の条件式の論理積を採用する。また、異なるＲＴＬファイルで使用されている変数において、変数名が同一であっても、これらの変数がグローバル変数でない場合は、論理回路設計支援装置１００はこれらの変数を異なる変数とみなす。このようにみなすことにより、検証対象となっているＲＴＬファイルにおいて、変数と条件式との組が一意であることが保証される。 
【００２２】
動的検証部１１２は、記憶部１２０に格納されているＲＴＬファイルと、後述するテストパターン記憶部１２４に格納されているテストパターンとを読み出し、動的検証である論理シミュレーションを実行する。そして、検証した変数と条件式との組を後述する検証済み部位記憶部１２３に格納する。なお、設計仕様通りの出力動作をしなかった場合、動的検証部１１２は、その旨と、該当する変数と条件式との組を、出力制御部１４０を介して、出力装置１４に出力させる。 
【００２３】
動的検証部１１２が論理シミュレーションを実行すると、各テストパターンのシミュレートにおいて、論理回路内のいくつかの部分が活性化する。動的検証部１１２は、この活性化した各部分に対応する回路を特徴付ける変数と条件式との組を、検証した変数と条件式との組として検証済み部位記憶部１２３に格納する。 
【００２４】
このように、論理シミュレーションツールは、検証用のテストパターンにより活性化したＲＴＬファイル中の変数や条件式をイベント発生毎に認識する機能を有する。このため、論理回路設計支援装置１００は検証結果をテストカバレッジの計測データとして利用できる。 
【００２５】
静的検証部１１３は、記憶部１２０に格納されているＲＴＬファイルを読み出し、静的検証であるプロパティ検証を、プロパティ単位で切り分けられた論理コーンの単位で実行する。そして、検証した変数と条件式とを後述する検証済み部位記憶部１２３に格納する。なお、論理コーンが設計仕様通りの出力をしない場合、すなわち、論理コーンの動作と対応する設計仕様で規定された動作とがブール代数的に一致しない場合、静的検証部１１３は、その旨と、論理コーンに該当する変数と条件式との組を、出力制御部１４０を介して、出力装置１４に出力させる。 
【００２６】
ここで、論理コーンとは、出力信号の論理を決定するために必要な組み合わせ回路のことであり、ブール式で表現される。 
【００２７】
静的検証ツールであるプロパティ検証では、プロパティ単位で切り分けられた論理コーンに含まれるすべての変数や条件式が、数学的な検証アルゴリズムにより網羅的に検証される。このため、論理回路設計支援装置１００は検証結果をテストカバレッジの計測データとしてそのまま利用できる。 
【００２８】
図１に戻って、記憶部１２０は、ハードディスク装置などの記憶装置から構成され、検証対象であるＲＴＬファイルや、ＲＴＬ記述検証処理において生成される一時データなどを格納する。図３は、記憶部１２０に格納されるデータを説明するための図である。記憶部１２０は、ＲＴＬ記述記憶部１２１と、要検証部位記憶部１２２と、検証済み部位記憶部１２３と、テストパターン記憶部１２４とを備える。 
【００２９】
ＲＴＬ記述記憶部１２１は、検証すべきＲＴＬファイルを格納する。ＲＴＬファイルはハードウェア記述言語で記述される。 
【００３０】
要検証部位記憶部１２２は、ＲＴＬ記述記憶部１２１に格納されているＲＴＬファイルに記載されている変数と条件式との組をすべてを格納する。これらの組は解析部１１１により、論理コーン単位で抽出される。 
【００３１】
要検証部位記憶部１２２に格納される「要検証情報」の例を図４に示す。図示するように、要検証部位記憶部１２２は「要検証情報」をテーブルの形式で格納し、「要検証情報」は「入出力変数」と、「条件式」と、「フラグ情報」とを含む。なお、この「要検証情報」において、「入出力変数」と「条件式」との組み合わせは一意である。 
【００３２】
ここで、「入出力変数」は、論理回路の一部分に関係する入出力変数（信号）の名前を並べたものである。また、「条件式」とは、論理回路の一部分が活性化するための条件を示した式を並べたものである。また、「フラグ情報」は論理回路の一部分が検証されたか否かを識別するための情報である。ある「入出力変数」と「条件式」との組に対応する「フラグ情報」は、初期状態として、未検証を意味する値（例えば「０」）を格納する。後述するＲＴＬ記述検証処理により、検証済みを意味する値（例えば「１」）に書き換えられる。 
【００３３】
検証済み部位記憶部１２３は、動的検証部１１２と、静的検証部１１３とで検証された、変数と条件式との組を格納する。格納方法の例は、「フラグ情報」を格納しない点を除いて、図４に示した要検証部位記憶部１２２に格納される要検証情報の例と同様とする。
【００３４】
テストパターン記憶部１２４は、論理シミュレーションによりＲＴＬファイルを検証する際に使用されるテストパターンを格納する。なお、テストパターン記憶部１２４に格納されるテストパターンは、人手により作成されたものでもよいし、ＲＴＬファイルからテストパターン自動生成ツールにより自動生成させたものでもよい。 
【００３５】
再び図１に戻り、入力制御部１３０は、例えば、キーボードやポインティングデバイス等の入力装置１３を接続し、入力装置１３から入力された制御部１１０への指示などを受け付けて制御部１１０に伝達する。 
【００３６】
出力制御部１４０は、例えば、ディスプレイなどの出力装置１４を接続し、制御部１１０の処理結果などを必要に応じて出力装置１４に出力する。 
【００３７】
プログラム格納部１５０は、ＲＯＭ（Read Only Memory）等の記憶装置から構成され、制御部１１０が実行する動作プログラムを格納する。プログラム格納部１５０に格納される動作プログラムは、論理回路の動的検証を行う論理シミュレーションツール、静的検証を行うプロパティ検証ツール、ＲＴＬファイルから変数と条件式とを抽出するツール等である。なお、テストパターン自動生成ツールによりテストパターンを自動生成する場合、プログラム格納部１５０は、テストパターン自動生成ツールも格納する。 
【００３８】
次に、本実施の形態にかかる論理回路設計支援装置１００の動作を図面を参照して説明する。図５は、本実施の形態にかかる論理回路設計支援装置１００のＲＴＬ記述検証処理を説明するためのフローチャートである。 
【００３９】
なお、論理回路設計者が検証すべきＲＴＬファイルを予め作成して、ＲＴＬ記述記憶部１２１に格納する。また、そのＲＴＬファイルを論理検証するためのテストパターンも予め手動あるいは自動で作成され、テストパターン記憶部１２４に格納されている。 
【００４０】
入力装置１３で入力された、論理回路設計者からＲＴＬ記述の検証を検証する旨の指示を受け付けた論理回路設計支援装置１００は、ＲＴＬ記述検証処理を開始する。指示の受け付け方法は、コマンドライン入力や対話型など既知の方法を用いる。 
【００４１】
まず、解析部１１１は、ＲＴＬ記述記憶部１２１から検証すべきＲＴＬファイルを読み出し、ＲＴＬ記述中に含まれるすべての変数名と条件式との組を抽出して（ステップＳ１０１）、要検証部位記憶部１２２に格納する（ステップＳ１０２）。 
【００４２】
次に、動的検証部１１２は、ＲＴＬ記述と、テストパターン記憶部１２４に格納されているテストパターンとに基づいて、論理シミュレーションを行い（ステップＳ１０３）、活性化した回路部分に対応する変数名と条件式との組を検証済み部位記憶部１２３に格納する（ステップＳ１０４）。なお、ステップＳ１０３において、あるテストパターンで想定通りの出力をしなかった場合、動的検証部１１２は、出力に誤りがある旨と、該当する変数名と条件式との組とを出力装置１４に出力する。 
【００４３】
次に、制御部１１０内の静的検証部１１３は、ＲＴＬ記述に基づいて、プロパティ検証を行い（ステップＳ１０５）、プロパティ単位で切り分けられた論理コーンに含まれるすべての変数名と条件式との組のうち、設計仕様通りに動作するものを検証済み部位記憶部１２３に格納する（ステップＳ１０６）。なお、ステップＳ１０４ですでに同一の変数名と条件式との組が格納されている場合には、どちらか一方を代表して登録する。また、ステップＳ１０５において、設計仕様通りに動作しない場合、静的検証部１１３は、動作しなかった旨と、該当する変数名と条件式との組とを出力装置１４に出力する。 
【００４４】
次に、制御部１１０は、ステップＳ１０４とＳ１０６とで検証済み部位記憶部１２３に格納した変数名と条件式との組が、要検証部位記憶部１２２に格納されている変数名と条件式との組に含まれているか否かを判別する。要検証部位記憶部１２２に格納されている変数名と条件式とに含まれていれば、その変数名と条件式とに対応付けられた「フラグ情報」を検証されたことを示す旨の情報に更新して格納する（ステップＳ１０７）。 
【００４５】
最後に制御部１１０は、要検証部位記憶部１２２に格納されている変数名と条件式と共に格納されている「フラグ情報」が検証された旨を示しているか否かに基づいて、検証されていない変数名と条件式との組を判別する。そして、検証されていない変数名と条件式との組を出力制御部１４０を介して、出力装置１４に出力する（ステップＳ１０８）。最後に、ＲＴＬ記述検証処理を終了する。 
【００４６】
論理回路設計者は、出力結果を参照して、ＲＴＬ記述の修正、および、テストパターンの追加等を行い、再びＲＴＬ記述検証処理を論理回路設計支援装置１００に実行させる。この工程を繰り返すことで、ＲＴＬ記述をブラッシュアップできる。 
【００４７】
以上、説明したように、本発明の実施の形態にかかる論理回路設計支援装置によれば、動的検証である論理シミュレーションツールのテストカバレッジと、静的検証であるプロパティ検証ツールのテストカバレッジとを統合できる。これにより、どちらのツールによっても検証されない部位の存在が明確となり、ＲＴＬでの設計ミスの検出効果を向上させることができる。 
【００４８】
なお、本発明は上記実施の形態に限定されず、種々の変形および応用が可能である。 
例えば、上記論理回路設計支援装置１００をクライアントサーバ方式で構成してもよい。この場合、論理回路設計者はクライアント装置から、通信ネットワークを介してサーバ装置にアクセスし、上記機能をサーバ装置上で実行する。そして、その実行結果はクライアント装置から出力される。 
【００４９】
また、上記論理回路設計支援装置１００は、論理シミュレーションとプロパティ検証との組み合わせに限らず、静的タイミング検証ツールなど論理回路の他の設計検証手法との組み合わせに適用することができる。 
【００５０】
また、上記ステップＳ１０８では、未検証の変数名と条件式とを出力していたが、未検証の変数名と条件式との組が全体に示す割合を示すデータ（以下、検証網羅率と称する）を出力するようにしてもよい。ここで、検証網羅率として、どのような指標を採用するかは任意である。例えば、ステップＳ１０２で登録された変数名と条件式との組の数を統合カバレッジ計測の分母とし、ステップＳ１０４、Ｓ１０６で登録された変数名と条件式との組の数を分子として、検証網羅率を算出する。 
【００５１】
また、上記ステップＳ１０４およびＳ１０６において、論理回路のある部分が設計仕様と異なる動作をした場合、動的検証部１１２および静的検証部１１３は、その変数名と条件式との組を検証済み部位記憶部１２３に格納しないように構成することができる。 
【００５２】
また、上記ステップＳ１０４およびＳ１０６において、検証済みの変数名と条件式との組を検証済み部位記憶部１２３に格納するのをやめて、要検証部位記憶部１２２に格納されている変数名と条件式との組を検索し、それに対応付けられている「フラグ情報」を更新して格納するようにしてもよい。 
あるいは、ステップＳ１０４、Ｓ１０６で検証済み部位記憶部１２３に格納された変数名と条件式とを、ステップＳ１０２で要検証部位記憶部１２２に格納された変数名と条件式とから削除することで、未検証の変数名と条件式との判別するようにしてもよい。この場合、「フラグ情報」を格納する必要がない。 
あるいは、上記ステップＳ１０４あるいはＳ１０６の双方において、検証されなかった部位をステップＳ１０８で出力するようにしてもよい。この場合、「フラグ情報」は、動的検証において検証したか否かを示す情報と、静的検証において検証したか否かを示す情報とを格納する。 
【００５３】
なお、本発明の実施の形態にかかる論理回路設計支援装置１００を実現するための情報処理装置は、専用のシステムによらず、通常のコンピュータシステムを用いて実現可能である。例えば、汎用コンピュータに、上述の処理を実行するためのプログラムを格納した媒体（ＣＤ−ＲＯＭなど）から当該プログラムをプログラム格納部１５０にインストールすることにより、上述の処理を実行する論理回路設計支援装置１００を構成することができる。 
【００５４】
また、上述の機能を、ＯＳ（Operating System）とアプリケーションとの分担、またはＯＳとアプリケーションとの協動により実現する場合などには、ＯＳ以外の部分のみを媒体に格納してもよい。 
【００５５】
また、搬送波にプログラムを重畳し、通信ネットワークを介して配信することも可能である。例えば、通信ネットワーク上の掲示板（ＢＢＳ、Bulletin Board System）に該プログラムを掲示し、ネットワークを介して該プログラムを配信してもよい。そして、このプログラムを起動し、オペレーティングシステムの制御下で、他のアプリケーションプログラムと同様に実行することにより、上述の処理を実行できるように構成しても構わない。 
【図面の簡単な説明】
【００５６】
【図１】本発明の実施の形態にかかる論理回路設計支援装置のブロック図である。
【図２】図１の制御部に実現される機能を示す機能ブロック図である。
【図３】図１に示す記憶部に格納されるデータを説明するための図である。
【図４】図３に示す要検証部位記憶部に格納される要検証情報の例を説明するための図である。
【図５】本発明の実施の形態にかかるＲＴＬ検証処理を説明するためのフローチャートである。
【符号の説明】
【００５７】
１００  論理回路設計支援装置 
１１０  制御部 
１１１  解析部 
１１２  動的検証部 
１１３  静的検証部 
１２０  記憶部 
１２１  ＲＴＬ記述記憶部 
１２２  要検証部位記憶部 
１２３  検証済み部位記憶部 
１２４  テストパターン記憶部 
１３０  入力制御部 
１３    入力装置 
１４０  出力制御部 
１４    出力装置 
１５０  プログラム格納部 
【図１】
2006106865.tif 000003
【図２】
2006106865.tif 000004
【図３】
2006106865.tif 000005
【図４】
2006106865.tif 000006
【図５】
2006106865.tif 000007