JP4850091B2 - 検証シナリオ生成装置,方法,およびプログラム,並びに検証装置 - Google Patents

検証シナリオ生成装置,方法,およびプログラム,並びに検証装置 Download PDF

Info

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
Application number
JP2007043839A
Other languages
English (en)
Other versions
JP2008210004A (ja
Inventor
志津子 杉原
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.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
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 Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP2007043839A priority Critical patent/JP4850091B2/ja
Priority to US12/016,625 priority patent/US7823101B2/en
Publication of JP2008210004A publication Critical patent/JP2008210004A/ja
Application granted granted Critical
Publication of JP4850091B2 publication Critical patent/JP4850091B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G01MEASURING; TESTING
    • G01RMEASURING ELECTRIC VARIABLES; MEASURING MAGNETIC VARIABLES
    • G01R31/00Arrangements for testing electric properties; Arrangements for locating electric faults; Arrangements for electrical testing characterised by what is being tested not provided for elsewhere
    • G01R31/28Testing of electronic circuits, e.g. by signal tracer
    • G01R31/317Testing of digital circuits
    • G01R31/3181Functional testing
    • G01R31/3183Generation of test inputs, e.g. test vectors, patterns or sequences
    • G01R31/318342Generation of test inputs, e.g. test vectors, patterns or sequences by preliminary fault modelling, e.g. analysis, simulation
    • G01R31/318357Simulation

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

本発明は、集積回路の論理検証に用いる検証シナリオを生成するための技術に関する。
集積回路(例えばLSI:Large Scale Integration)設計では、集積回路が正常に動作するか否かを検証する論理検証が必要不可欠である。特に、大規模化、高機能化、高速化および低消費電力化が要求されるLSIについては、高品質を維持するためにも論理検証が重要である。その一方で、従来からLSIの設計期間の短縮による作業の効率化が要求されている。
ここで、図20を参照しながら従来の集積回路の検証システムについて説明すると、検証システム100において、オペレータ(例えば設計者)により作成された検証対象回路の仕様書101から、オペレータの手作業による変換処理102により、レビュー情報103や検証プロパティ(アサーション群)104が作成される。そして、レビュー情報103をフィードバックすることにより、オペレータは仕様書101を見直すことができる。
また、オペレータの手作業による変換処理によって得られた検証プロパティ104や、検証シナリオ(検証環境シナリオ)105および検証対象回路の回路情報106に基づいて、検証部107が、検証対象回路の論理検証を行なう。なお、このような検証システムに関連する従来技術として、下記特許文献1〜3がある。
特開2000−181939号公報 特開2003−30270号公報 特開2005−196681号公報
しかしながら、従来は、集積回路の論理検証に必要な検証項目や検証シナリオ105等の検証環境を、論理検証を行なうオペレータが自然言語で記述された仕様から手作業で作成していた。
そのため、近年の集積回路の機能の複雑化や高集積化に伴い、オペレータが手作業で行なう工数が膨大になりオペレータの負担が非常に大きくなっている。しかも、オペレータの手作業であるので、検証項目等の漏れや誤りによって検証シナリオのリメイクが発生することもしばしばあり、検証シナリオのリメイクが発生してしまうと、設計期間が長くなるとともに、集積回路の開発費用が嵩んでしまう。
したがって、オペレータによる手作業の工数を削減してオペレータの負担を軽減するとともに、検証シナリオのリメイクを無くすことが課題となっている。
本発明は、このような課題に鑑み創案されたもので、集積回路の論理検証に用いる検証シナリオを作成するにあたり、オペレータの負担を低減するとともに検証シナリオ作成時間を短縮することを目的とする。
上記目的を達成するために、本発明の検証シナリオ生成装置は、検証対象回路に接続されるデバイスを示すデバイスリスト,該デバイスのパラメータ設定情報,および該デバイスに対応するテストベンチの組合せリストの入力を受け付ける第1入力部と、該テストベンチを保持するテストベンチライブラリと、該第1入力部によって入力を受け付けられた該デバイスリストおよび該パラメータ設定情報に基づいて該テストベンチライブラリからテストベンチを読み出して検証用テストベンチを生成する検証用テストベンチ生成部と、この検証用テストベンチ生成部によって生成された該検証用テストベンチの初期設定情報を記述されたシナリオテンプレートを生成するシナリオテンプレート生成部と、該検証用テストベンチ生成部によって生成された該検証用テストベンチに係るデータ種類の組合せリストを生成するデータ組合せリスト生成部と、このデータ組合せリスト生成部によって生成された該データ種類の組合せリストと、該第1入力部によって入力を受け付けられた該テストベンチの組合せリストとに基づいて、検証項目を生成する検証項目生成部と、該シナリオテンプレート生成部によって生成された該シナリオテンプレートと、該検証項目生成部によって生成された該検証項目とに基づいて検証シナリオを生成する検証シナリオ生成部とをそなえて構成されたことを特徴としている(請求項1)。
なお、該検証用テストベンチ生成部は、該デバイスリストが示す該デバイスに対応するテストベンチを該テストベンチライブラリから読み出し、読み出したテストベンチのパラメータを該パラメータ設定情報に基づいて設定することにより、該検証用テストベンチを生成することが好ましい(請求項2)。
また、該検証シナリオ生成部によって生成された該検証シナリオを用いたシミュレーション結果として出力されたカバレッジ結果を該データ組合せリスト生成部および該検証項目生成部に入力する第2入力部をそなえ、該データ組合せリスト生成部が、該第2入力部によって入力された該カバレッジ結果に基づいて該データ種類の組合せリストを再生成し、該検証項目生成部が、該第2入力部によって入力された該カバレッジ結果に基づいて該検証項目を再生成し、該検証シナリオ生成部が、該データ組合せリスト生成部によって再生成された該データ種類の組合せリストと、該検証項目生成部によって再生成された該検証項目とに基づいて、該カバレッジ結果に応じた検証シナリオを再生成することが好ましい(請求項3)。
さらに、該第1入力部が、テストベンチの期待値リストの入力を受け付け、該データ組合せリスト生成部が、該第1入力部によって入力を受け付けられた該期待値リストを該データ種類の組合せリストに含めることが好ましい(請求項4)。
なお、該テストベンチライブラリが、該テストベンチのプロトコルのアサーション群を保持するように構成され、該第1入力部によって入力を受け付けられた該デバイスリストおよび該パラメータ設定情報に基づいて該テストベンチライブラリからアサーション群を読み出して、該検証用テストベンチに対応するアサーション群を生成するアサーション群生成部をそなえて構成されていることが好ましい(請求項5)。
また、上記目的を達成するために、本発明の検証シナリオ生成方法は、コンピュータが、外部から入力された、検証対象回路に接続されるデバイスを示すデバイスリストおよび該デバイスのパラメータ設定情報に基づいて、該テストベンチを保持するテストベンチライブラリからテストベンチを読み出して検証用テストベンチを生成する検証用テストベンチ生成ステップと、前記コンピュータが、該検証用テストベンチ生成ステップにおいて生成された該検証用テストベンチの初期設定情報を記述されたシナリオテンプレートを生成するシナリオテンプレート生成ステップと、前記コンピュータが、該検証用テストベンチ生成ステップにおいて生成された該検証用テストベンチに係るデータ種類の組合せリストを生成するデータ組合せリスト生成ステップと、前記コンピュータが、該データ組合せリスト生成ステップにおいて生成された該データ種類の組合せリストと、外部から入力された該デバイスに対応するテストベンチの組合せリストとに基づいて、検証項目を生成する検証項目生成ステップと、前記コンピュータが、該シナリオテンプレート生成ステップにおいて生成された該シナリオテンプレートと、該検証項目生成ステップにおいて生成された該検証項目とに基づいて検証シナリオを生成する検証シナリオ生成ステップとを含んでいることを特徴としている(請求項6)。
また、上記目的を達成するために、本発明の検証シナリオ生成プログラムは、検証対象回路の検証シナリオを生成する機能をコンピュータに実現させるためのプログラムであって、該検証対象回路に接続されるデバイスを示すデバイスリスト,該デバイスのパラメータ設定情報,および該デバイスに対応するテストベンチの組合せリストの入力を受け付ける第1入力部、この第1入力部によって入力を受け付けられた該デバイスリストおよび該パラメータ設定情報に基づいてテストベンチライブラリからテストベンチを読み出して検証用テストベンチを生成する検証用テストベンチ生成部、この検証用テストベンチ生成部によって生成された該検証用テストベンチの初期設定情報を記述されたシナリオテンプレートを生成するシナリオテンプレート生成部、該検証用テストベンチ生成部によって生成された該検証用テストベンチに係るデータ種類の組合せリストを生成するデータ組合せリスト生成部、このデータ組合せリスト生成部によって生成された該データ種類の組合せリストと、該第1入力部によって入力を受け付けられた該テストベンチの組合せリストとに基づいて、検証項目を生成する検証項目生成部、および該シナリオテンプレート生成部によって生成された該シナリオテンプレートと、該検証項目生成部によって生成された該検証項目とに基づいて該検証シナリオを生成する検証シナリオ生成部として、前記コンピュータを機能させることを特徴としている(請求項7)。
また、上記目的を達成するために、本発明の検証装置は、検証対象回路に接続されるデバイスを示すデバイスリスト,該デバイスのパラメータ設定情報,および該デバイスに対応するテストベンチの組合せリストの入力を受け付ける第1入力部と、該テストベンチを保持するテストベンチライブラリと、該第1入力部によって入力を受け付けられた該デバイスリストおよび該パラメータ設定情報に基づいて該テストベンチライブラリからテストベンチを読み出して検証用テストベンチを生成する検証用テストベンチ生成部と、この検証用テストベンチ生成部によって生成された該検証用テストベンチの初期設定情報を記述されたシナリオテンプレートを生成するシナリオテンプレート生成部と、該検証用テストベンチ生成部によって生成された該検証用テストベンチに係るデータ種類の組合せリストを生成するデータ組合せリスト生成部と、このデータ組合せリスト生成部によって生成された該データ種類の組合せリストと、該第1入力部によって入力を受け付けられた該テストベンチの組合せリストとに基づいて、検証項目を生成する検証項目生成部と、該シナリオテンプレート生成部によって生成された該シナリオテンプレートと、該検証項目生成部によって生成された該検証項目とに基づいて検証シナリオを生成する検証シナリオ生成部と、この検証シナリオ生成部によって生成された該検証シナリオに基づいて該検証対象回路の検証を行なう検証部とをそなえて構成されたことを特徴としている(請求項8)。
このように、本発明によれば、第1入力部がデバイスリスト,パラメータ設定情報,およびテストベンチの組合せリストの入力を受け付け、検証用テストベンチ生成部がデバイスリストおよびパラメータ設定情報に基づいて検証用テストベンチを生成し(検証用テストベンチ生成ステップ)、シナリオテンプレート生成部が検証用テストベンチの初期設定情報を記述されたシナリオテンプレートを生成し(シナリオテンプレート生成ステップ)、データ組合せリスト生成部が検証用テストベンチに係るデータ種類の組合せリストを生成し(データ組合せリスト生成ステップ)、検証項目生成部がデータ種類の組合せリストと、テストベンチの組合せリストとに基づいて、検証項目を生成し(検証項目生成ステップ)、最後に、検証シナリオ生成部がシナリオテンプレートと、検証項目とに基づいて検証シナリオを生成する(検証シナリオ生成ステップ)ので、オペレータはデバイスリスト,パラメータ設定情報,およびテストベンチの組合せリストを入力するだけで、集積回路の論理検証に用いる検証シナリオ(シナリオ群)を自動的に生成することができ、オペレータの負担を大幅に低減できるとともに、検証シナリオの作成時間をオペレータが手作業で作成するのに対して大幅に短縮できる(請求項1,2,6−8)。
また、検証シナリオ生成の自動化により、検証シナリオの生成漏れを抑止でき、検証対象回路に係るデータ疎通のすべてのパターンの検証シナリオを生成でき、検証網羅性が向上し、検証シナリオのリメイクを抑止できる(請求項1,2,6−8)。
さらに、テストベンチライブラリが検証用テストベンチの元になるテストベンチを保持しているので、テストベンチライブラリに保持されたテストベンチの汎用化が可能になる(請求項1,2,6−8)。
なお、シミュレーションの結果として得られるカバレッジ結果に基づいて、データ組合せリスト生成部がデータ組合せリストを再生成し、検証項目生成部が検証項目を再生成するとともに、これら再生成されたデータ組合せリストおよび検証項目に基づいて検証シナリオ生成部が検証シナリオを再生成するので、前回のシミュレーションではシミュレーションできなかった部分に係る検証シナリオを確実に生成することができ、その結果、検証漏れをより確実に防止でき、検証網羅性をより向上できる(請求項3)。
さらに、データ組合せリスト生成部が、第1入力部によって入力を受け付けられた期待値リストをデータ種類の組合せリストに含めるので、その結果、検証シナリオ生成部によって生成される検証シナリオを用いたシミュレーションにおいて、期待値照合を実行することができる。つまり、オペレータは、期待値リストを入力するだけで期待値照合を確実に実行できる(請求項4)。
また、アサーション群生成部が、第1入力部によって入力を受け付けられたデバイスリストおよびパラメータ設定情報に基づいてテストベンチライブラリからアサーション群を読み出して、検証用テストベンチに対応するアサーション群を生成するので、アサーション検証に用いるアサーション群を自動生成することができ、アサーション群を生成するためのオペレータの負担や作業時間を低減できる。しかも、アサーション群を自動生成するので、アサーションの生成漏れを防止でき、その結果、より高精度なアサーション検証が実現できる(請求項5)。
以下、図面を参照しながら本発明の実施の形態について説明する。
〔1〕本発明の一実施形態について
まず、図1に示すブロック図を参照しながら、本発明の一実施形態としての検証装置(以下、本検証装置という)1の構成について説明する。この図1に示すように、本検証装置1は、第1入力部10,テストベンチライブラリ11,テストベンチ生成部(検証用テストベンチ生成部;アサーション群生成部)12,シナリオテンプレート生成部13,データ組合せリスト生成部14,検証項目生成部15,シナリオ生成部(検証シナリオ生成部)16,回路情報保持部17,および検証部(アサーション検証部)18をそなえて構成されている。
なお、本検証装置1の第1入力部10,テストベンチライブラリ11,テストベンチ生成部12,シナリオテンプレート生成部13,データ組合せリスト生成部14,検証項目生成部15,およびシナリオ生成部16が、本発明の一実施形態としての検証シナリオ生成装置(検証補助(支援)装置;以下、本検証シナリオ生成装置という)2として機能する。
ここで、本検証装置1は、図2に示すように、モニタ31,キーボード32,マウス33を接続された演算部(例えば、CPU:Central Processing Unit)34およびこの演算部34に接続された記憶装置35をそなえたコンピュータ30によって実現される。
つまり、テストベンチ生成部12,シナリオテンプレート生成部13,データ組合せリスト生成部14,検証項目生成部15,シナリオ生成部16,および検証部18は、演算部34が所定のアプリケーションプログラム(後述する検証シナリオ生成プログラムもしくは検証プログラム)を実行することによって実現される。
そして、テストベンチライブラリ11および回路情報保持部17は、コンピュータ30の記憶装置35によって実現される。なお、テストベンチライブラリ11および回路情報保持部17は、演算部34にそなえられたメモリ(図示略)によって実現されてもよい。
また、第1入力部10は、入力インタフェースとしてのキーボード32およびマウス33、並びに、これらキーボード32およびマウス33からの入力を受け付ける演算部34の入力制御部(図示略)によって実現される。
そして、本検証シナリオ生成装置2は、第1入力部10によって入力を受け付けられた情報(後述するデバイスリスト,パラメータ設定情報,およびテストベンチの組合せリスト)に基づいて検証対象回路(例えばLSI)の論理検証に用いる検証シナリオ(シナリオ群;以下、単にシナリオともいう)を自動生成するものであり、本検証装置1は、自動生成した検証シナリオを用いて検証対象回路の論理検証を行なう。
ここで、本検証装置1によって実行される論理検証について、図3に示す集積回路の製造方法の処理手順を示すフローチャート(ステップS1〜S9)を参照しながら説明する。
集積回路(検証対象回路)の論理検証(ステップS4)は、オペレータ(設計者)が仕様書を作成し(ステップS1)、論理設計を行なった(ステップS2)後、物理設計(ステップS5)に移行する前に実行されるものであり、論理設計した検証対象回路が正常に動作するか否かを検証するものである。
つまり、オペレータは論理設計(ステップS2)後、論理検証環境を構築(例えば、検証項目を決定して検証シナリオを生成)して(ステップS3)、論理検証を実行する(ステップS4)。
ここで、検証対象回路が正常に動作することが検証されれば、オペレータは次に物理設計(実際のレイアウト)を行なう(ステップS5)。
なお、物理設計(ステップS5)後は、オペレータは物理検証を行ない(ステップS6)、ここで正常な結果が得られると、検証対象回路の試作製造(ステップS7)、試作試験(ステップS8)を行なった後に、検証対象回路の製造を行なう(ステップS9)。
つまり、図3に示す集積回路の製造方法は、本検証装置1による論理検証(ステップS4)を含んでおり、さらに本検証シナリオ生成装置2による検証シナリオ生成(論理検証環境構築;ステップS3参照)を含んでいる。
そして、本検証装置1による論理検証は、図4に示すごとく、検証対象回路としてのRTL(Register Transfer Level)3を検証するにあたり、当該検証対象回路3に接続されるデバイスを仮想的に表わしたテストベンチ(図中“TB1〜TB6”参照)4a〜4fをテストベンチ生成部13が用意し、シナリオ生成部16によって生成されたシナリオ(図中“シナリオ1”と表記)5aに基づいて、シミュレータとしての検証部18がシミュレーションを実行し、検証対象回路が正常に動作するか否かの検証を行なう。
また、本検証装置1の検証部18は、論理検証として、上記シミュレーションの他に、テストベンチライブラリ11に保持され、テストベンチ生成部12によって抽出されたアサーション群(図中“アサーション群1,2”参照)を用いたアサーション検証(プロパティ検証)も行なう。
したがって、図5に示すように、テストベンチ生成部12によってテストベンチ(TB1,2等を含むTB群およびTB_TOP)4が生成され、シナリオ生成部16によってシナリオ群5が生成され、さらに、テストベンチ生成部12によってアサーション群6が生成される。
そして、これら生成された情報と、回路情報保持部17に保持された検証対象回路の回路情報(図中“Target(RTL)”と表記)3とがシミュレータとしての検証部18に入力され、シミュレーション結果としてログファイル7aおよび波形ファイル7bからなるシミュレータ出力7が検証部18から出力される。
ここで、図1を参照しながら本検証装置1の各構成要素10〜18について詳細に説明する。
第1入力部10は、検証対象回路に接続される他の電子部品(デバイス)を示すデバイスリスト,それらデバイスのパラメータを設定するためのパラメータ設定情報,および各デバイスに対応するテストベンチの組合せリストの入力を受け付けるものであり、例えば、オペレータが、図2に示したキーボード32やマウス33を操作して入力したデバイスリスト,パラメータ設定情報,およびテストベンチの組合せリストを受け付けるものである。
ここで、デバイスリストはデバイスの型番等からなり、テストベンチライブラリ11に保持されたテストベンチを特定する情報である。
また、パラメータ設定情報はデバイスリストに含まれる各デバイスに係るパラメータの設定値であり、例えば、パラメータCLOCKGEN.vに設定されるクロックの本数や各周波数、および、パラメータDSP0XXP.cppに設定されるデータビット幅やアドレス領域である。
さらに、テストベンチの組合せリスト(以下、テストベンチ組合せリストという)は、検証項目を決定するためのテストベンチの組合せを示す情報である。なお、テストベンチ組合せリストの詳細は検証項目生成部15の説明箇所において後述する図12を参照しながら説明する。
なお、テストベンチとは、上述のごとく、論理検証のシミュレーションに用いる、検証対象回路に接続されるデバイスをモデリングした仮想的なデバイスをいう。
そして、テストベンチライブラリ11は、検証対象回路に接続され得る複数のテストベンチを予め保持している。
具体的には、テストベンチライブラリ11は図6に示すようなテストベンチ11aを保持している。この図6に示すテストベンチ11aは、VHDL(VHSIC Hardware Description Language)で記述されたI2C(Inter-Integrated Circuit;ここでは、型番“I2C_AAA”)のテストベンチである。なお、テストベンチ11a中に符号11b,11cで示す範囲は、シナリオ生成部16によって作成されるシナリオ毎に設定される機能ブロックを示している。
また、テストベンチライブラリ11は、複数のテストベンチの他に、これら複数のテストベンチに対応するアサーション群を保持している。なお、アサーション(プロパティ)は検証対象回路がアサーションで記述された仕様通りに動作するかを検証するためのものである。
テストベンチ生成部12は、第1入力部10によって入力を受け付けられたデバイスリストおよびパラメータ設定情報に基づいて、テストベンチライブラリ11からテストベンチを読み出して検証用テストベンチを生成するものである。
具体的には、テストベンチ生成部12は、デバイスリストが示すデバイスに対応するテストベンチをテストベンチライブラリ11から読み出し、読み出したテストベンチのパラメータをパラメータ設定情報に基づいて設定することにより、検証用テストベンチを生成する。
例えば、第1入力部10がデバイスリストとしてDSP(Digital Signal Processor)の型番“DSP0XXP”の入力を受け付けるとともに、パラメータ設定情報として“parameter BITWIDTH=32”の入力を受け付けると、テストベンチ生成部12は、テストベンチライブラリ11から型番“DSP0XXP”のDSPのテストベンチを読み出し、読み出したテストベンチのパラメータをパラメータ設定情報に基づいて設定することにより、例えば、図7に示すような検証用テストベンチ12aを生成する。なお、検証用テストベンチ12aは、verilog−HDL(Hardware Description Language)で記述されたものである。
そして、検証用テストベンチ12aにおいて、上から2行目の“parameter BITWIDTH=32”との記載,符号12bで示す範囲の上から3行目の“input [BITWIDTH:0]”との記載,および、符号12cで示す範囲の上から3行目の“input [BITWIDTH:0]”との記載が、パラメータ設定情報“parameter BITWIDTH=32”に基づいて設定された部分である。なお、符号12b,12cで示す範囲は、シナリオ生成部16によって作成されるシナリオ毎に設定される機能ブロックを示している。
また、テストベンチ生成部12は、第1入力部10によって入力を受け付けられたデバイスリストに基づいて、このデバイスリストに含まれるデバイスに対応するテストベンチに係るアサーション群を、テストベンチライブラリ11から抽出する。
つまり、テストベンチ生成部12は、第1入力部10によって入力を受け付けられた該デバイスリストおよびパラメータ設定情報に基づいてテストベンチライブラリ11からアサーション群を読み出して、検証用テストベンチに対応するアサーション群を生成するアサーション群生成部として機能する。
シナリオテンプレート生成部13は、テストベンチ生成部12によって生成された検証用テストベンチの初期設定情報を記述されたシナリオテンプレートを生成するものである。
ところで、図6,図7に示したように、テストベンチライブラリ11に保持されたテストベンチは、機能別にrecord_type宣言(VHDL;図6参照)やtask宣言(verilog;図7参照)されているなど、一つの機能で使用される信号分を一つのまとまりとしてそれぞれ独立して宣言してある。
そして、シナリオテンプレート生成部13は、図8に示すように、テストベンチ生成部12によって生成された検証用テストベンチに基づいて、すべてのrecord_type宣言/task宣言の初期値が宣言されたシナリオのテンプレート13aを生成する。
なお、シナリオテンプレート13aにおいて符号13bで示す範囲が、シナリオが設定される部分であり、シナリオテンプレート生成部13によって生成されたシナリオテンプレート13aはテンプレートであるので、この範囲13bに具体的なプロセスは設定されていない。
データ組合せリスト生成部14は、テストベンチ生成部12によって生成された検証用テストベンチに係るデータ種類の組合せリスト(以下、データ組合せリストという)を生成するものである。
データ組合せリスト生成部14によって生成されるデータ組合せリストは、テストベンチ生成部12によって生成された各検証用テストベンチのすべての信号についての組合せリスト(つまり、機能単位内ですべての信号のすべての組合せリスト)であり、検証対象回路に入力する信号を自動生成するのに用いられるものである。
データ組合せリスト生成部14は、まず、テストベンチ生成部12によって生成された各検証用テストベンチについて、型番と予約語(record/task等)により、図9,図10に示すごとく、テストベンチに設定が必要な機能のまとまりの名前、信号名、信号の型、ビット幅等を抽出する。
図9に示すリスト14aは、型番“I2C_AAA”のI2Cのテストベンチの抽出結果であり、検索単語としてのデバイス名もしくはrecordは、“type I2C_AAA_WRITE_INFO is record”および“type I2C_AAA_READ_INFO is record”がある。
そして、“type I2C_AAA_WRITE_INFO is record”のrecord_typeは“I2C_AAA_WRITE_INFO”であり、このときの信号が“W_ADD_EXPECT_in”と“W_DATA_EXPECT_in”との2種類ある。なお、これら信号“W_ADD_EXPECT_in”および“W_DATA_EXPECT_in”はともに型が“integer”であり、ビット幅は0〜255ビットである。
一方、“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ビットである。
また、図10に示すリスト14bは型番“DSP0XXP”のDSPのテストベンチの抽出結果であり、検索単語としてのtask名は、“task RD”および“task RD_VERIFY”がある。
そして、“task RD”のtask名は“RD”であり、このときの信号が“data_size”と“read_address”との2種類ある。なお、信号“data_size”のビット幅は“[1:0]”であり、信号“read_address” のビット幅は“[31:0]”である。
一方、“task RD_VERIFY” のtask名は“RD_VERIFY”であり、このときの信号が“data_size”,“read_address”,および“expected_data”の3種類ある。なお、信号“data_size”のビット幅は“[1:0]”であり、信号“read_address”および“expected_data”のビット幅は“[31:0]”である。
なお、リスト14a,14bは、データ組合せリスト生成部14が自動生成するのではなく、オペレータが予め用意しておいてもよい。
そして、データ組合せリスト生成部14は、これら抽出結果としてのリスト14a,14bに基づいて、図11に示すように、抽出されたrecord_typeおよびtask名毎に、取り得る信号のすべての組合せリストを、データ組合せリスト14cとして生成する。なお、データ組合せリスト生成部14は、データ組合せリスト14cにおいて、record_typeおよびtask名毎の検証シナリオでの定義名を定義する。
具体的には、データ組合せリスト生成部14は、例えば、record_type“I2C_AAA_WRITE_INFO”の定義名を“TB_TOP.TB_I2C_AAA_WRITE_INFO”として、信号“W_ADD_EXPECT_in”と“W_DATA_EXPECT_in”とのすべての組合せリストを生成する。ここで、信号“W_ADD_EXPECT_in”および“W_DATA_EXPECT_in”はともにビット幅が0〜255であるので、データ組合せリスト生成部14は256の二乗分の65536通りの信号の組合せを生成する。
これと同様に、データ組合せリスト生成部14は、record_type“I2C_AAA_READ_INFO”の定義名を“TB_TOP.TB_I2C_AAA_READ_INFO”として、信号“R_ADD_EXPECT_in”,“R_DATA_in”,および“R_bytelength_in”のすべての組合せリストを生成し、task名“RD”の定義名を“TB_TOP.TB_DSP0XXPRD”として、信号“R_ADD_EXPECT_in”,“R_DATA_in”,および“R_bytelength_in”のすべての組合せリストを生成する。
また、データ組合せリスト生成部14は、task名“RD_VERIFY”については、定義名を“TB_TOP.TB_DSP0XXPRD_VERIFY”として、信号“data_size”および“read_address”のすべての組合せリストを生成する。なお、データ組合せリスト生成部14は、期待値を示す信号“expected_data”については、後述する本発明の第1変形例の検証装置1´の第1入力部10´(図1参照)がテストベンチ期待値リストの入力を受け付けた場合にのみデータ組合せリストに含める。
検証項目生成部15は、データ組合せリスト生成部14によって生成されたデータ組合せリストと、第1入力部10によって入力を受け付けられたテストベンチ組合せリストとに基づいて、検証項目を生成するものである。
ここで、図12に第1入力部10によって入力されたテストベンチ組合せリスト10aを示す。この図12に示すように、オペレータによって入力されたテストベンチ組合せリスト10aは、デバイスリストのデバイス(ここでは、型番“I2C_AAA”のI2Cおよび型番 “DSP0XXP”のDSP)に対応するテストベンチの組合せであって、データ組合せリスト生成部14によって抽出されたリスト14a,14bにおける各テストベンチのrecord_type宣言やtask宣言より、各プロセス(図中イベントと表記)の組合せをテストベンチ組合せリスト10aとして入力されたものである。
なお、テストベンチ組合せリスト10aは複数の組合せ(図中の“No.1〜No.7”参照)を指定するものであり、“No.1”の組合せは“I2C_AAA”のイベント“I2C_AAA_WRITE_INFO”のみであり、“No.2”の組合せは“I2C_AAA” のイベント“I2C_AAA_WRITE_INFO”と“I2C_AAA_READ_INFO”との組合せである。なお、図12に示すごとく“No.3-7”の組合せ毎にイベントが指定されている。
また、本発明においてテストベンチ組合せリストに含まれる組合せの数や組合せ毎のイベント数は限定されるものではない。
そして、検証項目生成部15は、テストベンチ組合せリスト10aの組合せと、データ組合せリスト14cの組合せとのすべての通りの組合せを生成することにより、図13に示すような検証項目15aを生成する。
つまり、検証項目生成部15は、テストベンチ組合せリスト10aの“No.1”のイベント“I 2C_AAA_WRITE_INFO”のみからなる組合せに関し、データ組合せリスト14cに基づき、イベント“I2C_AAA_WRITE_INFO”の取り得る信号“W_ADD_EXPECT_in”および“W_DATA_EXPECT_in”のそれぞれが0〜255の256通りあるので、256通りの二乗分の65536通りの検証項目を生成する。
また、検証項目生成部15は、テストベンチ組合せリスト10aの“No.2”のイベント“I2C_AAA_WRITE_INFO”および“I2C_AAA_READ_INFO”からなる組合せに関し、イベント“I2C_AAA_WRITE_INFO”の取り得る信号“W_ADD_EXPECT_in”および“W_DATA_EXPECT_in”、並びに、イベント“I2C_AAA_READ_INFO”の取り得る信号“R_ADD_EXPECT_in”,“R_DATA_in”,および“R_bytelength_in”のすべての組合せを検証項目として生成する。
つまり、図13に示すように、イベント“I2C_AAA_WRITE_INFO”の取り得る信号“W_ADD_EXPECT_in”および“W_DATA_EXPECT_in”の65536通りの組合せ毎に、符号15a´で示すごとくイベント“I2C_AAA_READ_INFO”の取り得る信号“R_ADD_EXPECT_in”,“R_DATA_in”,および“R_bytelength_in”のすべての組合せを組み合わせた1〜n通りの組合せを検証項目として生成する。
なお、図13において符号15a´で示す、イベント“I2C_AAA_READ_INFO”の取り得る信号“R_ADD_EXPECT_in”,“R_DATA_in”,および“R_bytelength_in”のすべての組合せは、図の簡略化のため、“W_ADD_EXPECT_in”信号および“W_DATA_EXPECT_in”信号がそれぞれ“0”の場合に対してのみ示しているが、実際は“W_ADD_EXPECT_in”信号と“W_DATA_EXPECT_in”信号との65536通りの組合せのそれぞれに対応して符号15a´で示す組合せが作成される。
また、図13に示す検証項目15aは、図の簡略化のためテストベンチ組合せリスト10aの“No.3〜7”の組合せの検証項目の図示を省略している。
シナリオ生成部16は、シナリオテンプレート生成部13によって生成されたシナリオテンプレートと、検証項目生成部15によって生成された検証項目とに基づいて検証シナリオを生成するものである。
具体的には、シナリオ生成部16は、シナリオテンプレート生成部13によって生成されたシナリオテンプレートに検証項目生成部15によって生成された各検証項目を追記することにより、検証シナリオを自動生成する。
例えば、シナリオ生成部16は、図14に示すような検証シナリオ16aを生成する。この検証シナリオ16aは、主として符号16b,16c,16dで示す部分が検証項目15aに応じて変更される。
つまり、シナリオ生成部16は、検証項目15aにおける一つの検証項目で指定されたテストベンチへの設定データをテンプレートに埋め込むことにより、機能毎のテストパターン生成を検証シナリオで実現する。これを検証項目15aにおけるすべての組合せに対して実行することで、シナリオ生成部16はシナリオ群を生成する。
回路情報保持部17は、検証対象回路の回路情報を保持するものである。
検証部18は、シナリオ生成部16によって生成されたシナリオに基づいて検証対象回路の検証(論理検証)を行なうものであり、具体的には、回路情報保持部17から検証対象回路の回路情報を読み出し、この検証対象回路にシナリオ生成部16によって生成されたシナリオ群を用いたシミュレーションを実行し、そのシミュレーション結果の成否(つまり検証対象回路が正常に動作するか否か)を検証するものである。
なお、検証部18によるシミュレーション結果は、ログファイルおよび波形ファイル(上記図5参照)で出力される。
また、検証部18は、テストベンチ生成部12によって生成されたアサーション群を用いて検証対象回路のアサーション検証を行なうアサーション検証部として機能する。
次に、図15に示すフローチャート(ステップS10〜S18)を参照しながら、本発明の一実施形態としての検証方法について説明する。なお、後述するステップS10〜S16の処理が本発明の一実施形態としての検証シナリオ生成方法として機能する。
まず、第1入力部10がユーザ(オペレータ)により生成されたデバイスリスト,デバイスのパラメータ設定情報,およびテストベンチ組合せリストの入力を受け付ける(ステップS10)。
ここでは、図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の入力が受け付けられる。
次に、テストベンチ生成部12が、外部から入力されたデバイスリストおよびパラメータ設定情報に基づいて、テストベンチライブラリ11からテストベンチを読み出して検証用テストベンチを生成する(検証用テストベンチ生成ステップ;ステップS11)。
ここでは、図15に示すごとく、テストベンチ生成部12によってテストベンチ“I2C_AAA.v”,“RF_001.VHD”,“DSP0XXP.ccp”,“CLOCKGEN.v”,および“RESETGEN.v”が生成される。
さらに、テストベンチ生成部12は、デバイスリストおよびパラメータ設定情報に基づいて、テストベンチライブラリ11からテストベンチのプロトコルのアサーション群を読み出して、検証用テストベンチに対応するアサーション群を生成する(アサーション群生成ステップ;ステップS12)。
そして、シナリオテンプレート生成部13が、テストベンチ生成部12によって生成された検証用テストベンチの初期設定情報を記述されたシナリオテンプレートを生成する(シナリオテンプレート生成ステップ;ステップS13)。
また、上記ステップS13の処理に並行して、データ組合せリスト生成部14が、テストベンチ生成部12によって生成された検証用テストベンチに係るデータ種類の組合せリストを生成する(データ組合せリスト生成ステップ;ステップS14)。
続いて、検証項目生成部15が、データ組合せリスト生成部14によって生成されたデータ種類の組合せリストと、外部から入力されたテストベンチの組合せリストとに基づいて、検証項目を生成する(検証項目生成ステップ;ステップS15)。
そして、シナリオ生成部16が、シナリオテンプレート生成部13によって生成されたシナリオテンプレートと、検証項目生成部15によって生成された検証項目とに基づいて検証シナリオ(図中シナリオ群と表記)を生成する(検証シナリオ生成ステップ;ステップS16)。
最後に、検証部18が、回路情報保持部17から検証対象回路の回路情報を読み出し、シナリオ生成部16によって生成されたシナリオ群に基づいてシミュレーションを行ない、シミュレーション結果に基づいて検証対象回路が正常に動作するか否かの検証を行なう(検証ステップ;ステップS17)。
一方、上記ステップS17の処理に並行して、検証部18は、テストベンチ生成部12によって生成されたアサーション群に基づいて検証対象回路のアサーション検証を実行して(アサーション検証ステップ;ステップS18)、処理を終了する。
このように、本発明の一実施形態としての検証装置1および検証方法によれば、第1入力部10がデバイスリスト,パラメータ設定情報,およびテストベンチの組合せリストの入力を受け付け、テストベンチ生成部12がデバイスリストおよびパラメータ設定情報に基づいてテストベンチライブラリ11からテストベンチを読み出して検証用テストベンチを生成し(検証用テストベンチ生成ステップ)、シナリオテンプレート生成部13が検証用テストベンチの初期設定情報を記述されたシナリオテンプレートを生成し(シナリオテンプレート生成ステップ)、データ組合せリスト生成部14が検証用テストベンチに係るデータ種類の組合せリストを生成し(データ組合せリスト生成ステップ)、検証項目生成部15がデータ種類の組合せリストと、テストベンチの組合せリストとに基づいて、検証項目を生成し(検証項目生成ステップ)、最後に、シナリオ生成部16がシナリオテンプレートと、検証項目とに基づいて検証シナリオを生成する(検証シナリオ生成ステップ)ので、集積回路の論理検証に用いる検証シナリオ(シナリオ群)を、オペレータはデバイスリスト,パラメータ設定情報,およびテストベンチの組合せリストを入力するだけで自動的に生成することができ、オペレータの負担を大幅に低減できるとともに、検証シナリオの作成時間をオペレータが手作業で作成するのに対して大幅に短縮できる。
また、検証シナリオ生成の自動化により、検証シナリオの生成漏れを抑止でき、データ疎通のすべてのパターンの検証シナリオを生成するので、検証網羅性が向上し、検証シナリオのリメイクを抑止できる。
さらに、テストベンチライブラリ11が検証用テストベンチの元になるテストベンチを保持しているので、テストベンチライブラリ11に保持されたテストベンチの汎用化が可能になる。
すなわち、テストベンチ生成部12が、デバイスリストおよびパラメータ設定情報に基づいてテストベンチライブラリ11のテストベンチを検証用テストベンチに変換するので、検証用テストベンチの基礎となるテストベンチライブラリ11のテストベンチを汎用的に使用できる。
〔2〕本発明の変形例について
なお、本発明は上述した実施形態に限定されるものではなく、本発明の趣旨を逸脱しない範囲で種々変形して実施することができる。
〔2−1〕本発明の第1変形例について
例えば、上述した実施形態では、第1入力部10がデバイスリスト,パラメータ設定情報,およびテストベンチ組合せリストの入力を受け付ける場合を例にあげて説明したが、本発明はこれに限定されるものではなく、例えば図1に示すように本発明の第1変形例としての検証装置1´(検証シナリオ生成装置2´)の第1入力部10´が、デバイスリスト,パラメータ設定情報,およびテストベンチ組合せリストの他に、テストベンチ期待値リストの入力を受け付けるように構成してもよい。
ここで、テストベンチ期待値リストは、期待値照合機能を有するテストベンチ(例えば上記図10に示す型番“DSP0XXP”のテストベンチのtask名“task RD_VERIFY”)に係る期待値のリストである。
そして、図16の本第1変形例の検証装置1´の動作手順(つまり、本発明の第1変形例としての検証方法の動作手順)を示すフローチャート(ステップステップS10´,S11〜S13,S14´〜S17´,S18)に示すように、第1入力部10´がテストベンチ期待値リストの入力を受け付け(ステップS10´)、テストベンチ生成部12がテストベンチ生成(ステップS11)、のデータ組合せリスト生成部14´は、第1入力部10´によって入力を受け付けられた期待値リストをデータ組合せリストに含めてデータ組合せリストを生成する(ステップS12´)。
なお、図16におけるステップS10´,S11〜S13,S14´〜S16´が本第1変形例の検証シナリオ生成方法として機能するとともに、図16において既述の符号と同一の符号は既述の処理と同一もしくは略同一の処理を示しているので、ここではその詳細な説明は省略する。
より具体的には、上記ステップS12´において、データ組合せリスト生成部14´は、図17に示すごとく、期待値リストに基づいて、型番“DSP0XXP”のテストベンチのtask名“task RD_VERIFY”の信号(ここでは“信号3”欄)に期待値(図中“expected_data”と表記)のリストを含めたデータ組合せリスト14dを生成する。
そして、検証項目生成部15´はデータ組合せリスト14dに基づいて検証項目を生成し(ステップS15´)、シナリオ生成部16は型番“DSP0XXP”のテストベンチのtask名“task RD_VERIFY”に係るシナリオを、期待値を含めて生成し(ステップS16´)、検証部18が、task名“task RD_VERIFY”に係るシナリオについては、その期待値に基づいて期待値照合を行なう(ステップS17´)。
このように、本発明の第1変形例としての検証装置1´(検証シナリオ生成装置2´)および検証方法によれば、上述した実施形態と同様の作用効果を得ることができるとともに、第1入力部10´が期待値リストの入力を受け付けることにより、データ組合せリスト生成部14´が期待値を含むデータ組合せリスト14dを生成し、その結果シナリオ生成部16´が期待値を含むシナリオを生成し、これにより、検証部18´がかかる期待値を用いた期待値照合を実行する。したがって、オペレータは期待値リストを入力するだけで期待値照合を確実に実行できる。
〔2−2〕本発明の第2変形例について
また、上述した実施形態では、第1入力部10がデバイスリスト,パラメータ設定情報,およびテストベンチ組合せリストの入力を受け付ける場合を例にあげて説明したが、本発明はこれに限定されるものではなく、例えば図18に示すように本発明の第2変形例としての検証装置1´´(検証シナリオ生成装置2´´)が、検証部18によるシミュレーションの結果として出力されたカバレッジ結果をデータ組合せリスト生成部14´´および検証項目生成部15´に入力する第2入力部19をそなえて構成してもよい。
ここで、カバレッジ結果とは、検証対象回路のRTLのすべての行を通るシミュレーションを実行したか否かを示すもの、すなわち、検証対象回路のRTLに係るデータ疎通のすべてのパターンを網羅したシナリオ検証を実行できたか否かを示すとともに、RTLすべてを網羅できていなければ検証できなかったRTLの行(機能)を示すものである。
そして、図19の本第2変形例の検証装置1´´の動作手順(つまり、本発明の第2変形例としての検証方法の動作手順)を示すフローチャート(ステップS20〜S26)に示すように、まず、図15のフローチャートにおける上記ステップS10〜S17が実行されることによって検証部18がシナリオ検証のシミュレーション結果として得たカバレッジ結果を、第2入力部19が取得する(カバレッジ結果取得ステップ;ステップS20)。
次に、第2入力部19は取得したカバレッジ結果をデータ組合せリスト生成部14´´に入力し(ステップS21)、データ組合せリスト生成部14´´は、入力されたカバレッジ結果に基づいてデータ種類の組合せリストを再生成する(データ組合せリスト再生成ステップ;ステップS22)。
つまり、データ組合せリスト生成部14´´はカバレッジ結果に基づいて、前回のシナリオ検証で実行されなかった部分を検証するためのデータ組合せリストを再生成する。
続いて、第2入力部19はカバレッジ結果を検証項目生成部15´に入力し(ステップS23)、検証項目生成部15´は、入力されたカバレッジ結果に基づいて検証項目を再生成する(検証項目再生成ステップ;ステップS24)。
ここでは、検証項目生成部15´は、カバレッジ結果に基づいて、前回のシナリオ検証で実行されなかった部分を検証するための検証項目を再生成する。
そして、シナリオ生成部16が、シナリオテンプレートと、上記ステップS24において再生成された検証項目とに基づいて、カバレッジ結果に応じた、前回のシナリオ検証で検証できなかったRTLの行を検証するための検証シナリオを再生成する(検証シナリオ再生成ステップ;ステップS25)。
最後に、検証部18が、シナリオ生成部16が再生成した検証シナリオに基づいて検証対象回路の再検証を行なって(再検証ステップ;ステップS26)、処理を終了する。
このように本発明の第2変形例としての検証装置1´´(検証シナリオ生成装置2´´)および検証方法によれば、検証部18によるシミュレーションの結果として得られるカバレッジ結果に基づいて、データ組合せリスト生成部14´´がデータ組合せリストを再生成し、検証項目生成部15´が検証項目を再生成するとともに、これら再生成されたデータ組合せリストおよび検証項目に基づいてシナリオ生成部16がシナリオを再生成するので、前回のシミュレーションではシミュレーションできなかった部分のシミュレーションを実行できる検証シナリオを確実に生成することができる。
そして、検証部18が再生成されたカバレッジ結果に応じた検証シナリオを用いて検証対象回路の検証を行なうので、検証対象回路のRTLの検証漏れを確実に防ぐことができ、検証網羅性を向上でき、その結果、シミュレーションおよび検証の精度を向上できる。
〔2−3〕その他
なお、本発明において、第1入力部10,10´に入力を受け付けられるデバイスリストにおけるデバイスの種類や数、および、パラメータ設定情報の種類や数、並びに、テストベンチ組合せリストの数等は、限定されるものではなく、検証対象回路に応じて種々変更される。
なお、上述した第2変形例の検証装置1´´の第2入力部19は、検証部18のシミュレーション結果から自動的にカバレッジを取得する場合を例にあげて説明したが、本発明はこれに限定されるものではなく、例えば、第2入力部19が、第1入力部10と同様に、上記図2に示すキーボード32,マウス33,および演算部(入力制御部)34によって実現され、オペレータがシミュレーション結果を参照しながらカバレッジ結果を手作業で入力するように構成してもよい。
なお、上述した第1入力部10,10´,テストベンチ生成部12,シナリオテンプレート生成部13,データ組合せリスト生成部14,14´,14´´,検証項目生成部15,15´,シナリオ生成部16,16´,検証部18,18´,および第2入力部19としての機能は、コンピュータ(CPU,情報処理装置,各種端末を含む)が所定のアプリケーションプログラム(検証プログラムもしくは検証シナリオ生成プログラム)を実行することによって実現されてもよい。
それらプログラムは、例えばフレキシブルディスク,CD(CD−ROM,CD−R,CD−RWなど),DVD(DVD−ROM,DVD−RAM,DVD−R,DVD−RW,DVD+R,DVD+RWなど)等のコンピュータ読取可能な記録媒体に記録された形態で提供される。この場合、コンピュータはその記録媒体から検証プログラムもしくは検証シナリオ生成プログラムを読み取って内部記憶装置または外部記憶装置に転送し格納して用いる。また、それらプログラムを、例えば磁気ディスク,光ディスク,光磁気ディスク等の記憶装置(記録媒体)に記録しておき、その記憶装置から通信回線を介してコンピュータに提供するようにしてもよい。
ここで、コンピュータとは、ハードウェアとOS(オペレーティングシステム)とを含む概念であり、OSの制御の下で動作するハードウェアを意味している。また、OSが不要でアプリケーションプログラム単独でハードウェアを動作させるような場合には、そのハードウェア自体がコンピュータに相当する。ハードウェアは、少なくとも、CPU等のマイクロプロセッサと、記録媒体に記録されたコンピュータプログラムを読み取るための手段とをそなえている。
上記検証プログラムとしてのアプリケーションプログラムは、上述のようなコンピュータに、第1入力部10,10´,テストベンチ生成部12,シナリオテンプレート生成部13,データ組合せリスト生成部14,14´,14´´,検証項目生成部15,15´,シナリオ生成部16,16´,検証部18,18´,および第2入力部19としての機能を実現させるプログラムコードを含んでいる。また、その機能の一部は、アプリケーションプログラムではなくOSによって実現されてもよい。
また、上記検証シナリオ生成プログラムとしてのアプリケーションプログラムは、上述のようなコンピュータに、第1入力部10,10´,テストベンチ生成部12,シナリオテンプレート生成部13,データ組合せリスト生成部14,14´,14´´,検証項目生成部15,15´,シナリオ生成部16,16´,および第2入力部19としての機能を実現させるプログラムコードを含んでいる。また、その機能の一部は、アプリケーションプログラムではなくOSによって実現されてもよい。
なお、本実施形態としての記録媒体としては、上述したフレキシブルディスク,CD,DVD,磁気ディスク,光ディスク,光磁気ディスクのほか、ICカード,ROMカートリッジ,磁気テープ,パンチカード,コンピュータの内部記憶装置(RAMやROMなどのメモリ),外部記憶装置等や、バーコードなどの符号が印刷された印刷物等の、コンピュータ読取可能な種々の媒体を利用することもできる。
〔3〕付記
(付記1)
検証対象回路に接続されるデバイスを示すデバイスリスト,該デバイスのパラメータ設定情報,および該デバイスに対応するテストベンチの組合せリストの入力を受け付ける第1入力部と、
該テストベンチを保持するテストベンチライブラリと、
該第1入力部によって入力を受け付けられた該デバイスリストおよび該パラメータ設定情報に基づいて該テストベンチライブラリからテストベンチを読み出して検証用テストベンチを生成する検証用テストベンチ生成部と、
該検証用テストベンチ生成部によって生成された該検証用テストベンチの初期設定情報を記述されたシナリオテンプレートを生成するシナリオテンプレート生成部と、
該検証用テストベンチ生成部によって生成された該検証用テストベンチに係るデータ種類の組合せリストを生成するデータ組合せリスト生成部と、
該データ組合せリスト生成部によって生成された該データ種類の組合せリストと、該第1入力部によって入力を受け付けられた該テストベンチの組合せリストとに基づいて、検証項目を生成する検証項目生成部と、
該シナリオテンプレート生成部によって生成された該シナリオテンプレートと、該検証項目生成部によって生成された該検証項目とに基づいて検証シナリオを生成する検証シナリオ生成部とをそなえて構成されたことを特徴とする、検証シナリオ生成装置。
(付記2)
該検証用テストベンチ生成部は、該デバイスリストが示す該デバイスに対応するテストベンチを該テストベンチライブラリから読み出し、読み出したテストベンチのパラメータを該パラメータ設定情報に基づいて設定することにより、該検証用テストベンチを生成することを特徴とする、付記1記載の検証シナリオ生成装置。
(付記3)
該検証シナリオ生成部によって生成された該検証シナリオを用いたシミュレーション結果として出力されたカバレッジ結果を該データ組合せリスト生成部および該検証項目生成部に入力する第2入力部をそなえ、
該データ組合せリスト生成部が、該第2入力部によって入力された該カバレッジ結果に基づいて該データ種類の組合せリストを再生成し、
該検証項目生成部が、該第2入力部によって入力された該カバレッジ結果に基づいて該検証項目を再生成し、
該検証シナリオ生成部が、該データ組合せリスト生成部によって再生成された該データ種類の組合せリストと、該検証項目生成部によって再生成された該検証項目とに基づいて、該カバレッジ結果に応じた検証シナリオを再生成することを特徴とする、付記1または付記2記載の検証シナリオ生成装置。
(付記4)
該第1入力部が、テストベンチの期待値リストの入力を受け付け、
該データ組合せリスト生成部が、該第1入力部によって入力を受け付けられた該期待値リストを該データ種類の組合せリストに含めることを特徴とする、付記1〜3のいずれか1項に記載の検証シナリオ生成装置。
(付記5)
該テストベンチライブラリが、該テストベンチのプロトコルのアサーション群を保持するように構成され、
該第1入力部によって入力を受け付けられた該デバイスリストおよび該パラメータ設定情報に基づいて該テストベンチライブラリからアサーション群を読み出して、該検証用テストベンチに対応するアサーション群を生成するアサーション群生成部をそなえて構成されていることを特徴とする、付記1〜4のいずれか1項に記載の検証シナリオ生成装置。
(付記6)
外部から入力された、検証対象回路に接続されるデバイスを示すデバイスリストおよび該デバイスのパラメータ設定情報に基づいて、該テストベンチを保持するテストベンチライブラリからテストベンチを読み出して検証用テストベンチを生成する検証用テストベンチ生成ステップと、
該検証用テストベンチ生成ステップにおいて生成された該検証用テストベンチの初期設定情報を記述されたシナリオテンプレートを生成するシナリオテンプレート生成ステップと、
該検証用テストベンチ生成ステップにおいて生成された該検証用テストベンチに係るデータ種類の組合せリストを生成するデータ組合せリスト生成ステップと、
該データ組合せリスト生成ステップにおいて生成された該データ種類の組合せリストと、外部から入力された該デバイスに対応するテストベンチの組合せリストとに基づいて、検証項目を生成する検証項目生成ステップと、
該シナリオテンプレート生成ステップにおいて生成された該シナリオテンプレートと、該検証項目生成ステップにおいて生成された該検証項目とに基づいて検証シナリオを生成する検証シナリオ生成ステップとを含んでいることを特徴とする、検証シナリオ生成方法。
(付記7)
該検証用テストベンチ生成ステップにおいて、該デバイスリストが示す該デバイスに対応するテストベンチが該テストベンチライブラリから読み出され、読み出されたテストベンチのパラメータが該パラメータ設定情報に基づいて設定されることにより、該検証用テストベンチが生成されることを特徴とする、付記6記載の検証シナリオ生成方法。
(付記8)
該検証シナリオ生成ステップにおいて生成された該検証シナリオを用いたシミュレーション結果として出力されたカバレッジ結果を取得するカバレッジ結果取得ステップと、
該カバレッジ結果取得ステップにおいて取得された該カバレッジ結果に基づいて該データ種類の組合せリストを再生成するデータ組合せリスト再生成ステップと、
該カバレッジ結果取得ステップにおいて取得された該カバレッジ結果に基づいて該検証項目を再生成する検証項目再生成ステップと、
該データ組合せリスト再生成部において再生成された該データ種類の組合せリストと、該検証項目再生成ステップにおいて再生成された該検証項目とに基づいて、該カバレッジ結果に応じた検証シナリオを再生成する検証シナリオ再生成ステップとを含んでいることを特徴とする、付記6または付記7記載の検証シナリオ生成方法。
(付記9)
該データ組合せリスト生成ステップにおいて、外部から入力されたテストベンチの期待値リストが該データ種類の組合せリストに含められることを特徴とする、付記6〜8のいずれか1項に記載の検証シナリオ生成方法。
(付記10)
外部から入力された該デバイスリストおよび該パラメータ設定情報に基づいて、該テストベンチライブラリから該テストベンチのプロトコルのアサーション群を読み出して、該検証用テストベンチに対応するアサーション群を生成するアサーション群生成ステップを含んでいることを特徴とする、付記6〜9のいずれか1項に記載の検証シナリオ生成方法。
(付記11)
検証対象回路の検証シナリオを生成する機能をコンピュータに実現させるための検証シナリオ生成プログラムであって、
該検証対象回路に接続されるデバイスを示すデバイスリスト,該デバイスのパラメータ設定情報,および該デバイスに対応するテストベンチの組合せリストの入力を受け付ける第1入力部、
該第1入力部によって入力を受け付けられた該デバイスリストおよび該パラメータ設定情報に基づいてテストベンチライブラリからテストベンチを読み出して検証用テストベンチを生成する検証用テストベンチ生成部、
該検証用テストベンチ生成部によって生成された該検証用テストベンチの初期設定情報を記述されたシナリオテンプレートを生成するシナリオテンプレート生成部、
該検証用テストベンチ生成部によって生成された該検証用テストベンチに係るデータ種類の組合せリストを生成するデータ組合せリスト生成部、
該データ組合せリスト生成部によって生成された該データ種類の組合せリストと、該第1入力部によって入力を受け付けられた該テストベンチの組合せリストとに基づいて、検証項目を生成する検証項目生成部、および
該シナリオテンプレート生成部によって生成された該シナリオテンプレートと、該検証項目生成部によって生成された該検証項目とに基づいて該検証シナリオを生成する検証シナリオ生成部として、前記コンピュータを機能させることを特徴とする、検証シナリオ生成プログラム。
(付記12)
該検証用テストベンチ生成部が、該デバイスリストが示す該デバイスに対応するテストベンチを該テストベンチライブラリから読み出し、読み出したテストベンチのパラメータを該パラメータ設定情報に基づいて設定することにより、該検証用テストベンチを生成するように、該コンピュータを機能させることを特徴とする、付記11記載の検証シナリオ生成プログラム。
(付記13)
該検証シナリオ生成部によって生成された該検証シナリオを用いたシミュレーション結果として出力されたカバレッジ結果を該データ組合せリスト生成部および該検証項目生成部に入力する第2入力部として前記コンピュータを機能させるとともに、
該データ組合せリスト生成部が、該第2入力部によって入力された該カバレッジ結果に基づいて該データ種類の組合せリストを再生成し、
該検証項目生成部が、該第2入力部によって入力された該カバレッジ結果に基づいて該検証項目を再生成し、
該検証シナリオ生成部が、該データ組合せリスト生成部によって再生成された該データ種類の組合せリストと、該検証項目生成部によって再生成された該検証項目とに基づいて、該カバレッジ結果に応じた検証シナリオを再生成するように、該コンピュータを機能させることを特徴とする、付記11または付記12記載の検証シナリオ生成プログラム。
(付記14)
該第1入力部が、テストベンチの期待値リストの入力を受け付け、
該データ組合せリスト生成部が、該第1入力部によって入力を受け付けられた該期待値リストを該データ種類の組合せリストに含めるように、前記コンピュータを機能させることを特徴とする、付記11〜13のいずれか1項に記載の検証シナリオ生成プログラム。
(付記15)
該第1入力部によって入力を受け付けられた該デバイスリストおよび該パラメータ設定情報に基づいて該テストベンチライブラリから該テストベンチのプロトコルのアサーション群を読み出して、該検証用テストベンチに対応するアサーション群を生成するアサーション群生成部として、該コンピュータを機能させることを特徴とする、付記11〜14のいずれか1項に記載の検証シナリオ生成プログラム。
(付記16)
検証対象回路に接続されるデバイスを示すデバイスリスト,該デバイスのパラメータ設定情報,および該デバイスに対応するテストベンチの組合せリストの入力を受け付ける第1入力部と、
該テストベンチを保持するテストベンチライブラリと、
該第1入力部によって入力を受け付けられた該デバイスリストおよび該パラメータ設定情報に基づいて該テストベンチライブラリからテストベンチを読み出して検証用テストベンチを生成する検証用テストベンチ生成部と、
該検証用テストベンチ生成部によって生成された該検証用テストベンチの初期設定情報を記述されたシナリオテンプレートを生成するシナリオテンプレート生成部と、
該検証用テストベンチ生成部によって生成された該検証用テストベンチに係るデータ種類の組合せリストを生成するデータ組合せリスト生成部と、
該データ組合せリスト生成部によって生成された該データ種類の組合せリストと、該第1入力部によって入力を受け付けられた該テストベンチの組合せリストとに基づいて、検証項目を生成する検証項目生成部と、
該シナリオテンプレート生成部によって生成された該シナリオテンプレートと、該検証項目生成部によって生成された該検証項目とに基づいて検証シナリオを生成する検証シナリオ生成部と、
該検証シナリオ生成部によって生成された該検証シナリオに基づいて該検証対象回路の検証を行なう検証部とをそなえて構成されたことを特徴とする、検証装置。
(付記17)
該検証用テストベンチ生成部は、該デバイスリストが示す該デバイスに対応するテストベンチを該テストベンチライブラリから読み出し、読み出したテストベンチのパラメータを該パラメータ設定情報に基づいて設定することにより、該検証用テストベンチを生成することを特徴とする、付記16記載の検証装置。
(付記18)
該検証シナリオ生成部によって生成された該検証シナリオを用いたシミュレーション結果として出力されたカバレッジ結果を該データ組合せリスト生成部および該検証項目生成部に入力する第2入力部をそなえ、
該データ組合せリスト生成部が、該第2入力部によって入力された該カバレッジ結果に基づいて該データ種類の組合せリストを再生成し、
該検証項目生成部が、該第2入力部によって入力された該カバレッジ結果に基づいて該検証項目を再生成し、
該検証シナリオ生成部が、該データ組合せリスト生成部によって再生成された該データ種類の組合せリストと、該検証項目生成部によって再生成された該検証項目とに基づいて、該カバレッジ結果に応じた検証シナリオを再生成することを特徴とする、付記16または付記17記載の検証装置。
(付記19)
該第1入力部が、テストベンチの期待値リストの入力を受け付け、
該データ組合せリスト生成部が、該第1入力部によって入力を受け付けられた該期待値リストを該データ種類の組合せリストに含め、
該検証部が、該検証の際に該期待値リストに基づく期待値照合を行なうことを特徴とする、付記16〜18のいずれか1項に記載の検証装置。
(付記20)
該テストベンチライブラリが、該テストベンチのプロトコルのアサーション群を保持するように構成され、
該第1入力部によって入力を受け付けられた該デバイスリストおよび該パラメータ設定情報に基づいて該テストベンチライブラリからアサーション群を読み出して、該検証用テストベンチに対応するアサーション群を生成するアサーション群生成部と、
該アサーション群生成部によって生成された該アサーション群を用いてアサーション検証を行なうアサーション検証部とをそなえて構成されていることを特徴とする、付記16〜19のいずれか1項に記載の検証装置。
本発明の一実施形態としての検証装置の構成を示すブロック図である。 本発明の一実施形態としての検証装置が実現されるコンピュータの構成例を示すブロック図である。 本発明の一実施形態としての検証装置による論理検証が適用される、集積回路の製造方法の処理手順を示すフローチャートである。 本発明の一実施形態としての検証装置による論理検証を説明するための図である。 本発明の一実施形態としての検証装置によって生成される情報の一例を説明するための図である。 本発明の一実施形態としての検証装置のテストベンチライブラリが保持するテストベンチの一例を示す図である。 本発明の一実施形態としての検証装置のテストベンチ生成部によって生成されたテストベンチの一例を示す図である。 本発明の一実施形態としての検証装置のシナリオテンプレート生成部によって生成されたシナリオテンプレートの一例を示す図である。 本発明の一実施形態としての検証装置のデータ組合せリスト生成部によって生成されたデータ組合せリスト用のリストの一例を示す図である。 本発明の一実施形態としての検証装置のデータ組合せリスト生成部によって生成されたデータ組合せリスト用のリストの一例を示す図である。 本発明の一実施形態としての検証装置のデータ組合せリスト生成部によって生成されたデータ組合せリストの一例を示す図である。 本発明の一実施形態としての検証装置の第1入力部によって入力を受け付けられたテストベンチ組合せリストの一例を示す図である。 本発明の一実施形態としての検証装置の検証項目生成部によって生成された検証項目の一例を示す図である。 本発明の一実施形態としての検証装置のシナリオ生成部によって生成されたシナリオの一例を示す図である。 本発明の一実施形態としての検証方法の動作手順を示すフローチャートである。 本発明の第1変形例としての検証装置の動作手順を示すフローチャートである。 本発明の第1変形例としての検証装置のデータ組合せリスト生成部によって生成されたデータ組合せリストの一例を示す図である。 本発明の第2変形例としての検証装置の構成を示すブロック図である。 本発明の第2変形例としての検証装置におけるカバレッジ結果に係る動作の手順を示すフローチャートである。 従来の集積回路の検証システムを説明するための図である。
符号の説明
1,1´,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. 該検証用テストベンチ生成部は、該デバイスリストが示す該デバイスに対応するテストベンチを該テストベンチライブラリから読み出し、読み出したテストベンチのパラメータを該パラメータ設定情報に基づいて設定することにより、該検証用テストベンチを生成することを特徴とする、請求項1記載の検証シナリオ生成装置。
  3. 該検証シナリオ生成部によって生成された該検証シナリオを用いたシミュレーション結果として出力されたカバレッジ結果を該データ組合せリスト生成部および該検証項目生成部に入力する第2入力部をそなえ、
    該データ組合せリスト生成部が、該第2入力部によって入力された該カバレッジ結果に基づいて該データ種類の組合せリストを再生成し、
    該検証項目生成部が、該第2入力部によって入力された該カバレッジ結果に基づいて該検証項目を再生成し、
    該検証シナリオ生成部が、該データ組合せリスト生成部によって再生成された該データ種類の組合せリストと、該検証項目生成部によって再生成された該検証項目とに基づいて、該カバレッジ結果に応じた検証シナリオを再生成することを特徴とする、請求項1または請求項2記載の検証シナリオ生成装置。
  4. 該第1入力部が、テストベンチの期待値リストの入力を受け付け、
    該データ組合せリスト生成部が、該第1入力部によって入力を受け付けられた該期待値リストを該データ種類の組合せリストに含めることを特徴とする、請求項1〜3のいずれか1項に記載の検証シナリオ生成装置。
  5. 該テストベンチライブラリが、該テストベンチのプロトコルのアサーション群を保持するように構成され、
    該第1入力部によって入力を受け付けられた該デバイスリストおよび該パラメータ設定情報に基づいて該テストベンチライブラリからアサーション群を読み出して、該検証用テストベンチに対応するアサーション群を生成するアサーション群生成部をそなえて構成されていることを特徴とする、請求項1〜4のいずれか1項に記載の検証シナリオ生成装置。
  6. コンピュータが、外部から入力された、検証対象回路に接続されるデバイスを示すデバイスリストおよび該デバイスのパラメータ設定情報に基づいて、該テストベンチを保持するテストベンチライブラリからテストベンチを読み出して検証用テストベンチを生成する検証用テストベンチ生成ステップと、
    前記コンピュータが、該検証用テストベンチ生成ステップにおいて生成された該検証用テストベンチの初期設定情報を記述されたシナリオテンプレートを生成するシナリオテンプレート生成ステップと、
    前記コンピュータが、該検証用テストベンチ生成ステップにおいて生成された該検証用テストベンチに係るデータ種類の組合せリストを生成するデータ組合せリスト生成ステップと、
    前記コンピュータが、該データ組合せリスト生成ステップにおいて生成された該データ種類の組合せリストと、外部から入力された該デバイスに対応するテストベンチの組合せリストとに基づいて、検証項目を生成する検証項目生成ステップと、
    前記コンピュータが、該シナリオテンプレート生成ステップにおいて生成された該シナリオテンプレートと、該検証項目生成ステップにおいて生成された該検証項目とに基づいて検証シナリオを生成する検証シナリオ生成ステップとを含んでいることを特徴とする、検証シナリオ生成方法。
  7. 検証対象回路の検証シナリオを生成する機能をコンピュータに実現させるための検証シナリオ生成プログラムであって、
    該検証対象回路に接続されるデバイスを示すデバイスリスト,該デバイスのパラメータ設定情報,および該デバイスに対応するテストベンチの組合せリストの入力を受け付ける第1入力部、
    該第1入力部によって入力を受け付けられた該デバイスリストおよび該パラメータ設定情報に基づいてテストベンチライブラリからテストベンチを読み出して検証用テストベンチを生成する検証用テストベンチ生成部、
    該検証用テストベンチ生成部によって生成された該検証用テストベンチの初期設定情報を記述されたシナリオテンプレートを生成するシナリオテンプレート生成部、
    該検証用テストベンチ生成部によって生成された該検証用テストベンチに係るデータ種類の組合せリストを生成するデータ組合せリスト生成部、
    該データ組合せリスト生成部によって生成された該データ種類の組合せリストと、該第1入力部によって入力を受け付けられた該テストベンチの組合せリストとに基づいて、検証項目を生成する検証項目生成部、および
    該シナリオテンプレート生成部によって生成された該シナリオテンプレートと、該検証項目生成部によって生成された該検証項目とに基づいて該検証シナリオを生成する検証シナリオ生成部として、前記コンピュータを機能させることを特徴とする、検証シナリオ生成プログラム。
  8. 検証対象回路に接続されるデバイスを示すデバイスリスト,該デバイスのパラメータ設定情報,および該デバイスに対応するテストベンチの組合せリストの入力を受け付ける第1入力部と、
    該テストベンチを保持するテストベンチライブラリと、
    該第1入力部によって入力を受け付けられた該デバイスリストおよび該パラメータ設定情報に基づいて該テストベンチライブラリからテストベンチを読み出して検証用テストベンチを生成する検証用テストベンチ生成部と、
    該検証用テストベンチ生成部によって生成された該検証用テストベンチの初期設定情報を記述されたシナリオテンプレートを生成するシナリオテンプレート生成部と、
    該検証用テストベンチ生成部によって生成された該検証用テストベンチに係るデータ種類の組合せリストを生成するデータ組合せリスト生成部と、
    該データ組合せリスト生成部によって生成された該データ種類の組合せリストと、該第1入力部によって入力を受け付けられた該テストベンチの組合せリストとに基づいて、検証項目を生成する検証項目生成部と、
    該シナリオテンプレート生成部によって生成された該シナリオテンプレートと、該検証項目生成部によって生成された該検証項目とに基づいて検証シナリオを生成する検証シナリオ生成部と、
    該検証シナリオ生成部によって生成された該検証シナリオに基づいて該検証対象回路の検証を行なう検証部とをそなえて構成されたことを特徴とする、検証装置。
JP2007043839A 2007-02-23 2007-02-23 検証シナリオ生成装置,方法,およびプログラム,並びに検証装置 Expired - Fee Related JP4850091B2 (ja)

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)

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

* Cited by examiner, † Cited by third party
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 検証環境作成装置及びその処理方法

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