JP2004326650A - Logic verification program and recording medium - Google Patents
Logic verification program and recording medium Download PDFInfo
- Publication number
- JP2004326650A JP2004326650A JP2003123402A JP2003123402A JP2004326650A JP 2004326650 A JP2004326650 A JP 2004326650A JP 2003123402 A JP2003123402 A JP 2003123402A JP 2003123402 A JP2003123402 A JP 2003123402A JP 2004326650 A JP2004326650 A JP 2004326650A
- Authority
- JP
- Japan
- Prior art keywords
- verification
- logic
- verification result
- generating
- property
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Withdrawn
Links
Images
Abstract
Description
【0001】
【発明の属する技術分野】
本発明は、論理デバッグ技術、さらには、コンピュータによって実行可能な論理検証プログラム、及びその論理検証プログラムを記録したコンピュータ読み取り可能な記録媒体に関する。
【0002】
【従来の技術】
論理回路等の設計工程においては、設計した論理回路の論理機能やタイミング等を検証するツールとして論理シミュレータや波形ビューアが用いられる。論理シミュレータでは、半導体素子の回路情報を記述したネットリストを半導体素子の仕様に合わせて作成したテストパターンを記述したテストベクタに基づいてシミュレーションが行われる。波形ビューアでは、上記シミュレーションの結果が波形表示される。波形ビューアでは、横軸を時間軸とし、縦軸方向に信号名を羅列し、各信号の時間的な変化を波形表示することが行われる。設計者は、この波形ビューアによる波形表示に基づいて、シミュレーション結果が仕様と一致しているかどうかを確認する。
【0003】
波形表示を見やすくするための方法としては、例えば指定したトリガ信号の値の変化に従ってその表示色を変化し、トリガ信号の値の変化に依存して変化した信号線の値をトリガ信号と同色で表示することが知られている(例えば特許文献1参照)。
【0004】
【特許文献1】
特開平7−21244号公報
【0005】
【発明が解決しようとする課題】
波形表示ツールとしての波形ビューアによる波形表示に基づく論理検証においては、検証言語で記述した回路が満たすべき性質(以下、「検証プロパティ」という)の識別子と検証結果を表形式で表示し、検証プロパティを満たさなかったイベントを波形ビューア上で強調表示することができる。しかしながら、そのような波形表示ツールによれば、自然言語で検証項目を記述することができないため、テスト仕様書やテストレポートを別途、エディタ等で作成しなければならない。この結果、テスト仕様書、検証プロパティ、及びテストレポートの作成及び修正は全て人手によって行われる。また、テスト仕様書作成に用いるエディタに検証項目のバージョン管理機能がないため、更新履歴の作成を人手作業で行う必要がある。このように従来技術によれば、人手作業が多く、工数の増加及び人為的なミスを生じ易い。
【0006】
さらに、タイミングチャート上でバグ原因を解析するする際は、シミュレーション結果が示すイベント間の論理的関係を正確に理解することが前提条件とされる。タイミングチャート上でイベント間の論理的関係を表現する手段として、従来から「注釈付きタイミングダイヤグラム(annotated timingdiagam)」が用いられてきた。検証エンジニアは、バグ原因解析の際に、上記注釈付きタイミングダイヤグラムを自分で脳裏で作成している。しかし、脳裏で作成できないほどイベント間の論理的関係が複雑な場合や、バグ原因を第三者に説明する必要がある場合、あるいは記録として残す場合には、波形表示ツール上のタイミングチャートを紙に印刷し、それにペンで注釈を書き加えることにより、イベント間の論理的関係をタイミングチャート上で視覚化する。しかし、その作業は煩雑であり、検証工数の増加を余儀なくされる。
【0007】
本発明の目的は、論理検証の効率向上を図ることにある。
【0008】
本発明の前記並びにその他の目的と新規な特徴は本明細書の記述及び添付図面から明らかになるであろう。
【0009】
【課題を解決するための手段】
本願において開示される発明のうち代表的なものの概要を簡単に説明すれば下記の通りである。
【0010】
すなわち、第1手段は、論理検証プログラムによって、コンピュータを、表形式の表示画面において検証項目の自然言語による入力を可能とする検証項目入力エディタ、検証結果を上記検証項目入力エディタにフィードバックすることでテストレポートの生成を可能とする検証結果フィードバック手段として機能させる。
【0011】
上記第1手段によれば、コンピュータでの処理により表形式の検証項目入力エディタの表示画面に、検証結果がフィードバックされることでテストレポートが作成される。コンピュータでの処理によれば、人手作業による場合よりも短時間でテストレポートを作成することができる。また、上記テストレポートの作成において人手作業による煩雑な作業が省略されるため、人為的なミスも低減される。このことが、論理検証効率の向上を達成する。また、上記検証項目入力エディタは、検証項目の自然言語による入力を可能とすることで、検証項目の入力の容易化を達成する。
【0012】
第2手段は、論理検証プログラムによって、コンピュータを、表形式の表示画面において検証項目の自然言語による入力を可能とする検証項目入力エディタ、上記検証項目入力エディタにリンクされ、検証プロパティを検証言語で作成可能な検証プロパティ入力エディタ、上記検証プロパティに基づいてアサーションチェッカを生成するアサーションチェッカ生成手段、上記アサーションチェッカに基づく論理シミュレーションによって得られた波形データと上記検証プロパティとに基づいて注釈付きタイミングダイアグラム及び検証結果を生成するための注釈付きタイミングダイアグラム及び検証結果生成手段、上記検証結果を上記検証項目入力エディタにフィードバックすることでテストレポートの生成を可能とする検証結果フィードバック手段として機能させる。
【0013】
上記のようにタイミングチャート上でバグ原因を解析するする際は、シミュレーション結果が示すイベント間の論理的関係を正確に理解することが前提条件とされ、タイミングチャート上でイベント間の論理的関係を表現する手段として、従来から「注釈付きタイミングダイヤグラム」が用いられてきたが、その人手による作成作業は煩雑であり、検証工数の増加を余儀なくされる。
【0014】
しかし、上記第2手段によれば、注釈付きタイミングダイヤグラム及び検証結果生成手段により、注釈付きタイミングダイヤグラムが作成され、上記検証結果を上記検証項目入力エディタにフィードバックすることでテストレポートが作成される。コンピュータでの処理によれば、人手による場合よりも、注釈付きタイミングダイヤグラムやテストレポートを短時間で作成することができる。また、注釈付きタイミングダイヤグラムやテストレポートの作成において人手作業にる煩雑な作業が省略されるため、人為的なミスも低減される。このことが、論理検証効率の向上を達成する。
【0015】
上記注釈付きタイミングダイアグラム及び検証結果生成手段は、上記検証プロパティに基づいて状態遷移グラフを生成するための状態遷移グラフ生成手段と、上記状態遷移グラフと上記波形データとに基づいて注釈情報付き波形データ及び上記検証結果を得る状態遷移グラフトレース手段とを含んで構成することができる。
【0016】
【発明の実施の形態】
図10には、本発明にかかる論理検証プログラムが実行されるパーソナルコンピュータシステムが示される。
【0017】
図10に示されるパーソナルコンピュータシステム100は、特に制限されないが、本発明にかかる論理検証プログラムを実行することで、論理検証のための各種機能を発揮するマイクロコンピュータ102と、外部との間で各種情報のやり取りを可能とする外部インタフェース101、上記マイクロコンピュータ102で実行される各種プログラムや各種データ等が格納されたハードディスク装置や、上記マイクロコンピュータ102での演算処理における作業領域などに使用される半導体記憶装置などを含む記憶装置104、上記マイクロコンピュータ102での演算結果や必要とされる各種情報を表示可能な表示装置103を含んで成る。また、上記マイクロコンピュータ102で実行されるプログラムは、プログラム提供者からネットワーク200を介してパーソナルコンピュータシステム100に送られる場合と、可搬型記憶媒体300を介してパーソナルコンピュータシステム100にロードされる場合とがある。本発明に係る論理検証プログラムは、ネットワーク200を介して、あるいは可搬型記憶媒体300を介して記憶装置104に格納される。上記可搬型記憶媒体300には、フロッピィディスク、CD−ROM、磁気ディスク、光ディスク、光磁気ディスクなどの各種ディスクが含まれる。ここで、上記記憶装置104や可搬型記憶媒体300は、論理検証プログラムを記録したコンピュータ読み取り可能な記録媒体の一例とされる。
【0018】
図1には、上記マイクロコンピュータ102において論理検証に関する所定のプログラムが実行されることで実現される論理検証ツールの全体的な構成例が示される。
【0019】
図1に示される論理検証ツールは、特に制限されないが、検証項目入力エディタS1、検証プロパティ入力エディタS2、アサーションチェッカ生成手段S3、注釈付きタイミングダイヤグラム及び検証結果生成手段S4、検証結果フィードバック手段S5、及び論理シミュレータ7を含む。
【0020】
上記検証項目入力エディタS1は、バージョン管理機能を備え、且つ、表形式で検証項目S1Aの入力を可能とする。検証項目S1Aの入力は、入力の容易化を図るため、自然言語で行うことができるようになっている。特に制限されないが、検証項目入力エディタS1によって入力された検証項目の例としては、「カウントレジスタへのライトトランザクション実行」、リセット信号により全レジスタ初期化」、「カウントスタート信号アサートによりカウントアップ開始」などを挙げることができる。
【0021】
検証プロパティ入力エディタS2は、検証プロパティの入力を可能とする。検証プロパティ入力エディタS2は、検証項目にリンクしており(SB1)、この検証プロパティ入力エディタS2を用いて検証プロパティ1を検証言語で作成することができる。
【0022】
アサーションチェッカ生成手段S3は、特定デザインがどのように振る舞うか、あるいは振る舞ってはいけないかをチェックするためのアサーションチェッカ2を上記検証プロパティ1に基づいて生成する。
【0023】
論理シミュレータ7は、テストベンチ5、検証対象回路6、アサーションチェッカ2の各情報を読み込んで論理シミュレーションを実行する。そしてこの論理シミュレーションの結果として波形データ3が得られる。
【0024】
注釈付きタイミングダイヤグラム及び検証結果生成手段S4は、上記波形データS4と上記検証プロパティ1とに基づいて検証結果4を生成するとともに、注釈付きタイミングダイヤグラムS4Aを生成する。生成された検証結果生成された検証結果4は、テストレポート作成のため、検証結果フィードバック手段S5により上記検証項目入力エディタS1にフィードバックされる。
【0025】
上記注釈付きタイミングダイヤグラムの表示画面は、実際のシミュレーション波形に、イベント間の論理的関係を示す注釈記号S4A1、エラーメッセージS4A2、及び波形の期待値S4A3を含む。上記検証項目入力エディタS1の表示画面における検証結果S1Cと注釈付きタイミングダイヤグラムS4Aはリンクしており、検証プロパティ1を満たす(Pass)、それを満たさない(Fail)項目を選択することにより、対応する注釈付きタイミングダイヤグラムが表示されるようになっている。
【0026】
次に、上記論理検証ツールを更に詳細に説明する。
【0027】
図2には、上記検証項目入力エディタS1の入力例が示される。図2に示される例では、上記検証項目入力エディタS1により、「信号A立ち上がりの3サイクル後に信号Bが立ち上がる」という検証項目S1Aが自然言語で記述されている。自然言語はパーソナルコンピュータシステム100におけるキーボードを介して容易に入力することができる。
【0028】
図3には、検証プロパティの生成及びアサーションチェッカの生成例が示される。
【0029】
検証項目入力エディタS1にリンクしている検証プロパティ入力エディタS2を用いて検証プロパティが作成される。より詳細には、検証プロパティS2は、検証項目入力エディタS1の検証項目検証項目S1Aにリンクしている。
【0030】
最初に検証プロパティを作成する場合は、例えばマウスなどの入力装置で検証項目S1Aを選択することにより検証プロパティ入力エディタS2を起動させ、この検証プロパティ入力エディタS2に検証プロパティを入力する。一度検証プロパティを入力した後は、例えばマウスなどの入力装置で検証項目S1Aを選択することにより、対応する入力済み検証プロパティを検証プロパティ入力エディタS2で確認出来る。リンク機構S1Bにより、検証項目と検証プロパティの対応が常に保証される。アサーションチェッカ生成手段S3に検証プロパティ1が入力されることにより、アサーションチェッカ生成手段S3においてアサーションチェッカが生成される。
【0031】
図4には論理シミュレーションの実行及びその結果が示される。
【0032】
テストベンチ5、検査対象回路2、及びアサーションチェッカを論理シミュレータS1で読み込み、論理シミュレーションを実行し、波形データ4を生成する。この波形データ4には、毎サイクルの時刻及びその時刻における信号値(Aの信号値、Bの信号値)が格納されている。
【0033】
図5には、注釈付きタイミングダイアグラム及び検証結果生成手段S4の構成例が示される。
【0034】
注釈付きタイミングダイアグラム及び検証結果生成手段S4は、図5に示されるように、検証プロパティ1に基づいて状態遷移グラフ8を作成するための状態遷移グラフ生成手段S6と、この状態遷移グラフ生成手段S6によって生成された状態遷移グラフ8を波形データ3に基づいてトレースすることで注釈情報付き波形データ9及び検証結果4を得る状態遷移グラフトレース手段S7とを含む。波形ビューアS4Aは、上記注釈付き波形データ9を読み込んで注釈付きタイミングダイヤグラムを生成する。
【0035】
図6には、状態遷移グラフ生成手段S6による状態遷移グラフ生成の流れが示される。
【0036】
タイミングチャート上の「a」は検証プロパティの前提条件を示し、「b」は帰結を示している。検証プロパティ1は、各サイクルにおいて信号がとるべき値を示しており、その値をグラフの各アークに遷移条件として付加することで状態遷移グラフが形成される。「終了ステート」は、後述する状態遷移グラフのトレースの結果、検証プロパティを満たす場合に到達するステートを示している。フェイルステートは、後述する状態遷移グラフのトレースの結果検証プロパティを満たさない場合に到達するステートを示している。
【0037】
図7には、上記状態遷移グラフトレース手段による注釈情報付き波形データ及び検証結果の生成の流れが示される。
【0038】
状態遷移グラフのトレースは状態遷移グラフの開始ステートから開始される。波形データから毎サイクルの信号値を読み込み、状態遷移グラフの遷移条件と比較することにより、状態遷移のグラフをトレースすることができる。図7において、ステートにステート名(Rise(A),Rise(B))が付されているものは、検証プロパティで定義されているイベントを示しており、上記ステートを通過したならば、当該ステートに到達した時刻、及び当該ステートから抜けた時刻がステート名と共に注釈情報付き波形データ書込まれる。本例では、時刻50(ns)において、波形データの信号値Bの値が「0」、検証プロパティから期待される信号値が「1」であるため、フェイルステートに遷移している。フェイルステートに遷移したならば、もう一方のステートへの遷移条件である信号の期待値を取得する。この信号の期待値に基づいてフェイルした時刻における信号値が注釈付き波形データに書込まれる。フェイルステートに遷移したならば、フェイルしたプロパティ名、時刻、検証結果がファイルに書込まれる。
【0039】
図8には、注釈付き波形データに基づいて生成された注釈付きタイミングダイヤグラムが示される。検証結果に基づいてエラーメッセージ80が表示される。また、注釈情報付き波形データに格納されている信号値の期待値に基づいて、期待される信号波形が実際の波形に重ねて表示される。注釈情報付き波形データに格納されているイベントの情報に基づいて、イベントの論理的関係を示す矢印記号81が表示される。
【0040】
図9には検証結果のフィードバックの様子が示される。
【0041】
図9に示されるように、検証結果4が検証結果フィードバック手段S5により検証項目入力エディタS1にフィードバックされる。検証項目入力エディタS1において、パス(Pass)項目には検証プロパティを満たした回数の合計(図9の例では「0」)が示され、フェイル(Fail)項目には検証プロパティを満たさなかった回数の合計(図9の例では「1」)が表示される。
【0042】
上記の例によれば、以下の作用効果を得ることができる。
【0043】
(1)表形式の検証項目入力エディタS1の表示画面に、検証結果がフィードバックされることでテストレポートが作成される。パーソナルコンピュータ100での処理は、人手作業によってテストレポートを作成するのに比べて短時間で済むし、上記テストレポートの作成において人手作業による煩雑な作業が省略されるため、人為的なミスも低減され、それによって論理検証効率の向上を達成することができる。
【0044】
(2)タイミングチャート上でバグ原因を解析するする際は、シミュレーション結果が示すイベント間の論理的関係を正確に理解することが前提条件とされ、タイミングチャート上でイベント間の論理的関係を表現する手段として、従来から「注釈付きタイミングダイヤグラム」が用いられてきたが、その人手による作成作業は煩雑であり、検証工数の増加を余儀なくされる。これに対して、注釈付きタイミングダイヤグラム及び検証結果生成手段S4により、注釈付きタイミングダイヤグラムS4Aが作成され、表形式の検証項目入力エディタS1の表示画面に検証結果がフィードバックされることでテストレポートが作成される。パーソナルコンピュータ100での処理は、注釈付きタイミングダイヤグラムやテストレポートを人手作業によって作成するのに比べて短時間で済む。また、注釈付きタイミングダイヤグラムやテストレポートの作成において人手作業にる煩雑な作業が省略されるため、人為的なミスも低減され、それによって論理検証効率の向上を達成することができる。
【0045】
(3)上記(1),(2)の作用効果により、IP購入側に対して、自社IPコアの品質を定量的に示すことができる資料を提供することができる。
【0046】
以上本発明者によってなされた発明を具体的に説明したが、本発明はそれに限定されるものではなく、その要旨を逸脱しない範囲で種々変更可能であることはいうまでもない。
【0047】
例えば論理シミュレータは、図1に示される論理検証ツールとは別プログラムとして提供することができる。また、注釈付きタイミングダイアグラムにおける注釈には、矢印記号のみならず、直線や曲線あるいは破線などの各種線、各種記号列や文字列が含まれる。
【0048】
以上の説明では主として本発明者によってなされた発明をその背景となった利用分野であるパーソナルコンピュータシステムに適用した場合について説明したが、本発明はそれに限定されるものではなく、ワークステーション等にも適用することができる。
【0049】
【発明の効果】
本願において開示される発明のうち代表的なものによって得られる効果を簡単に説明すれば下記の通りである。
【0050】
すなわち、コンピュータでの処理により、注釈付きタイミングダイヤグラムやテストレポートを速やかに作成することができ、また、人手作業にる煩雑な作業が省略されることで人為的なミスの低減を図ることができるため、論理検証効率の向上を図ることができる。
【図面の簡単な説明】
【図1】本発明にかかる論理検証プログラムによって実現される論理検証ツールの全体的な構成例ブロック図である。
【図2】上記論理検証ツールに含まれる検証項目入力エディタにおける入力例の説明図である。
【図3】上記論理検証ツールによる検証プロパティやアサーションチェッカの生成に関する説明図である。
【図4】上記論理検証ツールにおける論理シミュレーションの実行及びその結果の説明図である。
【図5】上記論理検証ツールに含まれる「注釈付きタイミングダイアグラム及び検証結果生成手段」の構成例説明図である。
【図6】上記論理検証ツールに含まれる状態遷移グラフ生成手段による状態遷移グラフ生成の説明図である。
【図7】上記論理検証ツールに含まれる状態遷移グラフトレース手段による注釈情報付き波形データ及び検証結果の生成説明図である。
【図8】注釈付き波形データに基づいて生成された注釈付きタイミングダイヤグラムの説明図である。
【図9】上記論理検証ツールにおける検証結果のフィードバック説明図である。
【図10】本発明にかかる論理検証プログラムが実行されるパーソナルコンピュータシステムの構成例ブロック図である。
【符号の説明】
100 パーソナルコンピュータシステム
101 外部インタフェース
102 マイクロコンピュータ
103 表示装置
104 記憶装置
200 ネットワーク
300 可搬型記憶媒体
S1 検証項目入力エディタ
S2 検証プロパティ入力エディタ
S3 アサーションチェッカ生成手段
S4 検証結果生成手段
S5 検証結果フィードバック手段[0001]
TECHNICAL FIELD OF THE INVENTION
The present invention relates to a logic debugging technique, a logic verification program executable by a computer, and a computer-readable recording medium recording the logic verification program.
[0002]
[Prior art]
In a design process of a logic circuit or the like, a logic simulator or a waveform viewer is used as a tool for verifying a logic function, timing, or the like of the designed logic circuit. In a logic simulator, a simulation is performed based on a test vector that describes a test pattern created from a netlist describing circuit information of a semiconductor device in accordance with the specifications of the semiconductor device. In the waveform viewer, the result of the simulation is displayed as a waveform. In the waveform viewer, a horizontal axis is a time axis, and signal names are listed in a vertical axis direction, and a temporal change of each signal is displayed in a waveform. The designer checks whether the simulation result matches the specification based on the waveform display by the waveform viewer.
[0003]
As a method for making the waveform display easier to see, for example, the display color is changed in accordance with a change in the value of the specified trigger signal, and the value of the signal line that changes depending on the change in the value of the trigger signal is displayed in the same color as the trigger signal. It is known to display (for example, see Patent Document 1).
[0004]
[Patent Document 1]
JP-A-7-21244 [0005]
[Problems to be solved by the invention]
In logic verification based on waveform display by a waveform viewer as a waveform display tool, identifiers of properties to be satisfied by a circuit described in a verification language (hereinafter referred to as “verification properties”) and verification results are displayed in a table format, and verification properties are displayed. Can be highlighted on the waveform viewer. However, according to such a waveform display tool, verification items cannot be described in a natural language. Therefore, a test specification and a test report must be separately created using an editor or the like. As a result, the creation and modification of test specifications, verification properties, and test reports are all performed manually. In addition, since the editor used for creating the test specifications does not have a version management function of the verification items, it is necessary to manually create the update history. As described above, according to the related art, there are many manual operations, and the number of man-hours is increased and human errors are likely to occur.
[0006]
Furthermore, when analyzing the cause of a bug on a timing chart, it is a precondition that the logical relationship between events indicated by the simulation results be accurately understood. As a means of expressing a logical relationship between events on a timing chart, an “annotated timing diagram” has been conventionally used. The verification engineer himself creates the annotated timing diagram himself when analyzing the cause of the bug. However, if the logical relationship between events is so complex that it cannot be created in the mind, if the cause of the bug needs to be explained to a third party, or if it is to be recorded, the timing chart on the waveform display tool must be printed. The logical relationship between the events is visualized on a timing chart by printing the information on the screen and adding an annotation with a pen. However, the work is complicated, and the number of verification steps must be increased.
[0007]
An object of the present invention is to improve the efficiency of logic verification.
[0008]
The above and other objects and novel features of the present invention will become apparent from the description of the present specification and the accompanying drawings.
[0009]
[Means for Solving the Problems]
The outline of a representative invention among the inventions disclosed in the present application will be briefly described as follows.
[0010]
That is, the first means is a logic verification program that causes a computer to input a verification item in a tabular display screen in a natural language into a verification item input editor and to feed back a verification result to the verification item input editor. It functions as a verification result feedback means that can generate a test report.
[0011]
According to the first means, a test report is created by feeding back the verification result to the display screen of the tabular verification item input editor by computer processing. According to the processing by the computer, a test report can be created in a shorter time than in the case of manual operation. In addition, since a complicated manual operation is omitted in creating the test report, human error is reduced. This achieves an improvement in logic verification efficiency. Further, the verification item input editor achieves simplification of input of verification items by enabling input of verification items in a natural language.
[0012]
The second means is a logic verification program, which links the computer to a verification item input editor that enables input of verification items in a natural language on a tabular display screen. A verification property input editor that can be created, an assertion checker generating means for generating an assertion checker based on the verification property, an annotated timing diagram based on waveform data obtained by a logic simulation based on the assertion checker and the verification property, and Annotated timing diagram for generating verification results and verification result generation means, verification result feedback that enables generation of a test report by feeding back the verification results to the verification item input editor To function as a click means.
[0013]
When analyzing the cause of a bug on the timing chart as described above, it is a prerequisite that the logical relationship between the events indicated by the simulation results be accurately understood, and the logical relationship between the events on the timing chart is determined. Conventionally, a "timing diagram with annotations" has been used as a means for expressing the data. However, the manual creation work is complicated, and the number of verification steps must be increased.
[0014]
However, according to the second means, the annotated timing diagram and the verification result generation means generate the annotated timing diagram, and the test result is generated by feeding back the verification result to the verification item input editor. According to the processing by the computer, annotated timing diagrams and test reports can be created in a shorter time than in the case of manual processing. In addition, since a complicated manual operation is unnecessary in creating an annotated timing diagram and a test report, human errors are reduced. This achieves an improvement in logic verification efficiency.
[0015]
The annotated timing diagram and verification result generating means include state transition graph generating means for generating a state transition graph based on the verification property, and waveform data with annotation information based on the state transition graph and the waveform data. And a state transition graph tracing means for obtaining the above verification result.
[0016]
BEST MODE FOR CARRYING OUT THE INVENTION
FIG. 10 shows a personal computer system on which the logic verification program according to the present invention is executed.
[0017]
Although not particularly limited, the
[0018]
FIG. 1 shows an overall configuration example of a logic verification tool realized by executing a predetermined program related to logic verification in the
[0019]
Although the logic verification tool shown in FIG. 1 is not particularly limited, a verification item input editor S1, a verification property input editor S2, an assertion checker generation unit S3, an annotated timing diagram and verification result generation unit S4, a verification result feedback unit S5, And a
[0020]
The verification item input editor S1 has a version management function and enables input of the verification items S1A in a table format. The input of the verification item S1A can be performed in a natural language in order to facilitate the input. Although not particularly limited, examples of the verification items input by the verification item input editor S1 include "execute a write transaction to the count register", initialize all registers by a reset signal, and "start counting up by asserting a count start signal". And the like.
[0021]
The verification property input editor S2 enables input of a verification property. The verification property input editor S2 is linked to a verification item (SB1), and the
[0022]
The assertion checker generation means S3 generates an
[0023]
The
[0024]
The annotated timing diagram and verification result generation means S4 generates the
[0025]
The display screen of the annotated timing diagram includes, in the actual simulation waveform, an annotation symbol S4A1 indicating a logical relationship between events, an error message S4A2, and an expected value S4A3 of the waveform. The verification result S1C and the annotated timing diagram S4A on the display screen of the verification item input editor S1 are linked to each other, and are selected by selecting an item that satisfies the verification property 1 (Pass) or does not satisfy the verification property 1 (Fail). An annotated timing diagram is displayed.
[0026]
Next, the logic verification tool will be described in more detail.
[0027]
FIG. 2 shows an input example of the verification item input editor S1. In the example shown in FIG. 2, the verification item input editor S1 describes the verification item S1A of "signal B rises three cycles after signal A rises" in natural language. Natural language can be easily input via a keyboard in the
[0028]
FIG. 3 shows an example of generation of a verification property and generation of an assertion checker.
[0029]
The verification property is created using the verification property input editor S2 linked to the verification item input editor S1. More specifically, the verification property S2 is linked to the verification item verification item S1A of the verification item input editor S1.
[0030]
When a verification property is first created, the verification property input editor S2 is started by selecting a verification item S1A with an input device such as a mouse, and the verification property is input to the verification property input editor S2. Once the verification property has been input, for example, by selecting the verification item S1A with an input device such as a mouse, the corresponding input verification property can be confirmed in the verification property input editor S2. The link mechanism S1B always guarantees the correspondence between the verification item and the verification property. When the
[0031]
FIG. 4 shows the execution of the logic simulation and the results thereof.
[0032]
The
[0033]
FIG. 5 shows a configuration example of the annotated timing diagram and the verification result generation means S4.
[0034]
As shown in FIG. 5, the annotated timing diagram and verification result generation means S4 include a state transition graph generation means S6 for generating a
[0035]
FIG. 6 shows a flow of the state transition graph generation by the state transition graph generation means S6.
[0036]
“A” on the timing chart indicates the precondition of the verification property, and “b” indicates the result. The
[0037]
FIG. 7 shows the flow of generation of the annotation-added waveform data and the verification result by the state transition graph tracing means.
[0038]
The trace of the state transition graph starts from the start state of the state transition graph. By reading the signal value of each cycle from the waveform data and comparing it with the transition condition of the state transition graph, it is possible to trace the state transition graph. In FIG. 7, a state with a state name (Rise (A), Rise (B)) indicates an event defined in the verification property. And the time at which the state exited from the state are written together with the state name and the waveform data with annotation information. In this example, at time 50 (ns), the value of the signal value B of the waveform data is “0”, and the signal value expected from the verification property is “1”, so that the state transits to the fail state. After the transition to the fail state, the expected value of the signal, which is the condition for transition to the other state, is obtained. The signal value at the time of failure based on the expected value of this signal is written in the annotated waveform data. After transition to the fail state, the failed property name, time, and verification result are written to a file.
[0039]
FIG. 8 shows an annotated timing diagram generated based on the annotated waveform data. An
[0040]
FIG. 9 shows a state of feedback of the verification result.
[0041]
As shown in FIG. 9, the
[0042]
According to the above example, the following effects can be obtained.
[0043]
(1) A test report is created by feeding back the verification result to the display screen of the tabular verification item input editor S1. The processing by the
[0044]
(2) When analyzing the cause of a bug on a timing chart, it is prerequisite to accurately understand the logical relationship between events indicated by the simulation results, and express the logical relationship between events on the timing chart. Conventionally, a "timing diagram with annotations" has been used as a means for performing such a task. However, the manual creation work is complicated, and the number of verification steps must be increased. On the other hand, the annotated timing diagram and verification result generation means S4 generates the annotated timing diagram S4A, and the verification result is fed back to the display screen of the tabular verification item input editor S1 to generate a test report. Is done. The processing by the
[0045]
(3) Due to the effects of the above (1) and (2), it is possible to provide the IP purchaser with materials that can quantitatively indicate the quality of the company's IP core.
[0046]
Although the invention made by the present inventors has been specifically described above, the present invention is not limited thereto, and it goes without saying that various modifications can be made without departing from the gist of the invention.
[0047]
For example, the logic simulator can be provided as a separate program from the logic verification tool shown in FIG. The annotations in the annotated timing diagram include not only arrow symbols but also various lines such as straight lines, curves, and broken lines, various symbol strings, and character strings.
[0048]
In the above description, the case where the invention made by the inventor is mainly applied to a personal computer system which is a utilization field as a background has been described. However, the present invention is not limited thereto, and may be applied to a workstation or the like. Can be applied.
[0049]
【The invention's effect】
The effects obtained by the representative inventions among the inventions disclosed in the present application will be briefly described as follows.
[0050]
In other words, annotated timing diagrams and test reports can be quickly created by computer processing, and human errors can be reduced by eliminating cumbersome manual operations. Therefore, the logic verification efficiency can be improved.
[Brief description of the drawings]
FIG. 1 is a block diagram illustrating an overall configuration example of a logic verification tool realized by a logic verification program according to the present invention.
FIG. 2 is an explanatory diagram of an input example in a verification item input editor included in the logic verification tool.
FIG. 3 is an explanatory diagram concerning generation of a verification property and an assertion checker by the logic verification tool.
FIG. 4 is an explanatory diagram of execution of a logic simulation in the logic verification tool and a result of the simulation.
FIG. 5 is an explanatory diagram of a configuration example of “annotated timing diagram and verification result generation means” included in the logic verification tool.
FIG. 6 is an explanatory diagram of state transition graph generation by a state transition graph generation unit included in the logic verification tool.
FIG. 7 is an explanatory diagram of generating waveform data with annotation information and a verification result by a state transition graph tracing means included in the logic verification tool.
FIG. 8 is an explanatory diagram of an annotated timing diagram generated based on annotated waveform data.
FIG. 9 is an explanatory diagram of feedback of a verification result in the logic verification tool.
FIG. 10 is a block diagram illustrating a configuration example of a personal computer system on which a logic verification program according to the present invention is executed.
[Explanation of symbols]
Claims (4)
検証結果を上記検証項目入力エディタにフィードバックすることでテストレポートの生成を可能とする検証結果フィードバック手段、として機能させることを特徴とする論理検証プログラム。A verification item input editor that enables a computer to input verification items in a natural language on a tabular display screen;
A logic verification program characterized by functioning as verification result feedback means for generating a test report by feeding back a verification result to the verification item input editor.
上記検証項目入力エディタにリンクされ、検証プロパティを検証言語で作成可能な検証プロパティ入力エディタ、
上記検証プロパティに基づいてアサーションチェッカを生成するアサーションチェッカ生成手段、
上記アサーションチェッカに基づく論理シミュレーションによって得られた波形データと上記検証プロパティとに基づいて注釈付きタイミングダイアグラム及び検証結果を生成するための注釈付きタイミングダイアグラム及び検証結果生成手段、
上記検証結果を上記検証項目入力エディタにフィードバックすることでテストレポートの生成を可能とする検証結果フィードバック手段、として機能させることを特徴とする論理検証プログラム。A verification item input editor that enables a computer to input verification items in a natural language on a tabular display screen;
Validation property input editor linked to the above validation item input editor, which can create validation properties in the validation language,
Assertion checker generating means for generating an assertion checker based on the verification property,
Annotated timing diagram and verification result generating means for generating an annotated timing diagram and verification result based on the waveform data obtained by the logic simulation based on the assertion checker and the verification property,
A logic verification program characterized by functioning as verification result feedback means for generating a test report by feeding back the verification result to the verification item input editor.
上記状態遷移グラフと上記波形データとに基づいて注釈情報付き波形データ及び上記検証結果を得る状態遷移グラフトレース手段と、を含む請求項2記載の論理検証プログラム。The annotated timing diagram and verification result generation means, state transition graph generation means for generating a state transition graph based on the verification properties,
3. The logic verification program according to claim 2, further comprising: state transition graph tracing means for obtaining waveform data with annotation information and the verification result based on the state transition graph and the waveform data.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2003123402A JP2004326650A (en) | 2003-04-28 | 2003-04-28 | Logic verification program and recording medium |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2003123402A JP2004326650A (en) | 2003-04-28 | 2003-04-28 | Logic verification program and recording medium |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2004326650A true JP2004326650A (en) | 2004-11-18 |
Family
ID=33501305
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2003123402A Withdrawn JP2004326650A (en) | 2003-04-28 | 2003-04-28 | Logic verification program and recording medium |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2004326650A (en) |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2006035854A1 (en) * | 2004-09-30 | 2006-04-06 | Ricoh Company, Ltd. | Assertion generating system, program thereof, circuit verifying system, and assertion generating method |
JP2007264994A (en) * | 2006-03-28 | 2007-10-11 | Fujitsu Ltd | Verification support device, verification support method, verification support program and recording medium |
JP2008112277A (en) * | 2006-10-30 | 2008-05-15 | Mitsubishi Electric Corp | Timing chart generation device |
JP2009041922A (en) * | 2007-08-06 | 2009-02-26 | Yokogawa Electric Corp | Test support system |
JP2009282847A (en) * | 2008-05-23 | 2009-12-03 | Toshiba Corp | Apparatus for verifying semiconductor integrated circuit |
JP2011511990A (en) * | 2009-01-12 | 2011-04-14 | シノプシイス インコーポレイテッド | Natural language assertion processor |
JP2012248064A (en) * | 2011-05-30 | 2012-12-13 | Hitachi Ltd | Logic verification method and logic verification system |
-
2003
- 2003-04-28 JP JP2003123402A patent/JP2004326650A/en not_active Withdrawn
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2006035854A1 (en) * | 2004-09-30 | 2006-04-06 | Ricoh Company, Ltd. | Assertion generating system, program thereof, circuit verifying system, and assertion generating method |
US7603636B2 (en) | 2004-09-30 | 2009-10-13 | Ricoh Company, Ltd. | Assertion generating system, program thereof, circuit verifying system, and assertion generating method |
JP2007264994A (en) * | 2006-03-28 | 2007-10-11 | Fujitsu Ltd | Verification support device, verification support method, verification support program and recording medium |
US7676777B2 (en) | 2006-03-28 | 2010-03-09 | Fujitsu Microelectronics Limited | Method and apparatus for supporting verification, and computer product |
JP2008112277A (en) * | 2006-10-30 | 2008-05-15 | Mitsubishi Electric Corp | Timing chart generation device |
JP2009041922A (en) * | 2007-08-06 | 2009-02-26 | Yokogawa Electric Corp | Test support system |
JP2009282847A (en) * | 2008-05-23 | 2009-12-03 | Toshiba Corp | Apparatus for verifying semiconductor integrated circuit |
JP2011511990A (en) * | 2009-01-12 | 2011-04-14 | シノプシイス インコーポレイテッド | Natural language assertion processor |
JP2012248064A (en) * | 2011-05-30 | 2012-12-13 | Hitachi Ltd | Logic verification method and logic verification system |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4989629B2 (en) | Method and system for debugging using replication logic and trigger logic | |
JP2017033562A (en) | System and method for model based technology and process for safety-critical software development | |
JP4806529B2 (en) | Debugging methods and systems that use replicated logic | |
US20140214396A1 (en) | Specification properties creation for a visual model of a system | |
US10019337B2 (en) | Class object handle tracking | |
Iskander et al. | High-level abstractions and modular debugging for FPGA design validation | |
JP2006048525A (en) | Simulation method | |
Tiwari et al. | Reuse: reducing test effort | |
Goli et al. | Automated nonintrusive analysis of electronic system level designs | |
JP2007172444A (en) | Verification work support system and method therefor | |
Goli et al. | Automated design understanding of SystemC-based virtual prototypes: Data extraction, analysis and visualization | |
JP2004326650A (en) | Logic verification program and recording medium | |
US10579761B1 (en) | Method and system for reconstructing a graph presentation of a previously executed verification test | |
JP2017162130A (en) | Hardware/software cooperative verification device and hardware/software cooperative verification method | |
US8065641B2 (en) | Automatically creating manufacturing test rules pertaining to an electronic component | |
Goli et al. | Through the looking glass: Automated design understanding of SystemC-based VPs at the ESL | |
TWI393897B (en) | Integrated test method and system using the same | |
JP2016126700A (en) | Program verification device, program verification method, and program verification program | |
Becker et al. | FudgeFactor: Syntax-guided synthesis for accurate RTL error localization and correction | |
WO2017149737A1 (en) | High-level synthesis device, high-level synthesis method, and high-level synthesis program | |
JP5799589B2 (en) | Verification method and verification program | |
CN117094269B (en) | Verification method, verification device, electronic equipment and readable storage medium | |
JP3745968B2 (en) | Test system, test method, test program, and computer-readable recording medium recording the test program | |
JP5034867B2 (en) | Software verification support program, recording medium recording the program, software verification support apparatus, and software verification support method | |
JP2011164860A (en) | Device and program for verification |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A300 | Application deemed to be withdrawn because no request for examination was validly filed |
Free format text: JAPANESE INTERMEDIATE CODE: A300 Effective date: 20060704 |