(57)【特許請求の範囲】
【請求項１】
複数のノードの接続によって構成され、クロック信号の伝達経路となるクロック系パスおよびデータ信号の伝達経路となるデータ系パスを有した半導体集積回路の設計方法であって、
(ａ)前記クロック系パスおよび前記データ系パスを１つのパスとして統合し、統合されたパスを構成する前記複数のノードのランダムばらつき成分の標準偏差を算出するステップと、
(ｂ)前記ランダムばらつき成分の標準偏差と、前記統合されたパスを構成する前記複数のノードのシステマティックばらつき成分の標準偏差とに基づいてチップ内ばらつき成分の標準偏差を算出するステップと、
(ｃ)前記チップ内ばらつき成分と、前記統合されたパス全体の基準遅延とに基づいて、遅延変動を算出するステップと、を備える、半導体集積回路の設計方法。
【請求項２】
前記ステップ(ａ)は、
前記複数のノードのそれぞれのランダムばらつき成分に、遅延の重み付けを行って前記ランダムばらつき成分の標準偏差を算出する、請求項１記載の半導体集積回路の設計方法。
【請求項３】
前記複数のノードは、固定遅延成分を有した多段構成のノードを含み、
前記ステップ(ａ)は、
前記多段構成のノードを、各段で分割してそれぞれ個別ノードとし、前記個別ノードについて前記ランダムばらつき成分の標準偏差の算出に組み込む、請求項１記載の半導体集積回路の設計方法。
【請求項４】
(ｄ)前記チップ内ばらつき成分に、他のチップのばらつき成分を含めた、全てのばらつきを含む成分の標準偏差を算出するステップと、
(ｅ)前記チップ内ばらつき成分の標準偏差の最大値が、前記全てのばらつきを含む成分の標準偏差の最大値を越えないように、前記チップ内ばらつき成分の標準偏差のカバー範囲を設定するステップとを更に備える、請求項１記載の半導体集積回路の設計方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は半導体集積回路の設計方法に関し、特に統計的な手法を用いたタイミング解析を利用した設計方法に関する。
【背景技術】
【０００２】
図１１には、半導体集積回路のタイミング解析の一手法として知られているスタティックタイミング解析（ＳＴＡ：Static Timing Analysis）の概念を説明する模式図を示す。
【０００３】
図１１においては、ＮＤ０〜ＮＤ１４までの１５個のノードを有する半導体集積回路を例に採って示している。ここで、ノードとは遅延を持つ素子と定義し、論理ゲートや配線などがこれに含まれ、ノードＮＤ４、ＮＤ６およびＮＤ１０はフリップフロップを、ノードＮＤ５、ＮＤ７〜ＮＤ９はアンド論理ゲートを、その他は特に限定しない論理ゲートを想定している。
【０００４】
スタティックタイミング解析は、素子特性のばらつきのうち、チップ内（On Chip）ばらつき（ＯＣＶ）により生じる遅延変動を補正するように設定した係数により解析結果を表現するものであり、図１１に示すように、アライバルパス（データ系パス）とリクワイアドパス（クロック系パス）のそれぞれに対して、各ノードの基準遅延に掛ける補正係数を算出する。
【０００５】
図１１においては、アライバルパスは、ノードＮＤ０から始まってノードＮＤ１〜ＮＤ４、ＮＤ７〜ＮＤ９を経由してノードＮＤ１０に至る経路と、ノードＮＤ２から始まって、ノードＮＤ３〜ＮＤ５を経由してノードＮＤ６に至る経路との２つを有し、リクワイアドパスは、ノードＮＤ０から始まってノードＮＤ１２〜ＮＤ１４を経由してノードＮＤ１０に至る経路と、ノードＮＤ２から始まって、ノードＮＤ１１を経由してノードＮＤ６に至る経路との２つを有している。
【０００６】
アライバルパスおよびリクワイアドパスには係数を個別に与えることができ、図１１においては、チップ内ばらつきを±６％と考えて、アライバルパスは基準遅延×１．０６（＋６％）、リクワイアドパスは基準遅延×０．９４（−６％）と設定した解析例を示している。
【０００７】
また、図１２にはタイミング解析の他の手法として知られている統計的ＳＴＡの概念を説明する模式図を示す。
【０００８】
なお、図１２においては、図１１に示した半導体集積回路と同じノード構成を有するものとし、図１１に示した半導体集積回路と同一の構成については同一の符号を付し、重複する説明は省略する。
【０００９】
図１２に示すように、統計的ＳＴＡでは、ばらつきを考慮した遅延を分布として扱うものであり、各ノードにおける遅延は正規分布と仮定することにより、遅延を平均値と標準偏差で表現し、正規分布の伝播解析を行う。
【００１０】
半導体プロセスの微細化に伴って、チップ内ばらつきの成分、その中でも特にランダムに生じるばらつき成分が大きくなると考えられている。そのため、あらゆる回路構成をカバーするように設計時にチップ内ばらつきの値を過大に設定すれば、必要以上のマージンを確保してしまう可能性があるため、半導体集積回路の性能や設計収束性が低下すると考えられる。
【００１１】
逆に設計時にチップ内ばらつきの値を過小に設定すれば、必要なマージンが確保できない可能性があるため、誤動作する可能性が高くなると考えられる。
【００１２】
図１１を用いて説明したように、従来的なスタティックタイミング解析では、チップ内ばらつきの補正係数を一定値に仮定するため、回路構成によって統計学的に相殺されるランダムばらつきの成分を正確に与えることはできない。
【００１３】
また、特許文献１に開示されるように、ランダムばらつきの成分をセル段数（ゲート段数）に応じて計算する手法も提案されているが、アライバルパスとリクワイアドパスを個別に考慮するため、不要なマージンを含むと考えられる。
【００１４】
一方、統計的ＳＴＡでは、遅延を正規分布で表し、ランダムばらつきの成分などを統計学的に考慮するため、より現実的な計算結果となる。しかしながら、ＳＴＡに比べて処理時間が大きくなることから、現状は大規模半導体集積回路の設計に利用することはできない。
【００１５】
【特許文献１】特開2005-122298号公報（図３、図４）
【発明の開示】
【発明が解決しようとする課題】
【００１６】
本発明は上記のような問題点を解消するためになされたもので、設計時に、より現実的なプロセスばらつきを考慮でき、必要以上の設計マージンを設定することなく、半導体集積回路の性能向上や設計収束性が期待でき、また必要なマージンの確保によって品質向上も期待できるとともに、計算が簡単で高速処理が可能な設計方法を提供することを目的とする。
【課題を解決するための手段】
【００１７】
本発明に係る請求項１記載の半導体集積回路の設計方法は、複数のノードの接続によって構成され、クロック信号の伝達経路となるクロック系パスおよびデータ信号の伝達経路となるデータ系パスを有した半導体集積回路の設計方法であって、前記クロック系パスおよび前記データ系パスを１つのパスとして統合し、統合されたパスを構成する前記複数のノードのランダムばらつき成分の標準偏差を算出するステップ(ａ)と、前記ランダムばらつき成分の標準偏差と、前記統合されたパスを構成する前記複数のノードのシステマティックばらつき成分の標準偏差とに基づいてチップ内ばらつき成分の標準偏差を算出するステップ(ｂ)と、前記チップ内ばらつき成分と、前記統合されたパス全体の基準遅延とに基づいて、遅延変動を算出するステップ(ｃ)とを備えている。
【発明の効果】
【００１９】
本発明に係る請求項１記載の半導体集積回路の設計方法によれば、クロック系パスおよびデータ系パスを１つのパスとして統合し、統合されたパスを構成する複数のノードのランダムばらつき成分の標準偏差を算出し、当該チップ内ばらつき成分と、統合されたパス全体の基準遅延とに基づいて、遅延変動を算出するので、半導体集積回路の設計時に、チップ内のランダムばらつき成分を、より現実的な値として得ることができるので、必要以上の設計マージンを設定することなく半導体集積回路の性能向上や設計収束性が期待でき、また必要なマージンの確保によって品質向上も期待できるとともに、計算が簡単で高速処理が可能となる。
【発明を実施するための最良の形態】
【００２１】
＜実施の形態＞
＜Ａ．発明の基本概念＞
まず、本発明に係る半導体集積回路の設計方法の基本概念について説明する。
半導体プロセスに起因する半導体素子特性のばらつきの成分を分類して、各ばらつき成分によって生じる遅延変動の割合（平均遅延に対するずれ）を正規分布と想定して、以下のように標準偏差で表す。
【００２２】
すなわち、半導体チップ（以下、チップと呼称）内の複数のノードが有するランダムばらつき成分の標準偏差をσr、チップ内の複数のノードが有するシステマティックばらつき成分の標準偏差をσs、他のチップ（Off Chip）のばらつき成分の標準偏差をσfとする。なお、以下においては、便宜的にσr、σs、σfをランダムばらつき成分、システマティックばらつき成分、他のチップのばらつき成分と呼称する。
【００２３】
ここで、ランダムばらつき成分とは、例えば、隣り合う半導体素子間で明確な特性の相違を呈する成分であり、システマティックばらつき成分とは、隣り合う半導体素子間では明確な特性の相違は呈さないものの、ある程度離れた位置の半導体素子との間では明確な特性の相違を呈するような成分である。
【００２４】
また、他のチップのばらつき成分とは、同じウエハ上に形成されたチップ間での平均特性の相違や、異なるウエハ上に形成されたチップ間での平均特性の相違や、異なるロットで形成されたチップ間での平均特性の相違を呈するような成分である。
【００２５】
各ばらつき成分の分布を正規分布と仮定すると、全てのばらつきを含む成分とチップ内のばらつき成分の標準偏差は、統計学的に以下のように定義することができる。
【００２６】
すなわち、全てのばらつきを含む成分の標準偏差（単に、全てのばらつきを含む成分と呼称する場合もあり）をσallとすると、σallは下記の数式（１）で定義される。
【００２７】
【数１】
0004761906.tif 000002
【００２８】
また、チップ内の全てのばらつき成分の標準偏差（単に、チップ内ばらつき成分と呼称する場合もあり）をσchipとすると、σchipは下記の数式（２）で定義される。
【００２９】
【数２】
0004761906.tif 000003
【００３０】
ここで、チップ内ばらつき成分のうち、ランダムばらつき成分に着目する。
ランダムばらつき成分は、論理ゲートの回路構造や配線のパターンによって変動するため、各ノードに対して個別に値を定義する必要がある。なお、ノードとは遅延を持つ素子として定義され、論理ゲートや配線などに相当する。
【００３１】
また、各ノードのばらつきがパス全体に与える影響は各ノードの基準遅延（平均遅延）に依存するため、パス全体のばらつきを計算するために各ノードのランダムばらつき成分に遅延の重み付けをした計算式を用いる。
【００３２】
具体的には、図１に示すようなｎ個のノードを持つ半導体集積回路を想定する。なお、図１において、ｄnおよびσnは、それぞれ各ノードにおける基準遅延およびランダムばらつきを示す。
【００３３】
図１に示すｎ個のノードを持つ半導体集積回路に対して、チップ内ランダムばらつき成分の標準偏差σrを以下の数式（３）で表す。なお、数式（３）においては、ｉ番目のノードの基準遅延およびランダムばらつき成分を、それぞれｄiおよびσiとして表す。
【００３４】
【数３】
0004761906.tif 000004
【００３５】
このような遅延の重み付けを行うことで、より現実的なランダムばらつき成分の標準偏差を得ることができる。
【００３６】
以下、本発明に係る半導体集積回路の設計方法として、数式（３）を利用した設計方法について、図２に示す半導体集積回路を例に採って説明する。
【００３７】
図２においては、ＮＤ０〜ＮＤ１４までの１５個のノードを有する半導体集積回路を示しており、ノードＮＤ４、ＮＤ６およびＮＤ１０はフリップフロップを、ノードＮＤ５、ＮＤ７〜ＮＤ９はアンド論理ゲートを、その他は特に限定しない論理ゲートを想定している。
【００３８】
そして、図２においては、ノードＮＤ０から始まってノードＮＤ１〜ＮＤ４、ＮＤ７〜ＮＤ９を経由してノードＮＤ１０に至る経路と、ノードＮＤ１２〜ＮＤ１４を経由してノードＮＤ１０に至る経路とを第２パスとして定義し、また、ノードＮＤ２から始まって、ノードＮＤ３〜ＮＤ５を経由してノードＮＤ６に至る経路と、ノードＮＤ１１を経由してノードＮＤ６に至る経路とを第１パスとして定義している。
【００４０】
そして、着目するパスのセットアップやホールドなどのタイミング検証は、アライバルパスとリクワイアドパスの遅延を求めて、その相対差から設計条件を設定する。
例えばセットアップ条件は、以下の数式（４）で定義する。
【００４１】
【数４】
0004761906.tif 000005
【００４２】
また、ホールド条件は、以下の数式（５）で定義する。
【００４３】
【数５】
0004761906.tif 000006
【００４４】
なお、数値αおよびβは、例えばフリップフロップのセットアップ時間およびホールド時間、また、クロックスキュー、ジッタなどの要素で決まる値であり、数式（４）のセットアップ条件においてはアライバルパスとリクワイアドパスにおける遅延の相対差が、クロック周期よりも確実に小さくなるように、クロック周期から数値αを差し引いた値で条件が設定されている。
【００４５】
ここで、チップ内ばらつきを考慮すべき半導体集積回路は図３のように模式的に表現することができる。
【００４６】
本発明に係る半導体集積回路の設計方法においては、図１１および図１２に示したように、従来は個別のパスとして取り扱っていたアライバルパス（データ信号の伝達経路となるデータ系パス）およびリクワイアドパス（クロック信号の伝達経路となるクロック系パス）を、統計学的な観点から１本のパスとして扱うことを発明の基本概念とする。図３において、ノードＡ１〜Ａｍまでのｍ個のノードで構成されるアライバルパスと、ノードＢ１〜Ｂｎまでのｎ個のノードで構成されるリクワイアドパスとに分けることができるが、本発明に係る半導体集積回路の設計方法によれば、アライバルパスおよびリクワイアドパスを、統計学的な観点から１本のパスとして扱うので、図３に示す半導体集積回路におけるランダムばらつき成分σr(m,n)は以下の数式（６）で表すことができる。
【００４７】
【数６】
0004761906.tif 000007
【００４８】
なお、上記数式（６）において、ｄAiおよびσAiは、それぞれアライバルパスのｉ番目のノードの遅延およびランダムばらつき成分を表し、ｄBiおよびσBiは、それぞれリクワイアドパスのｉ番目のノードの遅延およびランダムばらつき成分を表す。
【００４９】
ここで、複数段のゲート回路を含む多段セルなどの多段構成のノードでは、初段のゲート回路の出力負荷は一定なので固定遅延成分を持つことになり、当該多段セルを１つのノードとして取り扱うと、正確なランダムばらつき成分σrを得ることができない。
【００５０】
このような場合、各段のゲート回路ごとに分割して個別ノードとして取り扱うことで、数式（６）を適用することができ、正確なランダムばらつき成分σrを得ることができる。
【００５１】
そして、数式（６）から得られるランダムばらつき成分σrを数式（２）に代入することで、チップ内ばらつき成分σchipを得ることができ、その値からチップ内ばらつきによって生じる遅延変動Ｄocvの値を決めることができる。遅延変動Ｄocvは以下の数式（７）で表すことができる。
【００５２】
【数７】
0004761906.tif 000008
【００５３】
なお、上記数式（７）において、Ｄbaseはパス全体（アライバルパス＋リクワイアドパス）の基準遅延（平均遅延）を表し、各ノードの遅延の合計値で定義する。
【００５４】
数式（７）で得られる値は、基準遅延に対してチップ内ばらつき成分σchipにより生じる遅延変動分と考えることができるので、半導体集積回路の設計時にこの値を利用することにより、チップ内ばらつきの成分を考慮することができる。
【００５５】
以上説明した、本発明に係る半導体集積回路の設計方法の基本概念を図４のフローチャートにまとめて示す。
【００５６】
すなわち、図４に示すステップＳ１において、解析対象となる２つのパス（アライバルパスおよびリクワイアドパス）を、１つのパスとして統合し、当該１つのパス（統合パス）を構成する複数のノードについてチップ内ランダムばらつき成分（σr）を算出する。
【００５７】
次に、ステップＳ２において、チップ内ランダムばらつき成分（σr）と、チップ内システマティックばらつき成分（σs）とに基づいてチップ内ばらつき成分σchipを算出する。
【００５８】
その後、ステップＳ３において、パス全体の基準遅延（Ｄbase）と、チップ内ばらつき成分（σchip）とに基づいて遅延変動（Ｄocv）を算出する。
なお、具体的な計算例については後に説明する。
【００５９】
＜Ｂ．発明の適用例＞
次に、本発明に係る半導体集積回路の設計方法の適用例について説明する。
アライバルパスおよびリクワイアドパスを、統計学的な観点から１本のパスとして扱うことで、設計時にチップ内のランダムばらつき成分σrを、より現実的な値（統計的ＳＴＡに近い値）として得ることができる。
【００６０】
チップ内のシステマティックばらつき成分σsや、他のチップのばらつき成分σfについては従来的な手法でも現実的な値が得られるので、ランダムばらつき成分σrのより現実的な値が得られれば、チップ内ばらつき成分σchipや全てのばらつきσallを求めることは比較的容易である。
【００６１】
そして、チップ内ばらつき成分σchipや全てのばらつきσallを得ることができれば、パスごとに、ばらつきを考慮した設計検証ポイントを設定することができる。以下、ばらつきを考慮した設計検証ポイントの設定方法について説明する。
【００６２】
まず、他のチップのばらつき成分のみについて考慮するものとし、全てのばらつき成分を除外した遅延（全てのばらつきを考慮した遅延の平均値とも言える）をＤaverageとし、他のチップのばらつき成分は標準偏差1σ分をカバーするものと考えると、パス全体の基準遅延Ｄbaseの範囲は、以下の数式（８）で表される。
【００６３】
【数８】
0004761906.tif 000009
【００６４】
そして、上記範囲を全てカバーする場合の基準遅延Ｄbaseの最大値は以下の数式（９）で表される。
【００６５】
【数９】
0004761906.tif 000010
【００６６】
この場合に、チップ内ばらつきを考慮すると、単純には全てのばらつきを含む遅延Ｄallの範囲は、以下の数式（１０）で表される。
【００６７】
【数１０】
0004761906.tif 000011
【００６８】
そして、上記範囲を全てカバーする場合の遅延Ｄallの最大値は以下の数式（１１）で表される。
【００６９】
【数１１】
0004761906.tif 000012
【００７０】
次に、全てのばらつきσallについて考慮するならば、全てのばらつき成分を含む遅延Ｄallの範囲は、標準偏差1σ分をカバーするものとすれば、以下の数式（１２）によって表すことができる。
【００７１】
【数１２】
0004761906.tif 000013
【００７２】
そして、上記範囲を全てカバーする場合の全てのばらつき成分を含む遅延Ｄallの最大値は以下の数式（１３）で表される。
【００７３】
【数１３】
0004761906.tif 000014
【００７４】
数式（１３）より、統計学的な最大値は以下の数式（１４）となる。
【００７５】
【数１４】
0004761906.tif 000015
【００７６】
数式（１４）によって与えられる全てのばらつき成分を含む遅延Ｄallは、数式（１１）によって与えられる遅延Ｄallよりも小さい値となり、設計時に数式（１１）を使用する場合は、必要以上のマージンを考慮することになる。
【００７７】
そこで、遅延Ｄallが数式（１４）の値を越えず、かつ数式（１０）の遅延Ｄallをカバーできるような基準遅延Ｄbaseを設定するようにする。
【００７８】
すなわち、数式（１１）を用いるのではなく、以下の数式（１５）を使用し、数式（１５）を満たすようにＤbaseを設定する。
【００７９】
【数１５】
0004761906.tif 000016
【００８０】
数式（１５）を使用することで、各パスにおけるチップ内ばらつき成分σchipを考慮した、全てのばらつき成分を含む遅延Ｄallの範囲を設定することができ、当該範囲の最大値および最小値が設計検証ポイントとなる。なお、遅延Ｄallの範囲の具体的な設定例については後に説明する。
【００８１】
＜Ｃ．遅延変動分の算出例＞
以下、遅延変動Ｄocvの具体的な算出例について説明する。
半導体プロセスのばらつきの成分を分類して、各ばらつき成分によって生じる遅延変動の割合（基準遅延に対する変動の割合）を正規分布と想定して、その標準偏差を以下のように仮定する。すなわち、
チップ内のランダムばらつき成分による遅延変動の割合を３σでカバーするものとし、３σr＝２０％とする。
【００８２】
また、チップ内のシステマティックばらつき成分による遅延変動の割合を３σでカバーするものとし、３σs＝３％とする。
【００８３】
また、他のチップのばらつき成分を考慮した遅延変動の割合を３σでカバーするものとし、３σf＝２０％とする。
【００８４】
ここで、チップ内のランダムばらつき成分は回路構成や配線パターンによって変動するため、考えられるあらゆる構成の最大値としている。またばらつきをカバーする範囲を広めるために、全て３σで表現している。
【００８５】
これらの値から、全てのばらつきを含む成分とチップ内ばらつき成分の最大値を数式（１）および（２）から求めることができる。
【００８６】
すなわち、数式（１）より、
全てのばらつきを含む成分３σall≒２８．４％、
数式（２）より、
チップ内ばらつき成分３σchip≒２０．２％が得られる。
【００８７】
ここで、図２に示した第１および第２パスを有する半導体集積回路の各ノードに対して、図５に示すような基準遅延およびランダムばらつき成分の値を仮定する。
【００８８】
すなわち、ノードＮＤ１〜ＮＤ３、ＮＤ１１〜ＮＤ１４については、何れも基準遅延５０ｐｓ（ピコ秒）、ランダムばらつき成分１０％とする。また、ノードＮＤ５については、基準遅延５００ｐｓ、ランダムばらつき成分２０％とし、ノードＮＤ７、ＮＤ９については、基準遅延５０ｐｓ、ランダムばらつき成分２０％とし、ノードＮＤ８については、基準遅延１００ｐｓ、ランダムばらつき成分２０％とする。
【００８９】
なお、ノードＮＤ４、ＮＤ６およびＮＤ１０を構成するフリップフロップを多段セルと考え、特にノードＮＤ４については、初段ゲート回路内の固定遅延成分と出力ゲート回路内の変動遅延成分とに分割し、基準遅延１００ｐｓ、ランダムばらつき成分５％のセルと、基準遅延５０ｐｓ、ランダムばらつき成分１０％のセルとを有しているものとして扱う。ただし、フリップフロップの構成によっては、更に分割が必要となる場合もある。
【００９０】
図５に示す第１および第２のパスに対して数式（６）を適用すると、ランダムばらつき成分３σrは以下のように計算できる。
【００９１】
すなわち、第１パスについては、以下の数式（１６）から、３σr＝１３．４％となる。
【００９２】
【数１６】
0004761906.tif 000017
【００９３】
また、第２パスについては、以下の数式（１７）から、３σr＝４．４％となる。
【００９４】
【数１７】
0004761906.tif 000018
【００９５】
これらの値から、第１および第２パスのそれぞれについて、全てのばらつきを含む成分およびチップ内ばらつき成分は、数式（１）および（２）から以下のように計算することができる。
【００９６】
すなわち、第１パスについては、以下の数式（１８）および（１９）から、３σall＝２４．８％となり、３σchip＝１４．６％となる。
【００９７】
【数１８】
0004761906.tif 000019
【００９８】
【数１９】
0004761906.tif 000020
【００９９】
また、第２パスについては、以下の数式（２０）および（２１）から、３σall＝２０．７％となり、３σchip＝５．３％となる。
【０１００】
【数２０】
0004761906.tif 000021
【０１０１】
【数２１】
0004761906.tif 000022
【０１０２】
このように、全てのばらつきを含む成分、チップ内ばらつき成分とも第１および第２パスで異なっていることが判る。
【０１０３】
そして、第１および第２パスのそれぞれについて、チップ内ばらつき成分３σchipによって生じる遅延変動Ｄocvは、数式（７）から以下のように計算できる。ただし、何れもパス全体の基準遅延に対しての遅延変動として表されている。
【０１０４】
すなわち、第１パスについては、以下の数式（２２）から、Ｄocv＝１０２．６ｐｓとなる。
【０１０５】
【数２２】
0004761906.tif 000023
【０１０６】
また、第２パスについては、以下の数式（２３）から、Ｄocv＝３４．３ｐｓとなる。
【０１０７】
【数２３】
0004761906.tif 000024
【０１０８】
半導体集積回路の設計時に、上述した過程を経て得られた遅延変動Ｄocvを考慮しておけば、チップ内ばらつき成分３σchipの範囲をカバーした遅延を組み込んだ設計が可能となる。
【０１０９】
なお、上述した計算例では３σchipをカバーするものとしたが、カバーする範囲を変更しても同様に遅延を考慮することができる。また、遅延が遅くなるものとして説明したが、遅延が速くなる場合も同様に考慮することができる。
【０１１０】
また、システマティックばらつき成分σsに関しては固定値の例を示したが、場所依存性を持たせるなど関数表現であっても同様に扱うことができる。
【０１１１】
そして、基準遅延としては、ばらつきを考慮しない場合のティピカルな遅延、他のチップのばらつき成分を考慮した遅延の平均値など、様々な場合を想定することができる。
【０１１２】
また、パス１本では３σのカバー範囲で良い場合でも、クリティカルパスが複数本ある場合には３σ以上を考慮するなど、クリティカルパスの本数によって想定するカバー範囲を変更すれば良い。
【０１１３】
＜Ｄ．全てのばらつき成分を含む遅延の設定例＞
次に、全てのばらつき成分を含む遅延Ｄallの範囲の具体的な設定例について、図６および図７を用いて説明する。なお、以下では、図５に示した半導体集積回路を例に採り説明を行う。
【０１１４】
まず、第１および第２のパスを含む全てのパスについて、パスごとに全てのばらつきを含む成分σallおよびチップ内ばらつき成分σchipを、数式（１６）〜（２１）で説明した手法で求める。ここで、図５に示した半導体集積回路には、第１および第２のパス以外にも複数のパスが存在するものとし、理論的に考えられるもっともばらつきの大きなパスをワーストパスと呼称すると、各パスのばらつき成分は以下のように表される。
【０１１５】
ワーストパスの３σall≒２８．４％
ワーストパスの３σchip≒２０．２％
第１パスの３σall＝２４．３％
第１パスの３σchip＝１３．７％
第２パスの３σall＝２０．７％
第２パスの３σchip＝５．３％
そして、上記値に基づいて、パスごとに３σallおよび３σchipをカバーするものとし、パスごとにカバー範囲を以下のように設定する。
【０１１６】
すなわち、全てのばらつきを含む成分が３σallを超える場合、またはチップ内ばらつきの成分が３σchipを超える場合のどちらか一方でも生じる場合は半導体集積回路の性能を保証しない、という設定を行う。
【０１１７】
換言すれば、全てのばらつきを含む成分が３σallを超えず、かつチップ内ばらつきの成分が３σchipを超えないという、もっとも条件の厳しい範囲を設計条件とする。
【０１１８】
この設計条件を反映したものが数式（１５）であり、数式（１５）に基づいて設計検証ポイントを設定する方法を模式的に示したものが図６である。
【０１１９】
図６に示すように、全てのばらつきを考慮した平均遅延であるＤaverageに対し、各パスごとに算出される（１＋３σall）の係数を掛けたものが、各パスの全てのばらつき成分を含む遅延Ｄallの最大値（以下、最大遅延値と呼称）となる。
【０１２０】
なお、各パスごとに算出される（１＋３σall）の値は、ワーストパスが１．２８４、第１パスが１．２４３、第２パスが１．２０７となる。
【０１２１】
そして、各パスの最大遅延値に対して、数式（１５）を満たすように各パスごとに基準遅延Ｄbaseを設定することで、見かけ上の基準遅延Ｄbaseを決めることができる。
【０１２２】
すなわち、各パスごとに算出される（１＋３σchip）の係数を掛けることで、各パスの最大遅延値に達する値が、各パスの見かけ上の基準遅延Ｄbaseとなる。なお、Ｄaverageを１とした場合に、ワーストパスの見かけ上の基準遅延Ｄbaseは１．０６８、第１パスの見かけ上の基準遅延Ｄbaseは１．０９３、第２パスの見かけ上の基準遅延Ｄbaseは１．１４６となる。
【０１２３】
そして、各パスの見かけ上の基準遅延Ｄbaseに対して、各パスごとに算出される（１−３σchip）の係数を掛けることで、各パスの全てのばらつき成分を含む遅延Ｄallの最小値（以下、最小遅延値と呼称）が得られる。なお、Ｄaverageを１とした場合に、ワーストパスの最小遅延値は０．８５２、第１パスの最小遅延値は０．９４３、第２パスの最小遅延値は１．０８５となる。
【０１２４】
以上の手法により、各パスにおける全てのばらつき成分を含む遅延Ｄallの許容範囲（数式（１０）で規定される範囲）を設定することができ、その最大遅延値および最小遅延値を設計検証ポイントとし、半導体集積回路の設計時にはこれらの値を超えないように遅延設計を行う。
【０１２５】
以上説明した手法により遅延Ｄallの許容範囲を設定する場合、図６から判るように、パスによって基準遅延が見かけ上変化する。
【０１２６】
基準遅延がパスによって異なると、基準遅延の計算をするために必要な各ノードのゲート回路や配線の情報（ライブラリ）が複雑になり、設計手法も複雑になる場合が想定される。
【０１２７】
そこで、基準遅延を１箇所に設定することで、設計手法を単純化する方法について図７を用いて説明する。
【０１２８】
図７に示すように、全てのばらつきを考慮した平均遅延であるＤaverageに対し、ワーストパスで算出される（１＋３σall）の係数を掛けたものを基準遅延として一義的に定める。この値は、ワーストパスにおける最大遅延値であることは言うまでもない。
【０１２９】
この基準遅延は、Ｄaverageを１とした場合に１．２８４となり、これに対して係数０．６６４を掛けた値が、ワーストパスの最小遅延値となる。なお、ワーストパスの最小遅延値は０．８５２である。
【０１３０】
また、基準遅延に対して係数０．７３４を掛けた値が、第１パスの最小遅延値となる。なお、第１パスの最小遅延値は０．９４３である。
【０１３１】
また、基準遅延に対して係数０．８４５を掛けた値が、第２パスの最小遅延値となる。なお、第２パスの最小遅延値は１．０８５である。
【０１３２】
また、各パスの最大遅延値は、ワーストパスについては既に決まっており、基準遅延に対して０．９６８（１．２４３／１．２８４）を掛けた値が第１パスの最大遅延値となり、基準遅延に対して０．９４０（１．２０７／１．２８４）を掛けた値が第２パスの最大遅延値となる。
【０１３３】
このように、ワーストパスの最大遅延値を基準遅延とし、他のパスについては当該基準遅延に対する補正係数をライブラリとして持つことによって、それぞれのパスの最大遅延値および最小遅延値を設定することができる。
【０１３４】
この方法を採ることで、何れのパスついても基準遅延は共通となり、基準遅延がパスによって変化することがないので、基準遅延の計算をするために必要な各ノードのゲート回路や配線のライブラリは単純なもので済み、設計手法を簡単化できる。このため、現状の設計手法の延長で本発明に係る設計方法を適用することが可能となる。
【０１３５】
また、チップ内のランダムばらつき成分σrの、より現実的な値を半導体集積回路の設計に反映させることによって、必要以上の設計マージンの削除によって性能向上や設計収束性が期待でき、また必要なマージンの確保によって品質向上も期待できる。
【０１３６】
＜Ｅ．半導体集積回路の設計装置の構成＞
以上の説明では、半導体集積回路の設計方法を述べたが、当該設計方法は、以下に説明する半導体集積回路の設計装置により実行することができる。
【０１３７】
図８は本発明に係る半導体集積回路の設計装置１００の構成を示すブロック図である。  半導体集積回路の設計装置１００は、設計対象となる半導体集積回路の回路情報が入力される回路情報入力部１１、回路情報入力部１１で受けた回路情報に基づいて所定の演算を施す演算部１０、演算部１０での演算結果を出力する演算結果出力部１２とを備えている。なお、回路情報にはノード間の接続関係を示すネットリスト、各ノードの遅延情報などが含まれている。
【０１３８】
演算部１０は、解析対象となる２つのパス（アライバルパスおよびリクワイアドパス）を、１つのパスとして統合し、当該１つのパス（統合パス）を構成する複数のノードについてチップ内ランダムばらつき成分（σr）を算出するチップ内ランダムばらつき成分算出部１と、チップ内ランダムばらつき成分算出部１で算出されたチップ内ランダムばらつき成分（σr）と、チップ内システマティックばらつき成分（σs）とに基づいてチップ内ばらつき成分σchipを算出するチップ内ばらつき成分算出部２と、パス全体の基準遅延（Ｄbase）と、チップ内ばらつき成分（σchip）とに基づいて遅延変動（Ｄocv）を算出する、遅延変動算出部３とを有している。
【０１３９】
遅延変動算出部３で得られた遅延変動（Ｄocv）は、演算結果出力部１２に与えられ、演算結果出力部１２を介して図示しない表示装置に遅延変動（Ｄocv）を表示したり、データとして出力するなどして、後続する半導体集積回路の設計に遅延変動（Ｄocv）の情報を与える。
【０１４０】
なお、遅延変動（Ｄocv）の情報を半導体集積回路の設計に反映させることは当業者であれば周知であるので、具体的な装置構成や説明は省略する。
【０１４１】
＜Ｆ．半導体集積回路の設計装置の実現例＞
以上説明した、半導体集積回路の設計装置１００の実現にあたっては、例えば図９に示すようなコンピュータシステムを利用すれば良い。
【０１４２】
すなわち、図９に示すように半導体集積回路の設計装置１００は、コンピュータ本体１０１、ディスプレイ装置１０２、磁気テープあるいは磁気ディスク等の磁気記録媒体１０４が装着される磁気記録再生装置１０３、キーボード１０５、マウス１０６、ＣＤ（compact disc）やＤＶＤ（digital video disc）等の光ディスク１０８が装着される光ディスク装置１０７、および通信モデム１０９を備えている。
【０１４３】
半導体集積回路の設計装置１００を構成する演算部１０の、チップ内ランダムばらつき成分算出部１、チップ内ばらつき成分算出部２および遅延変動算出部３の機能は、コンピュータプログラム（半導体集積回路の設計プログラム）をコンピュータ上で実行することにより実現することができ、その場合は当該プログラムは磁気記録媒体１０４あるいは光ディスク１０８等の記録媒体によって供給される。また、当該プログラムは信号の形態で通信路上を伝搬させ、他のコンピュータから通信回線を経由して通信モデム１０９を介してコンピュータ本体１０１に供給することも可能で、記録媒体にダウンロードさせて使用することも可能である。
【０１４４】
半導体集積回路の設計プログラムはコンピュータ本体１０１で実行され、操作者はディスプレイ装置１０２を見ながらキーボード１０５またはマウス１０６を操作することによって回路設計を自動的に行うことができる。
【０１４５】
図１０に、図９に示すコンピュータシステムの構成をブロック図として示す。図１０に示したコンピュータ本体１０１は、ＣＰＵ（CENTRAL PROCESSING UNIT）２００、ＲＯＭ（READ ONLY MEMORY）２０１、ＲＡＭ（RANDOM ACCESS MEMORY）２０２、およびハードディスク２０３を有している。
【０１４６】
ＣＰＵ２００は、ディスプレイ装置１０２、磁気記録再生装置１０３、キーボード１０５、マウス１０６、光ディスク装置１０７、通信モデム１０９、ＲＯＭ２０１、ＲＡＭ２０２、ハードディスク２０３との間でデータを入出力しながら処理を行う。
【０１４７】
磁気記録媒体１０４あるいは光ディスク１０８に記録された半導体集積回路の設計プログラムは、ＣＰＵ２００によって一旦、ハードディスク２０３に格納される。ＣＰＵ２００はハードディスク２０３から適宜、半導体集積回路の設計プログラムをＲＡＭ２０２にロードして実行することで半導体集積回路の設計を行う。
【０１４８】
このように、半導体集積回路の設計装置１００をコンピュータシステムで実現し、本発明に係る半導体集積回路の設計方法をコンピュータプログラムにより実行することで、本発明に係る半導体集積回路の設計方法を汎用的に利用することができる。
【０１４９】
以上説明したコンピュータシステムは一例であり、半導体集積回路の設計プログラムを実行できるのであればこれに限定されるものではなく、記録媒体としても磁気記録媒体１０４や光ディスク１０８に限定されるものではない。
【産業上の利用可能性】
【０１５０】
同期設計を行う全てのＳＯＣ（System On Chip）半導体製品。
【図面の簡単な説明】
【０１５１】
【図１】ｎ個のノードを持つ半導体集積回路を模式的に表す図である。
【図２】本発明に係る実施の形態の設計方法を説明するための半導体集積回路を模式的に表す図である。
【図３】チップ内ばらつきを考慮すべき半導体集積回路を模式的に表す図である。
【図４】本発明に係る半導体集積回路の設計方法の基本概念を説明するフローチャートである。
【図５】半導体集積回路の各ノードに対して、基準遅延およびランダムばらつき成分の値を示した図である。
【図６】全てのばらつき成分を含む遅延の範囲の具体的な設定例を説明する図である。
【図７】全てのばらつき成分を含む遅延の範囲の具体的な設定例を説明する図である。
【図８】本発明に係る半導体集積回路の設計装置の構成を示すブロック図である。
【図９】本発明に係る半導体集積回路の設計装置を実現するコンピュータシステムの外観図である。
【図１０】本発明に係る半導体集積回路の設計装置を実現するコンピュータシステムの構成を示す図である。
【図１１】スタティックタイミング解析の概念を説明する模式図である。
【図１２】統計的スタティックタイミング解析の概念を説明する模式図である。
【符号の説明】
【０１５２】
ＮＤ０〜ＮＤ１４  ノード。
【図１】
0004761906.tif 000025
【図２】
0004761906.tif 000026
【図３】
0004761906.tif 000027
【図４】
0004761906.tif 000028
【図５】
0004761906.tif 000029
【図６】
0004761906.tif 000030
【図７】
0004761906.tif 000031
【図８】
0004761906.tif 000032
【図９】
0004761906.tif 000033
【図１０】
0004761906.tif 000034
【図１１】
0004761906.tif 000035
【図１２】
0004761906.tif 000036