(57)【特許請求の範囲】
【請求項１】
入力された回路の記述を、該回路の動作検証を高速に実行するに適した回路の記述に変換する回路設計支援装置であって、クロック信号が「１」あるいは「０」になる度に前記レジスタ信号の値を更新する動作を記述した第１の動作記述を、前記クロック信号の値が「１」のときの動作に対応する第１の演算及び前記クロック信号の値が「０」のときの動作に対応する第２の演算を順次連続して記述して更にこの第１の演算と第２の演算を複数回繰り返す動作にすることによってクロックを削除した記述である第２の動作記述に変換する変換手段と、
前記第２の動作記述を用いることによりクロック信号を簡略化して動作検証を行なうシミュレータと、を具備したことを特徴とする回路設計支援装置。
【請求項２】
入力された回路の記述を該回路の動作検証を高速に実行するに適した回路の記述に変換する回路設計支援装置であって、クロック信号が「１」あるいは「０」になる度に前記レジスタ信号の値を更新する動作を記述した第１の動作記述を、前記クロック信号が更新される度に実行される動作処理の記述文を統合し、更にクロック信号をクロック変数に変更し、前記クロック変数の値が更新する度に前記統合された動作処理が複数回繰り返される第２の動作記述に変換する変換手段と、
前記第２の動作記述を用いることによりクロック信号を簡略化して動作検証を行なうシミュレータと、を具備したことを特徴とする回路設計支援装置。
【請求項３】
前記第１の動作記述は、VHDLで記述されていることを特徴とする請求項１または２に記載の回路設計支援装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明はハードウェアの設計を支援するＣＡＤ（計算機支援設計）システムに関する。
【０００２】
【従来の技術】
近年、ＬＳＩ等の設計対象ハードウェアの大規模化に伴って、設計効率の向上を目的として機能設計のような設計の上位工程から設計を支援するＣＡＤシステムが開発されている。
【０００３】
ここで、シミュレータの入力データとしては、図面による入力の他に、ソフトウエアのプログラム言語に類似したハードウェア設計用のハードウェア記述言語（以下ＨＤＬと表記する）が用いられ、設計者は図面やあるいはＨＤＬ等をシミュレータに入力し、シミュレーションによって設計を検証する。
【０００４】
ＨＤＬの中でも、ＶＨＤＬ、Ｖｅｒｉｌｏｇ  ＨＤＬ等は、ミックスレベルシミュレーションをサポートしている。すなわち、単一のＨＤＬにより複数の記述レベル、記述方式でモデル記述を行ない、それらを結合して検証できるため、多くの設計で利用されつつある。
【０００５】
シミュレーションモデル中に記述された並列に動作する単位をプロセスという。ＶＨＤＬ、Ｖｅｒｉｌｏｇ  ＨＤＬで記述されたプロセスの一例をそれぞれ図２９、図３０に示す。
【０００６】
ＶＨＤＬ記述におけるプロセスは（図２９参照）、予約語「ｐｒｏｃｅｓｓ」に続く括弧中に示される信号、すなわちこの例の場合、信号「ｉｎ１」、「ｉｎ２」の値が変化したとき、実行される。同様にＶｅｒｉｌｏｇ  ＨＤＬにおけるプロセスは（図３０参照）、予約語「ａｌｗａｙｓ＠」に続く括弧中に示される信号の値が変化したときに実行される。上記の括弧中に示される信号のリストをプロセスのセンシティビティ・リストといい、その信号をセンシティビティ信号、駆動信号という。
【０００７】
上位工程からの設計を支援するために、シミュレータには大規模な回路を高速にシミュレーションできる能力が強く要求されている。
【０００８】
そのために、大規模な回路を、従来用いられていたイベントドリブン方式のシミュレータでシミュレーションするのではなく、サイクルベース方式という高速化方式でシミュレーションする方法などが提案されてきている。
【０００９】
イベントドリブン法とは、ある時刻である素子の入力に変化があれば、次の時刻でその素子の論理演算を行い、変化がなければ何も行わない手法である。
【００１０】
信号の値の変化（イベント）を検出して、順次信号値を伝搬させていき、全ての信号に変化が無くなった時に初めて、時刻の更新を行なうイベントドリブン方式に対して、サイクルベース方式は、あらかじめシミュレーションモデルの処理に依存関係を静的に解析し、イベントドリブン方式でシミュレーションした場合とクロックの区切りで結果が一致するようにプロセス等の実行順序を決定して、１クロック毎に回路全体を決められた回数だけ評価する。サイクルベース方式のシミュレーションはタイミングを検証するために用いられるのではなく、機能の確認に目的を絞って高速に検証を行なうために用いられる。そのため、クロック信号以外の信号の代入予約記述に書かれた遅延を許さないか、無視されることが多い。
【００１１】
イベントドリブン方式でシミュレーションした時に、１クロック内に何度も値が変化していた信号は、サイクルベースシミュレーションにおいては、値の変化は１クロックに１回（場合によっては複数回だが定数回である）だけになり、シミュレーションを高速化することができる。
【００１２】
シミュレーションの高速化の要望によりサイクルベース方式が提案されたが、サイクルベース方式における、時刻管理処理、レジスタ処理にかかるコストは依然として大きい。
【００１３】
このため、更なるシミュレーション高速化の手段として、大規模な回路のうち、既にデバッグ済みのモジュールや、市販モジュール部分はハードウェアの構成に基づいたレジスタ・トランスファ・レベルのモデルではなく対象となるハードウェアモデルの動作に基づいたビヘイビア・レベルのモデルを別に設計者が作成するが、あるいは市販のモデル等を購入して、用いることによって回路全体のシミュレーション速度を向上させるという方法などを採る場合がある。しかし、記述レベルの異なるモデルを作成したり、購入するにはコストがかかり、またこれらのモデルに対してそれぞれ検証を行う必要があるため、設計期間の短縮が効率的に行えるとは言えない。また、これらの複数のモデルは独立に作成されたものであるため、整合しないなど、モデルの管理に不都合が生じるという問題も発生している。また、複数のモデルに対してテストベクトルを個別に用意しなければならないという問題もあり、シミュレーションの高速化手段として、複数のモデルを利用するという方法を充分活用できる環境になっていない。
【００１４】
【発明が解決しようとする課題】
現在利用されているイベントドリブン手法においては、イベント処理、サイクルベース手法においては、時刻の管理処理、レジスタ処理などにかかる時間的なコストが大きく、大規模な回路構成を記述したハードウエアモデル全体のシミュレータとしては高速性が不十分であった。
【００１５】
シミュレーションを更に高速化するためには、設計者がハードウェア設計のために作成したハードウェアモデルの他にビヘイビアモデル等の高速シミュレーション用のモデルを作成するか、購入しなければならず、また、それぞれのモデルについて検証を行わなければならず、設計期間やコストにおいて問題があった。また、このように２つのモデルを利用する場合、これらは独立に作成された物であるため、各々をデバッグしなければならない、２つのモデルの動きが必ずしも整合しないなど、モデルの管理に不都合が生じるという問題があった。このように複数のモデルを利用すると、テストベクトルを個別に用意しなければならないという問題があった。
【００１６】
そこで、本発明は、与えられた回路記述（ハードウエアモデル）をシミュレーション実行時間の短縮できるシミュレーションモデルに変換し、設計した回路の動作検証が容易に行え、ハードウエア設計の検証行程を短縮する回路変換方法およびぞれを用いた回路設計支援装置を提供することを目的とする。
【００１７】
【課題を解決するための手段】
本発明は、入力された回路の記述を、該回路の動作検証を高速に実行するに適した回路の記述に変換する回路設計支援装置であって、クロック信号が「１」あるいは「０」になる度に前記レジスタ信号の値を更新する動作を記述した第１の動作記述を、前記クロック信号の値が「１」のときの動作に対応する第１の演算及び前記クロック信号の値が「０」のときの動作に対応する第２の演算を順次連続して記述して更にこの第１の演算と第２の演算を複数回繰り返す動作にすることによってクロックを削除した記述である第２の動作記述に変換する変換手段と、前記第２の動作記述を用いることによりクロック信号を簡略化して動作検証を行なうシミュレータとを具備したことを特徴とする。
【００１８】
また、本発明は、入力された回路の記述を該回路の動作検証を高速に実行するに適した回路の記述に変換する回路設計支援装置であって、クロック信号が「１」あるいは「０」になる度に前記レジスタ信号の値を更新する動作を記述した第１の動作記述を、前記クロック信号が更新される度に実行される動作処理の記述文を統合し、更にクロック信号をクロック変数に変更し、前記クロック変数の値が更新する度に前記統合された動作処理が複数回繰り返される第２の動作記述に変換する変換手段と、前記第２の動作記述を用いることによりクロック信号を簡略化して動作検証を行なうシミュレータとを具備したことを特徴とする。
【００２３】
【発明の実施の形態】
以下、本発明の実施形態について図面を参照して説明する。
【００２４】
（第１の実施形態）
本発明の第１の実施形態として、入力されたハードウエアモデル（回路記述）中のレジスタ信号を変数に変換する回路変換方法を用いた回路設計支援装置について説明する。
【００２５】
図１は、第１の実施形態に係る回路設計支援装置の構成例を示したもので、入力された動作検証対象の回路記述であるハードウエアモデル（シミュレーションモデル）１００を高速にシミュレーションが可能なモデルに変換するシミュレーションモデル変換部３、変換部３で作成されたシミュレーションモデル１０１で動作検証を行うシミュレータ５０から構成される。
【００２６】
シミュレーションモデル変換部３は、レジスタ信号変数化部２から構成され、入力されたシミュレーションモデル１００中のレジスタ信号を変数に変換するようになっている。
【００２７】
次に、本実施形態に係る回路変換方法について簡単なシミュレーションモデルを用いて具体的に説明する。
【００２８】
図２は、図１の回路設計支援装置に入力するハードウエアモデル（シミュレーションモデル）の一例として、動作検証対象の論理回路をＶＨＤＬで記述したものである。
【００２９】
図２のシミュレーションモデルの記述は以下のことを示している。
【００３０】
行０〜行３：  モジュールの名前が「ｍｏｄｅｌ０」であり、入力ポート「ｓｔａｒｔ」と、入出力（双方向）ポート「ｄｏｎｅ」があることを示す。
【００３１】
行４〜行２７：  モジュールｍｏｄｅｌ０の内部の構成を示す。これらは２つのプロセスｐ０（行８より）、ｐ１（行１２より）から成る。
【００３２】
行６〜行７：  モジュールｍｏｄｅｌ０内の信号がＣＬＫ、Ａであることを示す。
【００３３】
行８〜行１１：  ＣＬＫ信号が１０ｎｓ毎に反転することを示す。
【００３４】
行１２〜行２６：  ＣＬＫ信号にイベントが発生した時に起動されるプロセスである。
【００３５】
行１３：  プロセスｐ１に変数Ｂ、Ｃ、Ｄがあることを示す。
【００３６】
行１５〜行１８：  ｓｔａｒｔ信号が「１」であるとき、レジスタ信号Ａの値を参照して、変数Ｂ、Ｄ、Ｃの値を更新する。
【００３７】
行１９〜行２６：  ＣＬＫ信号にイベントが発生し、値が「１」である時、レジスタ信号Ａに変数Ｃの値に「１０」を加算したものを代入予約する。この時、Ｃの値が「１００」より大きければ、ｄｏｎｅ信号を「１」にする。
【００３８】
この記述を図１のレジスタ信号変数化部２に入力した場合を例にとってレジスタ信号Ａを変数化する説明をする。なお、レジスタ信号変数化部２から出力される変換後の記述を図３に示す。
【００３９】
・  図２の行７にあるレジスタ信号Ａの信号宣言を変数宣言に変え、図３の行１２に示すように、レジスタ信号Ａへの値セットを行うプロセスｐ１内で宣言する。
【００４０】
・  図２の行２０にあるレジスタ信号Ａへの代入文を、図３の行１９に示すように、変数への代入文に変換する。
【００４１】
ここでは、レジスタ信号Ａが記述にあるモジュール中の内部信号である場合を示したが、レジスタ信号Ａがポートである場合には、必要に応じてレジスタ信号Ａのコピーをモジュール内に持ち、シミュレーションの要求精度に応じた時刻の詳細度でコピーの値をポートの接続先に転送する事によって同様に変数化することが可能である。
【００４２】
このように、レジスタ信号のような伝搬遅れ時間、入出力波形に関する各種情報を含むため、シミュレーション時の処理において速度、記憶領域ともに負荷が大きい信号を、波形に関する情報等を含まない負荷の小さい変数に置き換えることによって、シミュレーションの速度が向上し、シミュレーション時に必要なメモリ量を削減できる。
【００４３】
レジスタ信号の変数化によって、シミュレーション実行時間が大幅に短縮される。また、シミュレーション実行時のメモリ使用量を減少することができる。
【００４４】
設計者が作成したハードウェアモデルから、シミュレーションモデル変換部２を用いて高速なシミュレーションが可能なモデルを作成するので、設計者がデバッグするのは最初に作成したハードウェアモデルのみで良く、複数のモデルを取り扱う、管理の問題は発生しない。変換後のシミュレーションモデルに対しても変換前のシミュレーションモデル用のテストベクトルを用いる事が可能であるため、モデル毎のテストベクトルを用意する必要は無い。
【００４５】
（第２の実施形態）
本発明の第２の実施形態として、入力されたハードウエアモデル（回路記述）中のクロック信号を簡略化する回路変換方法を用いた回路設計支援装置について説明する。
【００４６】
図４は、第２の実施形態に係る回路設計支援装置の構成例を示したもので、入力された動作検証対象の回路記述であるハードウエアモデル（シミュレーションモデル）１００を高速にシミュレーションが可能なモデルに変換するシミュレーションモデル変換部３、変換部３で作成されたシミュレーションモデル１０１で動作検証を行うシミュレータ５０から構成される。
【００４７】
シミュレーションモデル変換部３は、クロック信号簡略化部１から構成され、入力されたシミュレーションモデル１００中のクロック信号を簡略化するようになっている。
【００４８】
次に、本実施形態に係る回路変換方法について図２に示したような簡単なシミュレーションモデルを用いて具体的に説明する。なお、クロック信号簡略化部１から出力される変換後の記述を図５に示す。
【００４９】
・  図２行５〜行６のクロック信号ＣＬＫの信号宣言を、図５行８に示すように変数宣言に変える。すなわち、図２行８〜行１１のＣＬＫ更新プロセスｐ０中の行８の演算部を、図５行１３に示すように、クロック信号ＣＬＫを参照するプロセスｐ１中に組み込み、このプロセス中で上記変数宣言を行なう（図５行８）。
【００５０】
・  図２のプロセスｐ１の動作及び上記クロック更新プロセスの演算部を、図５行１３〜行２２に示すように、１クロック更新される度に実行される動作処理の記述文を統合して、クロック変数が更新する度にそれを繰り返すようにループ文で囲む。
【００５１】
ここでは、プロセスｐ１では信号ｄｏｎｅのイベントを外部に伝搬する為に、信号ｄｏｎｅに対応する変数ｄｏｎｅ ｖを新たに作成し、図５行１９〜行２１に示すようにｄｏｎｅ ｖの値が変化したら（ここでは「１」になったら）、図５におけるプロセスｐ１の処理のループから抜け、信号ｄｏｎｅの値を更新し、変数ｄｏｎｅ ｖを「０」に戻す処理（図５行２５〜行２６）を付加している。
【００５２】
上記では信号値によってループを抜けるような記述の変更例を示したが例えば３クロック毎に、ある値を外部に伝搬する場合には、図６に示すように、カウンタ変数Ｃｏｕｎｔを用いてその値の条件を用いるという場合もある。
【００５３】
従来はクロック信号の変化の度にプロセスの処理とシミュレータのコアの処理との切り替えが発生していたが、以上説明したようなクロック信号の簡略化の施されたシミュレーションモデルを用いることにより、この切り替えが発生しなくなるため、シミュレータ５０の実行速度を向上させることができる。
【００５４】
また、シミュレーション実行時のメモリ使用量を減少することができる。
【００５５】
設計者が作成したハードウェアモデルから、シミュレーションモデル変換部３を用いて高速にシミュレーションが可能なモデルを作成するので、設計者がデバッグするのは最初に作成したハードウェアモデルのみで良く、複数のモデルを取り扱う、管理の問題は発生しない。変換後のシミュレーションモデルに対しても変換前のシミュレーションモデル用のテストベクトルを用いる事が可能であるため、モデル毎のテストベクトルを用意する必要は無い。
【００５６】
（第３の実施形態）
本発明の第３の実施形態として、入力されたハードウエアモデル（回路記述）中のレジスタ信号の変数化およびクロック信号の簡略化を行う回路変換方法を用いた回路設計支援装置について説明する。
【００５７】
図７は、第３の実施形態に係る回路設計支援装置の構成例を示したもので、入力された動作検証対象の回路記述であるハードウエアモデル（シミュレーションモデル）１００を高速にシミュレーションが可能なモデルに変換するシミュレーションモデル変換部３、変換部３で作成されたシミュレーションモデル１０１で動作検証を行うシミュレータ５０から構成される。
【００５８】
シミュレーションモデル変換部３は、クロック信号簡略化部１とレジスタ信号変数化部２から構成される。
【００５９】
クロック信号簡略化部１は、入力されたシミュレーションモデル１００中のクロック信号を簡略化するようになっている。
【００６０】
レジスタ信号変数化部２は、入力されたシミュレーションモデル１００中のレジスタ信号を変数に変換するようになっている。
【００６１】
次に、本実施形態に係る回路変換方法について図８に示したような簡単なシミュレーションモデルを用いて具体的に説明する。なお、図８の記述は以下に示す一部を除いて図２と同様である。
【００６２】
行２１〜行２２：  信号ＣＬＫの値が「０」の時にする処理が記述される。変数Ｃより「１」ひいた値をレジスタ信号Ａに代入予約する。
【００６３】
行２４〜行２６：  図２では信号ＣＬＫの値が「１」の時のみＣの値をチェックして信号ｄｏｎｅの値設定をしていたが、ここでは信号ＣＬＫの値に関わらずその処理を行なう。
【００６４】
図８のシミュレーションモデルの記述を図７のレジスタ信号変数化部２に入力して、レジスタ信号Ａを変数化する際には、第１の実施形態と同様な手順で行う。
【００６５】
図８のシミュレーションモデルの記述を図７のクロック信号簡略化部１で入力してクロック信号を簡略化する際には、第２の実施形態の場合のように、クロック信号を変数化するのではなく、クロックの各値で処理される内容を順次並べることにより、クロックそのものを削除する。
【００６６】
すなわち、図８において、クロック信号の値が「１」で実行されるべき動作処理の記述は１５行〜１８行と２０行、２４行〜２６行である。クロック信号の値が「０」で実行されるべき動作処理の記述は１５行〜１８行と２２行、２４行〜２６行である。これらをクロック信号の各値毎に統合して書き換えたものを図９に示す。図９では、クロック信号の値が「１」のときの動作処理の記述を１３行〜２０行に、クロック信号が「０」のときの動作処理の記述を２１行〜２８行に並べられている。
【００６７】
レジスタ信号の変数化手順は第１の実施形態と同様に以下のように行う。
【００６８】
・  図８の行７にあるレジスタ信号Ａの信号宣言を変数宣言に変え、図９行１１に示すように、レジスタ信号Ａへの値をセットする記述文のあるプロセスｐ１で宣言する。
【００６９】
・  図８の行２０〜２２にあるレジスタ信号Ａへの代入文を、図９の行１７、行２５に示すように、変数への代入文に変更する。
【００７０】
ここでは、レジスタ信号Ａが記述にあるモジュール中の内部信号である場合を示したが、レジスタ信号Ａがポートである場合には、必要に応じてレジスタ信号Ａのコピーをモジュール内に持ち、シミュレーションの要求精度に応じた時刻の詳細度でコピーの値をポートの接続先に転送する事によって同様に変数化することが可能である。
【００７１】
このように、レジスタ信号のような伝搬遅れ時間、入出力波形に関する各種情報を含むため、シミュレーション時の処理において速度、記憶領域ともに負荷が大きい信号を、波形に関する情報等を含まない負荷の小さい変数に置き換えることによって、シミュレーションの速度が向上し、シミュレーション時に必要なメモリ量を削減できる。
【００７２】
また、従来はクロック信号の変化の度にプロセスの処理とシミュレータのコアの処理との切り替えが発生していたが、クロック信号の簡略化により、この切り替えが発生しなくなるため、シミュレータ５０の実行速度を向上させることができる。
【００７３】
さらに、設計者が作成したハードウェアモデルから、シミュレーションモデル変換部３を用いて高速にシミュレーションが可能なモデルを作成するので、設計者がデバッグするのは最初に作成したハードウェアモデルのみで良く、複数のモデルを取り扱う、管理の問題は発生しない。変換後のシミュレーションモデルに対しても変換前のシミュレーションモデル用のテストベクトルを用いる事が可能であるため、モデル毎のテストベクトルを用意する必要は無い。
【００７４】
（第４の実施形態）
本発明の第４の実施形態として、入力されたハードウエアモデル（回路記述）中のクロック信号の簡略化およびレジスタ信号の変数化を行う回路変換方法を用いた回路設計支援装置について説明する。ここで対象とするハードウエアモデルでは、階層化されたモジュール構成で下位階層のモジュールでクロック信号をポート入力信号として用いている場合である。
【００７５】
図１０は、第４の実施形態に係る回路設計支援装置の構成例を示したもので、入力された動作検証対象の回路記述であるハードウエアモデル（シミュレーションモデル）１００を高速にシミュレーションが可能なモデルに変換するシミュレーションモデル変換部４、変換部４で作成されたシミュレーションモデル１０１で動作検証を行うシミュレータ５０から構成される。
【００７６】
シミュレーションモデル変換部４は、クロック信号簡略化部１とレジスタ信号変数化部２、クロック信号多重化部５から構成される。
【００７７】
クロック信号多重化部５は、クロック信号をポート入力信号とする下位階層のモジュールにクロック信号の信号宣言文、クロック信号の更新プロセス等をコピーする。
【００７８】
クロック信号簡略化部１は、入力されたシミュレーションモデル１００中のクロック信号を簡略化するようになっている。
【００７９】
レジスタ信号変数化部２は、入力されたシミュレーションモデル１００中のレジスタ信号を変数に変換するようになっている。
【００８０】
次に、本実施形態に係る論理回路変換方法について図１１、図１２に示したような簡単なシミュレーションモデルを用いて具体的に説明する。
【００８１】
図１１の記述は、モジュールｍｏｄｅｌ ｔｏｐが、その下位の階層にモジュールｍｏｄｅｌ０、ｍｏｄｅｌ１をもつシミュレーションモデルの記述である。ｍｏｄｅｌ ｔｏｐは、ｍｏｄｅｌ０、ｍｏｄｅｌ１を動作させる共通クロック信号ＣＬＫをもち、このＣＬＫを反転させるプロセスｐ０を持つ。また、ｍｏｄｅｌ０、ｍｏｄｅｌ１の処理をコントロールするスタート信号（ｓｔａｒｔ ０、ｓｔａｒｔ １）、終了信号（ｄｏｎｅ ０、ｄｏｎｅ １）を持つ。これらの信号（クロック信号、スタート信号、終了信号）は全てｍｏｄｅｌ０、ｍｏｄｅｌ１のポートに接続されている。
【００８２】
図１２の記述には、モジュールｍｏｄｅｌ０、ｍｏｄｅｌ１の内容を示している。ここで、ｍｏｄｅｌ０はＣＬＫをポートとして上位から渡されている以外は図８と同様の記述である。ｍｏｄｅｌ１は、簡単の為内部の記述を省略した。
【００８３】
図１２のモジュールｍｏｄｅｌ０に対し、前述した回路変換方法のクロック信号の簡略化を行う場合、クロック信号ＣＬＫがモジュールｍｏｄｅｌ１においても用いられている為、そのままではクロック信号の簡略化を行えない。そこで、図１０のクロック信号多重化部５では、図１１のクロック信号ＣＬＫの信号宣言文（行４）、ＣＬＫ更新プロセス（行６〜９）のコピーをモジュールｍｏｄｅｌ０内に作成し、モジュールｍｏｄｅｌ０のＣＬＫポートを削除して、図１３に示すようにモジュールｍｏｄｅｌ０を書き換える。
【００８４】
図１３では、図１１のクロック信号ＣＬＫの信号宣言文（行４）のコピーがが行６に作成され、ＣＬＫ更新プロセス（行６〜９）のコピーが行８〜１１に作成されている。
【００８５】
そして、クロック信号多重化部５から出力された図１３、および図１１に示した記述に対し第１〜第３の実施形態と同様にクロック信号簡略化部１、レジスタ信号変数化部２によってクロック信号の簡略化とレジスタ信号の変数化を行なう。
【００８６】
これにより、クロック信号を他のモジュールと共有しているモジュールに対して、クロック信号の簡略化やレジスタ信号変数化などを行ない、シミュレーションを高速化し、シミュレーション時の使用メモリ量を減らす事ができる。
【００８７】
また、設計者が作成したハードウェアモデルから、シミュレーションモデル変換部４を用いて高速にシミュレーションが可能なモデルを作成するので、設計者がデバッグするのは最初に作成したハードウェアモデルのみで良く、複数のモデルを取り扱う、管理の問題は発生しない。変換後のシミュレーションモデルに対しても変換前のシミュレーションモデル用のテストベクトルを用いる事が可能であるため、モデル毎のテストベクトルを用意する必要は無い。
【００８８】
さらに、クロック信号を共有する複数のモジュールのそれぞれに関して本発明を適用することを可能にする。
【００８９】
（第５の実施形態）
本発明の第５の実施形態として、入力されたハードウエアモデル（回路記述）中のクロック信号の簡略化およびレジスタ信号の変数化を行う回路変換方法を用いた回路設計支援装置について説明する。
【００９０】
図１４は、第５の実施形態に係る回路設計支援装置の構成例を示したもので、入力された動作検証対象の回路記述であるハードウエアモデル（シミュレーションモデル）１００を高速にシミュレーションが可能なモデルに変換するシミュレーションモデル変換部６、変換部６で作成されたシミュレーションモデル１０１で動作検証を行うシミュレータ５０から構成される。
【００９１】
シミュレーションモデル変換部６は、クロック信号簡略化部１とレジスタ信号変数化部２、時刻管理処理挿入部７から構成される。
【００９２】
クロック信号簡略化部１は、入力されたシミュレーションモデル１００中のクロック信号を簡略化するようになっている。
【００９３】
レジスタ信号変数化部２は、入力されたシミュレーションモデル１００中のレジスタ信号を変数に変換するようになっている。
【００９４】
時刻管理処理挿入部７は、入力されたシミュレーションモデル１００中にクロック信号の動作に基づき時刻管理を行うための変数、ポート信号を埋め込む。
【００９５】
次に、本実施形態に係る回路変換方法について簡単なシミュレーションモデルを用いて具体的に説明する。
【００９６】
図１５は、図１４の回路設計支援装置に入力するシミュレーションモデルの一例として、動作検証対象の論理回路をＶＨＤＬで記述したものである。以下、図１５のシミュレーションモデル（モジュール名が「ｍｏｄｅｌ０」）を入力とした場合の図１４の回路設計支援装置の動作を説明する。なお、図１５のシミュレーションモデルをシミュレーションモデル変換部６で変換した結果を図１６に示す。
【００９７】
図１５の記述のクロック信号ＣＬＫは、図１４のクロック信号簡略化部１において、第２〜第３の実施形態に示した様に簡略化されれ。すなわち、図１５の行６にあるクロック信号ＣＬＫの信号宣言文を変数宣言文に変え、図１６の行７に示すように、クロック信号を参照するプロセスｐ１に組み込む。また、図１５の行１０〜行１３のＣＬＫ更新プロセス中の行１２の演算部を、図１６の行１６に示すように、クロック信号を参照するプロセスｐ１に組み込む。
【００９８】
レジスタ信号変数化部２では、レジスタ信号Ａ、Ｂ、Ｃを変数に変換する。すなわち、図１５の行７〜行９にあるレジスタ信号Ａ、Ｂ、Ｃの信号宣言を変数宣言に変え、図１６の行８〜行１０に示すように、レジスタ信号への値セットを行うプロセスｐ１内で宣言する。そして、図１５の行１８〜行２３にあるレジスタ信号への代入文を、図１６の行１９〜行２４に示すように、変数への代入文に変換する。
【００９９】
時刻管理処理挿入部７では、図１６の行１、行１１に示すように、信号ｃｌｋ＿ｃｏｕｎｔｅｒ、および変数ｃｌｋ＿ｃｏｕｎｔｅｒ＿ｖをモデルに追加して、時刻を管理することを可能にする。
【０１００】
変数ｃｌｋ＿ｃｏｕｎｔｅｒ＿ｖは、変数ＣＬＫが変化する度に（図１６の行１６）、１０ずつ加算されるようになっていて（例えば、図１５の行１２よりクロック信号の宣言文に１０ｎｓ毎に信号を反転するように定義されていることに対応して１０ずつ加算する）、この変数ｃｌｋ＿ｃｏｕｎｔｅｒ＿ｖの値をｍｏｄｅｌ０の内部と外部で監視する為にポート信号ｃｌｋ ｃｏｕｎｔｅｒをｍｏｄｅｌ０の付加している。
【０１０１】
ポート信号ｃｌｋ ｃｏｕｎｔｅｒの値は、図１６の行１３に示すように、モジュールｍｏｄｅｌ０が動作する時、つまりプロセスｐ１内の処理が実行される時にプロセス内の変数ｃｌｋ ｃｏｕｎｔｅｒ ｖにセットされ、クロックの値が反転する（図１６の行１６）度に、ｃｌｋ ｃｏｕｎｔｅｒ ｖの値を更新する（図１６の行１７）。
【０１０２】
ここでは、変数ｃｌｋ ｃｏｕｎｔｅｒ ｖに１０ずつ加算しているが、これは元の記述（図１５の行１２）において、１０ｎｓ毎にＣＬＫを反転していることに対応している。そして、プロセスｐ１内の処理が終わる時に、ｃｌｋ ｃｏｕｎｔｅｒ ｖの値がｃｌｋ ｃｏｕｎｔｅｒにセットされ更新される（図１６の行３３）。
【０１０３】
図１６では、プロセス処理の最初と最後にｃｌｋ ｃｏｕｎｔｅｒ、ｃｌｋ ｃｏｕｎｔｅｒ ｖの更新文を挿入しているが、本来はｃｌｋ ｃｏｕｎｔｅｒ ｖの値が変化する可能性のある分岐（図１６の行１４に示した条件ｓｔａｒｔ＝「１」を満たす時）においてのみ更新が必要であるので、その分岐内にのみ挿入するという方法も考えられる。
【０１０４】
また、図１６の行１７に示すように、ＣＬＫの反転に応じて加算するｃｌｋ ｃｏｕｎｔｅｒの値を１０としていたが、図１７の行１７に示すように、１０ｎｓを１単位として換算し、ｃｌｋ ｃｏｕｎｔｅｒの値を１ずつ加算する場合も考えられる。
【０１０５】
複数のモジュールよりなるシミュレーションモデルに関して本実施形態に係る回路変換方法を適用する場合、それらの複数のモジュールの中に現れる時刻を表す数値に関して、最大公約数を１単位として、時刻管理を行うための変数に加算する。このようにして計数された時刻管理を行うための変数は、複数モジュールのそれぞれについてクロック信号の簡略化やレジスタ信号の変数化を行なった場合に、ポート信号を介してモニターして、各モジュールの時刻の管理を行うために利用される。
【０１０６】
ここでは、ポート信号ｃｌｋ ｃｏｕｎｔｅｒをシミュレーションモデル中に設け、記述を変更することによって、時刻の管理を行なう例を示したが、図１８に示すように、時刻管理処理部８を例えばシミュレータ５０等のシミュレーションモデルを受理するシステムの中に作りこんで、モデル記述としては明示的に示さずに、例えば、前述したような時刻管理処理挿入部７で説明したように、時刻管理を行うための変数、ポート信号を埋め込み、シミュレータ５０内で時刻の管理を行なうこともできる。
【０１０７】
以上説明したように、上記実施形態によれば、クロック信号の簡略化、レジスタ信号の変数化によって、シミュレーション実行時間が大幅に短縮される。また、シミュレーション実行時のメモリ使用量を減少することができる。
【０１０８】
設計者が作成したハードウェアモデルから、シミュレーションモデル変換部６を用いて高速にシミュレーションが可能なモデルを作成するので、設計者がデバッグするのは最初に作成したハードウェアモデルのみで良く、複数のモデルを取り扱う、管理の問題は発生しない。変換後のシミュレーションモデルに対しても変換前のシミュレーションモデル用のテストベクトルを用いる事が可能であるため、モデル毎のテストベクトルを用意する必要は無い。
【０１０９】
また、変換を適用したモジュールの処理の開始時刻から終了までに要したクロック数等を処理の終了時に参照する事が可能になる。また、複数のモジュールからなるハードウエアモデルのシミュレーションにおいて、スケジューリングが可能になる。
【０１１０】
（第６の実施形態）
本発明の第６の実施形態として、入力されたハードウエアモデル（回路記述）中のレジスタ信号の変数化およびクロック信号の簡略化を行う回路変換方法を用いた回路設計支援装置について説明する。
【０１１１】
図１９は、第６の実施形態に係る回路設計支援装置の構成例を示したもので、入力された動作検証対象の回路記述であるハードウエアモデル（シミュレーションモデル）１００を高速にシミュレーションが可能なモデルに変換するシミュレーションモデル変換部１０、変換部１０で作成されたシミュレーションモデル１０１で動作検証を行うシミュレータ５０から構成される。
【０１１２】
シミュレーションモデル変換部１０は、クロック信号簡略化部１とレジスタ信号変数化部２とレジスタ変数化情報指定部１１から構成される。
【０１１３】
クロック信号簡略化部１は、入力されたシミュレーションモデル１００中のクロック信号を簡略化するようになっている。
【０１１４】
レジスタ信号変数化部２は、入力されたシミュレーションモデル１００中のレジスタ信号を変数に変換するようになっている。
【０１１５】
レジスタ変数化情報指定部１１は、入力されたシミュレーションモデル１００中のレジスタ信号を変数に変換するか否か、変数に変換するとともに信号としても残すか否かを指定するためのものである。
【０１１６】
前述の第１の実施形態では、レジスタ信号変数化部２においてレジスタ信号Ａを変数化する例を示したが、本実施形態においては、例えば複数のレジスタ信号が存在するシミュレーションモデルのモジュールにおいて、変数化するレジスタ信号を指定したり、変数化を行なわないレジスタ信号を指定したり、変数化と同時に信号としても残すレジスタ信号を指定することを可能にする。
【０１１７】
この場合、図１９のレジスタ変数化情報指定部１１にて、変数化を行なうと指定されたレジスタ信号の場合は、第１の実施形態で説明したように変数化を行なう。変数化を行なわないと指定されたレジスタ信号の場合はそのままレジスタ信号とする。また、変数化を行なうと同時に信号としても残すものとして指定されたレジスタ信号の場合、そのレジスタ信号に対する更新処理は変数に対する更新処理に置き換える。そして、そのモジュールの処理の最初に信号から変数への値のセットを行ない、処理の終わりに変数から信号への値セットを行なう。
【０１１８】
図２のシミュレーションモデル記述中のレジスタ信号Ａを変数化を行なうと同時に信号としても残すと指定した場合の変換結果を図２０、図２１に示す。図２０は、レジスタ信号Ａを変数化するとともに（行１２参照）、信号としても残した場合（行５参照）であり、プロセスｐ１中では変数Ａ＿ｖで演算を行い、プロセスｐ１の処理終了時に変数Ａ＿ｖの値が信号Ａに代入されるようになっている（行２６）。
【０１１９】
図２１はこれと合わせてクロックの簡略化を行なった場合である。クロックの簡略化に関しては、第２の実施形態で説明したような変数化を行った場合について示したが、第３の実施形態に示したようにクロックを削除してしまう場合についても同様である。
【０１２０】
以上説明したように、上記第６の実施形態によれば、クロック信号の簡略化、レジスタ信号の変数化によって、シミュレーション実行時間が大幅に短縮される。また、シミュレーション実行時のメモリ使用量を減少することができる。
【０１２１】
設計者が作成したハードウェアモデルから、シミュレーションモデル変換部１０を用いて高速にシミュレーションが可能なモデルを作成するので、設計者がデバッグするのは最初に作成したハードウェアモデルのみで良く、複数のモデルを取り扱う、管理の問題は発生しない。変換後のシミュレーションモデルに対しても変換前のシミュレーションモデル用のテストベクトルを用いる事が可能であるため、モデル毎のテストベクトルを用意する必要は無い。
【０１２２】
また、入力されたオリジナルのシミュレーションモデル中に存在するレジスタ信号のうち、レジスタ変数化情報指定部１１で変数化するものを指定したり、変数化しないレジスタ信号を指定したり、レジスタ信号を変数化する際に信号も残しておくことを指定することが可能になる。これによって、クロック信号の簡略化またはレジスタ信号の変数化を適用するモジュールを含む複数のモジュールからなるシミュレーションモデルを総合してシミュレーションする際に他のモジュールに対する影響を考慮することができるようになる。
【０１２３】
（第７の実施形態）
本発明の第７の実施形態として、入力されたハードウエアモデル（回路記述）中のレジスタ信号の変数化およびクロック信号の簡略化を行う回路変換方法を用いた回路設計支援装置について説明する。
【０１２４】
図２２は、第７の実施形態に係る回路設計支援装置の構成例を示したもので、入力された動作検証対象の回路記述であるハードウエアモデル（シミュレーションモデル）１００を高速にシミュレーションが可能なモデルに変換するシミュレーションモデル変換部１２、変換部１２で作成されたシミュレーションモデル１０１で動作検証を行うシミュレータ５０から構成される。
【０１２５】
シミュレーションモデル変換部１２は、クロック信号簡略化部１とレジスタ信号変数化部２とレジスタ値出力処理挿入部１３から構成される。
【０１２６】
クロック信号簡略化部１は、入力されたシミュレーションモデル１００中のクロック信号を簡略化するようになっている。
【０１２７】
レジスタ信号変数化部２は、入力されたシミュレーションモデル１００中のレジスタ信号を変数に変換するようになっている。
【０１２８】
レジスタ値出力処理挿入部１３は、レジスタ信号変数化部２で入力されたシミュレーションモデル中のレジスタ信号を変数化した場合、その変数化されたレジスタ信号の値を所定のファイルに出力するための記述文を挿入する。
【０１２９】
図２のモデルにおいてレジスタ信号Ａに対する変数化と、クロック信号の簡略化を指定した場合の例において、レジスタ値出力挿入部１３にて、レジスタ信号Ａの値をファイルに出力する処理を挿入した結果を図２３に示す。図２３において、レジスタ信号Ａの値をファイル「ｏｕｔｆ」に出力するために挿入された記述文は、行１０〜行１１、行２５〜行２６である。
【０１３０】
ここでは、ファイルに出力する場合を示したが、表示装置に出力するための記述文や、表示装置にレジスタ信号Ａの値を波形として表示するための記述文を挿入する場合も同様である。また、ここでは、レジスタ値出力処理挿入部１３において、入力されたシミュレーションモデル中にファイルへ出力する記述文を挿入したが、シミュレータ５０の内部で変数化したレジスタ信号については随時値を出力する機能部を組み込むという方法もある。
【０１３１】
また、図２３の場合はレジスタ信号Ａの値のみが出力される為、実際に値が変化していく詳細な時刻を知る事ができないが、シミュレーションモデル変換部６に、例えば第５の実施形態で説明したような時刻管理処理挿入部７をさらに具備することにより、シミュレーションモデル内に時刻管理を行うための信号ｃｌｋ＿ｃｏｕｎｔｅｒ、および変数ｃｌｋ＿ｃｏｕｎｔｅｒ＿ｖを挿入して（図２４の行１、１２、１４、１８、３５参照）、変数化されたレジスタ信号Ａの値をファイル「ｏｕｔｆ」に書き込むとともに（図２４の行２８、３０参照）、変数ｃｌｋ＿ｃｏｕｎｔｅｒ＿ｖもファイル「ｏｕｔｆ」に書き込むことにより（図２４の行２９、３９参照）することにより、レジスタ信号Ａの詳細な値の変化を時刻と組み合わせて得る事ができる。
【０１３２】
また、図２４では、第５の実施形態と同様、ｃｌｋ ｃｏｕｎｔｅｒというポート信号を用いたが、変数ｃｌｋ ｃｏｕｎｔｅｒ ｖのみを用いて、モジュール内だけの時刻の変化のみを管理してもよい（図２５参照）。
【０１３３】
図２３、図２４、図２５に示したシミュレーションモデルをシミュレータ５０でシミュレーションした結果、ファイル「ｏｕｔｆ」に書き込まれる内容の一例を、それぞれ図２６、図２７、図２８に示す。
【０１３４】
図２３〜図２５の記述に従えば、本来は、図２６においては変数Ａのみ、図２７、図２８においては変数Ａとｃｌｋ ｃｏｕｎｔｅｒ ｖのみが出力されるが、ここでは参考の為、変数Ａと並んで、変数Ｂ、Ｃ、ＣＬＫ、ｄｏｎｅ ｖの値が同時に出力された場合を示す。
【０１３５】
以上説明したように、上記第７の実施形態によれば、クロック信号の簡略化、レジスタ信号の変数化を行ったシミュレーションモデルに対しても、時刻毎のレジスタの値の変化をトレースすることが可能になる。
【０１３６】
また、クロック信号の簡略化、レジスタ信号の変数化によって、シミュレーション実行時間が大幅に短縮される。また、シミュレーション実行時のメモリ使用量を減少することができる。
【０１３７】
また、設計者が作成したハードウェアモデルから、シミュレーションモデル変換部１２を用いて高速にシミュレーションが可能なモデルを作成するので、設計者がデバッグするのは最初に作成したハードウェアモデルのみで良く、複数のモデルを取り扱う、管理の問題は発生しない。変換後のシミュレーションモデルに対しても変換前のシミュレーションモデル用のテストベクトルを用いる事が可能であるため、モデル毎のテストベクトルを用意する必要は無い。
【０１３８】
一般のシミュレータにおけるトレース機能では変数の値をトレースすることはできないため、レジスタ信号を変数化するとそれらをトレースする事は不可能になる。本実施形態によれば、レジスタ信号の変数化の際、レジスタ値出力処理挿入部１３にて、それらの値をトレースする処理（ファイルへの書き込み処理）をシミュレーションモデル内に作成する事によって、変数化してしまったレジスタに関してもトレース結果が得られる。
【０１３９】
さらに、第５の実施形態で説明した時刻管理処理挿入部７をシミュレーションモデル変換部６に具備することにより、クロック信号を簡略化し、レジスタ信号を変数化した場合でも、これらを全て信号としてシミュレーションするサイクルベースシミュレーションを実行した場合と同様の本来のクロック信号の単位時刻毎のトレース結果を得られる。これにより、高速なシミュレーションが可能でありながら、シミュレーション時の情報を詳細に確認する事ができる。
【０１４０】
（効果）
以上説明した第１〜第７の実施形態によれば、入力されてたハードウエアモデルの記述中のクロック信号を簡略化したり、レジスタ信号を変数に変換することによって、シミュレーション実行時間が大幅に短縮できるハードウエアモデルに変換できる。また、クロック信号の簡略化、レジスタ信号の変数化されたハードウエアモデルを用いるため、シミュレーション実行時のメモリ使用量を減少することができる。
【０１４１】
設計者が作成したハードウェアモデルから、シミュレーションモデル変換部を用いて高速にシミュレーションが可能なモデルを作成するので、設計者がデバッグするのは最初に作成したハードウェアモデルのみで良く、複数のモデルを取り扱う、管理の問題は発生しない。変換後のシミュレーションモデルに対しても変換前のシミュレーションモデル用のテストベクトルを用いる事が可能であるため、モデル毎のテストベクトルを用意する必要は無い。
【０１４２】
また、第４の実施形態で説明したように、レジスタ信号多重化部５でクロック信号を多重化することによって、クロック信号を共有する複数のモジュールのそれぞれに関しても高速化が可能になる。
【０１４３】
また、入力されたハードウエアモデルに対し、クロック信号の簡略化、レジスタ信号の変数化を行った場合でも、第５の実施形態で説明したように、時刻管理処理挿入部７で時刻管理処理を行えば、クロック信号の簡略化あるいは、レジスタ信号の変数化を行ったモジュールの処理の開始時刻から終了までに要したクロック数等を処理の終了時に参照する事も可能である。また、複数のモジュールからなるモデルのシミュレーションにおいて、スケジューリングが可能になる。
【０１４４】
また、第６の実施形態で説明したように、レジスタ変数化情報指定部１１で、入力されたハードウエアモデル中に存在するレジスタ信号のうち、変数化するものを指定したり、変数化しないレジスタ信号を指定したり、変数化する際に信号も残しておくことを指定することが可能になる。これによって、クロック信号の簡略化またはレジスタ信号の変数化を適用するモジュールを含む複数のモジュールからなるシステムを統合してシミュレーションする際に他のモジュールに対する影響を考慮することができるようになる。
【０１４５】
一般のシミュレータでは、シミュレーションモデル中に信号として宣言されているものに対しては、トレース可能であるが、変数として宣言されていると、その値をトレースすることはできないため、レジスタ信号を変数化するとそれらをトレースする事は不可能になる。第７の実施形態で説明したように、レジスタ値出力処理挿入部１３で、レジスタ信号の変数化の際、一緒に、それらの値をトレースするための処理をモデル内に作成する事によって、変数化してしまったレジスタに関してもトレース結果が得られる。更に、第５の実施形態で説明した時刻管理処理挿入部７を用いれば、クロック信号を簡略化し、レジスタ信号を変数化した場合でも、これらを全て信号としてシミュレーションするサイクルベースシミュレーションを実行した場合と同様の本来のクロック信号の単位時刻毎のトレース結果を得られる。これにより、高速なシミュレーションが可能でありながら、シミュレーション時の情報を詳細に確認する事ができる。
【０１４６】
また、以上第１〜第７の実施形態で説明したようなシミュレーションモデル変換部を具備したシミュレータを用いれば、モデルをシミュレータに入力するだけで、あるいはクロックの簡略化あるいはレジスタの変数化についてのいくつかの指定を行なうだけで、高速なシミュレーションモデルを使用して高速なシミュレーションを行なう事が可能になる。
【０１４７】
また、以上説明した各実施形態で説明した構成に限らず、適宜又は任意に組合せて実施することが可能である。
【０１４８】
さらに、以上の実施形態に記載した手法はあるいはそれらを適宜又は任意に組合せた手法は、コンピュータに実行されることのできるプログラムとして、磁気ディスク（フロッピーディスク、ハードディスクなど）、光ディスク（ＣＤ−ＲＯＭ、ＤＶＤなど）、半導体メモリなどの記録媒体に格納して頒布するすることもできる。すなわち、コンピュータの制御するためのプログラムとしてコンピュータ読取可能な記憶媒体に格納し、コンピュータに該記憶媒体からプログラムを読取らせ、コンピュータ上で実行させることが可能である。
【０１４９】
【発明の効果】
以上説明したように、本発明によれば、与えられた回路記述（ハードウエアモデル）をシミュレーション実行時間の短縮できるシミュレーションモデルに変換し、設計した回路の動作検証が容易に行える。
【図面の簡単な説明】
【図１】本発明の第１の実施形態に係る回路設計支援装置の構成例を示した図。
【図２】入力されるハードウエアモデルの記述例を示した図。
【図３】図１のシミュレーションモデル変換部から出力される図２のハードウエアモデルの変換結果としてのシミュレーションモデルの一例を示した図。
【図４】本発明の第２の実施形態に係る回路設計支援装置の構成例を示した図。
【図５】図４のシミュレーションモデル変換部から出力される図２のハードウエアモデルの変換結果としてのシミュレーションモデルの一例を示した図。
【図６】変数化されたクロック信号の他の記述例を示した図。
【図７】本発明の第３の実施形態に係る回路設計支援装置の構成例を示した図。
【図８】入力されるハードウエアモデルの記述例を示した図。
【図９】図８のシミュレーションモデル変換部から出力される図８のハードウエアモデルの変換結果としてのシミュレーションモデルの一例を示した図。
【図１０】本発明の第４の実施形態に係る回路設計支援装置の構成例を示した図。
【図１１】入力されるハードウエアモデルの記述例を示した図で、モジュールｍｏｄｅｌ ｔｏｐが、その下位の階層にモジュールｍｏｄｅｌ０、ｍｏｄｅｌ１をもつシミュレーションモデルの記述である。
【図１２】入力されるハードウエアモデルの記述例を示した図で、図１１のモジュールｍｏｄｅｌ０、ｍｏｄｅｌ１の記述である。
【図１３】図１０のシミュレーションモデル変換部から出力される図１１、図１２のハードウエアモデルの変換結果としてのシミュレーションモデルの一例を示した図。
【図１４】本発明の第５の実施形態に係る回路設計支援装置の構成例を示した図。
【図１５】入力されるハードウエアモデルの記述例を示した図。
【図１６】図１４のシミュレーションモデル変換部から出力される図１５のハードウエアモデルの変換結果としてのシミュレーションモデルの一例を示した図。
【図１７】図１４のシミュレーションモデル変換部から出力される図１５のハードウエアモデルの変換結果としてのシミュレーションモデルの他の例を示した図。
【図１８】本発明の第５の実施形態に係る回路設計支援装置の他の構成例を示した図。
【図１９】本発明の第６の実施形態に係る回路設計支援装置の構成例を示した図。
【図２０】図１９のシミュレーションモデル変換部から出力される図２のハードウエアモデルの変換結果としてのシミュレーションモデルの一例を示した図。
【図２１】図１９のシミュレーションモデル変換部から出力される図２のハードウエアモデルの変換結果としてのシミュレーションモデルの他の例を示した図。
【図２２】本発明の第７の実施形態に係る回路設計支援装置の構成例を示した図。
【図２３】図２２のシミュレーションモデル変換部から出力される図２のハードウエアモデルの変換結果としてのシミュレーションモデルの一例を示した図。
【図２４】図２２のシミュレーションモデル変換部（さらに、時刻管理処理挿入部を具備した場合）から出力される図２のハードウエアモデルの変換結果としてのシミュレーションモデルの一例を示した図。
【図２５】図２２のシミュレーションモデル変換部（さらに、時刻管理処理挿入部を具備した場合）から出力される図２のハードウエアモデルの変換結果としてのシミュレーションモデルの他の例を示した図。
【図２６】図２３に示したシミュレーションモデルをシミュレーションした結果、ファイルに書き込まれる内容の一例を示した図。
【図２７】図２４に示したシミュレーションモデルをシミュレーションした結果、ファイルに書き込まれる内容の一例を示した図。
【図２８】図２５に示したシミュレーションモデルをシミュレーションした結果、ファイルに書き込まれる内容の一例を示した図。
【図２９】ＶＨＤＬで記述されたプロセスの一例を示した図。
【図３０】Ｖｅｒｉｌｏｇ  ＨＤＬで記述されたプロセスの一例を示した図。
【符号の説明】
１…クロック信号簡略化部
２…レジスタ信号変数化部
３、４、６、１０、１２…シミュレーションモデル変換部
５…クロック信号多重化部
７…時刻管理処理挿入部
８…時刻管理処理部
１１…レジスタ変数化情報指定部
１３…レジスタ値出力処理挿入部
５０…シミュレータ
１００、１０１…シミュレーションモデル
【図１】
0003838756.tif 000002
【図２】
0003838756.tif 000003
【図３】
0003838756.tif 000004
【図４】
0003838756.tif 000005
【図５】
0003838756.tif 000006
【図６】
0003838756.tif 000007
【図７】
0003838756.tif 000008
【図８】
0003838756.tif 000009
【図９】
0003838756.tif 000010
【図１０】
0003838756.tif 000011
【図１１】
0003838756.tif 000012
【図１２】
0003838756.tif 000013
【図１３】
0003838756.tif 000014
【図１４】
0003838756.tif 000015
【図１５】
0003838756.tif 000016
【図１６】
0003838756.tif 000017
【図１７】
0003838756.tif 000018
【図１８】
0003838756.tif 000019
【図１９】
0003838756.tif 000020
【図２０】
0003838756.tif 000021
【図２１】
0003838756.tif 000022
【図２２】
0003838756.tif 000023
【図２３】
0003838756.tif 000024
【図２４】
0003838756.tif 000025
【図２５】
0003838756.tif 000026
【図２６】
0003838756.tif 000027
【図２７】
0003838756.tif 000028
【図２８】
0003838756.tif 000029
【図２９】
0003838756.tif 000030
【図３０】
0003838756.tif 000031