JP2004326650A - Logic verification program and recording medium - Google Patents

Logic verification program and recording medium Download PDF

Info

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
Application number
JP2003123402A
Other languages
Japanese (ja)
Inventor
Takeroo Kamata
丈良夫 鎌田
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Renesas Technology Corp
Original Assignee
Renesas Technology Corp
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Renesas Technology Corp filed Critical Renesas Technology Corp
Priority to JP2003123402A priority Critical patent/JP2004326650A/en
Publication of JP2004326650A publication Critical patent/JP2004326650A/en
Withdrawn legal-status Critical Current

Links

Images

Abstract

<P>PROBLEM TO BE SOLVED: To improve the logic verification efficiency. <P>SOLUTION: The logic verification program allows a personal computer 100 to function as a verification item input editor (S1) which enables an input of a verification item in a natural language on a tabular display screen and to function as a verification result feedback means (S5) which enables the creation of a test report by feeding-back the verification result to the verification item input editor. The processing of the personal computer 100 reduces the time required for creating the test report as compared with the case of manual operation, and also reduces man-made mistakes due to the unnecessity for troublesome manual operations. <P>COPYRIGHT: (C)2005,JPO&NCIPI

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 personal computer system 100 shown in FIG. 10 executes the logic verification program according to the present invention, and various types of functions are performed between the microcomputer 102 that performs various functions for logic verification and the outside. An external interface 101 that allows information to be exchanged, a hard disk device storing various programs and various data executed by the microcomputer 102, and a semiconductor used as a work area in arithmetic processing by the microcomputer 102 The display device 103 includes a storage device 104 including a storage device and the like, and a display device 103 capable of displaying a calculation result of the microcomputer 102 and various necessary information. The program executed by the microcomputer 102 is sent from the program provider to the personal computer system 100 via the network 200, or loaded into the personal computer system 100 via the portable storage medium 300. There is. The logic verification program according to the present invention is stored in the storage device 104 via the network 200 or via the portable storage medium 300. The portable storage medium 300 includes various disks such as a floppy disk, a CD-ROM, a magnetic disk, an optical disk, and a magneto-optical disk. Here, the storage device 104 and the portable storage medium 300 are examples of a computer-readable recording medium on which a logic verification program is recorded.
[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 microcomputer 102.
[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 logic simulator 7.
[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 verification property 1 can be created in a verification language using the verification property input editor S2.
[0022]
The assertion checker generation means S3 generates an assertion checker 2 for checking how the specific design behaves or should not behave based on the verification property 1.
[0023]
The logic simulator 7 reads each information of the test bench 5, the verification target circuit 6, and the assertion checker 2 and executes a logic simulation. Then, waveform data 3 is obtained as a result of the logic simulation.
[0024]
The annotated timing diagram and verification result generation means S4 generates the verification result 4 based on the waveform data S4 and the verification property 1, and also generates the annotated timing diagram S4A. The generated verification result The generated verification result 4 is fed back to the verification item input editor S1 by the verification result feedback means S5 to generate a test report.
[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 personal computer system 100.
[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 verification property 1 is input to the assertion checker generating means S3, an assertion checker is generated in the assertion checker generating means S3.
[0031]
FIG. 4 shows the execution of the logic simulation and the results thereof.
[0032]
The test bench 5, the test target circuit 2, and the assertion checker are read by the logic simulator S1, a logic simulation is executed, and waveform data 4 is generated. The waveform data 4 stores the time of each cycle and the signal value (signal value of A, signal value of B) at that time.
[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 state transition graph 8 based on the verification property 1, and a state transition graph generation means S6. And a state transition graph tracing means S7 for obtaining waveform data 9 with annotation information and a verification result 4 by tracing the state transition graph 8 generated based on the waveform data 3. The waveform viewer S4A reads the annotated waveform data 9 and generates an annotated timing diagram.
[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 verification property 1 indicates a value that a signal should take in each cycle, and a state transition graph is formed by adding the value as a transition condition to each arc of the graph. The “end state” indicates a state reached when the verification property is satisfied as a result of a state transition graph trace described later. The fail state indicates a state reached when the result verification property of a trace of a state transition graph described later is not satisfied.
[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 error message 80 is displayed based on the verification result. Further, based on the expected value of the signal value stored in the waveform data with the annotation information, the expected signal waveform is displayed so as to overlap the actual waveform. Based on the event information stored in the annotation-added waveform data, an arrow symbol 81 indicating the logical relationship between the events is displayed.
[0040]
FIG. 9 shows a state of feedback of the verification result.
[0041]
As shown in FIG. 9, the verification result 4 is fed back to the verification item input editor S1 by the verification result feedback means S5. In the verification item input editor S1, the total number of times that the verification property is satisfied (“0” in the example of FIG. 9) is shown in the “Pass” item, and the number of times the verification property is not satisfied in the “Fail” item. (“1” in the example of FIG. 9) is displayed.
[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 personal computer 100 can be performed in a shorter time as compared with the case where a test report is created manually, and the troublesome manual operation can be omitted in creating the test report, thereby reducing human error. As a result, the efficiency of logic verification can be improved.
[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 personal computer 100 can be performed in a shorter time than when annotated timing diagrams and test reports are created manually. In addition, since a complicated manual operation is not required in creating an annotated timing diagram and a test report, human errors are reduced, thereby improving logic verification efficiency.
[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]
Reference Signs List 100 personal computer system 101 external interface 102 microcomputer 103 display device 104 storage device 200 network 300 portable storage medium S1 verification item input editor S2 verification property input editor S3 assertion checker generation means S4 verification result generation means S5 verification result feedback means

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.
請求項1乃至3の何れか1項記載の論理検証プログラムを記録したコンピュータ読み取り可能な記録媒体。A computer-readable recording medium recording the logic verification program according to claim 1.
JP2003123402A 2003-04-28 2003-04-28 Logic verification program and recording medium Withdrawn JP2004326650A (en)

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)

* Cited by examiner, † Cited by third party
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

Cited By (9)

* Cited by examiner, † Cited by third party
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