JP4850091B2 - 検証シナリオ生成装置,方法,およびプログラム,並びに検証装置 - Google Patents
検証シナリオ生成装置,方法,およびプログラム,並びに検証装置 Download PDFInfo
- Publication number
- JP4850091B2 JP4850091B2 JP2007043839A JP2007043839A JP4850091B2 JP 4850091 B2 JP4850091 B2 JP 4850091B2 JP 2007043839 A JP2007043839 A JP 2007043839A JP 2007043839 A JP2007043839 A JP 2007043839A JP 4850091 B2 JP4850091 B2 JP 4850091B2
- Authority
- JP
- Japan
- Prior art keywords
- verification
- test bench
- generation unit
- scenario
- combination list
- 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
Classifications
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01R—MEASURING ELECTRIC VARIABLES; MEASURING MAGNETIC VARIABLES
- G01R31/00—Arrangements for testing electric properties; Arrangements for locating electric faults; Arrangements for electrical testing characterised by what is being tested not provided for elsewhere
- G01R31/28—Testing of electronic circuits, e.g. by signal tracer
- G01R31/317—Testing of digital circuits
- G01R31/3181—Functional testing
- G01R31/3183—Generation of test inputs, e.g. test vectors, patterns or sequences
- G01R31/318342—Generation of test inputs, e.g. test vectors, patterns or sequences by preliminary fault modelling, e.g. analysis, simulation
- G01R31/318357—Simulation
Landscapes
- Engineering & Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Computer Hardware Design (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Test And Diagnosis Of Digital Computers (AREA)
Description
そのため、近年の集積回路の機能の複雑化や高集積化に伴い、オペレータが手作業で行なう工数が膨大になりオペレータの負担が非常に大きくなっている。しかも、オペレータの手作業であるので、検証項目等の漏れや誤りによって検証シナリオのリメイクが発生することもしばしばあり、検証シナリオのリメイクが発生してしまうと、設計期間が長くなるとともに、集積回路の開発費用が嵩んでしまう。
また、該検証シナリオ生成部によって生成された該検証シナリオを用いたシミュレーション結果として出力されたカバレッジ結果を該データ組合せリスト生成部および該検証項目生成部に入力する第2入力部をそなえ、該データ組合せリスト生成部が、該第2入力部によって入力された該カバレッジ結果に基づいて該データ種類の組合せリストを再生成し、該検証項目生成部が、該第2入力部によって入力された該カバレッジ結果に基づいて該検証項目を再生成し、該検証シナリオ生成部が、該データ組合せリスト生成部によって再生成された該データ種類の組合せリストと、該検証項目生成部によって再生成された該検証項目とに基づいて、該カバレッジ結果に応じた検証シナリオを再生成することが好ましい(請求項3)。
なお、該テストベンチライブラリが、該テストベンチのプロトコルのアサーション群を保持するように構成され、該第1入力部によって入力を受け付けられた該デバイスリストおよび該パラメータ設定情報に基づいて該テストベンチライブラリからアサーション群を読み出して、該検証用テストベンチに対応するアサーション群を生成するアサーション群生成部をそなえて構成されていることが好ましい(請求項5)。
さらに、テストベンチライブラリが検証用テストベンチの元になるテストベンチを保持しているので、テストベンチライブラリに保持されたテストベンチの汎用化が可能になる(請求項1,2,6−8)。
〔1〕本発明の一実施形態について
まず、図1に示すブロック図を参照しながら、本発明の一実施形態としての検証装置(以下、本検証装置という)1の構成について説明する。この図1に示すように、本検証装置1は、第1入力部10,テストベンチライブラリ11,テストベンチ生成部(検証用テストベンチ生成部;アサーション群生成部)12,シナリオテンプレート生成部13,データ組合せリスト生成部14,検証項目生成部15,シナリオ生成部(検証シナリオ生成部)16,回路情報保持部17,および検証部(アサーション検証部)18をそなえて構成されている。
つまり、テストベンチ生成部12,シナリオテンプレート生成部13,データ組合せリスト生成部14,検証項目生成部15,シナリオ生成部16,および検証部18は、演算部34が所定のアプリケーションプログラム(後述する検証シナリオ生成プログラムもしくは検証プログラム)を実行することによって実現される。
また、第1入力部10は、入力インタフェースとしてのキーボード32およびマウス33、並びに、これらキーボード32およびマウス33からの入力を受け付ける演算部34の入力制御部(図示略)によって実現される。
集積回路(検証対象回路)の論理検証(ステップS4)は、オペレータ(設計者)が仕様書を作成し(ステップS1)、論理設計を行なった(ステップS2)後、物理設計(ステップS5)に移行する前に実行されるものであり、論理設計した検証対象回路が正常に動作するか否かを検証するものである。
ここで、検証対象回路が正常に動作することが検証されれば、オペレータは次に物理設計(実際のレイアウト)を行なう(ステップS5)。
つまり、図3に示す集積回路の製造方法は、本検証装置1による論理検証(ステップS4)を含んでおり、さらに本検証シナリオ生成装置2による検証シナリオ生成(論理検証環境構築;ステップS3参照)を含んでいる。
したがって、図5に示すように、テストベンチ生成部12によってテストベンチ(TB1,2等を含むTB群およびTB_TOP)4が生成され、シナリオ生成部16によってシナリオ群5が生成され、さらに、テストベンチ生成部12によってアサーション群6が生成される。
ここで、図1を参照しながら本検証装置1の各構成要素10〜18について詳細に説明する。
また、パラメータ設定情報はデバイスリストに含まれる各デバイスに係るパラメータの設定値であり、例えば、パラメータCLOCKGEN.vに設定されるクロックの本数や各周波数、および、パラメータDSP0XXP.cppに設定されるデータビット幅やアドレス領域である。
なお、テストベンチとは、上述のごとく、論理検証のシミュレーションに用いる、検証対象回路に接続されるデバイスをモデリングした仮想的なデバイスをいう。
具体的には、テストベンチライブラリ11は図6に示すようなテストベンチ11aを保持している。この図6に示すテストベンチ11aは、VHDL(VHSIC Hardware Description Language)で記述されたI2C(Inter-Integrated Circuit;ここでは、型番“I2C_AAA”)のテストベンチである。なお、テストベンチ11a中に符号11b,11cで示す範囲は、シナリオ生成部16によって作成されるシナリオ毎に設定される機能ブロックを示している。
テストベンチ生成部12は、第1入力部10によって入力を受け付けられたデバイスリストおよびパラメータ設定情報に基づいて、テストベンチライブラリ11からテストベンチを読み出して検証用テストベンチを生成するものである。
例えば、第1入力部10がデバイスリストとしてDSP(Digital Signal Processor)の型番“DSP0XXP”の入力を受け付けるとともに、パラメータ設定情報として“parameter BITWIDTH=32”の入力を受け付けると、テストベンチ生成部12は、テストベンチライブラリ11から型番“DSP0XXP”のDSPのテストベンチを読み出し、読み出したテストベンチのパラメータをパラメータ設定情報に基づいて設定することにより、例えば、図7に示すような検証用テストベンチ12aを生成する。なお、検証用テストベンチ12aは、verilog−HDL(Hardware Description Language)で記述されたものである。
つまり、テストベンチ生成部12は、第1入力部10によって入力を受け付けられた該デバイスリストおよびパラメータ設定情報に基づいてテストベンチライブラリ11からアサーション群を読み出して、検証用テストベンチに対応するアサーション群を生成するアサーション群生成部として機能する。
ところで、図6,図7に示したように、テストベンチライブラリ11に保持されたテストベンチは、機能別にrecord_type宣言(VHDL;図6参照)やtask宣言(verilog;図7参照)されているなど、一つの機能で使用される信号分を一つのまとまりとしてそれぞれ独立して宣言してある。
なお、シナリオテンプレート13aにおいて符号13bで示す範囲が、シナリオが設定される部分であり、シナリオテンプレート生成部13によって生成されたシナリオテンプレート13aはテンプレートであるので、この範囲13bに具体的なプロセスは設定されていない。
データ組合せリスト生成部14によって生成されるデータ組合せリストは、テストベンチ生成部12によって生成された各検証用テストベンチのすべての信号についての組合せリスト(つまり、機能単位内ですべての信号のすべての組合せリスト)であり、検証対象回路に入力する信号を自動生成するのに用いられるものである。
図9に示すリスト14aは、型番“I2C_AAA”のI2Cのテストベンチの抽出結果であり、検索単語としてのデバイス名もしくはrecordは、“type I2C_AAA_WRITE_INFO is record”および“type I2C_AAA_READ_INFO is record”がある。
一方、“type I2C_AAA_READ_INFO is record”のrecord_typeは“I2C_AAA_READ_INFO”であり、このときの信号が“R_ADD_EXPECT_in”,“R_DATA_in”,および“R_bytelength_in”の3種類ある。なお、信号“R_ADD_EXPECT_in”は型が“integer”でありビット幅は0〜255ビットであり、信号“R_DATA_in”は型が“array8b512”であり、信号“R_bytelength_in” は型が“integer”でありビット幅は1〜512ビットである。
そして、“task RD”のtask名は“RD”であり、このときの信号が“data_size”と“read_address”との2種類ある。なお、信号“data_size”のビット幅は“[1:0]”であり、信号“read_address” のビット幅は“[31:0]”である。
なお、リスト14a,14bは、データ組合せリスト生成部14が自動生成するのではなく、オペレータが予め用意しておいてもよい。
ここで、図12に第1入力部10によって入力されたテストベンチ組合せリスト10aを示す。この図12に示すように、オペレータによって入力されたテストベンチ組合せリスト10aは、デバイスリストのデバイス(ここでは、型番“I2C_AAA”のI2Cおよび型番 “DSP0XXP”のDSP)に対応するテストベンチの組合せであって、データ組合せリスト生成部14によって抽出されたリスト14a,14bにおける各テストベンチのrecord_type宣言やtask宣言より、各プロセス(図中イベントと表記)の組合せをテストベンチ組合せリスト10aとして入力されたものである。
そして、検証項目生成部15は、テストベンチ組合せリスト10aの組合せと、データ組合せリスト14cの組合せとのすべての通りの組合せを生成することにより、図13に示すような検証項目15aを生成する。
シナリオ生成部16は、シナリオテンプレート生成部13によって生成されたシナリオテンプレートと、検証項目生成部15によって生成された検証項目とに基づいて検証シナリオを生成するものである。
例えば、シナリオ生成部16は、図14に示すような検証シナリオ16aを生成する。この検証シナリオ16aは、主として符号16b,16c,16dで示す部分が検証項目15aに応じて変更される。
回路情報保持部17は、検証対象回路の回路情報を保持するものである。
また、検証部18は、テストベンチ生成部12によって生成されたアサーション群を用いて検証対象回路のアサーション検証を行なうアサーション検証部として機能する。
次に、図15に示すフローチャート(ステップS10〜S18)を参照しながら、本発明の一実施形態としての検証方法について説明する。なお、後述するステップS10〜S16の処理が本発明の一実施形態としての検証シナリオ生成方法として機能する。
ここでは、図15に示すごとく、第1入力部10によって型番“I2C_AAA”,“RF_001”,および“DSP0XXP”を含むデバイスリストの入力が受け付けられ、型番“I2C_AAA ”のパラメータ設定情報として“parameter ADDRESS_L=8’h00”および“parameter ADDRESS_R=8’hFF”の入力が受け付けつけられ、型番“DSP0XXP”のパラメータ設定情報として“parameter BITWIDTH=32”,“CLK1 10MHz”,“CLK2 15MHz”,および“RST High Active 200us”の入力が受け付けつけられ、テストベンチ組合せリストとして例えば図10に示すテストベンチ組合せリスト10aの入力が受け付けられる。
ここでは、図15に示すごとく、テストベンチ生成部12によってテストベンチ“I2C_AAA.v”,“RF_001.VHD”,“DSP0XXP.ccp”,“CLOCKGEN.v”,および“RESETGEN.v”が生成される。
そして、シナリオテンプレート生成部13が、テストベンチ生成部12によって生成された検証用テストベンチの初期設定情報を記述されたシナリオテンプレートを生成する(シナリオテンプレート生成ステップ;ステップS13)。
続いて、検証項目生成部15が、データ組合せリスト生成部14によって生成されたデータ種類の組合せリストと、外部から入力されたテストベンチの組合せリストとに基づいて、検証項目を生成する(検証項目生成ステップ;ステップS15)。
最後に、検証部18が、回路情報保持部17から検証対象回路の回路情報を読み出し、シナリオ生成部16によって生成されたシナリオ群に基づいてシミュレーションを行ない、シミュレーション結果に基づいて検証対象回路が正常に動作するか否かの検証を行なう(検証ステップ;ステップS17)。
このように、本発明の一実施形態としての検証装置1および検証方法によれば、第1入力部10がデバイスリスト,パラメータ設定情報,およびテストベンチの組合せリストの入力を受け付け、テストベンチ生成部12がデバイスリストおよびパラメータ設定情報に基づいてテストベンチライブラリ11からテストベンチを読み出して検証用テストベンチを生成し(検証用テストベンチ生成ステップ)、シナリオテンプレート生成部13が検証用テストベンチの初期設定情報を記述されたシナリオテンプレートを生成し(シナリオテンプレート生成ステップ)、データ組合せリスト生成部14が検証用テストベンチに係るデータ種類の組合せリストを生成し(データ組合せリスト生成ステップ)、検証項目生成部15がデータ種類の組合せリストと、テストベンチの組合せリストとに基づいて、検証項目を生成し(検証項目生成ステップ)、最後に、シナリオ生成部16がシナリオテンプレートと、検証項目とに基づいて検証シナリオを生成する(検証シナリオ生成ステップ)ので、集積回路の論理検証に用いる検証シナリオ(シナリオ群)を、オペレータはデバイスリスト,パラメータ設定情報,およびテストベンチの組合せリストを入力するだけで自動的に生成することができ、オペレータの負担を大幅に低減できるとともに、検証シナリオの作成時間をオペレータが手作業で作成するのに対して大幅に短縮できる。
さらに、テストベンチライブラリ11が検証用テストベンチの元になるテストベンチを保持しているので、テストベンチライブラリ11に保持されたテストベンチの汎用化が可能になる。
なお、本発明は上述した実施形態に限定されるものではなく、本発明の趣旨を逸脱しない範囲で種々変形して実施することができる。
例えば、上述した実施形態では、第1入力部10がデバイスリスト,パラメータ設定情報,およびテストベンチ組合せリストの入力を受け付ける場合を例にあげて説明したが、本発明はこれに限定されるものではなく、例えば図1に示すように本発明の第1変形例としての検証装置1´(検証シナリオ生成装置2´)の第1入力部10´が、デバイスリスト,パラメータ設定情報,およびテストベンチ組合せリストの他に、テストベンチ期待値リストの入力を受け付けるように構成してもよい。
そして、図16の本第1変形例の検証装置1´の動作手順(つまり、本発明の第1変形例としての検証方法の動作手順)を示すフローチャート(ステップステップS10´,S11〜S13,S14´〜S17´,S18)に示すように、第1入力部10´がテストベンチ期待値リストの入力を受け付け(ステップS10´)、テストベンチ生成部12がテストベンチ生成(ステップS11)、のデータ組合せリスト生成部14´は、第1入力部10´によって入力を受け付けられた期待値リストをデータ組合せリストに含めてデータ組合せリストを生成する(ステップS12´)。
より具体的には、上記ステップS12´において、データ組合せリスト生成部14´は、図17に示すごとく、期待値リストに基づいて、型番“DSP0XXP”のテストベンチのtask名“task RD_VERIFY”の信号(ここでは“信号3”欄)に期待値(図中“expected_data”と表記)のリストを含めたデータ組合せリスト14dを生成する。
また、上述した実施形態では、第1入力部10がデバイスリスト,パラメータ設定情報,およびテストベンチ組合せリストの入力を受け付ける場合を例にあげて説明したが、本発明はこれに限定されるものではなく、例えば図18に示すように本発明の第2変形例としての検証装置1´´(検証シナリオ生成装置2´´)が、検証部18によるシミュレーションの結果として出力されたカバレッジ結果をデータ組合せリスト生成部14´´および検証項目生成部15´に入力する第2入力部19をそなえて構成してもよい。
そして、図19の本第2変形例の検証装置1´´の動作手順(つまり、本発明の第2変形例としての検証方法の動作手順)を示すフローチャート(ステップS20〜S26)に示すように、まず、図15のフローチャートにおける上記ステップS10〜S17が実行されることによって検証部18がシナリオ検証のシミュレーション結果として得たカバレッジ結果を、第2入力部19が取得する(カバレッジ結果取得ステップ;ステップS20)。
つまり、データ組合せリスト生成部14´´はカバレッジ結果に基づいて、前回のシナリオ検証で実行されなかった部分を検証するためのデータ組合せリストを再生成する。
ここでは、検証項目生成部15´は、カバレッジ結果に基づいて、前回のシナリオ検証で実行されなかった部分を検証するための検証項目を再生成する。
最後に、検証部18が、シナリオ生成部16が再生成した検証シナリオに基づいて検証対象回路の再検証を行なって(再検証ステップ;ステップS26)、処理を終了する。
なお、本発明において、第1入力部10,10´に入力を受け付けられるデバイスリストにおけるデバイスの種類や数、および、パラメータ設定情報の種類や数、並びに、テストベンチ組合せリストの数等は、限定されるものではなく、検証対象回路に応じて種々変更される。
(付記1)
検証対象回路に接続されるデバイスを示すデバイスリスト,該デバイスのパラメータ設定情報,および該デバイスに対応するテストベンチの組合せリストの入力を受け付ける第1入力部と、
該テストベンチを保持するテストベンチライブラリと、
該第1入力部によって入力を受け付けられた該デバイスリストおよび該パラメータ設定情報に基づいて該テストベンチライブラリからテストベンチを読み出して検証用テストベンチを生成する検証用テストベンチ生成部と、
該検証用テストベンチ生成部によって生成された該検証用テストベンチの初期設定情報を記述されたシナリオテンプレートを生成するシナリオテンプレート生成部と、
該検証用テストベンチ生成部によって生成された該検証用テストベンチに係るデータ種類の組合せリストを生成するデータ組合せリスト生成部と、
該データ組合せリスト生成部によって生成された該データ種類の組合せリストと、該第1入力部によって入力を受け付けられた該テストベンチの組合せリストとに基づいて、検証項目を生成する検証項目生成部と、
該シナリオテンプレート生成部によって生成された該シナリオテンプレートと、該検証項目生成部によって生成された該検証項目とに基づいて検証シナリオを生成する検証シナリオ生成部とをそなえて構成されたことを特徴とする、検証シナリオ生成装置。
該検証用テストベンチ生成部は、該デバイスリストが示す該デバイスに対応するテストベンチを該テストベンチライブラリから読み出し、読み出したテストベンチのパラメータを該パラメータ設定情報に基づいて設定することにより、該検証用テストベンチを生成することを特徴とする、付記1記載の検証シナリオ生成装置。
該検証シナリオ生成部によって生成された該検証シナリオを用いたシミュレーション結果として出力されたカバレッジ結果を該データ組合せリスト生成部および該検証項目生成部に入力する第2入力部をそなえ、
該データ組合せリスト生成部が、該第2入力部によって入力された該カバレッジ結果に基づいて該データ種類の組合せリストを再生成し、
該検証項目生成部が、該第2入力部によって入力された該カバレッジ結果に基づいて該検証項目を再生成し、
該検証シナリオ生成部が、該データ組合せリスト生成部によって再生成された該データ種類の組合せリストと、該検証項目生成部によって再生成された該検証項目とに基づいて、該カバレッジ結果に応じた検証シナリオを再生成することを特徴とする、付記1または付記2記載の検証シナリオ生成装置。
該第1入力部が、テストベンチの期待値リストの入力を受け付け、
該データ組合せリスト生成部が、該第1入力部によって入力を受け付けられた該期待値リストを該データ種類の組合せリストに含めることを特徴とする、付記1〜3のいずれか1項に記載の検証シナリオ生成装置。
該テストベンチライブラリが、該テストベンチのプロトコルのアサーション群を保持するように構成され、
該第1入力部によって入力を受け付けられた該デバイスリストおよび該パラメータ設定情報に基づいて該テストベンチライブラリからアサーション群を読み出して、該検証用テストベンチに対応するアサーション群を生成するアサーション群生成部をそなえて構成されていることを特徴とする、付記1〜4のいずれか1項に記載の検証シナリオ生成装置。
外部から入力された、検証対象回路に接続されるデバイスを示すデバイスリストおよび該デバイスのパラメータ設定情報に基づいて、該テストベンチを保持するテストベンチライブラリからテストベンチを読み出して検証用テストベンチを生成する検証用テストベンチ生成ステップと、
該検証用テストベンチ生成ステップにおいて生成された該検証用テストベンチの初期設定情報を記述されたシナリオテンプレートを生成するシナリオテンプレート生成ステップと、
該検証用テストベンチ生成ステップにおいて生成された該検証用テストベンチに係るデータ種類の組合せリストを生成するデータ組合せリスト生成ステップと、
該データ組合せリスト生成ステップにおいて生成された該データ種類の組合せリストと、外部から入力された該デバイスに対応するテストベンチの組合せリストとに基づいて、検証項目を生成する検証項目生成ステップと、
該シナリオテンプレート生成ステップにおいて生成された該シナリオテンプレートと、該検証項目生成ステップにおいて生成された該検証項目とに基づいて検証シナリオを生成する検証シナリオ生成ステップとを含んでいることを特徴とする、検証シナリオ生成方法。
該検証用テストベンチ生成ステップにおいて、該デバイスリストが示す該デバイスに対応するテストベンチが該テストベンチライブラリから読み出され、読み出されたテストベンチのパラメータが該パラメータ設定情報に基づいて設定されることにより、該検証用テストベンチが生成されることを特徴とする、付記6記載の検証シナリオ生成方法。
該検証シナリオ生成ステップにおいて生成された該検証シナリオを用いたシミュレーション結果として出力されたカバレッジ結果を取得するカバレッジ結果取得ステップと、
該カバレッジ結果取得ステップにおいて取得された該カバレッジ結果に基づいて該データ種類の組合せリストを再生成するデータ組合せリスト再生成ステップと、
該カバレッジ結果取得ステップにおいて取得された該カバレッジ結果に基づいて該検証項目を再生成する検証項目再生成ステップと、
該データ組合せリスト再生成部において再生成された該データ種類の組合せリストと、該検証項目再生成ステップにおいて再生成された該検証項目とに基づいて、該カバレッジ結果に応じた検証シナリオを再生成する検証シナリオ再生成ステップとを含んでいることを特徴とする、付記6または付記7記載の検証シナリオ生成方法。
該データ組合せリスト生成ステップにおいて、外部から入力されたテストベンチの期待値リストが該データ種類の組合せリストに含められることを特徴とする、付記6〜8のいずれか1項に記載の検証シナリオ生成方法。
(付記10)
外部から入力された該デバイスリストおよび該パラメータ設定情報に基づいて、該テストベンチライブラリから該テストベンチのプロトコルのアサーション群を読み出して、該検証用テストベンチに対応するアサーション群を生成するアサーション群生成ステップを含んでいることを特徴とする、付記6〜9のいずれか1項に記載の検証シナリオ生成方法。
検証対象回路の検証シナリオを生成する機能をコンピュータに実現させるための検証シナリオ生成プログラムであって、
該検証対象回路に接続されるデバイスを示すデバイスリスト,該デバイスのパラメータ設定情報,および該デバイスに対応するテストベンチの組合せリストの入力を受け付ける第1入力部、
該第1入力部によって入力を受け付けられた該デバイスリストおよび該パラメータ設定情報に基づいてテストベンチライブラリからテストベンチを読み出して検証用テストベンチを生成する検証用テストベンチ生成部、
該検証用テストベンチ生成部によって生成された該検証用テストベンチの初期設定情報を記述されたシナリオテンプレートを生成するシナリオテンプレート生成部、
該検証用テストベンチ生成部によって生成された該検証用テストベンチに係るデータ種類の組合せリストを生成するデータ組合せリスト生成部、
該データ組合せリスト生成部によって生成された該データ種類の組合せリストと、該第1入力部によって入力を受け付けられた該テストベンチの組合せリストとに基づいて、検証項目を生成する検証項目生成部、および
該シナリオテンプレート生成部によって生成された該シナリオテンプレートと、該検証項目生成部によって生成された該検証項目とに基づいて該検証シナリオを生成する検証シナリオ生成部として、前記コンピュータを機能させることを特徴とする、検証シナリオ生成プログラム。
該検証用テストベンチ生成部が、該デバイスリストが示す該デバイスに対応するテストベンチを該テストベンチライブラリから読み出し、読み出したテストベンチのパラメータを該パラメータ設定情報に基づいて設定することにより、該検証用テストベンチを生成するように、該コンピュータを機能させることを特徴とする、付記11記載の検証シナリオ生成プログラム。
該検証シナリオ生成部によって生成された該検証シナリオを用いたシミュレーション結果として出力されたカバレッジ結果を該データ組合せリスト生成部および該検証項目生成部に入力する第2入力部として前記コンピュータを機能させるとともに、
該データ組合せリスト生成部が、該第2入力部によって入力された該カバレッジ結果に基づいて該データ種類の組合せリストを再生成し、
該検証項目生成部が、該第2入力部によって入力された該カバレッジ結果に基づいて該検証項目を再生成し、
該検証シナリオ生成部が、該データ組合せリスト生成部によって再生成された該データ種類の組合せリストと、該検証項目生成部によって再生成された該検証項目とに基づいて、該カバレッジ結果に応じた検証シナリオを再生成するように、該コンピュータを機能させることを特徴とする、付記11または付記12記載の検証シナリオ生成プログラム。
該第1入力部が、テストベンチの期待値リストの入力を受け付け、
該データ組合せリスト生成部が、該第1入力部によって入力を受け付けられた該期待値リストを該データ種類の組合せリストに含めるように、前記コンピュータを機能させることを特徴とする、付記11〜13のいずれか1項に記載の検証シナリオ生成プログラム。
該第1入力部によって入力を受け付けられた該デバイスリストおよび該パラメータ設定情報に基づいて該テストベンチライブラリから該テストベンチのプロトコルのアサーション群を読み出して、該検証用テストベンチに対応するアサーション群を生成するアサーション群生成部として、該コンピュータを機能させることを特徴とする、付記11〜14のいずれか1項に記載の検証シナリオ生成プログラム。
検証対象回路に接続されるデバイスを示すデバイスリスト,該デバイスのパラメータ設定情報,および該デバイスに対応するテストベンチの組合せリストの入力を受け付ける第1入力部と、
該テストベンチを保持するテストベンチライブラリと、
該第1入力部によって入力を受け付けられた該デバイスリストおよび該パラメータ設定情報に基づいて該テストベンチライブラリからテストベンチを読み出して検証用テストベンチを生成する検証用テストベンチ生成部と、
該検証用テストベンチ生成部によって生成された該検証用テストベンチの初期設定情報を記述されたシナリオテンプレートを生成するシナリオテンプレート生成部と、
該検証用テストベンチ生成部によって生成された該検証用テストベンチに係るデータ種類の組合せリストを生成するデータ組合せリスト生成部と、
該データ組合せリスト生成部によって生成された該データ種類の組合せリストと、該第1入力部によって入力を受け付けられた該テストベンチの組合せリストとに基づいて、検証項目を生成する検証項目生成部と、
該シナリオテンプレート生成部によって生成された該シナリオテンプレートと、該検証項目生成部によって生成された該検証項目とに基づいて検証シナリオを生成する検証シナリオ生成部と、
該検証シナリオ生成部によって生成された該検証シナリオに基づいて該検証対象回路の検証を行なう検証部とをそなえて構成されたことを特徴とする、検証装置。
該検証用テストベンチ生成部は、該デバイスリストが示す該デバイスに対応するテストベンチを該テストベンチライブラリから読み出し、読み出したテストベンチのパラメータを該パラメータ設定情報に基づいて設定することにより、該検証用テストベンチを生成することを特徴とする、付記16記載の検証装置。
該検証シナリオ生成部によって生成された該検証シナリオを用いたシミュレーション結果として出力されたカバレッジ結果を該データ組合せリスト生成部および該検証項目生成部に入力する第2入力部をそなえ、
該データ組合せリスト生成部が、該第2入力部によって入力された該カバレッジ結果に基づいて該データ種類の組合せリストを再生成し、
該検証項目生成部が、該第2入力部によって入力された該カバレッジ結果に基づいて該検証項目を再生成し、
該検証シナリオ生成部が、該データ組合せリスト生成部によって再生成された該データ種類の組合せリストと、該検証項目生成部によって再生成された該検証項目とに基づいて、該カバレッジ結果に応じた検証シナリオを再生成することを特徴とする、付記16または付記17記載の検証装置。
該第1入力部が、テストベンチの期待値リストの入力を受け付け、
該データ組合せリスト生成部が、該第1入力部によって入力を受け付けられた該期待値リストを該データ種類の組合せリストに含め、
該検証部が、該検証の際に該期待値リストに基づく期待値照合を行なうことを特徴とする、付記16〜18のいずれか1項に記載の検証装置。
該テストベンチライブラリが、該テストベンチのプロトコルのアサーション群を保持するように構成され、
該第1入力部によって入力を受け付けられた該デバイスリストおよび該パラメータ設定情報に基づいて該テストベンチライブラリからアサーション群を読み出して、該検証用テストベンチに対応するアサーション群を生成するアサーション群生成部と、
該アサーション群生成部によって生成された該アサーション群を用いてアサーション検証を行なうアサーション検証部とをそなえて構成されていることを特徴とする、付記16〜19のいずれか1項に記載の検証装置。
2,2´,2´´ 検証シナリオ生成装置
3 検証対象回路(RTL)
4,4a〜4f テストベンチ
5 シナリオ群
5a シナリオ
6,104 アサーション群(検証プロパティ)
7 シミュレータ出力
7a ログファイル
7b 波形ファイル
10,10´ 第1入力部
10a テストベンチ組合せリスト
11 テストベンチライブラリ
11a テストベンチ
12 テストベンチ生成部(検証用テストベンチ生成部;アサーション群生成部)
12a 検証用テストベンチ
13 シナリオテンプレート生成部
13a シナリオテンプレート
14,14´,14´´ データ組合せリスト生成部
14a,14b リスト
14c,14d データ組合せリスト
15,15´ 検証項目生成部
15a 検証項目
16,16´ シナリオ生成部(検証シナリオ生成部)
16a,105 検証シナリオ
17 回路情報保持部
18,18´,107 検証部(シミュレータ)
30 コンピュータ
31 モニタ
32 キーボード
33 マウス
34 演算部
35 記憶装置
100 検証システム
101 仕様書
102 変換処理
103 レビュー情報
106 回路情報
S11 検証用テストベンチ生成ステップ
S12 アサーション群生成ステップ
S13 シナリオテンプレート生成ステップ
S14 データ組合せリスト生成ステップ
S15 検証項目生成ステップ
S16 検証シナリオ生成ステップ
S17 検証ステップ
S18 アサーション検証ステップ
S20 カバレッジ結果取得ステップ
S22 データ組合せリスト再生成ステップ
S24 検証項目再生成ステップ
S25 検証シナリオ再生成ステップ
S26 再検証ステップ
Claims (8)
- 検証対象回路に接続されるデバイスを示すデバイスリスト,該デバイスのパラメータ設定情報,および該デバイスに対応するテストベンチの組合せリストの入力を受け付ける第1入力部と、
該テストベンチを保持するテストベンチライブラリと、
該第1入力部によって入力を受け付けられた該デバイスリストおよび該パラメータ設定情報に基づいて該テストベンチライブラリからテストベンチを読み出して検証用テストベンチを生成する検証用テストベンチ生成部と、
該検証用テストベンチ生成部によって生成された該検証用テストベンチの初期設定情報を記述されたシナリオテンプレートを生成するシナリオテンプレート生成部と、
該検証用テストベンチ生成部によって生成された該検証用テストベンチに係るデータ種類の組合せリストを生成するデータ組合せリスト生成部と、
該データ組合せリスト生成部によって生成された該データ種類の組合せリストと、該第1入力部によって入力を受け付けられた該テストベンチの組合せリストとに基づいて、検証項目を生成する検証項目生成部と、
該シナリオテンプレート生成部によって生成された該シナリオテンプレートと、該検証項目生成部によって生成された該検証項目とに基づいて検証シナリオを生成する検証シナリオ生成部とをそなえて構成されたことを特徴とする、検証シナリオ生成装置。 - 該検証用テストベンチ生成部は、該デバイスリストが示す該デバイスに対応するテストベンチを該テストベンチライブラリから読み出し、読み出したテストベンチのパラメータを該パラメータ設定情報に基づいて設定することにより、該検証用テストベンチを生成することを特徴とする、請求項1記載の検証シナリオ生成装置。
- 該検証シナリオ生成部によって生成された該検証シナリオを用いたシミュレーション結果として出力されたカバレッジ結果を該データ組合せリスト生成部および該検証項目生成部に入力する第2入力部をそなえ、
該データ組合せリスト生成部が、該第2入力部によって入力された該カバレッジ結果に基づいて該データ種類の組合せリストを再生成し、
該検証項目生成部が、該第2入力部によって入力された該カバレッジ結果に基づいて該検証項目を再生成し、
該検証シナリオ生成部が、該データ組合せリスト生成部によって再生成された該データ種類の組合せリストと、該検証項目生成部によって再生成された該検証項目とに基づいて、該カバレッジ結果に応じた検証シナリオを再生成することを特徴とする、請求項1または請求項2記載の検証シナリオ生成装置。 - 該第1入力部が、テストベンチの期待値リストの入力を受け付け、
該データ組合せリスト生成部が、該第1入力部によって入力を受け付けられた該期待値リストを該データ種類の組合せリストに含めることを特徴とする、請求項1〜3のいずれか1項に記載の検証シナリオ生成装置。 - 該テストベンチライブラリが、該テストベンチのプロトコルのアサーション群を保持するように構成され、
該第1入力部によって入力を受け付けられた該デバイスリストおよび該パラメータ設定情報に基づいて該テストベンチライブラリからアサーション群を読み出して、該検証用テストベンチに対応するアサーション群を生成するアサーション群生成部をそなえて構成されていることを特徴とする、請求項1〜4のいずれか1項に記載の検証シナリオ生成装置。 - コンピュータが、外部から入力された、検証対象回路に接続されるデバイスを示すデバイスリストおよび該デバイスのパラメータ設定情報に基づいて、該テストベンチを保持するテストベンチライブラリからテストベンチを読み出して検証用テストベンチを生成する検証用テストベンチ生成ステップと、
前記コンピュータが、該検証用テストベンチ生成ステップにおいて生成された該検証用テストベンチの初期設定情報を記述されたシナリオテンプレートを生成するシナリオテンプレート生成ステップと、
前記コンピュータが、該検証用テストベンチ生成ステップにおいて生成された該検証用テストベンチに係るデータ種類の組合せリストを生成するデータ組合せリスト生成ステップと、
前記コンピュータが、該データ組合せリスト生成ステップにおいて生成された該データ種類の組合せリストと、外部から入力された該デバイスに対応するテストベンチの組合せリストとに基づいて、検証項目を生成する検証項目生成ステップと、
前記コンピュータが、該シナリオテンプレート生成ステップにおいて生成された該シナリオテンプレートと、該検証項目生成ステップにおいて生成された該検証項目とに基づいて検証シナリオを生成する検証シナリオ生成ステップとを含んでいることを特徴とする、検証シナリオ生成方法。 - 検証対象回路の検証シナリオを生成する機能をコンピュータに実現させるための検証シナリオ生成プログラムであって、
該検証対象回路に接続されるデバイスを示すデバイスリスト,該デバイスのパラメータ設定情報,および該デバイスに対応するテストベンチの組合せリストの入力を受け付ける第1入力部、
該第1入力部によって入力を受け付けられた該デバイスリストおよび該パラメータ設定情報に基づいてテストベンチライブラリからテストベンチを読み出して検証用テストベンチを生成する検証用テストベンチ生成部、
該検証用テストベンチ生成部によって生成された該検証用テストベンチの初期設定情報を記述されたシナリオテンプレートを生成するシナリオテンプレート生成部、
該検証用テストベンチ生成部によって生成された該検証用テストベンチに係るデータ種類の組合せリストを生成するデータ組合せリスト生成部、
該データ組合せリスト生成部によって生成された該データ種類の組合せリストと、該第1入力部によって入力を受け付けられた該テストベンチの組合せリストとに基づいて、検証項目を生成する検証項目生成部、および
該シナリオテンプレート生成部によって生成された該シナリオテンプレートと、該検証項目生成部によって生成された該検証項目とに基づいて該検証シナリオを生成する検証シナリオ生成部として、前記コンピュータを機能させることを特徴とする、検証シナリオ生成プログラム。 - 検証対象回路に接続されるデバイスを示すデバイスリスト,該デバイスのパラメータ設定情報,および該デバイスに対応するテストベンチの組合せリストの入力を受け付ける第1入力部と、
該テストベンチを保持するテストベンチライブラリと、
該第1入力部によって入力を受け付けられた該デバイスリストおよび該パラメータ設定情報に基づいて該テストベンチライブラリからテストベンチを読み出して検証用テストベンチを生成する検証用テストベンチ生成部と、
該検証用テストベンチ生成部によって生成された該検証用テストベンチの初期設定情報を記述されたシナリオテンプレートを生成するシナリオテンプレート生成部と、
該検証用テストベンチ生成部によって生成された該検証用テストベンチに係るデータ種類の組合せリストを生成するデータ組合せリスト生成部と、
該データ組合せリスト生成部によって生成された該データ種類の組合せリストと、該第1入力部によって入力を受け付けられた該テストベンチの組合せリストとに基づいて、検証項目を生成する検証項目生成部と、
該シナリオテンプレート生成部によって生成された該シナリオテンプレートと、該検証項目生成部によって生成された該検証項目とに基づいて検証シナリオを生成する検証シナリオ生成部と、
該検証シナリオ生成部によって生成された該検証シナリオに基づいて該検証対象回路の検証を行なう検証部とをそなえて構成されたことを特徴とする、検証装置。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2007043839A JP4850091B2 (ja) | 2007-02-23 | 2007-02-23 | 検証シナリオ生成装置,方法,およびプログラム,並びに検証装置 |
US12/016,625 US7823101B2 (en) | 2007-02-23 | 2008-01-18 | Device, method, and storage for verification scenario generation, and verification device |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2007043839A JP4850091B2 (ja) | 2007-02-23 | 2007-02-23 | 検証シナリオ生成装置,方法,およびプログラム,並びに検証装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2008210004A JP2008210004A (ja) | 2008-09-11 |
JP4850091B2 true JP4850091B2 (ja) | 2012-01-11 |
Family
ID=39717369
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2007043839A Expired - Fee Related JP4850091B2 (ja) | 2007-02-23 | 2007-02-23 | 検証シナリオ生成装置,方法,およびプログラム,並びに検証装置 |
Country Status (2)
Country | Link |
---|---|
US (1) | US7823101B2 (ja) |
JP (1) | JP4850091B2 (ja) |
Families Citing this family (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8689192B2 (en) * | 2009-01-12 | 2014-04-01 | Synopsys, Inc. | Natural language assertion processor |
US8117499B2 (en) * | 2009-06-16 | 2012-02-14 | International Business Machines Corporation | Generation of a stimuli based on a test template |
JP5048748B2 (ja) | 2009-12-18 | 2012-10-17 | 三菱電機株式会社 | 試験テーブル生成装置及び試験テーブル生成方法 |
CN102635549B (zh) * | 2012-03-15 | 2014-12-10 | 东北大学 | 一种单头等螺距空心螺杆转子的动平衡设计方法 |
US8726203B1 (en) * | 2013-04-25 | 2014-05-13 | Cydesign, Inc. | System and method for generating virtual test benches |
EP3722942B1 (en) * | 2019-04-10 | 2023-03-22 | The Boeing Company | Running integration tests using unit tests |
EP4050489A1 (en) | 2021-02-24 | 2022-08-31 | The Boeing Company | Automatic generation of integrated test procedures using system test procedures |
Family Cites Families (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP3663067B2 (ja) | 1998-12-17 | 2005-06-22 | 富士通株式会社 | 論理装置の検証方法、検証装置及び記録媒体 |
JP2001101250A (ja) * | 1999-09-30 | 2001-04-13 | Matsushita Electric Ind Co Ltd | 検証項目抽出方法、再利用コア検証方法、検証判断方法、および再利用テストベンチ編集方法 |
US6490711B2 (en) * | 2000-12-18 | 2002-12-03 | Yardstick Research, Llc | Method for creating a design verification test bench |
JP4577475B2 (ja) | 2001-07-19 | 2010-11-10 | 日本電気株式会社 | 同期式順序回路のプロパティ検証方法および装置 |
JP2003316847A (ja) * | 2002-04-24 | 2003-11-07 | Matsushita Electric Ind Co Ltd | エミュレーション回路情報作成装置および作成方法 |
US7454324B1 (en) * | 2003-01-10 | 2008-11-18 | James Andrew Garrard Seawright | Selection of initial states for formal verification |
JP3833626B2 (ja) * | 2003-04-22 | 2006-10-18 | 三菱電機株式会社 | テストケース生成装置及びテストケース生成方法 |
US7260798B2 (en) * | 2003-12-29 | 2007-08-21 | Mentor Graphics Corporation | Compilation of remote procedure calls between a timed HDL model on a reconfigurable hardware platform and an untimed model on a sequential computing platform |
JP2005196681A (ja) | 2004-01-09 | 2005-07-21 | Matsushita Electric Ind Co Ltd | Lsi検証装置 |
JP2005222371A (ja) * | 2004-02-06 | 2005-08-18 | Canon Inc | 論理回路の機能検証システムおよび方法 |
JP2006048149A (ja) * | 2004-07-30 | 2006-02-16 | Ricoh Co Ltd | 機能検証装置、テストベンチ、ハードウェア記述言語により設計されたモデル、シミュレータプログラム及び記憶媒体 |
JP4255079B2 (ja) * | 2004-09-30 | 2009-04-15 | 株式会社リコー | アサーション生成システムと回路検証システムおよびプログラムならびにアサーション生成方法 |
JP2006119922A (ja) * | 2004-10-21 | 2006-05-11 | Canon Inc | 機能検証システム、制御方法、及びプログラム |
JP2006178775A (ja) * | 2004-12-22 | 2006-07-06 | Canon Inc | 検証環境作成装置及びその処理方法 |
-
2007
- 2007-02-23 JP JP2007043839A patent/JP4850091B2/ja not_active Expired - Fee Related
-
2008
- 2008-01-18 US US12/016,625 patent/US7823101B2/en not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
US7823101B2 (en) | 2010-10-26 |
US20080209369A1 (en) | 2008-08-28 |
JP2008210004A (ja) | 2008-09-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7603636B2 (en) | Assertion generating system, program thereof, circuit verifying system, and assertion generating method | |
JP4850091B2 (ja) | 検証シナリオ生成装置,方法,およびプログラム,並びに検証装置 | |
JP4251964B2 (ja) | 検証装置、検証方法およびプログラム | |
US7444257B2 (en) | Generation of a testbench for a representation of a device | |
US20140100841A1 (en) | Testing a Hardware Emulation Model of a Circuit with Software Checker Routines Designed for an RTL Model of the Circuit | |
JP2006285333A (ja) | 動作合成装置及び方法 | |
US7454726B2 (en) | Technique for generating input stimulus to cover properties not covered in random simulation | |
JP5040758B2 (ja) | シミュレーション装置、シミュレーション方法及びプログラム | |
CN107784185B (zh) | 一种门级网表中伪路径的提取方法、装置及终端设备 | |
JP4142176B2 (ja) | インタフェース仕様定義を記録した記憶媒体、及び接続検証方法、及び信号パタン生成方法 | |
US7945882B2 (en) | Asynchronous circuit logical verification method, logical verification apparatus, and computer readable storage medium | |
JP2009517759A (ja) | Ic設計方法およびic設計ツール | |
US20140325468A1 (en) | Storage medium, and generation apparatus for generating transactions for performance evaluation | |
TWI782408B (zh) | 邏輯模擬驗證系統、邏輯模擬驗證方法、及程式產品 | |
JPWO2006025412A1 (ja) | 論理検証方法、論理モジュールデータ、デバイスデータおよび論理検証装置 | |
JP2003330983A (ja) | テスト容易化設計システム、テスト容易化設計方法、プログラムおよび記録媒体 | |
JP7351189B2 (ja) | タイミング制約抽出装置、タイミング制約抽出方法およびタイミング制約抽出プログラム | |
JP5799589B2 (ja) | 検証方法及び検証プログラム | |
JP4983642B2 (ja) | 設計検証プログラム、設計検証方法および設計検証装置 | |
JP4649337B2 (ja) | ライブラリ作成装置及び方法,並びにライブラリ作成プログラムを記録したコンピュータ読取可能な記録媒体 | |
JP2005222371A (ja) | 論理回路の機能検証システムおよび方法 | |
JP2007241836A (ja) | マルチサイクルパス検証方法 | |
Kayed et al. | Synthesizable sva protocol checker generation methodology based on tdml and vcd file formats | |
JP2022165844A (ja) | ライブラリ開発支援プログラム、ライブラリ開発支援方法および情報処理装置 | |
JP5392862B2 (ja) | ソフトウェアシミュレーション装置、及びシミュレーション方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20091110 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20110502 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20110510 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20110601 |
|
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: 20111011 |
|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20111018 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20141028 Year of fee payment: 3 |
|
LAPS | Cancellation because of no payment of annual fees |