JP2000348076A - シミュレーション方法、シミュレーション装置および記録媒体 - Google Patents

シミュレーション方法、シミュレーション装置および記録媒体

Info

Publication number
JP2000348076A
JP2000348076A JP11157194A JP15719499A JP2000348076A JP 2000348076 A JP2000348076 A JP 2000348076A JP 11157194 A JP11157194 A JP 11157194A JP 15719499 A JP15719499 A JP 15719499A JP 2000348076 A JP2000348076 A JP 2000348076A
Authority
JP
Japan
Prior art keywords
simulation
verification
level
input
specific
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.)
Withdrawn
Application number
JP11157194A
Other languages
English (en)
Inventor
Toshihiro Nakaoka
敏博 中岡
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.)
Sharp Corp
Original Assignee
Sharp 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 Sharp Corp filed Critical Sharp Corp
Priority to JP11157194A priority Critical patent/JP2000348076A/ja
Publication of JP2000348076A publication Critical patent/JP2000348076A/ja
Withdrawn legal-status Critical Current

Links

Abstract

(57)【要約】 【課題】 全体検証における、シミュレーション結果を
もとに、検証対象の一部分だけを任意の検証レベルに詳
細化する高速シミュレーション方法、装置および記録媒
体を提供すること。 【解決手段】 本発明のシミュレーション方法は、回路
モジュールを検証するシミュレーション方法であって、
全体の検証対象と全体のシミュレーション時系列の範囲
において、最上位の検証レベルのシミュレーションを実
施するステップと、前記最上位の検証レベルのシミュレ
ーションの結果から、特定のテストパターンの範囲と前
記検証対象の特定部分を特定の下位の検証レベルに詳細
化するステップとを包含する。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、システム回路の設
計に関し、特に、大規模な回路シミュレーションを使用
したシステム回路の設計に関する。
【0002】
【従来の技術】従来、システム回路の設計は、仕様から
アルゴリズム、ビヘイビア、レジスタ・トランスファ
(RT)、論理回路へと進んで行き、検証もこれらの記
述またはネットリストもしくはデータベース上で行われ
ていた。
【0003】図16は、システム回路の設計レベルと各
々の検証のデータ時系列を示す。図16に示すように、
これらの4つのレベルの設計データは設計が進む度に検
証される。図16の左欄の最上段のアルゴリズムのレベ
ルにおいては、仕様との動作一致の確認を行う。この段
階ではハードウェアとソフトウェアとの区別はなく主に
データフローの検証がなされる。検証の時系列の単位も
データフローに沿う。
【0004】次に、図16の左欄の第2段のビヘイビア
のレベルにおいては、主にハードウェアの動作検証を行
う。ここでは、アルゴリズムと同様データフローの解析
がなされるが、より詳細なタイミングを考慮した検証が
実施される。より詳細なタイミングを考慮した検証と
は、例えばハードウェアの制御状態を単位としたデータ
入出力の検証である。
【0005】さらに、図16の左欄の第3段のレジスタ
・トランスファのレベルにおいては、上記アルゴリズ
ム、ビヘイビアから動作合成または人手設計された、レ
ジスタと演算器からなる回路構成における検証が行われ
る。ここで、レジスタとはラッチ、フリップフロップ等
であり、演算器とは、乗算器、セレクタ、カウンタ等で
ある。一般的な同期回路の場合、検証対象のデータ入出
力のタイミングはレジスタに入力されるクロックに依存
する。そのため、検証するタイミングはクロックサイク
ル(クロック周期)を単位として行われる。
【0006】最後に、図16の左欄の第4段の論理回路
のレベルにおいては、論理合成または人手設計された、
レジスタと組み合わせ回路からなる回路構成における検
証が行われる。ここでの回路構成とは、論理積、インバ
ータなどのゲート回路からなる回路構成である。検証の
時系列単位は実世界と同じ時間(ナノ秒(ns)、マイ
クロ秒(μs)などを単位とする)が使われる。
【0007】設計されるデジタルシステムの大規模化に
伴い、回路規模と検証時のテストパターンが増加し、検
証時間がボトルネックとなってきている。システム回路
の検証技術には、シミュレーション、エミュレーショ
ン、静的タイミング解析、および形式的検証が存在す
る。
【0008】シミュレーション、エミュレーションは、
回路に与えられるテストパターン(回路入力データ)と
その回路出力または回路内部の信号の期待値とを用意
し、テストパターンを現設計レベルの回路を模倣するソ
フトウェアまたは装置に与え、模倣した回路出力または
回路内部の信号が期待値と一致しているか否かを検証す
る手法である。一般的に、回路模倣を計算機のソフトウ
ェアで実施する場合はシミュレーションと呼ばれ、設計
回路を回路実装装置で模倣する場合はエミュレーション
と呼ばれる。静的タイミング解析は、テストパターンを
使わずに同期式の論理回路が所望の性能で動作するか否
かを解析する手法である。形式的検証は、2つの設計さ
れた回路を論理的または機能的に比較し、等価な回路で
あるか検証する手法である。静的タイミング解析と形式
的検証は高速に回路全体を検証できるという特長をもつ
が、検証される回路が論理回路または合成可能なレジス
タ・トランスファ回路に限定されるため、設計工程が諭
理設計まで進行しないと検証できない。以下にシミュレ
ーション(およびエミュレーション)の従来技術につい
て述べる。
【0009】シミュレーション時間の短縮に関する従来
技術は、イベント数を少なくする方法やシミュレーショ
ン速度そのものをあげる方法、マルチレベル混在シミュ
レーション、特定の検証時間の範囲を詳細化する方法が
あげられる。
【0010】イベント数を少なくするシミュレーション
の従来技術としては、サイクルベースシミュレーション
があげられる。現在主流の回路シミュレータはイベント
・ドリブン・シミュレータとよばれ、イベントが発生し
た(回路の信号変化があった)変数をもつ処理部分を実
行する方法である。検証対象の規模が増え、シミュレー
タが監視するイベントリストが増えるとシミュレーショ
ン速度が低下する。これに比ベサイクルベースシミュレ
ーションは、全ての時刻でイベントを監視するのではな
く、クロックの変化時のみイベントを監視することでシ
ミュレーション速度をあげることができる。
【0011】シミュレーション速度をあげる従来技術と
しては、ハードウェアアクセラレータ、並列・分散シミ
ュレーションなどのシミュレータの負荷を軽減させる技
術があげられる。ハードウェアアクセラレータは、シミ
ュレーションの一部または全体をシミュレーション専用
のハードウェアで実施する方法である。並列・分散シミ
ュレーションは検証対象の回路を分割し、複数のプロセ
ッサが相互に通信し個々のプロセッサのシミュレーショ
ンにかかる負荷を軽減する。
【0012】マルチレベル混在シミュレーションは複数
レベルの検証対象をそれぞれ異なるシミュレーターエン
ジンで検証するシミュレーション方法である。検証対象
間は決められたインターフェースを介してデータ通信が
行われる。例えば、特定の回路のみレジスタ・トランス
ファレベルで検証しその外はビヘイビア、アルゴリズム
などの抽象度の高いレベルでの検証が可能となる。
【0013】特開平10−261002には、異なるハ
ードウェアモデルまたはシミュレータの切り替えによ
り、レジスタ・トランスファまたは論理回路のシミュレ
ーションのある時間範囲の時刻の詳細化を行う方法と手
段が記載されている。これにより、特定のテストパター
ンに対して特定の検証時間だけタイミングを詳細化で
き、他のテストパターン及び他の検証時間は高速にシミ
ュレーションできるため、トータルのシミュレーション
の高速化が可能となる。
【0014】
【発明が解決しようとする課題】しかしながら、上記の
シミュレーションの従来技術では、大量のテストパター
ンと回路規模のシステムを高速にビヘイビア、レジスタ
・トランスファレベル、ゲートレベルと詳細化してシミ
ュレーションすることはできない。
【0015】サイクルベースシミュレータはイベント・
ドリブン・シミュレータに比べると10倍〜100倍程
度速いが、大規模なシステム回路に適用できるほど速く
ない。一般的に、サイクルベースシミュレーションが可
能な検証レベルは、レジスタ・トランスファレベルとゲ
ートレベルのみである。また、ハードウェアアクセラレ
ータ、分散シミュレーション、マルチレベル混在シミュ
レーションは、プロセッサまたはプロセス間の通信のオ
ーバーヘッドがあり、実質シミュレーション速度は最も
負荷の高い検証対象をシミュレーションするモジュール
に依存する。このため、画像処理などの大量のテストパ
ターンを高速に処理するモジュールの検証レベルを下げ
てシミュレーションすると、検証速度が低下する。この
ため、システム全体で詳細化したシミュレーションは行
えない。特開平10−261002には、ある時間だけ
異なるハードウェアレベルまたはシミュレータを切り替
える方法について記載されている。
【0016】この方法では、検証される時間単位は実時
間(ns,μsなど)が単位であるため、アルゴリズ
ム、またはビヘイビアレベルなどの時間系列とは必ずし
も一致しない場合は利用できない。例えば、ビヘイビア
でのデータ時系列は、状態(スーパーステート)を単位
として決定されるが、動作合成時に状態の併合(分割)
が行われ、状態がクロックの動作とは必ずしも一致しな
い。この方法では、システム全体のシミュレーションを
レジスタ・トランスファレベルから始めなければなら
ず、サイクルベースシミュレータと同じくアルゴリズ
ム、ビヘイビアに適用できない。
【0017】本発明の目的は、上述の従来技術では行え
なかった、全体検証における、シミュレーション結果を
もとに、検証対象の一部分だけを任意の検証レベルに詳
細化する高速シミュレーション方法、装置および記録媒
体を提供することである。
【0018】
【課題を解決するための手段】本発明のシミュレーショ
ン方法は、回路モジュールを検証するシミュレーション
方法であって、全体の検証対象と全体のシミュレーショ
ン時系列の範囲において、最上位の検証レベルのシミュ
レーションを実施するステップと、前記最上位の検証レ
ベルのシミュレーションの結果から、特定のテストパタ
ーンの範囲と前記検証対象の特定部分を特定の下位の検
証レベルに詳細化するステップとを包含し、そのことに
より上記目的が達成される。
【0019】前記詳細化するステップにおいて、特定の
検証レベルにおける前記検証対象の構造を解析し、前記
検証対象の入力タイミングを前記特定の検証レベルの時
系列単位に詳細化することにより、特定部分のみシミュ
レーションの検証レベルを詳細化してもよい。
【0020】本発明のシミュレーション装置は、回路モ
ジュールを検証するシミュレーション装置であって、複
数レベルの検証対象の構造とシミュレーションパターン
とを入力する第1の入力手段と、詳細化する検証レベル
と検証対象部分と検証時系列の範囲とを入力する第2の
入力手段と、検証対象全体を最上位の検証レベルでシミ
ュレーションする最上位シミュレーション手段と、特定
の検証レベルで前記検証対象のデータ入出力タイミング
を抽出するタイミング抽出手段と、部分的にシミュレー
ションの入出力タイミングを検証レベルの時系列単位ま
で詳細化する時系列詳細化手段とを備えており、そのこ
とにより上記目的が達成される。
【0021】前記タイミング抽出手段は、特定の検証レ
ベルで検証対象の構造を解析する解析手段と、特定の部
分システムの全入出力、入出力タイミングを計算する計
算手段とを有してもよい。
【0022】前記時系列詳細化手段は、全体検証でのシ
ミュレーション結果と詳細化部分の入出力タイミングか
らシミュレーション結果の時系列の並び替えを行い、よ
り詳細な入出力時系列に変換する変換手段を有してもよ
い。
【0023】本発明の記録媒体は、回路モジュールを検
証するシミュレーション方法をコンピュータに実行させ
るためのプログラムを記録した記録媒体であって、前記
シミュレーション方法は、全体の検証対象と全体のシミ
ュレーション時系列の範囲において、最上位の検証レベ
ルのシミュレーションを実施するステップと、前記最上
位の検証レベルのシミュレーションの結果から、特定の
テストパターンの範囲と前記検証対象の特定部分を特定
の下位の検証レベルに詳細化するステップとを包含して
おり、そのことにより上記目的が達成される。
【0024】以下、作用について説明する。
【0025】本発明により、検証対象のある部分とテス
トパターンの一部の範囲しか詳細化しないため、検証対
象全体のシミュレーション速度をアルゴリズムレベルと
ほぼ同等に維持しながら、詳細なシミュレーションを再
試行することなくシステムトータルのシミュレーション
を高速に実施できる。
【0026】検証レベルを低レベル化すると詳細にシミ
ュレーションできるが、極めて低速化してしまう。よっ
て全体のシステムを考えて、一部の特定部分のみを低レ
ベルシミュレーションするのであるが、その特定部分
も、どのレベルでシミュレーションするかで低速になる
か高速になるかが分れる。つまり、その部分に見合った
レベルでシミュレーションを行う。
【0027】
【発明の実施の形態】以下、図面を参照して本発明の実
施の形態を説明する。
【0028】図1は、本発明のシミュレーション装置1
00の構成を示す。
【0029】図1に示すシミュレーション装置100
は、回路設計データ1〜4と、テストパターン5と、詳
細化制御データ6とを入力とし、詳細化シミュレート結
果12を出力する。シミュレーション装置100は、ア
ルゴリズムシミュレータ7と、遅延情報抽出手段9と、
シミュレーション結果詳細化手段11とを備えている。
また、シミュレーション装置100は、アルゴリズムシ
ミュレータ7が出力するアルゴリズムシミュレート結果
8と、遅延情報抽出手段9が出力する遅延情報10とを
保持している。
【0030】テストパターン5は、シミュレーションす
るためのテストパターンであり、ここでは最上位の検証
レベルのテストパターンが、設計者、他の装置又はソフ
トウェアにより与えられる。テストパターンは、例え
ば、画像データ、音声データなどである。回路設計デー
タ1〜4は、各検証対象の設計データを表す。図1には
回路設計データの例として、高級言語プログラムによる
アルゴリズム記述(1)、状態遷移図によるビヘイビア
記述(2)、ハードウェア記述言語によるレジスタ・ト
ランスファ回路記述(3)、論理回路記述(4)が示さ
れている。詳細化制御データ6は、設計者または他装置
またはソフトウェアにより与えられた、詳細化する検証
対象の部位とその時系列の範囲および詳細化するレベル
を示すデータである。
【0031】アルゴリズムシミュレータ7は、テストパ
ターン5と最上位の検証レベルの設計データ1とを入力
とし、最上位レベルの検証を回路全体に対して行い、シ
ミュレート結果をアルゴリズムシミュレート結果8とし
て出力及び保持する。
【0032】遅延情報抽出手段9は、検証対象の構造解
析を行い、各検証レベルにおける入力から各信号まで
の、全ての条件判定の組み合わせ(=全ての制御状態)
における、各検証レベルの時系列単位(ステップ、状
態、クロックサイクル、ナノ秒(ns)など)で求めら
れた遅延値またはこれを求めるための遅延情報10を提
供する。シミュレーション結果詳細化手段11は、詳細
化制御データ6の検証の詳細化パラメータ(検証レベ
ル、検証対象の部位、検証時系列の範囲)を条件とし
て、シミュレーション結果の時系列を詳細化する検証レ
ベルの時系列の単位にして、遅延情報10に基づいてシ
ミュレーション結果を詳細化する。構成手段11のシミ
ュレーションの詳細化結果は詳細化シミュレート結果1
2として出力され、保存される。
【0033】以下、本発明の実施の形態として、一部の
検証対象の一部の時系列だけについての、アルゴリズム
からビヘイビアおよびゲートレベル(論理回路)へのシ
ミュレーションの詳細化を説明する。ここでは、検証対
象例として、連続して同じ値が入力される数を数えるカ
ウンタ回路を例にあげる。
【0034】図2は、検証対象の回路全体の構成例を示
す。図2に示す回路においては、テストベンチのデータ
A,Bが、遅延回路(Delay1)を通して、ena
ble,indataとして入力される。詳細化したい
検証対象はSampleであり、Sampleの入力は
enable,indata、出力はcountであ
る。テストベンチの1データ当たりの入力レートはビヘ
イビアレベルで1データ/状態、レジスタ・トランスフ
ァレベルで1データ/clockに設定されている。D
elay1は、1クロックまたは1状態の遅延回路であ
る。またクロック周期は100nsが与えられたとす
る。
【0035】図3は、図2のSample部分をC言語
で記述した例を示す。図4は、図2のSample部分
の状態遷移図を示し、図5はレジスタ・トランスファ回
路を示し、図6はゲート回路図を示す。以下、図2のS
ample部分の回路の処理を、図3に沿って説明す
る。
【0036】図3の1行目には、関数名sampleと
入出力名enable,indata,countが示
されている。enableはindata入力開始を表
す入力変数であり、もしenable=1ならば、10
−11行目に示すように出力count=−1として初
期化する。indataは入力データを表す。coun
tは出力データで、enable=0の場合、inda
taの値が連続して同じ値ならばその個数を出力する。
もし非連続ならば0を出力する。2−4行目はenab
le,indata,countの変数宣言である。
6、7行目はこの回路内部でのみ使用される変数の宣言
である。ここで、indataを保存するprevio
us_dataと、連続判定結果を保存したmodeが
宣言される。9−12行目は、enable=1の時の
処理でcount=−1とし、mode=INITとす
る。13−24行はenable≠1の処理を表す。1
3行目はindata=previous_dataで
あるか否か、すなわち連続してデータが入力されている
か否かの判定を行う。indataが連続している場合
は15−20行を処理し、そうでなければ22、23行
を処理する。15行目においては、mode=CON
T、すなわち1つ前のデータで既にデータが連続してい
るかどうかの判定を行う。もし判定が真ならば、cou
nt値を1つ増加させる(16行目)。偽ならばcou
nt=1とする(18行目)。20行目は連続したデー
タを読んだことを示すため、modeにCONT(−I
NUED)を代入する。
【0037】22−23行は非連続のデータを読んだ場
合の処理で、countに0をセットし、非連続を表す
NONC(−ONTINUED)をmodeに代入す
る。最後に現在読み込んだindataを保存する。
【0038】以下、本発明のシミュレーションの処理に
ついて上記回路を例題にして説明する。
【0039】STEP1:検証回路の入力(図1、入力
2、6) 詳細化される検証対象としてsample、時系列範囲
としてアルゴリズムレベルの1−15ステップが入力さ
れる(ここでは、アルゴリズムの時系列単位をステップ
と呼ぶ)。
【0040】検証レベルは実際にシミュレーションが行
われたときに、ビヘイビアとレジスタ・トランスファお
よび論理のいずれかが与えられるとする。
【0041】STEP2:最上位レベルのシミュレーシ
ョン(図1、アルゴリズムシミュレータ7) 図7は、上記のアルゴリズムのシミュレーション例を示
す。アルゴリズムは、本発明のシミュレーション処理に
おける最上位レベルである。図7において、1ステップ
目ではenable=1として初期化を行う。2ステッ
プ目以降では連続データの個数を入力データが与えられ
る度に出力する。
【0042】STEP3:検証対象の遅延詳細化(図
1、遅延情報抽出手段9、シミュレーション結果詳細化
手段11) ビヘイビアレベルの場合とレジスタ・トランスファレベ
ルとゲートレベルとの場合とに分けて説明する。
【0043】(ビヘイビアレベルの場合)図4は、図3
のアルゴリズムをビヘイビアモデルとして状態遷移図で
表したものである。状態0は初期化の状態でenabl
e=1のときcount=−1を出力する。状態1は最
初の連続データ(indata)を読み込んだ状態でc
ount=1を出力する。状態2は2つ以上の連続デー
タ(indata)を読み込んだ状態でcountを1
つ増加させる。状態3は非連続なデータ(indat
a)を読み込んだ状態で、count=0を出力する。
これら4つの状態は、アルゴリズム記述の9、13、1
5行目の条件判定式により確定できる。アルゴリズムシ
ミュレータ7が条件判定を実行する度に、これらの条件
判定値を記録することにより、図8に示す条件判定の履
歴が得られる。また、状態図での入力データindat
aの読み込みから出力countが得られるまでの状態
遷移の必要な回数はすべて1である。よって、coun
tを図7に比べ1つ遅延させた、図9のように出力結果
を変更する。
【0044】(レジスタ・トランスファレベルの場合)
図10は、前述したアルゴリズムを合成したレジスタ・
トランスファ回路のシミュレーション結果を示す。レジ
スタ・トランスファであるため、時系列の単位はクロッ
クサイクルである。
【0045】図11は、図5のレジスタ・トランスファ
回路の入出力パスの構造を解析した例を示す。図11の
レジスタ・トランスファ回路のデータパス構造から、入
力enable,indataから出力countまで
のパスの最小経路探索問題を解くことにより、フリップ
フロップの段数の最小値を求める。この例では、ena
ble→count間、indata→count間に
は2つのフリップフロップ(図11のフリップフロップ
1、2)が存在することが分かる。従って、入力データ
indata,enableからの出力データcoun
tの遅延は2clockと求まり、レジスタ・トランス
ファのシミュレーション結果が得られる。
【0046】(ゲートレベルの論理回路の場合)図12
は、図7の入力に対するゲートレベルのシミュレーショ
ン結果を表した例を示す。図12に示すゲートレベルの
論理回路のシミュレーション結果を得るには、従来のタ
イミング解析手法と同様に、図11に示すフリップフロ
ップ2から出力countへのフリップフロップ回路と
配線の遅延を計算し、出力信号countに遅延を付加
するとよい。ただし、入力信号enable,inda
taの遅延は、sampleへの入力遅延であるのでS
TEP4において求める。
【0047】STEP4:詳細化対象への入力遅延の計
算(図1、遅延情報抽出手段9、シミュレーション結果
詳細化手段11) STEP4においては、STEP3と同様に、テストパ
ターン入力から詳細化される検証対象への入力までの遅
延(状態数、クロック数)を求める。ここでは、ena
ble,indataについて求める。ここでは、図2
に示すdelay1により、ビヘイビアとレジスタ・ト
ランスファでは1状態および1クロックの遅延が付加さ
れる。ゲートレベルの論理回路では、indata,e
nableの入力信号に対し、図2のdelay1の出
力遅延と配線遅延が付加される。
【0048】STEP5:シミュレーション結果の混合
表示(図1、シミュレーション結果詳細化手段11) 図13は、図7のアルゴリズムと図9のビヘイビアのシ
ミュレーションを同時に表示した例を示す図である。
【0049】図13に示すように、詳細化する範囲では
検証レベルを下げた時系列で表示し、それ以外の範囲で
は、最上位の検証レベルの時系列で表示する。図13の
TestbenchA、Bはテストベンチ入力を示し、
アルゴリズムステップはデータ入出力を1つの単位とし
た時系列ナンバを表す。図13のビヘイビアのステップ
は状態遷移のナンバーを表す。詳細化するステップの範
囲はここでは1〜15までである。それ以外の状態は表
示しない。countはsampleの出力で1状態の
遅延が生じている。図13において、状態を表す行の数
字0、1、2、3は、図4の状態0、1、2、3を表
す。
【0050】図14は、図7のアルゴリズムと図10の
レジスタ・トランスファのシミュレーションを同時に表
した例を示す。図14のレジスタ・トランスファの波形
表示においても、ビヘイビアと同様に1〜15ステップ
までをクロック波形で表示する。それ以外はアルゴリズ
ムのデータ入出力の時系列表示を行う。
【0051】図15は、図7のアルゴリズムと図11の
ゲートレベルの論理回路のシミュレーションを同時に表
した例を示す。図15のゲートレベルの論理回路の波形
表示では、1〜15ステップまでを時間を単位(ns)
とした波形で表示する。
【0052】なお、回路モジュールを検証するシミュレ
ーション方法をコンピュータに実行させるためのプログ
ラムを記録した記録媒体を提供することができる。その
シミュレーション方法は、全体の検証対象と全体のシミ
ュレーション時系列の範囲において、最上位の検証レベ
ルのシミュレーションを実施するステップと、その最上
位の検証レベルのシミュレーションの結果から、特定の
テストパターンの範囲とその検証対象の特定部分を特定
の下位の検証レベルに詳細化するステップとを包含す
る。さらに、詳細化するステップにおいて、特定の検証
レベルにおける検証対象の構造を解析し、その検証対象
の入力タイミングを特定の検証レベルの時系列単位に詳
細化することにより、特定部分のみシミュレーションの
検証レベルを詳細化するようにしてもよい。
【0053】回路モジュールを検証するシミュレーショ
ン方法をコンピュータに実行させるためのプログラム
は、コンピュータが読み取り可能な形式で記録媒体に記
録されている。そのプログラムをコンピュータにインス
トールすることにより、そのコンピュータを回路モジュ
ールを検証するシミュレーション装置として動作させる
ことが可能になる。
【0054】プログラムを記録する記録媒体は、フロッ
ピー(登録商標)ディスクやCD−ROMなどの固形の
記録媒体に限定されない。記録媒体は、信号を搬送する
搬送波などの非固形の媒体をも含む。
【0055】
【発明の効果】本発明によれば、任意の検証対象の回路
モジュールを任意のテストパターンの範囲だけ検証を詳
細化できる。これにより、シミュレーション速度をアル
ゴリズムレベルとほぼ同等に維持しながら、詳細なタイ
ミングでの検証を実施できる。検証レベルの低レベル化
とシミュレーションの高速化はトレードオフの関係にあ
るので、システム全体でのシミュレーション要求レベル
に応じて、全体の検証レベルと特定部の検証レベルとの
組合せをえらんで、検証を行える。
【図面の簡単な説明】
【図1】本発明のシミュレーション装置の構成を示す図
である。
【図2】全体の検証対象の構成例を示す図である。
【図3】図2のSampleをアルゴリズムレベルのC
で記述した例を示す図である。
【図4】図3をビヘイビアレベルの状態遷移図で表した
例を示す図である。
【図5】図3の記述を動作合成したレジスタ・トランス
ファ回路図の例を示す図である。
【図6】図5の論理回路図を論理合成した例を示す図で
ある。
【図7】アルゴリズムレベルのテストパターン入力と検
証対象の出力系列を表した例を示す図である。
【図8】図7の入力に対するアルゴリズムレベルの条件
判定の系列を表した例を示す図である。
【図9】図7の入力に対するビヘイビアレベルのシミュ
レーション結果を表した例を示す図である。
【図10】図7の入力に対するレジスタ・トランスファ
レベルのシミュレーション結果を表した例を示す図であ
る。
【図11】図5のレジスタ・トランスファ回路の入出力
パスの構造を解析した例を示す図である。
【図12】図7の入力に対するゲートレベルのシミュレ
ーション結果を表した例を示す図である。
【図13】図7のアルゴリズムと図9のビヘイビアのシ
ミュレーションを同時に表示した例を示す図である。
【図14】図7のアルゴリズムと図10のレジスタ・ト
ランスファのシミュレーションを同時に表した例を示す
図である。
【図15】図7のアルゴリズムと図12のゲートレベル
の論理回路のシミュレーションを同時に表した例を示す
図である。
【図16】システム回路の設計レベルと各々の検証のデ
ータ時系列を示す図である。
【符号の説明】
1,2,3,4 回路設計データ 5 テストパターン 6 詳細化制御データ 7 アルゴリズムシミュレータ 8 アルゴリズムシミュレート結果 9 遅延情報抽出手段 10 遅延情報 11 シミュレーション結果詳細化手段 12 詳細化シミュレート結果 100 シミュレーション装置

Claims (6)

    【特許請求の範囲】
  1. 【請求項1】 回路モジュールを検証するシミュレーシ
    ョン方法であって、 全体の検証対象と全体のシミュレーション時系列の範囲
    において、最上位の検証レベルのシミュレーションを実
    施するステップと、 前記最上位の検証レベルのシミュレーションの結果か
    ら、特定のテストパターンの範囲と前記検証対象の特定
    部分を特定の下位の検証レベルに詳細化するステップと
    を包含する、シミュレーション方法。
  2. 【請求項2】 前記詳細化するステップにおいて、特定
    の検証レベルにおける前記検証対象の構造を解析し、前
    記検証対象の入力タイミングを前記特定の検証レベルの
    時系列単位に詳細化することにより、特定部分のみシミ
    ュレーションの検証レベルを詳細化する、請求項1に記
    載のシミュレーション方法。
  3. 【請求項3】 回路モジュールを検証するシミュレーシ
    ョン装置であって、 複数レベルの検証対象の構造とシミュレーションパター
    ンとを入力する第1の入力手段と、 詳細化する検証レベルと検証対象部分と検証時系列の範
    囲とを入力する第2の入力手段と、 検証対象全体を最上位の検証レベルでシミュレーション
    する最上位シミュレーション手段と、 特定の検証レベルで前記検証対象のデータ入出力タイミ
    ングを抽出するタイミング抽出手段と、 部分的にシミュレーションの入出力タイミングを検証レ
    ベルの時系列単位まで詳細化する時系列詳細化手段とを
    備えた、シミュレーション装置。
  4. 【請求項4】 前記タイミング抽出手段が、 特定の検証レベルで検証対象の構造を解析する解析手段
    と、 特定の部分システムの全入出力、入出力タイミングを計
    算する計算手段とを有する、請求項3に記載のシミュレ
    ーション装置。
  5. 【請求項5】 前記時系列詳細化手段が、全体検証での
    シミュレーション結果と詳細化部分の入出力タイミング
    からシミュレーション結果の時系列の並び替えを行い、
    より詳細な入出力時系列に変換する変換手段を有する、
    請求項3に記載のシミュレーション装置。
  6. 【請求項6】 回路モジュールを検証するシミュレーシ
    ョン方法をコンピュータに実行させるためのプログラム
    を記録した記録媒体であって、 前記シミュレーション方法は、 全体の検証対象と全体のシミュレーション時系列の範囲
    において、最上位の検証レベルのシミュレーションを実
    施するステップと、 前記最上位の検証レベルのシミュレーションの結果か
    ら、特定のテストパターンの範囲と前記検証対象の特定
    部分を特定の下位の検証レベルに詳細化するステップと
    を包含する、記録媒体。
JP11157194A 1999-06-03 1999-06-03 シミュレーション方法、シミュレーション装置および記録媒体 Withdrawn JP2000348076A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP11157194A JP2000348076A (ja) 1999-06-03 1999-06-03 シミュレーション方法、シミュレーション装置および記録媒体

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP11157194A JP2000348076A (ja) 1999-06-03 1999-06-03 シミュレーション方法、シミュレーション装置および記録媒体

Publications (1)

Publication Number Publication Date
JP2000348076A true JP2000348076A (ja) 2000-12-15

Family

ID=15644266

Family Applications (1)

Application Number Title Priority Date Filing Date
JP11157194A Withdrawn JP2000348076A (ja) 1999-06-03 1999-06-03 シミュレーション方法、シミュレーション装置および記録媒体

Country Status (1)

Country Link
JP (1) JP2000348076A (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8510693B2 (en) 2011-06-10 2013-08-13 Fujitsu Limited Changing abstraction level of portion of circuit design during verification
CN111953354A (zh) * 2020-06-30 2020-11-17 上海美仁半导体有限公司 校验算法的测试方法、芯片、存储介质和家用电器

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8510693B2 (en) 2011-06-10 2013-08-13 Fujitsu Limited Changing abstraction level of portion of circuit design during verification
CN111953354A (zh) * 2020-06-30 2020-11-17 上海美仁半导体有限公司 校验算法的测试方法、芯片、存储介质和家用电器

Similar Documents

Publication Publication Date Title
US8719742B2 (en) Conversion of circuit description to an abstract model of the circuit
JP3131177B2 (ja) エミュレーションとシミュレーションを用いた設計検証のための方法および装置
US6470482B1 (en) Method and system for creating, deriving and validating structural description of electronic system from higher level, behavior-oriented description, including interactive schematic design and simulation
US5862361A (en) Sliced synchronous simulation engine for high speed simulation of integrated circuit behavior
JP2000132416A (ja) 半導体集積回路設計検証装置
KR100921314B1 (ko) 검증결과 재활용 기법을 채용한 고성능 설계검증 장치 및이를 활용한 신속한 설계검증 방법
US6564365B1 (en) Method of simultaneously displaying schematic and timing data
JP2006107517A (ja) クロストークを考慮したタイミング分析のためのシステム、方法及び論理装置
WO2004044798A2 (en) Global analysis of software objects generated from a hardware description
US6523155B1 (en) Method for partitioning a netlist into multiple clock domains
US4594677A (en) System for detecting and diagnosing noise caused by simultaneous current switching
US20220327269A1 (en) Computing device and method for detecting clock domain crossing violation in design of memory device
US5819072A (en) Method of using a four-state simulator for testing integrated circuit designs having variable timing constraints
US7093218B2 (en) Incremental, assertion-based design verification
US6141631A (en) Pulse rejection circuit model program and technique in VHDL
Bombieri et al. Incremental ABV for functional validation of TL-to-RTL design refinement
JP2004070457A (ja) シミュレーション用カバレッジ算出装置及びシミュレーション用カバレッジ算出方法
US20080126066A1 (en) Method for Modeling an HDL Design Using Symbolic Simulation
JPH10261002A (ja) 設計支援方法および設計支援装置
JP2004145712A (ja) 半導体設計における動作記述の等価性検証方法
KR20060066634A (ko) 검증 성능과 검증 효율성을 높이는 동적검증 기법 방식의검증 장치 및 이를 이용한 검증 방법론
US20040158443A1 (en) Functional verification using heterogeneous simulators
JP3654941B2 (ja) 論理シミュレーション方法及び論理シミュレータ
JP4205525B2 (ja) 並列シミュレーション装置および並列シミュレーション方法
JP3265384B2 (ja) 論理シミュレーション方法及びこれに用いる論理シミュレーション装置

Legal Events

Date Code Title Description
A300 Application deemed to be withdrawn because no request for examination was validly filed

Free format text: JAPANESE INTERMEDIATE CODE: A300

Effective date: 20060905