JP3004641B2 - シミュレ―ション装置及び当該シミュレ―ション装置を実現するコンピュ―タに実行させるプログラムを記録したコンピュ―タ読み取り可能な記録媒体 - Google Patents

シミュレ―ション装置及び当該シミュレ―ション装置を実現するコンピュ―タに実行させるプログラムを記録したコンピュ―タ読み取り可能な記録媒体

Info

Publication number
JP3004641B2
JP3004641B2 JP1604199A JP1604199A JP3004641B2 JP 3004641 B2 JP3004641 B2 JP 3004641B2 JP 1604199 A JP1604199 A JP 1604199A JP 1604199 A JP1604199 A JP 1604199A JP 3004641 B2 JP3004641 B2 JP 3004641B2
Authority
JP
Japan
Prior art keywords
simulation
functional module
event
test vector
index value
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
JP1604199A
Other languages
English (en)
Other versions
JPH11288432A (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.)
Panasonic Corp
Panasonic Holdings Corp
Original Assignee
Panasonic Corp
Matsushita Electric Industrial Co 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 Panasonic Corp, Matsushita Electric Industrial Co Ltd filed Critical Panasonic Corp
Priority to JP1604199A priority Critical patent/JP3004641B2/ja
Publication of JPH11288432A publication Critical patent/JPH11288432A/ja
Application granted granted Critical
Publication of JP3004641B2 publication Critical patent/JP3004641B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、複数の機能モジュ
ールを集積する大規模なシステムLSIの設計検証に用
いるシステムレベルの機能論理シミュレーション技術に
関する。
【0002】
【従来の技術】LSIの微細化、集積技術の進展によ
り、1チップLSIにシステムレベルの大規模回路を集
積することが可能となっている。こうしたシステムLS
Iの開発では、処理方式設計から、機能、論理、レイア
ウトまでを、段階的にかつ短期間に検証を行いながらト
ップダウンに設計し、早期に製品化を図ることが必要と
なっている。設計規模の増大に伴い、設計技術、設計自
動化技術に対して、設計生産性の向上、特にLSI、1
チップシステムの機能検証を効率良く行う技術が求めら
れている。機能検証は、主にハードウェア記述言語を用
いた回路記述とテストベクタを用いて、コンピュータ上
でのシミュレーションによって行う。LSIのシミュレ
ーション時間は、回路規模の拡大に対して指数的に増加
するため、その高速化は不可欠である。特に1チップの
機能検証を行うシミュレーションでは、数百万ゲート規
模の回路を取り扱うため、数週間から月単位の処理時間
を要することが予測され、各種シミュレーションの高速
化技術が重要な課題となってきている。
【0003】従来のシミュレーション方式には、イベン
トと呼ぶ回路中の信号値変化を回路の入力からその伝播
先へ順次トレースして回路状態の変化を計算するイベン
ト駆動方式と、クロック信号を基準として、クロック信
号の信号値遷移と同期して回路の全状態変化を計算する
サイクルベース方式とがある。シミュレーション処理速
度の観点からみると、クロック信号を設ける同期回路設
計が主流となっているため、サイクルベース方式の方が
一般に高速となる。イベント駆動方式では、イベントを
トレースするため付加処理を行うが、回路の一部にのみ
信号値変化がおきる回路動作をシミュレートする際は、
イベントによって選択した回路の一部の動作のみを計算
することとなり、効率的である。また、イベント駆動方
式では非同期動作のシミュレーションが可能である。し
かし、クロック信号に同期して回路全体に一斉に信号値
の変化が起きる同期回路のシミュレーションでは、イベ
ントの処理がオーバヘッドとなるため、サイクルベース
方式の方が高速である。
【0004】以上のように同期回路のシミュレーション
高速化には、サイクルベース方式が有効であるが、大規
模なシステムLSIのシミュレーションでは、システム
LSIを構成する機能モジュールごとにシミュレーショ
ン方式を指定して1チップのシミュレーションを行う装
置及び方法がある。この主な理由は、システムLSIを
構成する機能モジュールが、複数の異なるクロック信号
で動作したり、非同期に動作するメモリや入出力回路部
を含むためである。
【0005】システムLSIの1チップシミュレーショ
ンでは、すべての機能モジュールが均等に動作すること
は少なく、特定の機能モジュールのみが活発に動作し、
他のモジュールはほとんど動作しない場合が多い。シミ
ュレーションの高速化を考える場合、活発に動作し、イ
ベントが多く発生する機能モジュールのシミュレーショ
ンにはサイクルベース方式を用い、イベントの発生しな
い機能モジュールにはイベント駆動方式を用いるのが有
効である。
【0006】
【発明が解決しようとする課題】しかしながら、従来の
システムLSIのシミュレーション装置、あるいはシミ
ュレーション方法には、機能モジュール単位で適切なシ
ミュレーション方式を選択するための定量的な判断基準
を得る手段がないという問題点を有していた。すなわ
ち、シミュレーションを実行する設計者は、シミュレー
ション方式選択に当たり、設計回路やテストパターンの
仕様等に基づいて推測による判断しか行うことしかでき
ず、結果として不適切なシミュレーション方式を選択し
た場合には、シミュレーションに長大な処理時間を要す
るという問題があった。
【0007】また、回路の長期間の複雑な動作をシミュ
レーションする場合は、シミュレーション当初は活発に
動作していた機能モジュールが、途中で停止する、もし
くはほとんど動作していない状態に遷移することが想定
される。例えば、低消費電力化を目的として、動作モー
ドに応じて特定機能モジュールのクロック供給を停止す
る回路のシミュレーション等が挙げられる。このような
回路のクロック供給から停止に至る動作のシミュレーシ
ョンを、シミュレーション方式を組み合わせて高速に実
施するには、シミュレーション中に機能モジュールの動
作状況、すなわちイベントの発生状況に応じて、個々の
機能モジュールのシミュレーション方式を変更する必要
がある。しかしながら、従来の技術では、定量的な基準
に基づいて、個々の機能モジュールに対して選択したシ
ミュレーション方式をシミュレーション途中に自動的に
変更する手段がなく、高速なシミュレーションを実行で
きないという問題があった。
【0008】本発明は上記問題点に鑑み、機能モジュー
ル単位で適切なシミュレーション方式を判定、選択し、
高速なLSIシミュレーションを可能とするシミュレー
ション装置を提供することを目的とする。
【0009】
【課題を解決するための手段】以上の目的を達成するた
めに本発明にかかるシミュレーション装置では、所望の
テストベクタを用いたシミュレーションを実行する前
に、試験用に指定された小規模のテストベクタによるシ
ミュレーションを行い、被シミュレーションLSIの各
機能モジュールのイベント発生状況を基に適用するシミ
ュレーション方式を判定する。試験用に指定された小規
模のテストベクタを第1のテストベクタ、所望のテスト
ベクタを第2のテストベクタとする。
【0010】本発明にかかるシミュレーション装置で
は、第1のテストベクタを用いたLSI動作のシミュレ
ーションにおいて、LSIを構成する各機能モジュール
に発生するイベント数を計数して各機能モジュールのシ
ミュレーション方式を選択する指標値を算出する手段
と、選択指標値に基づいて、各機能モジュールのシミュ
レーション方式を複数のシミュレーション方式の中から
それぞれ一つ選択するシミュレーション方式選択手段
と、各機能モジュールごとに選択されたシミュレーショ
ン方式で第2のテストベクタを用いたLSI動作のシミ
ュレーションの実行を制御する制御手段を備えることを
特徴とする。
【0011】かかる構成により、各機能モジュールで発
生するイベント数に基づいて算出される選択指標値によ
って、各機能モジュールごとに適切なシミュレーション
手段を選択することが可能となり、より高速なシミュレ
ーションを実行することが可能となる。
【0012】また、本発明にかかるシミュレーション装
置では、複数のシミュレーション方式が、機能モジュー
ルをクロック信号サイクルでシミュレーションするサイ
クルシミュレーション方式と、機能モジュールをイベン
ト駆動でシミュレーションするイベント駆動シミュレー
ション方式を含むことが好ましい。代表的なシミュレー
ション方式だからである。
【0013】また、本発明にかかるシミュレーション装
置では、選択指標値を計数されたイベント数とすること
が好ましい。イベント数の大小によって、代表的なサイ
クルシミュレーション方式とイベント駆動シミュレーシ
ョン方式を切り替えることで、シミュレーション実行の
高速化を図ることができるからである。
【0014】また、本発明にかかるシミュレーション装
置では、選択指標値を、計数されたイベント数を機能モ
ジュールの回路規模・シミュレーション単位時間数の積
で除したイベント発生率とすることがより好ましい。イ
ベント発生率の大小によって各機能モジュールごとに適
切なシミュレーション手段を選択するため、機能モジュ
ールの規模やシミュレーション時間と比較した回路の動
作状況も判別することができ、より適切なシミュレーシ
ョン手段を選択することができ、全体として高速なシミ
ュレーションを実行することが可能となるからである。
【0015】また、本発明にかかるシミュレーション装
置では、制御手段は、所定の期間経過後に第2のテスト
ベクタを用いたシミュレーションを一時停止させて、選
択指標値を再度算出させ、該選択指標値に基づいて各機
能モジュールのシミュレーション方式をそれぞれ複数の
シミュレーション方式の中から一つ選択し、一時停止の
状態から第2のテストベクタを用いたLSI動作のシミ
ュレーションの再実行を制御することが好ましい。
【0016】かかる構成により、所定時間経過後にシミ
ュレーションを実行するごとに、その時点での被シミュ
レーションLSIの動作状態に基づいて各機能モジュー
ルの選択指標値を再計算し、シミュレーション方式の再
選択を行うため、回路の長期間の複雑な動作をシミュレ
ーションする場合において動作状態が極端に変化して
も、かかる動作状況の変化に追随して最適なシミュレー
ション方式を適用することが可能となるからである。
【0017】また、本発明にかかるシミュレーション装
置では、選択指標値算出手段は、イベント数を入力信号
についてのみ計数することが好ましい。入力信号のみを
観測すれば足りることから、第1のテストベクタを用い
たシミュレーションをより高速で行うことができるから
である。
【0018】また、本発明にかかるシミュレーション装
置では、選択値算出手段は、イベント数をクロック信号
についてのみ計数することが好ましい。クロック信号の
みを観測すれば足りることから、第1のテストベクタを
用いたシミュレーションをさらに高速で行うことができ
るからである。
【0019】次に、本発明にかかるコンピュータに実行
させるプログラムを記録したコンピュータ読み取り可能
な記録媒体は、第1のテストベクタを用いたLSI動作
のシミュレーションにおいて、LSIを構成する各機能
モジュールに発生するイベント数を計数して各機能モジ
ュールのシミュレーション方式を選択する指標値を算出
するステップと、選択指標値に基づいて、各機能モジュ
ールのシミュレーション方式を複数のシミュレーション
方式の中からそれぞれ一つ選択するステップと、各機能
モジュールごとに選択されたシミュレーション方式で第
2のテストベクタを用いたLSI動作のシミュレーショ
ンを行うステップを含むことを特徴とする。
【0020】かかる構成により、コンピュータ上へ当該
プログラムをロードさせ実行することで、各機能モジュ
ールで発生するイベント数に基づいて算出される選択指
標値によって、各機能モジュールごとに適切なシミュレ
ーション手段を選択することができ、より高速なシミュ
レーションを実行することが可能となるシミュレーショ
ン装置が実現できる。
【0021】
【発明の実施の形態】以下、本発明の実施の形態につい
て図面を参照しながら説明する。
【0022】(実施の形態1)図1は本発明の実施の形
態1にかかるシミュレーション装置の構成図を示す。ハ
ードウェア記述言語で記述されたLSI回路設計結果と
テストベクタを入力してLSIシミュレーションを行う
シミュレーション手段1は、イベント駆動方式でハード
ウェア記述をコンパイルしてシミュレーションを実行す
るイベント駆動シミュレーション手段11と、サイクル
ベース方式でハードウェア記述をコンパイルしてシミュ
レーション実行するサイクルシミュレーション手段12
から構成される。
【0023】なお、シミュレーション手段1には、イベ
ント駆動シミュレーション手段11、サイクルシミュレ
ーション手段12以外の異なるシミュレーション手段を
複数備える構成も可能である。例えば、イベント駆動方
式とサイクルベース方式を融合した混合シミュレーショ
ン方式等が考えられる。
【0024】さらにシミュレーション手段1には、入力
されるLSI、1チップのハードウェア記述を機能モジ
ュールごとにイベント駆動シミュレーション手段11と
サイクルシミュレーション手段12に振り分ける選択手
段13とLSI1チップのシミュレーションを実行する
際、イベント駆動シミュレーション手段とサイクルシミ
ュレーション手段によるシミュレーションの同期と各々
に振り分けられた機能モジュール間の信号の伝播を制御
する統合シミュレーション制御手段14を備える。これ
らは従来のソフトウェアシミュレータと同様の技術によ
って実現される。
【0025】シミュレーション手段1のシミュレーショ
ン結果から各機能モジュールで発生したイベント数をカ
ウントするイベント計数手段2は、機能モジュール内に
おけるすべての信号線の観測結果について、各々の信号
で起きた信号値の変化をカウントし、これを各々の信号
のイベント数とし、全信号のイベント数の総和を求め
る。3は、シミュレーションの実行を制御する制御手段
である。4は、被シミュレーションLSI回路のハード
ウェア記述、5は第1のテストベクタ、6は第2のテス
トベクタである。7は、第1のテストベクタを用いたシ
ミュレーションの観測結果、8は第2のテストベクタを
用いたシミュレーションの観測結果である。
【0026】第1のテストベクタは、被シミュレーショ
ン回路4のシミュレーションに用い、被シミュレーショ
ン回路4の入力信号に与える信号である。なお、本実施
の形態1では、第1のテストベクタは被シミュレーショ
ン回路4を構成する各機能モジュールの個々へ与える複
数のテストベクタの集合として設定することも可能であ
る。また、個別に第1のテストベクタを用意する手間を
省き、第1のテストベクタとして、第2のテストベクタ
の一部を利用するよう構成、制御する実施の形態も実現
できる。
【0027】次に図1の制御手段3によるシミュレーシ
ョン制御の流れについて図2を用いて説明する。図2に
おいて、第1のステップS1では、第1のテストベクタ
を用いてシミュレーションを行い、各機能モジュールに
発生するイベント数を計数する。第2のステップS2で
は、第1のステップS1で計数したイベント数を基準に
各機能モジュールのシミュレーション手段を選択し、第
2のテストベクタを用いてシミュレーションを行う。第
1のステップS1では、ステップS11において入力の
全てのハードウェア記述された機能モジュールについて
図1のイベント駆動シミュレーション手段11を用い、
かつ各々の機能モジュールにおける全信号線の信号値変
化を観測する設定でシミュレーションを実行し、観測結
果を残す。次にステップS12において、各機能モジュ
ール毎にその信号線上のイベント数をカウントし、さら
に総和を求める。
【0028】次に第2のステップS2では、ステップS
21で各機能モジュールごとにシミュレーション手段を
選択する。個々の機能モジュールに対する処理の詳細な
流れを図3に示す。図3において、ステップS211で
機能モジュールのイベント計数値とイベント数基準値を
入力し、ステップS212でこれらを比較し、ステップ
S213では、ステップS212で、イベント数基準値
より大きいイベント数が計数された機能モジュールに対
してサイクルシミュレーション手段12を選択し、ステ
ップS214で他の機能モジュールについてイベント駆
動シミュレーション手段11を選択する。図2のステッ
プS22ではイベント駆動シミュレーション手段11及
びサイクルシミュレーション手段12による統合シミュ
レーションを実行する。
【0029】次に本実施の形態1の動作を具体例に基づ
いて説明する。図4は被シミュレーションLSIのハー
ドウェア記述4の構成例を示す図である。図4のハード
ウェア記述4は4つの機能モジュールA、B、C、Dか
ら構成される。さらに図4の機能モジュールAは、フリ
ップフロップとANDゲートから構成されている。図4
のハードウェア記述されたLSIは、4本の入力線4
1、42、43、44を持ち、これらに対して、第1及
び第2のテストベクタが用意される。第1のテストベク
タは、図4の各機能モジュールのイベント数を計数する
ための比較的短いベクタであり、第2のテストベクタは
本来目的とする大規模な設計検証用ベクタである。
【0030】なお、本動作例の被シミュレーション回路
では、説明のため極めて小規模な機能モジュールを用い
た構成を示した。実際の被シミュレーション回路として
は、マイクロコントローラ、MPEG等の画像圧縮処理
回路、リードソロモン符号等の符号化復号化処理回路ク
ラスの機能モジュールから構成される大規模なシステム
LSIを想定し、本実施の形態1は、こうした大規模回
路のシミュレーションにも適用できる。
【0031】ここでは、第1のテストベクタでは、10
00クロックサイクル程度のパターンを与える。これに
対して第2のテストベクタは10万クロックサイクルか
ら100万クロックサイクルのパターンを与える。な
お、図4の信号44はクロック信号である。図4の回
路、第1のテストベクタに対して、まずイベント駆動シ
ミュレーション手段11を用いたシミュレーションを実
行する(第1のステップS1)。この時、各機能モジュ
ールA、B、C、Dのすべての信号を観測すべくトレー
スを取る。機能モジュールAの場合は、図4の信号45
から信号413までのトレースを取得する。シミュレー
ションを実行し、観測結果から、機能モジュールごとに
各々のすべての信号のイベント数、すなわち信号値の変
化回数を計算する。機能モジュールAに対するイベント
カウント結果を図5のテーブルに示す。図5のテーブル
から、全信号のイベント数を合計して、機能モジュール
Aのイベント計数値は3650となる。同様に各機能モ
ジュールB、C、Dのイベント計数値が、順に400
0、1900、200とカウントされるとする。
【0032】次に、機能モジュールのイベント数を基準
にシミュレーション方式を選択し、第2のテストベクタ
を用いたシミュレーションを実行する(第2のステップ
S2)。イベント数基準値を2000として与える。イ
ベント計数値とイベント数基準値を基にシミュレーショ
ン手段が選択する。機能モジュールAの場合、イベント
計数値が3650となるので、イベント数基準値200
0より大きいのでサイクルシミュレーション手段を選択
する。同様に機能モジュールBにはサイクルシミュレー
ション手段を選択し、機能モジュールC、Dではイベン
ト数基準値より小さいのでイベント駆動シミュレーショ
ン手段を選択する。
【0033】以上の構成及び手順により、第1のステッ
プにおける短いテストベクタを用いたイベント駆動方式
のシミュレーションによって、イベントの多く発生する
機能モジュールとイベントの発生の少ない機能モジュー
ルを判定して、前者にはサイクルベース方式のシミュレ
ーションを実行し、後者にはイベント駆動方式のシミュ
レーションを自動的に適用することができる。これによ
って、大規模なシステムLSIのシミュレーションにお
いても、設計者は回路動作やテストベクタの特徴を詳細
に調べる必要なく、適切なシミュレーション方式の組み
合わせにより、より短い時間でシミュレーションを実行
できる。
【0034】なお、図2の第1のステップS1における
イベント数の計数を機能モジュールの入力信号に限定す
る実施の形態が考えられる。この際の実施の構成、手順
は同様となるが、観測点を入力信号に限定するため、第
1ステップでのシミュレーションを高速に行い、イベン
トをカウントするための観測結果が要するデータ領域を
削減できる。
【0035】さらに図2の第1のステップS1における
イベント数の計数を機能モジュールのクロック入力信号
に限定する実施の形態が考えられる。この際の実施の構
成、手順は同様となる。この実施の形態では、上記の実
施の形態と比べ、さらに第1のステップS1でのシミュ
レーションを高速に行い、イベントをカウントするため
の観測結果が要するデータ領域を削減でき、第2のステ
ップS2のシミュレーションでは、クロック信号の供給
・停止に応じてシミュレーション方式が切り替えられ、
クロック信号供給の場合は、サイクルシミュレーション
を適用し、クロック信号停止の場合はイベント駆動シミ
ュレーションを適用することができる。
【0036】(実施の形態2)図6は本発明の実施の形
態2にかかるシミュレーション装置の構成図を示す。図
6は、図1のイベント計数手段2に替えてイベント発生
率計算手段9を備えた構成をとる。イベント発生率計算
手段9は、シミュレーション手段1のシミュレーション
結果から、各機能モジュールでのイベント発生率を計算
する。イベント発生率計算手段9は、機能モジュール内
における全ての信号線の観測結果について、各々の信号
で起きた信号値の変化をカウントし、これを各々の信号
のイベント数とする。この値を(全信号線数)×(第1
のテストベクタのシミュレーション単位時間数)で割っ
た値をイベント発生率とする。
【0037】次に図6の制御手段10によるシミュレー
ション制御の流れについて図7を用いて説明する。図7
における第1のステップS1では、第1のテストベクタ
を用いてシミュレーションを行い、各機能モジュールに
発生するイベントの発生率を計算する。図7における第
2のステップS2では第1のステップS1で計算したイ
ベント発生率を基準に各機能モジュールのシミュレーシ
ョン手段を選択し、第2のテストベクタを用いてシミュ
レーションを行う。第1のステップS1におけるステッ
プS11では、入力の全てのハードウェア記述された機
能モジュールについて図6のイベント駆動シミュレーシ
ョン手段11を用い、かつ各々の機能モジュールにおけ
る全信号線の信号値変化を観測する設定でシミュレーシ
ョンを実行し、観測結果を残す。次にステップS12に
おいて、各機能モジュール毎にその信号線上のイベント
数をカウントし、さらにイベント発生率を求める。
【0038】次に第2のステップS2では、ステップS
21で各機能モジュール毎にシミュレーション手段を選
択する。個々の機能モジュールに対する処理の詳細な流
れを図8に示す。図8において、ステップS211で機
能モジュールのイベント発生率とイベント発生率基準値
を入力し、ステップS212でこれらを比較し、ステッ
プS213では、ステップS212で、イベント発生率
基準値より大きいイベント発生率であると計算された機
能モジュールに対してサイクルシミュレーション手段1
2を選択し、ステップS214で他の機能モジュールに
ついてイベント駆動シミュレーション手段11を選択す
る。図7のステップS22ではイベント駆動シミュレー
ション手段11及びサイクルシミュレーション手段12
による統合シミュレーションを実行する。
【0039】次に本実施の形態2の動作を図4の具体例
に基づいて説明する。ここでは、機能モジュールAにお
けるイベント発生率の計算の処理を示す。以下の処理は
実施の形態1と同様である。
【0040】第1のステップで、図4の回路について第
1のテストベクタを用いたシミュレーションを実行し、
機能モジュールAの観測結果として、図5の表と同様の
イベント数がカウントされたとする。機能モジュールA
の全信号のイベント数を合計して、機能モジュールAの
イベント計数値は3650となる。次に1000サイク
ル数の第1のテストベクタのシミュレーション単位時間
数を1000とする(1サイクルを1シミュレーション
時間単位とする)。機能モジュールAの全信号数は13
であるので、イベント発生率は、3650÷(13×1
000)=0.28=28%と計算する。この場合、第
2のステップでのイベント発生率基準値を30%と指定
すると、機能モジュールAのシミュレーション手段に
は、イベント駆動シミュレーション手段が選択される。
【0041】以上の構成及び手順により、第1ステップ
における短いテストベクタを用いたイベント駆動方式の
シミュレーションによって、イベントの発生率の高い機
能モジュールとイベントの発生率の低い機能モジュール
とを判別して、前者にはサイクルベース方式のシミュレ
ーションを実行し、後者にはイベント駆動方式のシミュ
レーションを自動的に適用することが可能となる。特に
イベント発生率により判別することにより、機能モジュ
ールの規模やシミュレーション時間と比較した回路の動
作状況を判定できる。大規模な機能モジュールの場合
や、サイクル数が比較的多いテストベクタを用いた場
合、イベント数が多くとも実際は回路の一部のみが動作
している場合がある。この際には、本実施の形態では、
シミュレーション速度上有利なイベント駆動方式を選択
できる。
【0042】これによって、大規模なシステムLSIの
シミュレーションにおいても、設計者は回路動作やテス
トベクタの特徴を詳細に調べる必要なく、適切なシミュ
レーション方式の組み合わせにより、より短い時間でシ
ミュレーションを実行できる。
【0043】なお、図7の第1のステップS1における
イベント発生率の計算を機能モジュールの入力信号に限
定する実施の形態が考えられる。この際の実施の構成、
手順は同様となるが、観測点を入力信号に限定するた
め、第1ステップでのシミュレーションを高速に行い、
イベントをカウントするための観測結果が要するデータ
領域を削減することも可能となる。
【0044】さらに図7の第1のステップS1における
イベント発生率の計算を機能モジュールのクロック入力
信号に限定する実施の形態が考えられる。この際の実施
の構成、手順は同様となる。かかる実施の形態では、上
記の実施の形態と比べ、さらに第1のステップS1での
シミュレーションを高速に行い、イベントをカウントす
るための観測結果が要するデータ領域を削減でき、第2
のステップS2のシミュレーションでは、クロック信号
の供給・停止に応じてシミュレーション方式を切り替え
ることが可能となる。
【0045】(実施の形態3)本実施の形態3では、被
シミュレーション回路の長期間の複雑な動作をシミュレ
ーションする場合において、被シミュレーション回路を
構成する個々の機能モジュールの動作状況、すなわちイ
ベント発生状況に応じて、個々の機能モジュールのシミ
ュレーション方式をシミュレーション途中に変更し、高
速なシミュレーションの実行を可能とすることを目的と
する。
【0046】本実施の形態3では、シミュレーション実
行中、定期的に、かつ一定期間機能モジュールのイベン
ト発生状況を観測し、必要に応じてシミュレーション方
式を変更することによって、前記目的を達成する。この
際、シミュレーションを実行する設計者は、シミュレー
ション実行中にイベント発生状況を観測する時間間隔
を、再評価間隔としてナノ時間単位等で指定し、また個
々の機能モジュールのイベント発生状況を観測する期間
を評価時間として、同じくナノ時間単位等で指定する。
【0047】図9は本発明の実施の形態3にかかるシミ
ュレーション装置の構成図を示す。図9は、図6の10
の制御手段に替えて新たな制御手段101を備えた構成
をとる。制御手段101では、シミュレーション手段1
の統合シミュレーション手段が管理するシミュレーショ
ン時間を監視しながら、シミュレーションの実行・停止
の制御を行う。
【0048】次に図9の制御手段101によるシミュレ
ーション制御の流れについて図10を用いて説明する。
図10における第1のステップS1では、第1のテスト
ベクタを用いてシミュレーションを行い、各機能モジュ
ールに発生するイベントの発生率を計算する。図10に
おける第2のステップS2では第1のステップS1で計
算したイベント発生率を基準に各機能モジュールのシミ
ュレーション手段を選択し、第2のテストベクタを用い
てシミュレーションを行う。第1のステップS1におけ
るステップS11では、入力の全てのハードウェア記述
された機能モジュールについて図9のイベント駆動シミ
ュレーション手段11を用い、かつ各々の機能モジュー
ルにおける全信号線の信号値変化を観測する設定でシミ
ュレーションを実行し、観測結果を残す。次にステップ
S12において、各機能モジュールごとにその信号線上
のイベント数をカウントし、さらにイベント発生率を求
める。
【0049】次に第2のステップS2では、ステップS
21で各機能モジュール毎にシミュレーション手段を選
択する。ステップS21での個々の機能モジュールに対
する処理の詳細な流れは図8の説明と同様である。
【0050】図10におけるステップS22ではイベン
ト駆動シミュレーション手段11及びサイクルシミュレ
ーション手段12による統合シミュレーションを実行す
る。ステップS22の詳細な処理の流れについて図11
を用いて説明する。まず、図11におけるステップS2
21では、イベント発生率を再計算するまでのシミュレ
ーション時間間隔を示す再評価間隔とイベント発生率を
計算するためのシミュレーション時間を示す評価時間を
入力する。続いて統合シミュレーションを実行(ステッ
プS222)し、この間制御手段101は、シミュレー
ション時間の経過を監視(ステップS223)し、再評
価間隔分のシミュレーション時間が経過すると(ステッ
プS224)、統合シミュレーションを一時停止し、被
シミュレーションLSIの動作状態をすべてバックアッ
プする(ステップS225)。次に被シミュレーション
LSIのすべての信号に対するトレースを取得し(ステ
ップS226)、イベント駆動シミュレーション手段1
1を用いてシミュレーションを実行する(ステップS2
27)。ステップS227のシミュレーション実行で
は、ステップS225でバックアップされた動作状態を
アップロードし、ステップS221で入力した評価時間
分のシミュレーションを実行する。シミュレーションが
終了するとステップS228で、被シミュレーションL
SIの各機能モジュールのイベント発生率を図10のス
テップS12と同様に計算し、ステップS229で各機
能モジュールに対するシミュレーション手段の再選択を
行う。ステップS229も図10におけるステップS2
1と同様に行う。続いてステップS221に戻り、統合
シミュレーションを再実行する。2度目以降の統合シミ
ュレーションの実行ではバックアップされた動作状態を
アップロードした上で実行する。以上の図11の処理を
第2のテストベクタを用いたシミュレーションを完了す
るまで行う。
【0051】次に本実施の形態3の動作を図4の具体例
に基づいて説明する。図4に示す被シミュレーションL
SIを構成する4つの機能モジュールのうち、機能モジ
ュールAに対する本実施の形態3でのシミュレーション
手段選択の例のタイムチャートを図12に示す。図12
の例では、第2のテストベクタで30K(nsec)の
シミュレーションを実行する例を示しており、第1のテ
ストベクタによるシミュレーション時間は、1K(ns
ec)である。また、再評価間隔は、10K(nse
c)、再評価時の評価時間は1K(nsec)である。
まず、図12における期間2201では、第1のテスト
ベクタを用いて、イベント駆動シミュレーションを実行
する。この結果、機能モジュールAのイベント発生率を
求め、シミュレーション方式の選択を決定し、期間22
02が経過する10K(nsec)までは、機能モジュ
ールAに対して第2のテストベクタを用いてサイクルシ
ミュレーションを実行する。再評価間隔10K(nse
c)が経過すると、シミュレーション方式を切り替え、
期間2203において機能モジュールAに対して1K
(nsec)だけイベント駆動シミュレーションを実行
し、イベント発生率を再評価する。この結果、イベント
駆動方式が選択され、期間2204である10K(ns
ec)から20K(nsec)までイベント駆動シミュ
レーションを実行する。期間2205では、同様に機能
モジュールAを1K(nsec)だけイベント駆動方式
でシミュレーションし、イベント発生率を再評価する。
この結果、サイクルベース方式を選択し、期間2206
である20K(nsec)から30K(nsec)まで
サイクルシミュレーションを実行する。
【0052】以上の構成及び手順により、第1のステッ
プにおける短いテストベクタを用いたイベント駆動方式
のシミュレーションによって、イベントの発生率の高い
機能モジュールとイベントの発生率の低い機能モジュー
ルとを判別して、前者にはサイクルベース方式のシミュ
レーションを実行し、後者にはイベント駆動方式のシミ
ュレーションを自動的に適用することができる。
【0053】さらに所定時間経過後に被シミュレーショ
ンLSIの動作状態に基づいて各機能モジュールにおけ
る選択指標値を再計算し、シミュレーション方式の再選
択を行うため、回路の長期間の複雑な動作をシミュレー
ションする場合において動作状態が極端に変化しても、
かかる動作状況の変化に追随して最適なシミュレーショ
ン方式を適用することが可能となる。例えば、シミュレ
ーション中にクロック信号が停止するような機能モジュ
ールがあると、サイクルシミュレーションからイベント
シミュレーションへの切り替えが自動的に行われる。
【0054】なお、シミュレーションを実行する設計者
は、再評価間隔をシミュレーション時の回路動作シナリ
オに応じて被シミュレーション回路の動作モード等の変
化が予想される時間間隔を設定する。また、同じく評価
時間を平均的なイベント発生状況を観測するのに十分な
時間で設定する。これら再評価間隔及び評価時間の設定
に関わらず、同一のシミュレーション結果が得られる。
一方、再評価間隔及び評価時間によって、シミュレーシ
ョン時間が左右されるので、これを調節することによっ
て、より高速なシミュレーションを実行することができ
る。
【0055】これによって、大規模なシステムLSIの
シミュレーションにおいても、設計者は回路動作やテス
トベクタの特徴を詳細に調べる必要なく、適切なシミュ
レーション方式の組み合わせにより、より短い時間でシ
ミュレーションを実行できる。
【0056】なお、図11のステップS228における
イベント発生率の計算を機能モジュールのクロック入力
信号に限定する実施の形態が考えられる。この際の実施
の構成、手順は同様となる。この実施の形態では、上記
の実施の形態に比べ、図11のステップS227におけ
るイベント発生率の再計算を目的としたイベント駆動シ
ミュレーションを高速に行い、イベントをカウントする
ための観測結果が要するデータ領域を削減することも可
能となる。
【0057】なお、本発明の実施の形態にかかるシミュ
レーション装置を実現するプログラムを記憶した記録媒
体は、図13に示す記録媒体の例に示すように、CD−
ROMやフロッピーディスク等の可搬型記録媒体だけで
なく、通信回線の先に備えられた他の記憶装置や、コン
ピュータのハードディスクやRAM等の記録媒体のいず
れでも良く、プログラム実行時には、プログラムはロー
ディングされ、主メモリ上で実行される。
【0058】また、本発明の実施の形態にかかるシミュ
レーション装置により計測されたイベント発生数等を記
録した記録媒体も、図13に示す記録媒体の例に示すよ
うに、CD−ROMやフロッピーディスク等の可搬型記
録媒体だけでなく、通信回線の先に備えられた他の記憶
装置や、コンピュータのハードディスクやRAM等の記
録媒体のいずれでも良く、例えば本発明にかかるシミュ
レーション装置を利用する際にコンピュータにより読み
取られる。
【0059】
【発明の効果】以上のように本発明によれば、第1のス
テップにおける短いテストベクタを用いたイベント駆動
方式のシミュレーションによって、イベントが多く発生
してモジュール全体が活発に動作する機能モジュール
と、イベントの発生が少なくモジュールの一部のみが動
作する機能モジュールとを判別して、前者にはサイクル
ベース方式のシミュレーションを、後者にはイベント駆
動方式のシミュレーションを、各々自動的に適用するこ
とができる。これによって、大規模なシステムLSIの
シミュレーションにおいても、設計者は回路動作やテス
トベクタの特徴を詳細に調べる必要なく、適切なシミュ
レーション方式の組み合わせができ、より短い時間でシ
ミュレーションを実行することが可能となる。
【0060】また、LSIシミュレーション中にクロッ
ク信号の停止などの各機能モジュールの動作状況が変化
する場合にも、これに追随して適切なシミュレーション
方式を割り当てることが可能となり、大規模なLSIの
複雑な動作のシミュレーションも含めて効率良く処理を
実行することが可能となる。
【図面の簡単な説明】
【図1】 本発明の実施の形態1にかかるシミュレーシ
ョン装置の構成図
【図2】 本発明の実施の形態1にかかるシミュレーシ
ョン装置のシミュレーション制御の流れ図
【図3】 本発明の実施の形態1にかかるシミュレーシ
ョン装置のシミュレーション制御の流れ図
【図4】 本発明の実施の形態1にかかるシミュレーシ
ョン装置の動作説明に用いるLSIの回路例を示す図
【図5】 本発明の実施の形態1にかかるシミュレーシ
ョン装置の動作説明でのイベント数計数結果例を示す図
【図6】 本発明の実施の形態2にかかるシミュレーシ
ョン装置の構成図
【図7】 本発明の実施の形態2にかかるシミュレーシ
ョン装置のシミュレーション制御の流れ図
【図8】 本発明の実施の形態2にかかるシミュレーシ
ョン装置のシミュレーション制御の流れ図
【図9】 本発明の実施の形態3にかかるシミュレーシ
ョン装置の構成図
【図10】 本発明の実施の形態3にかかるシミュレー
ション装置のシミュレーション制御の流れ図
【図11】 本発明の実施の形態3にかかるシミュレー
ション装置のシミュレーション制御の流れ図
【図12】 本発明の実施の形態3にかかるシミュレー
ション装置の動作説明に用いる制御タイミング例を示す
【図13】 記録媒体の例示図
【符号の説明】
1 シミュレーション手段 2 イベント計数手段 3 制御手段 4 被シミュレーションLSI回路のハードウェア記述 5 第1のテストベクタ 6 第2のテストベクタ 7 第1のテストベクタ用いたシミュレーションの観測
結果 8 第2のテストベクタ用いたシミュレーションの観測
結果 11 イベント駆動シミュレーション手段 12 サイクルシミュレーション手段 13 選択手段 14 統合シミュレーション制御手段 131 回線先の記憶装置 132 CD−ROMやフロッピーディスク等の可搬型
記録媒体 132−1 CD−ROM 132−2 フロッピーディスク 133 コンピュータ 134 コンピュータ上のRAM/ハードディスク等の
記録媒体
フロントページの続き (56)参考文献 特開 平9−73475(JP,A) 特開 平11−85810(JP,A) 特開 平5−12371(JP,A) 特開 平6−35990(JP,A) 特開 平5−314202(JP,A) (58)調査した分野(Int.Cl.7,DB名) G06F 17/50 G06F 17/00 JICSTファイル(JOIS)

Claims (8)

    (57)【特許請求の範囲】
  1. 【請求項1】 第1のテストベクタを用いたLSI動作
    のシミュレーションにおいて、前記LSIを構成する各
    機能モジュールに発生するイベント数を計数して前記各
    機能モジュールのシミュレーション方式を選択する指標
    値を算出する手段と、 前記選択指標値に基づいて、前記各機能モジュールのシ
    ミュレーション方式を複数の前記シミュレーション方式
    の中からそれぞれ一つ選択するシミュレーション方式選
    択手段と、 前記各機能モジュールごとに選択されたシミュレーショ
    ン方式で第2のテストベクタを用いたLSI動作のシミ
    ュレーションの実行を制御する制御手段を備えることを
    特徴としたシミュレーション装置。
  2. 【請求項2】 前記複数のシミュレーション方式が、 前記機能モジュールをクロック信号サイクルでシミュレ
    ーションするサイクルシミュレーション方式と、 前記機能モジュールをイベント駆動でシミュレーション
    するイベント駆動シミュレーション方式を含む請求項1
    記載のシミュレーション装置。
  3. 【請求項3】 前記選択指標値を計数された前記イベン
    ト数とする請求項1記載のシミュレーション装置。
  4. 【請求項4】 前記選択指標値を、計数された前記イベ
    ント数を機能モジュールの回路規模・シミュレーション
    単位時間数の積で除したイベント発生率とする請求項1
    記載のシミュレーション装置。
  5. 【請求項5】 前記制御手段は、所定の期間経過後に前
    記第2のテストベクタを用いたシミュレーションを一時
    停止させて、前記選択指標値を再度算出させ、該選択指
    標値に基づいて前記各機能モジュールのシミュレーショ
    ン方式をそれぞれ前記複数のシミュレーション方式の中
    から一つ選択し、一時停止の状態から第2のテストベク
    タを用いたLSI動作のシミュレーションの再実行を制
    御する請求項1記載のシミュレーション装置。
  6. 【請求項6】 前記選択指標値算出手段は、前記イベン
    ト数を入力信号についてのみ計数する請求項5記載のシ
    ミュレーション装置。
  7. 【請求項7】 前記選択値算出手段は、前記イベント数
    をクロック信号についてのみ計数する請求項5記載のシ
    ミュレーション装置。
  8. 【請求項8】 第1のテストベクタを用いたLSI動作
    のシミュレーションにおいて、前記LSIを構成する各
    機能モジュールに発生するイベント数を計数して前記各
    機能モジュールのシミュレーション方式を選択する指標
    値を算出するステップと、 前記選択指標値に基づいて、前記各機能モジュールのシ
    ミュレーション方式を複数の前記シミュレーション方式
    の中からそれぞれ一つ選択するステップと、 前記各機能モジュールごとに選択されたシミュレーショ
    ン方式で第2のテストベクタを用いたLSI動作のシミ
    ュレーションを行うステップを含むことを特徴としたコ
    ンピュータに実行させるプログラムを記録したコンピュ
    ータ読み取り可能な記録媒体。
JP1604199A 1998-02-05 1999-01-25 シミュレ―ション装置及び当該シミュレ―ション装置を実現するコンピュ―タに実行させるプログラムを記録したコンピュ―タ読み取り可能な記録媒体 Expired - Fee Related JP3004641B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP1604199A JP3004641B2 (ja) 1998-02-05 1999-01-25 シミュレ―ション装置及び当該シミュレ―ション装置を実現するコンピュ―タに実行させるプログラムを記録したコンピュ―タ読み取り可能な記録媒体

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP2490598 1998-02-05
JP10-24905 1998-02-05
JP1604199A JP3004641B2 (ja) 1998-02-05 1999-01-25 シミュレ―ション装置及び当該シミュレ―ション装置を実現するコンピュ―タに実行させるプログラムを記録したコンピュ―タ読み取り可能な記録媒体

Publications (2)

Publication Number Publication Date
JPH11288432A JPH11288432A (ja) 1999-10-19
JP3004641B2 true JP3004641B2 (ja) 2000-01-31

Family

ID=26352285

Family Applications (1)

Application Number Title Priority Date Filing Date
JP1604199A Expired - Fee Related JP3004641B2 (ja) 1998-02-05 1999-01-25 シミュレ―ション装置及び当該シミュレ―ション装置を実現するコンピュ―タに実行させるプログラムを記録したコンピュ―タ読み取り可能な記録媒体

Country Status (1)

Country Link
JP (1) JP3004641B2 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6678645B1 (en) * 1999-10-28 2004-01-13 Advantest Corp. Method and apparatus for SoC design validation

Also Published As

Publication number Publication date
JPH11288432A (ja) 1999-10-19

Similar Documents

Publication Publication Date Title
US7930162B1 (en) Accelerating hardware co-simulation using dynamic replay on first-in-first-out-driven command processor
JP4667206B2 (ja) マルチコアモデルシミュレーションプログラム、該プログラムを記録した記録媒体、マルチコアモデルシミュレータ、およびマルチコアモデルシミュレーション方法
WO1985002033A1 (en) Digital system simulation method and apparatus
US8839164B2 (en) Power state transition verification for electronic design
US8762779B2 (en) Multi-core processor with external instruction execution rate heartbeat
KR20140079417A (ko) 상호연결 전력 관리기를 위한 장치 및 방법들
US6370494B1 (en) Simulator and computer-readable recordable medium having program for execution on computer realizing the simulator recorded thereon
US20060248487A1 (en) A method of optimization of clock gating in integrated circuit designs
CN103309431A (zh) 动态频率调整
US7979822B2 (en) Apparatus and method for performing a sequence of verification tests to verify a design of a data processing system
JP5308098B2 (ja) 情報処理装置試験プログラム及び方法
US20090171646A1 (en) Method for estimating power consumption
EP1801603B1 (en) Test simulator, test simulation program and recording medium
US20090006068A1 (en) Software executing device and co-operation method
CN112560374A (zh) 集成的仿真器与分析和优化引擎
JP3004641B2 (ja) シミュレ―ション装置及び当該シミュレ―ション装置を実現するコンピュ―タに実行させるプログラムを記録したコンピュ―タ読み取り可能な記録媒体
US20050223300A1 (en) Customizable event creation logic for hardware monitoring
US5903577A (en) Method and apparatus for analyzing digital circuits
US8626483B2 (en) Efficient clock models and their use in simulation
US8195441B1 (en) Hardware co-simulation involving a processor disposed on a programmable integrated circuit
US5410673A (en) Method and apparatus for simulating a logic circuit having a plurality of interconnect logic blocks
JPH08328905A (ja) シミュレーション方法および装置
CN114201000B (zh) 时钟控制方法、装置、电子设备及存储介质
TWI427496B (zh) 製造積體電路的模型的方法和系統
JP5098517B2 (ja) 消費電力解析方法及び消費電力解析装置

Legal Events

Date Code Title Description
LAPS Cancellation because of no payment of annual fees