(57)【要約】【課題】従来、ＲＴＬモデルと動作モデルが混在したシステムにおいて、クロック精度でシミュレーションするために、インターフェースモデルを設けて動作モデルとＲＴＬモデルの入出力の整合性を取っているが、複雑なコントローラと冗長なメモリサイズのためにシミュレーション速度が低下していた。【解決手段】ＲＴＬモデル１０１から動作モデル４０３への信号伝播のタイミング調整を行うために、入出力プロトコルに従った必要な数だけの遅延素子（１０８，１０９）を各信号線に介在させたインターフェースモデル１０２を構成し、このインターフェースモデル１０２でＲＴＬモデル１０１と動作モデル１０３とを仲介接続する。これにより、コントローラを不要化する。また、必要なデータのみを保持することでメモリサイズの最適化を図る。これによって、シミュレーションの高精度化と高速化とを実現する。【選択図】  図１
2004157646.tif 000002
【特許請求の範囲】
【請求項１】
動作レベルで記述された動作モデルと、レジスタトランスファレベルで記述されたＲＴＬモデルと、前記動作モデルと前記ＲＴＬモデルを仲介接続するインターフェースモデルとを備え、前記インターフェースモデルは、前記動作モデルと前記ＲＴＬモデルとの間の各入出力信号ごとに前記動作モデルのトランザクションの取り込みタイミングに対してタイミング調整を行うクロック同期の遅延素子を内蔵したものに構成されていることを特徴とする集積回路の検証装置。
【請求項２】
前記インターフェースモデルは、前記入出力信号ごとに所要数の前記遅延素子を備える請求項１に記載の集積回路の検証装置。
【請求項３】
前記インターフェースモデルは、前記遅延素子のみで構成されている請求項１または請求項２に記載の集積回路の検証装置。
【請求項４】
前記インターフェースモデルは、前記ＲＴＬモデルからの要求信号に対する前記動作モデルからの応答信号に代わる応答信号を生成し、かつその応答信号を前記ＲＴＬモデルに返す応答信号生成部を備える請求項１から請求項３までのいずれかに記載の集積回路の検証装置。
【請求項５】
前記応答信号生成部は、前記動作モデルが複数のＲＴＬモデルに接続される場合に、前記動作モデルで用いるフラグ情報を参照し、フラグが既に立っているときは処理を中断し、フラグが立っていないときはフラグを立てた上で前記応答信号を生成し、応答信号出力後に前記フラグをリセットする請求項４に記載の集積回路の検証装置。
【請求項６】
前記インターフェースモデルは、前記応答信号生成部が前記応答信号を生成するまでは前記遅延素子へのクロック入力をゲーティッドして前記遅延素子を動作させない請求項４または請求項５に記載の集積回路の検証装置。
【請求項７】
動作レベルで記述された動作モデルとレジスタトランスファレベルで記述されたＲＴＬモデルが混在してなる集積回路において、
前記ＲＴＬモデルと動作モデルとの間の信号伝播のプロトコルに従ってアドレス信号、データ信号および書き込み制御信号を出力するステップと、
前記出力された各信号が前記動作モデルのトランザクションの取り込みタイミングに合わせて取り込まれるように前記各信号を各々必要量だけ遅延させるステップと、
前記遅延させた各信号を前記取り込みタイミングに同期させて前記動作モデルに取り込むステップとを含むことを特徴とする集積回路の検証方法。
【請求項８】
動作レベルで記述された動作モデルとレジスタトランスファレベルで記述された複数のＲＴＬモデルが混在してなる集積回路において、
前記ＲＴＬモデルと動作モデルとの間の信号伝播のプロトコルに従ってリクエスト信号とデータ信号を出力するステップと、
前記リクエスト信号に基づいて前記動作モデルで用いるフラグ情報を参照するステップと、
フラグが既に立っているときは処理を中断する一方、フラグが立っていないときはフラグを立てた上で前記リクエスト信号に対する応答信号を生成し、応答信号生成後に前記フラグをリセットするステップと、
前記応答信号に基づいて前記出力された各信号が前記動作モデルのトランザクションの取り込みタイミングに合わせて取り込まれるように前記各信号を各々必要量だけ遅延させるステップと、
前記遅延させた各信号を前記動作モデルに取り込むステップとを含むことを特徴とする集積回路の検証方法。
【請求項９】
動作レベルで記述された動作モデルとレジスタトランスファレベルで記述されたＲＴＬモデルが混在してなる集積回路において、
前記ＲＴＬモデルの出力信号のタイミング情報に基づいて、前記出力信号の前記動作モデルでの取り込みタイミングを基準として各出力信号の遅延値を求めることを特徴とする集積回路検証用のインターフェースモデルの生成方法。
【請求項１０】
動作レベルで記述された動作モデルとレジスタトランスファレベルで記述されたＲＴＬモデルが混在してなる集積回路において、
前記ＲＴＬモデルの出力信号のタイミング情報に基づいて、前記ＲＴＬモデルからの要求信号に対応した応答信号の遅延値に相当する遅延素子数を、前記要求信号の遅延値から前記応答信号の遅延値を引いたものとすることを特徴とする集積回路検証用のインターフェースモデルの生成方法。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、集積回路の設計、特にシステムオンチップ化に対応するための設計にかかわり、設計上流における検証の技術に関する。
【０００２】
【従来の技術】
従来から、電子機器内の集積回路の製造においては、例えばメモリ、プロセッサなどの種類ごとのＬＳＩを半導体チップ上に形成した後、各チップをプリント配線基板などの母基盤上に実装していた。
【０００３】
ところが、近年、電子機器のより広範な利用を図るべく、集積回路の小型化、軽量化、省電力化および低コスト化の要求が高まっている。このような傾向は、特にデジタル情報家電の分野において、より顕著にみられる。そして、これに応じて、半導体メーカーは、その研究開発の重心をメモリからシステムＬＳＩに移行させている。
【０００４】
かかるシステムＬＳＩは、具体的には、メモリや各種の論理回路を単一のチップ上に設けるいわゆるシステムオンチップ化によって実現される。そして、システムオンチップ化に際しては、構造が異なる素子を共通の基盤上に形成するためのプロセス技術が必要になるとともに、その設計技術においても、大きな変革が要求される。
【０００５】
そこで、このシステムオンチップ化に対応した設計技術として、設計工程の上流でシステムの機能検証や性能推定を実施し、早い段階からシステムのバグや性能を見極める技術が必要になってくる。設計工程の第１段階においては、アルゴリズムや機能をＣ言語、Ｃ＋＋言語のようなソフトウエア言語で記述した動作モデルを用いて機能シミュレーションを行い、第２段階として、より精度の高い検証を行うためにＶｅｒｉｌｏｇ−ＨＤＬ、ＶＨＤＬのようなハードウエア記述言語を用いてＲＴＬモデルを作成し、機能や詳細タイミングの検証を実施することが一般的に行われている。しかし、システムＬＳＩの大規模・複雑化によりＲＴＬモデルでのシミュレーション時間が非常に長くかかるために、設計期間の長期化が問題となってきた。
【０００６】
そこで、一部のＲＴＬモデルをシミュレーション速度の速い動作モデルに置き換え、動作モデルとＲＴＬモデルの抽象度の違いを吸収するためのインターフェースモデルを用意して、全体として高い精度を保ちながら高速なシミュレーションを行う検証方法が提案されている（例えば、特許文献１参照。）。
【０００７】
【特許文献１】
特開２００１−１０１２４７号公報
【０００８】
【発明が解決しようとする課題】
しかし、上記従来の構成では、各バスプロトコルに従ってコントローラを用意する必要がある。このコントローラは一般に複雑なものとなる。そして、複雑なコントロールによるオーバーヘッドが大きくなり、シミュレーション速度の低下をもたらす。
【０００９】
また、１つの処理サイクルに関係するすべての信号のデータをサイクルごとに記憶する必要があるため、冗長で余分なメモリサイズが必要になるといった問題がある。
【００１０】
そこで、シミュレーション速度の改善のためにはコントローラ部の改善、メモリサイズの最適化が必要になる。
【００１１】
【課題を解決するための手段】
上記の課題を解決するために、本発明は集積回路の検証装置について、次のような手段を講じる。すなわち、動作レベルで記述された動作モデルとレジスタトランスファレベル（ＲＴＬ）で記述されたＲＴＬモデルとが混在してなる集積回路において、前記動作モデルと前記ＲＴＬモデルをインターフェースモデルによって仲介接続し、そのインターフェースモデルを、前記動作モデルと前記ＲＴＬモデルとの間の各入出力信号ごとに前記動作モデルのトランザクションの取り込みタイミングに対してタイミング調整を行うクロック同期の遅延素子を内蔵したものに構成してある。
【００１２】
この構成による作用は次のとおりである。ＲＴＬモデルから出力されるタイミングの異なる各信号の伝播を、１つの動作モデルのタイミング（トランザクションサイクル）に合わせる。そして、各信号線の遅延値はＲＴＬモデルと動作モデルとの間の信号伝播のプロトコルによって決まるが、この遅延値に対応するクロック同期の遅延素子（フリップフロップなど）をインターフェースモデルに内蔵させる。すなわち、インターフェースモデルにおいて、各信号をそれぞれ必要なクロック数だけ遅延させ、動作モデルに対しては、そのトランザクションの取り込みタイミングに合わせて信号取り込みを行わせる。これにより、ＲＴＬモデルでは数サイクル必要な処理を、動作モデルでの１サイクル（トランザクションサイクル）で実行するようにタイミング調整することができる。
【００１３】
以上のように、遅延素子によって信号伝播を所定時間だけ遅延させることで各信号の動作モデルへの取り込みタイミングを調整するので、従来必要とされていた複雑なコントローラが不要になる。また、サイクルごとに全ての信号線のデータを記憶する冗長なメモリサイズは不要となり、メモリサイズを削減することができる。以上の相乗により、高精度かつ高速なシミュレーションが可能となる。
【００１４】
上記構成において、インターフェースモデルは、入出力信号ごとに所要数の遅延素子を備える。このインターフェースモデルは、遅延素子のみで構成することが可能である。ＲＴＬモデルと動作モデルとの間の信号伝播のプロトコルによって各信号の出力タイミングが異なっても、そのタイミングのずれを吸収するだけの数の遅延素子を介在させることだけで、取り込みタイミング調整を実現することができる。
【００１５】
上記集積回路の検証装置を集積回路の検証方法として記述すると、次のようになる。すなわち、動作レベルで記述された動作モデルとレジスタトランスファレベルで記述されたＲＴＬモデルが混在してなる集積回路において、前記ＲＴＬモデルと動作モデルとの間の信号伝播のプロトコルに従ってアドレス信号、データ信号および書き込み制御信号を出力するステップと、前記出力された各信号が前記動作モデルのトランザクションの取り込みタイミングに合わせて取り込まれるように前記各信号を各々必要量だけ遅延させるステップと、前記遅延させた各信号を前記取り込みタイミングに同期させて前記動作モデルに取り込むステップとを含む。この集積回路の検証方法によれば、上記同様の作用を発揮する。
【００１６】
上記において好ましい態様は、前記インターフェースモデルがさらに次のような応答信号生成部を備えることである。すなわち、その応答信号生成部は、前記ＲＴＬモデルからの要求信号に対する前記動作モデルからの応答信号に代わる応答信号を生成し、かつその応答信号を前記ＲＴＬモデルに返すものである。
【００１７】
この構成による作用は次のとおりである。上記のような各信号の取り込みタイミング調整を遅延素子だけでは実現できない入出力プロトコルの場合がある。つまり、ＲＴＬモデルからの要求信号に対して動作モデルから応答信号を返すようなハンドシェイクのプロトコルの場合がある。このような場合においても、インターフェースモデルにおける応答信号生成部は、動作モデルに代わって、ＲＴＬモデルからの要求信号に対して応答信号を生成出力するので、上記同様に、複雑なコントローラを不要化し、メモリサイズを削減する状態での高精度かつ高速なシミュレーションを実現することができる。
【００１８】
１つの動作モデルを複数のＲＴＬモデルが共用する場合の集積回路の検証装置としては、上記インターフェースモデルにおける応答信号生成部を次のように構成することが好ましい。すなわち、前記動作モデルが複数のＲＴＬモデルに接続される場合に、前記応答信号生成部は、前記動作モデルで用いるフラグ情報を参照し、フラグが既に立っているときは処理を中断し、フラグが立っていないときはフラグを立てた上で前記応答信号を生成し、応答信号出力後に前記フラグをリセットするように構成されていることである。また、この場合に、インターフェースモデルは、前記応答信号生成部が前記応答信号を生成するまでは前記遅延素子へのクロック入力をゲーティッドして前記遅延素子を動作させない構成とする。
【００１９】
上記のフラグ情報は動作モデルに対する現在のアクセス状況をモニタするものである。あるＲＴＬモデルからの要求信号に対して、応答信号生成部は動作モデルのフラグ情報を参照する。既に他のＲＴＬモデルからの要求に対して応答しているときはフラグが立っている。このような場合には、信号遅延の処理を中断する。フラグが立っていない場合に限り、そこでフラグを立てて他のＲＴＬモデルからの要求には応答しないようにした上で、応答信号生成部は動作モデルに代わって応答信号を生成し、応答信号を出力した後にはフラグをリセットする。インターフェースモデルにおける遅延素子に対するクロックは応答信号が成立したときに有効となり、各信号の遅延伝播が実行される。すなわち、動作モデルが複数のＲＴＬモデルからランダムにアクセスされる場合において、前記動作モデルへのアクセスを排他的にコントロールし、制御の輻輳を回避する。フラグにより排他制御するため、応答信号が発生するまでは遅延素子が動作せず、情報が不測に消えることを防止する。したがって、上記同様に、複雑なコントローラを不要化し、メモリサイズを削減する状態での高精度かつ高速なシミュレーションを実現することができる。
【００２０】
上記の集積回路の検証装置を集積回路の検証方法として記述すると、次のようになる。すなわち、動作レベルで記述された動作モデルとレジスタトランスファレベルで記述された複数のＲＴＬモデルが混在してなる集積回路において、前記ＲＴＬモデルと動作モデルとの間の信号伝播のプロトコルに従ってリクエスト信号とデータ信号を出力するステップと、前記リクエスト信号に基づいて前記動作モデルで用いるフラグ情報を参照するステップと、フラグが既に立っているときは処理を中断する一方、フラグが立っていないときはフラグを立てた上で前記リクエスト信号に対する応答信号を生成し、応答信号生成後に前記フラグをリセットするステップと、前記応答信号に基づいて前記出力された各信号が前記動作モデルのトランザクションの取り込みタイミングに合わせて取り込まれるように前記各信号を各々必要量だけ遅延させるステップと、前記遅延させた各信号を前記動作モデルに取り込むステップとを含む。この集積回路の検証方法によれば、上記同様の作用を発揮する。
【００２１】
上記の集積回路の検証装置または検証方法に関連して、前記インターフェースモデルを生成する方法の発明として、次のものは有用である。
【００２２】
１つには、動作レベルで記述された動作モデルとレジスタトランスファレベルで記述されたＲＴＬモデルが混在してなる集積回路において、前記ＲＴＬモデルの入出力のタイミング情報に基づいて、前記出力信号の前記動作モデルでの取り込みタイミングを基準として各出力信号の遅延値を求めるものである。これによれば、インターフェースモデルの遅延素子数を自動的に求めることができる。すなわち、インターフェースモデルの生成が容易なものになる。
【００２３】
もう１つは、上記同様の集積回路において、前記ＲＴＬモデルの入出力のタイミング情報に基づいて、前記ＲＴＬモデルからの要求信号に対応した応答信号の遅延値に相当する遅延素子数を、前記要求信号の遅延値から前記応答信号の遅延値を引いたものとするものである。応答信号は要求信号をトリガとして出力を開始し実際のタイミングとはずれてしまうが、要求信号で補正を掛けることによって簡単に遅延素子数を求めることができる。この場合も、インターフェースモデルの生成が容易なものになる。
【００２４】
【発明の実施の形態】
以下、本発明の実施の形態について図面を用いて説明する。なお、本発明はこの実施の形態に何等限定されるものではなく、要旨を逸脱しない範囲においては種々なる態様で実施し得る。
【００２５】
（実施の形態１）
図１は、本発明の実施の形態１における集積回路の検証装置の構成を示すブロック図である。図１において、１０１はクロックサイクル精度をもったＲＴＬモデルである。なお、このＲＴＬモデル１０１に代えて、出力ピンレベルでサイクル精度をもったバスサイクルモデル（ＢＣＡモデル）とする場合もある。１０３は１つまたは複数のクロックサイクルで構成される入出力の１つの処理サイクルを１つのトランザクションという単位で処理する動作モデルである。１０２はＲＴＬモデル１０１と動作モデル１０３とを仲介接続し、ＲＴＬモデル１０１の抽象度と動作モデル１０３の抽象度の違いを吸収してシステム全体としてクロックサイクル精度でシミュレーションを実行するためのインターフェースモデルである。１０４はＲＴＬモデル１０１から出力されるアドレス信号、１０５はＲＴＬモデル１０１から出力されるデータ信号、１０６はＲＴＬモデル１０１から出力される書き込み制御信号である。１０７は動作モデル１０３に入力されるトランザクションレベルの信号であり、ＲＴＬモデル１０１から出力されるアドレス信号１０４、データ信号１０５および書き込み制御信号１０６を１つの信号として含む信号である。１０８は、ＲＴＬモデル１０１からの出力信号が動作モデル１０３に入力されるタイミングを調整するために出力信号を遅延させるためのポジティブエッジ同期のフリップフロップである。１０９はＲＴＬモデル１０１からの出力信号が動作モデル１０３に入力されるタイミングを調整するために出力信号を遅延させるためのネガティブエッジ同期のフリップフロップである。
【００２６】
以上のように構成された集積回路の検証方法について、その動作一例を図２および図３を用いて説明する。
【００２７】
図２は、ＲＴＬモデル１０１からインターフェースモデル１０２を介して動作モデル１０３へデータを書き込む処理フローを示したフローチャートであり、図３は、ＲＴＬモデル１０１から動作モデル１０３へのデータ書き込みプロトコルの一例を表したタイミングチャートである。
【００２８】
まず、クロック信号ＣＬＫのポジティブエッジに同期してアドレス信号ＡＤＲが出力され、続いてクロック信号ＣＬＫのネガティブエッジに同期してデータ信号ＤＡＴＡと書き込み制御信号ＥＮが出力される（ステップ２０１）。
【００２９】
次に、インターフェースモデル１０２にある遅延素子（１０８，１０９）によって各信号を遅延素子の数だけ遅延させる（ステップ２０２）。
【００３０】
つまり、図３（Ａ）のタイミングチャートが図３（Ｂ）のようになり、アドレス信号ＡＤＲの取り込みタイミングＴ１、および、データ信号ＤＡＴＡおよび書き込み制御信号ＥＮの取り込みタイミングＴ２が動作モデル１０３での入力信号であるトランザクション信号１０７の取り込みタイミングＴ３まで遅延され、タイミングＴ３で全ての信号（アドレス信号ＡＤＲ、データ信号ＤＡＴＡおよび書き込み制御信号ＥＮ）を正確に取り込むことが可能になる（ステップ２０３）。
【００３１】
以上の処理をトランザクションサイクルが処理するまで繰り返す（ステップ２０４）。
【００３２】
このように、複数クロックサイクルの処理を１つのトランザクションサイクル（ＴＲＡＮＳサイクル）の処理として扱うことにより、シミュレーションの高速化を実現する。
【００３３】
動作モデル１０３からＲＴＬモデル１０１へのデータ読み込み動作の場合は、データ信号ＤＡＴＡの向きが反対になり、遅延素子も動作モデル１０３からＲＴＬモデル１０１へ向かう方向に接続することによって実現可能である。ただし、書き込みの場合のデータ信号および読み込み制御信号の遅延値は少なくなる。
【００３４】
（実施の形態２）
図４は、本発明の実施の形態２における集積回路の検証装置の構成を示すブロック図である。図４において、４０１はクロックサイクル精度をもったＲＴＬモデルである。なお、このＲＴＬモデル４０１に代えて、出力ピンレベルでサイクル精度をもったバスサイクルモデル（ＢＣＡモデル）とする場合もある。４０３は１つまたは複数のクロックサイクルで構成される入出力の１つの処理サイクルを１つのトランザクション単位で処理する動作モデルである。４０２はＲＴＬモデル４０１と動作モデル４０３とを仲介接続し、ＲＴＬモデル４０１の抽象度と動作モデル４０３の抽象度の違いを吸収してシステム全体としてクロックサイクル精度でシミュレーションを実行するためのインターフェースモデルである。４０４はインターフェースモデル４０２と同様のインターフェースモデル、４０５はＲＴＬモデル４０１と同様のＲＴＬモデル（またはＢＣＡモデル）である。４０６はＲＴＬモデル４０１から出力されるデータ信号、４０７はＲＴＬモデル４０１から出力されるリクエスト信号、４０８はインターフェースモデル４０２から出力されるアクノリッジ信号である。４０９は動作モデル４０３に入力されるトランザクションレベルの信号であり、ＲＴＬモデル４０１から出力されるデータ信号４０６およびリクエスト信号４０７を１つの信号として含む信号である。４１０は、ＲＴＬモデル４０１からの出力信号が動作モデル４０３に入力されるタイミングを調整するために出力信号を遅延させるためのポジティブエッジ同期のフリップフロップである。４１１はＲＴＬモデル４０１からの出力信号が動作モデル４０３に入力されるタイミングを調整するために出力信号を遅延させるためのネガティブエッジ同期のフリップフロップである。４１２はＲＴＬモデル４０１からのリクエスト信号４０７に対する動作モデル４０３のアクノリッジ信号４０８を生成するための応答信号生成部である。４１４はアクノリッジ信号４０８が返ってくるまでデータ信号４０６とリクエスト信号４０７の遅延を止めるためにクロックをゲーティッドするＡＮＤ回路である。４１５は動作モデル４０３が複数のＲＴＬモデルや動作モデルから同時にアクセスされた場合の排他制御を行うためのフラグであり、応答信号生成部（４１２，４１３）からアクノリッジ信号４０８を生成するために参照され、リセットされる。
【００３５】
以上のように構成された集積回路の検証方法について、その動作一例を図５および図６を用いて説明する。
【００３６】
図５はＲＴＬモデル４０１からインターフェースモデル４０２を介して動作モデル４０３へデータを書き込む処理フローを示したフローチャートであり、図６はＲＴＬモデル４０１から動作モデル４０３へのデータ書き込みプロトコルの一例を表したタイミングチャートである。
【００３７】
まず、クロック信号ＣＬＫのポジティブエッジに同期してリクエスト信号ＲＥＱおよびデータ信号ＤＡＴＡが出力される（ステップ５０１）。
【００３８】
次に、リクエスト信号ＲＥＱおよびデータ信号ＤＡＴＡが遅延段数分だけ遅延される（ステップ５０２）。
【００３９】
リクエスト信号ＲＥＱをトリガとして応答信号生成部４１２がＡＣＫフラグ４１５をチェックする（ステップ５０３）。
【００４０】
フラグが立っていれば、動作モデル４０３が他のモデルからアクセスされているため１クロック進め（ステップ５０４）、リクエスト信号ＲＥＱおよびデータ信号ＤＡＴＡの遅延を止めるためゲーティッドクロックにより遅延素子のクロック供給を停止する（ステップ５０５）。
【００４１】
もし、フラグが立っていなければ、アクセス可能な状態なので、動作モデル４０３においてフラグを立てた上で、応答信号生成部４１２でアクノリッジ信号ＡＣＫを生成するとともに、ＲＴＬモデル４０１へアクノリッジ信号ＡＣＫを出力してからフラグのリセットを行う（ステップ５０６）。
【００４２】
トランザクション取り込みタイミングＴ７で全ての信号を取り込む（ステップ５０７）。
【００４３】
トランザクションサイクルが終了するまですべての処理を繰り返す（ステップ５０８）。
【００４４】
以上のように、ＲＴＬモデルからのリクエスト信号に対して動作モデルが生成すべきアクノリッジ信号を、動作モデルに代えて応答信号生成部が生成する。この場合に、動作モデルにおいてフラグを用い、インターフェースモデルはリクエストがあったときにフラグを参照することによって、アクノリッジ信号ＡＣＫの生成の判断を行うことにより、ハンドシェイクのようなプロトコルにも対応することが可能である。
【００４５】
（実施の形態３）
本発明の実施の形態１および実施の形態２におけるインターフェースモデルの生成方法の一例を図７、図８を用いて説明する。
【００４６】
図７は、実施の形態１の入出力プロトコルを示したタイミングチャートである。ＴＲＡＮＳ取り込みのタイミングを基準として、データ信号ＤＡＴＡおよび書き込み制御信号ＥＮの取り込みタイミングが１クロック前にあり、アドレス信号ＡＤＲの取り込みタイミングが３／２クロック前にあることを求める。
【００４７】
図８は、プロトコル別に図７で求めた信号線ごとの遅延パラメータを表形式で表現した表である。
【００４８】
図７から図８を計算し、各信号線ごとの遅延パラメータだけ遅延素子を挿入し、トランザクションのタイミングを調整する。これは、タイミングチャートがあれば自動的に計算可能である。
【００４９】
実施の形態２においては、ＡＣＫ信号の遅延値の求め方が異なり、ＡＣＫ信号の遅延段数はＡＣＫ遅延パラメータではなく、ＲＥＱ遅延パラメータからＡＣＫ遅延パラメータを引いた値になる。これはＡＣＫ信号生成ブロックがＲＥＱ信号をトリガとしてすぐにＡＣＫ信号を出力するためであり、この影響を考慮するためである。
【００５０】
以上、インターフェースモデルの構成をタイミングチャートから生成される表を用いて容易に構築することが可能である。
【００５１】
【発明の効果】
本発明によれば、クロックサイクル精度のＲＴＬモデルとトランザクション精度の動作モデルが混在したシステム全体をクロック精度でかつ高速にシミュレーション可能という効果を奏する。また、従来必要であった複雑なコントロールが不要になるとともに、複雑なコントロールによるシミュレーションオーバーヘッドを削減して、高速シミュレーションを実現することができる。また、必要な信号だけを遅延させて取り出すので、不要なデータを記憶しておく記憶素子を削減して、メモリサイズ制限することができる。
【００５２】
また、ハンドシェイクのようにリクエスト信号に対する応答信号が動作モデルに必要とされる入出力プロトコルに対しても、動作モデルにフラグを用意してインターフェースモデル内にフラグをチェックしてリセットする機能ブロックを用意することにより、上記同様の効果を発揮させることができる。
【００５３】
また、ＲＴＬモデルの入出力のタイミング情報に基づいて、各出力信号の遅延値を求めて、遅延素子数を自動的に求めるので、インターフェースモデルの生成が容易なものになる。
【図面の簡単な説明】
【図１】本発明の実施の形態１における集積回路の検証装置の構成を示すブロック図
【図２】実施の形態１の集積回路の検証装置の動作を示すフローチャート
【図３】実施の形態１の集積回路の検証装置の入出力プロトコルの一例を示すタイミングチャート
【図４】本発明の実施の形態２における集積回路の検証装置の構成を示すブロック図
【図５】実施の形態２の集積回路の検証装置の動作を示すフローチャート
【図６】実施の形態２の集積回路の検証装置の入出力プロトコルの一例を示すタイミングチャート
【図７】本発明の実施の形態３の集積回路検証用のインターフェースモデルの生成方法における入出力プロトコルの一例を示したタイミングチャート
【図８】実施の形態３の集積回路検証用のインターフェースモデルの生成方法において信号線ごとの遅延パラメータを表形式で表現した図
【符号の説明】
１０１，４０１，４０５  ＲＴＬモデル
１０２，４０２，４０４  インターフェースモデル
１０３，４０３  動作モデル
１０４  アドレス信号
１０５，４０６  データ信号
１０６  書き込み制御信号
１０７，４０９  トランザクション信号
１０８，４１０  ポジティブエッジ同期の遅延素子
１０９，４１１  ネガティブエッジ同期の遅延素子
４０７  リクエスト信号
４０８  アクノリッジ信号
４１２，４１３  応答信号生成部
４１４  ゲーティッドクロック用のＡＮＤ回路
４１５  フラグ
【図１】
2004157646.tif 000003
【図２】
2004157646.tif 000004
【図３】
2004157646.tif 000005
【図４】
2004157646.tif 000006
【図５】
2004157646.tif 000007
【図６】
2004157646.tif 000008
【図７】
2004157646.tif 000009
【図８】
2004157646.tif 000010