(57)【要約】タイミング検証を効率良く実施し得る半導体集積回路の遅延時間計算方法及び遅延時間計算システム。チップ内ばらつきを考慮した信号パスの伝搬遅延時間は、補正後のばらつき係数を考慮して計算される。ばらつき係数の補正値は、信号パスのセル段数に応じて、チップ内ばらつきに起因する伝搬遅延時間を実際のチップ内ばらつきの影響による伝搬遅延時間として近似し得る関数に基づき算出される。これにより、伝搬遅延時間は、正規分布で示される確率密度分布において３σ範囲内の適切な発生確率となるように計算される。
2003060776.tif 000002
【特許請求の範囲】
【請求項１】
チップ内ばらつきを考慮した信号パスの遅延時間を計算する半導体集積回路の遅延時間計算方法において、
前記チップ内ばらつきに起因する信号パスの遅延時間を、該信号パスのセル段数又はゲート段数に応じて補正することを特徴とする半導体集積回路の遅延時間計算方法。
【請求項２】
前記補正を、前記信号パスの素子伝搬遅延時間に対して行うことを特徴とする請求項１記載の半導体集積回路の遅延時間計算方法。
【請求項３】
前記補正を、前記信号パスの配線伝搬遅延時間に対して行うことを特徴とする請求項１又は２記載の半導体集積回路の遅延時間計算方法。
【請求項４】
チップ内ばらつきを考慮した信号パスの遅延時間を計算する半導体集積回路の遅延時間計算方法において、
前記チップ内ばらつきに起因する信号パスの配線伝搬遅延時間を、該信号パスの配線長に応じて補正することを特徴とする半導体集積回路の遅延時間計算方法。
【請求項５】
前記信号パスの素子伝搬遅延時間を、該信号パスのセル段数又はゲート段数に応じて補正することを特徴とする請求項４記載の半導体集積回路の遅延時間計算方法。
【請求項６】
チップ内ばらつきに起因して変動する遅延時間のばらつき係数を算出し、該ばらつき係数の補正値を前記信号パスのセル段数又はゲート段数に応じて近似される補正関数に基づいて算出するようにしたことを特徴とする請求項１〜３及び５のいずれか一項記載の半導体集積回路の遅延時間計算方法。
【請求項７】
チップ内ばらつきに起因して変動する遅延時間のばらつき係数を算出し、該ばらつき係数の補正値を前記信号パスの配線長に応じて近似される補正関数に基づいて算出するようにしたことを特徴とする請求項４記載の半導体集積回路の遅延時間計算方法。
【請求項８】
チップ内ばらつきに起因する遅延時間の確率密度分布は正規分布で表され、
前記確率密度分布において、ほぼ３σ範囲内に対応する遅延時間の発生確率とするように前記遅延時間を補正することを特徴とする請求項１乃至７のいずれか一項記載の半導体集積回路の遅延時間計算方法。
【請求項９】
前記確率密度分布において、ほぼ（μ＋３σ）に相当する遅延時間の発生確率とするように前記遅延時間を補正することを特徴とする請求項８記載の半導体集積回路の遅延時間計算方法。
【請求項１０】
チップ内ばらつきを考慮した信号パスの遅延時間計算処理を実行する半導体集積回路の遅延時間計算システムにおいて、
前記チップ内ばらつきに起因する信号パスの遅延時間を、該信号パスのセル段数又はゲート段数に応じて補正する手段を備えたことを特徴とする半導体集積回路の遅延時間計算システム。
【請求項１１】
チップ内ばらつきを考慮した信号パスの遅延時間計算処理を実行する半導体集積回路の遅延時間計算システムにおいて、
前記チップ内ばらつきに起因する信号パスの配線伝搬遅延時間を、該信号パスの配線長に応じて補正する手段を備えたことを特徴とする半導体集積回路の遅延時間計算システム。
【発明の詳細な説明】
技術分野
本発明は、半導体集積回路の遅延時間計算方法及び遅延時間計算システムに関する。
近年の半導体集積回路（ＬＳＩ）は、高速化、高周波化がますます進み、それに伴い信号のタイミングマージンが著しく縮小されている。このため、ＬＳＩの設計時には、信号伝搬遅延時間を考慮してタイミング検証を的確に行う必要がある。
背景技術
半導体集積回路（ＬＳＩ）の設計では、ＬＳＩ内部の信号伝搬遅延を考慮して論理シミュレーションやタイミング検証が行われる。一般に、このような信号伝搬遅延は、主としてプロセス特性、電源電圧、周囲温度の変化に伴うジャンクション温度、の３つの要素に依存することが知られている。
そこで、通常、論理シミュレーションは、上記のような各要素を考慮して遅延時間が最大になる条件（以下、ＭＡＸ条件）、標準的になる条件（以下、ＴＹＰ条件）、最小になる条件（以下、ＭＩＮ条件）の３種類の条件下で行われる。
尚、ＭＡＸ条件は、例えばトランジスタの動作スピードが最も遅く、電源電圧が最も低く、ジャンクション温度が最も高い条件である。ＴＹＰ条件は、例えばトランジスタの動作スピード及び電源電圧が標準値で、ジャンクション温度が所定温度（例えば２５℃）の条件である。ＭＩＮ条件は、例えばトランジスタの動作スピードが最も速く、電源電圧が最も高く、ジャンクション温度が最も低い条件である。
図７は、各条件下における伝搬遅延時間を示す図である。
尚、図において、データパスは内部に取り込む入力信号（データ信号）の信号パスであり、クロックパスはそのデータ信号を内部に取り込むタイミングを知らせるためのタイミング信号（クロック信号）の信号パスである。
ここで、例えばＴＹＰ条件下におけるクロックパス及びデータパスの遅延時間を共に１．０として正規化した場合、ＭＡＸ条件下ではクロックパス及びデータパスの遅延時間は共に１．５、ＭＩＮ条件下ではクロックパス及びデータパスの遅延時間は共に０．５となる。即ち、ＭＡＸ条件、ＴＹＰ条件、ＭＩＮ条件では、クロックパス及びデータパスの伝搬遅延時間がそれぞれ異なり、各条件に基づく遅延時間の変動は理想的には直線で示される。
ところで、このようなクロックパス及びデータパスの伝搬遅延時間の変動に影響を与える要因は、ＬＳＩチップ内においても存在する。
例えば、
（１）トランジスタ特性のばらつき、配線抵抗のばらつき、コンタクト抵抗のばらつき等に起因するプロセス特性ばらつき、
（２）チップ内の電源電圧降下に起因する電源電圧ばらつき、
（３）素子配置や動作周波数がチップ内で均等でないことによるチップ内温度ばらつき、
などである（以下では、上記（１）〜（３）のばらつきをチップ内ばらつきという）。
図８は、チップ内ばらつきを考慮した素子伝搬遅延時間を示す図である。
矢印（ａ）は、ＭＡＸ条件下におけるデータパスの遅延時間が１．５である場合に、クロックパスの遅延時間が１．２〜１．５まで変動する可能性があることを示す。即ち、矢印（ａ）は、ＭＡＸ条件下でクロックパスの遅延が最小になる条件を示している。ちなみに、ＬＳＩ設計では、矢印（ａ）にて示す条件でタイミング検証を実施することで、ＭＡＸ条件下におけるセットアップタイムのチェックを行うことができる。
矢印（ｂ）は、ＭＡＸ条件下におけるクロックパスの遅延時間が１．５である場合に、データパスの遅延時間が１．２〜１．５まで変動する可能性があることを示す。即ち、矢印（ｂ）は、ＭＡＸ条件下でデータパスの遅延が最小になる条件を示している。ちなみに、ＬＳＩ設計では、矢印（ｂ）にて示す条件でタイミング検証を実施することで、ＭＡＸ条件下におけるホールドタイムのチェックを行うことができる。
矢印（ｃ）は、ＭＩＮ条件下におけるクロックパスの遅延時間が０．５である場合に、データパスの遅延時間が０．５〜０．７まで変動する可能性があることを示す。即ち、矢印（ｃ）は、ＭＩＮ条件下でデータパスの遅延が最大になる条件を示している。ちなみに、ＬＳＩ設計では、矢印（ｃ）にて示す条件でタイミング検証を実施することで、ＭＩＮ条件下におけるセットアップタイムのチェックを行うことができる。
矢印（ｄ）は、ＭＩＮ条件下におけるデータパスの遅延時間が０．５である場合に、クロックパスの遅延時間が０．５〜０．７まで変動する可能性があることを示す。即ち、矢印（ｄ）は、ＭＩＮ条件下でクロックパスの遅延が最大になる条件を示している。ちなみに、ＬＳＩ設計では、矢印（ｄ）にて示す条件でタイミング検証を実施することで、ＭＩＮ条件下におけるホールドタイムのチェックを行うことができる。
従って、上記のようにチップ内ばらつきを考慮した場合、素子伝搬遅延時間は、ＭＡＸ条件−（ａ）−（ｃ）−ＭＩＮ条件−（ｄ）−（ｂ）で囲まれた範囲内で変動する可能性があることを示している。
尚、図９は、チップ内ばらつきを考慮した配線伝搬遅延時間を示す図であり、配線伝搬遅延時間は、上述した素子伝搬遅延時間（図８参照）と同様にしてＭＡＸ条件−（ａ）−（ｃ）−ＭＩＮ条件−（ｄ）−（ｂ）で囲まれた範囲内で変動する可能性があることを示している。
次に、例として、フリップフロップにおけるＭＩＮ条件下でのホールドタイムチェックを行う場合について具体的に説明する。
図１０は、タイミング検証を行うための具体的な一回路図である。回路３０は、バッファ（以下、ＢＵＦ）３１，３２ａ〜３２ｊと、Ｄフリップフロップ（以下、ＤＦＦ）３３ａ，３３ｂとを備える。
ＢＵＦ３１には入力端子ＣＫからクロック信号が入力され、該ＢＵＦ３１の出力信号はＢＵＦ３２ａ及びＢＵＦ３２ｆに入力される。ＢＵＦ３２ａ〜３２ｅは直列接続され、ＢＵＦ３２ｅの出力信号はＤＦＦ３３ｂのクロック入力端子Ｃに入力される。また、ＢＵＦ３２ｆ〜３２ｊは直列接続され、ＢＵＦ３２ｊの出力信号はＤＦＦ３３ａのクロック入力端子Ｃに入力される。ＤＦＦ３３ａの出力端子Ｑから出力される信号はＤＦＦ３３ｂのデータ入力端子Ｄに入力される。
尚、回路３０において、入力端子ＣＫからＤＦＦ３３ｂのクロック入力端子Ｃまでの信号パスがクロックパス、入力端子ＣＫからＤＦＦ３３ｂのデータ入力端子Ｄまでの信号パスがデータパスである。
このように構成された回路３０では、ＤＦＦ３３ｂは、データパスを介してデータ入力端子Ｄに入力される信号（データ信号）を、クロックパスを介してクロック入力端子Ｃに入力されるクロック信号に基づいて内部回路へ出力する。
今、回路３０を用いてＤＦＦ３３ｂにおけるＭＩＮ条件下でのホールドタイムチェックを行う場合は、上記したように図８に矢印（ｄ）で示す条件及び図９に矢印（ｄ）で示す条件にて、データパスとクロックパスにおける伝搬遅延時間を計算する。
以下では、例えば、ＭＩＮ条件下での各ＢＵＦ３１，３２ａ〜３２ｊにおけるＡ→Ｚ（入力→出力）間の遅延時間を１．０ｎｓ、全ての配線における遅延時間を０．５ｎｓ、ＤＦＦ３３ａにおけるＣ→Ｑ（クロック入力端子→出力端子）間の遅延時間を２．０ｎｓとする。又、ＤＦＦ３３ｂにスペック値として規定されるホールドタイムを０．５ｎｓとする。尚、上記遅延時間は、配線長や配線種類、各素子の負荷及び素子に入力される信号の波形なまり等が考慮されて算出される。
図１１は、データパスにおける遅延時間計算例を説明する図である。
データパスは、入力端子ＣＫ→ＢＵＦ３１→ＢＵＦ３２ｆ→ＢＵＦ３２ｇ→ＢＵＦ３２ｈ→ＢＵＦ３２ｉ→ＢＵＦ３２ｊ→ＤＦＦ３３ａ→ＤＦＦ３３ｂの経路である。従って、データパスにおける伝搬遅延時間（ＭＩＮ条件）は、素子伝搬遅延時間及び配線伝搬遅延時間の合計値（＝１２．０ｎｓ）になる。
図１２は、チップ内ばらつきを考慮しない場合のクロックパスにおける遅延時間計算例を説明する図である。
クロックパスは、入力端子ＣＫ→ＢＵＦ３１→ＢＵＦ３２ａ→ＢＵＦ３２ｂ→ＢＵＦ３２ｃ→ＢＵＦ３２ｄ→ＢＵＦ３２ｅ→ＤＦＦ３３ｂの経路である。従って、チップ内ばらつきを考慮しない場合のクロックパスにおける伝搬遅延時間（ＭＩＮ条件）は、素子伝搬遅延時間及び配線伝搬遅延時間の合計値（＝９．５ｎｓ）になる。
図１３は、チップ内ばらつきを考慮した場合（図８及び図９にて矢印（ｄ）で示す条件）のクロックパスにおける遅延時間計算例を説明する図である。
従来、チップ内ばらつきを考慮した場合の遅延時間は、各条件下でのばらつき係数を算出し、該チップ内ばらつきを考慮する必要のある素子伝搬遅延時間及び配線伝搬遅延時間にばらつき係数を乗算することで求められる。
ここで、上記ばらつき係数は、
2003060776.tif 000003
で定義される。
即ち、ＭＩＮ条件下における素子伝搬遅延時間のばらつき係数は、図８より、｛０．７／０．５＝１．４｝となる。
また、ＭＩＮ条件下における配線伝搬遅延時間のばらつき係数は、図９より、｛０．７／０．５＝１．４｝となる。
従って、チップ内ばらつきを考慮した場合のクロックパスにおける伝搬遅延時間（ＭＩＮ条件）は、素子伝搬遅延時間及び配線伝搬遅延時間の合計値（＝１２．７ｎｓ）になる。
図１４は、上記各遅延時間計算の結果を示すタイミングチャートである。
同図に示すように、チップ内ばらつきを考慮しない場合には、ＤＦＦ３３ｂにおけるホールドタイムは１２．０（ｎｓ）−９．５（ｎｓ）＝２．５（ｎｓ）となり、該ＤＦＦ３３ｂに規定されるスペック値０．５ｎｓに対して２．０ｎｓのマージンを有していることがチェックされる。
一方、チップ内ばらつきを考慮した場合、ＤＦＦ３３ｂにおけるホールドタイムは１２．０（ｎｓ）−１２．７（ｎｓ）＝−０．７（ｎｓ）となり、該ＤＦＦ３３ｂに規定されるスペック値０．５ｎｓに対して１．２ｎｓ不足していることがチェックされる。
即ち、チップ内ばらつきを考慮したタイミング検証では、ばらつきを考慮しない場合よりも適不適が厳しくチェックされる。従来では、このように各条件下におけるセットアップタイムチェックやホールドタイムチェックがチップ内ばらつき（ばらつき係数）を考慮して算出された遅延時間に基づいて行われる。これにより、その検証結果を基にして配線レイアウトや論理回路を変更することで、ＬＳＩ製造時に安定した歩留まりを得るようにしている。
ところで、上記のようにして求めた計算結果から、チップ内ばらつきを考慮した場合とばらつきを考慮しない場合のクロックパスにおける伝搬遅延時間の差は、１２．７（ｎｓ）−９．５（ｎｓ）＝３．２（ｎｓ）となる。遅延時間の差は、ＢＵＦ３２ａ〜３２ｅ（つまりバッファ５段分）のチップ内ばらつきに起因する伝搬遅延時間（素子伝搬遅延時間＋配線伝搬遅延時間）分に相当する。
図１５は、ＭＩＮ条件下におけるバッファ１段分の伝搬遅延時間の確率分布（累積相対度数で表す）を示す図である。
同図に示すように、チップ内ばらつきに起因するバッファ１段分の伝搬遅延時間は略０．６ｎｓとなる確率が最も高い。伝搬遅延時間は、略０．５ｎｓ〜略０．７ｎｓの範囲内で変動し、略０．６ｎｓを中間値としてそれより遅延時間が長くなる場合又は短くなる場合の発生確率が徐々に低くなる。
図１６は、ＭＩＮ条件下におけるバッファ１段分の伝搬遅延時間の確率密度分布を示す図である。尚、確率密度分布は正規分布で表される。このとき、確率密度関数ｆ（ｘ）は以下のように表される。
2003060776.tif 000004
ただし、式６において、
μ＝０．６（ｎｓ）
σ＝０．０３３３（ｎｓ）
である。
ここで、例えば配線伝搬遅延時間のばらつき係数（＝１．４）より、バッファ１段分の配線伝搬遅延時間が０．５（ｎｓ）×１．４＝０．７（ｎｓ）以上になる確率を求めると、以下のようになる。
2003060776.tif 000005
これにより、バッファ１段分の配線伝搬遅延時間が０．７ｎｓ以上となる発生確率（略０．２７％；式７参照）は、図１６に示す確率密度分布においてほぼμ＋３σに相当する遅延時間（略０．７ｎｓ）の発生確率（計算略）と実質的にほぼ等しくなる。これは、バッファ１段分の遅延時間が、ほぼ区間［μ−３σ，μ＋３σ］（所謂３σ（シグマ）範囲）における適切な発生確率で計算されていることを意味する。即ち、バッファ１段分では、チップ内ばらつきを考慮したタイミング検証が効率良く実施されている。
ここで、上記ＢＵＦ３２ａ〜３２ｅの伝搬遅延時間がそれぞれ独立した確率分布で示される場合、それらの確率密度分布は、上記同様にして正規分布（図１６参照）で表される。つまり、各ＢＵＦ３２ａ〜３２ｅにおける伝搬遅延時間の確率密度関数は式６のように表される。
従って、ＢＵＦ３２ａ〜３２ｅの配線伝搬遅延時間が全て０．７以上となる確率Ｐ２は、式７の計算結果に基づいて
Ｐ２＝（０．００２７）５≒１．４３Ｅ−１１（％）
となる。
これは、ＢＵＦ３２ａ〜３２ｅ（バッファ５段）の遅延時間が全て０．７ｎｓ以上となる確率は極めて低いことを意味する。言い換えれば、チップ内ばらつきに起因する遅延が５段のバッファについて全て最大となる可能性は極めて低いことを示している。
従って、例えばクロックパスのバッファが仮に１０段である場合には、それら１０段のバッファの配線伝搬遅延時間が全て０．７以上となる確率Ｐ３は、
Ｐ３＝（０．００２７）１０≒２．０６Ｅ−２４（％）
となり、さらに低くなる。
このように、従来では、チップ内ばらつきを考慮してタイミング検証を行う場合には、算出する遅延時間の発生確率が極めて低い場合についても全てチェックが行われ、そのタイミング検証結果に基づきレイアウト及び回路修正を行っていた。そのため、過剰なタイミングマージンを持った設計となり、コストアップやレイアウト期間の長期化などが発生していた。特に、近年のＬＳＩの微細化は著しく、微細化に伴い１チップ内に搭載されるフリップフロップ等の数やクロックネット数、さらにはクロックツリー内のバッファ等の段数も増加してきている。従って、実際には起こり得ないような遅延時間の場合についてもチェックが行われると、設計段階でタイミングクローズさせることができない（セットアップタイム、ホールドタイムを保証できない）場合も生じていた。
本発明の目的は、タイミング検証を効率良く実施し得る半導体集積回路の遅延時間計算方法及び遅延時間計算システムを提供することにある。
発明の開示
本発明の第１の態様において、半導体集積回路の遅延時間計算方法が提供される。チップ内ばらつきを考慮した信号パスの遅延時間を計算する半導体集積回路の遅延時間計算方法において、前記チップ内ばらつきに起因する信号パスの遅延時間を、該信号パスのセル段数又はゲート段数に応じて補正するようにした。
本発明の第２の態様において、半導体集積回路の遅延時間計算方法が提供される。チップ内ばらつきを考慮した信号パスの遅延時間を計算する半導体集積回路の遅延時間計算方法において、前記チップ内ばらつきに起因する信号パスの配線伝搬遅延時間を、該信号パスの配線長に応じて補正するようにした。
本発明の第３の態様において、半導体集積回路の遅延時間計算システムが提供される。チップ内ばらつきを考慮した信号パスの遅延時間計算処理を実行する半導体集積回路の遅延時間計算システムにおいて、前記チップ内ばらつきに起因する信号パスの遅延時間を、該信号パスのセル段数又はゲート段数に応じて補正する手段を備えた。
本発明の第４の態様において、半導体集積回路の遅延時間計算システムが提供される。チップ内ばらつきを考慮した信号パスの遅延時間計算処理を実行する半導体集積回路の遅延時間計算システムにおいて、前記チップ内ばらつきに起因する信号パスの配線伝搬遅延時間を、該信号パスの配線長に応じて補正する手段を備えた。
発明を実施するための最良の形態
以下、本発明を、半導体集積回路の遅延時間計算方法及び遅延時間計算システムに具体化した第一実施形態を図１〜図４に従って説明する。尚、本実施形態は、例として半導体集積回路（ＬＳＩ）におけるセットアップタイム及びホールドタイムのタイミング検証を行う場合について説明し、そのタイミング検証のための具体的な回路として図１０に示す回路３０を用いる。
タイミング検証は、例えばスタティックタイミング解析ツール等を使用して行われ、検証を行う信号パスの伝搬遅延時間が最大になる条件（ＭＡＸ条件）、標準的になる条件（ＴＹＰ条件）、最小になる条件（ＭＩＮ条件）のいずれかの条件下で行われる。ちなみに、ＭＡＸ条件、ＴＹＰ条件、ＭＩＮ条件の各条件は、プロセス特性、電源電圧、周囲温度の変化に伴うジャンクション温度等に応じて決定される（図７参照）。
上記各条件下における信号パスの伝搬遅延時間は、ＬＳＩのチップ内ばらつきによっても変動する（図８及び図９参照）。例えば、チップ内ばらつきには、配線抵抗やコンタクト抵抗のばらつき、トランジスタ特性のばらつき等に起因するプロセス特性ばらつき、チップ内の電源電圧降下に起因する電源電圧ばらつき、素子配置や動作周波数がチップ内で均等でないことによるチップ内温度ばらつき、などがある。
このとき、チップ内ばらつきに起因する信号パスの伝搬遅延時間は、所定の遅延時間の範囲内でほぼ変動するような確率分布で示され（図１５参照）、その確率密度分布は正規分布で表される（図１６参照）。
従って、本実施形態では、上述したＭＡＸ条件、ＴＹＰ条件、ＭＩＮ条件のいずれかの条件下におけるチップ内ばらつき及び当該ばらつきに起因する伝搬遅延時間の確率分布を考慮して、信号パスの伝搬遅延時間を計算する。
ここで、信号パスの伝搬遅延時間Ｔｓは、以下の式に基づいて算出される。
2003060776.tif 000006
ただし、
Ｔｓ：チップ内ばらつき及び確率分布を考慮した伝搬遅延時間
Ｔ  ：各条件下における伝搬遅延時間
α  ：ばらつき係数
β  ：ばらつき係数の補正値
である。
ばらつき係数αは、信号パスにおける素子伝搬遅延時間及び配線伝搬遅延時間のばらつき度を示す値であって、ＭＡＸ条件、ＴＹＰ条件、ＭＩＮ条件の各条件にそれぞれ対応して算出される。尚、ばらつき係数αは、前述した関係式（式５参照）に従って算出される。
補正値βは、信号パスのゲート段数又はセル段数に応じて、チップ内ばらつきに起因する伝搬遅延時間を実際のチップ内ばらつきの影響による伝搬遅延時間として近似し得る関数（ばらつき係数αの補正関数）に基づいて算出される。つまり、補正値βによりばらつき係数αを補正することで、伝搬遅延時間Ｔｓが適切な発生確率（正規分布で示される伝搬遅延時間の確率密度分布において、所謂３σ（シグマ）範囲内の値）となるように算出される。言い換えれば、発生確率の極めて低い伝搬遅延時間は算出されない。
ここで、ばらつき係数αの補正関数として、補正値βの近似関数は、例えば以下のように表される。
2003060776.tif 000007
ただし、式２において、
ａ：補正関数の底
ｎ：信号パスのセル段数（又はゲート段数）
である。
補正関数の底ａは、信号パスのセル段数ｎに応じて設定される値である。尚、本実施形態において、補正関数の底ａは、補正値βで補正したばらつき係数αに基づき算出される伝搬遅延時間Ｔｓの発生確率が確率密度分布においてほぼμ＋３σ（シグマ）に相当する遅延時間の発生確率になるように設定される。
図３は、例えばａ＝０．８８２７とした場合の補正関数（式２）を示す図である。
同図に示すように、ばらつき係数αの補正値βは、信号パスのセル段数ｎが増加するに従って小さくなる。詳しくは、セル段数ｎの値が「１」（１段）のときに補正値βの値は「１」となり、このときばらつき係数αは補正されない。セル段数ｎ＞１のときに補正値β＜１となり、このとき補正値βによってばらつき係数αが小さくなるように補正される。
図１は、タイミング検証（ホールドタイムチェック／セットアップタイムチェック）を行う場合の遅延時間計算処理を説明するフローチャートである。
先ず、セルの端子情報やタイミング情報を格納したセル情報Ｄ１１及び回路情報を格納した論理情報Ｄ１２に基づいて、チェック対象となる回路及び遅延時間計算を行う信号パス（データパス／クロックパス）が決定される（ステップＳ１１）。このとき、当該遅延時間計算を行うデータパス／クロックパスのセル段数情報が論理情報Ｄ１２から抽出され、データパス情報／クロックパス情報（以下、パス情報）Ｄ１３が生成される。
次に、そのパス情報Ｄ１３及び上記補正値近似関数（式２）に従い、チップ内ばらつきを考慮する信号パスにおいて、そのばらつき係数αの補正値β（Ｄ１４）が算出される。（ステップＳ１２）。
ステップＳ１２にて算出されたばらつき係数αの補正値β（Ｄ１４）、ばらつき係数α（Ｄ１５）、及び遅延情報Ｄ１６に基づいて、データパス及びクロックパスの遅延時間が計算される（ステップＳ１３）。
尚、ばらつき係数α（Ｄ１５）は、ＳＰＩＣＥシミュレーションや特性評価用素子（Ｔｅｓｔ  Ｅｌｅｍｅｎｔ  Ｇｒｏｕｐ：ＴＥＧ）を用いた実測により、上述したチップ内ばらつきの要因となるプロセス特性、電源電圧、温度等に応じて決定される。また、遅延情報Ｄ１６には、レイアウト情報から抽出した当該信号パスにおける抵抗値や容量値、さらにはプロセス特性、電源電圧、温度等に基づいて算出されたセル遅延時間及び配線遅延時間が格納される。
ステップＳ１３にて算出されたデータパス及びクロックパスの遅延時間に基づいて、タイミング検証（ホールドタイムチェック／セットアップタイムチェック）が行われる（ステップＳ１４）。尚、タイミング検証を行うにあたっては、チェック対象となる回路のホールドタイムあるいはセットアップタイムのスペック値が上記セル情報Ｄ１１から抽出され、スペック値に基づいてタイミング検証が行われる。
図２は、上述した遅延時間算出処理を実行する遅延時間算出装置２１（以下、算出装置）の概略構成図である。算出装置２１は、処理装置２２に、入力装置２３、表示装置２４、記憶装置２５，２６が接続されて構成されている。
入力装置２３は、キーボードおよびマウス装置（図示せず）を含み、プログラムの起動、ユーザからの要求や指示，パラメータの入力等に用いられる。表示装置２４は、ＣＲＴ，ＬＣＤ，ＰＤＰ等のモニタ及びプリンタ（図示略）等の出力装置を含み、遅延計算の処理結果の表示、パラメータ入力画面等の表示に用いられる。
記憶装置２５，２６は、通常、磁気ディスク装置、光ディスク装置、光磁気ディスク装置を含み、これらは各記憶装置２５，２６に格納されるデータの種類、状態等に応じて適宜用いられる。尚、図２は記憶装置２５，２６を機能的に分割して示しており、分割しない状態、又はさらに複数の記憶装置にデータを分割して格納する構成としてもよい。
第１記憶装置２５には、遅延時間算出処理を実行するためのプログラムデータ２５ａが格納されている。プログラムデータ２５ａは、記録媒体２７により提供される。処理装置２２は、入力装置２３による指示に応答して図示しないドライブ装置を駆動し、記録媒体２７に記録されたプログラムデータ２５ａを第１記憶装置２５にロードし、それを逐次実行する。これにより、処理装置２２は、上述のような遅延時間算出処理を実現する。尚、処理装置２２が記録媒体２７に記録されたプログラムデータ２５ａを直接実行する構成としてもよい。
記録媒体２７としては、メモリカード，フレキシブルディスク，光ディスク（ＣＤ−ＲＯＭ，ＤＶＤ−ＲＯＭ，…），光磁気ディスク（ＭＯ，ＭＤ，…）等（図示略）、任意のコンピュータ読み取り可能な記録媒体を使用することができる。尚、記録媒体２７には、通信媒体を介してアップロード又はダウンロードされたプログラムデータ２５ａを記録した媒体，ディスク装置や、処理装置２２によって直接実行可能なプログラムデータ２５ａを記録した記録媒体も含む。
第２記憶装置２６は、遅延時間算出処理を実行するための各種データを格納するデータベースとして使用され、上述したセル情報Ｄ１１や論理情報Ｄ１２、及び実行される処理に於いて抽出あるいは算出されるパス情報Ｄ１３、ばらつき係数α（Ｄ１５）、補正値β（Ｄ１４）、遅延情報Ｄ１６が格納される。
以下、図１０に示す回路３０を用いて、例えばＭＩＮ条件下におけるＤＦＦ３３ｂのホールドタイムチェックを行う場合について説明する。尚、ＭＩＮ条件下での各ＢＵＦ３１，３２ａ〜３２ｊにおけるＡ→Ｚ（入力→出力）間の遅延時間を１．０ｎｓ、全ての配線における遅延時間を０．５ｎｓ、ＤＦＦ３３ａにおけるＣ→Ｑ（クロック入力端子→出力端子）間の遅延時間を２．０ｎｓとする。また、ＤＦＦ３３ｂにスペック値として規定されるホールドタイムを０．５ｎｓとする。
今、ＭＩＮ条件下でのホールドタイムチェックを行う場合、データパスとクロックパスの伝搬遅延時間は、図８に矢印（ｄ）で示す条件及び図９に矢印（ｄ）で示す条件で計算される。
即ち、データパスの伝搬遅延時間は、ＭＩＮ条件下でチップ内ばらつきの影響を受けない場合について計算され、素子伝搬遅延時間及び配線伝搬遅延時間の合計値（＝１２．０ｎｓ）になる（図１１参照）。
一方、クロックパスの伝搬遅延時間は、ＭＩＮ条件下でチップ内ばらつきの影響を受ける場合について計算される。従って、素子伝搬遅延時間及び配線伝搬遅延時間の各ばらつき係数αは、図８及び図９，式５より、１．４となる。
ここで、上記式２に示すばらつき係数αの補正関数において、その補正関数の底ａの値は、クロックパスのＢＵＦ３２ａ〜３２ｅ（バッファ５段（ｎ＝５））に応じて例えば０．８８２７に設定され、これにより補正値βの値は、０．６０７１（≒０．８８２７（５−１））となる。
従って、ばらつき係数αの補正値βを用いたクロックパスの伝搬遅延時間Ｔｓ（式１）は、
2003060776.tif 000008
となる。
図４は、上記式１ａに基づくクロックパスの伝搬遅延時間計算例を説明する図である。尚、データパスとクロックパスが共有する経路における遅延時間、即ち入力端子ＣＫ−ＢＵＦ３１間の配線伝搬遅延時間の計算及びＢＵＦ３１の素子伝搬遅延時間の計算はチップ内ばらつきの影響が考慮されない。従って、クロックパスの伝搬遅延時間は、素子伝搬遅延時間及び配線伝搬遅延時間の合計値（＝１１．４４２４ｎｓ）になる。
これにより、ＭＩＮ条件下におけるＤＦＦ３３ｂのホールドタイムは、１２．０（ｎｓ）−１１．４４２４（ｎｓ）＝０．５５７６（ｎｓ）となり、該ＤＦＦ３３ｂに規定されるスペック値０．５ｎｓに対して０．０５７６ｎｓのマージンを有していることがチェックされる。
ここで、確率密度関数（式６）に基づいて、ＭＩＮ条件下でのチップ内ばらつきに起因するバッファ１段分の配線伝搬遅延時間が０．５（ｎｓ）×１．２４２８＝０．６２１４（ｎｓ）以上になる確率を求めると、約３０．５％となる。
従って、クロックパスにおけるバッファ５段（ＢＵＦ３２ａ〜３２ｅ）が全て０．６２１４ｎｓ以上になる確率Ｐ１は、
Ｐ１＝（０．３０５）５≒０．００２６４＝０．２６４（％）
となる。
即ち、バッファ５段分の配線伝搬遅延時間が全て０．６２１４ｎｓ以上となる発生確率は、確率密度分布（図１６参照）において、ほぼμ＋３σに相当する遅延時間（略０．７ｎｓ）の発生確率（計算略）と実質的にほぼ等しくなる。これは、バッファ５段分の遅延時間が、ほぼ区間［μ−３σ，μ＋３σ］（３σ範囲）における適切な発生確率で計算されていることを意味する。
次に、本発明における第一実施形態の半導体集積回路の遅延時間計算方法及び遅延時間計算システムの特徴を以下に記載する。
（１）チップ内ばらつきを考慮した信号パスの伝搬遅延時間Ｔｓは、補正値βにて補正したばらつき係数αに基づいて計算される。補正値βは、信号パスのセル段数ｎに応じて、チップ内ばらつきに起因する伝搬遅延時間を実際のチップ内ばらつきの影響による伝搬遅延時間として近似し得る関数により算出される。これにより、伝搬遅延時間Ｔｓは、正規分布で示される確率密度分布において３σ（シグマ）範囲内の適切な発生確率となるように計算される。即ち、発生確率の極めて低い伝搬遅延時間は算出されない。従って、タイミング検証を効率良く実施することが可能になり、これにより適切な製造コスト（ゲート数及び開発工数）にてＬＳＩ設計を行うことができる。
（２）また、本実施形態では、算出される伝搬遅延時間Ｔｓの発生確率がほぼμ＋３σ（シグマ）に相当する伝搬遅延時間の発生確率となるように補正値βが設定される。このように補正値βが設定されることで、最適な製造マージンを持つＬＳＩ設計を可能とするべく高品質（信頼性の高い）なタイミング検証が可能となる。
次に、本発明を、半導体集積回路の遅延時間計算方法及び遅延時間計算システムに具体化した第二実施形態を図５に従って説明する。
尚、本実施形態は、第一実施形態で説明したばらつき係数αの補正関数（式２参照）として、補正値βのその他の近似関数の例を説明するものである。
本実施形態の補正値βの近似関数は、以下のように表される。
2003060776.tif 000009
ただし、式３において、
ｅ：自然定数
ｋ：ｋ＞０
ｎ：信号パスのセル段数
である。尚、係数ｋの値は、第一実施形態と同様にして信号パスのセル段数ｎに応じて設定される。
図５は、例えばｋ＝０．０２とした場合の補正関数（式３）を示す図であり、ばらつき係数αの補正値βは、同様にして信号パスのセル段数ｎが増加するに従って小さくなる。従って、本実施形態では、上記第一実施形態と同様な効果を奏する。
次に、本発明を、半導体集積回路の遅延時間計算方法及び遅延時間計算システムに具体化した第三実施形態を図６に従って説明する。
尚、本実施形態は、第一実施形態で説明したばらつき係数αの補正関数（式２参照）として、補正値βのその他の近似関数の例を説明するものである。
本実施形態の補正値βの近似関数は、以下のように表される。
2003060776.tif 000010
ただし、式４において、
ｅ：自然定数
ｋ：ｋ＞０
ｌ：信号パスの配線長
である。尚、配線長ｌは、信号パスにおける全配線を合計した長さであり、係数ｋの値は、配線長ｌに応じて設定される。
即ち、本実施形態では、タイミング検証を行う信号パスの配線伝搬遅延時間を算出する場合に、そのばらつき係数αの補正値βが式４に示す補正関数に基づいて算出される。具体的には、素子伝搬遅延時間を算出する場合は、その補正値βがセル段数ｎに応じて近似される補正関数（式２又は式３）によって算出される。配線伝搬遅延時間を算出する場合は、その補正値βが配線長ｌに応じて近似される補正関数（式４）によって算出される。
図６は、例えばｋ＝０．０００００２とした場合の補正関数（式４）を示す図であり、ばらつき係数αの補正値βは、信号パスの配線長ｌが大きくなるに従って小さくなる。
次に、本発明における第三実施形態の半導体集積回路の遅延時間計算方法及び遅延時間計算システムの特徴を以下に記載する。
（１）本実施形態では、信号パスの配線伝搬遅延時間が該信号パスの配線長ｌに応じて算出される補正値βに基づいて補正される。これにより、素子伝搬遅延時間と配線伝搬遅延時間とがそれぞれ別々の補正値βにて補正されるため、タイミング検証の品質をさらに向上させることができる。
尚、上記各実施形態は、以下の態様で実施してもよい。
・ばらつき係数αの補正関数として与えられる補正値βの近似関数は、上記各実施形態に限らず、その他の近似関数としてもよい。
・式２に示す補正関数の底ａの値は、第一実施形態で説明した値（０．８８２７）に限らず、信号パスの遅延時間を実際のチップ内ばらつきの影響による遅延時間として近似することができればその他の値でもよい。
・同様にして、式３及び式４に示す係数ｋの値は、それぞれ第二及び第三実施形態で説明した値に限らず、その他の値でもよい。
【図面の簡単な説明】
図１は、第一実施形態の遅延時間計算処理を示すフローチャートである。
図２は、遅延時間算出装置の概略構成図である。
図３は、第一実施形態の補正関数を示す図である。
図４は、クロックパスにおける遅延時間計算例を説明する図である。
図５は、第二実施形態の補正関数を示す図である。
図６は、第三実施形態の補正関数を示す図である。
図７は、各条件下における伝搬遅延時間を示す図である。
図８は、チップ内ばらつきを考慮した素子伝搬遅延時間を示す図である。
図９は、チップ内ばらつきを考慮した配線伝搬遅延時間を示す図である。
図１０は、遅延時間計算を行うための具体的な回路図である。
図１１は、データパスにおける遅延時間計算例を説明する図である。
図１２は、クロックパスにおける遅延時間計算例を説明する図である。
図１３は、従来のばらつき係数を考慮したクロックパスにおける遅延時間計算例を説明する図である。
図１４は、各遅延時間計算の結果を示すタイミングチャートである。
図１５は、ＭＩＮ条件下での伝搬遅延時間の確率分布を示す図である。
図１６は、ＭＩＮ条件下での伝搬遅延時間の確率密度を示す図である。
【図１】
2003060776.tif 000011
【図２】
2003060776.tif 000012
【図３】
2003060776.tif 000013
【図４】
2003060776.tif 000014
【図５】
2003060776.tif 000015
【図６】
2003060776.tif 000016
【図７】
2003060776.tif 000017
【図８】
2003060776.tif 000018
【図９】
2003060776.tif 000019
【図１０】
2003060776.tif 000020
【図１１】
2003060776.tif 000021
【図１２】
2003060776.tif 000022
【図１３】
2003060776.tif 000023
【図１４】
2003060776.tif 000024
【図１５】
2003060776.tif 000025
【図１６】
2003060776.tif 000026
【国際調査報告】
2003060776.tif 000027
2003060776.tif 000028
2003060776.tif 000029
2003060776.tif 000030
2003060776.tif 000031