JPH10261002A - 設計支援方法および設計支援装置 - Google Patents

設計支援方法および設計支援装置

Info

Publication number
JPH10261002A
JPH10261002A JP6514397A JP6514397A JPH10261002A JP H10261002 A JPH10261002 A JP H10261002A JP 6514397 A JP6514397 A JP 6514397A JP 6514397 A JP6514397 A JP 6514397A JP H10261002 A JPH10261002 A JP H10261002A
Authority
JP
Japan
Prior art keywords
hardware
time
model
switching
simulator
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.)
Granted
Application number
JP6514397A
Other languages
English (en)
Other versions
JP3472067B2 (ja
Inventor
Naomi Takeda
奈穂美 武田
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.)
Toshiba Corp
Original Assignee
Toshiba 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 Toshiba Corp filed Critical Toshiba Corp
Priority to JP06514397A priority Critical patent/JP3472067B2/ja
Publication of JPH10261002A publication Critical patent/JPH10261002A/ja
Application granted granted Critical
Publication of JP3472067B2 publication Critical patent/JP3472067B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02PCLIMATE CHANGE MITIGATION TECHNOLOGIES IN THE PRODUCTION OR PROCESSING OF GOODS
    • Y02P90/00Enabling technologies with a potential contribution to greenhouse gas [GHG] emissions mitigation
    • Y02P90/30Computing systems specially adapted for manufacturing

Landscapes

  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

(57)【要約】 【課題】簡略なシミュレーションから詳細なシミュレー
ションに切り替えが円滑に行え、検証のレベルにあった
シミュレーションが容易にしかも高速に行える設計支援
装置を提供する。 【解決手段】ハードウエアの検証モデルを少なくとも2
つ指定する第1の指定手段と、この指定された検証モデ
ルのそれぞれの時刻精度を獲得する時刻精度獲得手段
と、前記指定された検証モデルの第1の切替時刻を指定
する第2の指定手段と、この第2の指定手段で指定され
た第1の切替時刻から前記時刻精度獲得手段で獲得され
た時刻精度に基づき決定された時間だけ前倒しした第2
の切替時刻まで、前記時刻精度獲得手段で獲得された時
刻精度の粗い方の検証モデルで前記ハードウエアの動作
を検証し、前記第2の切替時刻で前記時刻精度の細かい
方の検証モデルに切り替えて前記ハードウエアの動作を
検証する検証手段とを具備する。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明はハードウェアの設計
を支援するCAD(計算機支援設計)システムに係わ
る。
【0002】
【従来の技術】近年、LSI等の設計対象ハードウェア
の大規模化に伴って、設計効率の向上を目的として機能
設計のような設計の上位工程から設計を支援するCAD
システムが開発されている。
【0003】ここで、シミュレータの入力データとして
は、図面による入力の他に、ソフトウェアのプログラム
言語に類似したハードウェア設計用のハードウェア記述
言語(以下HDLと表記する)が用いられ、設計者は図
面やあるいはHDL等をシミュレータに入力し、シミュ
レーションによって設計を検証する。
【0004】HDLの中でも、VHDL、Verilo
g HDL等は、ミックスレベルシミュレーションをサ
ポートしている。すなわち、単一のHDLにより複数の
記述レベル、記述方式でモデル記述を行ない、それらを
結合して検証できるため、多くの設計で利用されつつあ
る。
【0005】シミュレーションモデル中に記述された並
列に動作する単位をプロセスという。VHDL、Ver
ilog HDLで記述されたプロセスの一例をそれぞ
れ図2、3に示す。
【0006】VHDL記述におけるプロセスは(図2参
照)、予約語「process」に続く括弧中に示され
る信号、すなわちこの例の場合、信号「in1」、「i
n2」の値が変化したとき実行される。同様にVeri
log HDLにおけるプロセスは(図3参照)、予約
語「always@」に続く括弧中に示される信号の値
が変化したときに実行される。
【0007】上記の括弧中に示される信号のリストをプ
ロセスのセンシティビティ・リストといい、その信号を
センシティビティ信号、駆動信号という。
【0008】上位工程からの設計を支援するために、シ
ミュレータには大規模な回路を高速にシミュレーション
できる能力が強く要求されている。
【0009】そのために、大規模な回路を、従来用いら
れていたイベントドリブン方式のシミュレータでシミュ
レーションするのではなく、サイクルベース方式という
高速化方式でシミュレーションする方法などが提案され
てきている。
【0010】イベントドリブン法とは、ある時刻である
素子の入力に変化があれば、次の時刻でその素子の論理
演算を行い、変化がなければ何も行わない手法である。
【0011】以下に、イベントドリブン方式を示す。
【0012】イベントドリブンシミュレーション ステップ0:(初期プロセス実行) 全てのプロセスを
動作させ、信号値更新要求について処理し信号代入予約
を登録し、ステップ1へ進む。
【0013】ステップ1:(サイクル更新) シミュレ
ーションサイクルを1サイクル進める。現サイクルにお
けるタイムホイールに代入予約が登録されているならス
テップ3へ進む。登録されていないならステップ2へ進
む。
【0014】ステップ2:(時刻更新) 時刻を一時刻
進める。現時刻における信号値更新要求が存在するなら
ステップ4へ進む。存在しないなら、存在するところま
で時刻を進めてステップ3へ進む。
【0015】ステップ3:(信号代入) 現時刻におけ
る信号値更新を実行する。この時、値が更新される信号
が駆動するプロセスをタイムホイールへ登録する(以
下、プロセス実行予約と記す)。次にステップ4へ進
む。
【0016】ステップ4:(プロセス実行) ステップ
3でプロセス実行予約されたプロセスを動作させ、信号
値更新要求について処理し、ステップ1へ戻る。
【0017】このように、イベントドリブンシ方式のミ
ュレーションは、信号の値の変化(イベント)を検出し
て、順次信号値を伝搬させていき、全ての信号に変化が
なくなった時に初めて、時刻の更新を行なうようになっ
ている。
【0018】一方、サイクルベース方式のシミュレーシ
ョンは、あらかじめシミュレーションモデルの処理の依
存関係を静的に解析し、イベントドリブン方式でシミュ
レーションした場合とクロックの区切りで結果が一致す
るようにプロセス等の実行順序を決定して、1クロック
毎に回路全体を決められた回数だけ評価する。
【0019】サイクルベース方式のシミュレーションは
タイミングを検証するために用いられるのではなく、機
能の確認に目的を絞って高速に検証を行なうために用い
られる。そのため、クロック信号以外の信号の代入予約
記述に書かれた遅延を許さないか、無視されることが多
い。
【0020】イベントドリブン方式でシミュレーション
した時に、一クロック内に何度も値が変化していた信号
は、サイクルベース方式のシミュレーションにおいて
は、値の変化は1クロックに1回(場合によっては複数
回だが定数回である)だけになり、シミュレーションを
高速化することができる。
【0021】しかし、サイクルベース方式を用いる場
合、シミュレーションモデルの処理の依存関係に基づい
て、プロセス等の実行順序をあらかじめ固定しているた
め、イベントの伝搬の様子等を詳細に観測することは困
難である。
【0022】サイクルベース方式の他に、シミュレーシ
ョン高速化の手段として、大規模な回路のうち、既にデ
バッグ済みのモジュールや、市販モジュール部分はハー
ドウェアの構成に基づいたレジスタ・トランスファ・レ
ベルのモデルではなく対象となるハードウェアモデルの
動作に基づいたビヘイビア・レベルのモデルを用いるこ
とによって回路全体のシミュレーション速度を向上させ
るという方法なども用いられている。
【0023】この手法の場合、ある大規模回路をシミュ
レーション中に、ビヘイビア・レベルのモデルを用いて
いるモジュールのレジスタ・トランスファ・レベルでの
デバッグが必要になった場合、モデルをビヘイビアモデ
ルからレジスタ・トランスファ・レベルのモデルに変え
てシミュレーションを最初からやり直さなくてはならな
い。
【0024】
【発明が解決しようとする課題】サイクルベース方式で
は、高速なシミュレーションが行えるが、イベントの伝
搬の様子等を詳細に観測することは困難であるという問
題があった。そのため、サイクルベース方式で検証を行
なって、詳細なシミュレーションが必要と判断された
時、改めて、イベントドリブン方式等の詳細であるが低
速なシミュレーションを最初から実行し直さなくてはな
らない。この場合、問題が発生する時刻までは信号を詳
細に観測する必要がないにも関わらず、低速なシミュレ
ーションを行なうため、検証期間を増大させる結果につ
ながるという問題があった。
【0025】また、大規模回路のうち、一部をビヘイビ
ア・レベルのモデルを用いることによって回路全体のシ
ミュレーション速度を向上させるという方法では、ある
大規模回路をシミュレーション中に、ビヘイビア・レベ
ルのモデルを用いているモジュールのレジスタ・トラン
スファ・レベルでのデバッグが必要になった場合、モデ
ルをビヘイアモデルからレジスタ・トランスファ・レベ
ルのモデルに変えてシミュレーションを最初からやり直
さなくてはならないという問題があった。
【0026】そこで、本発明は、特に、簡略なシミュレ
ーションから詳細なシミュレーションに切り替えが円滑
に行え、検証のレベルにあったシミュレーションが容易
にしかも高速に行える設計支援方法およびそれを用いた
設計支援装置を提供することを目的とする。
【0027】
【課題を解決するための手段】本発明の設計支援方法
は、少なくとも2つのハードウエアのモデルのそれぞれ
の詳細度を獲得し、これらモデルの切替時刻が指定され
た場合に、この指定された切替時刻と前記詳細度とに基
づき決定された切替時刻で前記モデルを切替えて前記ハ
ードウエアの動作を検証することにより、特に、簡略な
シミュレーションから詳細なシミュレーションへの切り
替えが円滑に行え、検証のレベルにあったシミュレーシ
ョンが容易にしかも高速に行える。
【0028】また、本発明の設計支援方法は、少なくと
も2つのハードウエアの動作を検証するシミュレータの
それぞれの詳細度を獲得し、これらシミュレータの切替
時刻が指定された場合に、この指定された切替時刻と前
記詳細度とに基づき決定された切替時刻で前記シミュレ
ータを切替えて前記ハードウエアの動作を検証すること
により、特に、簡略なシミュレーションから詳細なシミ
ュレーションへの切り替えが円滑に行え、検証のレベル
にあったシミュレーションが容易にしかも高速に行え
る。
【0029】また、本発明の設計支援方法は、少なくと
も2つのハードウエアのモデルのそれぞれの詳細度を獲
得し、これらモデルの第1の切替時刻が指定された場合
に、この第1の切替時刻から前記詳細度に基づき決定さ
れた時間だけ前倒しした第2の切替時刻まで、詳細度の
粗い方のモデルで前記ハードウエアの動作を検証し、前
記第2の切替時刻で詳細度の細かい方のモデルに切り替
えて前記ハードウエアの動作を検証することにより、特
に、簡略なシミュレーションから詳細なシミュレーショ
ンへの切り替えが円滑に行え、検証のレベルにあったシ
ミュレーションが容易にしかも高速に行える。
【0030】また、本発明の設計支援方法は、少なくと
も2つのハードウエアの動作を検証するシミュレータの
それそれの詳細度を獲得し、これらシミュレータの第1
の切替時刻が指定された場合に、この第1の切替時刻か
ら前記詳細度に基づき決定された時間だけ前倒しした第
2の切替時刻まで、詳細度の粗い方のシミュレータで前
記ハードウエアの動作を検証し、前記第2の切替時刻で
詳細度の細かい方のシミュレータに切り替えて前記ハー
ドウエアの動作を検証することにより、特に、簡略なシ
ミュレーションから詳細なシミュレーションへの切り替
えが円滑に行え、検証のレベルにあったシミュレーショ
ンが容易にしかも高速に行える。
【0031】本発明の設計支援装置は、ハードウエアの
モデルを少なくとも2つ指定するモデル指定手段と、こ
のモデル指定手段で指定されたモデルの詳細度を獲得す
る詳細度獲得手段と、前記モデル指定手段で指定された
モデルの切替時刻を指定する時刻指定手段と、この時刻
指定手段で指定された切替時刻と前記詳細度獲得手段で
獲得された前記モデルの詳細度に基づき決定された切替
時刻で前記モデルを切替えて前記ハードウエアの動作を
検証する検証手段と、を具備したことにより、特に、簡
略なシミュレーションから詳細なシミュレーションへの
切り替えが円滑に行え、検証のレベルにあったシミュレ
ーションが容易にしかも高速に行える。
【0032】また、本発明の設計支援装置は、ハードウ
エアの動作を検証するシミュレータを少なくとも2つ指
定するシミュレータ指定手段と、このシミュレータ指定
手段で指定されたシミュレータの詳細度を獲得する詳細
度獲得手段と、前記シミュレータ指定手段で指定された
シミュレータの切替時刻を指定する時刻指定手段と、こ
の時刻指定手段で指定された切替時刻と前記詳細度獲得
手段で獲得された前記シミュレータの詳細度とに基づき
決定された切替時刻で前記シミュレータを切替えて前記
ハードウエアの動作を検証する検証手段と、を具備した
ことにより、特に、簡略なシミュレーションから詳細な
シミュレーションへの切り替えが円滑に行え、検証のレ
ベルにあったシミュレーションが容易にしかも高速に行
える。
【0033】また、本発明の設計支援装置は、ハードウ
エアのモデルを少なくとも2つ指定するモデル指定手段
と、このモデル指定手段で指定されたモデルのそれぞれ
の詳細度を獲得する詳細度獲得手段と、前記モデル指定
手段で指定されたモデルの第1の切替時刻を指定する時
刻指定手段と、この時刻指定手段で指定された第1の切
替時刻から前記詳細度獲得手段で獲得された詳細度に基
づき決定された時間だけ前倒しした第2の切替時刻ま
で、前記詳細度獲得手段で獲得された詳細度の粗い方の
モデルで前記ハードウエアの動作を検証し、前記第2の
切替時刻で前記詳細度の細かい方のモデルに切り替えて
前記ハードウエアの動作を検証する検証手段と、を具備
したことにより、特に、簡略なシミュレーションから詳
細なシミュレーションへの切り替えが円滑に行え、検証
のレベルにあったシミュレーションが容易にしかも高速
に行える。
【0034】また、本発明の設計支援装置は、ハードウ
エアの動作を検証する2つのシミュレータを指定するシ
ミュレータ指定手段と、このシミュレータ指定手段で指
定されたシミュレータの詳細度を獲得する詳細度獲得手
段と、前記シミュレータ指定手段で指定されたシミュレ
ータの第1の切替時刻を指定する時刻指定手段と、この
時刻指定手段で指定された第1の切替時刻から前記詳細
度獲得手段で獲得された詳細度に基づき決定された時間
だけ前倒しした第2の切替時刻まで、前記詳細度獲得手
段で獲得された詳細度の粗い方のシミュレータで前記ハ
ードウエアの動作を検証し、前記第2の切替時刻で前記
詳細度の細かい方のシミュレータに切り替えて前記ハー
ドウエアの動作を検証する検証手段と、を具備したこと
により、特に、簡略なシミュレーションから詳細なシミ
ュレーションへの切り替えが円滑に行え、検証のレベル
にあったシミュレーションが容易にしかも高速に行え
る。
【0035】また、本発明の設計支援装置は、ハードウ
エアの簡略なモデルを用いて前記ハードウエアとそのハ
ードウエアを機能させるソフトウエアの動作を検証する
第1の検証手段と、ハードウエアの詳細なモデルを用い
て前記ハードウエアとそのハードウエアを機能させるソ
フトウエアの動作を検証する第2の検証手段と、前記第
1および第2の検証手段のいずれか一方に切替る切替手
段と、を具備したことにより、検証対象にあったシミュ
レーションが容易にしかも高速に行える。
【0036】また、本発明の設計支援装置は、ハードウ
エアの動作を簡略に検証するシミュレータを用いて前記
ハードウエアとそのハードウエアを機能させるソフトウ
エアの動作を検証する第1の検証手段と、ハードウエア
の動作を詳細に検証するシミュレータを用いて前記ハー
ドウエアとそのハードウエアを機能させるソフトウエア
の動作を検証する第2の検証手段と、前記第1および第
2の検証手段のいずれか一方に切替る切替手段と、を具
備したことにより、検証対象にあったシミュレーション
が容易にしかも高速に行える。
【0037】
【発明の実施の形態】以下、本発明の実施の形態につい
て図面を参照して説明する。
【0038】(第1の実施形態)まず、第1の実施形態
として、ハードウエアの動作検証を行う際、そのハード
ウエアの時刻精度(詳細度)の異なる複数(例えば2
つ)の検証モデル(ハードウエアモデル)を切り替えて
シミュレーションを行う場合について説明する。
【0039】(1.1) 構成と動作 図1は、第1の実施形態に係る設計支援装置の構成例を
概略的に示した図で、第1のハードウエアモデル指定部
1、第2のハードウエア指定部2、モデル切替時刻指定
部3、時刻精度獲得部4、ハードウエアモデル記憶部
5、切替時間決定部6、ハードウエアモデル切替部7、
シミュレーション実行部8から構成される。
【0040】ハードウエアモデル記憶部5には、例え
ば、図7、図8に示すように記述されたハードウエアモ
デルが記憶されている。
【0041】図7に示すハードウエアモデルの記述内容
を行番号に沿って説明する。
【0042】行0〜行1: モジュールの名前が「mo
del0」であり、そのモジュールには入力、出力のい
ずれのポートもないことを示す。
【0043】行2〜行31: モジュール「model
0」の内部の構成を示す。
【0044】行3: モジュール「model0」内の
信号が「CLK」、「A」、「B」、「C」、「D」で
あることを示す。
【0045】行5〜行8: 信号「CLK」が10ns
毎に反転することを示す。
【0046】行9〜行16: 信号「CLK」にイベン
トが発生した時に起動されるプロセスである。信号「C
LK」が「1」である時には信号「C」の値を信号
「A」に代入予約し、信号「CLK」が「0」の時には
信号「A」の値を反転した値を信号「A」に代入予約す
る。
【0047】行17〜行24: 信号「A」にイベント
が発生した時、起動される2つのプロセス「p2」、
「p3」の記述であり、プロセス「p2」は信号「A」
の値を反転して2ns後に信号「B」に転送し、プロセ
ス「p3」は信号「A」の値を1ns後に信号「D」に
転送する。
【0048】行25〜行30: 信号「B」、信号
「D」の少なくとも1つの信号にイベントが発生した
時、起動されるプロセス「p4」の記述であり、信号
「B」と信号「D」の排他的論理和を信号「C」に転送
する。その後、信号「C」に最後にトランザクション
(値が変化する場合をイベントと呼ぶのに対して、値の
変化の有無に関わらず、信号の代入が実行された場合、
これをトランザクションと呼ぶ)が発生してからの経過
時刻をファイル「outf」に出力する。
【0049】図8に示すハードウエアモデルの記述内容
を行番号に沿って説明する。
【0050】行0〜行1: モジュールの名前が「mo
del1」であり、そのモデルには入力、出力のいずれ
のポートもないことを示す。
【0051】行2〜行29: モジュール「model
1」の内部の構成を示す。
【0052】行3: モジュール「model1」内の
信号が「CLK」、「C」であることを示す。
【0053】行5〜行8: 信号「CLK」が10ns
毎に反転することを示す。
【0054】行9〜行24: 信号「CLK」にイベン
トが発生した時に起動されるプロセスの記述である。こ
のプロセス中の変数が「A」、「B」、「D」であるこ
とを示す。また、ファイル出力のための「F」、「L」
の定義をする。「−」以降の記述はコメントであり、1
4行の「−p1」は行13〜行17部分が図7のプロセ
スp1に相当する部分であることを示す。以下、行2
0、行22、行24も同様である。すなわち、信号「C
LK」が「1」である時には信号「C」の値を変数
「A」に代入し、信号「CLK」が「0」の時には変数
「A」の値を反転した値を代入する。次に、変数「A」
の値の反転を変数「B」に代入し、変数「A」の値を変
数「D」に代入する。その後、変数「B」と変数「D」
の排他的論理和を信号「C」に代入予約する。また、信
号「C」に最後に発生したトランザクションからの経過
時間をファイル「outf」に出力する。
【0055】図7と図8の記述はそれぞれ、上記のよう
な動作をするが、クロックのエッジにおいて信号「CL
K」と信号「C」の値に注目すると、同じ結果が得られ
るモデルである。
【0056】これらのモデルは、図1のハードウェアモ
デル記憶部4に記憶されている。なお、ここでは、2つ
のハードウェアモデルが記憶されているものとして説明
を行なうが、3つ以上のハードウェアモデルが記憶され
ている場合も同様に考えられる。
【0057】第1のハードウエアモデル指定部1、第2
のハードウエアモデル指定部2は、ハードウエアモデル
記憶部5に記憶されたハードウエアのいずれかを指定す
るもので、ここでは、例えば、第1のハードウェアモデ
ル指定部1で図8のvhdl記述モデルが指定され、第
2のハードウェアモデル指定部2で図7のvhdl記述
モデルが指定された場合を例にとって示す。なお、以下
の説明において、第1のハードウエアモデル指定部1で
指定されたハードウエアモデルを第1のモデル、第2の
ハードウエアモデル指定部2で指定されたハードウエア
モデルを第2のモデルと呼ぶことがある。すなわち、こ
こでは、図8のvhdl記述モデルが第1のモデルで、
図7のvhdl記述モデルが第2のモデルとなる。
【0058】モデル切替時刻指定部3では、前記第1お
よび第2のハードウエアモデル1、2にて指定されたハ
ードウエアモデルを一方から他方に切り替える切替時刻
をユーザが指定するようになっている。ここでは、切替
時刻指定部3で、例えば、「50ns」という時刻が指
定されたものとする。
【0059】時刻精度獲得部4では、第1および第2の
ハードウエアモデル指定部1、2で指定されたハードウ
ェアモデルを解析して、あるいは、ハードウェアモデル
に付加されている情報によって、あるいは設計者による
入力によって各モデル時刻精度を獲得するようになって
いる。
【0060】ハードウエアモデルを解析して各モデルの
時刻精度を獲得する場合を例にとり説明すると、例え
ば、図7の記述中で各プロセスのセンシティビティ信号
として使用されている信号「CLK」、「A」、
「B」、「D」への代入予約文は行7、行12、行1
4、行19、行23、行27であり、これらの代入文の
時刻部分は、デルタ遅延(0ns:0遅延とも呼ばれ
る)、1ns、2ns、10nsの遅延である。この遅
延は、例えば、回路素子の遅延時間に相当するもので
る。デルタ遅延は全ての遅延の約数となると仮定する
と、これらの遅延の最大公約数はデルタ遅延、すなわ
ち、0nsである。このように時刻精度を記述中の遅延
の最大公約数として定義すれば、図7の記述によるハー
ドウエアモデルの時刻精度はデルタ遅延(0ns)であ
る。
【0061】一方、図8の記述中でプロセスのセンシテ
ィビティ信号として使用されているのは信号「CLK」
のみである。この代入文の時刻部分は10ns(7行参
照)であるため、時刻精度は10nsとなる。
【0062】ここでは、記述中の全てのプロセスに関し
て駆動信号の代入予約文を解析し、そこに現れる遅延の
最大公約数を時刻精度としたが、記述中で注目する信号
やプロセスに関して時刻精度を決定する場合もある。
【0063】切替時間決定部6では、切替時刻指定部3
で指定された時刻と時刻精度獲得部4で獲得された2つ
のハードウエアモデルの時刻精度に基づき実際にシミュ
レーションモデルを切り替える時刻を決定する。
【0064】具体的には、簡略に記述された(時刻精度
が粗い)シミュレーションモデル(例えば図8のシミュ
レーションモデル)から詳細に記述された(時刻精度が
細かい)シミュレーションモデル(例えば、図7のシミ
ュレーションモデル)への切替時刻は、切替時刻指定部
3で指定された時刻から、時刻精度獲得部4で獲得され
た2つのハードウエアモデルの時刻精度のうち最も粗い
方(値の最も大きい方)の時刻精度分前倒しした値を実
際の切替時刻して決定する。
【0065】例えば、ここでは、切替時刻指定部3で指
定された時刻が50ns、第1のハードウエアモデル指
定部1で指定されたハードウエアモデル(図8参照)の
時刻精度が10ns、第2のハードウエアモデル指定部
2で指定されたハードウエアモデル(図7参照)の時刻
精度がデルタ遅延であるから、2つの時刻精度のうち最
大のもの、すなわち、10nsを指定された切替時刻5
0nsから引いて40nsを実際に切り替える時刻とし
て得るものとする(図4参照)。
【0066】また、詳細に記述されたシミュレーション
モデル(例えば図7のシミュレーションモデル)から簡
略に記述されたシミュレーションモデル(例えば、図8
のシミュレーションモデル)への切替時刻は、切替時刻
指定部3で指定された時刻をそのまま実際の切替時刻と
して決定する。
【0067】ハードウェアモデル切替部7は、切替時間
決定部6で決定された切替時刻に基づき、2つのハード
ウエアを切り替えてシミュレーションを実行するよう、
シミュレーション実行部8を制御するものである。例え
ば、ここでは、切替時間決定部6で決定された切替時刻
が40nsであるから、40nsまで、第1のハードウ
エアモデル指定部1で指定されたハードウエアモデル
(図8参照)でシミュレーションを実行するようシミュ
レーション実行部8に対し制御を行い、40nsからは
第2のハードウエアモデル指定手段2で指定されたハー
ドウエアモデル(図7)でシミュレーションを実行する
ようシミュレーション実行部8に対し制御を行う(図4
参照)。
【0068】シミュレーション実行部8は、ハードウエ
アモデル切替部7の制御にて与えられたハードウエアモ
デルの動作検証を行うようになっている。
【0069】次に、ハードウェアモデル切替部7で第1
のモデル(図8参照)から第2のモデル(図7参照)へ
の切り替え方法について説明する。
【0070】モデルの切り替え方法としては、以下のよ
うな方法がある。
【0071】切替先の第2のモデルのデータ構造を解析
して、切り替え前モデル(第1のモデル)のシミュレー
ション実行のために割り当てられた所定の記憶領域に記
憶された信号、変数の値を全て第2のモデルのシミュレ
ーション実行のために割り当てられた別の記憶領域にコ
ピーする(図5参照)。図5では、第1のモデルの全体
をエラボレーション(記憶領域の設定)し直し、値のコ
ピーを行なったが、全く共通の部分(信号CLKや信号
C)はエラボレーションを行なわずに、第1のモデルの
データ構造部分を再利用する方法もある(図6参照)。
【0072】以下の説明では、図5の場合について説明
を続けるが、図6の場合も全く同様である。
【0073】時刻40nsでハードウエアモデルが第1
のモデル(図8参照)から第2のモデル(図7参照)へ
切り替えられ、図7の記述にしたがってシミュレーショ
ン実行部7によって以下のように実行が続行される。
【0074】ステップS1: プロセス「p0」が起動
し、信号「CLK」の反転が代入予約され、1サイクル
更新される。
【0075】ステップS2: ステップS1の代入が実
行され、信号「CLK」にイベントが発生したため、プ
ロセス「p1」が起動される。この時、信号「CLK」
の値は「1」であるため、信号「C」の値(この時
「1」)を信号「A」に代入予約し、1サイクル更新さ
れる。
【0076】ステップS3: ステップS2の代入が実
行され、信号「A」にイベントが発生したため、プロセ
ス「p2」、「p3」が起動される。ここでは、1ns
後に信号「A」の値を信号「D」に転送し、2ns後に
信号「B」に信号「A」の反転を転送するという代入が
予約され、1サイクル更新される。ここで、1nsだけ
時刻が更新されて41nsとなる。
【0077】ステップS4: ステップS3における行
23の代入予約が実行される。これにより信号「D」に
イベントが発生するため、プロセス「p4」が実行され
る。すなわち、プロセス「p4」は、1ns後に信号
「B」と「D」の排他的論理和を信号「C」に転送す
る。信号「B」、「D」がいずれも「1」であるため、
「0」が代入予約される。また、この時、信号「C」に
最後にトランザクションが発生した時刻からの経過時間
がファイルに出力されるが、第1のトランザクションが
最後に発生した時刻が30nsであるから、11nsと
いう時間が出力される。ここで1サイクル更新され、1
nsの時刻更新がなされ、42nsとなる。 ステップS5: ステップS4における信号「C」への
「0」の代入が実行される。これと同時にステップS3
における行19の代入予約が実行される。これにより信
号「B」にイベントが発生するため、プロセス「p4」
が起動される。信号「B」が「0」、信号「D」が
「1」であるため、1ns後に信号「C」への「1」の
代入が予約される。また、この時、信号「C」最後にト
ランザクションが発生した時刻(32ns)からの経過
時間、0nsがファイルに出力される。その後、1サイ
クル更新され、1nsの時刻更新がなされ、43nsと
なる。
【0078】ステップS6: ステップS5で予約され
た代入が実行され、信号「C」が「1」になる。
【0079】ここで、第1のモデル(図8参照)から第
2のモデル(図7参照)へ40nsで切り替えて0ns
から70nsまでシミュレーションした結果得られる出
力波形と出力ファイルをそれぞれ図15、図11に示
す。
【0080】また、第2のモデル(図7参照)のシミュ
レーションモデルによって、0nsから70nsまでシ
ミュレーションした結果得られる出力波形と出力ファイ
ルを、図14、図10に示し、第1のモデル(図8参
照)のシミュレーションモデルによって、0nsから7
0nsまでシミュレーションした結果得られる出力波形
と出力ファイルを、図13、図9に示す。
【0081】図14、図13の出力波形を比較すること
により図15の出力波形が、40nsまで、10nsの
時刻精度のハードウエアモデル、すなわち、第1のモデ
ル(図8参照)でシミュレーションが実行され、40n
sで、詳細なシミュレーションモデル、すなわち、第2
のモデル(図7参照)に切り替わっていることがわか
る。
【0082】図10、図9の出力ファイルを比較するこ
とによって、図11の出力ファイルも40nsまでと、
指定された切替時刻である50ns以前で切り替わって
いることがわかる。
【0083】さらに、40nsでハードウエアモデルの
切り替えを行なう代わりに、指定された切替時刻50n
sでモデルの切り替えを行なった場合の出力波形と出力
ファイルをそれぞれ図16と図12に示す。
【0084】この場合、図16と図15の出力波形の5
0ns以降のモデル中の信号値の変化を比較すると、両
者は一致しているが、図12と図11の出力ファイルの
内容を比較すると、51nsの時点では出力結果が異な
っている。これは、出力部分で用いられている情報であ
る、最後のトランザクションが切り替え前に発生してい
ることに原因がある。
【0085】一方、図11においては、51nsで参照
されるトランザクションは40ns以降に発生したもの
であり、40nsでモデルを切り替えているために、図
12のような不一致は生じない。
【0086】ここでは、第1のハードウェアモデル指定
部1と第2のハードウェアモデル指定部2でそれぞれ一
度指定された場合について説明したが、これらを繰り返
し用いて3つ以上のハードウェアモデルを順次切り替え
て使用することも可能である。例えばA、B、Cという
3つのハードウェアモデルに関して、まずAからBへの
モデル切り替えを行い、その後にBからCというモデル
の切り替えを行なうという使用方法も考えられる。
【0087】また、この発明の拡張として、2つのハー
ドウェアモデルと、それらを切り替える時間を指定する
代わりに、3つ以上のハードウェアモデルとそれらを切
り替える時間を指定することによって、3つ以上のハー
ドウェアモデルを順次切り替えるという使用方法も考え
られる。
【0088】また、ここではシミュレーション開始前に
シミュレーションモデルの切り替え時刻を指定する場合
を例にとって説明したが、指定する切替時刻が現時刻よ
り先であるならば、シミュレーションモデルの切替時刻
の指定と切替先である第2のシミュレーションモデルの
指定を、シミュレーション途中で指定して利用すること
もできる。
【0089】(1.2) 効果 以上説明したように、上記第1の実施形態によれば、複
数の時刻精度の異なるハードウェアモデルを切り替えて
シミュレーションを行う際、まず、時刻精度獲得部4で
切り替えるハードウエアモデルの時刻精度を解析してお
く。そして、簡略に記述されたハードウエアモデルから
詳細に記述されたハードウエアモデルへ切り替える場合
は、切替時間決定部6で、ユーザにより指定された切替
時刻を複数(例えば2つ)のハードウエアモデルの時刻
精度のうち最大の時刻精度の値だけ前倒しした時刻を実
際のハードウエアモデルの切替時刻として決定する。一
方、詳細に記述されたハードウエアモデルから簡略に記
述されたハードウエアモデルへ切り替える場合は、ユー
ザにより指定された切替時刻をそのまま実際のハードウ
エアモデルの切替時刻として決定する。
【0090】これにより、ユーザにより指定された切替
時刻以降での詳細シミュレーションにおいて、トランザ
クションの予約の様子などが正しく観測でき、詳細なデ
バッグ時に必要な情報を失うことなく切り替えが行え
る。
【0091】よって、複数の時刻精度の異なるハードウ
ェアモデルを切り替えながらハードウエアの検証のレベ
ル(詳細な検証あるいは簡略な検証)にあったシミュレ
ーションを自由に高速に行なえるようになる。
【0092】長時間実行を行なった後に発生するバグの
調査を行なうために、長時間詳細なハードウエアモデル
でシミュレーションを実行するのではなく、最初は時刻
精度の低い高速なハードウエアモデルを用いてシミュレ
ーション時刻を進め、バグに近付いたところで詳細なハ
ードウエアモデルに切り替えてシミュレーションを実行
することにより、設計期間を短縮することができる。
【0093】(第2の実施形態)次に、第2の実施形態
として、ハードウエアの動作検証を行う際、検証の詳細
度の異なる複数(例えば2つ)のシミュレータを切り替
えてシミュレーションを行う場合について説明する。
【0094】(2.1) 構成と動作 シミュレータとして、仮にデルタ時刻までを詳細にシミ
ュレーションするイベントドリブンシミュレータと、ク
ロックの区切りでのみ結果を保証するサイクルベースシ
ミュレータが用意されていると仮定する。
【0095】ここでは、この2つのシミュレータを切り
替えてシミュレーションを行なう場合を例にとって説明
するが、この他にもシミュレータの実行単位時刻が定義
できるシミュレータであれば利用できる。また、ここで
は、デルタ時刻とクロックの区切りという固定の対応関
係にある2つのシミュレータを用いているが、切り替え
方式を利用する2つのシミュレータ間の時間的な時刻精
度が固定ではなく、式や、表の形式などが得られている
ならば、それらのシミュレータを利用することもでき
る。
【0096】図17は、第2の実施形態に係る設計支援
装置の構成例を概略的に示した図で、第1のシミュレー
タ指定部101、第2のシミュレータ指定部102、切
替時刻指定部103、シミュレータ詳細度獲得部10
4、切替時間決定部105、シミュレータ切替部10
6、ハードウエアモデル記憶部107、第1のシミュレ
ーション実行部108、第2のシミュレーション実行部
109から構成される。
【0097】ハードウエアモデル記憶部106には、例
えば、図7に示したように記述されたハードウエアモデ
ルが記憶されており、このハードウエアモデルに対して
第1および第2のシミュレーション実行部108、10
9にてシミュレーションが実行されるようになってい
る。
【0098】第1のシミュレータ指定部101、第2の
シミュレータ指定部102では、それぞれ検証の詳細度
の異なる2つのシミュレータをそれぞれ指定するように
なっている。ここでは、例えば、第1のシミュレータ指
定部101でサイクルベースシミュレータが指定され、
第2のシミュレータ指定部102でイベントドリブンシ
ミュレータが指定された場合を例にとって示す。
【0099】切替時刻指定部103では、第1および第
2のシミュレータ指定部101、102で指定されたシ
ミュレータを一方から他方に切り替える切替時刻をユー
ザが指定するようになっている。ここでは、例えば、切
替時刻指定部103で「50ns」という時刻が指定さ
れたものとする。
【0100】シミュレータ時刻精度獲得部104では、
第1および第2のシミュレータ指定部101、102で
指定されたシミュレータに付加されている情報によっ
て、あるいはシミュレータと記述の解析結果によって、
あるいは設計者による入力によって各シミュレータ時刻
情報を獲得するようになっている。
【0101】例えば、ここでは、イベントドリブンシミ
ュレータには時刻精度がデルタ遅延であるという情報が
付加されており、サイクルベースシミュレータの時刻精
度はシミュレーション対象となるハードウェア記述のク
ロック信号によって決まるという情報が付加されている
と仮定する。
【0102】図7の記述中でクロック信号として使われ
ている信号「CLK」の更新を行なう代入文の時刻部分
は10nsであるため、サイクルベースシミュレータの
時刻精度はこの場合10nsとなる。
【0103】ここでは、簡単のため、クロック信号が1
つである場合を示すが、クロック信号が複数ある場合、
位相がずれる場合にもサイクルベースシミュレータにお
けるクロック信号の扱いにならって時刻精度を決定す
る。例えば、それらの信号の周期等の最大公約数を用い
たり、サイクルベースシミュレータの時刻精度を式によ
って表現したりする方法が考えられる。
【0104】切替時間決定部105では、第1の実施形
態における切替時間決定部6と同様にして、切替時刻指
定部103で指定された切替時刻、例えば50nsとシ
ミュレータ時刻精度獲得部104で獲得された2つのシ
ミュレータの時刻精度(0nsと10ns)のうち最大
のもの(ここでは、10ns)を基に、時刻精度の粗い
(すなわち、簡略な検証レベルの)シミュレータ(例え
ば、サイクルベースシミュレータ)から時刻精度の細か
い(すなわち、詳細な検証レベルの)シミュレータ(例
えば、イベントドリブンシミュレータ)への実際の切替
時刻を決定するようになっている。
【0105】例えば、指定された切り替え時刻である5
0nsから10nsを引して40nsを実際に切り替え
る時刻として得るものとする(図18参照)。
【0106】また、時刻精度の細かいシミュレータから
時刻精度の粗いシミュレータへの切替時刻は、切替時刻
指定部3で指定された時刻をそのまま実際の切替時刻と
して決定する。
【0107】シミュレータ切替部106は、切替時間決
定部105で決定された切替時刻に基づき、2つのシミ
ュレータを切り替えてシミュレーションを実行するよ
う、第1のシミュレーション実行部108、第2のシミ
ュレーション実行部109を制御するものである。
【0108】まず、第1のシミュレータ指定部101で
指定されたシミュレータ(以下、簡単に第1のシミュレ
ータと呼ぶことがある)、すなわち、サイクルベースシ
ミュレータによるシミュレーションが第1のシミュレー
ション実行部108で実行され 切替時間決定部105
で決定された切替時刻に、第2のシミュレータ指定部1
02で指定されたシミュレータ(以下、簡単に第2のシ
ミュレータと呼ぶことがある)、すなわち、イベントド
リブンシミュレータによるシミュレーションが第2のシ
ミュレーション実行部109で実行されるとする。
【0109】まず、シミュレータとしてサイクルベース
シミュレータが実行される。サイクルベースシミュレー
タとしても実現方法がいくつか考えられるが、ここで
は、以下のようにサイクルベースシミュレータが動作す
ると仮定する。この動作はサイクルベースシミュレータ
として一般的である。
【0110】信号「CLK」が反転する10ns毎に以
下の処理が行なわれる。
【0111】1)信号「CLK」が「1」である時には
信号「C」の値を信号「A」に代入し、信号「CLK」
が「0」の時には信号「A」の値を反転した値を信号
「A」に代入する。
【0112】2)信号「A」の値の反転を信号「B」に
代入し、信号「A」の値を信号「D」に代入する。
【0113】3)信号「B」と「D」の排他的論理和を
信号「C」に代入予約する。
【0114】4)信号「C」に最後に発生したトランザ
クションからの経過時間をファイル「outf」に出力
する。
【0115】切替時間決定部105で決定された切替時
刻40nsに達したら、シミュレータ切替部106が、
第1のシミュレータ(サイクルベースシミュレータ)か
ら第2のシミュレータ(イベントドリブンシミュレー
タ)への切り替えを行なう。
【0116】シミュレータ切り替え方法としては、以下
のような方法がある。
【0117】1つには共有メモリを利用して第2のシミ
ュレータが第1のシミュレータで生成したデータ構造を
参照する方法がある。切り替え前後のシミュレータで保
持するデータが異なるものについては追加でエラボレー
ションした後で、第1のシミュレータから値情報のコピ
ーを行なう。これ以外にも、切り替え後シミュレータの
全体をエラボレーションし直し、値のコピーを行うとい
う方法もある。
【0118】時刻40nsでシミュレータがサイクルベ
ースシミュレータからイベントドリブンシミュレータに
切り替えられ、図7にしたがって以下のように実行が続
行される。
【0119】ステップT1: プロセス「p0」が起動
し、信号「CLK」の反転が代入予約され、1サイクル
更新する。
【0120】ステップT2: ステップT1の代入が実
行され、信号「CLK」にイベントが発生したため、プ
ロセス「p1」が起動される。この時信号「CLK」の
値は「1」であるため、信号「C」の値(この時
「1」)を信号「A」に代入予約し、1サイクル更新す
る。
【0121】ステップT3: ステップT2の代入が実
行され、信号「A」にイベントが発生したため、プロセ
ス「p2」、「p3」が起動される。ここでは、1ns
後に信号「A」の値を信号「D」に転送し、2ns後に
信号「B」に信号「A」の反転を転送するという代入が
予約される。そして、1サイクル更新し、1ns時刻を
更新して、41nsとする。
【0122】ステップT4: ステップT3における図
7の行23の代入予約が実行される。信号「D」にイベ
ントが発生するため、プロセス「p4」が実行される。
1ns後に信号「B」と「D」の排他的論理和を信号
「C」に転送する。信号「B」、「D」がいずれも
「1」であるため、「0」が代入予約される。また、こ
の時、「C」に最後にトランザクションが発生した時刻
からの経過時間がファイルに出力されるが、第1にトラ
ンザクションが最後に発生した時刻が30nsであるか
ら、11nsという時間が出力される。1サイクル更新
し、1ns時刻を更新し、42nsとする。
【0123】ステップT5: ステップT4における信
号「C」への「0」の代入が実行される。これと同時に
ステップT3における図7の行19の代入予約が実行さ
れる。信号「B」にイベントが発生するため、プロセス
「p4」が起動される。信号「B」が「0」、信号
「D」が「1」であるため、1ns後に信号「C」への
「1」の代入が予約される。また、この時、信号「C」
に最後にトランザクションが発生した時刻(32ns)
からの経過時間、0nsがファイルに出力される。1サ
イクル更新し、1ns時刻を更新して、43nsとす
る。
【0124】ステップT6: ステップT5で予約され
た代入が実行され、信号「C」が「1」になる。
【0125】ここで、サイクルベースシミュレータから
イベントドリブンシミュレータへ40nsで切り替えて
0nsから70nsまでシミュレーションした結果とし
て、出力波形と出力ファイルをそれぞれ図15と図11
を示す。
【0126】また、イベントドリブンシミュレータによ
って、0nsから70nsまでシミュレーションした結
果得られる出力波形と出力ファイルを図14、図10に
示し、サイクルベースシミュレータによって、0nsか
ら70nsまでシミュレーションした結果得られる出力
波形と出力ファイルを図13と図9に示す。
【0127】図13、図14と比較することにより図1
5が、40nsまで、10nsの時刻精度でシミュレー
ションが実行され、40nsで、詳細なイベントドリブ
ンシミュレータに切り替わっていることがわかる。
【0128】また、図10、図9の出力ファイルを比較
することによって、図11の出力ファイルも40nsま
でと、指定された切替指定である50ns以前で切り替
わっていることがわかる。
【0129】さらに、40nsでシミュレータの切り替
えを行なう代わりに、指定された切替時刻50nsでシ
ミュレータの切り替えを行なった場合の結果の出力波形
と出力ファイルをそれぞれ図16と図12に示す。
【0130】この場合、図16と図15の出力波形の5
0ns以降のモデル中の信号値の変化を比較すると、両
者は一致しているが、図12と図11の出力ファイルの
内容をみると、51nsの時点では出力結果が異なって
いる。これは、出力部分で用いられている情報である、
最後のトランザクションが切り替え前に発生しているこ
とに原因がある。
【0131】一方、図11においては、51nsで参照
されるトランザクションは40ns以降に発生したもの
であり、40nsでシミュレータを切り替えているため
に、図12のような不一致は生じない。
【0132】ここでは、第1のシミュレータ指定部10
1と第2のシミュレータ指定部102でそれぞれ一度指
定された場合について説明したが、これらを繰り返し用
いて3つ以上のシミュレータを順次切り替えて使用する
ことも可能である。例えば、A、B、Cという3つのシ
ミュレータに関して、まずAからBへのシミュレータの
切り替えを行い、その後にBからCというシミュレータ
の切り替えを行なうという使用方法も考えられる。
【0133】また、この発明の拡張として、2つのシミ
ュレータと、それらを切り替える時間を指定する代わり
に、3つ以上のシミュレータとそれらを切り替える時間
を指定することによって、3つ以上のシミュレータを順
次切り替えるという使用方法も考えられる。
【0134】また、ここではシミュレーション開始前に
実際にシミュレータの切り替え時刻を指定される場合を
例にとったが、指定する切替時刻が現時刻より先である
ならば、シミュレータの切り替え時刻の指定と切替先の
第2のシミュレータの指定を、シミュレーション途中で
指定して利用することもできる。
【0135】なお、前述の第1の実施形態では、シミュ
レーションモデルを切り替える方式、第2の実施形態で
はシミュレータを切り替える方式について説明したが、
これらを組み合わせて、シミュレーションモデルとシミ
ュレータを一諸に切り替えるという方式も容易に実現で
きる。
【0136】(2.2) 効果 以上説明したように、上記第2の実施形態によれば、複
数の時刻精度の異なるシミュレータを切り替えてシミュ
レーションを行う際、まず、時刻精度獲得部104でシ
ミュレータの時刻精度を解析しておく。そして、時刻精
度の粗いシミュレータから時刻精度の細かいシミュレー
タへ切り替える場合は、切替時間決定部105で、ユー
ザにより指定された切替時刻を複数(例えば2つ)のシ
ミュレータの時刻精度のうち最大の時刻精度の値だけ前
倒しした時刻を実際のシミュレータの切替時刻として決
定する。一方、時刻精度の細かいシミュレータから時刻
精度の粗いシミュレータへ切り替える場合は、ユーザに
より指定された切替時刻をそのまま実際のシミュレータ
の切替時刻として決定する。
【0137】これにより、ユーザにより指定された切替
時刻以降での詳細シミュレーションにおいて、トランザ
クションの予約の様子などが正しく観測でき、詳細なデ
バッグ時に必要な情報を失うことなく切り替えが行え
る。
【0138】よって、複数の時刻精度の異なるシミュレ
ータを切り替えながら検証のレベル(詳細な検証あるい
は簡略な検証)にあったシミュレーションを自由に高速
に行なえるようになる。
【0139】長時間実行を行なった後に発生するバグの
調査を行なうために、長時間詳細なシミュレータを実行
するのではなく、最初は時刻精度の低い高速なシミュレ
ータを用いてシミュレーション時刻を進め、バグに近付
いたところで詳細なシミュレーションに切り替えて実行
することにより、設計期間を短縮することができる。
【0140】(第3の実施形態) (3.1) 構成と動作 第1の実施形態に示したように抽象度の異なる2つのハ
ードウェアモデルを切り替えてシミュレーションを行な
う場合を考える。
【0141】図19は、第3の実施形態に係る設計支援
装置の構成例を概略的に示した図で、図1と同一部分に
は同一符号を付し、異なる部分について説明する。すな
わち、シミュレーション実行部8においてシミュレーシ
ョンを実行した結果、ハードウェアモデル中の幾つかの
信号の値(例えば波形)が逐次波形表示部10に表示さ
れ、この表示内容に基づくユーザの指示が波形表示部へ
の入力部9を介して、第1のハードウエアモデル指定部
1、第2のハードウエアモデル指定部2、モデル切替時
刻指定部3に入力されるようになっている。
【0142】このような構成により、シミュレーション
実行時には、ハードウェアモデル中の幾つかの信号の値
を参照することによって、システムの動作の検証を行な
うわけであるが、この時、これらの信号の値は波形表示
部10へ表示されているとする。波形表示部10の波形
表示の一例を図20に示す。
【0143】ユーザは、波形表示部10に表示された波
形を見て、詳細な信号の変化を調べる為に、図21のよ
うに拡大して表示するための入力を図19の波形表示部
への入力部9を介して行なうとする。
【0144】波形表示部への入力部9は、波形表示部1
0の制御のもとユーザ(例えば、設計者)が用いる端末
の画面上に表示された波形に対し、例えば、マウスある
いはキーボード等にて所望の範囲を指定するようになっ
ている。
【0145】これによって、表示の時刻の最小単位が1
nsから0.1nsに変化するのと同時に、ハードウェ
アモデルの切り替え指定として、詳細なハードウェアモ
デルへの指定が行なわれ、第1の実施形態の場合と同様
の切り替え動作が行なわれる。
【0146】ここでは、簡略なハードウェアモデルか
ら、詳細なハードウェアモデルへ切り替えたが、波形表
示部10における表示の時刻スケールの値に応じて詳細
なハードウェアモデルから簡略なハードウェアモデルへ
切り替えるようにしてもよい。
【0147】なお、上記第3の実施形態では、時間的な
抽象度の異なるハードウェアモデルの切り替えの例を示
したが、第2の実施形態と同様に時間的な抽象度の異な
るハードウェアシミュレータの切り替え指定を上記と同
様、波形表示部の入力部9への入力によって行なうこと
も容易に実現できる。
【0148】(3.2) 効果 以上説明したように、上記第3の実施形態によれば、切
替時に使用する複数の時刻精度の異なるシミュレータあ
るいは複数の時刻精度の異なるシミュレーションモデル
の指定を波形表示部10に表示されたシミュレーション
結果(例えばシミュレーションモデルの信号値)に基づ
き波形表示部への入力部9を介して指示することによ
り、ユーザである例えばハードウエアの設計者は、容易
に切替時刻の指定を行うことができる。
【0149】従って、必要に応じて頻繁に時刻精度の異
なる複数のシミュレーションモデルやシミュレータを切
り替えてデバッグを行え、ハードウエアの設計に限ら
ず、ハードウエアとソフトウエアの同時設計における設
計効率の向上が図れる。
【0150】(第4の実施形態) (4.1) 構成と動作 第1の実施形態に示したように抽象度の異なる2つのハ
ードウェアモデルを切り替えてシミュレーションを行な
う場合を考える。
【0151】図22は、第4の実施形態に係る設計支援
装置の構成例を概略的に示した図で、図1と同一部分に
は同一符号を付し、異なる部分について説明する。すな
わち、図22では、シミュレーションを実行する際に、
詳細にデバッグを行ないたいモジュール、ブロック等を
指定して随時、検証を進めるために、それらを指定する
ためのデバッグ対象指定部12が具備されている。
【0152】デバッグ対象指定部12の制御のもと、図
23に示すような評価対象のブロック図がユーザ(例え
ば、設計者)が用いる端末の画面上に表示されており、
この表示に対するユーザの指示がデバッグ対象指定部へ
の入力部11を介して、第1のハードウエアモデル指定
部1、第2のハードウエアモデル指定部2、モデル切替
時刻指定部3に入力され、デバッグ対象を切り替えるよ
うになっている。
【0153】デバッグ対象指定部への入力部11は、デ
バッグ対象指定部12の制御もとユーザ(例えば、設計
者)が用いる端末の画面上に表示された図23に示すよ
うなブロック図に対し、例えば、マウスあるいはキーボ
ード等にて所望の部位を指定するようになっている。
【0154】この指定で、図23のマイクロプロセッサ
ブロックMを指定した場合、そのときの評価対象のハー
ドウエアモデルが第1のハードウエアモデル指定部1で
指定された第1のモデルであり、それより簡略化された
ハードウェアモデルが第2のハードウエアモデル指定部
2で指定されているときは、第1のモデルから第2のモ
デルへ切り替えてソフトウェアのデバッグを行なう。
【0155】一方、図23のハードウェアブロックAや
B等のASIC部品を指定した場合、そのときの評価対
象のハードウエアモデルが第1のハードウエアモデル指
定部1で指定された第1のモデルであり、それより詳細
なハードウェアモデルが第2のハードウエアモデル指定
部2で指定されているとき(第2のモデル)は、第1の
モデルから第2のモデルへ切り替えてハードウェアの詳
細なデバッグを行なう。
【0156】第4の実施形態では、時間的な抽象度の異
なるハードウェアモデルの切り替えの例を示したが、第
2の実施形態と同様に時間的な抽象度の異なるハードウ
ェアシミュレータの切り替え指定を上記と同様、デバッ
グ対象指定部12への入力によって行なうという場合も
考えられる。
【0157】また、デバッグ対象の指定としては、表示
されたブロック図上で指定を行なう場合を例にしたが、
シミュレータに対して、文字でモデル名やブロック名を
入力したり、表示されたモデル名やブロック名のボタン
を押す等の指定方法も考えられる。
【0158】(4.2) 効果 以上説明したように、上記第4の実施形態によれば、複
数の時刻精度の異なるハードウェアモデルを切り替え
て、ハードウェアとソフトウェアを協調させてシミュレ
ーションを行なう場合に、切り替えるハードウェアモデ
ルの指定の方法として、ハードウェアデバッグ指定時に
はハードウェアのシミュレーションモデルとして、詳細
なシミュレーションモデルを用い、ソフトウェアのデバ
ッグ指定時にはハードウェアのシミュレーションモデル
として簡略なシミュレーションモデルを用いることによ
り、ユーザである設計者はデバッグ対象がソフトウエア
かハードウエアかを意識するだけで、シミュレーション
対象のモデルを容易に切り替えることができる。
【0159】これは、シミュレーションモデルの切り替
えだけでなく、複数の時刻精度の異なるシミュレータの
切り替えについても同様である。
【0160】従って、必要に応じて頻繁に時刻精度の異
なる複数のシミュレーションモデルやシミュレータを切
り替えてデバッグを行なう事によって、ハードウェアの
設計やハードウェアとソフトウェアの同時設計における
設計効率を著しく向上させることが可能になる。
【0161】なお、上記第1〜第4の実施形態において
説明した各部はコンピュータに実行させることのできる
プログラムとして、磁気ディスク(フロッピーディス
ク、ハードディスク等)、光ディスク(CD−ROM、
DVD等)、半導体メモリなどの記録媒体に格納して頒
布することもできる。
【0162】
【発明の効果】以上説明したように、本発明によれば、
シミュレーションの高速化を図るため、複数の時刻精度
の異なるハードウェアモデル(あるいはシミュレータ)
を用いて切り替えを行なってシミュレーションを行う
際、ユーザにより指定された時刻とモデル(シミュレー
タ)の時刻精度(検証の詳細度)に基づき実際の切替時
間を決定することにより、異なる時刻精度のハードウエ
アモデル(シミュレータ)の切替が円滑に行え、正確な
シミュレーションが可能となる。
【0163】これにより、検証のレベルにあったシミュ
レーションが容易にしかも高速に行なえる。
【図面の簡単な説明】
【図1】本発明の第1の実施形態に係る設計支援装置の
構成例を概略的に示した図。
【図2】シミュレーションモデルの記述例を示した図
で、VHDLにおけるプロセスの記述例である。
【図3】シミュレーションモデルの記述例を示した図
で、Verilog HDLにおけるプロセスの記述例
である。
【図4】シミュレーションモデルの切替時刻について説
明するための図。
【図5】シミュレーションモデルを切り替える際の信号
あるいは変数の切替前と切替後の受渡し方法の一例につ
いて説明するための図。
【図6】シミュレーションモデルを切り替える際の信号
あるいは変数の切替前と切替後の受渡し方法の他の例に
ついて説明するための図。
【図7】シミュレーションモデルのVHDL記述例(詳
細な記述例)を示した図。
【図8】シミュレーションモデルの他のVHDL記述例
(簡略な記述例)を示した図。
【図9】簡略なシミュレーションモデル(シミュレー
タ)を用いてシミュレーションを実行した結果得られた
出力ファイルの一例を示した図。
【図10】詳細なシミュレーションモデル(シミュレー
タ)を用いてシミュレーションを実行した結果得られた
出力ファイルの一例を示した図。
【図11】40nsで簡略なシミュレーションモデル
(シミュレータ)から詳細なシミュレーションモデル
(シミュレータ)に切り替えてシミュレーションを実行
した結果得られた出力ファイルの一例を示した図。
【図12】指定された切替時刻50nsで簡略なシミュ
レーションモデル(シミュレータ)から詳細なシミュレ
ーションモデル(シミュレータ)に切り替えてシミュレ
ーションを実行した結果得られた出力ファイルの一例を
示した図。
【図13】簡略なシミュレーションモデル(シミュレー
タ)を用いてシミュレーションを実行した結果得られた
出力波形の一例を示した図。
【図14】詳細なシミュレーションモデル(シミュレー
タ)を用いてシミュレーションを実行した結果得られた
出力波形の一例を示した図。
【図15】40nsで簡略なシミュレーションモデル
(シミュレータ)から詳細なシミュレーションモデル
(シミュレータ)に切り替えてシミュレーションを実行
した結果得られた出力波形の一例を示した図。
【図16】500nsで簡略なシミュレーションモデル
(シミュレータ)から詳細なシミュレーションモデル
(シミュレータ)に切り替えてシミュレーションを実行
した結果得られた出力波形の一例を示した図。
【図17】本発明の第2の実施形態に係る設計支援装置
の構成例を概略的に示した図。
【図18】シミュレーショタの切替時刻について説明す
るための図。
【図19】本発明の第3の実施形態に係る設計支援装置
の構成例を概略的に示した図。
【図20】図19の波形表示部にて表示される波形表示
例を示した図。
【図21】図19の波形表示部にて表示される他の波形
表示例を示した図。
【図22】本発明の第4の実施形態に係る設計支援装置
の構成例を概略的に示した図。
【図23】図22のデバッグ対象指定部にてデバッグ対
象を指定するためのブロック図の表示例を示した図。
【符号の説明】
1…第1のハードウエアモデル指定部 2…第2のハードウエアモデル指定部 3…モデル切替時刻指定部 4…時刻精度獲得部 5…ハードウエアモデル記憶部 6…切替時間決定部 7…ハードウエアモデル切替部 8…シミュレーション実行部 9…波形表示部への入力部 10…波形表示部 11…デバッグ対象指定部への入力部 12…デバッグ対象指定部 101…第1のシミュレータ指定部 102…第2のシミュレータ指定部 103…切替時刻指定部 104…シミュレータ詳細度獲得部 105…切替時刻決定部 106…シミュレータ切替部 107…ハードウエアモデル記憶部 108…第1のシミュレーション実行部 109…第2のシミュレーション実行部

Claims (12)

    【特許請求の範囲】
  1. 【請求項1】 少なくとも2つのハードウエアのモデル
    のそれぞれの詳細度を獲得し、これらモデルの切替時刻
    が指定された場合に、この指定された切替時刻と前記詳
    細度とに基づき決定された切替時刻で前記モデルを切替
    えて前記ハードウエアの動作を検証することを特徴とす
    る設計支援方法。
  2. 【請求項2】 少なくとも2つのハードウエアの動作を
    検証するシミュレータのそれぞれの詳細度を獲得し、こ
    れらシミュレータの切替時刻が指定された場合に、この
    指定された切替時刻と前記詳細度とに基づき決定された
    切替時刻で前記シミュレータを切替えて前記ハードウエ
    アの動作を検証することを特徴とする設計支援方法。
  3. 【請求項3】 少なくとも2つのハードウエアのモデル
    のそれぞれの詳細度を獲得し、これらモデルの第1の切
    替時刻が指定された場合に、この第1の切替時刻から前
    記詳細度に基づき決定された時間だけ前倒しした第2の
    切替時刻まで、詳細度の粗い方のモデルで前記ハードウ
    エアの動作を検証し、前記第2の切替時刻で詳細度の細
    かい方のモデルに切り替えて前記ハードウエアの動作を
    検証することを特徴とする設計支援方法。
  4. 【請求項4】 少なくとも2つのハードウエアの動作を
    検証するシミュレータのそれぞれの詳細度を獲得し、こ
    れらシミュレータの第1の切替時刻が指定された場合
    に、この第1の切替時刻から前記詳細度に基づき決定さ
    れた時間だけ前倒しした第2の切替時刻まで、詳細度の
    粗い方のシミュレータで前記ハードウエアの動作を検証
    し、前記第2の切替時刻で詳細度の細かい方のシミュレ
    ータに切り替えて前記ハードウエアの動作を検証するこ
    とを特徴とする設計支援方法。
  5. 【請求項5】 ハードウエアのモデルを少なくとも2つ
    指定するモデル指定手段と、 このモデル指定手段で指定されたモデルの詳細度を獲得
    する詳細度獲得手段と、 前記モデル指定手段で指定されたモデルの切替時刻を指
    定する時刻指定手段と、 この時刻指定手段で指定された切替時刻と前記詳細度獲
    得手段で獲得された前記モデルの詳細度とに基づき決定
    された切替時刻で前記モデルを切替えて前記ハードウエ
    アの動作を検証する検証手段と、 を具備したことを特徴とする設計支援装置。
  6. 【請求項6】 ハードウエアの動作を検証するシミュレ
    ータを少なくとも2つ指定するモデル指定手段と、 このモデル指定手段で指定されたシミュレータの詳細度
    を獲得する詳細度獲得手段と、 前記モデル指定手段で指定されたシミュレータの切替時
    刻を指定する時刻指定手段と、 この時刻指定手段で指定された切替時刻と前記詳細度獲
    得手段で獲得された前記シミュレータの詳細度とに基づ
    き決定された切替時刻で前記シミュレータを切替えて前
    記ハードウエアの動作を検証する検証手段と、 を具備したことを特徴とする設計支援装置。
  7. 【請求項7】 ハードウエアのモデルを少なくとも2つ
    指定するモデル指定手段と、 このモデル指定手段で指定されたモデルのそれぞれの詳
    細度を獲得する詳細度獲得手段と、 前記モデル指定手段で指定されたモデルの第1の切替時
    刻を指定する時刻指定手段と、 この時刻指定手段で指定された第1の切替時刻から前記
    詳細度獲得手段で獲得された詳細度に基づき決定された
    時間だけ前倒しした第2の切替時刻まで、前記詳細度獲
    得手段で獲得された詳細度の粗い方のモデルで前記ハー
    ドウエアの動作を検証し、前記第2の切替時刻で前記詳
    細度の細かい方のモデルに切り替えて前記ハードウエア
    の動作を検証する検証手段と、 を具備したことを特徴とする設計支援装置。
  8. 【請求項8】 ハードウエアの動作を検証する2つのシ
    ミュレータを指定するシミュレータ指定手段と、 このシミュレータ指定手段で指定されたシミュレータの
    詳細度を獲得する詳細度獲得手段と、 前記シミュレータ指定手段で指定されたシミュレータの
    第1の切替時刻を指定する時刻指定手段と、 この時刻指定手段で指定された第1の切替時刻から前記
    詳細度獲得手段で獲得された詳細度に基づき決定された
    時間だけ前倒しした第2の切替時刻まで、前記詳細度獲
    得手段で獲得された詳細度の粗い方のシミュレータで前
    記ハードウエアの動作を検証し、前記第2の切替時刻で
    前記詳細度の細かい方のシミュレータに切り替えて前記
    ハードウエアの動作を検証する検証手段と、 を具備したことを特徴とする設計支援装置。
  9. 【請求項9】 前記検証手段で検証された信号の波形
    を表示するための表示手段と、 この表示手段で表示された信号の波形に基づき指定され
    た時間内を、前記モデルのうち詳細度の細かい方のモデ
    ルに切り替えて前記ハードウエアの動作を検証する第1
    の検証手段と、 前記表示手段で表示された信号の波形に基づき指定され
    た時間内を、前記モデルのうち詳細度の粗い方のモデル
    に切り替えて前記ハードウエアの動作を検証する第2の
    検証手段と、 を具備したことを特徴とする請求項5または7記載の設
    計支援装置。
  10. 【請求項10】 前記検証手段で検証された信号の波形
    を表示するための表示手段と、 この表示手段で表示された信号の波形に基づき指定され
    た時間内を、前記シミュレータのうち詳細度の細かい方
    のシミュレータに切り替えて前記ハードウエアの動作を
    検証する第1の検証手段と、 前記表示手段で表示された信号の波形に基づき指定され
    た時間内を、前記シミュレータのうち詳細度の粗い方の
    シミュレータに切り替えて前記ハードウエアの動作を検
    証する第2の検証手段と、 を具備したことを特徴とする請求項6または8記載の設
    計支援装置。
  11. 【請求項11】 ハードウエアの簡略なモデルを用いて
    前記ハードウエアとそのハードウエアを機能させるソフ
    トウエアの動作を検証する第1の検証手段と、 ハードウエアの詳細なモデルを用いて前記ハードウエア
    とそのハードウエアを機能させるソフトウエアの動作を
    検証する第2の検証手段と、 前記第1および第2の検証手段のいずれか一方に切替る
    切替手段と、 を具備したことを特徴とする設計支援装置。
  12. 【請求項12】 ハードウエアの動作を簡略に検証する
    シミュレータを用いて前記ハードウエアとそのハードウ
    エアを機能させるソフトウエアの動作を検証する第1の
    検証手段と、 ハードウエアの動作を詳細に検証するシミュレータを用
    いて前記ハードウエアとそのハードウエアを機能させる
    ソフトウエアの動作を検証する第2の検証手段と、 前記第1および第2の検証手段のいずれか一方に切替る
    切替手段と、 を具備したことを特徴とする設計支援装置。
JP06514397A 1997-03-18 1997-03-18 設計支援装置 Expired - Fee Related JP3472067B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP06514397A JP3472067B2 (ja) 1997-03-18 1997-03-18 設計支援装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP06514397A JP3472067B2 (ja) 1997-03-18 1997-03-18 設計支援装置

Publications (2)

Publication Number Publication Date
JPH10261002A true JPH10261002A (ja) 1998-09-29
JP3472067B2 JP3472067B2 (ja) 2003-12-02

Family

ID=13278376

Family Applications (1)

Application Number Title Priority Date Filing Date
JP06514397A Expired - Fee Related JP3472067B2 (ja) 1997-03-18 1997-03-18 設計支援装置

Country Status (1)

Country Link
JP (1) JP3472067B2 (ja)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002259888A (ja) * 2000-12-25 2002-09-13 Toshiba Corp シミュレーション制御プログラム、方法及び装置
US6782354B1 (en) 1999-10-12 2004-08-24 Nec Electronics Corporation Method for producing simulation models and simulation system using simulation models
JP2006350586A (ja) * 2005-06-15 2006-12-28 Hitachi Medical Corp 医療運営シミュレーションシステム
JP2007178693A (ja) * 2005-12-27 2007-07-12 Fujitsu Ltd シミュレーション装置、方法、および、プログラム
JP2007328548A (ja) * 2006-06-07 2007-12-20 Canon Inc シミュレータ装置、シミュレーション方法およびコンピュータプログラム
JP2010282291A (ja) * 2009-06-02 2010-12-16 Internatl Business Mach Corp <Ibm> シミュレーション・システム、方法及びプログラム

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6782354B1 (en) 1999-10-12 2004-08-24 Nec Electronics Corporation Method for producing simulation models and simulation system using simulation models
JP2002259888A (ja) * 2000-12-25 2002-09-13 Toshiba Corp シミュレーション制御プログラム、方法及び装置
JP2006350586A (ja) * 2005-06-15 2006-12-28 Hitachi Medical Corp 医療運営シミュレーションシステム
JP4644533B2 (ja) * 2005-06-15 2011-03-02 株式会社日立メディコ 医療運営シミュレーションシステム
JP2007178693A (ja) * 2005-12-27 2007-07-12 Fujitsu Ltd シミュレーション装置、方法、および、プログラム
JP2007328548A (ja) * 2006-06-07 2007-12-20 Canon Inc シミュレータ装置、シミュレーション方法およびコンピュータプログラム
US8108192B2 (en) 2006-06-07 2012-01-31 Canon Kabushiki Kaisha Simulator apparatus and simulation method
JP2010282291A (ja) * 2009-06-02 2010-12-16 Internatl Business Mach Corp <Ibm> シミュレーション・システム、方法及びプログラム
US8412496B2 (en) 2009-06-02 2013-04-02 International Business Machines Corporation Simulation system, method, and program

Also Published As

Publication number Publication date
JP3472067B2 (ja) 2003-12-02

Similar Documents

Publication Publication Date Title
KR100921314B1 (ko) 검증결과 재활용 기법을 채용한 고성능 설계검증 장치 및이를 활용한 신속한 설계검증 방법
JP3131177B2 (ja) エミュレーションとシミュレーションを用いた設計検証のための方法および装置
US5809283A (en) Simulator for simulating systems including mixed triggers
US10031986B1 (en) System and method for creating a spice deck for path-based analysis of an electronic circuit design using a stage-based technique
US20070277144A1 (en) Conversion of circuit description to an abstract model of the circuit
US5784593A (en) Simulator including process levelization
JP2000132416A (ja) 半導体集積回路設計検証装置
US10268787B2 (en) Hybrid timing analysis method and associated system and non-transitory computer readable medium
JP2007508638A (ja) 特定用途向け集積回路設計の設計検証を高速化する方法及び装置
KR100794916B1 (ko) 에뮬레이션과 시뮬레이션을 혼용한 점진적 설계 검증을위한 설계검증 장치 및 이를 이용한 설계 검증 방법
JP3472067B2 (ja) 設計支援装置
US7992112B2 (en) Hardware verification programming description generation apparatus, high-level synthesis apparatus, hardware verification programming description generation method, hardware verification program generation method, control program and computer-readable recording medium
KR20060066634A (ko) 검증 성능과 검증 효율성을 높이는 동적검증 기법 방식의검증 장치 및 이를 이용한 검증 방법론
US7051301B2 (en) System and method for building a test case including a summary of instructions
WO2001035283A2 (en) System for performing parallel circuit simulation in a high level description language
KR101328263B1 (ko) 체계적 점진적 구체화를 통한 전자시스템수준에서부터게이트수준까지의 검증 방법
JP2006268606A (ja) シミュレーション装置
US20240111660A1 (en) Managing high performance simulation representation of an emulation system
US11868694B1 (en) System and method for optimizing emulation throughput by selective application of a clock pattern
Schirrmeister et al. Hardware-assisted verification and software development
JP2003523001A (ja) 集積回路設計を記述するネットリストの操作方法、ならびにテストベクトルを生成して、プロトタイプ集積回路設計の測定テスト結果とシミュレート性能との比較ミスの数を減少させる方法
JP4484048B2 (ja) ハードウェア/ソフトウェア協調検証システム
KR20050101105A (ko) 검증 성능을 높이는 시뮬레이션 기반의 검증 장치 및 이를이용한 시뮬레이션 방법
Siddiqui System-on-Chip (SoC) emulation
KR20070108303A (ko) 체계적 점진적 구체화를 통한 전자시스템수준에서부터게이트수준까지의 검증 방법

Legal Events

Date Code Title Description
FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20070912

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20080912

Year of fee payment: 5

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20080912

Year of fee payment: 5

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20090912

Year of fee payment: 6

LAPS Cancellation because of no payment of annual fees