(57)【要約】【課題】  本発明は、既存のシステムを大きく変更することなく、入力信号の遅延計算の精度を向上することが可能な遅延計算方法及び遅延計算装置を提供することを目的とする。【解決手段】  遅延計算方法は、論理回路への入力信号の遅延に関する第１の遅延情報を含む回路遅延情報を受け取り、入力信号に関する第１の入力信号情報に基づいて入力信号の遅延に関する第２の遅延情報を算出し、入力信号に関する第２の入力信号情報に基づいて入力信号の遅延に関する第３の遅延情報を算出し、第２の遅延情報と第３の遅延情報との比較に基づいて修正情報を生成し、修正情報に基づいて回路遅延情報に含まれる第１の遅延情報を修正し、第１の遅延情報が修正された回路遅延情報を出力する各段階を含むことを特徴とする。【選択図】  図５
2006277134.tif 000002
【特許請求の範囲】
【請求項１】
論理回路への入力信号の遅延に関する第１の遅延情報を含む回路遅延情報を受け取り、
該入力信号に関する第１の入力信号情報に基づいて該入力信号の遅延に関する第２の遅延情報を算出し、
該入力信号に関する第２の入力信号情報に基づいて該入力信号の遅延に関する第３の遅延情報を算出し、
該第２の遅延情報と該第３の遅延情報との比較に基づいて修正情報を生成し、
該修正情報に基づいて該回路遅延情報に含まれる該第１の遅延情報を修正し、
該第１の遅延情報が修正された該回路遅延情報を出力する
各段階を含むことを特徴とする遅延計算方法。
【請求項２】
該第２の入力信号情報は該入力信号の実際の信号波形を表現した情報であることを特徴とする請求項１記載の遅延計算方法。
【請求項３】
該第１の遅延情報は該入力信号に関する該第１の入力信号情報に基づいて算出された情報であることを特徴とする請求項１記載の遅延計算方法。
【請求項４】
該第１の遅延情報が修正される前の該回路遅延情報と同一の形式で該第１の遅延情報が修正された該回路遅延情報を出力することを特徴とする請求項１記載の遅延計算方法。
【請求項５】
遅延計算プログラム、論理回路への入力信号に関する第１の入力信号情報及び第２の入力信号情報、及び該論理回路への該入力信号の遅延に関する第１の遅延情報を含む回路遅延情報を格納するよう機能するメモリユニットと、
該遅延計算プログラムを実行するよう構成されたプロセッサユニット
を含み、該プロセッサユニットは、
該遅延計算プログラムを実行することにより、該メモリユニットに格納された該第１の入力信号情報を参照し、該第１の入力信号情報に基づいて該入力信号の遅延に関する第２の遅延情報を算出し、
該遅延計算プログラムを実行することにより、該メモリユニットに格納された該第２の入力信号情報を参照し、該第２の入力信号情報に基づいて該入力信号の遅延に関する第３の遅延情報を算出し、
該遅延計算プログラムを実行することにより、該第２の遅延情報と該第３の遅延情報との比較に基づいて修正情報を生成し、
該遅延計算プログラムを実行することにより、該メモリユニットに格納された該回路遅延情報に含まれる該第１の遅延情報を該修正情報に基づいて修正する
よう機能することを特徴とする遅延計算装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は一般に計算機利用設計に関し、詳しくは論理回路の動作を検証する論理シミュレーションにおける遅延計算方法及び遅延計算装置に関する。
【背景技術】
【０００２】
論理設計においては、レイアウト設計後にタイミング検証を行い、このタイミング検証で問題が発見されると、タイミングに問題がある回路部分のレイアウトを変更する。レイアウト変更後に再びタイミング検証を行い、このタイミング検証でまた問題が発見されれば、問題がある回路部分のレイアウトを変更する。このようにタイミング検証及びレイアウト変更を繰り返すことによって、タイミング違反がなくなるように論理回路の設計に関して収束を図る。
【０００３】
このようなタイミング検証には論理シミュレーションが用いられる。高精度の論理シミュレーションを実現するためには、検証対象となる論理回路のチップの物理レイアウトに応じた配線抵抗及び寄生容量を考慮する必要がある。そこで論理シミュレーションに先立って、検証対象となる論理回路のチップの物理レイアウトから配線抵抗及び寄生容量を算出し、算出した配線抵抗及び寄生容量に基づいて、温度、印加電圧、製造条件等を考慮した実使用環境における論理回路の信号遅延情報を算出しておく。このように予め遅延情報を算出しておくことにより、論理シミュレーションを実行するたびに遅延情報を計算し直す必要が無くなり、短いＴＡＴ（ターン・アラウンド・タイム）で高精度な論理シミュレーションが可能となる。
【０００４】
図１は、論理シミュレーションに先立つ従来の遅延情報計算処理の流れを示すフローチャートである。
【０００５】
図１において、まず回路記述に従いセルをチップ上の各位置に配置しセル間を配線することで、設計対象の論理回路の配置・配線に関するレイアウトデータ１０を作成しておく。ステップＳＴ１で、配線抵抗及び寄生容量（ＲＣ）を抽出し、抵抗・容量データ１１を生成する。抵抗・容量データ１１は、例えば一連の抵抗と容量とを交互に連結することにより信号伝播に関する配線の特性を表現するものであり、対象となる配線の遅延を計算するために用いられる。
【０００６】
ステップＳＴ２で、配線遅延計算を行う。この配線遅延計算においては、論理回路情報１２、セルライブラリ１３、及び回路動作条件１４が参照される。論理回路情報１２は、対象となる論理回路の回路構成に関する情報である。セルライブラリ１３は、論理回路を構成する各タイプのセル毎に、セルでの遅延に関する情報をライブラリとして格納したものである。回路動作条件１４は、動作温度、電圧、入力波形等についての条件を記述したデータである。これらの情報に基づいて、設計対象の論理回路の各部分における遅延が計算される。この計算の結果、チップ遅延情報１５が得られる。
【０００７】
ステップＳＴ３で、チップ遅延情報１５に基づいて論理シミュレーションが実行される。論理シミュレーションによるタイミング検証の結果に基づいて、セルの挿入／削除／置換／移動等により、レイアウトを変更して遅延を調整する。この遅延時間調整により新たなレイアウトを作成し、再度タイミング検証を実行する。このようにしてタイミング検証及びレイアウト変更を繰り返す。タイミング検証の結果、所望の遅延時間が達成されたと判断されると、現在のレイアウトをタイミング検証済みレイアウトとして出力する。
【０００８】
チップ遅延情報１５を算出する際には、チップ外部からの入力信号に関しても遅延情報を算出する。図２は、チップ外部からの入力信号に関する遅延を説明するための図である。
【０００９】
チップ２０は、外部からの入力信号を受け取るセル２１、この入力信号と他の信号との論理をとるセル２２、セル２２の出力が供給される内部回路２３を含む。セル２１は、外部信号入力端子２４に結合されている。セル２２の出力は、内部回路２３に繋がる配線２５に接合されている。外部信号入力端子２４に入力された信号は、セル２１、セル２２、及び配線２５を通過する際に、各回路要素の特性に応じた遅延を受ける。
【００１０】
図１のステップＳＴ２に示す従来の配線遅延計算においては、セル２１、セル２２、及び配線２５を介して内部回路２３に入力される入力信号についても遅延情報を算出している。この際、外部信号入力端子２４に供給される信号自体についても、外部信号入力端子２４に結合される寄生容量や信号波形の傾き等を回路動作条件１４として指定できるようになっている。こうして指定された条件に対応する各セルの遅延量を、セルライブラリ１３から抽出して遅延計算に用いる。
【００１１】
しかし上記のように寄生容量や信号波形の傾き等の条件を指定しても、実際の入力信号の条件を精度良く表現できるとは限らない。この場合、以下に説明するような問題が生じる。
【００１２】
図３は、入力信号の波形に応じた遅延量の変動を説明するための図である。図３の（ａ）は、論理シミュレーションで算出される入力信号の遅延を示す図である。（ｂ）は、実際の入力信号の遅延を示す図である。
【００１３】
（ａ）に示される論理シミュレーションでは、高電圧ＶＩＨ及び低電圧ＶＩＬを有する立ち上がり波形が、入力信号Ｓ１として外部信号入力端子２４に入力される。このとき論理シミュレーションによって求められる配線２５上のある観測点での信号波形はＳ２となり、Ｔ１の信号遅延が存在する。
【００１４】
それに対して（ｂ）に示される実際の信号では、信号Ｓ１とは異なる高電圧ＶＩＨ２及び低電圧ＶＩＬ２を有し傾きが若干異なる立ち上がり波形が、入力信号Ｓ３として外部信号入力端子２４に入力される。このとき配線２５上の上記観測点での信号波形はＳ４となり、Ｔ２の信号遅延が存在する。
【００１５】
この場合、（ａ）に示される論理シミュレーションと（ｂ）に示される実際の信号とでは、論理シミュレーション用の入力信号Ｓ１と実際の入力信号Ｓ３との差に起因して、遅延時間に誤差Ｔが存在することになる。この誤差のために、設計した論理回路の動作に問題が発生する可能性がある。
【００１６】
信号の電圧についても動作条件を指定する一つの情報として回路動作条件１４に含めることは可能である。しかしそのような構成としても、寄生容量、信号波形の傾き、信号の電圧等の条件の指定は、予め設定された限られた数の条件の中から選択可能なだけであり、実際の入力信号の条件を精度良く表現できるものではない。
【００１７】
回路動作条件１４に指定する条件を細かく設定可能にし、それに応じてセルライブラリ１３の各セルの遅延情報についても細かく指定し、更にそれに応じて細かな遅延計算を実行するようにすれば、上記の誤差は小さくすることが可能である。しかしそのためには、論理回路情報１２及び回路動作条件１４更にはステップＳＴ２の配線遅延計算処理を変更しなければならず、既存のシステムに対して大きな修正を施すことになり効率が良くない。
【特許文献１】特開２００４−７０８８１号公報
【発明の開示】
【発明が解決しようとする課題】
【００１８】
以上を鑑みて本発明は、既存のシステムを大きく変更することなく、入力信号の遅延計算の精度を向上することが可能な遅延計算方法及び遅延計算装置を提供することを目的とする。
【課題を解決するための手段】
【００１９】
本発明による遅延計算方法は、論理回路への入力信号の遅延に関する第１の遅延情報を含む回路遅延情報を受け取り、該入力信号に関する第１の入力信号情報に基づいて該入力信号の遅延に関する第２の遅延情報を算出し、該入力信号に関する第２の入力信号情報に基づいて該入力信号の遅延に関する第３の遅延情報を算出し、該第２の遅延情報と該第３の遅延情報との比較に基づいて修正情報を生成し、該修正情報に基づいて該回路遅延情報に含まれる該第１の遅延情報を修正し、該第１の遅延情報が修正された該回路遅延情報を出力する各段階を含むことを特徴とする。
【００２０】
本発明による遅延計算装置は、遅延計算プログラム、論理回路への入力信号に関する第１の入力信号情報及び第２の入力信号情報、及び該論理回路への該入力信号の遅延に関する第１の遅延情報を含む回路遅延情報を格納するよう機能するメモリユニットと、該遅延計算プログラムを実行するよう構成されたプロセッサユニットを含み、該プロセッサユニットは、該遅延計算プログラムを実行することにより、該メモリユニットに格納された該第１の入力信号情報を参照し、該第１の入力信号情報に基づいて該入力信号の遅延に関する第２の遅延情報を算出し、該遅延計算プログラムを実行することにより、該メモリユニットに格納された該第２の入力信号情報を参照し、該第２の入力信号情報に基づいて該入力信号の遅延に関する第３の遅延情報を算出し、該遅延計算プログラムを実行することにより、該第２の遅延情報と該第３の遅延情報との比較に基づいて修正情報を生成し、該遅延計算プログラムを実行することにより、該メモリユニットに格納された該回路遅延情報に含まれる該第１の遅延情報を該修正情報に基づいて修正するよう機能することを特徴とする。
【発明の効果】
【００２１】
本発明の少なくとも１つの実施例によれば、従来の遅延計算によるチップ遅延情報を入力とし、このチップ遅延情報における入力信号遅延量を再計算（修正）することにより、より実際に入力信号の遅延に近い遅延情報を算出する。このように従来の計算機利用設計手順で算出された従来のチップ遅延情報に修正を加えるという方式を採用することで、従来のシステムに変更を加えることなく、精度の高い遅延情報を提供することが可能になる。またこの際、従来のチップ遅延情報と同一の形式で修正後のチップ遅延情報を提供することで、遅延時間計算後の論理シミュレーションについても、何ら変更を加えることのない従来どおりの形で実行することが可能となる。
【発明を実施するための最良の形態】
【００２２】
以下に本発明の実施例を添付の図面を用いて詳細に説明する。
【００２３】
図４は、本発明による遅延計算方法を実行する装置の構成を示す図である。
【００２４】
図４に示されるように、本発明による遅延計算方法を実行する装置は、例えばパーソナルコンピュータやエンジニアリングワークステーション等のコンピュータにより実現される。図４の装置は、コンピュータ５１０と、コンピュータ５１０に接続されるディスプレイ装置５２０、通信装置５２３、及び入力装置よりなる。入力装置は、例えばキーボード５２１及びマウス５２２を含む。コンピュータ５１０は、ＣＰＵ５１１、ＲＡＭ５１２、ＲＯＭ５１３、ハードディスク等の二次記憶装置５１４、可換媒体記憶装置５１５、及びインターフェース５１６を含む。
【００２５】
キーボード５２１及びマウス５２２は、ユーザとのインターフェースを提供するものであり、コンピュータ５１０を操作するための各種コマンドや要求されたデータに対するユーザ応答等が入力される。ディスプレイ装置５２０は、コンピュータ５１０で処理された結果等を表示すると共に、コンピュータ５１０を操作する際にユーザとの対話を可能にするために様々なデータ表示を行う。通信装置５２３は、遠隔地との通信を行なうためのものであり、例えばモデムやネットワークインターフェース等よりなる。
【００２６】
本発明による遅延計算方法は、コンピュータ５１０が実行可能なコンピュータプログラムとして提供される。このコンピュータプログラムは、可換媒体記憶装置５１５に装着可能な記憶媒体Ｍに記憶されており、記憶媒体Ｍから可換媒体記憶装置５１５を介して、ＲＡＭ５１２或いは二次記憶装置５１４にロードされる。或いは、このコンピュータプログラムは、遠隔地にある記憶媒体（図示せず）に記憶されており、この記憶媒体から通信装置５２３及びインターフェース５１６を介して、ＲＡＭ５１２或いは二次記憶装置５１４にロードされる。
【００２７】
キーボード５２１及び／又はマウス５２２を介してユーザからプログラム実行指示があると、ＣＰＵ５１１は、記憶媒体Ｍ、遠隔地記憶媒体、或いは二次記憶装置５１４からプログラムをＲＡＭ５１２にロードする。ＣＰＵ５１１は、ＲＡＭ５１２の空き記憶空間をワークエリアとして使用して、ＲＡＭ５１２にロードされたプログラムを実行し、適宜ユーザと対話しながら処理を進める。なおＲＯＭ５１３は、コンピュータ５１０の基本動作を制御するための制御プログラムが格納されている。
【００２８】
上記コンピュータプログラムを実行することで、本発明による遅延計算方法を実行する。またこの計算機環境が、本発明による遅延計算装置である。
【００２９】
図５は、本発明による遅延計算方法を示すフローチャートである。上述のように、ＲＡＭ５１２に格納された遅延計算プログラムをＣＰＵ５１１により実行し、ＲＡＭ５１２をワークエリアして使用することで、図５の遅延計算方法が実行される。
【００３０】
図５の遅延計算方法は、図１のステップＳＴ２で算出されたチップ遅延情報１５を入力とし、このチップ遅延情報１５における入力信号遅延量を再計算（修正）することにより、実際に入力信号の遅延に近い遅延情報を算出する。このように従来の計算機利用設計手順で算出された従来のチップ遅延情報１５に修正を加えるという方式を採用することで、従来のシステムに変更を加えることなく、精度の高い遅延情報を提供することが可能になる。
【００３１】
なおこの際、チップ遅延情報１５は例えば業界標準であるＳＤＦ（Standard  Delay  Format）で得られるものとし、それに対して本発明による修正を施した結果もＳＤＦ（Standard  Delay  Format）で得られるものとする。このような構成とすることで、遅延時間計算後の論理シミュレーションについても従来から何ら変更を加えることなく実行することが可能となる。
【００３２】
図５のステップＳＴ１において、論理回路情報１２、回路動作条件１４、及び遅延対応情報３０に基づいて、従来の配線遅延計算（図１のステップＳＴ２）に対応する入力信号の遅延波形を算出する。論理回路情報１２及び回路動作条件１４は、図１に示す論理回路情報１２及び回路動作条件１４と同じものである。
【００３３】
遅延対応情報３０は、図２に示されるような入力回路、即ちチップ外部からの信号入力に用いられる回路のセルのタイプ毎に、遅延に関する情報をライブラリとして格納したものである。具体的には、代表的な入力信号に対する遅延変化量を予め求めておき、セルの種類及び入力信号の種類に対応するテーブル形式で遅延変化量を記憶しておけばよい。遅延計算の精度を上げるためには、成るべく多くの入力信号に対する遅延変化量を求めておくことが必要である。しかしながら全ての可能な入力信号を網羅することは不可能であるので、遅延対応情報３０に格納されていない入力信号に対しては、遅延対応情報３０の情報に基づいて近似計算を行うことになる。
【００３４】
このようにステップＳＴ１で、従来の配線遅延計算に用いた回路動作条件１４を用いて入力信号の遅延波形を算出することで、従来の遅延計算によるチップ遅延情報１５に対応した入力信号波形が得られる。ここで、回路動作条件１４に指定されている入力信号波形は、例えば図３（ａ）のＳ１であり、実際の入力信号波形とは異なるものとなっている。
【００３５】
図５のステップＳＴ２において、論理回路情報１２、実際の入力信号３１、及び遅延対応情報３０に基づいて、実際の入力信号の遅延波形を算出する。実際の入力信号３１は、例えば図３（ｂ）に示されるような実際の入力信号Ｓ３を、時間毎の電圧値として記述したデータでよい。このようにしてステップＳＴ２では、実際の入力信号の波形のデータに基づいて遅延波形を算出することで、高い精度で実際の遅延信号を表現した入力信号の遅延波形が得られる。
【００３６】
次にステップＳＴ３で、ステップＳＴ１で求めた従来の入力信号の遅延波形とステップＳＴ２で求めた実際の入力信号の遅延波形とを比較する。従来の入力信号の遅延波形と実際の入力信号の遅延波形との比較に基づいて、ステップＳＴ４で、実際の遅延波形が従来の計算に対応する遅延波形と比較して、どの程度遅延量がずれているかを示す遅延係数を算出する。この遅延係数は、検証対象となる論理回路のチップの各入力端子毎に算出される。
【００３７】
遅延係数は例えば、従来の入力信号の遅延波形が示す遅延量に対して、実際の入力信号の遅延波形が示す遅延量が何倍に相当するかを示す係数でよい。即ち従来の入力信号の遅延波形が示す遅延量が１ナノ秒であり、実際の入力信号の遅延波形が示す遅延量が１．２ナノ秒であれば、遅延係数値は１．２となる。
【００３８】
次にステップＳＴ５で、チップ遅延情報１５に対して入力信号の遅延を再計算する。これは、チップ遅延情報１５に含まれる各入力端子の入力信号の遅延量を、ステップＳＴ４で求めた遅延係数に基づいて修正することにより行われる。例えば上記のように、従来の入力信号の遅延波形が示す遅延量に対して実際の入力信号の遅延波形が示す遅延量が何倍に相当するかを示すものとして遅延係数が与えられている場合、その係数をチップ遅延情報１５に含まれる入力信号の遅延量に掛け算することで、実際の入力信号波形に対応した高精度の遅延量を求めることができる。即ち例えば遅延係数値が１．２でありチップ遅延情報１５に含まれるある入力端子の遅延量が２ナノ秒である場合には、修正後（再計算後）の遅延量は２．４ナノ秒となる。
【００３９】
このようにして再計算されたチップ遅延情報を実入力信号チップ遅延情報１６として出力する。この際、実入力信号チップ遅延情報１６はチップ遅延情報１５と同一の形式で出力される。即ち例えばチップ遅延情報１５がＳＤＦであれば、実入力信号チップ遅延情報１６もＳＤＦとして出力する。このような構成とすることで、遅延時間計算後の論理シミュレーションについても、何ら変更を加えることのない従来どおりの形で実行することが可能となる。
【００４０】
以上説明したように本発明の実施例においては、従来の遅延計算によるチップ遅延情報を入力とし、このチップ遅延情報における入力信号遅延量を再計算（修正）することにより、より実際に入力信号の遅延に近い遅延情報を算出する。このように従来の計算機利用設計手順で算出された従来のチップ遅延情報に修正を加えるという方式を採用することで、従来のシステムに変更を加えることなく、精度の高い遅延情報を提供することが可能になる。またこの際、従来のチップ遅延情報と同一の形式で修正後のチップ遅延情報を提供することで、遅延時間計算後の論理シミュレーションについても、何ら変更を加えることのない従来どおりの形で実行することが可能となる。
【００４１】
以上、本発明を実施例に基づいて説明したが、本発明は上記実施例に限定されるものではなく、特許請求の範囲に記載の範囲内で様々な変形が可能である。
【図面の簡単な説明】
【００４２】
【図１】論理シミュレーションに先立つ従来の遅延情報計算処理の流れを示すフローチャートである。
【図２】チップ外部からの入力信号に関する遅延を説明するための図である。
【図３】入力信号の波形に応じた遅延量の変動を説明するための図である。
【図４】本発明による遅延計算方法を実行する装置の構成を示す図である。
【図５】本発明による遅延計算方法を示すフローチャートである。
【符号の説明】
【００４３】
５１０  コンピュータ
５１１  ＣＰＵ
５１２  ＲＡＭ
５１３  ＲＯＭ
５１４  二次記憶装置
５１５  可換媒体記憶装置
５１６  インターフェース
５２０  ディスプレイ装置
５２３  通信装置
【図１】
2006277134.tif 000003
【図２】
2006277134.tif 000004
【図３】
2006277134.tif 000005
【図４】
2006277134.tif 000006
【図５】
2006277134.tif 000007