JP2009230441A - 検証システム、装置及び方法 - Google Patents

検証システム、装置及び方法 Download PDF

Info

Publication number
JP2009230441A
JP2009230441A JP2008074682A JP2008074682A JP2009230441A JP 2009230441 A JP2009230441 A JP 2009230441A JP 2008074682 A JP2008074682 A JP 2008074682A JP 2008074682 A JP2008074682 A JP 2008074682A JP 2009230441 A JP2009230441 A JP 2009230441A
Authority
JP
Japan
Prior art keywords
simulation
rtl
verification
level simulation
verification period
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
Application number
JP2008074682A
Other languages
English (en)
Inventor
So Yamauchi
宗 山内
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.)
NEC Corp
Original Assignee
NEC Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by NEC Corp filed Critical NEC Corp
Priority to JP2008074682A priority Critical patent/JP2009230441A/ja
Publication of JP2009230441A publication Critical patent/JP2009230441A/ja
Pending legal-status Critical Current

Links

Images

Abstract

【課題】動作レベルシミュレーションの結果とRTLシミュレーションの結果とが一致することを高速に検証する検証システムを提供する。
【解決手段】動作レベルシミュレーション制御部220は、データ入力装置100を介して動作レベルシミュレーションモデル、動作レベルテストパタン及びRTL記述を取得し、動作レベルシミュレーション実行部210に動作レベルシミュレーションを実行させる。そして、任意の検証期間毎に動作レベルシミュレーションの結果と内部状態とを読み出し、記憶装置300に分けて記憶させる。次に、検証期間毎に分けて記憶された内部状態を初期値とし、同じく検証期間毎に用いられるよう生成されたテストパタンを用いて、RTLシミュレーション実行部250がRTLシミュレーションを検証期間毎に並列に実行する。期待値照合部270は、動作レベルのシミュレーション結果を期待値として、RTLシミュレーションの結果と期待値との照合を実行する。
【選択図】図3

Description

本発明は、動作レベルのモデルとレジスタ転送レベルの回路の動作の一致の検証を高速化する検証システム、装置及び方法に関する。
システムLSi(大規模集積回路)は、その大規模化に伴い、その設計、検証が抽象度の高いレベルで行われることが一般的になりつつある。設計対象であるシステムLSiの動作をC/C++言語などの手続き型言語で記述したデータ(動作記述)を用いて設計対象の動作を時間の概念を用いずに検証する動作レベルや、クロックサイクルの概念までは意識して検証を行うサイクル精度レベルなど、抽象度の高いレベルでのシミュレーションを行う手法は、大規模なシステムLSiの機能を高速に検証する手法であるといえる。
一方、動作記述に基づいて、動作記述より抽象度の低いレジスタトランスファーレベルの記述(RTL記述)を自動生成する動作合成ツールも徐々に広まりつつある。RTL記述は、動作記述が表す動作を実現するハードウェアの構成を記述するデータである。
動作レベルなど、抽象度の高いレベルで設計対象の動作のシミュレーションを行った後で、その結果を、抽象度が低いRTL記述へと反映させていく作業は、このような動作合成ツール、または人手作業に頼ることになる。その場合、動作合成ツールの不具合や、人手作業による誤りの心配があるために、RTLで再度シミュレーションを行うことが多い。
特開2002−358342号公報 特開2004−145712号公報 特開2005−043117号公報 特開2005−172549号公報
しかし、動作合成ツールまたは人手作業によって生成されたRTL記述が正しいかどうかを検証するために行うRTLシミュレーションは、動作レベルシミュレーションと比較して、膨大な時間を要するという問題があった。
本発明の目的は、上記のような問題点を除去して、動作レベルシミュレーションの結果とRTLシミュレーションの結果とが一致することを高速に検証するための検証システム、装置及び方法を提供することである。
上記目的を達するため、本発明の第1の観点に係る検証システムは、
検証対象であるハードウェアの動作レベルシミュレーションを、所定のテストパタンが与えられたとの条件の下で実行し、所定の時間長を有する検証期間毎に前記テストパタンを分割するデータ処理手段と、
前記検証期間毎に、当該検証期間の開始時の動作レベルシミュレーションモデルの内部状態を記憶し、当該検証期間毎に、当該検証期間の動作レベルシミュレーション結果を表すデータを記憶する記憶手段と、を備え、
前記データ処理手段は、記憶された内部状態及び分割された前記テストパタンを用いてRTL(レジスタトランスファーレベル)シミュレーションを実行する処理と、前記動作レベルシミュレーションの結果を期待値として、当該期待値と当該RTLシミュレーションの結果とを照合し、照合結果を表すデータを生成する処理とを、各検証期間単位で並列実行する、
ことを特徴とする。
また、本発明の第2の観点に係る検証装置は、
検証対象であるハードウェアの動作レベルシミュレーションを、所定のテストパタンが与えられたとの条件の下で実行し、所定の時間長を有する検証期間毎に前記テストパタンを分割する動作レベルシミュレーション手段と、
前記動作レベルシミュレーションモデルの内部状態及び分割された前記テストパタンを用いてRTL(レジスタトランスファーレベル)シミュレーションを実行する処理と、前記動作レベルシミュレーションの結果を期待値として、当該期待値と当該RTLシミュレーションの結果とを照合し、照合結果を表すデータを生成する処理とを、各検証期間単位で並列実行するRTLシミュレーション手段と、
より構成されていることを特徴とする。
また、本発明の第3の観点に係る検証方法は、
検証対象であるハードウェアの動作レベルシミュレーションを、所定のテストパタンが与えられたとの条件の下で実行し、所定の時間長を有する検証期間毎に前記テストパタンを分割し、
前記検証期間毎に、当該検証期間の開始時の動作レベルシミュレーションモデルの内部状態を記憶し、当該検証期間毎に、当該検証期間の動作レベルシミュレーション結果を表すデータを記憶し、
記憶された内部状態及び分割された前記テストパタンを用いてRTL(レジスタトランスファーレベル)シミュレーションを実行する処理と、前記動作レベルシミュレーションの結果を期待値として、当該期待値と当該RTLシミュレーションの結果とを照合し、照合結果を表すデータを生成する処理とを、各検証期間単位で並列実行する、
ことを特徴とする。
本発明によれば、動作レベルシミュレーションの結果とRTLシミュレーションの結果との照合を高速に並列処理することが可能になるという効果が生じる。これによって、大規模なシステムLSiの検証を抽象度の高い動作レベルで行うことにより検証時間を短縮すると共に、動作レベルでの検証結果に基づいて行うRTL記述の検証をも高速化することが可能になり、設計フロー全体の検証時間が大幅に短縮される。
次に、本発明を実施するための最良の形態を、図面を参照して詳細に説明する。
(第1の実施の形態)
本発明の第1の実施の形態に係るシステムは、例えば図1に示すように、データ処理装置200と、これに接続された記憶装置300から構成されている。
データ処理装置200は、例えばCPU(Central Processing Unit)などのプロセッサと、RAM(Random Access Memory)など、プロセッサのワークエリアを提供するためのメモリとから構成されている。
記憶装置300は、例えばハードディスク装置などの不揮発性メモリより構成されている。
次に、図1のシステムの動作を、図2を参照して説明する。
まず、データ処理装置200は、動作レベルシミュレーションモデルを記述するデータと、動作レベルシミュレーション用のパタン(テストパタン)と、当該動作レベルシミュレーションモデルの内部状態の対応情報を外部より取得する(図2、ステップA1)。
動作レベルシミュレーションモデルは、シミュレーションの対象であるハードウェア(LSi等)の動作を記述したデータ(動作記述)からなるものである。動作レベルシミュレーションモデルの記述には、例えばCあるいはC++等のプログラミング言語が用いられる。
また、動作レベルシミュレーション用のパタンは、動作レベルでのシミュレーションを行うに際して、シミュレーションの対象であるハードウェアへ供給すると想定する入力信号の波形ないし状態遷移等の条件を記述するデータである。
なお、動作レベルシミュレーション用のパタンは、動作レベルでのシミュレーションの対象である一定の期間について上記の条件を記述するものである。この期間は、連続する複数の検証期間からなっており、後述するように本システムは、それぞれの検証期間についてさらにRTLシミュレーションを行うものである。
また、動作レベルシミュレーションモデルの内部状態の対応情報とは、当該動作レベルシミュレーションモデルを構成するそれぞれの変数がRTL記述(シミュレーションの対象であるハードウェアの、レジスタトランスファーレベルにおける記述)を構成するどのレジスタの値に対応するか、また、当該動作レベルシミュレーションモデルの内部状態が、RTL記述におけるどのような内部状態に対応するか、を示す情報である。
これらのデータを取得したデータ処理装置200は、取得した動作レベルシミュレーションモデルが表すハードウェアについて、取得したパタンに従った入力信号等が与えられたとの条件の下で、動作レベルでのシミュレーションを実行する。
そして、動作レベルでのシミュレーションが1個の検証期間について終了する毎に、データ処理装置200は、当該検証期間の終了時点における動作レベルシミュレーションモデルの内部状態を表すデータを、あらかじめ取得した対応情報に基づき、これに対応するRTL記述の内部状態を示すデータへと変換し、記憶装置300に記録する(ステップA2)。
なお、動作レベルシミュレーションモデルの内部状態は、たとえば当該モデルを構成する各パラメータの値ないし状態により定義される。(具体的には、例えば動作レベルシミュレーションモデルの各ノードの電圧及び電流などの値による。)
また、ステップA2でデータ処理装置200は、動作レベルでのシミュレーションが1個の検証期間について終了する毎に、その検証期間における動作レベルでのシミュレーション結果を、その検証期間についてのRTLシミュレーションの結果の期待値であるものとして記憶装置300へ記録する。
一方、ステップA3で、データ処理装置200は、動作レベルシミュレーション用のテストパタンを検証期間単位で切り分けることにより、RTLシミュレーション用のテストパタン(RTLテストパタン)を生成する。そして、得られたRTLテストパタンを記憶装置300へ記録する。
次に、データ処理装置200は、ステップA2で動作レベルでのシミュレーションの対象としたハードウェアのRTL記述を取得する(ステップA4)。ただし、RTL記述はステップA2より前の段階、たとえばステップA1の段階で取得していてもよい。
そして、ステップA4でデータ処理装置200は、記憶装置300より、各検証期間で用いるRTLテストパタンと、各検証期間について動作レベルシミュレーションモデルの内部状態を表すデータとを取り出し、これらのデータに基づいて、それぞれの検証期間につき、RTLシミュレーションを実行する。
なお、データ処理装置200は、検証期間単位で複数のRTLシミュレーションを独立に実行可能に構成されており、複数のRTLシミュレーションを並列に実行する。
また、1個の検証期間の終了時点における動作レベルシミュレーションモデルの内部状態は、RTLシミュレーションにおいて、その検証期間に後続する検証期間についてのRTLシミュレーションの初期値として用いる。
データ処理装置200は、それぞれの検証期間について、シミュレーションの実行が完了すると、シミュレーションの実行結果を表すデータを記憶装置300へ記録する。
次に、データ処理装置200は、検証期間毎のRTLシミュレーションの結果を表すデータと、検証期間毎のRTLシミュレーション結果の期待値とを読み出す。そして、読み出した結果とその期待値との照合を行う(ステップA5)。すなわち、RTLシミュレーションの結果とその期待値との異同を検証期間毎に判別する。そして、照合の結果を表すデータを生成し、出力する。
(第2の実施の形態)
本発明の第2の実施の形態に係るシステムは、例えば図3に示すように、データ入力装置100と、データ処理装置200と、記憶装置300と、出力装置400とから構成されている。データ処理装置200は、データ入力装置100、記憶装置300及び出力装置400に接続されている。
データ入力装置100は、例えば図3に示すように、動作レベルシミュレーションモデル入力装置110と、動作レベルテストパタン入力装置120と、RTL(レジスタトランスファーレベル)記述入力装置130と、内部状態対応情報入力装置140とより構成されている。
動作レベルシミュレーションモデル入力装置110、動作レベルテストパタン入力装置120、RTL記述入力装置130及び内部状態対応情報入力装置140はそれぞれ、例えばハードディスク装置やCD−ROM(Compact Disc-Read Only Memory)等の記録媒体からデータを読みとってデータ出力装置200へと供給する記録媒体ドライブ装置、外部からデータを取得してデータ出力装置200へと供給するUSB(Universal Serial Bus)等のインターフェース回路、あるいは、操作者の操作に従ったデータをデータ出力装置200へと供給するキーボード等からなる入力デバイスから構成されている。
本実施形態のデータ処理装置200は、例えば図3に示すように、動作レベルシミュレーション実行部210と、動作レベルシミュレーション制御部220と、期待値処理部230と、RTLテストパタン生成部240と、RTLシミュレーション実行部250と、RTLシミュレーション制御部260と、期待値照合部270とを含む。
動作レベルシミュレーション実行部210、動作レベルシミュレーション制御部220、期待値処理部230、RTLテストパタン生成部240、RTLシミュレーション実行部250と、RTLシミュレーション制御部260及び期待値照合部270はそれぞれ、例えばプロセッサと、プロセッサのワークエリアを提供するためのメモリとから構成されている。(なお、1個のプロセッサあるいは1個のメモリが、動作レベルシミュレーション実行部210、動作レベルシミュレーション制御部220、期待値処理部230、RTLテストパタン生成部240、RTLシミュレーション実行部250と、RTLシミュレーション制御部260及び期待値照合部270のうち2個以上の機能を行う構成をとることは差し支えない。)
本実施形態の記憶装置300は、図3に示すように、期待値記憶部310と、内部状態記憶部320と、RTLテストパタン記憶部330と、RTLシミュレーション結果記憶部340とを含む。
期待値記憶部310、内部状態記憶部320、RTLテストパタン記憶部330及びRTLシミュレーション結果記憶部340はそれぞれ、例えばハードディスク装置などの不揮発性メモリより構成されている。(なお、1個の不揮発性メモリが、期待値記憶部310、内部状態記憶部320、RTLテストパタン記憶部330及びRTLシミュレーション結果記憶部340のうち2個以上の機能を行う構成をとることは差し支えない。)
出力装置400は、例えば、データ処理装置200から供給されたデータを記録媒体に記録する記録媒体ドライブ装置や、USB等のインターフェース回路、あるいは、液晶ディスプレイ等の表示デバイスから構成されている。
次に、図4を参照して、図3の構成の動作を説明する。
まず、動作レベルシミュレーション制御部220は、動作レベルシミュレーションモデル入力装置110を介して、動作レベルシミュレーションモデルを記述するデータを取得する(図4、ステップA1)。
また、ステップA1において動作レベルシミュレーション制御部220は、動作レベルテストパタン入力装置120を介して動作レベルシミュレーション用のパタン(テストパタン)を取得し、動作レベルシミュレーション実行部210に供給する。
動作レベルシミュレーション実行部210は、自己に供給された動作レベルシミュレーションモデルが表すハードウェアについて、自己に供給されたパタンに従った入力信号等が与えられたとの条件の下で、動作レベルでのシミュレーションを実行する。
そして、動作レベルでのシミュレーションが1個の検証期間について終了する毎に、動作レベルシミュレーション制御部220は、以下述べる(a)〜(c)の動作を行う(ステップA2)。
(a) 動作レベルシミュレーション実行部210から、動作レベルシミュレーションモデルの、当該検証期間の終了時点における内部状態を表すデータを読み出す。なお、動作レベルシミュレーションモデルの内部状態は、当該モデルを構成する各変数の値ないし状態により定義される。(具体的には、例えば動作レベルシミュレーションモデルの各ノードの電圧及び電流などの値による。)
(b) 当該動作レベルシミュレーションモデルの内部状態の対応情報を取得する。ただし、内部状態の対応情報は、ステップA2より前の段階で取得してもよい。
(c) 取得した対応情報に基づき、動作レベルシミュレーションモデルの内部状態を示すデータを、これに対応するRTL記述の内部状態を示すデータへと変換し、変換により得られたこのデータを内部状態記憶部320に記録する。
また、ステップA2では、期待値処理部230が、動作レベルでのシミュレーションが1個の検証期間について終了する毎に、その検証期間における動作レベルでのシミュレーション結果として動作レベルシミュレーション実行部210から読み出されたデータを、その検証期間についてのRTLシミュレーションの結果の期待値を示すデータとして、期待値記憶部310へ記録する。
一方、ステップA3で、RTLテストパタン生成部240は、動作レベルシミュレーション用のテストパタンを検証期間単位で切り分けることにより、RTLテストパタンを生成する。そして、得られたRTLテストパタンをRTLテストパタン記憶部330へ記録する。
次に、RTLシミュレーション制御部260は、RTL記述入力装置130を介して、ステップA2で動作レベルでのシミュレーションの対象としたハードウェアのRTL記述を取得する(ステップA4)。
また、ステップA4でRTLシミュレーション制御部260は、RTLテストパタン記憶部330より各検証期間で用いるRTLテストパタンを取り出し、内部状態記憶部320からは、各検証期間について動作レベルシミュレーションの結果である内部状態を表すデータを取り出す。そして、これらのデータをRTLシミュレーション実行部250へ与える。1個の検証期間の終了時点における動作レベルシミュレーションモデルの内部状態は、その検証期間に後続する検証期間についてのRTLシミュレーションの初期値として、RTLシミュレーションで用いられるものである。
RTLシミュレーション実行部250は、与えられたデータに基づいて、それぞれの検証期間につき、RTLシミュレーションを実行する。なお、RTLシミュレーション実行部250は、検証期間単位で複数のRTLシミュレーションを独立に実行可能に構成されており、複数のRTLシミュレーションを並列に実行する。
RTLシミュレーション実行部250は、それぞれの検証期間について、シミュレーションの実行が完了すると、シミュレーションの実行結果を表すデータをRTLシミュレーション結果記憶部340へ記録する。
次に、期待値照合部270は、検証期間毎のRTLシミュレーションの結果を表すデータをRTLシミュレーション結果記憶部340から読み出し、また、期待値記憶部310から検証期間毎のRTLシミュレーション結果の期待値を読み出す。そして、読み出した結果とその期待値との照合を行う(ステップA5)。そして、照合の結果を表すデータを生成し、出力装置400を介して出力する。
次に、図4で示した流れ図のうちステップA2、A3に相当する部分の詳細の例を、図5を参照して説明する。
ステップA2に相当する部分に入り、動作レベルシミュレーションが開始されると(図5、ステップS1〜S2)、動作レベルシミュレーション制御部220は、動作レベルシミュレーションの途中の内部状態を検証期間毎にサンプルしてRTLシミュレーション用のデータを集める。
2個の連続する検証期間のうち先行する方の検証期間の終了時点における動作レベルシミュレーションの結果である内部状態は、後続する方の検証期間の開始時点における動作レベルシミュレーションの初期状態に相当する。従ってたとえば、各検証期間に先頭の検証期間を0番目として0から順番にID(識別番号)が付されているものとし、動作レベルシミュレーション開始時点の動作レベルシミュレーションモデルの内部状態の初期値をS0とし、i番目(iはいずれかのID)の検証期間終了時点の内部状態をSi+1とすれば、Si+1は、(i+1)番目の検証期間における内部状態の初期値である。
そして、動作レベルシミュレーション制御部220は、検証期間1個分の動作レベルシミュレーションが終わる毎に、その検証期間で用いたテストパタンT、動作レベルシミュレーションの結果V、動作レベルシミュレーションモデルの内部状態Si+1を記録する(ステップS3〜S4。なお、i番目の検証期間に動作レベルシミュレーションモデルに入力として与えたテストパタンをTとし、i番目の検証期間についての動作レベルシミュレーションの結果をVとする)。動作レベルシミュレーション制御部220はこの処理を、動作レベルシミュレーションの全期間が終了するまで、各検証期間について行う(ステップS5〜S6)。
次に、図4で示した流れ図のうちステップA4、A5に相当する部分の詳細の例を、図6を参照して説明する。
RTLシミュレーション実行部250は、たとえばi番目の検証期間につき、動作レベルシミュレーションモデルの内部状態S、テストパタンT、動作レベルシミュレーションの結果Vからなるパラメータのセット(S, T, V)を与えられると、このセットに基づいて、i番目の検証期間につきRTLシミュレーションを実行し(図6、ステップS8)、期待値照合部270は、結果と期待値Vとの照合を行う(ステップS9〜S10)。そして、結果と期待値との不一致がある検証期間があると判別した場合は、その旨を示すデータを出力装置400を介して出力する等して、動作を終了する。
RTLシミュレーション実行部250は上述の通り、複数のRTLシミュレーションを、検証期間単位で並行して独立に実行できるよう構成されている。また、期待値照合部270は、期待値との照合を検証期間単位で並行して独立に実行できるよう構成されている。
そしてRTLシミュレーション制御部260は、例えばRTLシミュレーション実行部250がRTLシミュレーションを最大k個(kは自然数)独立に実行可能であるとすれば、RTLシミュレーションが未だ実行されていない検証期間のうち最大k個を選択し、選択した検証期間のそれぞれについてのパラメータのセットをRTLシミュレーション実行部250に与えることにより、最大k個のRTLシミュレーションを実行させる(ステップS7)。複数の検証期間についてのRTLシミュレーションが並列に行われる結果、RTLシミュレーションの結果が期待値と一致するか否かの検証を高速化することが可能になる。
このようにRTLシミュレーション制御部260は、RTLシミュレーションが終わり次第、新たな検証期間についてのパラメータのセットをRTLシミュレーションにかけるという処理を、すべての検証期間についてのRTLシミュレーションが終了するまで繰り返す(ステップS11)。
すべての検証期間に対してRTLシミュレーションが実行され、いずれの検証期間についてもシミュレーション結果とその期待値(i番目の検証期間についての期待値はVである)と一致したときには、動作レベルシミュレーションモデルのシミュレーション結果とRTLシミュレーションの結果が一致したことになる。この場合、期待値照合部270は、すべての検証期間についてRTLシミュレーションの結果とその期待値とが一致した旨を示すデータを出力装置400を介して出力する等して、動作を終了する。
なお、本システムの構成は上述のものに限られない。
たとえば、各検証期間の時間長は、各検証期間の動作レベルシミュレーションに要する実行時間が互いに均等になるように区切られていてもよい。各検証期間がそのように区切られていることにより、各検証期間についてのRTLシミュレーションに要する実行時間もほぼ均等になることが予測され、RTLシミュレーションの効率化が期待できる。
各検証期間の動作レベルシミュレーションに要する実行時間が互いに均等になるように区切る手法としては、たとえば、各検証期間が互いに均等なサイクル(クロックサイクル)数に固定されるように区切る手法や、あるいは、各検証期間の時間長は、動作レベルシミュレーションを行うことによる動作レベルシミュレーションモデルの内部状態の変化量(具体的には、たとえば内部状態を示す所定のパラメータの変化量など)が、各検証区間につき互いに均等になるように区切る手法が考えられる。
また、RTLシミュレーション制御部260は、RTLシミュレーション実行部250に、互いに連続する2個の検証期間についてのRTLシミュレーションを連続して実行させるように、パラメータのセットを与えるものとしてもよい。
たとえば、RTLシミュレーション実行部250がRTLシミュレーションを互いに並行して実行できるk個のタスクを提供するものとして、RTLシミュレーション実行部250は、連続する2個の検証期間のうち先行する方についてのRTLシミュレーションをj番目(jはk以下の自然数)のタスクに実行させた場合、後続する検証期間についてのRTLシミュレーションについても、j番目のタスクに実行させるようにしてもよい。
以上、この発明の実施の形態を説明したが、この発明にかかる検証システム及び装置は、専用のシステムによらず、通常のコンピュータシステムを用いて実現可能である。
例えば、入出力インターフェース回路を備えたパーソナルコンピュータに上述のデータ入力装置100、データ処理装置200、記憶装置300及び出力装置400の動作を実行させるためのプログラムを格納した記録媒体(CD−ROM、DVD−ROM等)から該プログラムをインストールすることにより、上述の処理を実行するシステムを構成することができる。
また、例えば、通信回線の掲示板(BBS)に該プログラムをアップロードし、これを通信回線を介して配信してもよく、また、該プログラムを表す信号により搬送波を変調し、得られた変調波を伝送し、この変調波を受信した装置が変調波を復調して該プログラムを復元するようにしてもよい。
そして、該プログラムを起動し、OSの制御下に、他のアプリケーションプログラムと同様に実行することにより、上述の処理を実行することができる。
なお、OSが処理の一部を分担する場合、あるいは、OSが本願発明の1つの構成要素の一部を構成するような場合には、記録媒体には、その部分を除いたプログラムを格納してもよい。この場合も、この発明では、その記録媒体には、コンピュータが実行する各機能又はステップを実行するためのプログラムが格納されているものとする。
本発明の第1の実施の形態の構成を示すブロック図。 本発明の第1の実施の形態の処理を示す流れ図。 本発明の第2の実施の形態の構成を示すブロック図。 本発明の第2の実施の形態の処理を示す流れ図。 本発明の第2の実施の形態の処理のステップA2,A3の詳細を示す流れ図。 本発明の第2の実施の形態の処理のステップA4,A5の詳細を示す流れ図。
符号の説明
100 データ入力装置
110 動作レベルシミュレーションモデル入力装置
120 動作レベルテストパタン入力装置
130 RTL記述入力装置
140 内部状態対応情報入力装置
200 データ処理装置
210 動作レベルシミュレーション実行部
220 動作レベルシミュレーション制御部
230 期待値処理部
240 RTLテストパタン生成部
250 RTLシミュレーション実行部
260 RTLシミュレーション制御部
270 期待値照合部
300 記憶装置
310 期待値記憶部
320 内部状態記憶部
330 RTLテストパタン記憶部
340 RTLシミュレーション結果記憶部
400 出力装置

Claims (10)

  1. 検証対象であるハードウェアの動作レベルシミュレーションを、所定のテストパタンが与えられたとの条件の下で実行し、所定の時間長を有する検証期間毎に前記テストパタンを分割するデータ処理手段と、
    前記検証期間毎に、当該検証期間の開始時の動作レベルシミュレーションモデルの内部状態を記憶し、当該検証期間毎に、当該検証期間の動作レベルシミュレーション結果を表すデータを記憶する記憶手段と、を備え、
    前記データ処理手段は、記憶された内部状態及び分割された前記テストパタンを用いてRTL(レジスタトランスファーレベル)シミュレーションを実行する処理と、前記動作レベルシミュレーションの結果を期待値として、当該期待値と当該RTLシミュレーションの結果とを照合し、照合結果を表すデータを生成する処理とを、各検証期間単位で並列実行する、
    ことを特徴とする検証システム。
  2. 検証対象であるハードウェアの動作記述からなる動作レベルシミュレーションモデル、動作レベルシミュレーション用のテストパタン、及び当該ハードウェアのRTL記述を入力する入力手段をさらに備え、
    前記記憶手段は、
    前記動作レベルシミュレーションの結果を表すデータを、RTLレベルシミュレーションの結果の期待値を表すデータとして記憶する期待値記憶手段と、
    前記動作レベルシミュレーションモデルの内部状態を表すデータを記憶する内部状態記憶手段と、
    前記RTLシミュレーションの結果を表すデータを記憶するRTLシミュレーション結果記憶手段と、より構成されており、
    前記データ処理手段は、
    前記入力手段が入力した動作レベルシミュレーションモデルの、複数の検証期間からなる期間における動作について、前記入力手段が入力した動作レベルシミュレーション用のテストパタンが与えられたものとして動作レベルシミュレーションを実行し、当該動作レベルシミュレーションの結果を表すデータ、及び前記動作レベルシミュレーションモデルの内部状態を表すデータを、前記検証期間毎に生成する動作レベルシミュレーション実行手段と、
    動作レベルシミュレーション用のテストパタンを前記検証期間別に分割することによりRTLシミュレーション用の検証期間別のテストパタンを生成するRTLテストパタン生成手段と、
    前記入力手段が入力したRTL記述の各前記検証期間における動作について、前記動作レベルシミュレーションモデルの内部状態を表すデータにより特定される初期条件の下で前記検証期間別のテストパタンが与えられたものとして、前記検証期間毎に並行してRTLシミュレーションを実行して、当該RTLシミュレーションの結果を表すデータを前記検証期間毎に生成するRTLシミュレーション実行手段と、
    前記期待値記憶手段が記憶するデータが表す期待値と、前記RTLシミュレーションの結果とを前記検証期間毎に照合し、照合結果を表すデータを出力する期待値照合手段と、より構成されている、
    ことを特徴とする請求項1に記載の検証システム。
  3. 各前記検証期間の時間長は、互いに均等なサイクル数に固定されるように区切られていることを特徴とする請求項1又は2に記載の検証システム。
  4. 各前記検証期間の時間長は、各該検証区間の動作レベルシミュレーションに要する実行時間が互いに均等になるように区切られていることを特徴とする請求項1又は2に記載の検証システム。
  5. 各前記検証期間の時間長は、動作レベルシミュレーションを行うことによる前記動作レベルシミュレーションモデルの内部状態の変化量が、各該検証区間につき互いに均等になるように区切られていることを特徴とする請求項1又は2に記載の検証システム。
  6. 前記データ処理手段は、互いに連続する検証期間についての前記RTLシミュレーションを連続して実行することを特徴とする請求項1又は2に記載の検証システム。
  7. 検証対象であるハードウェアの動作レベルシミュレーションを、所定のテストパタンが与えられたとの条件の下で実行し、所定の時間長を有する検証期間毎に前記テストパタンを分割する動作レベルシミュレーション手段と、
    前記動作レベルシミュレーションモデルの内部状態及び分割された前記テストパタンを用いてRTL(レジスタトランスファーレベル)シミュレーションを実行する処理と、前記動作レベルシミュレーションの結果を期待値として、当該期待値と当該RTLシミュレーションの結果とを照合し、照合結果を表すデータを生成する処理とを、各検証期間単位で並列実行するRTLシミュレーション手段と、
    より構成されていることを特徴とする検証装置。
  8. 前記動作レベルシミュレーション手段は、
    検証対象であるハードウェアの動作記述からなる動作レベルシミュレーションモデル、及び動作レベルシミュレーション用のテストパタンを取得し、当該動作レベルシミュレーションモデルの、複数の検証期間からなる期間における動作について、当該動作レベルシミュレーション用のテストパタンが与えられたものとして動作レベルシミュレーションを実行し、当該動作レベルシミュレーションの結果を表すデータ、及び前記動作レベルシミュレーションモデルの内部状態を表すデータを、前記検証期間毎に生成する手段と、
    動作レベルシミュレーション用のテストパタンを前記検証期間別に分割することによりRTLシミュレーション用の検証期間別のテストパタンを生成する手段と、より構成されており、
    前記RTLシミュレーション手段は、
    前記前記ハードウェアのRTL記述を取得し、当該RTL記述の各前記検証期間における動作について、前記動作レベルシミュレーションモデルの内部状態を表すデータにより特定される初期条件の下で前記検証期間別のテストパタンが与えられたものとして、前記検証期間毎に並行してRTLシミュレーションを実行して、当該RTLシミュレーションの結果を表すデータを前記検証期間毎に生成する手段と、
    前記動作レベルシミュレーションの結果を表すデータを期待値として、当該期待値と、前記RTLシミュレーションの結果とを前記検証期間毎に照合し、照合結果を表すデータを出力する手段と、より構成されている、
    ことを特徴とする請求項7に記載の検証装置。
  9. 検証対象であるハードウェアの動作レベルシミュレーションを、所定のテストパタンが与えられたとの条件の下で実行し、所定の時間長を有する検証期間毎に前記テストパタンを分割し、
    前記検証期間毎に、当該検証期間の開始時の動作レベルシミュレーションモデルの内部状態を記憶し、当該検証期間毎に、当該検証期間の動作レベルシミュレーション結果を表すデータを記憶し、
    記憶された内部状態及び分割された前記テストパタンを用いてRTL(レジスタトランスファーレベル)シミュレーションを実行する処理と、前記動作レベルシミュレーションの結果を期待値として、当該期待値と当該RTLシミュレーションの結果とを照合し、照合結果を表すデータを生成する処理とを、各検証期間単位で並列実行する、
    ことを特徴とする検証方法。
  10. 検証対象であるハードウェアの動作記述からなる動作レベルシミュレーションモデル、動作レベルシミュレーション用のテストパタン、及び当該ハードウェアのRTL記述を入力し、
    入力した動作レベルシミュレーションモデルの、複数の検証期間からなる期間における動作について、前記入力手段が入力した動作レベルシミュレーション用のテストパタンが与えられたものとして動作レベルシミュレーションを実行し、当該動作レベルシミュレーションの結果を表すデータ、及び前記動作レベルシミュレーションモデルの内部状態を表すデータを、前記検証期間毎に生成し、
    前記動作レベルシミュレーションの結果を表すデータを、RTLレベルシミュレーションの結果の期待値を表すデータとして記憶し、
    前記動作レベルシミュレーションモデルの内部状態を表すデータを記憶し、
    動作レベルシミュレーション用のテストパタンを前記検証期間別に分割することによりRTLシミュレーション用の検証期間別のテストパタンを生成し、
    入力したRTL記述の各前記検証期間における動作について、前記動作レベルシミュレーションモデルの内部状態を表すデータにより特定される初期条件の下で前記検証期間別のテストパタンが与えられたものとして、前記検証期間毎に並行してRTLシミュレーションを実行して、当該RTLシミュレーションの結果を表すデータを前記検証期間毎に生成し、
    前記RTLシミュレーションの結果を表すデータを記憶し、
    記憶された期待値と、前記RTLシミュレーションの結果とを前記検証期間毎に照合し、照合結果を表すデータを出力する、
    ことを特徴とする請求項9に記載の検証方法。
JP2008074682A 2008-03-21 2008-03-21 検証システム、装置及び方法 Pending JP2009230441A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2008074682A JP2009230441A (ja) 2008-03-21 2008-03-21 検証システム、装置及び方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2008074682A JP2009230441A (ja) 2008-03-21 2008-03-21 検証システム、装置及び方法

Publications (1)

Publication Number Publication Date
JP2009230441A true JP2009230441A (ja) 2009-10-08

Family

ID=41245751

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2008074682A Pending JP2009230441A (ja) 2008-03-21 2008-03-21 検証システム、装置及び方法

Country Status (1)

Country Link
JP (1) JP2009230441A (ja)

Similar Documents

Publication Publication Date Title
US10108763B2 (en) Method and simulation arrangement for simulating an automated industrial plant
CN114662427B (zh) 一种逻辑系统设计的调试方法及设备
JPH07230484A (ja) 有限状態マシン遷移アナライザ
CN104536885A (zh) 一种生成Soc随机验证平台的方法
JP5034916B2 (ja) 性能評価モデル生成方法、システム性能評価方法、及び性能評価モデル生成装置
JP4586864B2 (ja) プロパティ自動生成装置
JP2007034833A (ja) 機能検証記述生成装置,機能検証記述生成方法,及び機能検証記述生成プログラム
US20080189095A1 (en) Method and tool for generating simulation case for ic device
JP2007052634A (ja) ソフトウェア開発装置及び方法
US8065641B2 (en) Automatically creating manufacturing test rules pertaining to an electronic component
US8627273B2 (en) Model checking of liveness property in a phase abstracted model
US7971167B2 (en) Semiconductor design support device, semiconductor design support method, and manufacturing method for semiconductor integrated circuit
JP2009230441A (ja) 検証システム、装置及び方法
JP2009229236A (ja) 検証システム、装置及び方法
US10223077B2 (en) Determination of signals for readback from FPGA
CN113656070A (zh) 处理器的随机指令验证方法、装置、电子设备及存储介质
JP5120103B2 (ja) デバッグ方法およびデバッグプログラム
CN115292102B (zh) 仿真方法、电子设备、可读存储介质
US11520954B2 (en) Simulation management method, simulation system, and program
JP2007018313A (ja) 回路設計プログラム、回路設計装置、回路設計方法
JP5390464B2 (ja) シミュレーション装置、シミュレーション装置の制御方法およびプログラム
US8930759B2 (en) Stream generation
CN117408198B (zh) 一种仿真模型建模方法、装置、设备及存储介质
JP2011043978A (ja) テストベンチの作成方法、テストベンチ作成装置
WO2013114570A1 (ja) 性能モデル検査装置、方法およびプログラム