JP3941336B2 - 論理回路検証装置 - Google Patents
論理回路検証装置 Download PDFInfo
- Publication number
- JP3941336B2 JP3941336B2 JP2000138080A JP2000138080A JP3941336B2 JP 3941336 B2 JP3941336 B2 JP 3941336B2 JP 2000138080 A JP2000138080 A JP 2000138080A JP 2000138080 A JP2000138080 A JP 2000138080A JP 3941336 B2 JP3941336 B2 JP 3941336B2
- Authority
- JP
- Japan
- Prior art keywords
- verification
- verification information
- information
- signal
- database
- 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.)
- Expired - Fee Related
Links
Images
Landscapes
- Design And Manufacture Of Integrated Circuits (AREA)
Description
【発明の属する技術分野】
本発明は、ハードウェア記述言語を用いた論理回路設計の検証方法に関する。
【0002】
【従来の技術】
ASIC(Application Specific Integrated Circuit)などLSIの設計において回路の大規模化が進み、設計の効率化が重要視されてきている。このような状況において、論理回路の設計データを記述できるハードウェア記述言語(以下、HDL記述と称す)を用いた論理回路の設計方法が一般的になってきている。HDL記述はverilogHDLとVHDLが標準化により実際の設計現場で中心的に用いられている。図2にverilogHDL記述の例を示す。図2(b)は図2(a)の回路シンボルをハードウェア記述で表現したものであり、図2(b)の左側の行番号と右側のコメントは、説明のために書き加えたものである。各行および複数行のHDL記述の意味は、コメントに示す内容を表すものであるが、モジュールの定義に始まって、回路のポートの宣言や信号の変化によって記述ブロックの実行を制御する順次処理文などで構成される。HDL記述は可読性と記述性に優れ、設計のみならず検証においても効率の向上に寄与するものである。
【0003】
一般に論理回路の検証の方法は、大きく分けて論理シミュレーションと形式的検証がある。論理シミュレーションは、検証の対象回路に適切な入力パターンを与えて動作をシミュレーションし、得られた出力パターンが元の論理回路から得られるべき出力パターンと一致するか否かを調べることにより正当性を検証する方法である。一方、形式的検証は回路を数学的に解析することで、その結果を検証するものであり、形式的検証は更に等価性検証とプロパティ検証に分けられる。等価性検証は2つの回路が論理的に等しいかどうかを検証し、プロパティ検証は設計した論理回路が設計仕様(プロパティ)を満たしているかどうかを検証するものである。プロパティとは、例えば、ある信号が「1」になるまでデータの信号が入力されない、とか、あるレジスタに値が書き込まれたらそのデータの使用前にデータが書換えられることはない、と言ったものである。
【0004】
実際のプロパティ検証においては、HDL記述から変換した回路データと検証しようとする回路の動作事象等を記述したプロパティとを用いて検証を実行し、検証結果に示されるプロパティに記述した信号の状態を見て回路の正当性を判断する。本発明はプロパティ検証に係わるものである。
【0005】
【発明が解決しようとする課題】
一般に検証は設計者と異なる検証者によって実施され、検証者は設計の基となる仕様書から検証に必要な情報を得て検証を行うが、次のような問題がある。
【0006】
1)検証者は検証する回路動作の事象や入力信号の制約条件をプロパティとして記述する必要があり、煩雑な作業を強いられる。また、検証者のプロパティ作成のスキル如何により検証品質にバラツキがでる恐れがある。
【0007】
2)回路規模と複雑性の増大により仕様書も同様にボリュームが多くなり、検証に必要な情報の取得に多大の時間を必要とする。また、見過ごし等による検証漏れも増大する。
【0008】
3)仕様書が概念レベルの仕様まで規定し、詳細仕様を設計者に依存した仕様となっている場合に検証に必要な情報の取得が困難となる。
【0009】
特に3)は、検証者が設計者に問い合わせて詳細仕様を確認する作業が必要となり、検証工数の増大をもたらす。
【0010】
このように、複雑性が増し大規模の論理回路の検証においては、検証の効率と品質が問題となっている。
【0011】
【課題を解決するための手段】
上記の問題を解決するため、本発明は予め設計者によってHDL記述中にチェッカーのような形で検証情報を挿入して置くことにより、装置がこれらの情報を抽出してプロパティ検証の環境を生成するもので、検証者は検証情報を指示するだけでプロパティ検証が行えるよう考案したものある。検証の効率と品質とを向上する論理回路検証装置を提供することを目的にしている。
【0012】
この目的を達成するために、本発明は、図1に示すような構成手段を持つ。
【0013】
まず検証対象のHDL記述31は、設計者が予め検証すべきと考えている回路動作の事象に対応した検証情報をHDL記述中に挿入してあるものである。検証情報抽出手段1は、このHDL記述31のモジュールの中に含まれている検証情報を抽出し、併せてこの検証情報の位置を定めるモジュール名、挿入行などの関連情報を記憶して置く。続いて、検証情報作成手段2では、抽出した各々の検証情報に対応する検証用の信号を設定し、その信号にユニークな信号名を付与して検証情報データベース21として記憶して置く。検証用の信号は、検証の際に論理回路の動作事象を信号の変化として見るためのものであり、元の論理回路の持つ機能に影響を与えるものではない。次のHDL記述変換手段3では、検証情報が含まれているモジュールのHDL記述に対して、検証情報作成手段2で付与した信号の宣言文や信号値の初期化の命令文などを挿入し、挿入後のHDL記述を検証実行手段5が読める形に変換を行い回路データベース22として記憶しておく。一方、プロパティ作成手段4では検証情報データベース21の中の検証情報の一部または全部を用いて検証指示のためのプロパティを作成する。次に、このプロパティと回路データベース22とを用いて検証実行手段5で検証の実行を行い、指示された信号の変化の状態を見て論理回路が仕様通りの動作が行われているかどうかを判断する。
【0014】
上記の構成により、第一と第三の発明では、装置はHDL記述に含まれる検証情報に基づいてプロパティ検証のための動作記述をHDL記述中に生成するため、検証者がプロパティ作成のための記述を作成することなく容易に論理回路の動作事象の検証を実施できる。従って、検証者が設計仕様から検証用の情報を取得しプロパティ作成のために記述する時間の大幅な短縮が図れるとともに、検証者のスキルに依存することなく品質の高い検証を行うことができる。
【0015】
また、第二の発明によれば、回路の入力信号の制約条件に対する検証を行うことができる。当然のことながら、回路の動作事象の検証と入力信号の制約条件を同時に検証することも可能である。
【0016】
【発明の実施の形態】
本発明の実施例として、構成例および動作を図3から図10を用いて順次説明する。
【0017】
図3は本発明の実施構成例を示すブロック図である。
【0018】
HDL記述31は検証対象のHDL記述であり、1つ以上のモジュールより構成されている。また、これらのHDL記述には設計者が検証すべきと考えている論理回路の動作事象や入力信号の制約条件が検証情報という形で挿入されている。
【0019】
検証情報抽出部11ではHDL記述31を読取り、HDL記述中に含まれている検証情報を抽出し、さらに検証情報の挿入位置を定めるモジュール名やモジュール内の行位置などの関連情報を抽出テーブル23に記憶しておく。この処理を全てのモジュールに対して実施する。
【0020】
次に、信号付与部12で抽出テーブル23に記憶してある検証情報に対応する検証用の信号を設定し、この信号にユニークな信号名を付け、検証情報データベース21に格納して置く。
【0021】
続いて、HDL記述挿入部13で検証情報データベース21に記憶されているHDL記述のモジュールに対して、検証用信号の宣言文やその信号に対する初期化命令文の挿入、更に異常な動作をした場合の検証用信号の信号代入文を検証情報の記述行に対して置き換えを行う。このように挿入したHDL記述32を変換部14において検証実行部が読める形式に変換し、回路データベース22を作成する。
【0022】
一方、検証項目選択部15において、検証者が検証情報データベース21の中から実際に検証を実施する検証情報を選択し、次のプロパティ作成部16において選択された検証情報に対して検証実行部17への指示情報とするプロパティ33の作成を行う。
【0023】
以上で得られた回路データベース22とプロパティ33とを入力データとして、検証実行部17においてプロパティ検証を行う。検証者は、この検証結果を見て設計した回路が正しく動作しているかどうかを判断する。
【0024】
次に、図4を用いて処理の流れを示しながら、より詳細に発明の実施例を説明する。
【0025】
まず装置は、HDL記述31の1モジュールを取り出し、そのモジュールの中に検証情報が含まれているか調べる。最初の1モジュールの例として図5を用いる。図5の8行目の$finishと18行目の$stopとが検証情報として挿入されたものである。本来verilogHDLにおける$finishは、シミュレーションの実行を終了する組み込みタスクであり、また$stopはシミュレーションの実行を停止しデバッグモードに入ることを表す組み込みタスクであるが、本装置ではこの2つの組み込みタスクが検証情報であると認識するようにしている。本例では、$finishを制約条件とし、$stopを回路の動作事象を検証するものとして使い分けている。即ち、ここでの$finishは、7行目の記述文によってi0は「1」以外の値をとってはならない、という制約条件をチェックするものである。更に$stopは、13〜17行目において記述されているi0とi1が「0、0」もしくは「1、1」の場合にo1が「0」となり、i0とi1が「0、1」もしくは「1、0」の場合にo1が「1」となること以外の場合の動作事象をチェックすることを示すものである。この検証情報と検証情報が存在するファイル名やモジュール名、モジュール内の検証情報の行位置など検証情報に関連する情報も併せて図7に示すデータ構造で抽出テーブル23に記憶させて置く。図7のインスタンスパスは、下位モジュールにインスタンスが在る場合のパスを記憶して置くが、本例では自身のモジュールで閉じているため空白としている。引数は検証情報に引数が在る場合に記憶できるようにしている。また、「変換後の信号名」は検証情報毎に付与された信号の名称であり、次のステップで信号名の付与を行うので、この時点では「変換後の信号名」欄は空白である。抽出テーブル23は1つの検証情報に対して1つのテーブルを作成する。従って1つのモジュールに複数の検証情報が挿入されていれば、複数のテーブル作成されることになる。検証情報の抽出から抽出テーブル23の作成までは全てのモジュールに対して実施する(L1、S1、S2)。
【0026】
次に、抽出テーブル23の各検証情報に対して検証用の信号を設定し、この信号に対してユニークな信号名を付与する。図7の抽出テーブル23の検証情報$finishに対してはASSERT_SIGNAL0と言う信号名を付与し、$stopに対してはASSERT_SIGNAL1と言う信号名を付与している。付与した信号名は抽出テーブル23の「変換後の信号名」欄に記憶しておく。抽出テーブル23の全ての検証情報に対して信号名の付与が終わった段階で抽出テーブル23を検証情報データベース21に格納して置く。検証情報データベース21には抽出テーブル23のデータに加えて、「検証実行の選択」欄を設けており、図8にそのデータ構造例を示す。図8の「検証実行の選択」欄のチェックマークは、S7のステップで記入されるものでありこの時点では空白である(L2、S3、S4)。
【0027】
続いて、検証情報データベース21に記憶してある全てのモジュールのHDL記述に対して、それぞれの検証情報に与えられた信号を宣言文として挿入し、更にこの信号の初期値として「0」を与える初期化の命令文を挿入する。また、検証情報の記述行に対しては検証用の信号が期待とは異なった振る舞いをした時、即ち異常値となった時の信号値として、初期値とは異なる数値を与える信号代入文に置き換える。本例では、初期値として「0」を与えたので、異常値として「1」を与える。以上の動作を実際の例で説明する。まず、検証情報データベース21にtestと言うモジュールが存在するので、このモジュール、即ち図5のモジュールを取り出す。続いて、検証情報データベース21にはtestモジュールには$finishと$stopの2個の検証情報があり、それぞれにASSERT_SIGNAL0とASSERT_SIGNAL1の信号が付与されているので、この2つの信号の宣言を図5のHDL記述に対して図6のHDL記述の4行目のように挿入する。次に、これら2つの信号に対して初期値として0を与える命令文として図6の21〜24行目のように挿入する。最後に、検証情報が記述されている8行目と18行目に異常値として1を示すように信号代入文を置きかえる。testというモジュールに対しては、これでHDL記述の挿入を終了したことになる。抽出テーブル23に示される全てのモジュールに対して同様の処理実行し、挿入後のHDL記述32を得る(L3、S5)。
【0028】
次に、挿入後のHDL記述32を用いて検証が行える形式に変換し、回路データベース22として格納しておく。回路データベース22のデータ構造例を図9に示す(S6)。
【0029】
続いて、検証情報の選択を行う。これは、設計者が挿入した多くの検証情報の中から、検証者が検証したい項目を選択できるようにしているものである。具体的には、HDL記述31と検証情報データベース21とを画面に表示させ、選択した検証情報に対して検証情報データベース21の「検証実行の選択」欄にチェックマークを付ける。図8の「検証実行の選択」欄は検証者が選択したことを示している(S7)。
【0030】
検証情報の選択が終わった段階で、装置は検証情報データベース21のチェックマークの有無を調べ、チェックマークのある検証情報について検証実行指示としての情報をプロパティ33として出力する。プロパティ33のデータ例を図10に示す。ここでは、制約条件を検証する信号ASSERT_SIGNAL0と回路の動作事象を検証する信号ASSERT_SIGNAL1とについて検証することを示している(S8)。
【0031】
次に、回路データベース22とプロパティ33とを用いてプロパティ検証の実行を行う。検証者は指定した検証情報の信号の変化に注目して検証結果を調べ、回路動作の良否判断を行う(S9)。
【0032】
本実施例では、verilogHDLについて説明したが、VHDLについても同様の考えで検証を行うことができる。図11は前述した図5のverilogHDLと同じ回路をVHDLで記述したものである。VHDLではアサート文を検証情報として用いている。例えば図11の12行目と22行目が検証情報であり、図12のように変換される。検証の抽出およびHDL記述の挿入後の処理はveilogHDLと同様であるので、詳細は省略する。
【0033】
このように検証情報は通常使用されているHDL記述文を用いているため、元のHDL記述を用いて論理シミュレーションを行うことができる。即ち、図5の記述で論理シミュレーションを実行すれば、組み込みタスクとして本来の機能で動作する。
【0034】
【発明の効果】
以上説明したように、本発明によれば検証者はHDL記述に挿入してある回路の動作事象や制約条件の検証情報を指定するだけでプロパティ検証が行える。このため、検証者はプロパティ作成の記述に必要な知識や種々の記述規約を知ることなしに検証を行うことができる。また、設計仕様書からの検証に必要な情報を取り出す作業は大幅に軽減でき、検証の効率化、品質の向上に寄与するものである。更に、検証情報の記述は通常用いられている記述文を流用しているため、そのままで論理シミュレーションへの適用が可能である。
【図面の簡単な説明】
【図1】本発明の原理図である。
【図2】verilogHDL記述による表現例
【図3】実施構成例である。
【図4】処理フローである。
【図5】verilogHDL記述例である。
【図6】検証用信号挿入後のverilogHDL記述例である。
【図7】抽出テーブルのデータ構造例である。
【図8】検証情報データベースのデータ構造例である。
【図9】回路データベースのデータ構造例である。
【図10】プロパティのデータ例である。
【図11】VHDL記述例である。
【図12】検証用信号挿入後のVHDL記述例である。
【符号の説明】
1:検証情報抽出手段
2:検証情報作成手段
3:HDL記述変換手段
4:プロパティ作成手段
5:検証実行手段
11:検証情報抽出部
12:信号付与部
13:HDL記述挿入部
14:変換部
15:検証項目選択部
16:プロパティ作成部
17:検証実行部
21:検証情報データベース
22:回路データベース
23:抽出テーブル
31:HDL記述
32:挿入後のHDL記述
33:プロパティ
Claims (3)
- 論理回路動作の検証情報が含まれているハードウェア記述から検証情報を抽出する検証情報抽出手段と、
抽出した検証情報に対応する検証用の信号を設定し、信号名を付与して検証情報データベースを作成する検証情報作成手段と、
検証情報データベースを用いてハードウェア記述に検証用の信号情報を挿入し、検証用信号挿入後のハードウェア記述を回路データベースに変換するハードウェア記述変換手段と、
検証情報データベースに含まれる検証情報の一部または全部を用いてプロパティを作成するプロパティ作成手段と、
プロパティと回路データベースとを用いて検証を実施する検証実行手段と、
を備えていることを特徴とする論理回路検証装置。 - 請求項1記載の検証情報抽出手段は、入力信号の制約条件に対応した検証情報が含まれるハードウェア記述から検証情報を抽出する手段であること、
を特徴とする論理回路検証装置。 - 論理回路動作の検証情報が含まれているハードウェア記述から検証情報を抽出する検証情報抽出モジュールと、
抽出した検証情報に対して検証用の信号を設定し、検証用の信号にユニークな信号名を付与して検証情報データベースを作成する検証情報作成モジュールと、
検証情報データベースを用いてハードウェア記述に検証用の信号情報を挿入し、検証用信号挿入後のハードウェア記述を回路データベースに変換するハードウェア記述変換モジュールと、
検証情報データベースに含まれる検証情報の一部または全部を用いてプロパティを作成するプロパティ作成モジュールと、
プロパティと回路データベースとを用いて検証を実施する検証実行モジュールと、
を含むことを特徴とした論理回路を検証するプログラムを格納したコンピュータ読み取り可能な記録媒体。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2000138080A JP3941336B2 (ja) | 2000-05-11 | 2000-05-11 | 論理回路検証装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2000138080A JP3941336B2 (ja) | 2000-05-11 | 2000-05-11 | 論理回路検証装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2001318959A JP2001318959A (ja) | 2001-11-16 |
JP3941336B2 true JP3941336B2 (ja) | 2007-07-04 |
Family
ID=18645745
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2000138080A Expired - Fee Related JP3941336B2 (ja) | 2000-05-11 | 2000-05-11 | 論理回路検証装置 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP3941336B2 (ja) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4255079B2 (ja) * | 2004-09-30 | 2009-04-15 | 株式会社リコー | アサーション生成システムと回路検証システムおよびプログラムならびにアサーション生成方法 |
JP4498167B2 (ja) * | 2005-02-18 | 2010-07-07 | キヤノン株式会社 | プロパティ生成方法、検証方法及び検証装置 |
JP5233354B2 (ja) * | 2008-03-25 | 2013-07-10 | 日本電気株式会社 | プロパティ検証システム、プロパティ検証方法、及びプログラム |
JP5640790B2 (ja) * | 2011-02-10 | 2014-12-17 | 富士通株式会社 | 検証支援プログラム、検証支援装置、および検証支援方法 |
CN112164481B (zh) * | 2020-08-17 | 2023-09-29 | 北京广利核系统工程有限公司 | 一种核电安全控制显示设备数据库的智能验证方法及系统 |
-
2000
- 2000-05-11 JP JP2000138080A patent/JP3941336B2/ja not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JP2001318959A (ja) | 2001-11-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8682631B2 (en) | Specifications-driven platform for analog, mixed-signal, and radio frequency verification | |
US8051402B2 (en) | Method and apparatus for implementing communication between a software side and a hardware side of a test bench in a transaction-based acceleration verification system | |
US7421668B1 (en) | Meaningful visualization of properties independent of a circuit design | |
CN117094269B (zh) | 一种验证方法、装置、电子设备及可读存储介质 | |
US9582625B2 (en) | Test bench transaction synchronization in a debugging environment | |
CN112069763B (zh) | 修正电路的方法 | |
JP4147842B2 (ja) | 論理検証システム及び方法、論理コーン抽出装置及び方法、論理検証及び論理コーン抽出プログラム | |
JPH05256901A (ja) | 回路の論理機能の判定方法 | |
JP3825572B2 (ja) | 半導体集積回路の設計検証装置、方法及び記憶媒体 | |
US20140019923A1 (en) | Test bench hierarchy and connectivity in a debugging environment | |
US20140331195A1 (en) | Test bench hierarchy and connectivity in a debugging environment | |
JP3941336B2 (ja) | 論理回路検証装置 | |
US20020066068A1 (en) | Printed circuit board design, testing, and manufacturing process | |
CN118363715A (zh) | 一种参考模型的集成方法、装置、电子设备及存储介质 | |
CN112131807A (zh) | 一种跨时钟域验证方法、装置、设备及介质 | |
US8893065B2 (en) | Biometric markers in a debugging environment | |
JP4881769B2 (ja) | 半導体集積回路設計支援装置、半導体集積回路設計支援方法、半導体集積回路設計支援プログラム | |
CN110750956B (zh) | 逻辑闸阶层验证方法以及验证系统 | |
US7047173B1 (en) | Analog signal verification using digital signatures | |
US12197840B2 (en) | Techniques for modeling and verification of convergence for hierarchical domain crossings | |
CN115983171B (zh) | 用于对片上系统进行后仿真的方法和仿真平台 | |
JPWO2006025412A1 (ja) | 論理検証方法、論理モジュールデータ、デバイスデータおよび論理検証装置 | |
JPH11175580A (ja) | 集積回路設計装置 | |
JP2000293563A (ja) | 論理回路接続検証装置 | |
JP2979798B2 (ja) | テストパタン保証方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20061212 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20070313 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20070326 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
S111 | Request for change of ownership or part of ownership |
Free format text: JAPANESE INTERMEDIATE CODE: R313111 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100413 Year of fee payment: 3 |
|
R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110413 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110413 Year of fee payment: 4 |
|
S531 | Written request for registration of change of domicile |
Free format text: JAPANESE INTERMEDIATE CODE: R313531 |
|
S533 | Written request for registration of change of name |
Free format text: JAPANESE INTERMEDIATE CODE: R313533 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110413 Year of fee payment: 4 |
|
R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120413 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130413 Year of fee payment: 6 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130413 Year of fee payment: 6 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20140413 Year of fee payment: 7 |
|
S111 | Request for change of ownership or part of ownership |
Free format text: JAPANESE INTERMEDIATE CODE: R313111 |
|
R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |
|
LAPS | Cancellation because of no payment of annual fees |