(57)【特許請求の範囲】
【請求項１】
複数の論理機能を有する論理セルで構成された集積回路の伝播遅延時間を計算する遅延時間計算方法であって、
前記集積回路中の前記論理セルの接続情報および論理名を記載したネットリストを読み込み、
前記ネットリスト中の任意の論理名の論理セルを指定し、
指定した論理セルの遅延値を変更し、
前記指定した論理セルおよび指定以外の論理セルの遅延値から最大伝播遅延間および最小伝播遅延時間を決定し、
前記論理セルの指定は、集積回路が実装されるパッケージおよびボードの温度特性と該集積回路の消費電力をもとに集積回路内部の温度上昇を計算すると共に、全論理セルを指定することを含み、
前記遅延時間の変更は、前記指定した全論理セルに対して、前記計算した温度上昇に基づき遅延値の可変パラメータを設定することを含むことを特徴とする集積回路の遅延時間計算方法。
【請求項２】
複数の論理機能を有する論理セルで構成された集積回路の伝播遅延時間を計算する遅延時間計算方法であって、
前記集積回路中の前記論理セルの接続情報および論理名を記載したネットリストを読み込み、
前記ネットリスト中の任意の論理名の論理セルを指定し、
指定した論理セルの遅延値を変更し、
前記指定した論理セルおよび指定以外の論理セルの遅延値から最大伝播遅延間および最小伝播遅延時間を決定し、
前記論理セルの指定は、集積回路が実装されるパッケージの温度特性と該集積回路の消費電力をもとに集積回路内部の温度上昇を計算すると共に、全論理セルを指定することを含み、
前記遅延時間の変更は、前記指定した全論理セルに対して、前記計算した温度上昇に基づき遅延値の可変パラメータを設定することを含むことを特徴とする集積回路の遅延時間計算方法。
【請求項３】
複数の論理機能を有する論理セルで構成された集積回路の伝播遅延時間を計算する遅延時間計算方法であって、
前記集積回路中の前記論理セルの接続情報および論理名を記載したネットリストを読み込み、
前記ネットリスト中の任意の論理名の論理セルを指定し、
指定した論理セルの遅延値を変更し、
前記指定した論理セルおよび指定以外の論理セルの遅延値から最大伝播遅延間および最小伝播遅延時間を決定し、
前記論理セルの指定は、集積回路が実装されるボードの温度特性と該集積回路の消費電力をもとに集積回路内部の温度上昇を計算すると共に、全論理セルを指定することを含み、
前記遅延時間の変更は、前記指定した全論理セルに対して、前記計算した温度上昇に基づき遅延値の可変パラメータを設定することを含むことを特徴とする集積回路の遅延時間計算方法。
【請求項４】
複数の論理機能を有する論理セルで構成された集積回路の伝播遅延時間を計算する遅延時間計算方法であって、
前記集積回路中の前記論理セルの接続情報および論理名を記載したネットリストを読み込み、
前記集積回路が実装されるパッケージの温度特性と該集積回路の消費電力をもとに集積回路内部の温度上昇を計算し、
前記計算した温度上昇に基づき全論理セルの遅延値を変更することを特徴とする集積回路の遅延時間計算方法。
【請求項５】
複数の論理機能を有する論理セルで構成された集積回路の伝播遅延時間を計算する遅延時間計算方法であって、
前記集積回路中の前記論理セルの接続情報および論理名を記載したネットリストを読み込み、
前記集積回路が実装されるボードの温度特性と該集積回路の消費電力をもとに集積回路内部の温度上昇を計算し、
前記計算した温度上昇に基づき全論理セルの遅延値を変更することを特徴とする集積回路の遅延時間計算方法。
【請求項６】
前記論理セルの指定は、所定の消費電力値を設定し、集積回路を構成する論理回路の消費電力を計算し、論理セルを、該計算した消費電力が前記所定の消費電力値を超える論理セル群と超えない論理セル群とに分類することを含み、
前記遅延時間の変更は、前記分類した各論理セル群に対して異なる遅延値の可変パラメータを設定することを含む請求項１〜５のいずれか一項に記載の集積回路の遅延時間計算方法。
【請求項７】
前記論理セルの指定は、所定の温度を設定し、論理セルの消費電力を計算した結果から局所発熱量に基づく温度分布を計算し、論理セルを、該計算した温度分布が前記所定の温度を超える論理セル群と超えない論理セル群とに分類することを含み、
前記遅延時間の変更は、前記分類した各論理セル群に対して異なる遅延値の可変パラメータを設定することを含む請求項１〜５のいずれか一項に記載の集積回路の遅延時間計算方法。
【請求項８】
前記消費電力の計算は、各論理セルの消費電力に、各論理ゲートの動作確率を与えて行う請求項６または７記載の集積回路の遅延時間計算方法。
【請求項９】
前記論理セルの指定は、所定の入力信号もしくは出力信号のいずれかの波形鈍り、または所定の出力端子の負荷容量のいずれかを設定し、各論理セルの動作確率を付与して論理回路の波形鈍りまたは出力端子の負荷容量を計算し、論理セルを、該計算した波形鈍りまたは出力端子の負荷容量のいずれかが前記設定した所定の波形鈍りまたは前記設定した所定の出力端子の負荷容量のいずれかを超える論理セル群と超えない論理セル群とに分類することを含み、
前記遅延時間の変更は、前記分類した各論理セル群に対して異なる遅延値の可変パラメータを設定することを含む請求項１〜５のいずれか一項に記載の集積回路の遅延時間計算方法。
【請求項１０】
前記論理セルの指定は、所定の論理セルの遅延誤差を設定し、論理セル内の複数のトランジスタの各々のサイズ変動と遅延との相関値、負荷容量、トランジスタサイズと遅延誤差との相関値、および論理セルに入力される信号波形の傾きの少なくとも一つ以上から遅延値の変動を計算し、論理セルを、該計算した遅延値の変動が前記所定の論理セルの遅延誤差を超える論理セル群と超えない論理セル群とに分類することを含み、
前記遅延時間の変更は、各論理セル群に対して異なる遅延値の可変パラメータを設定することを含む請求項１〜５のいずれか一項に記載の集積回路の遅延時間計算方法。
【請求項１１】
前記論理セルの指定は、所定のトランジスタサイズを設定し、論理セルを、論理セル内に使用するトランジスタサイズが前記所定のトランジスタサイズを超える論理セル群と超えない論理セル群とに分類することを含み、
前記遅延時間の変更は、前記分類した各論理セル群に対して異なる遅延値の可変パラメータを設定することを含む請求項１〜５のいずれか一項に記載の集積回路の遅延時間計算方法。
【請求項１２】
複数の論理機能を有する論理セルで構成された集積回路の伝播遅延時間を計算する遅延時間計算方法であって、
前記集積回路中の前記論理セルの接続情報および論理名を記載したネットリストを読み込み、
前記ネットリスト中の任意の論理名の論理セルを指定し、
指定した論理セルの遅延値を変更し、
前記指定した論理セルおよび指定以外の論理セルの遅延値から最大伝播遅延時間および最小伝播遅延時間を決定し、
前記論理セルの指定は、
所定の消費電力値を設定し、集積回路を構成する論理回路の消費電力を計算し、論理セルを、該計算した消費電力が前記所定の消費電力値を超える論理セル群と超えない論理セル群とに分類することと、
所定の温度を設定し、論理セルの消費電力を計算した結果から局所発熱量に基づく温度分布を計算し、論理セルを、該計算した温度分布が前記所定の温度を超える論理セル群と超えない論理セル群とに分類することと、
所定の入力信号もしくは出力信号のいずれかの波形鈍り、または所定の出力端子の負荷容量のいずれかを設定し、各論理セルの動作確率を付与して論理回路の波形鈍りまたは出力端子の負荷容量を計算し、論理セルを、該計算した波形鈍りまたは出力端子の負荷容量のいずれかが前記設定した所定の波形鈍りまたは前記設定した所定の出力端子の負荷容量のいずれかを超える論理セル群と超えない論理セル群とに分類することと、
所定の論理セルの遅延誤差を設定し、論理セル内の複数のトランジスタの各々のサイズ変動と遅延との相関値、負荷容量、トランジスタサイズと遅延誤差との相関値、および論理セルに入力される信号波形の傾きの少なくとも一つ以上から遅延値の変動を計算し、論理セルを、該計算した遅延値の変動が前記所定の遅延誤差を超える論理セル群と超えない論理セル群とに分類することと、
所定のトランジスタサイズを設定し、論理セルを、論理セル内に使用するトランジスタサイズが前記所定のトランジスタサイズを超える論理セル群と超えない論理セル群とに分類すること
のうちの少なくとも２つを含み、
前記遅延時間の変更は、前記少なくとも２つの分類の各分類における各論理セル群に対して異なる遅延値の可変パラメータを設定することを特徴とする集積回路の遅延時間計算方法。
【請求項１３】
複数の論理機能を有する論理セルで構成された集積回路の伝播遅延時間を計算する遅延時間計算方法であって、
前記集積回路中の前記論理セルの接続情報および論理名を記載したネットリストを読み込み、
前記ネットリスト中の任意の論理名の論理セルを指定し、
指定した論理セルの遅延値を変更し、
前記指定した論理セルおよび指定以外の論理セルの遅延値から最大伝播遅延時間および最小伝播遅延時間を決定し、
前記論理セルの指定は、複数の境界条件からなる所定の動作確率を設定し、各論理セルを前記複数の境界条件からなる動作確率のいずれの範囲にあるかを分類することを含み、前記遅延時間の変更は、前記分類した各論理セル群に対して異なる遅延値の可変パラメータを設定することを特徴とする集積回路の遅延時間計算方法。
【請求項１４】
前記集積回路が実装されるパッケージおよびボードの温度特性はパッケージの熱抵抗として表現される請求項１記載の集積回路の遅延時間計算方法。
【請求項１５】
前記集積回路が実装されるパッケージの温度特性はパッケージの熱抵抗として表現される請求項２または４に記載の集積回路の遅延時間計算方法。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、複数の論理セルを用いて、ゲートレベルで設計する集積回路装置において、複数の論理セルの伝播遅延時間を正確に計算する遅延時間計算方法に関するものである。
【０００２】
【従来の技術】
従来の伝搬遅延時間の計算では、種々のマージンを考慮する際に、シミュレーション誤差、温度、電源電圧の設定の最悪値を用いていた。この方法では、集積回路全体に対してマージン設定を行うため、遅延時間の設計値が大きくなり、シミュレーション誤差が増大する要因となっていた。
【０００３】
このシミュレーション誤差を低減するため、特開平９−３１１８７７号公報には、セル種類毎に、異なる誤差係数を設定する方法が開示されている。
【０００４】
【発明が解決しようとする課題】
しかしながら、上記公報のような遅延時間計算方法では、回路の動作確率が考慮されておらず、チップ内の局所発熱や、ホットキャリア遅延劣化など回路依存性が反映できない。
【０００５】
また、特定温度で抽出したライブラリ遅延値に対して、パッケージ、基板などによる温度条件変更に対応できない、などの問題点がある。
【０００６】
さらに、回路シミュレーションの誤差を正確に反映できないという問題がある。従来、回路シミュレータの一つであるＳＰＩＣＥの誤差を設計に反映させるためには、複数サイズのゲート遅延の実測結果とシミュレーション結果とを比較し、最も大きな誤差を設定していた。ＳＰＩＣＥの誤差には、トランジスタのゲート長、ゲート幅のサイズ依存性が存在することが知られている。これは、トランジスタの拡散領域／分離領域の段差ばらつきが、ゲート長寸法のばらつきを引き起こし、かつ、段差ばらつきにゲート幅依存性が存在するためである。ＳＰＩＣＥ誤差のサイズ依存性をシミュレーションで考慮できればシミュレーションの誤差改善が可能である。しかし、論理セル内には複数のサイズのトランジスタが用いられるため、上記の従来技術では対応できない。
【０００７】
したがって、本発明は、前記従来の問題を解決し、過剰な設計マージンを設定せずに、遅延時間計算の精度を向上させる遅延時間計算方法を提供することを目的とする。
【０００８】
【課題を解決するための手段】
前記の目的を達成するため、本発明の第１の集積回路の遅延時間計算方法は、複数の論理機能を有する論理セルで構成された集積回路の伝播遅延時間を計算する遅延時間計算方法であって、前記集積回路中の前記論理セルの接続情報および論理名を記載したネットリストを読み込み、前記ネットリスト中の任意の論理名を付与した論理セルを指定し、指定した論理セルの遅延値を変更し、前記指定した論理セルおよび指定以外の論理セルの遅延値から最大伝播遅延時間および最小伝播遅延時間を決定し、前記論理セルの指定は、集積回路が実装されるパッケージおよびボードの温度特性と該集積回路の消費電力をもとに集積回路内部の温度上昇を計算すると共に、全論理セルを指定することを含み、前記遅延時間の変更は、前記指定した全論理セルに対して、前記計算した温度上昇に基づき遅延値の可変パラメータを設定することを含むことを特徴とする。
また、本発明の第２の集積回路の遅延時間計算方法は、複数の論理機能を有する論理セルで構成された集積回路の伝播遅延時間を計算する遅延時間計算方法であって、前記集積回路中の前記論理セルの接続情報および論理名を記載したネットリストを読み込み、前記ネットリスト中の任意の論理名の論理セルを指定し、指定した論理セルの遅延値を変更し、前記指定した論理セルおよび指定以外の論理セルの遅延値から最大伝播遅延間および最小伝播遅延時間を決定し、前記論理セルの指定は、集積回路が実装されるパッケージの温度特性と該集積回路の消費電力をもとに集積回路内部の温度上昇を計算すると共に、全論理セルを指定することを含み、前記遅延時間の変更は、前記指定した全論理セルに対して、前記計算した温度上昇に基づき遅延値の可変パラメータを設定することを含むことを特徴とする。
また、本発明の第３の集積回路の遅延時間計算方法は、複数複数の論理機能を有する論理セルで構成された集積回路の伝播遅延時間を計算する遅延時間計算方法であって、前記集積回路中の前記論理セルの接続情報および論理名を記載したネットリストを読み込み、前記ネットリスト中の任意の論理名の論理セルを指定し、指定した論理セルの遅延値を変更し、前記指定した論理セルおよび指定以外の論理セルの遅延値から最大伝播遅延間および最小伝播遅延時間を決定し、前記論理セルの指定は、集積回路が実装されるボードの温度特性と該集積回路の消費電力をもとに集積回路内部の温度上昇を計算すると共に、全論理セルを指定することを含み、前記遅延時間の変更は、前記指定した全論理セルに対して、前記計算した温度上昇に基づき遅延値の可変パラメータを設定することを含むことを特徴とする。
また、本発明の第４の集積回路の遅延時間計算方法は、複数の論理機能を有する論理セルで構成された集積回路の伝播遅延時間を計算する遅延時間計算方法であって、前記集積回路中の前記論理セルの接続情報および論理名を記載したネットリストを読み込み、前記集積回路が実装されるパッケージの温度特性と該集積回路の消費電力をもとに集積回路内部の温度上昇を計算し、前記計算した温度上昇に基づき全論理セルの遅延値を変更することを特徴とする。
また、本発明の第５の集積回路の遅延時間計算方法は、複数の論理機能を有する論理セルで構成された集積回路の伝播遅延時間を計算する遅延時間計算方法であって、前記集積回路中の前記論理セルの接続情報および論理名を記載したネットリストを読み込み、前記集積回路が実装されるボードの温度特性と該集積回路の消費電力をもとに集積回路内部の温度上昇を計算し、前記計算した温度上昇に基づき全論理セルの遅延値を変更することを特徴とする。
【０００９】
この遅延時間計算方法によれば、特定の論理名を付与した論理セル（インスタンス）に対して個別の遅延時間マージン値を設定することができるため、最大のマージン値を集積回路全体に設定する必要がなくなり、適正な遅延時間設計が可能になる。
また、この方法によれば、全インスタンスを指定し、放熱条件に応じて決定した遅延変更パラメータを用いることで、消費電力とパッケージおよびボードの放熱特性との差を遅延計算結果に反映させることができ、開発品種毎に異なるマージン値を簡単な方法で設定することができる。
【００１０】
本発明の前記遅延時間計算方法において、前記論理セルの指定は、所定の消費電力値を設定し、集積回路を構成する論理回路の消費電力を計算し、論理セルを、該計算した消費電力が前記所定の消費電力値を超える論理セル群と超えない論理セル群とに分類することを含み、前記遅延時間の変更は、前記分類した各論理セル群に対して異なる遅延値の可変パラメータを設定することを含むことが望ましい。
【００１１】
この方法によれば、消費電力の境界値を超えた特定回路ブロックの特定インスタンスに対して個別の遅延時間マージン値が設定できるため、マージンの最大値を全集積回路に設定する必要がなくなり、適正な設計が可能になる。
【００１２】
または、本発明の前記遅延時間計算方法において、前記論理セルの指定は、所定の温度を設定し、論理セルの消費電力を計算した結果から局所発熱量に基づく温度分布を計算し、論理セルを、該計算した温度分布が前記所定の温度を超える論理セル群と超えない論理セル群とに分類することを含み、前記遅延時間の変更は、前記分類した各論理セル群に対して異なる遅延値の可変パラメータを設定することを含むことが望ましい。
【００１３】
この方法によれば、温度境界値を超えた特定インスタンスに対して個別の遅延時間マージン値が設定できるため、マージンの最大値を全集積回路に設定する必要がなくなり、適正な設計が可能になる。また、インスタンス毎の詳細な温度分布を計算できるため、局所発熱の影響をさらに正確に反映させることができる。
【００１４】
また、前記消費電力の計算は、各論理セルの消費電力に、各論理ゲートの動作確率を与えて行うことが望ましい。
【００１５】
これにより、動作確率が高く発熱量が多いことに起因してキャリアの移動度低下による遅延劣化が大きくなる条件の回路を回路ブロック中で選択し、該当回路のみに大きな遅延時間マージン値を設定することで、それ以外の回路に対する過剰な設計マージンを削減することができる。
【００１８】
または、本発明の前記遅延時間計算方法において、前記論理セルの指定は、所定の入力信号および出力信号のいずれかの波形鈍り、および所定の出力端子の負荷容量のいずれかを設定し、各論理セルの動作確率を付与して論理回路の波形鈍りまたは出力端子の負荷容量を計算し、論理セルを、該計算した波形鈍りおよび出力端子の負荷容量のいずれかが前記所定の波形鈍りおよび前記所定の出力端子の負荷容量のいずれかを超える論理セル群と超えない論理セル群とに分類することを含み、前記遅延時間の変更は、前記分類した各論理セル群に対して異なる遅延値の可変パラメータを設定することを含むことが望ましい。
【００１９】
この方法によれば、出力端子の負荷容量または入力信号の波形条件の境界値を超えた特定インスタンスに対して個別の遅延時間マージン値が設定できるため、ホットキャリアによる遅延劣化マージンの最大値を全集積回路に設定する必要がなくなり、適正な設計が可能になる。
【００２０】
または、本発明の前記遅延時間計算方法において、前記論理セルの指定は、所定の論理セルの遅延誤差を設定し、論理セル内の複数のトランジスタの各々のサイズ変動と遅延との相関値、負荷容量、トランジスタサイズと遅延誤差との相関値、および論理セルに入力される信号波形の傾きの少なくとも一つ以上から遅延値の変動を計算し、論理セルを、該計算した遅延値の変動が前記所定の遅延誤差を超える論理セル群と超えない論理セル群とに分類することを含み、前記遅延時間の変更は、各論理セル群に対して異なる遅延値の可変パラメータを設定することを含むことが望ましい。
【００２１】
この方法によれば、トランジスタサイズに応じたシミュレーション誤差を、回路遅延への影響度を定量化した上で設定できるので、従来の最悪遅延誤差を一律に掛ける方法とは異なり、回路全体への過剰な設計マージンを削減することができる。
【００２２】
または、本発明の前記遅延時間計算方法において、前記論理セルの指定は、所定のトランジスタサイズを設定し、論理セルを、論理セル内に使用するトランジスタサイズが前記所定のトランジスタサイズを超える論理セル群と超えない論理セル群とに分類することを含み、前記遅延時間の変更は、前記分類した各論理セル群に対して異なる遅延値の可変パラメータを設定することを含むことが望ましい。
【００２３】
この方法によれば、サイズ起因誤差の境界値を超えた特定インスタンスに対して個別の遅延時間マージン値が設定できるため、マージンの最大値を全集積回路に設定する必要がなくなり、適正な設計が可能になる。また、誤差判定が簡単にでき、処理時間を短縮することが可能になる。
【００２４】
または、本発明の第６の集積回路の遅延時間計算方法は、複数の論理機能を有する論理セルで構成された集積回路の伝播遅延時間を計算する遅延時間計算方法であって、前記集積回路中の前記論理セルの接続情報および論理名を記載したネットリストを読み込み、前記ネットリスト中の任意の論理名を付与した論理セルを指定し、指定した論理セルの遅延値を変更し、前記指定した論理セルおよび指定以外の論理セルの遅延値から最大伝播遅延時間および最小伝播遅延時間を決定し、前記論理セルの指定は、所定の消費電力値を設定し、集積回路を構成する論理回路の消費電力を計算し、論理セルを、該計算した消費電力が前記所定の消費電力値を超える論理セル群と超えない論理セル群とに分類することと、所定の温度を設定し、論理セルの消費電力を計算した結果から局所発熱量に基づく温度分布を計算し、論理セルを、該計算した温度分布が前記所定の温度を超える論理セル群と超えない論理セル群とに分類することと、所定の入力信号もしくは出力信号のいずれかの波形鈍り、または所定の出力端子の負荷容量のいずれかを設定し、各論理セルの動作確率を付与して論理回路の波形鈍りまたは出力端子の負荷容量を計算し、論理セルを、該計算した波形鈍りまたは出力端子の負荷容量のいずれかが前記設定した所定の波形鈍りまたは前記設定した所定の出力端子の負荷容量のいずれかを超える論理セル群と超えない論理セル群とに分類することと、所定の論理セルの遅延誤差を設定し、論理セル内の複数のトランジスタの各々のサイズ変動と遅延との相関値、負荷容量、トランジスタサイズと遅延誤差との相関値、および論理セルに入力される信号波形の傾きの少なくとも一つ以上から遅延値の変動を計算し、論理セルを、該計算した遅延値の変動が前記所定の遅延誤差を超える論理セル群と超えない論理セル群とに分類することと、所定のトランジスタサイズを設定し、論理セルを、論理セル内に使用するトランジスタサイズが前記所定のトランジスタサイズを超える論理セル群と超えない論理セル群とに分類することのうちの少なくとも２つを含み、前記遅延時間の変更は、前記少なくとも２つの分類の各分類における各論理セル群に対して異なる遅延値の可変パラメータを設定することを含むことが望ましい。
【００２５】
この方法によれば、実際の回路の動作条件をさらに詳細に反映した遅延時間の計算ができるため、計算精度を向上させることが可能になる。
また、前記論理セルの指定は、複数の境界条件からなる所定の動作確率を設定し、各論理セルを前記複数の境界条件からなる動作確率のいずれの範囲にあるかを分類することを含み、前記遅延時間の変更は、前記分類した各論理セル群に対して異なる遅延値の可変パラメータを設定することを含むことが望ましい。
また、複数の論理機能を有する論理セルで構成された集積回路の伝播遅延時間を計算する遅延時間計算方法であって、前記集積回路中の前記論理セルの接続情報および論理名を記載したネットリストを読み込み、前記ネットリスト中の任意の種類の論理セルを指定し、指定した論理セルの遅延値を変更し、前記指定した論理セルおよび指定以外の論理セルの遅延値から最大伝播遅延時間および最小伝播遅延時間を決定することが望ましい。
【００２６】
【発明の実施の形態】
以下、本発明の実施の形態について、図面に基づいて説明する。
【００２７】
（第１の実施形態）
図１は、本発明の第１の実施形態に係る集積回路の遅延時間計算方法を示すブロック図である。
【００２８】
１００は集積回路に用いる論理セルの遅延ライブラリ、１０１は集積回路を構成する論理回路の接続情報を読み込む回路読み込み部、１０２は論理回路を構成し論理名が付与された論理セル（以下、インスタンスと呼ぶ）の分類情報１１０に基づいて、特定の論理セルを指定するインスタンス指定部、１０３は遅延を変更するパラメータを決定する遅延変更パラメータ決定部、１０４は指定されたインスタンスの遅延時間を遅延変更パラメータに基づき決定する遅延時間変更部、１０５は指定論理セル以外の遅延時間を計算する遅延時間計算部、１０６は遅延時間計算部１０５の出力結果と遅延時間変更部１０４の出力結果をもとに、集積回路の最大遅延時間と最小遅延時間を決定する最大／最小遅延時間計算部である。１０７は最大／最小遅延計算部１０６の計算結果に基づき、論理回路のシミュレーションを行うシミュレーション実行部である。
【００２９】
図２は、図１に示すインスタンス指定部１０２の具体例を説明するための図である。図２（ａ）は、遅延時間の計算対象となる集積回路の構成を示した回路ブロック図であり、内部には論理セルで構成した回路ブロック２０１、２０２、２０３が設けられている。
【００３０】
集積回路によっては、各回路ブロックの動作確率に差異があり、異なる設計マージンを設定した方が、回路の動作状態を正確に記述できる場合がある。具体的な実現方法は後述する第２の実施形態で説明するが、各々の回路ブロックの消費電力に差がある場合などがその例である。例えば、２０１が高速の周波数で頻繁に動作し、２０３が低速の周波数で動作するか、ほとんど動作しない場合には、消費電力および発熱量が異なるため、回路ブロック２０１と２０３で異なるマージンを設定した方が適切な設計になる。この例では、回路ブロック２０１を構成するインスタンスには、高周波動作により発熱量が大きくなるため、大きなマージンになるように遅延変更パラメータを設定し、また、回路ブロック２０３を構成するインスタンスには、低周波動作またはほとんど動作しないことにより発熱量が小さいため、小さなマージンになるように遅延変更パラメータを設定する。このような設定が必要になる理由としては、今後、集積度の向上によるシステムの１チップ集積化が進み、チップ面積の増大が考えられるためである。
【００３１】
図２（ｂ）は、図２（ａ）に示す回路ブロック中の特定インスタンスを抜き出したブロック図で、特定の遅延経路のインスタンスに対して遅延値を変更するようにパラメータ設定する例を示している。
【００３２】
後述する第４の実施形態で具体的な実現方法を説明するが、ホットキャリアによりトランジスタ性能が変化するため、回路種類によって異なる遅延時間劣化率を設定する場合が考えられる。入力信号の波形鈍りが小さく、負荷容量が大きく、かつ動作確率が高い回路では、ホットキャリアによる遅延劣化が大きいことが知られている。ホットキャリアによる遅延劣化が大きくなる条件の回路を回路ブロック中で選択し、該当回路のみに大きなマージン値を設定すれば、それ以外の回路に対する過剰な設計マージンを削減することができる。図２（ｂ）の例では、２１１、２１２、２１３のインスタンスが該当するものとし、このインスタンスの遅延値を変更する。
【００３３】
図３は、遅延ライブラリ１００での遅延値の表現方法、遅延変更パラメータ決定部１０３での遅延変更パラメータの決定、遅延時間変更部１０４での遅延時間の変更方法について示した図である。論理回路の遅延値は、入力波形の傾きと負荷容量によって変わることが知られている。図３では、さらに動作確率αｉ（ｉ＝１、２、…）を導入し、各種の入力波形の傾き（立ち上がり時間）と負荷容量に対して、遅延変更パラメータβｉｊ、γｉｊ、δｉｊ（ｉ＝１、２、…、ｊ＝１、２、…）を決定している。この遅延変更パラメータβｉｊ、γｉｊ、δｉｊを遅延ライブラリ１００の設定パラメータの１つとし、遅延ライブラリ１００の登録遅延値に乗ずることで、変更後の遅延値を得ることができる。なお、図３では、表形式の遅延表現の方法を用いたが、入力波形、負荷容量等の入力変数に対する関数で遅延ライブラリ１００の遅延値を表現してもよい。
【００３４】
ここで、チップの温度上昇をマージン値に反映させる最も簡単な方法は、チップ全体の平均消費電力から内部の平均温度を計算し、回路遅延の温度依存性からマージン値を算出することである。温度上昇は、パッケージの放熱特性、実装基板上の放熱特性に依存するが、開発品種によって条件が種々異なる。現状では、消費電力および放熱特性の差を遅延計算結果に反映させることはできないが、全インスタンスを指定し、放熱条件に応じて決定した遅延変更パラメータを用いれば、開発品種毎に異なるマージン値を簡単な方法で設定することができる。
【００３５】
以上説明したように、本実施形態によれば、特定の論理セルを指定するインスタンス指定部１０２、遅延変更パラメータ決定部１０３、指定されたインスタンスの遅延時間を遅延変更パラメータに基づき決定する遅延時間変更部１０４、集積回路の最大遅延時間と最小遅延時間を決定する最大／最小遅延時間計算部１０６を備えたことで、特定のインスタンスに対して個別のマージン値を設定することができるため、最大のマージン値を全集積回路に設定する必要がなくなり、適正な設計が可能になる。また、チップの放熱など品種固有の条件に適合した遅延計算を容易に行うことができる。
【００３６】
（第２の実施形態）
図４は、本発明の第２の実施形態に係る集積回路の遅延計算方法を示したブロック図であり、集積回路を構成する回路ブロック毎の局所発熱の影響を考慮した遅延計算の詳細を示している。なお、第１の実施形態を示す図１と同一の構成要素には同一の符号を記し、それらについては説明を省略する。
【００３７】
図４において、破線部分４１０が、本実施形態でのインスタンス分類と遅延変更パラメータ決定を行う主要構成部である。４００は回路ブロックのレイアウトデータ、４０１は論理セルの消費電力を記した消費電力ライブラリ、４０２は動作確率のデータである。これらの値をもとに消費電力計算部４０４で論理回路の消費電力を計算する。消費電力は動作確率に依存するため、マージン設定の適正化のため、インスタンス毎の動作確率データを用いる。
【００３８】
４０３は消費電力設定部で、設計者が温度上昇を考慮する際の境界値となる消費電力値を設定する。この設定内容は、消費電力と遅延増加率との関係を記述したものである。回路ブロックの消費電力が、この境界値を超えるか否かを比較部４０５で比較判定し、インスタンス分類部４０６で境界値を超える回路ブロックのインスタンス群と超えない回路ブロックのインスタンス群とに分類する。遅延変更パラメータ決定部４０７では、境界値との比較結果に基づき、遅延変更パラメータを決定する。さらに、算出した回路ブロックの消費電力とあらかじめ与えてあるパッケージ及び実装基板の放熱特性から集積回路内部での局所発熱量を決定し、これをもとに遅延変更パラメータを決定する。なお、消費電力の境界値を複数設定すれば、遅延ライブラリ１００の遅延値の詳細な変更が可能になる。
【００３９】
ここで、電源電圧の低電圧化に対して、オフリーク電流の抑制のため、トランジスタのしきい値電圧Ｖｔが下げられないことが問題として指摘されている。これを解決するため、半導体基板上に絶縁層を形成し、さらにその上に形成した拡散領域中にトランジスタを作成するＳＯＩ（Silicon On Insulator）技術が注目されている。この技術の問題点は、絶縁層の熱伝導率が低いことにあり、シリコン基板の熱伝導率が１．５［Ｗ／ｃｍ／Ｋ］であるのに対して、ＳｉＯ2の熱伝導率は０．０１４［Ｗ／ｃｍ／Ｋ］である。これは、２桁以上、発生した熱が伝導しにくいことを示しており、チップ内部での局所発熱が問題になる。しかしながら、本実施形態のように、発熱の影響を考慮することにより、局所発熱の問題を解決することが可能になる。
【００４０】
以上説明したように、第２の実施形態によれば、第1の実施形態に示した構成に加えて、消費電力設定部４０３、消費電力計算部４０４、比較部４０５、インスタンス分類部４０６、遅延変更パラメータ決定部４０７を備えることで、消費電力の境界値を超えた特定回路ブロックの特定インスタンスに対して個別の遅延時間マージン値が設定できるため、マージンの最大値を全集積回路に設定する必要がなくなり、適正な設計が可能になる。
【００４１】
（第３の実施形態）
図５は、本発明の第３の実施形態に係る集積回路の遅延計算方法を示したブロック図であり、集積回路を構成する論理セル毎の局所発熱の影響を考慮した遅延計算の詳細を示している。本実施形態においては、論理セル毎の局所発熱を考慮することで、図４に示した第２の実施形態よりも詳細な解析が可能になる。なお、図１および図４と同一の構成要素には同一の符号を記し、それらについては説明を省略する。
【００４２】
図５において、破線部分５１０が、本実施形態でのインスタンス分類と遅延変更パラメータ決定を行う主要構成部である。５０１は温度設定部で、設計者が考慮対象の境界値となる温度を設定する。この設定内容は、上昇温度と遅延増加率との関係を記述したものである。５０２は温度分布計算部であり、インスタンス毎に計算した消費電力と、あらかじめ与えてあるパッケージおよび実装基板の放熱特性をもとに、集積回路内部での温度上昇を計算する。算出した温度上昇がこの境界値を超えるか否かを比較部５０３で比較判定し、インスタンス分類部４０６で境界値を超えるインスタンス群と超えないインスタンス群とに分類する。さらに、遅延変更パラメータ決定部４０７では、境界値との比較結果に基づき、遅延変更パラメータを決定する。なお、温度上昇の境界値を複数設定すれば、遅延ライブラリ１００の遅延値の詳細な変更が可能になる。
【００４３】
図６は、温度分布計算部５０２において、各インスタンスの消費電力に基づき温度上昇を計算する方法を示した図である。集積回路６００内に、各々異なった消費電力の回路ブロック６０１、６０２、６０３があり、各回路ブロック中には、さらに異なった消費電力のインスタンスがあるものとする。それは、回路ブロック６０１内のインスタンス６１１、６１２、６１３である。温度分布計算部５０２は、各インスタンスの消費電力と熱伝導方程式とにより、各々のインスタンスを中心とした等温線を計算する。
【００４４】
この等温線の計算方法について、インスタンス６１１を例にして説明する。インスタンス６１１の動作確率をα、動作周波数をｆ、負荷容量をＣload、電源電圧をＶＤＤ、消費電力をＰとすると、これらの間には、以下の関係が存在する。ここでは、簡単のため、貫通電流による消費電力の成分を無視する。
【００４５】
【数１】
Ｐ＝α×ｆ×Ｃload×ＶＤＤ2
次に、消費電力Ｐから、インスタンス６１１の単位時間当たりの温度上昇を計算する。消費電力Ｐは、
【００４６】
【数２】
Ｐ＝比熱［Ｊ／ｋｇ／Ｋ］×温度差［Ｋ］×質量［ｋｇ］
＝比熱［Ｊ／ｋｇ／Ｋ］×温度差［Ｋ］×密度［ｋｇ／ｍ3]
×インスタンス６１１の面積［ｍ2］×接合深さ［ｍ］
で表され、［  ］内は単位系を示す。質量としては、回路が動作する面積とトランジスタが形成された接合深さの積で決定されるものとする。
【００４７】
また、インスタンス６１１が動作した際の温度Ｔｃは、式２を基に算出した温度差を用い、室温ＲＴからの差分により、以下のように求めることができる。
【００４８】
【数３】
Ｔｃ＝ＲＴ−温度差
次に、シリコン基板上の温度分布を、熱伝導方程式を求めて計算する。以下の式４は、熱伝導のフーリエの法則として知られた式である。
【００４９】
【数４】
ｑ＝−ｋ×Ａ×ΔＴ／Δｘ
ここで、ｑは単位面積、単位時間当たりの熱移動量、ｋは物質の熱伝導率であり、シリコン基板の場合は１．５［Ｗ／ｃｍ／Ｋ］である。負号は、熱が拡散することを示す。このｑは、インスタンス６１１の消費電力から熱輻射によって取り去られる熱量を差し引いたものになる。熱輻射は、パッケージ、実装基板の材料、冷却条件で決定され、パッケージの熱抵抗θ［Ｋ／Ｗ］として表現される。集積回路外部の温度をＴａとすると、熱の移動量ｑは以下の式で表現される。
【００５０】
【数５】
ｑ＝Ｐ−（Ｔｃ−Ｔａ）／θ
上記の式４及び式５を用い、また、シリコン基板の厚さをｄとすると、インスタンス６１１を中心とする半径ｒの等温面が示す温度は以下のようになる。
【００５１】
【数６】
ΔＴ＝−｛Ｐ−（Ｔｃ−Ｔａ）／θ｝×ｄ／（ｋ×π×ｒ2）
このΔＴは、式３で示したＴｃからの温度減少分を示す。以上の手順により、インスタンス６１１の動作による発熱に対して、等温線６２１を算出することができる。
【００５２】
同様の方法で、インスタンス６１２の等温線６２２、インスタンス６１３の等温線６２３を算出し、これらの等温線を重畳することにより、回路ブロック６０１の内部および周辺の温度分布を計算する。さらに、同様の方法で、回路ブロック６０２、６０３を中心とした温度分布を計算する。
【００５３】
以上説明したように、本実施形態によれば、第２の実施形態に示した構成に加えて、温度分布計算部５０１、温度設定部５０２、比較部５０３を備えることで、温度境界値を超えた特定インスタンスに対して個別のマージン値が設定できるため、マージンの最大値を全集積回路に設定する必要がなくなり、適正な設計が可能になる。また、インスタンス毎の詳細な温度分布を計算できるため、局所発熱の影響を第２の実施形態よりも正確に反映させることができる。
【００５４】
（第４の実施形態）
図７は、本発明の第４の実施形態に係る集積回路の遅延計算方法を示したブロック図であり、集積回路を構成する論理セル毎のホットキャリアによる遅延劣化を考慮した遅延計算の詳細を示している。なお、図１および図４と同一構成要素には同一の符号を記し、それらについては説明を省略する。
【００５５】
図７において、破線部分７１０が、本実施形態でのインスタンス分類と遅延変更パラメータ決定を行う主要構成部である。７０１は負荷容量・波形設定部で、設計者が考慮対象の境界値となる入力信号の波形または出力端子における負荷容量の条件を設定する。この設定内容は、信号波形の傾き、負荷容量、遅延劣化率の関係を記述したものである。７０２は負荷容量・波形計算部であり、インスタンス毎に、接続された入力波形の傾きまたは出力負荷容量を計算する。算出した波形の傾きまたは負荷容量が境界値を超えるか否かを比較部７０３で比較判定し、インスタンス分類部４０６において、境界値を超えるインスタンス群と超えないインスタンス群とに分類する。さらに、遅延変更パラメータ決定部４０７では、境界値との比較結果に基づき、遅延変更パラメータを決定する。なお、境界値を複数設定すれば、遅延ライブラリ１００の遅延値の詳細な変更が可能になる。
【００５６】
ホットキャリアによる遅延劣化が大きくなる回路としては、トランジスタのゲート入力信号の波形傾きが小さく、負荷容量が大きく、動作確率が高い回路であることが知られている。図８は、ホットキャリアによる遅延劣化を説明する回路図で、この例では、インバータ８０１の入力信号線８１１における信号波形の傾きが小さく、出力線８１２の負荷容量が大きい場合である。この場合、トランジスタのドレイン近傍に強い電界が加わり、キャリア（主として電子）がゲート酸化膜中に取り込まれ、しきい値電圧変動、ドレイン電流変動などの特性変化をもたらす。また、負荷容量が大きな双方向のトランスファゲートを含む回路も、遅延劣化率が大きい。このように、ホットキャリアによる遅延劣化率の大きな回路を、入力信号の波形条件、出力端子の負荷容量、および回路構成により絞り込めるにも関わらず、従来の方法では、最悪条件での遅延劣化率を一律に掛けざるを得なかった。
【００５７】
しかしながら、本実施形態の方法では、入力信号の波形条件および出力端子の負荷容量を負荷容量・波形設定部の設定値と比較することにより、遅延劣化率が大となる条件のインスタンスを回路ブロック中で選択することができる。該当回路のみに大きなマージン値を設定するため、それ以外の回路に対する過剰な設計マージンを削減することができる。
【００５８】
以上説明したように、本実施形態によれば、第１の実施形態に示した構成に加えて、負荷容量・波形設定部７０１、負荷容量・波形計算部７０２、および比較部７０３を備えることで、負荷容量または入力信号の波形条件の境界値を超えた特定インスタンスに対して個別のマージン値が設定できるため、ホットキャリアによる遅延劣化マージンの最大値を全集積回路に設定する必要がなくなり、適正な設計が可能になる。
【００５９】
なお、本実施形態では、所定の容量値および所定の入力波形の傾きを超える出力端子の負荷容量および入力信号の波形の傾きを検出する方法を用いたが、他の実施形態として、出力信号の波形の傾きを検出するような構成をとっても、出力負荷容量と出力の駆動能力との関係を判別することができるため、ホットキャリアによる遅延劣化が大きくなる条件を検出することができる。
【００６０】
（第５の実施形態）
図９は、本発明の第５の実施形態に係る集積回路の遅延時間計算方法を示したブロック図であり、論理セル中のトランジスタサイズの変動に起因する回路シミュレーション誤差を適正値に設定可能な遅延計算方法を示している。なお、図１および図４と同一の構成要素には同一の符号を記し、それらについては説明を省略する。
【００６１】
図９において、破線部分９１０が、本実施形態でのインスタンス分類と遅延変更パラメータ決定を行う主要構成部である。９００は、論理セル中のトランジスタのトランジスタ感度データで、論理セル中のトランジスタサイズ変動の回路遅延に対する感度をあらかじめ計算したもの、９０１はサイズ誤差データで、トランジスタのゲート長、ゲート幅と、回路シミュレータであるＳＰＩＣＥのシミュレーション誤差との関係を記述したものである。９０２は遅延変動計算部で、レイアウトデータ４００から解析した負荷容量、遅延ライブラリ１００、トランジスタ感度データ９００、およびサイズ誤差データ９０１をもとに、シミュレーション誤差のサイズ依存性を考慮した遅延変動を計算する。９０３は遅延誤差設定部で、設計者が考慮対象の境界値となるシミュレーションの遅延誤差を設定する。比較部９０４において、遅延誤差設定部９０３での境界値と遅延変動計算部９０２での計算結果とを比較判定し、インスタンス分類部４０６で、境界値を超えるインスタンス群と超えないインスタンス群とに分類する。さらに、遅延変更パラメータ決定部４０７では、境界値との比較結果に基づき、遅延変更パラメータを決定する。なお、境界値を複数設定すれば、遅延ライブラリ１００の遅延値を詳細に変更することが可能になる。
【００６２】
次に、トランジスタサイズの誤差について、図１０を用いて説明する。図１０（ａ）は、トランジスタの平面図であり、１００１Ａはゲート、１００２Ａはトランジスタの拡散領域を示す。図１０（ｂ）はトランジスタをチャネル幅方向に沿って切断した断面図であり、１００１Ｂはゲート、１００２Ｂはトランジスタの拡散領域、１００３Ａ、１００３Ｂは分離領域を示す。また、図１０（ｃ）は、トランジスタをチャネル長方向に沿って切断した断面図であり、１００１Ｃはゲート、１００２Ｃはトランジスタの拡散領域、１００３Ｃ、１００３Ｄは分離領域である。
【００６３】
上記拡散領域と分離領域の段差の影響で、ゲートパターンを露光する際に光の反射と干渉が発生し、ゲートパターンの仕上り寸法にばらつきが生じる。このばらつきは、ゲート幅Ｗ、ゲート長端と拡散領域端の間の距離Ｆに対する依存性を有し、それらの組み合わせによって、不連続な寸法ばらつきを発生させる場合がある。従来の方法では、最悪条件での遅延誤差を一律に掛けざるを得なかった。一方、ＳＰＩＣＥのトランジスタモデルで上記の寸法ばらつきのサイズ依存性を考慮する場合には、サイズ変動分の記述パラメータにサイズ依存性の関数を持たせる方法があるが、この関数は連続であり、実際のばらつきを表現しきれない。これが、シミュレーション誤差の原因となっていた。
【００６４】
そこで、本実施形態による、シミュレーション誤差のサイズ依存性を表現するために用いるトランジスタ感度データ９００と遅延変動計算部９０２の構成について、図１１および図１２を用いて説明する。
【００６５】
図１１は、ＡＮＤゲートをトランジスタレベルで記述した回路図であり、Ｔｒ１、Ｔｒ２はその中のＮチャネルトランジスタである。図１２は、入力波形の傾きをパラメータにしたＡＮＤゲートの伝播遅延時間と負荷容量の関係を示したグラフである。伝播遅延時間は、負荷容量、入力信号の波形傾きに依存する。図１２には、さらに、Ｔｒ１、Ｔｒ２のサイズに依存したシミュレーション誤差の影響を示している。
【００６６】
図１２から、負荷容量が小さい場合は、Ｔｒ１、Ｔｒ２の誤差は伝播遅延時間に対して同程度の影響を与えるが、負荷容量が大きくなると、負荷駆動側にあるＴｒ２の誤差の影響が大きくなることが分かる。
【００６７】
トランジスタ感度データ９００には、以上のように、トランジスタ、負荷容量、入力信号波形、シミュレーション誤差の遅延時間との関係を記述し、その形式として、図３で示したような表形式の方法がある。
【００６８】
遅延変動計算部９０２では、レイアウトデータ４００からの配線容量、および遅延ライブラリ１００をもとに、図１２で示した負荷容量と入力波形の傾きを特定し、さらに、トランジスタ感度データ９００、トランジスタのサイズ誤差データ９０１から遅延時間の変動を計算する。
【００６９】
このように、本実施形態の方法によれば、トランジスタサイズに応じたシミュレーション誤差を、回路遅延への影響度を定量化した上で設定できる。従って、従来の最悪遅延誤差を一律に掛ける方法とは異なるため、回路全体への過剰な設計マージンを削減することができる。
【００７０】
以上説明したように、本実施形態によれば、第１の実施形態に示した構成に加えて、トランジスタ感度データ９００、サイズ誤差データ９０１、遅延変動計算部９０２、遅延誤差設定部９０３、比較部９０４を備えることで、トランジスタサイズに起因した誤差の境界値を超えた特定インスタンスに対して個別の遅延時間マージン値が設定できるため、マージンの最大値を全集積回路に設定する必要がなくなり、適正な設計が可能になる。
【００７１】
なお、遅延変動計算部９０２は、遅延時間計算部１０５の一部分と共通の機能有しているので、他の実施形態として、遅延変動計算部９０２と遅延時間計算部１０５とで機能および構成を共用化することもできる。
【００７２】
また、本実施形態では、シミュレーション誤差のサイズ依存性の判定のため、各々のトランジスタのサイズ変動と遅延との相関値、負荷容量、トランジスタサイズと遅延誤差との相関値、論理セルの入力信号波形の傾きを用いた。しかしながら、処理の高速化、簡略化のためには、すべての条件を用いる必要はなく、一部のみを用いても構わない。
【００７３】
（第６の実施形態）
図１３は、本発明の第６の実施形態に係る集積回路の遅延時間計算方法を示したブロック図であり、論理セルを構成するトランジスタサイズ変動に起因する回路シミュレーション誤差を適正値に設定可能な遅延計算方法の詳細を示している。本実施形態と図９に示した第５の実施形態との差異は、シミュレーション誤差の設定を論理セルに用いるトランジスタサイズのみを見て判断している点にある。なお、図１、図４、および図９と同一の構成要素には同一の符号を記し、それらについては説明を省略する。
【００７４】
図１３において、破線部分１３１０が、本実施形態でのインスタンス分類と遅延変更パラメータ決定を行う主要構成部である。１３０１は論理セルのＳＰＩＣＥネットリストであり、論理セルで使用したトランジスタの接続とサイズを記述する。１３０２はトランジスタ（Ｔｒ）サイズ設定部であり、設計者が考慮対象の境界値となるトランジスタサイズを設定する。この設定内容は、トランジスタのゲート長、ゲート幅と、遅延誤差を記述したものである。１３０３はトランジスタ（Ｔｒ）サイズ抽出部であり、使用インスタンス毎にトランジスタサイズを抜き出す。抽出したトランジスタサイズが境界値を超えるか否かを比較部１３０４で比較判定し、インスタンス分類部４０６で境界値を超えるインスタンス群と超えないインスタンス群とに分類する。さらに、遅延変更パラメータ決定部４０７では、境界値との比較結果に基づき、遅延変更パラメータを決定する。なお、境界値を複数設定すれば、遅延ライブラリ１００の遅延値を詳細に変更することが可能になる。
【００７５】
以上説明したように、第６の実施形態によれば、第１の実施形態に示した構成に加えて、論理セルのネットリスト１３０１、トランジスタサイズ設定部１３０２、トランジスタサイズ抽出部１３０３、比較部１３０４を備えることで、サイズ起因誤差の境界値を超えた特定インスタンスに対して個別の遅延時間マージン値が設定できるため、マージンの最大値を全集積回路に設定する必要がなくなり、適正な設計が可能になる。また、第５の実施形態に比べて精度は低くなるが、誤差判定が簡単にでき、処理時間を短縮することが可能になる。
【００７６】
（第７の実施形態）
図１４は、本発明の第７の実施形態に係る集積回路の遅延計算方法を示したブロック図である。本実施形態では、第２の実施形態から第６の実施形態による少なくとも２つの方法を用いることにより、実際の回路の動作条件を論理シミュレーションにさらに詳細に反映させることができる。
【００７７】
図１４において、４１０は図４に示した消費電力によるインスタンス分類および指定と遅延変更パラメータを決定する機能、５１０は図５に示したセルの局所発熱に起因した温度分布によるインスタンス分類および指定と遅延変更パラメータを決定する機能、７１０は図７に示したホットキャリア遅延劣化によるインスタンス分類および指定と遅延変更パラメータを決定する機能、９１０は図９に示したトランジスタサイズに起因したシミュレーション誤差によるインスタンス分類および指定と遅延変更パラメータを決定する機能、１３１０は図１３に示したトランジスタサイズに起因したシミュレーション誤差によるインスタンス分類および指定と遅延変更パラメータを決定する機能である。
【００７８】
以上説明したように、第７の実施形態によれば、第２の実施形態から第６の実施形態に示した少なくとも２つの条件および方法を用いてインスタンスを分類、指定し、遅延変更パラメータを決定することができる。このため、実際の回路の動作条件をより詳細に反映した遅延計算ができるため、計算精度を向上することが可能になる。
【００７９】
【発明の効果】
以上説明したように、本発明によれば、以下のような効果を奏する。
【００８０】
（１）特定の論理セルに対して個別のマージン値を設定することができるため、最大のマージン値を全集積回路に設定する必要がなくなり、適正な設計が可能になる。
【００８１】
（２）消費電力の境界値を超えた特定回路ブロックの特定インスタンスに対して個別の遅延時間マージン値が設定できるため、マージンの最大値を全集積回路に設定する必要がなくなり、適正な設計が可能になる。
【００８２】
（３）温度の境界値を超えた特定インスタンスに対して個別の遅延時間マージン値が設定できるため、マージンの最大値を全集積回路に設定する必要がなくなり、適正な設計が可能になる。また、インスタンス毎の詳細な温度分布を計算できるため、局所発熱の影響を遅延時間の計算に正確に反映させることができる。
【００８３】
（４）チップの放熱など品種固有の条件に適合した遅延計算を容易に行うことができる。
【００８４】
（５）負荷容量および入力信号の波形条件の境界値を超えた特定インスタンスに対して個別のマージン値が設定できるため、ホットキャリアによる遅延劣化マージンの最大値を全集積回路に設定する必要がなくなり、適正な設計が可能になる。
【００８５】
（６）トランジスタサイズに起因した誤差の境界値を超えた特定インスタンスに対して個別の遅延時間マージン値が設定できるため、マージンの最大値を全集積回路に設定する必要がなくなり、適正な設計が可能になる。
【００８６】
（７）上記（６）の効果に加えて、誤差判定を簡略化することができ、処理時間を短縮することが可能になる。
【００８７】
（８）実際の回路の動作条件をさらに詳細に反映した遅延計算ができるため、計算精度を向上させることが可能になる。
【図面の簡単な説明】
【図１】  本発明の第１の実施形態に係る集積回路装置の遅延時間計算方法を示すブロック図
【図２】  遅延計算対象となる集積回路の構成を示した回路ブロック図（ａ）、およびその回路ブロック中の特定の遅延経路における一部のインスタンスを示す回路ブロック図
【図３】  遅延値の表現方法、遅延変更パラメータの決定、および遅延時間の変更方法について示した図
【図４】  本発明の第２の実施形態に係る集積回路の遅延時間計算方法を示したブロック図
【図５】  本発明の第３の実施形態に係る集積回路の遅延時間計算方法を示したブロック図
【図６】  各インスタンスの消費電力に基づき温度上昇を計算する方法を示した模式図
【図７】  本発明の第４の実施形態に係る集積回路の遅延時間計算方法を示したブロック図
【図８】  本発明の第４の実施形態に係る集積回路の遅延時間計算方法におけるホットキャリアによる遅延劣化を説明する回路図
【図９】  本発明の第５の実施形態に係る集積回路の遅延時間計算方法を示したブロック図
【図１０】  本発明の第５の実施形態に係る集積回路の遅延時間計算方法におけるトランジスタのばらつき要因を説明するためのトランジスタ構造図
【図１１】  本発明の第５の実施形態に係る集積回路の遅延時間計算方法におけるシミュレーション誤差の考慮対象となる論理セルの回路図
【図１２】  本発明の第５の実施形態に係る集積回路の遅延時間計算方法におけるシミュレーション誤差の考慮対象となる論理セルの遅延特性図
【図１３】  本発明の第６の実施形態に係る集積回路の遅延時間計算方法を示したブロック図
【図１４】  本発明の第７の実施形態に係る集積回路の遅延時間計算方法を示したブロック図
【符号の説明】
１００  遅延ライブラリ
１０１  回路読み込み部
１０２  インスタンス指定部
１０３  遅延変更パラメータ決定部
１０４  遅延時間変更部
１０５  遅延時間計算部
１０６  最大／最小遅延時間計算部
１０７  シミュレーション実行部
１１０  インスタンス分類部
４１０  インスタンス分類と遅延変更パラメータ決定の主要構成部
４００  レイアウトデータ
４０１  消費電力ライブラリ
４０２  動作確率データ
４０３  消費電力設定部
４０４  消費電力計算部
４０５  比較部
４０６  インスタンス分類部
４０７  遅延変更パラメータ決定部
５１０  インスタンス分類と遅延変更パラメータ決定の主要構成部
５０１  温度設定部
５０２  温度分布計算部
５０３  比較部
７１０  インスタンス分類と遅延変更パラメータ決定の主要構成部
７０１  負荷容量・波形設定部
７０２  負荷容量・波形計算部
７０３  比較部
９１０  インスタンス分類と遅延変更パラメータ決定の主要構成部
９００  トランジスタ感度データ
９０１  サイズ誤差データ
９０２  遅延変動計算部
９０３  遅延誤差設定部
９０４  比較部
１３１０  インスタンス分類と遅延変更パラメータ決定の主要構成部
１３０１  論理セルネットリスト
１３０２  トランジスタサイズ設定部
１３０３  トランジスタサイズ抽出部
１３０４  比較部
【図１】
0004412781.tif 000002
【図２】
0004412781.tif 000003
【図３】
0004412781.tif 000004
【図４】
0004412781.tif 000005
【図５】
0004412781.tif 000006
【図６】
0004412781.tif 000007
【図７】
0004412781.tif 000008
【図８】
0004412781.tif 000009
【図９】
0004412781.tif 000010
【図１０】
0004412781.tif 000011
【図１１】
0004412781.tif 000012
【図１２】
0004412781.tif 000013
【図１３】
0004412781.tif 000014
【図１４】
0004412781.tif 000015