JP2008129921A - 論理機能検証装置及び論理機能検証方法 - Google Patents
論理機能検証装置及び論理機能検証方法 Download PDFInfo
- Publication number
- JP2008129921A JP2008129921A JP2006315561A JP2006315561A JP2008129921A JP 2008129921 A JP2008129921 A JP 2008129921A JP 2006315561 A JP2006315561 A JP 2006315561A JP 2006315561 A JP2006315561 A JP 2006315561A JP 2008129921 A JP2008129921 A JP 2008129921A
- Authority
- JP
- Japan
- Prior art keywords
- pass
- queue
- logic
- function
- ports
- 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.)
- Pending
Links
Images
Landscapes
- Tests Of Electronic Circuits (AREA)
Abstract
【課題】この発明は、回路記述を論理検証するための検証環境であるテストベンチの生成に要する作業工程を削減し、論理回路の検証に要する時間の大幅な短縮化を図ることを可能とした論理機能検証装置及び論理機能検証方法を提供することを目的としている。
【解決手段】検証対象(12)となる論理回路が有する複数のポートから所定の機能に対応するポートのグループを指示し、指示されたポートグループを構造体化してその構造体に対応するポートのデータを保持するためのキュー(19)を作成する。そして、キュー(19)に基づいて予め用意された雛形を参照して合否判定関数を生成し、生成された合否判定関数とキュー(19)により保持されたデータとに基づいて、予め用意された合否判定ロジックの雛形を参照して論理回路を合否判定するためのロジックを生成する。
【選択図】 図1
【解決手段】検証対象(12)となる論理回路が有する複数のポートから所定の機能に対応するポートのグループを指示し、指示されたポートグループを構造体化してその構造体に対応するポートのデータを保持するためのキュー(19)を作成する。そして、キュー(19)に基づいて予め用意された雛形を参照して合否判定関数を生成し、生成された合否判定関数とキュー(19)により保持されたデータとに基づいて、予め用意された合否判定ロジックの雛形を参照して論理回路を合否判定するためのロジックを生成する。
【選択図】 図1
Description
この発明は、例えばLSI(large scale integrated circuit)の開発時等において論理回路の機能検証を行なうための論理機能検証装置及び論理機能検証方法に関する。
周知のように、現在、例えばLSI等に代表される論理回路の開発においては、開発対象となる論理回路そのものを設計するための記述作業に要する時間に比べ、その回路記述を論理検証するために必要となる検証環境の記述であるテストベンチを作成する作業の方に、より多くの時間が費やされている。
特許文献1には、デバイスモデル、バスファンクションモデル、クロックジェネレータ等の検証装置をライブラリ化しておき、ポート名やポートの幅をキーワードとして検証対象の回路記述に接続する検証装置を決定するもので、特に、汎用バスに接続される論理回路の検証に用いるテストベンチ全体を自動的に作成することが開示されている。
特開2006−178775
そこで、この発明は上記事情を考慮してなされたもので、回路記述を論理検証するための検証環境であるテストベンチの生成に要する作業工程を削減し、論理回路の検証に要する時間の大幅な短縮化を図ることができるようにした論理機能検証装置及び論理機能検証方法を提供することを目的とする。
この発明に係る論理機能検証装置は、検証対象となる論理回路が有する複数のポートから所定の機能に対応するポートのグループを指示するためのポートグループ指示手段と、ポートグループ指示手段で指示されたポートグループを構造体化するポートグループ構造化手段と、ポートグループ構造化手段で生成された構造体に対応するポートのデータを保持するためのキューを作成するキュー作成手段と、キュー作成手段で作成されたキューに基づいて、予め用意された合否判定関数の雛形を参照して合否判定関数を生成する合否判定関数生成手段と、キューにより保持されたデータと合否判定関数生成手段で生成された合否判定関数とに基づいて、予め用意された合否判定ロジックの雛形を参照して論理回路を合否判定するためのロジックを生成する合否判定ロジック生成手段とを備えるようにしたものである。
また、この発明に係る論理機能検証方法は、検証対象となる論理回路が有する複数のポートから所定の機能に対応するポートのグループを指示する第1の工程と、第1の工程で指示されたポートグループを構造体化する第2の工程と、第2の工程で生成された構造体に対応するポートのデータを保持するためのキューを作成する第3の工程と、第3の工程で作成されたキューに基づいて、予め用意された合否判定関数の雛形を参照して合否判定関数を生成する第4の工程と、キューにより保持されたデータと第4の工程で生成された合否判定関数とに基づいて、予め用意された合否判定ロジックの雛形を参照して論理回路を合否判定するためのロジックを生成する第5の工程とを備えるようにしたものである。
上記した発明によれば、検証対象となる論理回路が有する複数のポートから所定の機能に対応するポートのグループを指示し、指示されたポートグループを構造体化してその構造体に対応するポートのデータを保持するためのキューを作成し、キューにより保持されたデータと予め用意された雛形を参照して生成された合否判定関数とに基づいて、論理回路を合否判定するためのロジックを生成するようにしたので、回路記述を論理検証するための検証環境であるテストベンチの生成に要する作業工程を削減し、論理回路の検証に要する時間の大幅な短縮化を図ることができるようになる。
以下、この発明の実施の形態について図面を参照して詳細に説明する。図1は、この実施の形態で説明する機能検証テストベンチ、つまり、論理機能検証環境11の全体的な構成を示している。
すなわち、検証対象12は、その入力側の複数のポート(図1で左側)がトランザクションインターフェース13を介してシナリオ発生器14に接続されている。また、検証対象12は、その出力側の複数のポート(図1で右側)がトランザクションインターフェース15を介してスレーブモデル16に接続されている。
このうち、トランザクションインターフェース13,15は、ポートの動作、例えば信号の立ち上げや立ち下げ等を、機能的な意味のある表現、例えばデータのライトやデータのリード等に置き換えたり、または、その逆の動作、つまり、機能的な表現をポートの動作に変換したりするものである。
また、上記シナリオ発生器14は、機能的な表現でテストシナリオを記述するためのモジュールである。さらに、上記スレーブモデル16は、例えばメモリモデルや対向モデル等であり、検証対象12が出力するデータを消費するものである。つまり、スレーブモデル16は、それが無いと、検証対象12のハンドシェイク等の出力トランザクションが終了しないことがあるために設置されている。
ここで、スコアボード17は、合否判定モジュールであって、検証対象12の入力側のポートと出力側のポートとを常時監視している。この監視方法としては、合否判定ロジック18を記述することになるが、そのための情報として検証対象12の入力側のトランザクションと出力側のトランザクションとに対応した数のキュー19を作成し、双方のトランザクションをキュー19に保存し、必要に応じて保存データを取り出して比較する等の方法が用いられる。キュー19としては、例えばバッファをFIFO(first in first out)方式で駆動させたものである。
図2は、上記スコアボード17を生成するために必要な、機能検証テストベンチ生成システム20の内部構成を示している。すなわち、トランザクションを構成するのは、いくつかのポートでなるグループの動作であるで、ポートのグループを指示するためのポートグループ指示部21が備えられている。
また、このポートグループ指示部21によって指示されたポートのグループを構造化するためのポートグルーブ構造化部22は、テストベンチを記述する上でのトランザクション構造体を生成するものである。上記キュー19を作成するためのキュー作成部23が設けられている。
さらに、上記合否判定ロジック18を生成するための元となる合否判定関数を生成するための合否判定関数生成部24が設けられている。この合否判定関数は、合否判定関数雛形群25を用いて生成される。また、生成された合否判定関数は、生成済み合否判定関数群26としてテストベンチの記述内に登録される。
合否判定の本体は、合否判定ロジック生成部27が判定ロジック雛形群28を元にして生成する。なお、合否判定関数雛形群25と判定ロジック雛形群28とは、特に複雑な判定関数や判定ロジックが不要である場合には、参照されないこともある。
次に、図3は、上記したスコアボード17の処理動作をまとめたフローチャートを示している。この処理動作の説明において、結果的に図1及び図2に示した各構成要素の詳細な動作についても述べることになる。また、この処理動作の説明においては、必要に応じて図4〜図8も参照するものとする。
すなわち、処理動作が開始(ステップS1)されると、スコアボード17は、ステップS2で、通常、Verilog−HDL等で記述された検証対象12の回路記述を読み込み、ステップS3で、読み込んだ検証対象12の回路記述のポート部分を解析して、ポート一覧を生成する。そして、本システムのユーザに対してポート一覧を表示する。
これにより、ユーザは、ステップS4で、一覧表示された複数のポートから所望のポートを選択してグループ化する。このとき、ユーザの指示を受理するのが、前述したポートグループ指示部21である。そして、スコアボード17は、ステップS5で、指示されたポートのグループを構造体化する。このとき用いられるのが、ポートグループ構造化部22である。
図4は、構造化されたポートグループの一例を示している。この例では、R(red),G(green)及びB(blue)の画素を取り扱う論理回路の例を示しており、各10ビットの画素の他、データイネーブル信号(de)とトランザクション発生時刻(t_info)とを構造体としてワンパッケージ化している。このような機能(抽象)レベルで表現することで、テストベンチを生成し易く、かつ、ユーザもテストシナリオを記述し易くなる。
その後、スコアボード17は、ステップS6で、構造体の型を用いてキュー19を作成する。このとき用いられるのが、前述したキュー作成部23である。図5は、生成されたキュー19の一例を示している。これは、SystemVerilogの文法を用いて表現したキュー19であり、キュー19の要素が前ステップS5で作成した構造体である。
次に、スコアボード17は、ステップS7で、キュー19を用いて、合否判定を行なう関数を生成する。このとき用いられるのが、前述した合否判定関数生成部24である。図6は、生成された合否判定用関数の一例を示している。図6では、前半が画素のR,G,B値の比較を行なうもので、後半がデータイネーブル信号の判定を行なうものである。この場合、合否判定関数雛形群25としては、R,G,B値とデータイネーブルとを判定する関数が別個に必要であるという情報が記述されていればよいということになる。
そして、スコアボード17は、合否判定を行なう関数を生成できたので、ステップS8で、それを用いて合否判定ロジックを生成し、処理を終了(ステップS9)する。この場合、合否判定ロジックとしては、例えば、検証対象12の入力側に対応するキュー19からデータを取り出して合否判定関数に入力し、その演算結果のデータと、検証対象12の出力側に対応するキュー19に保持されたデータとを比較し、一致していれば合格、不一致であれば不合格と判断するものである。このステップS8の処理で用いられるのが、前述した合否判定ロジック生成部27である。
図7及び図8は、生成された判定ロジックの一例を示している。図7は、用意したキュー19に検証対象12の入力側及び出力側のトランザクションをプッシュする記述を示している。また、図8は、キュー19内の値を比較し、用済み後にキュー19から値を取り除く記述を示している。この場合、判定ロジック雛形部28としては、キュー19へのトランザクションデータの追加と、検証対象12の入力側及び出力側に対応するキュー19からデータを取り出して比較するロジックとが必要であるという情報が記述されていればよいということになる。
上記した実施の形態によれば、検証対象12の回路記述から機能的な意味のあるポートのグループを指示して構造体化し、必要な数のトランザクションに対応したキュー19を生成する。そして、生成した構造体を用いて、合否判定用関数の雛形に照らし合わせて合否判定用関数を自動生成した後、キュー19から必要なデータを取り出し、合否判定用関数を利用して、合否判定ロジックの雛形に照らし合わせて合否判定を行なうロジックを自動生成するようにしている。
これにより、回路記述を論理検証するための検証環境であるテストベンチの生成に要する作業工程を削減し、論理回路の検証に要する時間の大幅な短縮化を図ることができるようになる。また、汎用のバスに接続された論理回路に限らず、どのような論理回路に対しても、合否判定を行なうためのテストベンチ記述を自動生成することができる。
なお、この発明は上記した実施の形態そのままに限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で構成要素を種々変形して具体化することができる。また、上記した実施の形態に開示されている複数の構成要素を適宜に組み合わせることにより、種々の発明を形成することができる。例えば、実施の形態に示される全構成要素から幾つかの構成要素を削除しても良いものである。さらに、異なる実施の形態に係る構成要素を適宜組み合わせても良いものである。
11…論理機能検証環境、12…検証対象、13…トランザクションインターフェース、14…シナリオ発生器、15…トランザクションインターフェース、16…スレーブモデル、17…スコアボード、18…合否判定ロジック、19…キュー、20…機能検証テストベンチ生成システム、21…ポートグループ指示部、22…ポートグループ構造化部、23…キュー作成部、24…合否判定関数生成部、25…合否判定関数雛形群、26…生成済み合否判定関数群、27…合否判定ロジック生成部、28…判定ロジック雛形群。
Claims (7)
- 検証対象となる論理回路が有する複数のポートから所定の機能に対応するポートのグループを指示するためのポートグループ指示手段と、
前記ポートグループ指示手段で指示されたポートグループを構造体化するポートグループ構造化手段と、
前記ポートグループ構造化手段で生成された構造体に対応する前記ポートのデータを保持するためのキューを作成するキュー作成手段と、
前記キュー作成手段で作成されたキューに基づいて、予め用意された合否判定関数の雛形を参照して合否判定関数を生成する合否判定関数生成手段と、
前記キューにより保持されたデータと前記合否判定関数生成手段で生成された合否判定関数とに基づいて、予め用意された合否判定ロジックの雛形を参照して前記論理回路を合否判定するためのロジックを生成する合否判定ロジック生成手段とを具備することを特徴とする論理機能検証装置。 - 前記ポートグループ指示手段は、前記論理回路が有する入力側の複数のポートと、前記論理回路が有する出力側の複数のポートとからそれぞれポートグループを指示することを特徴とする請求項1記載の論理機能検証装置。
- 前記ポートグループ構造化手段は、前記論理回路が有する入力側の複数のポートから前記ポートグループ指示手段で指示された第1のポートグループと、前記論理回路が有する出力側の複数のポートから前記ポートグループ指示手段で指示された第2のポートグループとをそれぞれ構造体化し、
前記キュー作成手段は、前記第1のポートグループの構造体に対応する前記ポートのデータを保持するための第1のキューと、前記第2のポートグループの構造体に対応する前記ポートのデータを保持するための第2のキューとをそれぞれ作成することを特徴とする請求項2記載の論理機能検証装置。 - 前記合否判定関数生成手段は、前記キュー作成手段で作成された第1のキュー及び第2のキューに基づいて、予め複数用意された合否判定関数の雛形を参照して合否判定関数を生成することを特徴とする請求項3記載の論理機能検証装置。
- 前記合否判定ロジック生成手段は、前記第1のキューにより保持されたデータを前記合否判定関数生成手段で生成された合否判定関数に入力し、その演算結果のデータと前記第2のキューにより保持されたデータとを比較して合否判定を行なうロジックを生成することを特徴とする請求項4記載の論理機能検証装置。
- 検証対象となる論理回路が有する複数のポートから所定の機能に対応するポートのグループを指示する第1の工程と、
前記第1の工程で指示されたポートグループを構造体化する第2の工程と、
前記第2の工程で生成された構造体に対応する前記ポートのデータを保持するためのキューを作成する第3の工程と、
前記第3の工程で作成されたキューに基づいて、予め用意された合否判定関数の雛形を参照して合否判定関数を生成する第4の工程と、
前記キューにより保持されたデータと前記第4の工程で生成された合否判定関数とに基づいて、予め用意された合否判定ロジックの雛形を参照して前記論理回路を合否判定するためのロジックを生成する第5の工程とを具備することを特徴とする論理機能検証方法。 - 前記第1の工程は、前記論理回路が有する入力側の複数のポートと、前記論理回路が有する出力側の複数のポートとからそれぞれポートグループを指示し、
前記第2の工程は、前記論理回路が有する入力側の複数のポートから前記第1の工程で指示された第1のポートグループと、前記論理回路が有する出力側の複数のポートから前記第1の工程で指示された第2のポートグループとをそれぞれ構造体化し、
前記第3の工程は、前記第1のポートグループの構造体に対応する前記ポートのデータを保持するための第1のキューと、前記第2のポートグループの構造体に対応する前記ポートのデータを保持するための第2のキューとをそれぞれ作成し、
前記第4の工程は、前記第3の工程で作成された第1のキュー及び第2のキューに基づいて、予め複数用意された合否判定関数の雛形を参照して合否判定関数を生成し、
前記第5の工程は、前記第1のキューにより保持されたデータを前記第4の工程で生成された合否判定関数に入力し、その演算結果のデータと前記第2のキューにより保持されたデータとを比較して合否判定を行なうロジックを生成することを特徴とする請求項6記載の論理機能検証方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2006315561A JP2008129921A (ja) | 2006-11-22 | 2006-11-22 | 論理機能検証装置及び論理機能検証方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2006315561A JP2008129921A (ja) | 2006-11-22 | 2006-11-22 | 論理機能検証装置及び論理機能検証方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2008129921A true JP2008129921A (ja) | 2008-06-05 |
Family
ID=39555659
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2006315561A Pending JP2008129921A (ja) | 2006-11-22 | 2006-11-22 | 論理機能検証装置及び論理機能検証方法 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2008129921A (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112181739A (zh) * | 2020-09-03 | 2021-01-05 | 博流智能科技(南京)有限公司 | 系统总线测试系统及方法 |
-
2006
- 2006-11-22 JP JP2006315561A patent/JP2008129921A/ja active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112181739A (zh) * | 2020-09-03 | 2021-01-05 | 博流智能科技(南京)有限公司 | 系统总线测试系统及方法 |
CN112181739B (zh) * | 2020-09-03 | 2023-08-08 | 博流智能科技(南京)有限公司 | 系统总线测试系统及方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP2006244073A (ja) | 半導体設計装置 | |
JPH10187789A (ja) | ハードウェア/ソフトウェア協調シミュレーション装置、ハードウェア/ソフトウェア協調シミュレーション方法及びハードウェア/ソフトウェア協調シミュレーションプログラムを記録した機械読み取り可能な記録媒体 | |
JP2007257291A (ja) | シナリオ生成方法、シナリオ生成プログラム、シナリオ生成装置 | |
CN111290954B (zh) | 一种基于uvm的fpga构件可视化测试框架和方法 | |
JP2006285865A (ja) | レジスタ転送レベル記述と動作記述間の対応関係特定方法、装置及びプログラム | |
JP2004013720A (ja) | 論理回路のタイミング制約モデル生成方法、論理回路のタイミング制約モデル生成プログラム、およびタイミング制約モデルを用いるタイミングドリブンレイアウト方法 | |
US9817930B1 (en) | Method, system, and computer program product for verifying an electronic circuit design with a graph-based proof flow | |
CN107784185B (zh) | 一种门级网表中伪路径的提取方法、装置及终端设备 | |
US7949509B2 (en) | Method and tool for generating simulation case for IC device | |
JP5056511B2 (ja) | 検証支援プログラム、該プログラムを記録した記録媒体、検証支援装置、および検証支援方法 | |
TWI309384B (ja) | ||
US8065128B1 (en) | Methods and apparatus for automated testbench generation | |
JP2008129921A (ja) | 論理機能検証装置及び論理機能検証方法 | |
US8775989B2 (en) | Computer-aided design system and methods thereof for merging design constraint files across operational modes | |
US20050086621A1 (en) | Method for processing design data of semiconductor integrated circuit | |
WO2012049816A1 (ja) | モデル検査装置、方法及びプログラム | |
US20120151423A1 (en) | Large scale formal analysis by structural preprocessing | |
US20090293026A1 (en) | Verification device of semiconductor integrated circuit, verification method of semiconductor integrated circuit, and computer readable medium storing verification program of semiconductor integrated circuit | |
JP3941336B2 (ja) | 論理回路検証装置 | |
JP5229834B2 (ja) | 回路設計方法、回路設計システム及び記録媒体 | |
US8156452B1 (en) | Method and apparatus for importing hardware description language into a system level design environment | |
JP4039347B2 (ja) | ラッチ変換による遅延最適化回路の等価性検証システム、及びプログラム | |
JP2005316595A (ja) | 回路記述間の等価性検証方法および回路記述間の等価性検証プログラム | |
JP2000137745A (ja) | 論理回路のタイミング仕様入力システムおよび論理回路のタイミング仕様入力方法 | |
JPWO2006025412A1 (ja) | 論理検証方法、論理モジュールデータ、デバイスデータおよび論理検証装置 |