(57)【要約】【課題】  比較的簡単な方法で遅延情報を含んだＲＴＬ論理シミュレーションを実行可能にする。【解決手段】  遅延付加ＲＴＬ論理シミュレータに対して、設計者により定義されたタイミング制約４、検証対象回路（ＲＴＬ）５、テストベンチ６が与えられる。遅延演算部１は、タイミング制約４を参照して、ＨＤＬで記述された検証対象回路（ＲＴＬ）５におけるすべての記憶素子間に付加すべきパス遅延を演算し、演算結果を遅延付加ＲＴＬ生成部２へ出力する。遅延付加ＲＴＬ生成部２は、遅延演算部１により演算された遅延値を検証対象回路（ＲＴＬ）５に対して付加したＲＴＬ記述を生成する。論理シミュレート部３は遅延付加ＲＴＬ生成部２により遅延付加されたＲＴＬを、テストベンチ６を用いて論理シミュレートし、シミュレート結果７を得る。【選択図】  図１
2006318121.tif 000002
【特許請求の範囲】
【請求項１】
ＲＴＬ（Resister Transfer Level）記述と、該ＲＴＬ記述に対して設計者により定義されたタイミング制約を入力することにより、前記タイミング制約を満たしたパス遅延付きＲＴＬを生成し、該生成したパス遅延付きＲＴＬによりＲＴＬ論理シミュレーションを実行することを特徴とする遅延付加ＲＴＬ論理シミュレーション方法。
【請求項２】
前記パス遅延付きＲＴＬに記述されるパス遅延の値は、前記パス遅延を生成する際にとり得る値として前記タイミング制約により定義された範囲内においてランダムに設定されることを特徴とする請求項１に記載の遅延付加ＲＴＬ論理シミュレーション方法。
【請求項３】
前記遅延付加ＲＴＬ論理シミュレーションは、前記タイミング制約により定義された範囲内において設定された複数のパス遅延値を用いて繰り返し実行され、最適な動作を実現するＲＴＬ論理シミュレート結果を出力することを特徴とする請求項２に記載の遅延付加ＲＴＬ論理シミュレーション方法。
【請求項４】
ＲＴＬ（Resister Transfer Level）で記述された検証対象回路と、設計者により定義されたタイミング制約とを入力して、前記検証回路におけるすべてのパス遅延を演算する遅延演算部と、該遅延演算部で演算された前記パス遅延の値を前記検証対象回路の該当するパスに付加した遅延付加ＲＴＬを生成する遅延付加ＲＴＬ生成部と、該生成された遅延付加ＲＴＬに対してテストベンチを用いて論理シミュレーションを実行する論理シミュレート部を備えていることを特徴とする遅延付加ＲＴＬ論理シミュレータ。
【請求項５】
前記遅延演算部は、前記パス遅延付きＲＴＬに記述されるパス遅延を、当該パスが採り得る値として前記タイミング制約により定義された範囲内の値からランダムに設定する機能を有していることを特徴とする請求項４に記載の遅延付加ＲＴＬ論理シミュレータ。
【請求項６】
前記遅延付加ＲＴＬ論理シミュレータは、前記タイミング制約により定義された範囲内において設定された複数のパス遅延値を用いて繰り返し実行して最適な動作を実現するＲＴＬ論理シミュレート結果を出力する機能を有し、前記遅延付加ＲＴＬ論理シミュレーションが実行される毎に、前記遅延演算部から前記パス遅延の値がランダムに設定され、前記遅延付加ＲＴＬ生成部から遅延付加ＲＴＬが生成されることを特徴とする請求項５に記載の遅延付加ＲＴＬ論理シミュレータ。
【請求項７】
ＲＴＬ（Resister Transfer Level）で記述された検証対象回路と、設計者により定義されたタイミング制約とを入力して、前記検証回路におけるすべてのパス遅延を演算する遅延演算部と、該遅延演算部で演算された前記パス遅延の値を前記検証対象回路の該当するパスに付加した遅延付加ＲＴＬを生成する遅延付加ＲＴＬ生成部とからなる遅延付加ＲＴＬ生成手段と、該遅延付加ＲＴＬ生成手段で生成された遅延付加ＲＴＬに対してテストベンチを用いて論理シミュレーションを実行するＲＴＬ論理シミュレータを備えていることを特徴とする遅延付加ＲＴＬ論理シミュレート装置。
【請求項８】
前記遅延演算部は、前記パス遅延付きＲＴＬに記述されるパス遅延を、当該パスが採り得る値として前記タイミング制約により定義された範囲内の値からランダムに設定する機能を有していることを特徴とする請求項７に記載の遅延付加ＲＴＬ論理シミュレート装置。
【請求項９】
前記遅延付加ＲＴＬ論理シミュレータは、前記タイミング制約により定義された範囲内において設定された複数のパス遅延値を用いて繰り返し実行して最適な動作を実現するＲＴＬ論理シミュレート結果を出力する機能を有し、前記遅延付加ＲＴＬ論理シミュレーションが実行される毎に、前記遅延演算部から前記パス遅延の値がランダムに設定され、前記遅延付加ＲＴＬ生成部から遅延付加ＲＴＬが生成されることを特徴とする請求項８に記載の遅延付加ＲＴＬ論理シミュレート装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ＨＤＬ（Hardware Description Language：ハードウェア記述言語）により回路設計されたＲＴＬ（Resister Transfer Level）の論理シミュレーション技術に関する。
【背景技術】
【０００２】
論理機能を実現するデジタル回路は、コンピュータ技術の進歩に伴って複雑化の一途をたどっており、そのため回路設計には通常、ＨＤＬと論理合成プログラムを用いたトップダウン設計手法が採用されている（特許文献１〜６等参照）。トップダウン設計は、デジタル回路全体の動作や機能を決定し、徐々に回路化していく回路設計手法である。設計者は、論理合成可能なＲＴＬ論理回路を、ＨＤＬを用いて記述することにより回路設計を行う。そして、ＨＤＬで記述されたＲＴＬ論理回路が所望の機能を実現しているかＲＴＬ論理シミュレーションを実行することによりＲＴＬ論理回路を検証し、所望の機能が実現されるまで、ＲＴＬ論理回路の修正、ＲＴＬ論理シミュレーションを繰り返す。
【０００３】
このＲＴＬ記述に基づく機能シミュレータは、論理回路の機能設計段階で用いられる場合が多い。この機能設計段階では、論理回路の詳細な実現方法よりは論理機能の正しさに主眼が置かれているため、遅延時間を考慮にいれないゼロ遅延シミュレーション、あるいは全ての信号に一律に１単位の遅延時間を割り当てたユニット遅延シミュレーションといったシミュレーション方式が用いられている（特許文献１等参照）。
【０００４】
図８は、このような従来のトップダウン設計による論理回路設計の手順を示すフローチャートである。以下、図８を参照して、従来の論理回路設計手順について説明する。
【０００５】
最初に、ＨＤＬで記述されたＲＴＬ論理回路が期待通りの動作を実現しているかについて、ＲＴＬ論理シミュレーションを行うことにより検証される。このときの制約情報としては、例えば動作クロックに基づく情報のみが与えられる。そして期待通りの動作が実現されるまで、ＲＴＬ論理回路の修正、ＲＴＬ論理シミュレーションを繰り返すことにより、所望の動作を実現するＲＴＬ論理回路を得る。
【０００６】
次にこのようにして得られたＲＴＬ論理回路に対して、予め与えられているタイミング制約定義を適用してタイミング解析を行うことにより、所望の動作速度で動作するような論理回路を生成するためのタイミング制約条件を決定し、タイミング制約として出力する。次に、得られたタイミング制約を適用して論理合成プログラムを実行し、ＲＴＬ論理シミュレーションを行った回路ＲＴＬ記述の論理合成を行い、ネットリストを出力する。さらに、自動配置配線プログラムを実行して自動配置配線を行って、遅延付きネットリストを出力する。
【０００７】
最後に、得られた遅延付きネットリストで定義されている回路のセル遅延および配線遅延を含めたシミュレーションを実行し、シミュレーション結果とエラーメッセージを出力する。シミュレーション結果が期待通りの動作を示しているときには、この論理回路設計を終了する。期待通りの動作が実現されていないときには、エラーメッセージに従って、自動配置配線、論理合成、ＲＴＬ記述の修正などの工程を、期待通りの動作が実現されるまで繰り返す。
【０００８】
【特許文献１】特開平０５−３４２２９４号公報
【特許文献２】特開平１１−１２６２１８号公報
【特許文献３】特開２０００−１１３０１９号公報
【特許文献４】特開２００１−１１７９６１号公報
【特許文献５】特開２００２−２８８２５８号公報
【特許文献６】特開２００４−０３０１８６号公報
【発明の開示】
【発明が解決しようとする課題】
【０００９】
図８に示す従来の論理回路設計手法の場合、ＨＤＬによる回路設計、ＲＴＬ論理シミュレーション、論理合成、配置配線を行った後に遅延シミュレーションを行っているので、論理合成、配置配線を行ってからでなければタイミング制約に伴うエラーを発見することはできず問題箇所の発見が大幅に遅れるという問題があり、また、配置配線を行った後の遅延シミュレーションによってＲＴＬの不具合が発見された場合、ＲＴＬ記述に戻って再度修正を加えるため、設計効率も悪くなる。
【００１０】
このように従来のＲＴＬ論理シミュレータでは、各信号の代入に対して、例えば単位遅延を付加してシミュレートしているが、論理合成時にはマルチサイクルパスや、最大遅延制約パス、最小遅延制約パス、あるいはタイミング制約を必要としないフォルスパスなどの指定を行って論理合成を行うため、実際に生成される回路とＲＴＬ論理シミュレータでシミュレートする結果は必ずしも一致するとはいえない。
【００１１】
そのため、例えば特許文献１では、ＲＴＬ記述から論理回路を合成し、合成された論理回路を表わす論理記述を生成する論理合成手段と、生成された論理記述と元のＲＴＬ記述との対応付けを行い、ＲＴＬ記述の各文に対応する遅延時間を、合成された論理回路から計算して抽出する遅延情報抽出手段と、抽出された遅延情報をＲＴＬ記述の各文と対応付けて蓄積する遅延情報データベースと、論理回路の動作をシミュレーションする際に、実行するＲＴＬ記述の文に対応する遅延時間を遅延情報データベースより取り出し、取り出された遅延時間を実行された時刻に加算する機能シミュレータを備えることにより、遅延情報を持たないＲＴＬ記述に対し、現実に近い遅延時間を考慮したシミュレーションを可能にする方法が提案されている。
【００１２】
しかし、この特許文献１に記載の発明の場合、ＲＴＬ記述から論理回路を合成しなければならず、また合成された論理回路から、遅延情報を持たないＲＴＬ記述の各文に対応する遅延時間を計算して抽出する手段を設けなければならないので、その構成が複雑となる。
【００１３】
また、特許文献５では、各セルの動作をＲＴＬで記述したＲＴＬライブラリと、回路を構成している各セルの入・出力の配線をネットリスト形式で記述したネットリスト記述ファイルと、各セルにかかわる回路の遅延時間を規定する情報を記述したＳＤＦファイルを用意し、ネットリスト記述ファイルの回路図情報とＳＤＦファイルの遅延情報を元に、ＲＴＬライブラリ中の遅延変数を書き換えて新たに作成された回路に対する遅延情報を含んだセルライブラリ基づいてシミュレーションを行うことにより、抽象度の高いＲＴＬ記述によってゲートレベルのシミュレーションと同等の検証を実現し、大規模な半導体集積回路のシミュレーション検証時間を減少可能にする方法が提案されている。
【００１４】
しかし、この特許文献５に記載の発明の場合も、ＲＴＬ記述によるシミュレーションを実行するに際して、論理合成と配置配線を行って、ネットリスト記述ファイルとＳＤＦファイルを作成しなければならないという問題がある。
【００１５】
本発明の目的は、上記の問題点に鑑み、比較的簡単な方法で遅延情報を含んだＲＴＬ論理シミュレーションを実行可能にする新規な手段を提供し、それにより論理回路設計の効率を改善することにある。
【課題を解決するための手段】
【００１６】
ＲＴＬ（Resister Transfer Level）記述による論理回路を設計する際に、ＲＴＬ記述された各論理素子および論理素子間の入出力信号の関係から、ＲＴＬによる機能設計段階において、遅延を与える必要性のあるパスについての認識が得られる場合が多い。本発明はこの点に着目し、ＨＤＬにより設計したＲＴＬ論理回路に対して、設計者がタイミング制約を定義可能にする手段を設け、上記ＨＤＬにより設計したＲＴＬ論理回路のシミュレーションを実行する際に、設計者により定義された上記タイミング制約を反映させることを特徴とする。
【００１７】
それにより、論理シミュレート後に実施される論理合成および配置配線プログラムで生成される回路において期待通りの動作を行う回路を得るためのシミュレーション検証時間を短縮することが可能となる。従って、生成された回路が期待通りの動作を実現しないことによる、論理合成、自動配置配線、ＲＴＬ記述の修正などの、工程の繰り返しも減らすことができ、論理回路設計の効率が改善される。
【００１８】
具体的には、本発明の遅延付加ＲＴＬ論理シミュレーション方法は、ＲＴＬ（Resister Transfer Level）記述と、該ＲＴＬ記述に対して設計者により定義されたタイミング制約を入力することにより、前記タイミング制約を満たしたパス遅延付きＲＴＬを生成し、該生成したパス遅延付きＲＴＬによりＲＴＬ論理シミュレーションを実行することを特徴とする。
【００１９】
また、前記パス遅延付きＲＴＬに記述されるパス遅延の値は、前記パス遅延を生成する際にとり得る値として前記タイミング制約により定義された範囲内においてランダム（無作為）に設定することができる。また、論理シミュレータは、ランダムに設定した遅延値を有する遅延付加ＲＴＬを複数生成し、生成されたすべての遅延付きＲＴＬに対しテストベンチを用いて論理シミュレーションを行うことにより、最適な動作を実現するＲＴＬ論理回路を出力する。
【００２０】
本発明のＲＴＬ論理シミュレーション方法では、初期設計段階のＲＴＬに対してタイミング制約情報をユーザ定義し、その情報を元に各信号に対して遅延を付加した遅延付加ＲＴＬを作成し、この遅延付加ＲＴＬにより論理シミュレーションを実行するので、論理合成と配置配線後に生成される回路に対してより忠実なＲＴＬ論理シミュレートが可能となる。
【００２１】
また本発明の遅延付加ＲＴＬ論理シミュレータは、ＲＴＬで記述された検証対象回路と、設計者により定義されたタイミング制約とを入力して、前記検証回路におけるすべてのパス遅延を演算する遅延演算部と、該遅延演算部で演算された前記パス遅延の値を前記検証対象回路の該当するパスに付加した遅延付加ＲＴＬを生成する遅延付加ＲＴＬ生成部と、該生成された遅延付加ＲＴＬに対してテストベンチを用いて論理シミュレーションを実行する論理シミュレート部を備えていることを特徴とする。
【発明の効果】
【００２２】
本発明は、論理合成時に定義するものと同様のタイミング制約を用いて、初期設計段階のＲＴＬに遅延値が付加されるので、論理合成後に生成される回路に対してより忠実なＲＴＬ論理シミュレートを行うことができ、それにより論理回路設計の効率を改善することが可能となる。
【００２３】
例えば、図６（ａ）に示した回路が図６（ｂ）に示したタイミングのようにＳ６０２がＨＩＧＨの期間で記憶素子Ｆ６０１の内容Ｓ６０１をＦ６０２に保持することを期待していたとする。しかし論理合成、配置配線後の回路で、Ｆ６０１からＦ６０２へのパスＰ６０１のセットアップが２サイクルパスであり、図６（ｃ）に示すように、Ｓ６０１が１サイクルを越える遅延値ＤＳ６０１によりＳ６０１_Ｄとなる場合には、Ｆ６０２はＦ６０１の内容Ｓ６０１を保持することができない。
【００２４】
しかし、このような遅延を考慮しない論理シミュレータでは図６（ｂ）のように期待値が保持できてしまい、論理合成、配置配線後の回路のシミュレーション結果とは異なってしまうため、回路の不具合の問題が発見できない。
【００２５】
一方、遅延付きＲＴＬを生成する本シミュレーション方法を用いれば、取得するランダム遅延の値によっては、図６（ｃ）のように１サイクルを越える遅延値が付加されることがあり、その場合にはＲＴＬシミュレーションでもＦ６０１の内容を保持できない論理合成後の回路と同等な動作が期待できるので、ＲＴＬシミュレーションの段階で回路の不具合を発見することができる。そのため、設計期待値への収束を早めることができ設計効率が改善される。
【発明を実施するための最良の形態】
【００２６】
図１は、本発明の実施形態を示す遅延付加ＲＴＬシミュレータの機能ブロック図である。本実施形態の遅延付加ＲＴＬ論理シミュレータは、遅延演算部１と、遅延付加ＲＴＬ生成部２と、論理シミュレート部３とから構成される。この遅延付加ＲＴＬ論理シミュレータに対してタイミング制約４、検証対象回路（ＲＴＬ）５、テストベンチ６を与えて論理シミュレーションを実行する。本発明においては、タイミング制約４は、検証対象回路（ＲＴＬ）５の設計段階において、設計者により定義される。
【００２７】
検証対象回路（ＲＴＬ）とはＨＤＬ(Hardware Description Language)で記述された動作検証がなされるデザインである。テストベンチとは検証対象回路の機能を検証するために、設計者によって与えられるテストシナリオやテスト結果の期待値などである。また、タイミング制約とは、クロック定義、マルチサイクルパス、フォルスパス、あるいは最大遅延、最小遅延など一般的な論理合成ツールやスタティックタイミング解析ツールで通常用いる制約であり、マルチサイクルパスとは２つの記憶素子の間で、始点と終点までの信号が２サイクル以上の時間をかけられるパス、フォルスパスとは２つの記憶素子の間で始点と終点までの信号の遅延時間に制約がないパスのことである。
【００２８】
次に、図１を参照して本実施形態の動作の概略について説明する。
【００２９】
本実施形態の遅延付加ＲＴＬ論理シミュレータに対して、設計者により定義されたタイミング制約４、検証対象回路（ＲＴＬ）５、テストベンチ６が与えられる。遅延演算部１は、設計者によって与えられたタイミング制約４を参照して、ＨＤＬで記述された検証対象回路（ＲＴＬ）５におけるすべての記憶素子間に付加すべきパス遅延を演算し、演算結果を遅延付加ＲＴＬ生成部２へ出力する。
【００３０】
遅延付加ＲＴＬ生成部２は、遅延演算部１により演算された遅延値を検証対象回路（ＲＴＬ）５に対して付加したＲＴＬ記述を生成する。論理シミュレート部３は遅延付加ＲＴＬ生成部２により遅延付加されたＲＴＬを、テストベンチ６を用いて論理シミュレートし、シミュレート結果７を得る。
【００３１】
図２は、単一クロックの同期回路という条件での遅延演算部１における遅延演算方法を示すフローチャートである。以下、図２を参照して遅延演算部１における遅延演算方法を説明する。
【００３２】
ステップ２０１でパス遅延Ｄのとり得る値の最小値Ｄmin、最大値Ｄmaxを０に設定する。ステップ２０２で設計者によってタイミング制約が与えられているパスかどうかの判断を行う。タイミング制約が与えられていない場合にはステップ２１５に進み、初期値としてパス遅延のとり得る範囲の最小値Ｄmin、最大値Ｄmaxをともに０に設定し、次のパスの処理に移る。タイミング制約が与えられている場合にはステップ２０３に進む。
【００３３】
ステップ２０３では２点間がフォルスパスかどうかの判断を行い、フォルスパスであればステップ２０４でパス遅延Ｄのとり得る値の最小値Ｄminを０に設定する。ステップ２０５では２点間が最小遅延制約パスであるかどうかの判断を行い、最小遅延制約パスであればステップ２０６でパス遅延Ｄのとり得る最小値Ｄminをタイミング制約４で与えられた遅延値に設定する。
【００３４】
ステップ２０７では２点間がホールドに対してマルチサイクルパスであるかどうかの判断を行い、マルチサイクルパスであればステップ２０８に進み、タイミング制約４で与えられたマルチサイクル数×クロック周期をＤminに設定する。パス遅延の最大値Ｄmaxについても同様な判断を行い、ステップ２０９からステップ２１４を実行する。ただしステップ２０４、２１０に示した通り２点間がフォルスパスであった場合、ユーザ定義可能なデフォルト値ＤdefをＤmaxとして設定する。
【００３５】
ステップ２１５では、タイミング制約が与えられていないパスについてはパス遅延を０とするが、設計者によってタイミング制約が与えられているパスについては、このフローを実行することにより設定されたＤmin≦Ｄ＜Ｄmaxの範囲内で無作為（ランダム）にパス遅延Ｄを取得する。検証対象回路（ＲＴＬ）のすべての記憶素子を始点、終点とするすべての組合せに対してこのパス遅延の取得を行い、取得したすべてのパス遅延Ｄを満たすようＲＴＬ上に遅延を追加していく。
【００３６】
図３は本実施形態の検証対象回路（ＲＴＬ）５およびタイミング制約４の一例、図３は遅延演算部１の動作例、図５は遅延付加ＲＴＬ生成部２で生成された遅延付加ＲＴＬの例を示している。次に、本実施形態の動作について、図３〜図５に示す具体例を参照して詳細に説明する。
【００３７】
本実施形態では、ＲＴＬによる回路設計に際してタイミング制約を与える記述を付加することができる構成となっている。図３（ｂ）はそのＲＴＬ記述、図３（ｃ）は本実施形態により与えられるタイミング制約を示している。
【００３８】
設計者は、設計した図３（ｂ）のＲＴＬ記述から図３（ａ）に示す論理回路を認識して、各記憶素子間の入出力信号Ｓ３０１〜Ｓ３０９の入出力タイミングを推定し、各記憶素子間のパスＰ３０１〜Ｐ３０６についてタイミング制約を設定する。なお、このタイミング制約は、入出力タイミング関係が推定できるものについて設定し、推定できないものについては設定しない。このようにして、設計者は、図３（ｂ）に示すＲＴＬ記述とともに、図３（ｃ）に示すタイミング制約を作成して本実施形態の遅延付加ＲＴＬ論理シミュレータに与える。
【００３９】
遅延付加ＲＴＬ論理シミュレータの遅延演算部１は、図３（ｂ）〜図３（ｃ）に示すＲＴＬ（検証対象回路）記述５およびタイミング制約４に基づいて以下の演算を行う。
【００４０】
記憶素子Ｆ３０１から記憶素子Ｆ３０３へのパスＰ３０１に対しては、タイミング制約は定義されていないためこのパスの遅延ＤＰ３０１は図２のフローチャートより０になる。記憶素子Ｆ３０２から記憶素子Ｆ３０３へのパスＰ３０２はホールド１サイクル、セットアップ２サイクルパスなので図２のフローチャートからパス遅延ＤＰ３０２は１０≦ＤＰ３０２＜２０となる。
【００４１】
記憶素子Ｆ３０１から記憶素子Ｆ３０４へのパスＰ３０３はセットアップ２サイクルパスなので、パス遅延ＤＰ３０３は０≦ＤＰ３０３＜２０となる。同様にＰ３０４のパス遅延ＤＰ３０４は０、Ｐ３０５のパス遅延ＤＰ３０５は０≦ＤＰ３０５＜５０（＝Ｄdef）、Ｐ３０６のパス遅延ＤＰ３０６は０となる。一覧を図４（ｂ）にまとめる。
【００４２】
次に、図３（ａ）の記憶素子Ｆ３０１から組合せ回路Ｃ３０１への信号Ｓ３０３を分岐点３０１で分割し、分岐点３０１からＣ３０１へのパスをＳ３０３１、分岐点３０１からＣ３０２へのパスをＳ３０３２として定義する。同様にＳ３０４も分岐点３０２以降をＳ３０４１、Ｓ３０４２として定義し、Ｓ３０６も分岐点３０３以降をＳ３０６１、Ｓ３０６２として定義する（図４（ａ）参照）。
【００４３】
図４（ａ）において信号Ｓ３０３の遅延をＤＳ３０３、信号Ｓ３０３１の遅延をＤＳ３０３１、同様にすべての信号の遅延を定義すると図４（ｃ）が成り立つ。図４（ｂ）、図４（ｃ）から図４（ｃ）に示す結果が得られる。この結果よりＤＳ３０３２は０以上２０未満の値で無作為に設定し、ＤＳ３０４１は１０以上２０未満の値で無作為に設定する。このようにして得られた演算結果を遅延付加ＲＴＬ生成部２に渡す。
【００４４】
遅延付加ＲＴＬ生成部２は遅延演算結果と検証対象回路（ＲＴＬ）から、パス遅延値が０でない信号に対して遅延値をつけた図５に示すようなＲＴＬ記述を生成する。いくつかの遅延値によってＲＴＬシミュレートできるように、無作為な遅延値の取得と遅延付加ＲＴＬ生成は繰り返し行い、複数の遅延付加ＲＴＬを生成できるようにする。論理シミュレート部３は生成されたすべての遅延付きＲＴＬに対しテストベンチ６を用いて論理シミュレーションを行うことにより、所望の動作を実現するＲＴＬ論理回路を得る。
【００４５】
なお、上記実施形態では遅延付加論理シミュレータとして構成したが、論理シミュレート部３は既存のＲＴＬ論理シミュレータを用いることが可能である。その場合の実施形態を図７に示す。本実施形態では、遅延演算部１は設計者に定義されたタイミング制約４、検証対象回路（ＲＴＬ）５から対象となるパスの遅延演算を行う。遅延付加ＲＴＬ生成部２は遅延演算部１により演算された遅延値を、検証対象回路（ＲＴＬ）５に対して付加したＲＴＬ記述を生成する。この遅延付加されたＲＴＬを既存の論理シミュレータ７によりシミュレートする。
【図面の簡単な説明】
【００４６】
【図１】本発明の実施形態を示す遅延付加ＲＴＬシミュレータの機能ブロック図である。
【図２】本実施形態における遅延演算部の動作を示すフローチャートである。
【図３】本実施形態の検証対象回路（ＲＴＬ）５およびタイミング制約４の例を示す図である。
【図４】本実施形態の遅延演算部の動作例を示す図である。
【図５】本実施形態の遅延付加ＲＴＬ生成部で生成された遅延付加ＲＴＬの例を示す図である。
【図６】本発明の課題および効果を説明するための図である。
【図７】本発明の他の実施形態を示す機能ブロック図である。
【図８】従来の論理回路設計の手順を示すフローチャートである。
【符号の説明】
【００４７】
１  遅延演算部
２  遅延付加ＲＴＬ生成部
３  論理シミュレート部
４  タイミング制約
５  検証対象回路（ＲＴＬ）
６  テストベンチ
７  シミュレート結果
８  ＲＴＬ論理シミュレータ
【図１】
2006318121.tif 000003
【図２】
2006318121.tif 000004
【図３】
2006318121.tif 000005
【図４】
2006318121.tif 000006
【図５】
2006318121.tif 000007
【図６】
2006318121.tif 000008
【図７】
2006318121.tif 000009
【図８】
2006318121.tif 000010