(57)【要約】【課題】論理検証効率の向上を図る。【解決手段】論理検証プログラムにより、パーソナルコンピュータ１００を、表形式の表示画面において検証項目の自然言語による入力を可能とする検証項目入力エディタ（Ｓ１）、検証結果を上記検証項目入力エディタにフィードバックすることでテストレポートの生成を可能とする検証結果フィードバック手段（Ｓ５）として機能させる。パーソナルコンピュータ１００での処理によれば、人手作業によってテストレポートを作成するのに比べて短時間で済むし、人手作業による煩雑な作業が不要とされることで人為的なミスも低減される。【選択図】        図１
2004326650.tif 000002
【特許請求の範囲】
【請求項１】
コンピュータを、表形式の表示画面において検証項目の自然言語による入力を可能とする検証項目入力エディタ、
検証結果を上記検証項目入力エディタにフィードバックすることでテストレポートの生成を可能とする検証結果フィードバック手段、として機能させることを特徴とする論理検証プログラム。
【請求項２】
コンピュータを、表形式の表示画面において検証項目の自然言語による入力を可能とする検証項目入力エディタ、
上記検証項目入力エディタにリンクされ、検証プロパティを検証言語で作成可能な検証プロパティ入力エディタ、
上記検証プロパティに基づいてアサーションチェッカを生成するアサーションチェッカ生成手段、
上記アサーションチェッカに基づく論理シミュレーションによって得られた波形データと上記検証プロパティとに基づいて注釈付きタイミングダイアグラム及び検証結果を生成するための注釈付きタイミングダイアグラム及び検証結果生成手段、
上記検証結果を上記検証項目入力エディタにフィードバックすることでテストレポートの生成を可能とする検証結果フィードバック手段、として機能させることを特徴とする論理検証プログラム。
【請求項３】
上記注釈付きタイミングダイアグラム及び検証結果生成手段は、上記検証プロパティに基づいて状態遷移グラフを生成するための状態遷移グラフ生成手段と、
上記状態遷移グラフと上記波形データとに基づいて注釈情報付き波形データ及び上記検証結果を得る状態遷移グラフトレース手段と、を含む請求項２記載の論理検証プログラム。
【請求項４】
請求項１乃至３の何れか１項記載の論理検証プログラムを記録したコンピュータ読み取り可能な記録媒体。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、論理デバッグ技術、さらには、コンピュータによって実行可能な論理検証プログラム、及びその論理検証プログラムを記録したコンピュータ読み取り可能な記録媒体に関する。
【０００２】
【従来の技術】
論理回路等の設計工程においては、設計した論理回路の論理機能やタイミング等を検証するツールとして論理シミュレータや波形ビューアが用いられる。論理シミュレータでは、半導体素子の回路情報を記述したネットリストを半導体素子の仕様に合わせて作成したテストパターンを記述したテストベクタに基づいてシミュレーションが行われる。波形ビューアでは、上記シミュレーションの結果が波形表示される。波形ビューアでは、横軸を時間軸とし、縦軸方向に信号名を羅列し、各信号の時間的な変化を波形表示することが行われる。設計者は、この波形ビューアによる波形表示に基づいて、シミュレーション結果が仕様と一致しているかどうかを確認する。
【０００３】
波形表示を見やすくするための方法としては、例えば指定したトリガ信号の値の変化に従ってその表示色を変化し、トリガ信号の値の変化に依存して変化した信号線の値をトリガ信号と同色で表示することが知られている（例えば特許文献１参照）。
【０００４】
【特許文献１】
特開平７−２１２４４号公報
【０００５】
【発明が解決しようとする課題】
波形表示ツールとしての波形ビューアによる波形表示に基づく論理検証においては、検証言語で記述した回路が満たすべき性質（以下、「検証プロパティ」という）の識別子と検証結果を表形式で表示し、検証プロパティを満たさなかったイベントを波形ビューア上で強調表示することができる。しかしながら、そのような波形表示ツールによれば、自然言語で検証項目を記述することができないため、テスト仕様書やテストレポートを別途、エディタ等で作成しなければならない。この結果、テスト仕様書、検証プロパティ、及びテストレポートの作成及び修正は全て人手によって行われる。また、テスト仕様書作成に用いるエディタに検証項目のバージョン管理機能がないため、更新履歴の作成を人手作業で行う必要がある。このように従来技術によれば、人手作業が多く、工数の増加及び人為的なミスを生じ易い。
【０００６】
さらに、タイミングチャート上でバグ原因を解析するする際は、シミュレーション結果が示すイベント間の論理的関係を正確に理解することが前提条件とされる。タイミングチャート上でイベント間の論理的関係を表現する手段として、従来から「注釈付きタイミングダイヤグラム（ａｎｎｏｔａｔｅｄ  ｔｉｍｉｎｇｄｉａｇａｍ）」が用いられてきた。検証エンジニアは、バグ原因解析の際に、上記注釈付きタイミングダイヤグラムを自分で脳裏で作成している。しかし、脳裏で作成できないほどイベント間の論理的関係が複雑な場合や、バグ原因を第三者に説明する必要がある場合、あるいは記録として残す場合には、波形表示ツール上のタイミングチャートを紙に印刷し、それにペンで注釈を書き加えることにより、イベント間の論理的関係をタイミングチャート上で視覚化する。しかし、その作業は煩雑であり、検証工数の増加を余儀なくされる。
【０００７】
本発明の目的は、論理検証の効率向上を図ることにある。
【０００８】
本発明の前記並びにその他の目的と新規な特徴は本明細書の記述及び添付図面から明らかになるであろう。
【０００９】
【課題を解決するための手段】
本願において開示される発明のうち代表的なものの概要を簡単に説明すれば下記の通りである。
【００１０】
すなわち、第１手段は、論理検証プログラムによって、コンピュータを、表形式の表示画面において検証項目の自然言語による入力を可能とする検証項目入力エディタ、検証結果を上記検証項目入力エディタにフィードバックすることでテストレポートの生成を可能とする検証結果フィードバック手段として機能させる。
【００１１】
上記第１手段によれば、コンピュータでの処理により表形式の検証項目入力エディタの表示画面に、検証結果がフィードバックされることでテストレポートが作成される。コンピュータでの処理によれば、人手作業による場合よりも短時間でテストレポートを作成することができる。また、上記テストレポートの作成において人手作業による煩雑な作業が省略されるため、人為的なミスも低減される。このことが、論理検証効率の向上を達成する。また、上記検証項目入力エディタは、検証項目の自然言語による入力を可能とすることで、検証項目の入力の容易化を達成する。
【００１２】
第２手段は、論理検証プログラムによって、コンピュータを、表形式の表示画面において検証項目の自然言語による入力を可能とする検証項目入力エディタ、上記検証項目入力エディタにリンクされ、検証プロパティを検証言語で作成可能な検証プロパティ入力エディタ、上記検証プロパティに基づいてアサーションチェッカを生成するアサーションチェッカ生成手段、上記アサーションチェッカに基づく論理シミュレーションによって得られた波形データと上記検証プロパティとに基づいて注釈付きタイミングダイアグラム及び検証結果を生成するための注釈付きタイミングダイアグラム及び検証結果生成手段、上記検証結果を上記検証項目入力エディタにフィードバックすることでテストレポートの生成を可能とする検証結果フィードバック手段として機能させる。
【００１３】
上記のようにタイミングチャート上でバグ原因を解析するする際は、シミュレーション結果が示すイベント間の論理的関係を正確に理解することが前提条件とされ、タイミングチャート上でイベント間の論理的関係を表現する手段として、従来から「注釈付きタイミングダイヤグラム」が用いられてきたが、その人手による作成作業は煩雑であり、検証工数の増加を余儀なくされる。
【００１４】
しかし、上記第２手段によれば、注釈付きタイミングダイヤグラム及び検証結果生成手段により、注釈付きタイミングダイヤグラムが作成され、上記検証結果を上記検証項目入力エディタにフィードバックすることでテストレポートが作成される。コンピュータでの処理によれば、人手による場合よりも、注釈付きタイミングダイヤグラムやテストレポートを短時間で作成することができる。また、注釈付きタイミングダイヤグラムやテストレポートの作成において人手作業にる煩雑な作業が省略されるため、人為的なミスも低減される。このことが、論理検証効率の向上を達成する。
【００１５】
上記注釈付きタイミングダイアグラム及び検証結果生成手段は、上記検証プロパティに基づいて状態遷移グラフを生成するための状態遷移グラフ生成手段と、上記状態遷移グラフと上記波形データとに基づいて注釈情報付き波形データ及び上記検証結果を得る状態遷移グラフトレース手段とを含んで構成することができる。
【００１６】
【発明の実施の形態】
図１０には、本発明にかかる論理検証プログラムが実行されるパーソナルコンピュータシステムが示される。
【００１７】
図１０に示されるパーソナルコンピュータシステム１００は、特に制限されないが、本発明にかかる論理検証プログラムを実行することで、論理検証のための各種機能を発揮するマイクロコンピュータ１０２と、外部との間で各種情報のやり取りを可能とする外部インタフェース１０１、上記マイクロコンピュータ１０２で実行される各種プログラムや各種データ等が格納されたハードディスク装置や、上記マイクロコンピュータ１０２での演算処理における作業領域などに使用される半導体記憶装置などを含む記憶装置１０４、上記マイクロコンピュータ１０２での演算結果や必要とされる各種情報を表示可能な表示装置１０３を含んで成る。また、上記マイクロコンピュータ１０２で実行されるプログラムは、プログラム提供者からネットワーク２００を介してパーソナルコンピュータシステム１００に送られる場合と、可搬型記憶媒体３００を介してパーソナルコンピュータシステム１００にロードされる場合とがある。本発明に係る論理検証プログラムは、ネットワーク２００を介して、あるいは可搬型記憶媒体３００を介して記憶装置１０４に格納される。上記可搬型記憶媒体３００には、フロッピィディスク、ＣＤ−ＲＯＭ、磁気ディスク、光ディスク、光磁気ディスクなどの各種ディスクが含まれる。ここで、上記記憶装置１０４や可搬型記憶媒体３００は、論理検証プログラムを記録したコンピュータ読み取り可能な記録媒体の一例とされる。
【００１８】
図１には、上記マイクロコンピュータ１０２において論理検証に関する所定のプログラムが実行されることで実現される論理検証ツールの全体的な構成例が示される。
【００１９】
図１に示される論理検証ツールは、特に制限されないが、検証項目入力エディタＳ１、検証プロパティ入力エディタＳ２、アサーションチェッカ生成手段Ｓ３、注釈付きタイミングダイヤグラム及び検証結果生成手段Ｓ４、検証結果フィードバック手段Ｓ５、及び論理シミュレータ７を含む。
【００２０】
上記検証項目入力エディタＳ１は、バージョン管理機能を備え、且つ、表形式で検証項目Ｓ１Ａの入力を可能とする。検証項目Ｓ１Ａの入力は、入力の容易化を図るため、自然言語で行うことができるようになっている。特に制限されないが、検証項目入力エディタＳ１によって入力された検証項目の例としては、「カウントレジスタへのライトトランザクション実行」、リセット信号により全レジスタ初期化」、「カウントスタート信号アサートによりカウントアップ開始」などを挙げることができる。
【００２１】
検証プロパティ入力エディタＳ２は、検証プロパティの入力を可能とする。検証プロパティ入力エディタＳ２は、検証項目にリンクしており（ＳＢ１）、この検証プロパティ入力エディタＳ２を用いて検証プロパティ１を検証言語で作成することができる。
【００２２】
アサーションチェッカ生成手段Ｓ３は、特定デザインがどのように振る舞うか、あるいは振る舞ってはいけないかをチェックするためのアサーションチェッカ２を上記検証プロパティ１に基づいて生成する。
【００２３】
論理シミュレータ７は、テストベンチ５、検証対象回路６、アサーションチェッカ２の各情報を読み込んで論理シミュレーションを実行する。そしてこの論理シミュレーションの結果として波形データ３が得られる。
【００２４】
注釈付きタイミングダイヤグラム及び検証結果生成手段Ｓ４は、上記波形データＳ４と上記検証プロパティ１とに基づいて検証結果４を生成するとともに、注釈付きタイミングダイヤグラムＳ４Ａを生成する。生成された検証結果生成された検証結果４は、テストレポート作成のため、検証結果フィードバック手段Ｓ５により上記検証項目入力エディタＳ１にフィードバックされる。
【００２５】
上記注釈付きタイミングダイヤグラムの表示画面は、実際のシミュレーション波形に、イベント間の論理的関係を示す注釈記号Ｓ４Ａ１、エラーメッセージＳ４Ａ２、及び波形の期待値Ｓ４Ａ３を含む。上記検証項目入力エディタＳ１の表示画面における検証結果Ｓ１Ｃと注釈付きタイミングダイヤグラムＳ４Ａはリンクしており、検証プロパティ１を満たす（Ｐａｓｓ）、それを満たさない（Ｆａｉｌ）項目を選択することにより、対応する注釈付きタイミングダイヤグラムが表示されるようになっている。
【００２６】
次に、上記論理検証ツールを更に詳細に説明する。
【００２７】
図２には、上記検証項目入力エディタＳ１の入力例が示される。図２に示される例では、上記検証項目入力エディタＳ１により、「信号Ａ立ち上がりの３サイクル後に信号Ｂが立ち上がる」という検証項目Ｓ１Ａが自然言語で記述されている。自然言語はパーソナルコンピュータシステム１００におけるキーボードを介して容易に入力することができる。
【００２８】
図３には、検証プロパティの生成及びアサーションチェッカの生成例が示される。
【００２９】
検証項目入力エディタＳ１にリンクしている検証プロパティ入力エディタＳ２を用いて検証プロパティが作成される。より詳細には、検証プロパティＳ２は、検証項目入力エディタＳ１の検証項目検証項目Ｓ１Ａにリンクしている。
【００３０】
最初に検証プロパティを作成する場合は、例えばマウスなどの入力装置で検証項目Ｓ１Ａを選択することにより検証プロパティ入力エディタＳ２を起動させ、この検証プロパティ入力エディタＳ２に検証プロパティを入力する。一度検証プロパティを入力した後は、例えばマウスなどの入力装置で検証項目Ｓ１Ａを選択することにより、対応する入力済み検証プロパティを検証プロパティ入力エディタＳ２で確認出来る。リンク機構Ｓ１Ｂにより、検証項目と検証プロパティの対応が常に保証される。アサーションチェッカ生成手段Ｓ３に検証プロパティ１が入力されることにより、アサーションチェッカ生成手段Ｓ３においてアサーションチェッカが生成される。
【００３１】
図４には論理シミュレーションの実行及びその結果が示される。
【００３２】
テストベンチ５、検査対象回路２、及びアサーションチェッカを論理シミュレータＳ１で読み込み、論理シミュレーションを実行し、波形データ４を生成する。この波形データ４には、毎サイクルの時刻及びその時刻における信号値（Ａの信号値、Ｂの信号値）が格納されている。
【００３３】
図５には、注釈付きタイミングダイアグラム及び検証結果生成手段Ｓ４の構成例が示される。
【００３４】
注釈付きタイミングダイアグラム及び検証結果生成手段Ｓ４は、図５に示されるように、検証プロパティ１に基づいて状態遷移グラフ８を作成するための状態遷移グラフ生成手段Ｓ６と、この状態遷移グラフ生成手段Ｓ６によって生成された状態遷移グラフ８を波形データ３に基づいてトレースすることで注釈情報付き波形データ９及び検証結果４を得る状態遷移グラフトレース手段Ｓ７とを含む。波形ビューアＳ４Ａは、上記注釈付き波形データ９を読み込んで注釈付きタイミングダイヤグラムを生成する。
【００３５】
図６には、状態遷移グラフ生成手段Ｓ６による状態遷移グラフ生成の流れが示される。
【００３６】
タイミングチャート上の「ａ」は検証プロパティの前提条件を示し、「ｂ」は帰結を示している。検証プロパティ１は、各サイクルにおいて信号がとるべき値を示しており、その値をグラフの各アークに遷移条件として付加することで状態遷移グラフが形成される。「終了ステート」は、後述する状態遷移グラフのトレースの結果、検証プロパティを満たす場合に到達するステートを示している。フェイルステートは、後述する状態遷移グラフのトレースの結果検証プロパティを満たさない場合に到達するステートを示している。
【００３７】
図７には、上記状態遷移グラフトレース手段による注釈情報付き波形データ及び検証結果の生成の流れが示される。
【００３８】
状態遷移グラフのトレースは状態遷移グラフの開始ステートから開始される。波形データから毎サイクルの信号値を読み込み、状態遷移グラフの遷移条件と比較することにより、状態遷移のグラフをトレースすることができる。図７において、ステートにステート名（Ｒｉｓｅ（Ａ），Ｒｉｓｅ（Ｂ））が付されているものは、検証プロパティで定義されているイベントを示しており、上記ステートを通過したならば、当該ステートに到達した時刻、及び当該ステートから抜けた時刻がステート名と共に注釈情報付き波形データ書込まれる。本例では、時刻５０（ｎｓ）において、波形データの信号値Ｂの値が「０」、検証プロパティから期待される信号値が「１」であるため、フェイルステートに遷移している。フェイルステートに遷移したならば、もう一方のステートへの遷移条件である信号の期待値を取得する。この信号の期待値に基づいてフェイルした時刻における信号値が注釈付き波形データに書込まれる。フェイルステートに遷移したならば、フェイルしたプロパティ名、時刻、検証結果がファイルに書込まれる。
【００３９】
図８には、注釈付き波形データに基づいて生成された注釈付きタイミングダイヤグラムが示される。検証結果に基づいてエラーメッセージ８０が表示される。また、注釈情報付き波形データに格納されている信号値の期待値に基づいて、期待される信号波形が実際の波形に重ねて表示される。注釈情報付き波形データに格納されているイベントの情報に基づいて、イベントの論理的関係を示す矢印記号８１が表示される。
【００４０】
図９には検証結果のフィードバックの様子が示される。
【００４１】
図９に示されるように、検証結果４が検証結果フィードバック手段Ｓ５により検証項目入力エディタＳ１にフィードバックされる。検証項目入力エディタＳ１において、パス（Ｐａｓｓ）項目には検証プロパティを満たした回数の合計（図９の例では「０」）が示され、フェイル（Ｆａｉｌ）項目には検証プロパティを満たさなかった回数の合計（図９の例では「１」）が表示される。
【００４２】
上記の例によれば、以下の作用効果を得ることができる。
【００４３】
（１）表形式の検証項目入力エディタＳ１の表示画面に、検証結果がフィードバックされることでテストレポートが作成される。パーソナルコンピュータ１００での処理は、人手作業によってテストレポートを作成するのに比べて短時間で済むし、上記テストレポートの作成において人手作業による煩雑な作業が省略されるため、人為的なミスも低減され、それによって論理検証効率の向上を達成することができる。
【００４４】
（２）タイミングチャート上でバグ原因を解析するする際は、シミュレーション結果が示すイベント間の論理的関係を正確に理解することが前提条件とされ、タイミングチャート上でイベント間の論理的関係を表現する手段として、従来から「注釈付きタイミングダイヤグラム」が用いられてきたが、その人手による作成作業は煩雑であり、検証工数の増加を余儀なくされる。これに対して、注釈付きタイミングダイヤグラム及び検証結果生成手段Ｓ４により、注釈付きタイミングダイヤグラムＳ４Ａが作成され、表形式の検証項目入力エディタＳ１の表示画面に検証結果がフィードバックされることでテストレポートが作成される。パーソナルコンピュータ１００での処理は、注釈付きタイミングダイヤグラムやテストレポートを人手作業によって作成するのに比べて短時間で済む。また、注釈付きタイミングダイヤグラムやテストレポートの作成において人手作業にる煩雑な作業が省略されるため、人為的なミスも低減され、それによって論理検証効率の向上を達成することができる。
【００４５】
（３）上記（１），（２）の作用効果により、ＩＰ購入側に対して、自社ＩＰコアの品質を定量的に示すことができる資料を提供することができる。
【００４６】
以上本発明者によってなされた発明を具体的に説明したが、本発明はそれに限定されるものではなく、その要旨を逸脱しない範囲で種々変更可能であることはいうまでもない。
【００４７】
例えば論理シミュレータは、図１に示される論理検証ツールとは別プログラムとして提供することができる。また、注釈付きタイミングダイアグラムにおける注釈には、矢印記号のみならず、直線や曲線あるいは破線などの各種線、各種記号列や文字列が含まれる。
【００４８】
以上の説明では主として本発明者によってなされた発明をその背景となった利用分野であるパーソナルコンピュータシステムに適用した場合について説明したが、本発明はそれに限定されるものではなく、ワークステーション等にも適用することができる。
【００４９】
【発明の効果】
本願において開示される発明のうち代表的なものによって得られる効果を簡単に説明すれば下記の通りである。
【００５０】
すなわち、コンピュータでの処理により、注釈付きタイミングダイヤグラムやテストレポートを速やかに作成することができ、また、人手作業にる煩雑な作業が省略されることで人為的なミスの低減を図ることができるため、論理検証効率の向上を図ることができる。
【図面の簡単な説明】
【図１】本発明にかかる論理検証プログラムによって実現される論理検証ツールの全体的な構成例ブロック図である。
【図２】上記論理検証ツールに含まれる検証項目入力エディタにおける入力例の説明図である。
【図３】上記論理検証ツールによる検証プロパティやアサーションチェッカの生成に関する説明図である。
【図４】上記論理検証ツールにおける論理シミュレーションの実行及びその結果の説明図である。
【図５】上記論理検証ツールに含まれる「注釈付きタイミングダイアグラム及び検証結果生成手段」の構成例説明図である。
【図６】上記論理検証ツールに含まれる状態遷移グラフ生成手段による状態遷移グラフ生成の説明図である。
【図７】上記論理検証ツールに含まれる状態遷移グラフトレース手段による注釈情報付き波形データ及び検証結果の生成説明図である。
【図８】注釈付き波形データに基づいて生成された注釈付きタイミングダイヤグラムの説明図である。
【図９】上記論理検証ツールにおける検証結果のフィードバック説明図である。
【図１０】本発明にかかる論理検証プログラムが実行されるパーソナルコンピュータシステムの構成例ブロック図である。
【符号の説明】
１００  パーソナルコンピュータシステム
１０１  外部インタフェース
１０２  マイクロコンピュータ
１０３  表示装置
１０４  記憶装置
２００  ネットワーク
３００  可搬型記憶媒体
Ｓ１  検証項目入力エディタ
Ｓ２  検証プロパティ入力エディタ
Ｓ３  アサーションチェッカ生成手段
Ｓ４  検証結果生成手段
Ｓ５  検証結果フィードバック手段
【図１】
2004326650.tif 000003
【図２】
2004326650.tif 000004
【図３】
2004326650.tif 000005
【図４】
2004326650.tif 000006
【図５】
2004326650.tif 000007
【図６】
2004326650.tif 000008
【図７】
2004326650.tif 000009
【図８】
2004326650.tif 000010
【図９】
2004326650.tif 000011
【図１０】
2004326650.tif 000012