(57)【要約】【課題】セルが駆動する容量の大きさに応じて、そのセルへの入力波形及び出力波形に歪みが発生する場合であっても、そのセルでの遅延計算を精度良く計算できるように、セル特性キャラクタライズ方法を提案する。【解決手段】セルが駆動する駆動負荷の大きさに応じてミラー効果が生じ、このミラー効果に起因してセルの入力波形及び出力波形に歪が発生する場合があることを考慮して、予め、ミラー効果により波形歪を生じるセル及びこれに接続された駆動負荷と実効的に等しい１つの実効入力端子容量を算出する（ステップ１１０３）。その後、その得られた実効入力端子容量を、入力スロープ波形及び駆動負荷の関数としてキャラクタライズして、テーブルデータ１１に表しておく。【選択図】  図１
2005332378.tif 000002
【特許請求の範囲】
【請求項１】
所定の駆動負荷が接続されたセルの入力波形がミラー効果に起因して変歪する場合の前記セルの特性をキャラクタライズするセル特性キャラクタライズ方法であって、
前記入力波形が前記駆動負荷を持つキャラクタライズ対象セルに入力される際に、前記入力波形が前記ミラー効果に起因して所定の遅延時間だけ前記入力波形よりも遅れた変歪波形となる場合の前記セルの実効入力端子容量を算出する実効入力端子容量算出ステップと、
前記実効入力端子容量算出ステップで算出した実効入力端子容量を前記入力波形と前記駆動負荷の値との関数として保持する保持ステップとを有する
ことを特徴とするセル特性キャラクタライズ方法。
【請求項２】
入力スロープ波形を発生させる入力スロープ波形発生ステップと、
入力バンプ波形を発生させる入力バンプ波形発生ステップと、
前記入力スロープ波形に前記入力バンプ波形が重畳した入力波形をキャラクタライズ対象セルに入力し、この入力した際の前記キャラクタライズ対象セルの出力波形を測定する回路シミュレーションステップと、
前記測定されたキャラクタライズ対象セルの出力波形を、出力スロープ波形と、出力バンプ波形とに分離するスロープ波形及びバンプ波形分離ステップと、
前記出力スロープ波形及び出力バンプ波形を前記入力スロープ波形及び入力バンプ波形の関数として保持する保持ステップとを有する
ことを特徴とするセル特性キャラクタライズ方法。
【請求項３】
前記請求項２に記載のセル特性キャラクタライズ方法において、
前記入力バンプ波形及び出力バンプ波形は、各々、
スロープ波形の波形遷移時間、バンプ波形のバンプ波形高さ、バンプ波形幅、バンプ面積、バンプ波形がピークに達するまでの時間、及びバンプ波形がスロープ波形に重畳するタイミングにより定義される
ことを特徴とするセル特性キャラクタライズ方法。
【請求項４】
所定の駆動負荷が接続されたキャラクタライズ対象セルの入力側に駆動能力の低いセルを接続し、この駆動能力の低いセルに入力波形を入力して、この入力された際の前記キャラクタライズ対象セルの入力波形及び出力波形に波形歪みが発生したか否かを検出する波形歪検出ステップと、
前記キャラクタライズ対象セルの入力波形及び出力波形についての波形歪の有無を、前記キャラクタライズ対象セルの入力波形と前記駆動負荷の値との関数又はテーブルとして保持する保持ステップとを有する
ことを特徴とするセル特性キャラクタライズ方法。
【請求項５】
前記請求項２のセル特性キャラクタライズ方法を使用して、複数のセルが複数の配線で接続されて構成される半導体集積回路の遅延時間を波形歪を考慮して計算する半導体集積回路の遅延時間計算方法であって、
前記複数のセルのうち１つを遅延時間計算対象セルとして、この対象セルについて、入力波形と駆動負荷の値とを抽出する駆動負荷及び入力波形抽出ステップと、
前記請求項２のセル特性キャラクタライズ方法での関数を参照して、前記抽出された入力波形及び駆動負荷の値では入力波形又は出力波形に歪が発生するパターンか否かを検出する歪発生パターン検出ステップと、
前記歪発生パターン検出ステップで歪が発生するパターンであることが検出されないときには、前記遅延時間計算対象セルについてゲートレベルの遅延計算処理を実行するゲートレベル遅延計算ステップと、
前記歪発生パターン検出ステップで歪が発生するパターンであることが検出されたときには、前記遅延時間計算対象セルについてトランジスタレベルの遅延計算処理を実行するトランジスタレベル遅延計算ステップとを有する
ことを特徴とする半導体集積回路の遅延時間計算方法。
【請求項６】
前記請求項５の半導体集積回路の遅延時間計算方法において、
前記トランジスタレベル遅延計算ステップでの遅延計算の終了後に、前記遅延時間計算対象セルの入力波形又は出力波形に波形歪が発生しているか否かを検出し、波形歪が発生しているときには、その波形歪の発生がなくなるまで、前記トランジスタレベル遅延計算ステップでのトランジスタレベルの遅延計算を繰り返させる波形歪検出ステップを有する
ことを特徴とする半導体集積回路の遅延時間計算方法。
【請求項７】
複数のインスタンスが複数のネットで接続されて構成される半導体集積回路の遅延時間を波形歪を考慮して計算する半導体集積回路の遅延時間計算方法であって、
前記全てのインスタンスの遅延時間及び前記全てのネットの配線遅延時間、並びに前記全てのインスタンスの入力端子及び出力端子における信号波形を計算する第１の遅延計算ステップと、
前記複数のインスタンスの１つである遅延時間計算対象インスタンスについて、ミラー効果に起因する入力波形の変歪の有無に応じた遅延時間計算対象インスタンスの変動入力端子容量値が入力され、前記変動入力端子容量値を前記遅延時間計算対象インスタンスの入出力間のカップリング容量として表し、前記遅延時間計算対象インスタンスの出力端子につながるネットをアグレッサーとし且つ前記遅延時間計算対象セルの入力端子につながるネットをヴィクティムとして、クロストーク計算し、これにより、前記遅延時間計算対象インスタンスのミラー効果に起因して変歪した変歪入力信号波形を得るインスタンス入力信号波形計算ステップと、
前記インスタンス入力信号波形計算ステップにおいて計算された前記変歪入力信号波形が入力され、前記遅延時間計算対象インスタンスの入出力端子間の信号波形伝播を計算して、前記遅延時間計算対象インスタンスの変歪出力信号波形を得るインスタンス出力信号波形伝播ステップと、
前記得られた遅延時間計算対象インスタンスの変歪入力信号波形及び変歪出力信号波形に基づいて、前記遅延時間計算対象インスタンスの遅延時間を計算し、更に、前記変歪出力信号波形を伝播させて、後段のインスタンスの遅延時間及び後段のネットの配線遅延時間を計算する第２の遅延計算ステップとを有する
ことを特徴とする半導体集積回路の遅延時間計算方法。
【請求項８】
複数のインスタンスが複数のネットで接続されて構成される半導体集積回路の遅延時間を波形歪を考慮して計算する半導体集積回路の遅延時間計算方法であって、
前記全てのインスタンスの遅延時間及び前記全てのネットの配線遅延時間、並びに前記全てのインスタンスの入力端子及び出力端子における信号波形を計算する第１の遅延計算ステップと、
前記複数のインスタンスの１つである遅延時間計算対象インスタンスについて、ミラー効果に起因する入力波形の変歪の有無に応じた遅延時間計算対象インスタンスの変動入力端子容量値が入力され、前記変動入力端子容量値を前記遅延時間計算対象インスタンスの入出力間のカップリング容量として表し、前記遅延時間計算対象インスタンスの出力端子につながるネットをアグレッサーとし且つ前記遅延時間計算対象セルの入力端子につながるネットをヴィクティムとして、クロストーク計算し、これにより、前記遅延時間計算対象インスタンスのミラー効果に起因して変歪した変歪入力信号波形を得るインスタンス入力信号波形計算ステップと、
前記遅延時間計算対象インスタンスについて、前記変動入力端子容量値が入力され、前記変動入力端子容量値を前記遅延時間計算対象インスタンスの入出力間のカップリング容量として表し、前記遅延時間計算対象インスタンスの入力端子につながるネットをアグレッサーとし且つ前記遅延時間計算対象セルの出力端子につながるネットをヴィクティムとして、クロストーク計算し、これにより、前記遅延時間計算対象インスタンスのミラー効果に起因して変歪した変歪出力信号波形を得るインスタンス出力信号波形計算ステップと、
前記得られた遅延時間計算対象インスタンスの変歪入力信号波形及び変歪出力信号波形に基づいて、前記遅延時間計算対象インスタンスの遅延時間を計算し、更に、前記変歪出力信号波形を伝播させて、後段のインスタンスの遅延時間及び後段のネットの配線遅延時間を計算する第２の遅延計算ステップとを有する
ことを特徴とする半導体集積回路の遅延時間計算方法。
【請求項９】
前記請求項２のセル特性キャラクタライズ方法を使用して、複数のインスタンスが複数のネットで接続されて構成される半導体集積回路の遅延時間を波形歪を考慮して計算する半導体集積回路の遅延時間計算方法であって、
前記複数のインスタンスのうち１つの遅延時間計算対象インスタンスへの入力波形が、入力バンプ波形の重畳した波形であるとき、この入力波形を、前記入力バンプ波形が重畳していない入力スロープ波形と、前記入力バンプ波形とに分離するスロープ波形及びバンプ波形分離ステップと、
前記請求項２のセル特性キャラクタライズ方法で保持された関数を参照して、前記入力スロープ波形及び前記入力バンプ波形に対応する前記遅延時間計算対象インスタンスの出力スロープ波形及び出力バンプ波形を求めて、前記遅延時間計算対象インスタンスの出力波形として前記出力スロープ波形にバンプ波形が重畳した出力波形を求めるライブラリ参照ステップと、
前記遅延時間計算対象インスタンスの出力側に接続される後段ネットにおいて外部要因でバンプ波形が発生するとき、このバンプ波形の情報が入力され、このバンプ波形を前記遅延時間計算対象インスタンスの出力波形に重畳して、前記後段ネットの出力波形を計算するネット波形計算ステップとを有する
ことを特徴とする半導体集積回路の遅延時間計算方法。
【請求項１０】
入力側に配線が接続されると共に出力側に駆動負荷が接続されるセルの入力信号波形がミラー効果に起因して変歪する場合に、前記請求項１のセル特性キャラクタライズ方法を使用して、前記変歪した入力信号波形を計算するセルの入力波形計算方法であって、
前記波形計算対象セルの前記変歪前の入力波形と前記駆動負荷の値とが入力され、前記請求項１のセル特性キャラクタライズ方法で得られた関数を参照して、前記波形計算対象セルの前記変歪前の入力波形と前記駆動負荷の値とに対応する実効入力端子容量を計算する入力端子容量計算ステップと、
前記波形計算対象セルの入力側に接続された配線の出力信号波形が入力され、前記入力された配線の出力信号波形と、前記計算された実効入力端子容量に前記波形計算対象セルの入力側に接続された配線の容量を加えた負荷容量とに基づいて、前記波形計算対象セルの前記変歪後の入力波形を計算する波形計算ステップとを有する
ことを特徴とする半導体集積回路の遅延時間計算方法。
【請求項１１】
複数のインスタンスが複数のネットで接続されて構成される半導体集積回路の遅延時間を波形歪を考慮して計算する半導体集積回路の遅延時間計算方法であって、
前記全てのインスタンスの遅延時間及び前記全てのネットの配線遅延時間、前記全てのインスタンスの入力端子及び出力端子における信号波形、並びに前記全てのインスタンスの実効入力端子容量を計算すると共に、入力信号波形及び実効入力端子容量を含むミラー効果発生条件が入力され、前記計算された各インスタンス別の入力信号波形及び前記実効入力端子容量を前記ミラー効果発生条件と照合して、入力信号にミラー効果が発生するインスタンスをリストアップし、ミラー効果発生インスタンスリストとして出力する遅延計算ステップと、
前記遅延計算ステップで計算された遅延時間をネットリストに割り当てて、静的なタイミング解析を行い、各パスのタイミングがタイミング設計仕様を満たすか否かを判定し、前記タイミング設計仕様を満たしていないときには、その満たしていないパスのタイミングと前記タイミング設計仕様との差分をスラック情報として記憶する静的タイミング解析ステップと、
前記静的タイミング解析ステップでタイミング設計仕様を満たさないと判定されたパスに含まれるインスタンスを前記ミラー効果発生インスタンスリストと照合し、前記パスに含まれるインスタンスが前記ミラー効果発生インスタンスリスト中に含まれるとき、このインスタンスのミラー効果に起因する遅延変動量を計算し、この遅延変動量をパス遅延変動レポートとして出力するミラー効果発生インスタンス抽出ステップと、
前記タイミング設計仕様を満たさないと判定されたパスの前記スラック情報を前記パス遅延変動レポートとを照合し、ミラー効果による遅延変動量では前記タイミング設計仕様を満たすときには、前記パスはタイミング設計仕様を満たしていると再判定するタイミング再判定ステップとを有する
ことを特徴とする半導体集積回路の遅延時間計算方法。
【請求項１２】
複数のインスタンスが複数のネットで接続されて構成される半導体集積回路の遅延時間を波形歪を考慮して計算する半導体集積回路の遅延時間計算方法であって、
ネットリスト、及び前記複数のインスタンスの遅延時間及び前記複数のネットの配線遅延時間が入力され、前記遅延時間及び配線遅延時間を前記ネットリストに割り当てて、静的なタイミング解析を行う静的タイミング解析ステップと、
前記静的タイミング解析ステップでのタイミング解析の結果がタイミング設計仕様を満たしているか否かを判定するタイミングＭＥＴ判定ステップと、
前記タイミングＭＥＴ判定ステップでタイミング設計仕様を満たしていないと判定されたとき、レイアウト情報が入力されて、このレイアウト情報に基いて、タイミング改善のためにインスタンスのサイズの変更又は再配線を含む回路修正を行う回路修正ステップと、
前記回路修正ステップで回路修正が行われた後の全インスタンスの遅延時間及び全ネットの配線遅延時間を計算し、その計算後に前記静的タイミング解析ステップに戻る遅延計算ステップと、
前記タイミングＭＥＴ判定ステップでタイミング設計仕様を満たしていると判断されたとき、ミラー効果発生条件が入力され、このミラー効果発生条件に基づいて、ミラー効果が発生するインスタンスであって且つこのミラー効果の発生に起因してタイミングが前記タイミング設計仕様を満たさなくなるパスに含まれるインスタンスを抽出するミラー効果発生インスタンス抽出ステップと、
前記ミラー効果発生インスタンス抽出ステップで抽出されたミラー効果が発生インスタンスを修正するか、又は前記ミラー効果を起こさせる要因となっているインスタンスを修正するかの回路修正方法を決定し、前記回路修正ステップに戻る回路修正方法決定ステップとを有する
ことを特徴とする半導体集積回路の遅延時間計算方法。
【請求項１３】
前記請求項１２に記載の半導体集積回路の遅延時間計算方法において、
前記回路修正方法決定ステップは、
ミラー効果が発生しているインスタンス自体のセルサイズをミラー効果が発生しないセルサイズに変更するような回路修正方法を提示するミラー効果発生インスタンス修正方法提示ステップと、
前記ミラー効果を引き起こす要因となっている信号波形を生成するインスタンスのセルサイズを、前記ミラー効果を引き起こさない信号波形となるセルサイズに変更するような回路修正方法を提示するミラー効果要因インスタンス修正方法提示ステップと、
前記２つの修正方法提示ステップで提示された２つの回路修正方法同士を比較し、面積ダメージが少ない回路方法を選択する最適修正方法選定ステップとを有する
ことを特徴とする半導体集積回路の遅延時間計算方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、波形歪を考慮して回路設計を行うことを目的とした、半導体集積回路における波形変歪を考慮したセル特性キャラクタライズ方法及びその方法を使用した半導体集積回路の遅延時間計算方法に関するものである。
【背景技術】
【０００２】
ゲートレベル遅延計算の遅延計算用のライブラリ作成におけるセル特性キャラクタライズ方法としては、キャラクタライズ対象セルに対し、入力トランジション値と駆動負荷とを、値を変化させて与え、出力端子における波形の傾きである出力トランジション値と、セル遅延時間とを測定し、前記出力トランジション値とセル遅延時間の値とを、それぞれセルへの入力トランジション値と駆動負荷との二次元テーブルとして表すことによりキャラクタライズし、ライブラリ化する方法が一般的である。図２４に、従来のセル遅延時間を算出するためのライブラリの例を示す。図２４において、１００１で示すインデックスＴｒａｎ１〜Ｔｒａｎ５がセルへ入力される波形の入力トランジション値、１００２で示すインデックスＬｏａｄ１〜Ｌｏａｄ５がセルの出力端子に接続された駆動負荷である。Ｄ１１からＤ５５は、各入力トランジション及び駆動負荷が与えられた時のセルの遅延時間である。
【０００３】
前記図２４に示した前記入力トランジション値及び駆動負荷の二次元で表現された遅延時間テーブルを参照して、各セルの実際の入力トランジション値と、各ゲートが駆動する実際の駆動負荷とに対応する各セルの遅延時間を求めるのは、従来の一般的手法である。この場合、各ゲートへの入力トランジション値は、トランジション測定の閾値を基準にして、電圧が閾値に達する時刻を用いて、遅延計算ツールによって算出される。
【０００４】
この二次元の遅延時間テーブルを利用した遅延計算方法の例として、例えば非特許文献１では、先ず、セルが駆動する容量を実効容量として求めておき、その後、入力トランジション値と駆動負荷との二次元の遅延時間テーブルで生成されたライブラリを参照して、セルへの入力トランジションの値と前記求めた実効容量（駆動負荷）の値とに対応する遅延時間を求めることにより、セルの遅延時間を計算している。
【０００５】
また、前記とは別の遅延計算方法として、セルへの入力波形に歪が生じている場合の遅延計算方法に、例えば、特許文献１に示されているように、セルへの非線形な入力信号波形を線形な入力信号波形の集合として線形近似した結果を用いて遅延計算を行う方法が提案されている。
【０００６】
更に、前記従来の遅延計算方法を利用したレイアウト後の回路修正においては、遅延計算結果を元に、セットアップ検証及びホールド検証を行い、信号が早く到着して誤動作の原因になるパスに対しては、バッファ挿入等を行って遅延時間の調整を行う処理を行い、信号が遅く到着して誤動作の原因になるパスに対しては、該当パスのセルの駆動能力を上げる等の処理を行う。
【特許文献１】特開２００１-６７３８７号公報
【非特許文献１】信学技報ＶＬＤ９８-１３７
【発明の開示】
【発明が解決しようとする課題】
【０００７】
しかしながら、実際の回路においては、セルの駆動能力の大きさと駆動容量の大きさとの関係により、各セルへの入出力波形に歪が発生する場合がある。これに対して、前記非特許文献１に記載されている遅延計算方法では、このような場合を考慮せず、入力波形に歪が発生しないことを前提としていたため、前記のような波形歪を生じる場合には計算結果に誤差を生じることになる。
【０００８】
特に、前記のような原因により、遅延測定の閾値付近において波形歪が発生すると、セル特性抽出結果が実際の結果と大きく異なり、遅延計算精度が劣化するという問題が生じる。
【０００９】
また、前記特許文献１に記載される遅延計算方法では、計算精度を上げるために、セル入力波形の歪を考慮しているが、セルが駆動する容量の大きさに依存して生じる波形の歪の影響については考慮していないため、このような原因により歪が発生するときには計算結果に誤差を生じることになる。
【００１０】
更に、これら従来の遅延計算方法を用いて、レイアウト後の回路修正を行う場合についても、実際はセルへの入出力の波形に歪が生じていることにより、実際の遅延時間の方が長い場合も発生し得る。このような場合に対して、例えばホールドエラー修正では、余計な回路修正作業が発生することになり、また、セットアップエラー修正においては、エラーを見逃す原因となり得る。
【００１１】
以上の欠点に鑑み、本発明の目的は、セルが駆動する駆動負荷容量の大きさ及びセルに入力される入力スロープ波形に起因して、遅延計算対象となる回路に対する入出力波形に歪が生じる場合において、前記歪の原因を考慮することにより、精度良く遅延計算を行うことにある。
【課題を解決するための手段】
【００１２】
前記の目的を達成するために、本発明では、入出力波形に歪を生じる場合の特定の回路条件を遅延計算対象回路への入力スロープ波形とこの遅延計算対象回路が駆動する駆動負荷とに対するパラメータとして抽出し、更に、この関係をライブラリ化して、実際の遅延計算時にこのライブラリを参照することにより、入力スロープ波形及び駆動負荷から正確な出力波形及び遅延値を算出する。また、レイアウト後の回路修正を行う場合にも、前記ライブラリを参照することにより波形歪の影響を考慮する。
【００１３】
すなわち、請求項１記載の発明のセル特性キャラクタライズ方法は、所定の駆動負荷が接続されたセルの入力波形がミラー効果に起因して変歪する場合の前記セルの特性をキャラクタライズするセル特性キャラクタライズ方法であって、前記入力波形が前記駆動負荷を持つキャラクタライズ対象セルに入力される際に、前記入力波形が前記ミラー効果に起因して所定の遅延時間だけ前記入力波形よりも遅れた変歪波形となる場合の前記セルの実効入力端子容量を算出する実効入力端子容量算出ステップと、前記実効入力端子容量算出ステップで算出した実効入力端子容量を前記入力波形と前記駆動負荷の値との関数として保持する保持ステップとを有することを特徴とする。
【００１４】
請求項２記載の発明のセル特性キャラクタライズ方法は、入力スロープ波形を発生させる入力スロープ波形発生ステップと、入力バンプ波形を発生させる入力バンプ波形発生ステップと、前記入力スロープ波形に前記入力バンプ波形が重畳した入力波形をキャラクタライズ対象セルに入力し、この入力した際の前記キャラクタライズ対象セルの出力波形を測定する回路シミュレーションステップと、前記測定されたキャラクタライズ対象セルの出力波形を、出力スロープ波形と、出力バンプ波形とに分離するスロープ波形及びバンプ波形分離ステップと、前記出力スロープ波形及び出力バンプ波形を前記入力スロープ波形及び入力バンプ波形の関数として保持する保持ステップとを有することを特徴とする。
【００１５】
請求項３記載の発明は、前記請求項２に記載のセル特性キャラクタライズ方法において、前記入力バンプ波形及び出力バンプ波形は、各々、スロープ波形の波形遷移時間、バンプ波形のバンプ波形高さ、バンプ波形幅、バンプ面積、バンプ波形がピークに達するまでの時間、及びバンプ波形がスロープ波形に重畳するタイミングにより定義されることを特徴とする。
【００１６】
請求項４記載の発明のセル特性キャラクタライズ方法は、所定の駆動負荷が接続されたキャラクタライズ対象セルの入力側に駆動能力の低いセルを接続し、この駆動能力の低いセルに入力波形を入力して、この入力された際の前記キャラクタライズ対象セルの入力波形及び出力波形に波形歪みが発生したか否かを検出する波形歪検出ステップと、前記キャラクタライズ対象セルの入力波形及び出力波形についての波形歪の有無を、前記キャラクタライズ対象セルの入力波形と前記駆動負荷の値との関数又はテーブルとして保持する保持ステップとを有することを特徴とする。
【００１７】
請求項５記載の発明の半導体集積回路の遅延時間計算方法は、前記請求項２に記載のセル特性キャラクタライズ方法を使用して、複数のセルが複数の配線で接続されて構成される半導体集積回路の遅延時間を波形歪を考慮して計算する半導体集積回路の遅延時間計算方法であって、前記複数のセルのうち１つを遅延時間計算対象セルとして、この対象セルについて、入力波形と駆動負荷の値とを抽出する駆動負荷及び入力波形抽出ステップと、前記請求項２に記載のセル特性キャラクタライズ方法での関数を参照して、前記抽出された入力波形及び駆動負荷の値では入力波形又は出力波形に歪が発生するパターンか否かを検出する歪発生パターン検出ステップと、前記歪発生パターン検出ステップで歪が発生するパターンであることが検出されないときには、前記遅延時間計算対象セルについてゲートレベルの遅延計算処理を実行するゲートレベル遅延計算ステップと、前記歪発生パターン検出ステップで歪が発生するパターンであることが検出されたときには、前記遅延時間計算対象セルについてトランジスタレベルの遅延計算処理を実行するトランジスタレベル遅延計算ステップとを有することを特徴とする。
【００１８】
請求項６記載の発明は、前記請求項５に記載の半導体集積回路の遅延時間計算方法において、前記トランジスタレベル遅延計算ステップでの遅延計算の終了後に、前記遅延時間計算対象セルの入力波形又は出力波形に波形歪が発生しているか否かを検出し、波形歪が発生しているときには、その波形歪の発生がなくなるまで、前記トランジスタレベル遅延計算ステップでのトランジスタレベルの遅延計算を繰り返させる波形歪検出ステップを有することを特徴とする。
【００１９】
請求項７記載の発明の半導体集積回路の遅延時間計算方法は、複数のインスタンスが複数のネットで接続されて構成される半導体集積回路の遅延時間を波形歪を考慮して計算する半導体集積回路の遅延時間計算方法であって、前記全てのインスタンスの遅延時間及び前記全てのネットの配線遅延時間、並びに前記全てのインスタンスの入力端子及び出力端子における信号波形を計算する第１の遅延計算ステップと、前記複数のインスタンスの１つである遅延時間計算対象インスタンスについて、ミラー効果に起因する入力波形の変歪の有無に応じた遅延時間計算対象インスタンスの変動入力端子容量値が入力され、前記変動入力端子容量値を前記遅延時間計算対象インスタンスの入出力間のカップリング容量として表し、前記遅延時間計算対象インスタンスの出力端子につながるネットをアグレッサーとし且つ前記遅延時間計算対象セルの入力端子につながるネットをヴィクティムとして、クロストーク計算し、これにより、前記遅延時間計算対象インスタンスのミラー効果に起因して変歪した変歪入力信号波形を得るインスタンス入力信号波形計算ステップと、前記インスタンス入力信号波形計算ステップにおいて計算された前記変歪入力信号波形が入力され、前記遅延時間計算対象インスタンスの入出力端子間の信号波形伝播を計算して、前記遅延時間計算対象インスタンスの変歪出力信号波形を得るインスタンス出力信号波形伝播ステップと、前記得られた遅延時間計算対象インスタンスの変歪入力信号波形及び変歪出力信号波形に基づいて、前記遅延時間計算対象インスタンスの遅延時間を計算し、更に、前記変歪出力信号波形を伝播させて、後段のインスタンスの遅延時間及び後段のネットの配線遅延時間を計算する第２の遅延計算ステップとを有することを特徴とする。
【００２０】
請求項８記載の発明の半導体集積回路の遅延時間計算方法は、複数のインスタンスが複数のネットで接続されて構成される半導体集積回路の遅延時間を波形歪を考慮して計算する半導体集積回路の遅延時間計算方法であって、前記全てのインスタンスの遅延時間及び前記全てのネットの配線遅延時間、並びに前記全てのインスタンスの入力端子及び出力端子における信号波形を計算する第１の遅延計算ステップと、前記複数のインスタンスの１つである遅延時間計算対象インスタンスについて、ミラー効果に起因する入力波形の変歪の有無に応じた遅延時間計算対象インスタンスの変動入力端子容量値が入力され、前記変動入力端子容量値を前記遅延時間計算対象インスタンスの入出力間のカップリング容量として表し、前記遅延時間計算対象インスタンスの出力端子につながるネットをアグレッサーとし且つ前記遅延時間計算対象セルの入力端子につながるネットをヴィクティムとして、クロストーク計算し、これにより、前記遅延時間計算対象インスタンスのミラー効果に起因して変歪した変歪入力信号波形を得るインスタンス入力信号波形計算ステップと、前記遅延時間計算対象インスタンスについて、前記変動入力端子容量値が入力され、前記変動入力端子容量値を前記遅延時間計算対象インスタンスの入出力間のカップリング容量として表し、前記遅延時間計算対象インスタンスの入力端子につながるネットをアグレッサーとし且つ前記遅延時間計算対象セルの出力端子につながるネットをヴィクティムとして、クロストーク計算し、これにより、前記遅延時間計算対象インスタンスのミラー効果に起因して変歪した変歪出力信号波形を得るインスタンス出力信号波形計算ステップと、前記得られた遅延時間計算対象インスタンスの変歪入力信号波形及び変歪出力信号波形に基づいて、前記遅延時間計算対象インスタンスの遅延時間を計算し、更に、前記変歪出力信号波形を伝播させて、後段のインスタンスの遅延時間及び後段のネットの配線遅延時間を計算する第２の遅延計算ステップとを有することを特徴とする。
【００２１】
請求項９記載の発明の半導体集積回路の遅延時間計算方法は、前記請求項２に記載のセル特性キャラクタライズ方法を使用して、複数のインスタンスが複数のネットで接続されて構成される半導体集積回路の遅延時間を波形歪を考慮して計算する半導体集積回路の遅延時間計算方法であって、前記複数のインスタンスのうち１つの遅延時間計算対象インスタンスへの入力波形が、入力バンプ波形の重畳した波形であるとき、この入力波形を、前記入力バンプ波形が重畳していない入力スロープ波形と、前記入力バンプ波形とに分離するスロープ波形及びバンプ波形分離ステップと、前記請求項２に記載のセル特性キャラクタライズ方法で保持された関数を参照して、前記入力スロープ波形及び前記入力バンプ波形に対応する前記遅延時間計算対象インスタンスの出力スロープ波形及び出力バンプ波形を求めて、前記遅延時間計算対象インスタンスの出力波形として前記出力スロープ波形にバンプ波形が重畳した出力波形を求めるライブラリ参照ステップと、前記遅延時間計算対象インスタンスの出力側に接続される後段ネットにおいて外部要因でバンプ波形が発生するとき、このバンプ波形の情報が入力され、このバンプ波形を前記遅延時間計算対象インスタンスの出力波形に重畳して、前記後段ネットの出力波形を計算するネット波形計算ステップとを有することを特徴とする。
【００２２】
請求項１０記載の発明の半導体集積回路の遅延時間計算方法は、入力側に配線が接続されると共に出力側に駆動負荷が接続されるセルの入力信号波形がミラー効果に起因して変歪する場合に、前記請求項１記載のセル特性キャラクタライズ方法を使用して、前記変歪した入力信号波形を計算するセルの入力波形計算方法であって、前記波形計算対象セルの前記変歪前の入力波形と前記駆動負荷の値とが入力され、前記請求項１記載のセル特性キャラクタライズ方法で得られた関数を参照して、前記波形計算対象セルの前記変歪前の入力波形と前記駆動負荷の値とに対応する実効入力端子容量を計算する入力端子容量計算ステップと、前記波形計算対象セルの入力側に接続された配線の出力信号波形が入力され、前記入力された配線の出力信号波形と、前記計算された実効入力端子容量に前記波形計算対象セルの入力側に接続された配線の容量を加えた負荷容量とに基づいて、前記波形計算対象セルの前記変歪後の入力波形を計算する波形計算ステップとを有することを特徴とする。
【００２３】
請求項１１記載の発明の半導体集積回路の遅延時間計算方法は、複数のインスタンスが複数のネットで接続されて構成される半導体集積回路の遅延時間を波形歪を考慮して計算する半導体集積回路の遅延時間計算方法であって、前記全てのインスタンスの遅延時間及び前記全てのネットの配線遅延時間、前記全てのインスタンスの入力端子及び出力端子における信号波形、並びに前記全てのインスタンスの実効入力端子容量を計算すると共に、入力信号波形及び実効入力端子容量を含むミラー効果発生条件が入力され、前記計算された各インスタンス別の入力信号波形及び前記実効入力端子容量を前記ミラー効果発生条件と照合して、入力信号にミラー効果が発生するインスタンスをリストアップし、ミラー効果発生インスタンスリストとして出力する遅延計算ステップと、前記遅延計算ステップで計算された遅延時間をネットリストに割り当てて、静的なタイミング解析を行い、各パスのタイミングがタイミング設計仕様を満たすか否かを判定し、前記タイミング設計仕様を満たしていないときには、その満たしていないパスのタイミングと前記タイミング設計仕様との差分をスラック情報として記憶する静的タイミング解析ステップと、前記静的タイミング解析ステップでタイミング設計仕様を満たさないと判定されたパスに含まれるインスタンスを前記ミラー効果発生インスタンスリストと照合し、前記パスに含まれるインスタンスが前記ミラー効果発生インスタンスリスト中に含まれるとき、このインスタンスのミラー効果に起因する遅延変動量を計算し、この遅延変動量をパス遅延変動レポートとして出力するミラー効果発生インスタンス抽出ステップと、前記タイミング設計仕様を満たさないと判定されたパスの前記スラック情報を前記パス遅延変動レポートとを照合し、ミラー効果による遅延変動量では前記タイミング設計仕様を満たすときには、前記パスはタイミング設計仕様を満たしていると再判定するタイミング再判定ステップとを有することを特徴とする。
【００２４】
請求項１２記載の発明の半導体集積回路の遅延時間計算方法は、複数のインスタンスが複数のネットで接続されて構成される半導体集積回路の遅延時間を波形歪を考慮して計算する半導体集積回路の遅延時間計算方法であって、ネットリスト、及び前記複数のインスタンスの遅延時間及び前記複数のネットの配線遅延時間が入力され、前記遅延時間及び配線遅延時間を前記ネットリストに割り当てて、静的なタイミング解析を行う静的タイミング解析ステップと、前記静的タイミング解析ステップでのタイミング解析の結果がタイミング設計仕様を満たしているか否かを判定するタイミングＭＥＴ判定ステップと、前記タイミングＭＥＴ判定ステップでタイミング設計仕様を満たしていないと判定されたとき、レイアウト情報が入力されて、このレイアウト情報に基いて、タイミング改善のためにインスタンスのサイズの変更又は再配線を含む回路修正を行う回路修正ステップと、前記回路修正ステップで回路修正が行われた後の全インスタンスの遅延時間及び全ネットの配線遅延時間を計算し、その計算後に前記静的タイミング解析ステップに戻る遅延計算ステップと、前記タイミングＭＥＴ判定ステップでタイミング設計仕様を満たしていると判断されたとき、ミラー効果発生条件が入力され、このミラー効果発生条件に基づいて、ミラー効果が発生するインスタンスであって且つこのミラー効果の発生に起因してタイミングが前記タイミング設計仕様を満たさなくなるパスに含まれるインスタンスを抽出するミラー効果発生インスタンス抽出ステップと、前記ミラー効果発生インスタンス抽出ステップで抽出されたミラー効果が発生インスタンスを修正するか、又は前記ミラー効果を起こさせる要因となっているインスタンスを修正するかの回路修正方法を決定し、前記回路修正ステップに戻る回路修正方法決定ステップとを有することを特徴とする。
【００２５】
請求項１３記載の発明は、前記請求項１２に記載の半導体集積回路の遅延時間計算方法において、前記回路修正方法決定ステップは、ミラー効果が発生しているインスタンス自体のセルサイズをミラー効果が発生しないセルサイズに変更するような回路修正方法を提示するミラー効果発生インスタンス修正方法提示ステップと、前記ミラー効果を引き起こす要因となっている信号波形を生成するインスタンスのセルサイズを、前記ミラー効果を引き起こさない信号波形となるセルサイズに変更するような回路修正方法を提示するミラー効果要因インスタンス修正方法提示ステップと、前記２つの修正方法提示ステップで提示された２つの回路修正方法同士を比較し、面積ダメージが少ない回路方法を選択する最適修正方法選定ステップとを有することを特徴とする。
【００２６】
以上により、請求項１記載の発明では、セル及び駆動負荷と置き換え可能な、実効的に等価な負荷であり、ミラー効果による波形変歪を生ずる場合の負荷を表した実効入力端子容量をセル特性に応じて算出し、この実効入力端子容量を入力波形及び駆動負荷に対応付けてキャラクタライズする。
【００２７】
また、請求項２及び請求項３記載の発明では、入力スロープ波形と入力バンプ波形とを生成し、この入力スロープ波形に入力バンプ波形を重畳させたバンプ重畳入力スロープ波形から得られる出力波形を、出力スロープ波形と出力バンプ波形とに分離し、入出力バンプ波形を、波形遷移時間、バンプ波形高さ、バンプ波形幅、バンプ面積、バンプがピークに達するまでの時間及び波形にバンプが重畳するタイミングにより表されるパラメータにより定義し、この入出力バンプ波形が重畳された入出力スロープ波形を、バンプ波形の重畳していない入力スロープ波形とバンプが発生する場合の駆動負荷とに対して関係づけることにより、セル特性をキャラクタライズする。
【００２８】
更に、請求項４記載の発明では、キャラクタライズ対象セルの入力側に、駆動能力の低いセルを接続することにより、セル特性キャラクタライズ対象セルの入力波形歪を敏感に感知し、波形の歪が発生する条件を、歪の生じていない入力スロープ波形の入力トランジション値及び歪が生ずる場合の駆動負荷容量値による二次元テーブルとして表し、セル特性をキャラクタライズし、その結果をライブラリ化する。
【００２９】
請求項５及び請求項６記載の発明では、セルが駆動する駆動負荷容量と入力トランジション値を検出し、これらを前記得られたライブラリに対して参照することにより、駆動負荷容量値と入力トランジション値とから波形に歪が発生するパターンを抽出するステップを有し、歪発生のパターンを抽出しない場合にはゲートレベル遅延計算を行うことにより処理時間を短縮し、抽出した場合にはトランジスタレベル遅延計算に切り替え、トランジスタレベル遅延計算において出力波形に歪が発生していないかどうかを検出する。また、出力波形に歪が発生していないことを確認した後、再び他の遅延計算対象に移る。
【００３０】
加えて、請求項７記載の発明は、遅延ライブラリとＲＣ情報とを入力として、デザイン中の全インスタンス及び配線の遅延時間及び入出力端子における信号波形を計算し、ミラー効果による変動容量値を入力として、前記変動容量値をセル入出力間のカップリング容量として表現することによりミラー効果を考慮する。更に、ミラー効果による入力波形の変動に加えて、インスタンス出力端子に継るネットをアグレッサー、インスタンス入力端子に継るネットをヴィクティムとしてクロストーク計算することにより、インスタンス入出力間の信号波形伝播を計算し、ミラー効果を考慮したインスタンス出力信号波形を計算する。そして、前記により求められたインスタンス入力信号波形とインスタンス出力信号波形とからセルの遅延時間を計算し、更に、それぞれの信号波形を伝播させて、配線遅延及びその他セルの遅延時間を計算する。これにより、ミラー効果による信号波形の変動や遅延時間変動を計算することができる。
【００３１】
また、請求項８記載の発明は、インスタンスの出力波形を求める際においても、入力波形を求めたのと同様に、ミラー効果による変動容量値と入出力端子の波形とから、ミラー効果を考慮したインスタンスの出力波形を求め、更に、インスタンス入力端子に継るネットをアグレッサー、インスタンス出力端子に継るネットをヴィクティムとしてクロストーク計算することで、ミラー効果及びクロストークを考慮したインスタンス出力信号波形の変動を計算する。
【００３２】
更に、請求項９記載の発明は、ネット波形をバンプ波形とネット入力スロープ波形とに分離し、前記得られたライブラリを参照して、バンプ波形が重畳したネット出力波形を求め、クロストーク、同時遷移ノイズ、インダクタンスによるオーバーシュートやアンダーシュート等の外部要因によりバンプ波形が発生する場合は更にこれらもネット波形に重畳し、ネット出力波形を求める。
【００３３】
加えて、請求項１０記載の発明は、ミラー効果に起因する波形変歪の影響が含まれたセルの実効入力端子容量を計算し、このセルの実効入力端子容量に基づいて、セルに入力される変歪後の入力波形を計算する。
【００３４】
また、請求項１１記載の発明は、全インスタンスの遅延計算及び配線遅延計算と共に、入力波形と駆動する駆動負荷容量とに基づきミラー効果が発生するインスタンスのリストを作成し、静的タイミングを満たさないパスについて、前記リストのインスタンスの中からミラー効果が発生しているインスタンスを抽出する。ここで、これらの静的タイミングとミラー効果に起因する遅延とを考慮して、タイミングの再判定を行う。
【００３５】
更に、請求項１２記載の発明は、静的タイミング解析の結果、タイミング仕様を満たしていない場合は回路修正ステップに移行し、タイミング仕様を満たしている場合は、ミラー効果の発生の有無を検証し、ここで、ミラー効果が発生していないときは遅延計算終了とし、また、ミラー効果が発生することによりタイミング仕様を満たさなくなる場合は、回路修正の方法を決定し、回路修正ステップに移行する。回路修正ステップに移行後は、遅延計算を行い、再度静的タイミング解析を行う。
【００３６】
加えて、請求項１３記載の発明は、前記遅延時間計算方法における回路修正方法決定の際に、ミラー効果が発生するインスタンス自体を回路修正するか、又は、ミラー効果が発生に影響を及ぼすインスタンスを回路修正するかの何れかの方法を比較し、面積ダメージが少ない方法を選択する。
【発明の効果】
【００３７】
以上説明したように、請求項１記載の発明のセル特性キャラクタライズ方法によれば、ミラー効果によって変動する入力端子容量を考慮した実効的な入力端子容量を、入力トランジション値と駆動する駆動負荷との関数として求めたので、従来の遅延計算方法において、前記関数からセルの実効的な入力端子容量を求めれば、精度を落とすことなく遅延計算を実行することが可能である。
【００３８】
また、請求項２及び３記載の発明のセル特性キャラクタライズ方法によれば、セルへの入力波形及び出力波形を、歪を生じていない入力スロープ波形と歪部分とに分離し、歪を生じていない入力スロープ波形を表すパラメータと歪部分の波形を表すパラメータとにより遅延計算対象セルをキャラクタライズするので、セルへの入力波形及び出力波形に歪が発生する場合や歪が発生しない場合を含めて、遅延計算を実行することができる。
【００３９】
更に、請求項４記載の発明のセル特性キャラクタライズ方法によれば、セルへの入力波形及び出力波形に歪が発生する場合を、予め、前記セルの入力側に接続されるセルと、入力スロープ波形及び駆動負荷との関係として、ライブラリ登録しておくので、実際のレイアウトパターン又は寄生素子抽出結果における入力スロープ波形及び駆動負荷に基づいて、セルへの入力波形及び出力波形に歪が発生する場合を容易に検出することが可能である。
【００４０】
加えて、請求項５及び６記載の発明の半導体集積回路の遅延時間計算方法によれば、入力波形や出力波形の歪を考慮しなくてもよい場合には、処理時間の短いゲートレベル遅延計算方法を行い、歪を考慮した計算を必要とする場合には、必要最小限の箇所に対してのみトランジスタレベル遅延計算を行うので、処理時間が短く且つ精度を落とすことなく遅延計算を実行することが可能である。
【００４１】
更に加えて、請求項７及び８記載の発明の半導体集積回路の遅延時間計算方法によれば、インスタンスの入力端子容量の変動量をカップリング容量として表現し、バンプを発生させることにより、ミラー効果に起因する信号波形の変動を表現することができるので、ミラー効果で変動する信号波形及び遅延時間を考慮に入れた遅延計算やタイミング解析を実施することができ、ミラー効果が原因となるタイミングエラーを回避することができる。
【００４２】
また、請求項９記載の発明の半導体集積回路の遅延時間計算方法によれば、波形に歪が発生する場合に、歪波形を入力スロープ波形と歪成分とに分離するので、波形に歪が発生した場合であっても、歪を考慮した波形計算を行うことができ、精度良く遅延計算を行うことが可能である。
【００４３】
更に、請求項１０記載の発明の半導体集積回路の遅延時間計算方法によれば、セルの実効入力端子容量には、ミラー効果に起因する波形変歪の影響が含まれているので、従来の遅延計算のアルゴリズムを利用しながら、容易に精度を落とす事無く、遅延計算を実行することが可能である。
【００４４】
また、請求項１１及び１２記載の発明の半導体集積回路の遅延時間計算方法によれば、タイミング制約を満たしていないパスであっても、ミラー効果の影響により遅延増加が発生してそのタイミング制約を満たすことができるようなパスについては、回路修正を行わなくても良いと判断できるので、不要な回路修正ステップを回避することができ、工数削減、面積増加を抑制することが可能である。
【００４５】
更に、請求項１３記載の発明の半導体集積回路の遅延時間計算方法によれば、タイミング改善をする際に、ミラー効果の影響で遅延変動するインスタンスがあるか否かを判定した後、ミラー効果を回避するために最も面積ダメージの少ない回路修正方法を提示するので、タイミング制約は仕様を満たしていても、ミラー効果の影響で実際は動作しないという不具合を予め見極めることができるので、初期不良を未然に解決できる。
【発明を実施するための最良の形態】
【００４６】
以下、本発明の実施形態を図面に沿って説明する。
【００４７】
(第１の実施形態)
本発明の第１の実施形態について、図１、図２及び図３を用いて説明する。
【００４８】
図１は、本発明の第１の実施形態であり、セルの入力端子容量が変動した場合を考慮した変動入力端子容量キャラクタライズ方法のフロー図である。本実施形態は、半導体集積回路が多数の基本論理セルや機能マクロブロック（以下、機能マクロブロックを含めて単に「セル」という）間を配線で接続して構成される場合に、そのような各セルについて波形変歪を考慮した遅延計算を行う実施形態を示す。本第１の実施形態では、前記遅延計算対象回路としてのセルに、ミラー効果に起因する波形変歪が発生し、これにより遅延が生じる場合について、前記セルをキャラクタライズする方法を説明する。尚、本実施形態以降に示すフロー図において、データベースに付された符号は、同時に保存されるデータをも示すものとする。
【００４９】
図２（ａ）及び（ｂ）は、ミラー効果が起こって波形変歪が発生した場合に、その波形変歪の影響を等価入力端子容量の変動というモデルを用いることによって、遅延計算対象回路であるセルの特性を精度良くキャラクタライズすることを説明するための図である。ここで、同図（ａ）は変動入力端子容量キャラクタライズ回路であり、波形発生回路１２０１で発生させた波形を抵抗とコンデンサー（以下、ＲとＣという）とからなる平滑化回路１２０２を介してキャラクタライズ対象セル（遅延計算対象回路）１２０４に入力し、負荷部１２０３を駆動する構成を示す。また、図２（ｂ）は、遅延計算に際して、ミラー効果が発生する場合の図２（ａ）におけるキャラクタライズ対象セル１２０４と負荷部１２０３とを、そのときに生じる遅延と同じ遅延を生じさせる実効入力端子容量１２０５に置き換えられることを示す。
【００５０】
ここで、実効入力端子容量１２０５の算出については、先ず、等価入力端子容量を算出し、その後に、この等価入力端子容量を用いて実効入力端子容量１２０５を算出する。具体的に説明すると、例えば、図２（ａ）の負荷部１２０３がミラー効果を発生させる負荷（第１の駆動負荷）である場合に、図３に示す入力波形１２１０が入力波形１２１１に変歪してミラー効果が起こったとすると、この２つの入力波形１２１０、１２１１間には、ドライブポイント（駆動電圧レベル）１２１３において、ある遅延時間が生じている。この生じた遅延時間に着目して、キャラクタライズ対象セル１２０４の入力端子に付加される等価入力端子容量として、キャラクタライズ対象セル１２０４への入力波形が、図３に示すように、負荷部１２０３がミラー効果を発生させない負荷（第２の駆動負荷）である場合の入力波形１２１２、即ち、ミラー効果が起こった入力波形１２１１と同様に入力波形１２１０から前記ドライブポイント１２１３での遅延時間と同一の遅延時間が生じている入力波形となるように、等価入力端子容量を算出する。その後、この等価入力端子容量とキャラクタライズ対象セル１２０４の容量とミラー効果を発生させない負荷部１２０３との三者を総合した実効入力端子容量１２０５を計算する。
【００５１】
ここで、上述の図２及び図３を用いて、図１のフロー図について説明する。
【００５２】
図１において、シミュレーションスクリプト作成ステップ１１０１では、図２（ａ）のキャラクタライズ対象セル１２０４の寄生素子情報を含む回路接続情報であるセルネットリスト１１１０、図２（ａ）に示す変動入力端子容量キャラクタライズ回路の接続情報である測定回路ネットリスト１１１１、測定対象であるキャラクタライズ対象セルの種類・ピン情報・測定項目などが記載されている回路シミュレーションパターン情報であるセル情報１１１２、負荷及び入力スルーレートのインデックスである測定条件データ１１１３、及び回路シミュレーションで用いられるトランジスタモデル情報であるトランジスタモデル１１１４の情報に基づき、シミュレーションスクリプトを作成する。
【００５３】
回路シミュレーションステップ１１０２では、作成されたシミュレーションスクリプトに基づいて回路シミュレーションが実行される。尚、ここでの入力波形は図２（ａ）及び図２（ｂ）に示す波形電圧発生部１２０１と平滑化回路１２０２とのパラメータを調整して入力スルーレート値を変動させる。ここでは、平滑化回路１２０２はＲＣのＴ型回路で示したが、Ｃのみ、Ｒのみ、又はＲＣのπ型回路でもよい。また、図２（ａ）では駆動負荷１２０３は容量のみが記載されているが、ＲＣのπ型回路でもよい。
【００５４】
実効入力端子容量算出ステップ１１０３では、キャラクタライズ対象セル１２０４の入力波形が、図３に示すように、ミラー効果が発生しない入力波形１２１０ではなく、ミラー効果が発生した入力波形１２１１である場合に、この入力波形１２１１にドライブポイント１２１３上を含んで重なるミラー効果の発生しない入力波形１２１２が得られるように、キャラクタライズ対象セル１２０４の等価入力端子容量を計算し、その後、この等価入力端子容量と、キャラクタライズ対象セル１２０４と、ミラー効果の発生しない駆動負荷１２０３とを総合した実効入力端子容量１２０５を算出する。
【００５５】
回路シミュレーションステップ１１０４では、等価入力端子容量を付加したキャラクタライズ対象セル１２０４が駆動負荷１２０３と共に前記実効入力端子容量１２０５に置き換えられた、図２（ｂ）に示す回路図を用いて回路シミュレーションが実行される。
【００５６】
ここで、回路シミュレーションステップ１１０４による回路シミュレーションの結果について、入力波形上のドライブポイントにおける遅延が、ミラー効果が起こった場合の入力波形１２１１の遅延と比較され、このドライブポイントにおける遅延が一定の閾値以下になるまで、一連のステップ１１０３〜ステップ１１０４が繰り返される。
【００５７】
ここで得られた実効入力端子容量１２０５と前記等価入力端子容量とは、先に得られた回路シミュレーションステップ１１０２の結果と共に、ミラー効果が起こらない場合の入力波形１２１０のスルーレートと負荷部１２０３の関数としてテーブルデータ１１１５に記録される（保持ステップ）。
【００５８】
この一連のステップ１１０１〜１１０４は、測定条件データ１１１３に記載された全てのパターンをキャラクタライズするまで繰り返される。
【００５９】
尚、ここでは立ち上がりエッジの場合のみを示したが、立下りエッジについても同様のステップにより実効入力端子容量、セル出力スルーレート値及びセル遅延値のテーブルデータを作成する。
【００６０】
また、ここで関数は、テーブルデータとしたが、テーブルに限らず、多項式で表してもよい。
【００６１】
以上のように、本実施形態によれば、ミラー効果により波形変歪が発生している場合でも、その影響を等価入力端子容量の変動というモデルを用いることによって、遅延計算対象回路であるセルの特性を精度良くキャラクタライズすることができる。
【００６２】
更に、論理合成実行時に本実施形態に示したライブラリを使用し、最悪の遅延値を用いて合成することが可能になる。すなわち、レイアウト後のステップの後戻りを削減することが可能になる。
【００６３】
（第２の実施形態）
次に、本発明の第２の実施形態について、図４、図５及び図６を用いて説明する。
【００６４】
図４は、本発明の第２の実施形態におけるバンプ重畳波形キャラクタライズ方法のフロー図である。本実施形態では、遅延計算対象回路としてのセルに、ミラー効果等に起因する波形変歪が発生し、これにより遅延が生じる場合について、変歪の波形成分であるバンプ波形の特性に基づいて前記セルをキャラクタライズする方法を説明する。
【００６５】
図５は、バンプが重畳された入力波形を生成すると共に、キャラクタライズ対象セル１４０４のセル遅延及び出力波形を測定するためのバンプ重畳波形キャラクタライズ回路の図である。同図は、波形電圧発生部１４０２から発生される波形（入力スロープ波形）に、バンプ電圧発生部１４０１から発生されるバンプ（入力バンプ波形）を重畳させた入力波形を生成し、この生成した波形を負荷１４０３が接続されたキャラクタライズ対象セル１４０４に対して入力する構成を示す。
【００６６】
また、図６は、波形上にバンプが重畳した波形１４０５に対して、その波形成分であるスロープ波形１４０６とバンプ波形１４０７とを同じ時間軸上に示し、更に、バンプ波形１４０７を、バンプのピーク値であるバンプ高さ１４１０、バンプ幅１４１１及びバンプ面積１４１４により表し、波形にバンプが重畳するタイミング１４１２とバンプがピークに達するまでの時間１４１３とを示している。ここで、スロープ波形１４０６にバンプが重畳するタイミング１４１２は、立ち上がりエッジの場合は、スロープ波形１４０６における上部スルートリップポイント１４０８及び下部スルートリップポイント１４０９とを含む直線がグラウンド電位と交差する時点からバンプがピーク値に達するまでの時間であり、立下りエッジの場合は、前記直線が電源電位と交差する時点からバンプがピーク値に達するまでの時間により定義する。また、バンプ波形がピーク値に達するまでの時間１４１３は、バンプの開始からバンプ波形がピーク値に達するまでの時間である。
【００６７】
ここで、上述の図５及び図６を用いて、図４のフロー図について説明する。
【００６８】
図４において、シミュレーションスクリプト作成ステップ１３０１では、図５に示すキャラクタライズ対象セル１４０４の寄生素子情報を含む回路接続情報であるセルネットリスト１３１０、図５に示す変動入力端子容量キャラクタライズ回路の接続情報である測定回路ネットリスト１３１１、測定対象であるセルの種類・ピン情報・測定項目などが記載されている回路シミュレーションパターン情報であるセル情報１３１２、測定条件データ１３１３、及び回路シミュレーションで用いられるトランジスタモデル情報であるトランジスタモデル１３１４に基づき、シミュレーションスクリプトを作成する。ここで、測定条件データ１３１３には、スロープ波形の負荷及び入力スルーレートのインデックスと、バンプ波形のバンプ高さ１４１０、バンプ幅１４１１、波形にバンプが重畳するタイミング１４１２、バンプがピークに達するまでの時間１４１３、及びバンプ面積１４１４のインデックスとが含まれる。
【００６９】
回路シミュレーションステップ１３０２では、作成されたシミュレーションスクリプトに基づいて回路シミュレーションが実行される。ここで、図６に示すようなバンプが重畳された波形を入力波形とする場合、回路シミュレーションステップ１３０２は、図５に示すバンプ電圧発生部１４０１により入力バンプ波形１４０７を発生させる入力バンプ波形発生ステップと、波形電圧発生部１４０２により入力スロープ波形１４０６を発生させる入力スロープ波形発生ステップとを含み、これら入力バンプ波形１４０７と入力スロープ波形１４０６とから生成された、バンプ重畳波形１４０５が回路シミュレーションに用いられる入力波形となる。このシミュレーションにより、負荷部１４０３を接続した場合のキャラクタライズ対象セル１４０４のセル遅延及び出力波形が計算される。出力波形は入力波形と同様に波形上にバンプが重畳した波形として測定する。尚、図５では、駆動負荷は容量のみが記載されているが、ＲＣのπ型回路でもよい。
【００７０】
波形及びバンプ分離ステップ１３０３では、図６に示す波形を出力波形とした場合、バンプが重畳した出力波形１４０５が、出力スロープ波形１４０６と出力バンプ波形１４０７とに分離される。
【００７１】
以上のように、キャラクタ対象セル４０４のセル特性、即ち、図６の入力スロープ波形１４０６とこれに重畳されるバンプ波形１４０７とで規定される入力波形１４０５が入力波形である場合のセル４０４の出力波形特性は、波形変歪を生じていない出力スロープ波形１４０６と、この出力スロープ波形に重畳される出力バンプ波形１４０７と、負荷部１４０３の駆動負荷との関数としてキャラクタライズされる。出力バンプ波形１４０７は、波形変歪を生じていない出力スロープ波形１４０６と、出力バンプ波形１４０７が重畳された出力波形１４０５との差分により求められる。前記得られた関数はテーブルデータ１３１５に記録、保持される（保持ステップ）。
【００７２】
この一連のキャラクタライズのステップ１３０１〜１３０３は、測定条件データ１３１３に記載された全てのパターンをキャラクタライズするまで繰り返される。
【００７３】
以上のように、本実施形態によれば、単調増加又は単調減少でない波形が変歪している場合においても、そのセル特性をキャラクタライズすることができる。
【００７４】
（第３の実施形態）
本発明の第３の実施形態について、図７、図８及び図９を用いて説明する。
【００７５】
図７は、波形変歪を考慮した遅延計算方法において波形変歪を検証するためにキャラクタライズ実行に用いる回路である。同図において、キャラクタライズ対象セル（遅延計算対象回路）Ｃ１の入力端子側には、駆動能力の低いセルＣ２が接続されており、また、出力端子側には、キャラクタライズ対象セルＣ１が駆動する負荷容量Ｃ３が接続されている。駆動能力の低いセルＣ２の入力波形は入力波形Ｃ４、キャラクタライズ対象セルＣ１の入力波形は入力波形Ｃ５、また、キャラクタライズ対象セルＣ１の出力波形は出力波形Ｃ６で示される。この図７に示す回路は、キャラクタライズ対象セルＣ１の入力側に駆動能力の低いセルＣ２が接続されたことにより、セルＣ２に入力された歪のない入力スロープ波形Ｃ４が、キャラクタライズ対象セルＣ１の入力端子において歪を発生し、歪を含んだスロープＣ５となる回路構成となっていることを示している。
【００７６】
図８は、波形に歪が発生する場合の条件を、ライブラリとして作成するフロー図である。
【００７７】
同図のステップＳＴ２０１では、キャラクタライズ処理で使用するスクリプト及びキャラクタライズ用の回路接続情報を生成する。
【００７８】
ステップＳＴ２０２では、ステップＳＴ２０１で生成したスクリプト及び回路接続情報を読み込んで、セルキャラクタライズを実行する。ここでキャラクタライズを行うセルは図７のキャラクタライズ対象セルＣ１である。
【００７９】
ステップＳＴ２０２のキャラクタライズ実行結果、図７のキャラクタライズ対象セルＣ１への入力波形Ｃ５に対する出力データとして入力波形Ｄ２０１、キャラクタライズ対象セルＣ１からの出力波形に対する出力データとして出力波形Ｄ２０２、キャラクタライズ対象セルＣ１の遅延値Ｄ２０３、及びキャラクタライズ対象セルＣ１の出力トランジションＤ２０４が出力される。
【００８０】
ここで、入力波形Ｄ２０１及び出力波形Ｄ２０２の両波形に基づき、ステップＳＴ２０３の波形歪検出（波形歪観測）ステップにおいて、キャラクタライズ対象セルＣ１の入出力波形の波形歪を検出する。
【００８１】
このステップＳＴ２０２〜ステップＳＴ２０３において得られた前記３つの情報、すなわち、波形歪の有無と、キャラクタライズ対象セルＣ１の遅延値Ｄ２０３と、キャラクタライズ対象セルＣ１の出力トランジションＤ２０４とが、次のステップＳＴ２０４において処理される。即ち、このステップＳＴ３２０４では、キャラクタライズ対象セルＣ１の入力スロープ波形Ｃ５と駆動負荷Ｃ３とをインデックスとして、前記３つの情報（波形歪の有無と、遅延値Ｄ２０３と、出力トランジションＤ２０４）を書き込んだテーブルを作成し、これをライブラリ用のテーブルデータＬ２０１として格納する。
【００８２】
図９は、このライブラリテーブルとして作成されたテーブルデータＬ２０１の例を示す。同図は、キャラクタライズ対象セルＣ１への入出力波形に共に歪が発生する場合を１、また、歪が発生しない場合を０とし、キャラクタライズ対象セルＣ１への入力波形のトランジション３０２と駆動負荷の大きさ３０１とをインデックスとして生成したテーブルを示している。図９のテーブルの例は、駆動負荷が０．０１ｐｆの時は、入力トランジションに関らず全ての波形に歪が発生することを示している。このテーブルを使用することにより、セルがどのような負荷を駆動した場合に、波形に歪が発生するかを判断することが可能になる。
【００８３】
尚、前記ステップＳＴ２０２で求めた遅延値Ｄ２０３及び出力トランジションＤ２０４は、波形の歪を検出しなかった場合に、通常の遅延計算で使用することができる。また、波形の歪を検出した場合であっても、波形の歪みが遅延値や傾きの測定に影響を及ぼさず、精度的に許容される場合であれば、波形歪みが発生したときの遅延値及び傾きとして使用することが可能である。但し、高精度な遅延計算を行う場合は、波形歪みが発生した場合の遅延値Ｄ２０３及び出力トランジションＤ２０４を使用すべきでない。
【００８４】
（第４の実施形態）
本発明の第４の実施形態について、図１０を用いて説明する。
【００８５】
図１０は、波形変歪を考慮した遅延計算方法における遅延計算処理についてのフロー図を示している。
【００８６】
同図において、ステップＳＴ４０は遅延計算対象判別ステップであり、遅延計算の対象となるセルが存在するかどうかを判定する。
【００８７】
ステップＳＴ４１は駆動負荷及び入力波形抽出ステップであり、ステップＳＴ４０において遅延計算の対象となるセルが存在する場合には、遅延計算対象セルの入力トランジション値と駆動負荷容量とを算出する。
【００８８】
ステップＳＴ４２は歪発生パターン検出ステップであり、ステップＳＴ４１で算出された入力トランジション値及び駆動負荷の大きさから、波形に歪が発生するパターンであるかどうかを判定する。ここで、この判定に際して、第３の実施形態において得られた波形歪が発生するパターンが登録されているライブラリＬ２０１（図１０ではライブラリＬ４０）を参照する。
【００８９】
歪が発生するパターンである場合には、トランジスタレベル遅延計算ステップＳＴ４３において、トランジスタレベル遅延計算を行う。また、歪が発生しないパターンである場合には、ゲートレベル遅延計算ステップＳＴ４５において、ゲートレベル遅延計算を行う。このステップＳＴ４３のトランジスタレベル遅延計算の結果は遅延情報Ｄ４０としてデータベースに格納される。
【００９０】
ステップＳＴ４４は波形歪検出ステップであり、ステップＳＴ４３のトランジスタレベル遅延計算の結果における出力波形を参照する。尚、この参照する波形は出力波形に限定されず、入力波形であっても良い。そして、出力波形に歪が発生している場合にはステップＳＴ４３に戻り、再度トランジスタレベル遅延計算を実行する。また、波形に歪が発生していない場合にはステップＳＴ４０の処理に戻り、別の遅延計算対象のセルに対して遅延計算が行われる。
【００９１】
ステップＳＴ４５では、セルへの入力トランジション値と駆動負荷との関数として書かれた通常のライブラリＬ４１を用いて、歪が発生しないパターンに対してゲートレベル遅延計算が行われる。その計算結果は、ステップＳＴ４３のトランジスタレベル遅延計算の結果と同様に、遅延情報Ｄ４０としてデータベースＤ４０に格納され、ステップＳＴ４０に戻り、次の遅延計算対象のセルを探す。
【００９２】
（第５の実施形態）
本発明の第５の実施形態について、図１１及び図１２を用いて説明する。
【００９３】
図１１は、ミラー効果による遅延変動を考慮に入れた遅延計算処理フローを示す図である。図１２は、同図（ａ）が、遅延計算処理を行う回路の具体例を示す図であり、インスタンスＸ２００とインスタンスＸ２０１とが配線Ｘ２０３により接続され、インスタンスＸ２０１とインスタンスＸ２０２とが配線Ｘ２０４により接続され、インスタンスＸ２０１には、その入出力端子間に、インスタンスＸ２０１に対するミラー効果を考慮するためのカップリング容量Ｘ２０５が接続されている。また、図１２（ｂ）は、図１２（ａ）の回路図におけるインスタンスＸ２００の出力端子、インスタンスＸ２０１の入力端子及び出力端子、並びにインスタンスＸ２０２の入力端子の波形を、図１１の処理フローにおける各ステップに対して示した図である。
【００９４】
ここで、図１２（ａ）及び（ｂ）を参照して、図１１のフロー図を説明する。
【００９５】
図１１において、ステップＳＸ１００は第１の遅延計算ステップであり、基本論理セル毎の遅延特性が記載された遅延ライブラリＸ１０４と、全ての配線の抵抗及び容量値が記載されたＲＣ情報Ｘ１０５とを入力として、デザイン中の全インスタンスの遅延時間及び配線遅延時間を計算する。また、これと同時に、各セルの入出力端子における入出力信号波形Ｘ１０１が算出される。尚、本実施形態では、第１の遅延計算ステップＳＸ１００において、遅延ライブラリＸ１０４とＲＣ情報Ｘ１０５とを読み込むと説明したが、この他にも、デザインのネットリストや、バウンダリの設定や、タイミング制約を読み込むことにより遅延計算を行ってもよい。
【００９６】
この計算に際しては、図１２（ａ）に示す回路構成において、ステップＳＸ１００ではミラー効果を考慮しないので、カップリング容量Ｘ２０５は除かれ、インスタンスＸ２００の出力端子について出力信号波形Ｘ２０６が、インスタンスＸ２０１の入力端子について入力信号波形Ｘ２０７が、インスタンスＸ２０１の出力端子について出力信号波形Ｘ２０８が、また、インスタンスＸ２０２の入力端子について入力信号波形Ｘ２０９が計算される。この時、配線Ｘ２０３の配線遅延時間は遅延Ｘ２１０、配線Ｘ２０４の配線遅延時間は遅延Ｘ２１２、また、インスタンスＸ２０１の遅延時間は遅延Ｘ２１１として示される。
【００９７】
ステップＳＸ１０１は、インスタンス入力信号波形計算ステップであり、セル毎のミラー効果によって変動する端子容量変動分が記載された変動容量値Ｘ１００と入出力信号波形Ｘ１０１とを用いて、ミラー効果により変動するインスタンスの入力信号波形が再計算される。ここで、ミラー効果を考慮した入力信号波形を表すために、図１２（ａ）のインスタンスＸ２０１には、入出力間のカップリング容量Ｘ２０５が付加されて再計算される。
【００９８】
ここで更に、インスタンスＸ２０１の出力端子での信号変化が配線Ｘ２０４に与える影響を計算すると共に、配線Ｘ２０４をアグレッサー、配線Ｘ２０３をヴィクティムとしてインスタンスＸ２０１の入力側配線Ｘ２０３に対する出力側配線Ｘ２０４のクロストーク計算を行い、図１２（ｂ）に示すインスタンスＸ２０１の入力信号波形Ｘ２１３を求める。
【００９９】
ステップＳＸ１０２は、インスタンス出力信号波形伝播ステップであり、インスタンスＸ２０１に入力される入力信号波形Ｘ２１３と配線Ｘ２０４のＲＣ情報とから、インスタンスＸ２０１の出力信号波形Ｘ２１４を計算し、図１２（ｂ）に示すミラー効果を考慮した出力信号波形Ｘ２１４として出力する。この出力信号波形Ｘ２１４のデータは図１１のミラー効果考慮出力信号波形Ｘ１０３へ格納される。
【０１００】
ステップＳＸ１０３は、第２の遅延計算ステップであり、インスタンス出力信号波形伝播ステップＳＸ１０２で求めたミラー効果を考慮した出力信号波形データＸ１０３を用いて、全インスタンス、配線の再遅延計算を行う。具体的には、ステップＳＸ１０１で求めたミラー効果考慮入力信号波形Ｘ１０２と、ステップＳＸ１０２で求めたミラー効果考慮出力信号波形Ｘ１０３とを用いて、それぞれの閾値電圧間の時間を遅延時間とする。配線Ｘ２０３の配線遅延時間Ｘ２１６は、図１２（ｂ）に示すように、出力信号波形Ｘ２０６と入力信号波形Ｘ２１３とから、インスタンスＸ２０１の遅延時間Ｘ２１７は、入力信号波形Ｘ２１３と出力信号波形Ｘ２１４とから、また、配線遅延時間Ｘ２１８は、出力信号波形Ｘ２１４と入力信号波形Ｘ２１５とから計算される。
【０１０１】
以上説明したように、インスタンスの入力端子容量の変動量をカップリング容量として表現することによりバンプを発生させ、ミラー効果による信号波形の変動を表現する。
【０１０２】
本実施形態に示す方法により、ミラー効果が原因で変動する信号波形及び遅延時間を考慮に入れた遅延計算及びタイミング解析を実施できるため、ミラー効果に起因するタイミングエラーを回避することができる。
【０１０３】
特に、インバータ、ＮＡＮＤ又はＮＯＲなどのように、信号の入力から出力までの間で信号がトランジスタのゲートを一段だけ通過する構造を持つゲートでは、ゲートの入力端子における波形の鈍りが出力に伝搬しやすい。そのため、本実施形態に示す方法を用いることにより、精度良く遅延計算を行うことが可能となる。
【０１０４】
（第６の実施形態）
本発明の第６の実施形態について、図１３及び図１４を用いて説明する。
【０１０５】
図１３は、ミラー効果による遅延変動を考慮に入れた遅延計算処理フローを示す図である。
【０１０６】
本実施形態では、インスタンス出力信号波形計算ステップＳＸ３００において、変動容量値Ｘ１００を入力としている点において、第５の実施形態のインスタンス出力信号波形伝播ステップＳＸ１０２と異なる。
【０１０７】
図１４については、同図（ａ）が、遅延計算処理を行う回路の具体例を示す図であり、第５の実施形態において図１２（ａ）に示した回路図と同じであるため、ここでは説明を省略する。また、図１４（ｂ）は、第５の実施形態において図１２（ｂ）に示した図と同様であるが、図１４（ｂ）のインスタンス出力信号波形伝播ステップＳＸ１０２を、本実施形態では図１３のフロー図に対応させて、インスタンス出力信号波形計算ステップＳＸ３００とし、このステップＳＸ３００におけるインスタンスＸ２０１の出力端子の波形をＸ４００とする。また、第２の遅延計算ステップＳＸ１０３においては、ステップＳＸ３００と同様に、インスタンスＸ２０１の出力端子の波形をＸ４００、この波形が配線Ｘ２０４を伝播した、インスタンスＸ２０２の入力端子における波形をＸ４０１とし、また、インスタンスＸ２０１の遅延時間、すなわち、入出力端子における波形Ｘ２１３及びＸ４００間の遅延を遅延時間Ｘ４０２、Ｘ２０４の配線遅延を配線遅延時間Ｘ４０３とする。
【０１０８】
ここで、図１４（ａ）及び（ｂ）を参照して、図１３のフロー図を説明する。
【０１０９】
図１３において、ステップＳＸ１００は第１の遅延計算ステップ、ステップＳＸ１０１はインスタンス入力信号波形計算ステップであり、第５の実施形態において図１１に示したフローと同じである。尚、本実施形態でも、第５の実施形態と同様に、第１の遅延計算ステップＳＸ１００において、遅延ライブラリＸ１０４とＲＣ情報Ｘ１０５とを読み込む以外にも、デザインのネットリストや、バウンダリの設定や、タイミング制約を読み込むことにより遅延計算を行ってもよい。
【０１１０】
この計算に際しては、第５の実施形態と同様であり、図１４（ａ）に示す回路構成において、ステップＳＸ１００ではミラー効果を考慮しないので、カップリング容量Ｘ２０５は除かれて各波形及びその波形から遅延時間が計算される。
【０１１１】
ステップＳＸ１０１は、インスタンス入力信号波形計算ステップであり、セル毎のミラー効果によって変動する端子容量変動分が記載された変動容量値Ｘ１００と入出力信号波形Ｘ１０１とを用いて、ミラー効果により変動するインスタンスの入力信号波形を再計算する。ここで、ミラー効果を考慮した入力信号波形を表すために、図１４（ａ）のインスタンスＸ２０１には、入出力間のカップリング容量Ｘ２０５が付加されて再計算される。
【０１１２】
ここで更に、インスタンスＸ２０１の出力端子での信号変化が配線Ｘ２０４に与える影響を計算すると共に、配線Ｘ２０４をアグレッサー、配線Ｘ２０３をヴィクティムとしてクロストーク計算を行い、図１４（ｂ）に示すインスタンスＸ２０１の入力信号波形Ｘ２１３を求める。
【０１１３】
ステップＳＸ３００は、インスタンス出力信号波形計算ステップであり、セル毎のミラー効果によって変動する端子容量変動分が記載された変動容量値Ｘ１００と、インスタンスＸ２０１の入出力信号波形Ｘ１０１（図１４（ｂ）の入力信号波形Ｘ２０７と出力信号波形Ｘ２０８）とから、インスタンスＸ２０１の出力信号波形Ｘ４００を計算する。この計算の詳細は、前記ステップＳＸ１０１でのミラー効果により変動する入力信号波形Ｘ２１３の計算と同様である。
【０１１４】
ここで、インスタンスＸ２０１の出力信号波形の再計算は、ミラー効果を考慮した出力信号波形を表すために、図１４（ａ）のインスタンスＸ２０１の入出力間にカップリング容量Ｘ２０５が付加された回路を用いてインスタンスＸ２０１の入力端子での信号変化が配線Ｘ２０３に与える影響を計算し、更に、配線Ｘ２０３をアグレッサー、配線Ｘ２０４をヴィクティムとしてクロストーク計算を行い、図１４（ｂ）に示すミラー効果を考慮した出力信号波形Ｘ４００として出力する。この出力信号波形Ｘ４００のデータは図１３のミラー効果考慮出力信号波形Ｘ３００へ記憶される。
【０１１５】
ステップＳＸ１０３は、第２の遅延計算ステップであり、インスタンス出力信号波形計算ステップＳＸ３００で求めたミラー効果を考慮した出力信号波形データＸ３００を用いて、全インスタンス及び配線の再遅延計算を行う。この再遅延計算方法は、以上の処理で計算した信号波形をそれぞれの閾値電圧間の時間として計算する。配線Ｘ２０３の配線遅延時間Ｘ２１６は、図１４（ｂ）に示すように、出力信号波形Ｘ２０６と入力信号波形Ｘ２１３とから、インスタンスＸ２０１の遅延時間Ｘ４０２は、入力信号波形Ｘ２１３と出力信号波形Ｘ４００とから、また、配線遅延時間Ｘ４０３は、出力信号波形Ｘ４００と入力信号波形Ｘ４０１とから計算する。
【０１１６】
以上説明したように、インスタンスの入力端子容量の変動量をカップリング容量として表現することによりバンプを発生させ、ミラー効果による信号波形の変動を表現する。
【０１１７】
本実施形態に示す方法により、ミラー効果が原因で変動する信号波形及び遅延時間を考慮に入れた遅延計算及びタイミング解析を実施できるため、ミラー効果に起因するタイミングエラーを回避することができる。
【０１１８】
特に、バッファ、ＡＮＤ、ＯＲなどのように、トランジスタのゲートを複数段通過する構造を持つゲートでは、ゲートの入力端子における波形の鈍りが出力に伝搬しにくい。従って、このような場合には、第５の実施形態に示した方法を用いず、これに代えて、本実施形態に示す方法（即ち、インスタンス出力信号波形を求める場合においても、インスタンス入力信号波形を求める場合と同様に、ミラー効果による変動容量値を用いる方法）を用いても、精度良く遅延計算を行うことが可能である。
【０１１９】
（第７の実施形態）
本発明の第７の実施形態について、図１５及び図１６を用いて説明する。
【０１２０】
図１５は、バンプ重畳波形を考慮に入れた遅延計算処理フローを示す図である。図１６（ａ）は、バンプ重畳波形を考慮した遅延計算処理を行う対象のネットワークの具体例を示す図である。ここでは、インスタンス１  ２１２０とインスタンス２  ２１２１とがネット１  ２１２６を介して接続され、インスタンス２  ２１２１とインスタンス３  ２１２２とがネット２  ２１２７を介して接続されている第１のネットワークと、インスタンスＡ１  ２１２３とインスタンスＡ２  ２１２４とがネットＡ１  ２１２８を介して接続されている第２のネットワークとが、それぞれのネットワークのネット２  ２１２７とネットＡ１  ２１２８とにおいて近接している状態を示している。また、図１６（ｂ）は、前記第１のネットワーク上の各点における波形を示したものであり、それぞれの点における入力スロープ波形２１３１に対して、その各点におけるバンプ波形２１３２及び外部バンプ（クロストーク）波形２１３３を示している。
【０１２１】
ここで、図１６（ａ）及び（ｂ）を参照して、図１５のフロー図を説明する。
【０１２２】
図１５において、ステップ２１０１はネットワーク選択ステップであり、デザインの接続情報が記載されたネットリスト２１１０より遅延計算対象とするネットを選択する。ここでは、先ず、第１のネットワーク上のネット１  ２１２６を選択したとする。
【０１２３】
ステップ２１０２はネット波形分離ステップ（入力スロープ波形及びバンプ波形分離ステップ）であり、波形情報２１１４に記載されたインスタンス１  ２１２０に入力されるバンプが重畳した入力波形より、図１６（ｂ）に示す入力スロープ波形２１３１とバンプ波形２１３２とに分離する。このステップにより入力スロープ波形のスルーレート値とバンプ波形のバンプ高さ、バンプ幅、波形にバンプが重畳するタイミング、バンプがピークに達するまでの時間、及びバンプ面積が得られる。
【０１２４】
ネットワーク縮退ステップ２１０３では、寄生素子情報２１１１に基づいて、ネット１  ２１２６及び次段インスタンスであるインスタンス２  ２１２１の入力端子容量からなる回路が縮退する。このステップによりインスタンス１  ２１２０の駆動負荷が得られる。
【０１２５】
ライブラリ参照ステップ２１０４では、波形上にバンプ波形が重畳した場合に第２の実施形態において示したセル特性キャラクタライズ方法により作成されたライブラリ２１１２（図４では、テーブルデータ１３１５）を用いて、セル遅延と、波形上にバンプ波形が重畳した波形で表される出力波形とを求め、セル遅延を遅延情報２１１５に記録する。
【０１２６】
ネット波形計算ステップ２１０５では、ライブラリ参照ステップ２１０４で求めたインスタンス１  ２１２０の出力波形に基づいて波形解析を行い、ネット１  ２１２６の配線遅延値及びインスタンス２  ２１２１の入力波形を計算し、ネット１  ２１２６の配線遅延値を遅延情報２１１５に、また、インスタンス２  ２１２１の入力波形を波形情報２１１４に記録する。
【０１２７】
次に、ネットワーク選択ステップ２１０１で、図１６（ａ）の第２のネットワークが選択されたとする。
【０１２８】
ネット波形分離ステップ２１０２では、波形情報２１１４に記載されたインスタンス２  ２１２１の波形上にバンプが重畳した入力波形に基づいて、入力スロープ波形及びバンプ波形を分離する。
【０１２９】
ネットワーク縮退ステップ２１０３では、寄生素子情報２１１１に基づいて、ネット２  ２１２７及び次段のインスタンス３  ２１２２の入力端子容量からなる回路を縮退する。このステップによりインスタンス２  ２１２１の駆動負荷が得られる。
【０１３０】
ライブラリ参照ステップ２１０４は、ライブラリ２１１２を用いて、セル遅延と、バンプ波形が重畳した波形で表される出力波形とを求め、セル遅延を遅延情報２１１５に記録する。
【０１３１】
ネット２  ２１２７の場合、近接にカップリング容量を持つネットＡ１  ２１２８が存在して配線間クロストークが発生し、これに起因する外部バンプ波形２１３３は、別プロセスにより計算されて外部バンプ波形情報２１１３に記載されている。そのため、ネット波形計算ステップ２１０５は、ライブラリ参照ステップ２１０４で求めたインスタンス２  ２１２１の出力波形に外部バンプ波形２１３３を重畳させた波形を用いて波形解析を行い、ネット２  ２１２７の配線遅延値及びインスタンス３  ２１２２の入力波形を計算し、ネット２  ２１２７の配線遅延値を遅延情報２１１５に、また、インスタンス３  ２１２２の入力波形を波形情報２１１４に記録する。
【０１３２】
尚、ネットＡ１  ２１２８の遷移タイミングとネット２  ２１２７の遷移タイミングとを考慮して、同時に遷移しない場合には、外部バンプ波形を重畳させなくてもよい。
【０１３３】
また、ここでは外部バンプ波形の要因をクロストークとしたが、同時スイッチングノイズ、インダクタンスによるオーバーシュートやアンダーシュートなどでもよい。
【０１３４】
この遅延計算のための一連のステップは、ネットリスト２１１０に記載された全てのネットについて遅延計算を行うまで繰り返される。
【０１３５】
以上のように、本実施形態によれば、クロストーク、同時スイッチング（同時遷移）ノイズ、インダクタンスによるオーバーシュートやアンダーシュート等により波形変歪が発生している場合でも、その影響を考慮して、高精度に遅延計算することができる。
【０１３６】
（第８の実施形態）
本発明の第８の実施形態について、図１７及び図１８を用いて説明する。
【０１３７】
図１７は、第８の実施形態における変動入力端子容量を考慮した遅延計算方法のフロー図である。図１８（ａ）は、変動入力端子容量を考慮した遅延計算処理を行う対象のネットワークの具体例を示す図である。ここでは、インスタンス１  ２２２０とインスタンス２  ２２２１とがネット１  ２２２６を介して接続され、インスタンス２  ２２２１とインスタンス３  ２２２２とがネット２  ２２２７を介して接続され、インスタンス２  ２２２１の入力端子に、変動入力端子容量を考慮した場合の等価入力端子容量２２３０が付加されている状態を示している。また、図１８（ｂ）は、同図（ａ）の回路の各点における信号波形を示し、インスタンス２  ２２２１の入力端子に対応する信号波形として、等価入力端子容量変動前の波形２２３１と等価入力端子容量変動後の波形２２３２とが示されている。
【０１３８】
ここで、図１８（ａ）及び（ｂ）を参照して、図１７のフロー図を説明する。
【０１３９】
図１７において、ステップ２２０１は、ネットワーク選択ステップであり、デザインの接続情報が記載されたネットリスト２２１０より遅延計算対象とするネットと、もう一段後のネットとを選択する。図１８（ａ）では、ネット１  ２２２６及びネット２  ２２２７である。
【０１４０】
ステップ２２０４は、デフォルト入力端子容量参照ステップであり、遅延計算対象とするネットと、もう一段後のネットに接続されるインスタンスについて、入力端子容量が入力スルーレートと駆動負荷との関数として第１の実施形態において示した方法によりキャラクタライズされたライブラリ２２１２を参照して、ミラー効果が起こっていないときの入力端子容量を参照する。図１８（ａ）では、インスタンス２  ２２２１とインスタンス３  ２２２２について参照される。
【０１４１】
ステップ２２０３は、第１のネットワーク縮退ステップであり、遅延計算の対象とするネットと、その１段後ろのネットに関して、寄生素子情報２２１１の寄生素子を含むネットワーク回路と、その後段のインスタンスの入力端子容量を含む回路とを、各々、実効的に負荷が等しい実効入力端子容量に縮退する。図１８（ａ）では、例えば、ネット１  ２２２６とインスタンス２  ２２２１とからなるネットワーク回路を縮退すると共に、ネット２  ２２２７とインスタンス３  ２２２２からなる回路を縮退する。
【０１４２】
また、ステップ２２０５は、第１のネット波形計算ステップであり、波形情報２２１４からネット１  ２２２６の前段のネットの出力スルーレート、すなわち、インスタンス１  ２２２０の入力スルーレートと、前記縮退されたネットワーク回路（ネット１  ２２２６とインスタンス２  ２２２１とから成る回路）の変動前入力端子容量（負荷部）とをインデックスとして、ライブラリ２２１２を参照することにより、インスタンス１  ２２２０のセル出力スルーレートを計算する。更に、波形解析により、ネット１  ２２２６の出力スルーレートである実効入力端子容量変動前の波形２２３１を計算する。
【０１４３】
ステップ２２０６は、入力端子容量計算ステップであり、インスタンス２  ２２２１の実効入力端子容量の変動前（すなわち、入力波形に歪が生じていない場合の）入力波形２２３１のスルーレートと、前記縮退されたネット２  ２２２７の負荷容量とをインデックスとして、ライブラリ２２１２を参照することにより、インスタンス２  ２２２１の変動後の実効入力端子容量を計算する。
【０１４４】
ステップ２２０７は、第２のネットワーク縮退ステップであり、遅延計算対象とするネットと、このネットに接続される次段のインスタンスの変動後の実効入力端子容量とから成る回路を縮退する。ここでは、ネット１  ２２２６と前記で求めたインスタンス２  ２２２１の変動後の実効入力端子容量とからなる回路を縮退する。
【０１４５】
ステップ２２０８は、第２のネット波形計算ステップであり、波形情報２２１４からネット１  ２２２６の前段のネットの出力スルーレート（即ち、インスタンス１  ２２２０の入力スルーレート）と、前記縮退した回路（即ち、ネット１  ２２２６とインスタンス２  ２２２１の変動後の実効入力端子容量からなる回路を縮退した回路）である負荷部とをインデックスとして、ライブラリ２２１２を参照することにより、インスタンス１  ２２２０のセル遅延値とセル出力スルーレートとを計算し、その各々を遅延情報２２１５と波形情報２２１４とに記録する。更に、波形解析により、ネット１  ２２２６の出力スルーレートである実効入力端子容量変動後の波形２２３２と、ネット１  ２２２６の配線遅延時間とを計算し、その各々を波形情報２２１４と遅延情報２２１５とに記録する。
【０１４６】
前記遅延計算のための一連のステップは、ネットリスト２２１０に記載された全てのネットについて遅延計算を行うまで繰り返される。
【０１４７】
以上のように、本実施形態によれば、ミラー効果により波形変歪が発生している場合であっても、実効入力端子容量の変動というモデルを用いてその影響を考慮し、高精度に遅延計算する事が出来る。
【０１４８】
（第９の実施形態）
本発明の第９の実施形態について、図１９及び図２０を用いて説明する。
【０１４９】
図１９は、タイミング解析において、タイミングを満たさないパスにミラー効果が発生するインスタンスが存在する場合のタイミング再判定方法を表す図である。
【０１５０】
図１９において、ステップＳＸ５００はデザイン中の全インスタンス、配線の遅延時間を計算し、さらに、ミラー効果が発生するインスタンスを抽出する遅延計算ステップ、ステップＳＸ５０１は遅延計算ステップＳＸ５００で計算された遅延情報を基にタイミング解析を行なう静的タイミング解析ステップ、ステップＳＸ５０２はタイミングを満たさないパスを構成するインスタンスにミラー効果が発生するかどうかを判定し、発生している場合に、その遅延変動量を計算するミラー効果発生インスタンス抽出ステップ、ステップＳＸ５０３はミラー効果により発生した遅延変動量とパスのタイミングレポートから、再度タイミング解析を行なうタイミング再判定ステップ、Ｘ５００はデザイン中の全インスタンス及び配線の遅延時間が記載された遅延情報、Ｘ５０１はミラー効果が発生しているインスタンスを羅列したミラー効果発生インスタンスリスト、Ｘ５０２はタイミング解析の結果、タイミングを満たしていないパスのタイミング情報と構成インスタンスが記載されたパスレポート、Ｘ５０３はタイミング解析の結果、タイミングを満たしていないパスのスラック値が記載されたスラック情報、Ｘ５０４はミラー効果が発生するインスタンスの遅延変動量を記載したパス遅延変動レポート、Ｘ５０５はセル毎にミラー効果が発生する条件が書かれたミラー効果発生条件、Ｘ５０６はネットリストである。
【０１５１】
図２０は図１９の処理フローの具体例を示す図である。ここで図２０（ａ）は、フリップフロップＸ６００からフリップフロップＸ６０１に繋がるパスを、間にインスタンスＸ６０２を介する場合を例として示している。また、図２０（ｂ）は、同図（ａ）のフリップフロップＸ６００及びＸ６０１に入力されるクロック信号Ｘ６０３の、同図（ｂ）に示すクロックＣＬＫの立ち上がりに対するホールド時間Ｘ６０４と、このホールド時間Ｘ６０４と比較したフリップフロップ（ＦＦ）間パス遅延Ｘ６０５と、ホールド時間Ｘ６０４からＦＦ間パス遅延Ｘ６０５を引いた差分Ｘ６０６、及び、ＦＦ間パス遅延Ｘ６０５に対してミラー効果による遅延変動量Ｘ６０７を考慮した場合の時間関係を示した図である。
【０１５２】
ここで、図２０（ａ）及び（ｂ）を参照して、図１９のフロー図を説明する。
【０１５３】
遅延計算ステップＳＸ５００では、遅延ライブラリＸ１０４とＲＣ情報Ｘ１０５を入力として、デザイン中の全インスタンスの遅延時間及び配線遅延時間が計算される。また、これと同時に、入力されたミラー効果発生条件Ｘ５０５に従い、各インスタンスの入力信号波形傾きと駆動する負荷容量とから、インスタンス別にミラー効果が発生するかどうかを判定し、発生するインスタンスをミラー効果発生インスタンスリストＸ５０１として出力する。この遅延計算ステップＳＸ５００において入力されるミラー効果発生条件Ｘ５０５には、セル種別に、入力信号波形傾きと容量値が記載されており、各セル毎に、前記入力信号波形傾きより大きい信号波形が入力され、かつ、前記容量値よりも小さい容量を駆動するインスタンスがあった場合に、ミラー効果が発生すると判定される。
【０１５４】
ここで、遅延計算ステップＳＸ５００では、遅延ライブラリＸ１０４とＲＣ情報Ｘ１０５を読み込むと説明したが、その他にも、デザインのネットリストや、バウンダリの設定や、タイミング制約を読み込んで遅延計算してもよい。また、セルとは、バッファーやインバーターのような論理レベルでの種別を指し、インスタンスとは同一セルが複数使われた場合に、それぞれを違うものと認識するための唯一の名前である。
【０１５５】
次に、静的タイミング解析ステップＳＸ５０１では、ネットリストＸ５０６に対し遅延情報Ｘ５００の遅延値を割り当て、タイミング解析を行なう。
【０１５６】
タイミング解析において、タイミングを満たさないパスがある場合、そのパスを構成するインスタンスのリストが記載されたパスレポートＸ５０２とそのパスの守るべきタイミングに対し、満たしていない時間が記載されたスラック情報Ｘ５０３が出力する。
【０１５７】
図２０（ａ）記載のフリップフロップＸ６００からインスタンスＸ６０２を通過してフリップフロップＸ６０１に至るようなパスの場合、前記パスレポートＸ５０２には、フリップフロップＸ６００、フリップフロップＸ６０１、インスタンスＸ６０２とその他構成インスタンスがリストアップされる。
【０１５８】
さらに、このパスの遅延が満たすべき仕様が例えば図２０（ｂ）に示すように、ホールド時間Ｘ６０４である場合に、前記パスのフリップフロップ（ＦＦ）間パス遅延Ｘ６０５との大小を比較し、前記仕様を満たしていない場合、それぞれの差分Ｘ６０７(= ＦＦ間パス遅延Ｘ６０５ - ホールド時間Ｘ６０４)が、スラック情報Ｘ５０３に出力される。
【０１５９】
次に、ミラー効果発生インスタンス抽出ステップＳＸ５０２では、ミラー効果発生インスタンスリストＸ５０１に記載されたインスタンスが、パスレポートＸ５０２中に含まれているかどうかを判定し、もし、含まれていた場合には、前記インスタンスのミラー効果による遅延変動量をパス遅延変動レポートＸ５０４として出力する。
【０１６０】
例えば、インスタンスＸ６０２がミラー効果発生インスタンスリストＸ５０１に含まれていた場合、フリップフロップＸ６００からＸ６０１のパスで、ミラー効果が発生すると判定され、インスタンスＸ６０２のミラー効果による遅延変動量Ｘ６０６を計算する。
【０１６１】
ここでのミラー効果による遅延変動量の計算方法は、実施形態３、４に記載されている方法でも良いし、回路シミュレータを用いた計算でも良い。
【０１６２】
最後に、タイミング再判定ステップＳＸ５０３において、スラック情報Ｘ５０３とパス遅延変動レポートＸ５０４とを照らし合わせて、スラック情報Ｘ５０３に記載されている値よりも、パス遅延変動レポートＸ５０４に記載されている値の方が大きいパスは、タイミングを満たしていると判定する。
【０１６３】
また、差分Ｘ６０７と遅延変動量Ｘ６０６を比較し、遅延変動量Ｘ６０６の方が大きければ、タイミングは満たしていないが、ミラー効果による遅延増加を考慮するとタイミングを満たしているので、問題なしとして、タイミングを満たしていると判定する。
【０１６４】
以上説明したように、本実施形態によれば、タイミングを満たしていないパスであっても、ミラー効果の影響により遅延増加が発生し、タイミングを満たすことができるパスについては、回路修正を行う必要はないと判断できるので、無駄な回路修正を行なう必要なく、工数削減、面積増加抑制ができる。
【０１６５】
（第１０の実施形態）
本発明の第１０の実施形態について、図２１、図２２及び図２３を用いて説明する。
【０１６６】
図２１はミラー効果を考慮したタイミング改善フローを示す図、図２２は最適な回路修正方法を選択する手順を示す図、図２３は最適な回路修正方法の具体例を示す図である。
【０１６７】
図２１において、ＳＸ７００は静的なタイミング解析を行なう静的タイミング解析ステップ、ＳＸ７０１はタイミング解析の結果、タイミングが仕様を満たしているかどうかを判定するタイミングＭＥＴ判定ステップ、ＳＸ７０２はタイミングがそのタイミング設計仕様を満たすように改善を行なう回路修正ステップ、ＳＸ７０３はデザイン中の全インスタンス、配線の遅延時間を計算する遅延計算ステップ、ＳＸ７０４はミラー効果が起こっているインスタンスを抽出するミラー効果発生インスタンス抽出ステップ、ＳＸ７０５はミラー効果が起こっているかどうかを判定するミラー効果発生判定ステップ、ＳＸ７０６は回路修正を行う時に、最も面積ダメージの少なくなる方法を選定する回路修正方法決定ステップ、Ｘ７００はレイアウトである。
【０１６８】
図２２において、ＳＸ８００は、ミラー効果が発生しているインスタンスの入力信号波形と負荷容量とに基づいて、そのミラー効果が発生しないように、そのミラー効果が発生しているインスタンス自体のセルサイズを変更するような回路修正方法を提示するミラー効果発生インスタンス修正方法提示ステップである。また、ＳＸ８０１は、ミラー効果が発生しているインスタンスの入力端子又は出力端子に繋がるインスタンス（即ち、ミラー効果の発生要因となっているインスタンス）のセルサイズを変更し、これにより、ミラー効果が発生しないように、そのミラー効果が発生しているインスタンスの入力信号波形あるいは負荷容量を変更するような回路修正方法を提示するミラー効果発生要因インスタンス修正方法提示ステップである。更に、ＳＸ８０２はミラー効果発生インスタンス修正方法提示ステップＳＸ８００とミラー効果要因インスタンス修正方法提示ステップＳＸ８０１のいずれの方法が面積ダメージが少ないかを比較し、最適な回路修正方法を選択する最適修正方法選定ステップである。
【０１６９】
図２３（ａ）において、Ｘ９００はミラー効果が発生するインスタンス、Ｘ９０１はインスタンスＸ９００の入力端子に繋がるインスタンス、Ｘ９０２はインスタンスＸ９００の出力端子に繋がるインスタンス、同図（ｂ）において、Ｘ９０３はインスタンスＸ９００をミラー効果が発生しないようにセルサイズ変更を行ったインスタンス、また、同図（ｃ）において、Ｘ９０４はインスタンスＸ９００でミラー効果が発生しないようにセルサイズ変更を行ったインスタンスである。
【０１７０】
ここで、図２２及び図２３を用いて、図２１のフローを説明する。
【０１７１】
先ず、静的タイミング解析ステップＳＸ７００では、ネットリストＸ５０６に対し遅延情報Ｘ５００を割当て、静的なタイミング解析を行う。
【０１７２】
次に、タイミングＭＥＴ判定ステップＳＸ７０１では、静的タイミング解析の結果、タイミングが仕様を満たしているかどうかを判定する。この判定において、タイミングＭＥＴ判定ステップＳＸ７０１で、タイミングを満たしていない場合には、回路修正ステップＳＸ７０２に進む。
【０１７３】
回路修正ステップＳＸ７０２では、レイアウトＸ７００を読み込んで、セルのサイズ変更や、再配線を行い、タイミング改善を行う。
【０１７４】
次に、遅延計算ステップＳＸ７０３では、タイミング改善されたデザイン中の全インスタンス及び配線の遅延時間を計算し、再度、静的タイミング解析ステップＳＸ７００に戻る。タイミングが仕様を満たすまで、以上のステップが繰り返し実行される。
【０１７５】
また、前記とは異なり、タイミングＭＥＴ判定ステップＳＸ７０１で、タイミングが仕様を満たした場合には、ミラー効果発生インスタンス抽出ステップＳＸ７０４に進む。
【０１７６】
ミラー効果発生インスタンス抽出ステップＳＸ７０４では、ミラー効果発生条件Ｘ５０５を参照しながら、タイミングエラーとなっているパスを構成するインスタンスが、この条件に合致している場合、そのインスタンスを抽出する。
【０１７７】
次に、ミラー効果発生判定ステップＳＸ７０５において、ミラー効果発生インスタンス抽出ステップＳＸ７０４で抽出された中にミラー効果が起きるインスタンスがある場合には、回路修正が必要であると判定し、回路修正方法決定ステップＳＸ７０６で回路修正方法を決定した後、回路修正ステップＳＸ７０２に進み、また、ミラー効果を起こすインスタンスがない場合には、タイミング改善完了として処理を完了する。
【０１７８】
ここで、前記処理における回路修正方法決定ステップＳＸ７０６について、図２２のフロー図と図２３の回路図とを用いて詳細に説明する。
【０１７９】
回路修正方法決定ステップＳＸ７０６は、図２２に示すミラー効果発生インスタンス修正方法提示ステップＳＸ８００と、ミラー効果要因インスタンス修正方法提示ステップＳＸ８０１と最適修正方法選定ステップＳＸ８０２とから構成されている。
【０１８０】
図２３（ａ）の回路において、インスタンスＸ９００でミラー効果が発生していた場合、ミラー効果発生インスタンス修正方法提示ステップＳＸ８００では、インスタンスＸ９００の駆動能力を変更(セルサイズ変更)し、ミラー効果が発生しないサイズに変更する。この変更により、インスタンスＸ９００は図２３（ｂ）のインスタンスＸ９０３になったとする。
【０１８１】
次に、ミラー効果は、ミラー効果が発生するインスタンスに入力される信号波形と負荷容量により発生するので、ミラー効果が発生するインスタンスＸ９００に入力される前記信号波形、又は負荷容量を変更する修正ができないかを判定する。
【０１８２】
ミラー効果要因インスタンス修正方法提示ステップＳＸ８０１では、ミラー効果が発生するインスタンスＸ９００の入力信号波形を変更するために、インスタンスＸ９０１のセルサイズを変更する方法を提示する。この方法を用いたセルサイズ変更では、通常は、図２３（ｃ）に示すように、信号波形が急峻になるようにインスタンスＸ９０１をインスタンスＸ９０４のようにセルサイズを大きく(駆動能力を強く)する。また、負荷容量に着目した場合は、インスタンスＸ９０２のサイズを変更する方法でもよい。
【０１８３】
次に、最適修正方法選定ステップＳＸ８０２では、セルサイズ変更後のインスタンスＸ９０３とインスタンスＸ９０４のサイズ変更に伴う面積増加量を比較し、ステップＳＸ８００、ＳＸ８０１において提示された２つの方法のうち面積ダメージの少ないほうの方法を選定する。
【０１８４】
この選定された方法に従い、回路修正ステップＳＸ７０２ではレイアウトを修正する。
【０１８５】
以上のように、タイミング改善をする際に、ミラー効果の影響で遅延変動するインスタンスがあるかどうかを判定し、最も面積ダメージが少ない回路方法を提示することにより、最も少ないダメージで、ミラー効果を回避でき、市場での初期不良を未然に解決できる。
【産業上の利用可能性】
【０１８６】
以上説明したように、本発明では、セルが如何なる大きさの容量を駆動していても、そのセルへの入出力波形に歪が発生する場合の遅延計算を精度良く実行することが可能であると共に、従来のクロストーク解析技術をそのまま応用しながら、高精度に遅延計算を行うことが可能にあり、更には、レイアウト後の回路修正を必要最小限の回路修正で行うことができるので、セル特性キャラクタライズ方法及び半導体集積回路の遅延時間計算方法として有用である。
【図面の簡単な説明】
【０１８７】
【図１】本発明の第１の実施形態における変動入力端子容量キャラクタライズ方法のフロー図である。
【図２】本発明の第１の実施形態において、（ａ）は変動入力端子容量キャラクタライズ対象回路の図、（ｂ）はセル及び駆動負荷を実効入力端子容量に置き換えた回路図である。
【図３】本発明の第１の実施形態における変動入力端子容量キャラクタライズ方法実施例のセル入力電圧波形の図である。
【図４】本発明の第２の実施形態におけるバンプ重畳波形キャラクタライズ方法のフロー図である。
【図５】本発明の第２の実施形態におけるバンプ重畳波形キャラクタライズ対象回路の図である。
【図６】本発明の第２の実施形態におけるバンプ重畳波形キャラクタライズ実施例の図である。
【図７】本発明の第３の実施形態におけるバンプ波形が発生する条件をキャラクタライズするときの回路図である。
【図８】本発明の第３の実施形態におけるバンプが発生する条件をキャラクタライズ処理フロー図である。
【図９】本発明の第３の実施形態におけるバンプ波形の発生の有無を記載したライブラリの例を示す図である。
【図１０】本発明の第４の実施形態における波形にバンプが発生する場合の遅延計算処理フローを示す図である。
【図１１】本発明の第５の実施形態におけるミラー効果による遅延変動を考慮に入れた遅延計算処理フローを表す図である。
【図１２】本発明の第５の実施形態において、（ａ）は遅延計算処理を行う回路の具体例を示す図、（ｂ）は、（ａ）の回路図における各点の波形を図１１の処理フローにおける各ステップに対して示した図である
【図１３】本発明の第６の実施形態におけるミラー効果による遅延変動を考慮に入れた遅延計算処理フローを表す図である。
【図１４】本発明の第６の実施形態における図１３の処理フローを具体例を用いて説明する図である。
【図１５】本発明の第７の実施形態におけるバンプ重畳波形を考慮した遅延計算方法のフロー図である。
【図１６】本発明の第７の実施形態において、（ａ）はバンプ重畳波形を考慮した遅延計算処理を行う対象のネットワークの具体例を示す図、（ｂ）は（ａ）のネットの各点における波形を示した図である。
【図１７】本発明の第８の実施形態における変動入力端子容量を考慮した遅延計算方法のフロー図である。
【図１８】本発明の第８の実施形態において、（ａ）は変動入力端子容量を考慮した遅延計算処理を行う対象のネットワークの具体例を示す図、（ｂ）は（ａ）の回路の各点における信号波形を示す図である。
【図１９】本発明の第９の実施形態のタイミング解析において、タイミングを満たさないパスにミラー効果が発生するインスタンスが存在する場合のタイミング再判定方法を示す図である。
【図２０】本発明の第９の実施形態における図１９の処理フロー図の具体例を示し、（ａ）は図１９の処理フロー図の回路による具体例を示す図、（ｂ）は（ａ）の回路における遅延時間とホールド時間との関係を示す図である。
【図２１】本発明の第１０の実施形態におけるミラー効果を考慮したタイミング改善フローを表す図である。
【図２２】本発明の第１０の実施形態における最適な回路修正方法を選択する手順を表す図である。
【図２３】本発明の第１０の実施形態における最適な回路修正方法の具体例を表す図である。
【図２４】従来の遅延計算で使用するライブラリの例を示す図である。
【符号の説明】
【０１８８】
１１０３                実効入力端子容量算出ステップ
１１１５                テーブルデータ
１２０１                波形電圧発生部
１２０２                平滑化回路
１２０３                負荷部（駆動負荷）
１２０４                キャラクタライズ対象セル
１２０５                実効入力端子容量
１２１０                ミラー効果が起こらない場合の入力波形
１２１１                ミラー効果が起こった場合の入力波形
１２１２                等価入力端子容量を付加した場合の入力波形
１３０１                シミュレーションスクリプト作成ステップ
１３０３                スロープ波形及びバンプ波形分離ステップ
１４０１                バンプ電圧発生部
１４０２                波形電圧発生部
１４０３                負荷部
１４０４                キャラクタライズ対象セル
１４０５                波形上にバンプが重畳した波形
１４０７                バンプ波形
１４０８                上部スルートリップポイント
１４０９                下部スルートリップポイント
１４１０                バンプ高さ
１４１１                バンプ幅
１４１２                波形にバンプが重畳するタイミング
１４１３                バンプがピークにまで達する時間
１４１４                バンプ面積
２１０２                ネット波形分離ステップ
２１０４                ライブラリ参照ステップ
２１０５                ネット波形計算ステップ
２２０３                ネットワーク縮退ステップ
２２０５                ネット波形計算ステップ
２２０７                ネットワーク縮退ステップ
２２０８                ネット波形計算ステップ
Ｄ２０１                キャラクタライズ対象セルの入力波形
Ｄ２０２                キャラクタライズ対象セルの出力波形
Ｌ２０１                ライブラリ
ＳＴ４１                駆動負荷及び入力波形抽出ステップ
ＳＴ４２                歪発生パターン検出ステップ
ＳＴ４３                トランジスタ遅延計算ステップ
ＳＴ４４                波形歪検出ステップ
ＳＴ４５                ゲートレベル遅延計算実行ステップ
ＳＴ２０３               波形歪検出ステップ（波形歪観測ステップ）
ＳＴ２０４               ライブラリ用テーブルデータ出力ステップ
ＳＸ１００               第１の遅延計算ステップ
ＳＸ１０１               インスタンス入力信号波形計算ステップ
ＳＸ１０２、ＳＸ３００       インスタンス出力信号波形計算ステップ
ＳＸ１０３               第２の遅延計算ステップ
ＳＸ５００               遅延計算ステップ
ＳＸ５０１               静的タイミング解析ステップ
ＳＸ５０２               ミラー効果発生インスタンス抽出ステップ
ＳＸ５０３               タイミング再判定ステップ
ＳＸ７００               静的タイミング解析ステップ
ＳＸ７０１               タイミングＭＥＴ判定ステップ
ＳＸ７０２               回路修正ステップ
ＳＸ７０３               遅延計算ステップ
ＳＸ７０４               ミラー効果発生インスタンス抽出ステップ
ＳＸ７０５               ミラー効果発生判定ステップ
ＳＸ７０６               回路修正方法決定ステップ
ＳＸ８００               ミラー効果発生インスタンス修正方法提示ステップ
ＳＸ８０１               ミラー効果要因インスタンス修正方法提示ステップ
ＳＸ８０２               最適修正方法選定ステップ
Ｘ１００                動容量値
Ｘ１０１                入出力信号波形
Ｘ１０２                ミラー効果入り入力信号波形
Ｘ１０３                ミラー効果入り出力信号波形
Ｘ１０４                ライブラリ
Ｘ１０５                ＲＣ情報
Ｘ３００                ミラー効果考慮出力信号波形
Ｘ５００                遅延情報
Ｘ５０１                ミラー効果発生インスタンスリスト
Ｘ５０２                パスレポート
Ｘ５０３                スラック情報
Ｘ５０４                パス遅延変動レポート
Ｘ５０５                ミラー効果発生条件
Ｘ５０６                ネットリスト
【図１】
2005332378.tif 000003
【図２】
2005332378.tif 000004
【図３】
2005332378.tif 000005
【図４】
2005332378.tif 000006
【図５】
2005332378.tif 000007
【図６】
2005332378.tif 000008
【図７】
2005332378.tif 000009
【図８】
2005332378.tif 000010
【図９】
2005332378.tif 000011
【図１０】
2005332378.tif 000012
【図１１】
2005332378.tif 000013
【図１２】
2005332378.tif 000014
【図１３】
2005332378.tif 000015
【図１４】
2005332378.tif 000016
【図１５】
2005332378.tif 000017
【図１６】
2005332378.tif 000018
【図１７】
2005332378.tif 000019
【図１８】
2005332378.tif 000020
【図１９】
2005332378.tif 000021
【図２０】
2005332378.tif 000022
【図２１】
2005332378.tif 000023
【図２２】
2005332378.tif 000024
【図２３】
2005332378.tif 000025
【図２４】
2005332378.tif 000026