(57)【要約】【課題】複数の製造ばらつき成分、遅延誤差ばらつきを反映した設計マージンに基づいたＬＳＩのタイミング解析方法又はタイミング解析装置を提供する。【解決手段】タイミング解析装置１０１は、ＬＳＩの回路セルの接続情報などを含むネットリスト１０３と、回路セルの遅延情報をあらかじめ格納した遅延データ１０２と、段数−ディレイティングファクター依存性１０４と、ディレイティングファクター（ＰＶＴ）１０７とを読み込み、信号パスセル段数検出手段１０６が信号パスの段数を検出し、ランダムばらつきの平均化度合いを示すディレイティングファクターを信号パスの段数に応じて決定し、それに基づきタイミング解析を行う。このため、より現実に即した高精度なタイミング設計が大規模回路に対して行えるようになる。【選択図】        図１
2005352787.tif 000002
【特許請求の範囲】
【請求項１】
複数の回路セルが直列に接続された複数の信号パスを有するＬＳＩのタイミング解析方法であって、
ＬＳＩ設計データに格納されているＬＳＩ中の回路セルの情報を用いて、上記各信号パスの論理深さを検出する工程（ａ）と、
上記各信号パスの論理深さに応じて補正された各信号パスの設計マージンを計算し、各信号パスの設計マージンを記憶手段に格納する工程（ｂ）と、
上記記憶手段から取り出した，補正された各信号パスの設計マージンが組み込まれた遅延を計算する工程（ｃ）と
を含むタイミング解析方法。
【請求項２】
請求項１記載のタイミング解析方法において、
上記論理深さとして、上記信号パスに含まれる回路セルの段数を用いる，タイミング解析方法。
【請求項３】
請求項１または２記載のタイミング解析方法において、
上記設計マージンとして、ディレイティングファクターとその補正係数とを用い、
上記工程（ｂ）では、論理深さに応じて各信号パスの設計マージンの補正係数を算出する，タイミング解析方法。
【請求項４】
請求項１〜３のうちいずれか１つに記載のタイミング解析方法において、
上記ＬＳＩ設計データまたは他の記憶手段に予め信号パスの論理深さと遅延ばらつきの平均化度合いとの間の関係を格納しておいて、
上記工程（ｂ）では、当該信号パスの論理深さと遅延ばらつきの平均化度合いとの間の関係を用いて補正された設計マージンを求める，タイミング解析方法。
【請求項５】
請求項４記載のタイミング解析方法において、
上記遅延ばらつきの平均化は、製造上のチップ内要素のランダムばらつきによって生じる遅延ばらつきの平均化を含んでいる，タイミング解析方法。
【請求項６】
請求項４または５記載のタイミング解析方法において、
上記遅延ばらつきの平均化は、遅延誤差の平均化を含んでいる，タイミング解析方法。
【請求項７】
請求項１〜６のうちいずれか１つに記載のタイミング解析方法において、
上記信号パスは、同じタイミングで動作する２つのフリップフロップによって挟まれている，タイミング解析方法。
【請求項８】
請求項１〜７のうちいずれか１つに記載のタイミング解析方法において、
上記信号パスには、回路セルとしてバッファを配置したクロックツリー構造のクロック配線供給回路中の信号パスが含まれる，タイミング解析方法。
【請求項９】
請求項１〜８のうちいずれか１つに記載のタイミング解析方法において、
上記工程（ｂ）では、チップ内の領域によって異なる割合で補正された設計マージンを計算する，タイミング解析方法。
【請求項１０】
各々１または２以上の回路セルが介設された複数の信号パスを有するＬＳＩのタイミング解析方法であって、
ＬＳＩ設計データに格納されているＬＳＩ中の回路セルの情報と、補正前のディレイティングファクターを用いて各信号パスの遅延を求め、補正前タイミング解析結果として第１の記憶手段に格納するステップ（ａ）と、
セルライブラリに格納されているＬＳＩ中の回路セルの情報を用いて、上記各信号パスの論理深さを計算する工程（ｂ）と、
上記各信号パスの論理深さに応じて各信号パスの設計マージンの補正値を計算し、各信号パスの設計マージンの補正値を第２の記憶手段に格納する工程（ｃ）と、
上記第１の記憶手段から取り出した補正前タイミング解析結果を上記第２の記憶手段から取り出した補正値で補正して、補正された各信号パスの設計マージンが組み込まれた遅延を計算する工程（ｄ）と
を含むタイミング解析方法。
【請求項１１】
複数の回路セルが直列に接続された複数の信号パスを有するＬＳＩのタイミング解析装置であって、
上記各信号パスの論理深さを検出する論理深さ検出手段と、
検出された各信号パスの論理深さを用いて補正された各信号パスの設計マージンを計算する設計マージン決定手段と、
上記補正された各信号パスの設計マージンを組み込んだ各信号パスの遅延を計算するタイミング解析手段と
を備えているタイミング解析装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、システムＬＳＩやＡＳＩＣ（Application Specific IC）等の設計を行なう際に、主として製造上のばらつきの影響を考慮した設計マージンのもとでタイミング解析を行うのに用いる技術に関する。
【背景技術】
【０００２】
近年、製造技術の発達と共にトランジスタの微細化又は集積化が急速に向上してきたため、ＣＭＩＳ（Complementary Metal Insulator Semiconductor ）半導体集積回路（以下、ＬＳＩと称する）のワンチップ上に様々な機能を実現できるようになった。このようなＬＳＩを開発する際には、通常、設計余裕すなわち設計マージンが設けられている。回路特性に影響を与える要因には種々考えられるが、設計マージンは、それらの要因からの影響を受けても、回路が正常に動作するように設計時に見込む余裕のことである。設計マージンを設定する上でもっとも考慮すべきファクターは、回路特性に影響を与えるファクターである。かかるファクターには、回路の動作環境である電圧及び温度だけでなく、製造時のばらつき又はゆらぎも含まれる。製造ばらつきとしては、例えば、リソグラフィーなどの加工寸法のばらつきや、ドーパント濃度の高低などの材質のばらつきがある。このような製造ばらつきが生じると、回路中のトランジスタや配線の特性も変動し、その結果、それらの素子から構成されるＬＳＩの特性も変動する。最近では、加工技術の微細化が急速に進んでいることから、製造ばらつきによるＬＳＩの回路特性への影響がますます顕著になってきている。
【０００３】
ＬＳＩは種々の回路特性が仕様を満たすように設計されるが、とりわけ回路のタイミング設計には注意が払われる。回路を信号が伝わるときには、信号伝搬遅延が生じるが、タイミング設計により、信号伝搬遅延特性が仕様を満たすように設計される。
【０００４】
このようなＬＳＩの製造時のばらつき又はゆらぎにより生じる信号伝搬遅延について図を用いて説明する。
【０００５】
図３は、ＡＳＩＣ又はシステムＬＳＩ等に含まれる論理回路の例を示すブロック回路図である。一般に、論理回路は複数の信号パスに分解される。１つの信号パスは、例えば図３に示すように、一対のフリップフロップ２１１−２１２の間にＮ段（Ｎは自然数）の回路セル群（回路セルCce１〜CceＮ）が含まれる信号パス２００である。Ｎ段の回路セル群の各回路セルは、一般に、インバータ，ＮＡＮＤ又はＮＯＲ等の論理回路素子からなる。また、これらのインバータ等からなるＮ段の回路セル群は配線で接続されて信号パスを構成している。このような論理回路のタイミング設計をする際には、信号パスによって接続されたＮ段の回路セルを、信号が伝搬することによって生じる信号伝搬遅延時間（以下、遅延時間と略する）が、論理回路に入力されるクロック信号２０１のサイクルタイム（多くの場合、動作周波数若しくはクロック周波数の逆数、又はそれらの整数倍の周期）に基づいて決まる所定の時間内に収まっていることを要求される。この関係を次式（１）
ｔcycle≧Σｔi ＋ｔothers                                …（１）
に示す。ただし、式（１）において、ｔcycleは論理回路を設計する際に要求される遅延時間の上限を、ｔi はＮ段の回路セルのうちのｉ段目の回路セルに入力された信号が出力されるまでに遅延する時間（遅延時間）を、Σｔi は一対のフリップフロップの間の各回路セルによって生じる遅延時間ｔi の総和を、また、ｔothersは一対のフリップフロップのセットアップ時間及びクロック信号のスキュー等の総和を表す。
【０００６】
一般に、設計マージンは、上記の遅延時間を考慮に入れて設定されるため、次式（２）および（３）に示すように、信号の伝搬を遅延させる種々の遅延変動要因を、それぞれ標準条件下の遅延時間を基準に係数化したディレイティングファクター（derating factor）と呼ばれる係数（ＰＶＴ）を用いて表される。Ｐは製造ばらつきを遅延変動要因として係数化されたディレイティングファクターを、Ｖは電源電圧幅を遅延変動要因として係数化されたディレイティングファクターを、また、Ｔは温度幅を遅延変動要因として係数化されたディレイティングファクターを表す。
【０００７】
ｔworst＝ｔtyp×Ｐworst×Ｖworst×Ｔworst  …（２）
ｔbest＝ｔtyp×Ｐbest×Ｖbest×Ｔbest      …（３）
ここで、式（２），式（３）におけるｔworst は遅延時間Σｔi の最悪値を、ｔbestは遅延時間Σｔi の最良値を、ｔtyp は遅延時間Σｔi の標準値を表す。
【０００８】
このようなディレイティングファクターを用いるための手順は、以下の通りである。まず、遅延時間Σｔi の標準値ｔtypを求めておき、その後、この標準値ｔtypに各ディレイティングファクターの最悪値を掛け合わせたものを最悪条件下における遅延時間の最悪値とする。同様に、各ディレイティングファクターの最良値を掛け合わせたものを最良条件下における遅延時間の最良値として簡易的に見積もることができる。その結果、設計マージンを見込んだ論理回路のタイミング設計を省力的に行うことができる。
【０００９】
図２９は、ディレイティングファクターの具体的な値の例を表にして示す図である。
【００１０】
図２９は、式（２），式（３）に示すディレイティングファクターＰＶＴにおけるそれぞれの最良値（best）および最悪値（worst）を示す図である。
【００１１】
図２９に示すように、ＰＶＴのいずれかで表される各ディレイティングファクターには、それぞれ最良値と最悪値がある。ディレイティングファクターの最悪値を式（２）に代入すると、遅延時間の最悪値ｔworstを次式（４）
ｔworst＝ｔtyp×１．３×１．１５×１．１                      …（４）
により算出できる。同様に、ディレイティングファクターの最良値を式（３）に代入すると、遅延時間の最良値ｔbestを次式（５）
ｔbest  ＝ｔtyp×０．７×０．８５×０．９                      …（５）
により算出できる。そして、このようにして算出された遅延時間の最良値ｔbestおよび最悪値ｔworstのそれぞれに相当する時間が遅延する条件下で、ＬＳＩの動作を回路設計時に確認する。従来より、上記に示すような製造ばらつきを考慮したタイミング解析方法が用いられてきた。
【００１２】
図３０は、従来のタイミング解析を行なうためのシステムの構成を示すブロック図である。タイミング解析手段４０１は、ＬＳＩの回路セルの接続情報などを含むネットリスト４０３と、信号パス上の個々の回路セルの遅延情報をあらかじめ格納した遅延データ４０２とを読み込み、設計マージンであるディレイティングファクター４０４に従って、信号パス毎に前述のような遅延時間の計算を行い、結果を４０５に出力する。
【００１３】
例えば、図２８に示すような回路５００のタイミング解析を行なう場合について説明する。回路５００は、３つの回路セル５０１，５０２，５０３を接続して構成され、入力端子５１１―出力端子５１２間の信号パスＡと、入力端子５１１―出力端子５１３間の信号パスＢと、入力端子５１１―出力端子５１４間の信号パスＣとの３つの信号パスを含んでいる。回路セル５０１の標準遅延時間を０．１ｎＳ、回路セル５０２の標準遅延時間を０．１２ｎＳ、回路セル５０３の標準遅延時間を０．１５ｎＳとすると、信号パスＡ，Ｂ，Ｃの最悪遅延は、ディレイティングファクター４０４として図２９中の数値を用いると、各々以下の計算で求められる。
【００１４】
信号パスＡでは、
ｔworst［ｎＳ］＝（０．１＋０．１２＋０．１５）×１．３×１．１５×１．１
…（６）
信号パスＢでは、
ｔworst［ｎＳ］＝（０．１＋０．１２）×１．３×１．１５×１．１  …（７）
信号パスＣでは、
ｔworst［ｎＳ］＝（０．１）×１．３×１．１５×１．１  …（８）
このような技術に基づくタイミング解析は、処理が回路セル単位であり、また回路セルを単にゲートやセルとも呼ぶことから、ゲートレベルまたはセルレベルのタイミング解析とも称される。トランジスタレベルで解析を行うＳＰＩＣＥ（米国Synopsys社のＨＳＰＩＣＥが知られている）に代表される回路シミュレーションとは区別される。一般に、回路シミュレーションで扱える回路規模は、ゲートレベルの場合に比べかなり小さい。ゲートレベルのタイミング解析を行うための市販ＥＤＡルーツとしては、例えば、米国Synopsys社のPrime Timeなどが知られている。
【００１５】
ところで、ＬＳＩの設計マージンを過剰に設定すると、ＬＳＩの品質を安全に確保することができるが、反面、回路設計に無駄が多くなる。例えば、回路規模が増大するため、ＬＳＩの動作周波数などの性能が低下してしまうような結果を招く。従って、過剰でない適切な設計マージンを設定することができると共に、設定された設計マージンに基づいたＬＳＩのタイミング設計が行なえる技術がないと、最近のシステムＬＳＩのような性能及び品質の双方を満足することが求められるＬＳＩを効率的に開発することは困難になる。
【００１６】
このような課題に対するものとして、特許文献１に記載されている技術が知られている。特許文献１に記載されている方法は、ＬＳＩを構成する回路セルの種類毎に最悪値用と最良値用のディレイティングファクターをあらかじめ求めてデータベース化しておき、それを参照しながらタイミング解析するというものである。式（６），式（７），式（８）で説明したように、ディレイティングファクターをタイミング解析対象となる回路全体、チップ全体に一律に適用するのではなく、回路セルの種類により製造ばらつきに対する遅延変動の感度が異なることを考慮できるようにする技術である。
【００１７】
さらに、特許文献２に記載されている技術も知られている。特許文献２に記載されている方法は、チップ上の位置によって製造ばらつきが異なることを組み込むようにする技術である。具体的には、チップ上の位置毎にＬＳＩを構成する回路セルの最悪値用と最良値用のディレイティングファクターをあらかじめ求めておき、それを参照しながらタイミング解析するというものである。
【００１８】
近年、製造以外の要因によるばらつきも無視できなくなってきており、設計マージンに盛り込むことが行われている。例えば、製造以外の要因によるばらつきを表す新たにディレイティングファクター（Ｅworst）を追加して、次式（２’）で最悪遅延を求めるものである。製造以外の要因としては、回路セル遅延のキャラクタライズ時の誤差（後述の回路シミュレーション結果と遅延ライブラリ登録値の間の誤差）がある。
【００１９】
ｔworst  ＝ｔtyp×Ｐworst×Ｖworst×Ｔworst×Ｅworst  …（２’）
このＥworstも過剰マージンにならないように設定すべきであるが、関連して特許文献３の技術が知られている。特許文献３の技術は、ＬＳＩを構成する回路セルの種類毎に最大誤差相当のディレイティングファクター（誤差係数）をあらかじめ求めてデータベース化しておき、それを参照しながらタイミング解析するというものである。
【特許文献１】特開２０００−４００９８号公報（要約書）
【特許文献２】特開２００２−２２２２３２号公報（段落［００１１］，［００１２］）
【特許文献３】特開平９−３１１８７７号公報（要約書）
【発明の開示】
【発明が解決しようとする課題】
【００２０】
ところで、製造ばらつきσtotalには、チップ内ばらつき成分σinとチップ外ばらつき成分σoutとがあり、ほぼ下記式（９）
σtotal＝√（σin２＋σout２）                                  （９）
によって表すことができる。チップ外ばらつき成分σoutは、チップ内ではばらつきが一様であるとするもので、ＬＳＩを構成するトランジスタなどの素子全体が同じように変動するようなばらつきである。ロット間ばらつき、ウエハ間ばらつき、チップ間ばらつきなどの成分がチップ外ばらつきに含まれる。一方のチップ内ばらつき成分σinは、１つのチップ内でＬＳＩを構成するトランジスタなどの素子が個々に変動するようなばらつきである。
【００２１】
ここで注意すべきは、チップ内、チップ外の両ばらつき成分の回路特性すなわちタイミングへ与える影響は同じではない、ということである。前記の従来技術および特許文献１，２においては、製造ばらつきの異なる成分がタイミング特性へ与える影響の違いを考慮していない。例えば、図２８に示す回路において信号パスに沿って信号が伝搬する場合、信号パスの最悪遅延を計算する時に、各回路セルの最悪遅延の和を求めていた。この方法では、チップ内の回路セル全体が同じようにばらつくというチップ間ばらつきの影響を組み込むことはできる。しかし、チップ内ばらつきは、各回路セルが同じように変動することによるばらつきではなく、各回路セルがでたらめにすなわちランダムに変動することによるばらつきであるので、最悪遅延の単純和では実際のばらつき方を反映できないことになる。現実には、これらチップ内、チップ外の両ばらつき成分が混ざって回路特性に影響を与えており、適切な設計マージンを決定するのは容易ではない。
【００２２】
また、製造以外のばらつき要因である遅延誤差の設計マージンへの考慮の仕方として、従来の技術では、回路セル種毎に遅延誤差をあらかじめ求めてライブラリに登録しておく必要があり、工数が膨大になる。このようなばらつきも、回路セル個々に同様に効く変動ではなく、ランダムロジック回路では、個々の回路セルがでたらめにすなわちほぼランダムにばらつく要因となる。
【００２３】
本発明の目的は、ＬＳＩのタイミング設計をする際に用いられる設計マージンを、製造ばらつきの性質を主として考慮しながら現実的に決定し、その設計マージンを用いたタイミング解析方法および装置を提供することにある。
【課題を解決するための手段】
【００２４】
本発明の第１のタイミング解析方法は、ＬＳＩ中の複数の回路セルが直列に接続された複数の信号パスについて、各信号パスの論理深さ，例えば回路セルの段数に応じて補正された各信号パスの設計マージンを計算し、補正された各信号パスの設計マージンが組み込まれた遅延を計算する方法である。
【００２５】
この方法により、各信号パスの回路セルの段数などによって異なるばらつき度合いに応じて、各信号パスの設計マージンを補正することができ、過剰なマージンを含まない遅延を求めることができる。
【００２６】
上記設計マージンとして、ディレイティングファクターとその補正係数とを用い、論理深さに応じて設計マージンの補正係数を算出することが好ましい。
【００２７】
また、予め信号パスの論理深さと遅延ばらつきの平均化度合いとの間の関係を求めておいて、この関係を用いて補正された設計マージンを求めることにより、より迅速にタイミング解析を行なうことができる。
【００２８】
上記遅延ばらつきの平均化は、製造上のチップ内要素のランダムばらつきによって生じる遅延ばらつきの平均化を含んでいる場合と、遅延誤差の平均化を含んでいる場合と、両者を含んでいる場合とがある。
【００２９】
信号パスは、同じタイミングで動作する２つのフリップフロップによって挟まれているように設定することが好ましい。
【００３０】
信号パスには、回路セルとしてバッファを配置したクロックツリー構造のクロック配線供給回路中の信号パスがある。
【００３１】
また、チップ内の領域によって異なる割合で補正された設計マージンを計算することにより、製造装置の光学系の特性によるチップ内の要素の構造の相違を反映したタイミング解析を行なうことができる。
【００３２】
本発明の第２のタイミング解析方法は、ＬＳＩ中の複数の回路セルが直列に接続された複数の信号パスについて、各信号パスの設計マージン補正前のタイミング（遅延）を計算するとともに、各信号パスの論理深さ，例えば回路セルの段数に応じて各信号パスの設計マージンの補正値を計算して、設計マージンをこの補正値で補正してから、補正された各信号パスの設計マージンが組み込まれた遅延を補正前のタイミングを参照しながら計算する方法である。
【００３３】
この方法により、従来のタイミング解析装置に補正を行なう装置を付加することにより、各信号パスの回路セルの段数などによって異なるばらつき度合いに応じて、各信号パスの設計マージンを補正することができ、過剰なマージンを含まない遅延をより安価に求めることができる。
【００３４】
本発明のタイミング解析装置は、ＬＳＩ中の複数の回路セルが直列に接続された複数の信号パスについて、各信号パスの論理深さを検出する手段と、各信号パスの論理深さを用いて補正された各信号パスの設計マージンを計算する手段と、補正された各信号パスの設計マージンを組み込んだ各信号パスの遅延を計算する手段とを備えている。
【００３５】
これにより、各信号パスの回路セルの段数などによって異なるばらつき度合いに応じて、各信号パスの設計マージンを補正することができ、過剰なマージンを含まない遅延を求めることができる。
【発明の効果】
【００３６】
本発明に係るＬＳＩのタイミング解析方法又はタイミング解析装置によると、挙動が相異なる複数の製造ばらつき成分を重畳した状態での、各信号パスの特徴を勘案した設計マージン設定が可能になり、より現実に即した高精度なタイミング設計が大規模回路に対して行えるようになる。
【００３７】
また、製造以外のばらつき要因を考慮した設計マージン設定が省力的に可能になり、より現実に即した高精度なタイミング設計が大規模回路に対して行えるようにもなる。
【発明を実施するための最良の形態】
【００３８】
（第１の実施形態）
以下、本発明の第１の実施形態に係る製造ばらつきを考慮したＬＳＩのタイミング解析装置について図面を参照しながら説明する。
【００３９】
図１は、本発明の第１の実施形態に係るＬＳＩのタイミング解析を行なうためのシステムの構成を示すブロック図である。同図に示すように、タイミング解析装置１０１は、ＬＳＩに関する情報を包括的に格納したＬＳＩ設計データ１１０の各情報格納部からの情報に基づいてタイミング解析を行なう。ＬＳＩ設計データ１１０には、ＬＳＩ中の回路セルの接続情報などを記述するネットリスト１０３を格納している接続情報記憶部と、回路セルの遅延情報を記述する遅延データ１０２をあらかじめ格納している遅延情報格納部と、段数−ディレイティングファクター依存性１０４を格納している依存性格納部と、ディレイティングファクター１０７（ＰＶＴ）を格納しているファクター格納部とが設けられている。ただし、接続情報格納部，遅延情報格納部，依存性格納部，ファクター格納部などは、ＬＳＩ設計データ１１０とは別のメモリ（記憶手段）に格納されていてもよい。
【００４０】
タイミング解析装置１０１は、ネットリスト１０３と、遅延データ１０２と、段数−ディレイティングファクター依存性１０４と、ディレイティングファクター１０７（ＰＶＴ）とを読み込み、タイミング解析結果１０５を出力する。また、タイミング解析装置１０１には、信号パスセル段数検出手段１０６が設けられている。
【００４１】
図２は、本発明のタイミング解析に用いられるコンピュータシステムの構成を概略的に示す図である。図２には、第１の実施形態に係るタイミング解析装置を、コンピュータシステムに組み込んだ場合の構成を示しているが、他の実施形態についても、図２と同様のコンピュータシステムを構成することができる。
【００４２】
図２に示すように、コンピュータシステムは、メインコンピュータ１０と、メインコンピュータ１０にネットワーク１２を介して接続される端末コンピュータ１４とを備えている。メインコンピュータ１０の記憶装置には、遅延データ１０２，ネットリスト１０３，段数−ディレイティングファクター依存性１０４，ディレイティングファクター１０７，タイミング解析結果１０５の他、解析手順を記述するプログラム１９が格納されている。また、端末コンピュータ１４には、ディスプレイ（出力装置）１３と、キーボード（入力装置）１５と、マウス（入力装置）１６と、外部記憶装置１７と、プリンター（出力装置）１８とが接続されている。メインコンピュータ１０と、端末コンピュータ１４としては、ＣＰＵ，ＲＡＭ，ＲＯＭ，ハードディスク，インターフェースなどを内蔵する汎用のものを用いることができる。
【００４３】
ユーザーは、端末コンピュータ１４を入力装置から操作し、メインコンピュータ１０に解析を指示すると、メインコンピュータ１０により、プログラム１９に沿ってタイミング解析が実行される。ユーザーは、解析の結果生成されたタイミング解析結果１０５を端末コンピュータ１４からネットワーク１２を経由して取得し、出力装置から出力させる。つまり、ディスプレイ１３上に表示させ、プリンター１８からプリントアウトさせる。
【００４４】
ここで、本実施形態における，信号パスの単位について説明する。図３は、本実施形態における回路セルの段数を定義するための信号パスの単位を示すブロック図である。同図に示すように、信号パスは共通のタイミングで動作する２つのフリップフロップ２１１，２１２同士を接続するものであり、この信号パスにおいて直列に接続されるＮ個の回路セルＣce１〜ＣceＮがある場合に、信号パス２００の段数がＮ段であると定義する。図３に示す例では、２つのフリップフロップ２１１，２１２のクロック端子ＣＬＫが共通のクロック出力端子２０１に接続されているが、後述するように、２つのフリップフロップ２１１，２１２が必ずしも共通のクロック出力端子に接続されている必要はない。また、段数を決定する回路セルの単位については後述する。
【００４５】
図４は、第１の実施形態に係る製造ばらつきを考慮したＬＳＩのタイミング解析装置による解析工程を示すフローチャートである。ここで、ステップＳ１は信号パスセル段数検出工程、ステップＳ２はディレイティングファクター決定工程、ステップＳ３はタイミング解析工程を示している。
【００４６】
−信号パスセル段数検出工程−
タイミング解析装置１０１は、ＬＳＩ中の回路セルの接続情報などを含むネットリスト１０３と、回路セルの遅延情報をあらかじめ格納した遅延データ１０２とを読み込む。ネットリスト１０３には、タイミング解析対象とする回路について、回路中の回路セルの接続情報などが格納されている。遅延データ１０２には、信号パスの各段（着目している回路セルの入力から出力までの経路と、出力に接続されている配線を経て次段の回路セルの入力までの経路）の遅延時間の情報が格納されている。遅延データ１０２中に記述されている遅延時間自体は、例えば、セル種に応じた各回路セルの出力負荷容量と入力波形に対する遅延時間の依存性を表すライブラリを参照し、個々の回路セルに応じて異なる出力負荷容量と入力波形とから決定されている。同じセル種であっても、回路中での出力負荷容量と入力波形などの動作条件が異なると遅延時間も異なる。なお、遅延データ１０２は、Standard Delay Format(Open Verilog International, 1995）などの形式で記述されるものである。
【００４７】
信号パスセル段数検出手段１０６は、回路中の信号パスの入力から出力までの回路セルの段数をカウントし、その情報を記憶装置に保持しておく。図２８に示す回路を例にとると、入力端子５１１―出力端子５１２間の信号パスＡは３段、入力端子５１１―出力端子５１３間の信号パスＢは２段、入力端子５１１―出力端子５１４間の信号パスＣは１段となる。ただし、図２８における入力端子５１１及び出力端子５１２，５１３，５１４は、それぞれ共通のクロックによって動作するフリップフロップに直接接続されているとする。
【００４８】
−ディレイティングファクター決定工程−
タイミング解析装置１０１は、まずＰＶＴ成分を含むディレイティングファクター１０７を読み込む。ここで、新たなディレイティングファクター補正係数Ｋｎ（≦１．０）を導入する。一般に、最悪遅延（最大遅延）は、式（１０）
ｔworst  ＝ｔtyp×Ｐworst×Ｖworst×Ｔworst×Ｋｎ  …（１０）
で計算される。タイミング解析装置１０１は、この計算結果を記憶装置に格納しておく。
【００４９】
ここで、式（１０）におけるＫｎは、ランダムに起こるチップ内ばらつきが信号パスに沿って平均化される効果を表し、従来の製造ばらつきを係数化したディレイティングファクターを補正するための補正係数である。チップ内ばらつきが信号パスに沿って平均化される度合いは、信号パスの論理深さに依存する。ここでは、簡単のため論理深さを回路セルの段数（以下、単に段数）とする。すなわち、段数が少ないと平均化の程度は小さくＫｎは１．０に近い値となる。Ｋｎ＝１．０ということは、ランダムばらつきによる平均化が起こらない、すべてチップ外ばらつき成分と同じ性質のばらつきと見なしていることに等しい。逆に、段数が多いと平均化が進み、ディレイティングファクター補正係数Ｋｎは小さい値をとる。
【００５０】
図５は、段数とディレイティングファクター補正係数Ｋｎとの関係の一例を表にして示す図である。図６は、図５に示す段数とディレイティングファクター補正係数Ｋｎとの関係をグラフにして示す図である。なお、段数とディレイティングファクター補正係数Ｋｎとの関係を関数式で表すことも可能である。
【００５１】
チップ内ばらつきに起因する遅延時間分布が正規分布を示していると仮定し、その標準偏差をσとする。信号パスが同じ標準偏差σｉをもつ回路セルからなり、それに沿って信号が伝搬する場合には、１段目までの遅延ばらつきはσｉ、２段目までの遅延ばらつきはσｉ×√２、３段目までの遅延ばらつきはσｉ×√３、Ｎ段目までの遅延ばらつきはσｉ×√Ｎというようになる。従来の計算方法では、１段目までの遅延ばらつきはσｉ、２段目までの遅延ばらつきはσｉ×２、３段目までの遅延ばらつきはσｉ×３、Ｎ段目までの遅延ばらつきはσｉ×Ｎとされていた。このため、従来の計算方法を補正するには、簡単には１／√Ｎを掛ければよいことになる。
【００５２】
以上の考え方を、実際にはチップ外とチップ内の両ばらつきが含まれている製造ばらつきのチップ内ばらつき成分部分に適用すると、図５，図６に示す関係が得られる。段数Ｎが大きくなると、平均化がかなり進むので、ディレイティングファクター補正係数Ｋｎの減少がほとんど飽和状態に達し、ほとんどチップ外ばらつきの影響だけになる。ディレイティングファクター補正係数Ｋｎの下限はこの場合チップ外ばらつきで決定される。
【００５３】
そこで、段数−ディレイティングファクター依存性１０４には、あらかじめ図５または図６の関係が求め格納されている。段数Ｎとディレイティングファクター補正係数Ｋｎとの関係の求め方は、簡単には、前述のように、図６に示すチップ内ばらつきの寄与部分が段数Ｎに応じて１／√Ｎの関係で減少するように設定することができる。信号パスセル段数検出手段１０６がカウントして保持している，解析対象信号パスの段数から、当該信号パスに用いるディレイティングファクター補正係数Ｋｎが決定される。
【００５４】
−タイミング解析工程−
ここで、図２８に示す回路において、回路セル５０１の標準遅延時間を０．１ｎＳ、回路セル５０２の標準遅延時間を０．１２ｎＳ、回路セル５０３の標準遅延時間を０．１５ｎＳとし、それらが遅延データ１０２に格納されているとする。タイミング解析装置１０１は、遅延データ１０２からそれらを読み込み、記憶装置格納されている信号パス毎に決定されたディレイティングファクター補正係数Ｋｎを取り出して、最悪遅延を、
信号パスＡについては、
ｔworst［ｎＳ］＝（０．１＋０．１２＋０．１５）×１．３×１．１５×１．１×０．９５                                                          …（１１）
信号パスＢについては、
ｔworst［ｎＳ］＝（０．１＋０．１２）×１．３×１．１５×１．１×０．９７
…（１２）
信号パスＣについては、
ｔworst［ｎＳ］＝（０．１）×１．３×１．１５×１．１×１．０  …（１３）
というように計算していく。式（１１），式（１２），式（１３）の右辺最後の項が信号パスＡ，Ｂ，Ｃの段数に応じて決定されたディレイティングファクター補正係数Ｋｎを表している。
【００５５】
このように、タイミング解析装置１０１は、信号パスセル段数検出工程Ｓ１、ディレイティングファクター決定工程Ｓ２、タイミング解析工程Ｓ３を、回路に含まれる解析対象となる信号パス全てについて処理（Ｓ４）した後、解析結果１０５を出力する。
【００５６】
図７は、式（１１），式（１２），式（１３）にしたがって求めた図２８に示す回路についてのタイミング解析結果と、式（６），式（７），式（８）に示す従来の方法で求めた結果とを表にして比較する図である。図７に示されるように、段数Ｋｎが大きくなるほど本発明の最悪遅延が従来の方法に比べて小さくなるという結果がでている。このことから、本発明により、従来は過剰マージンに陥っていた問題が解決されていることがわかる。
【００５７】
すなわち、従来の方法では、図６に示すチップ外ばらつきとチップ内ばらつきとを含めてディレイティングファクター補正係数Ｋｎが１となっているが、本発明では、チップ内ばらつきの平均化によってディレイティングファクター補正係数Ｋｎを小さくすることができるので、過剰マージンを回避することができるのである。
【００５８】
このように、本実施形態では、製造ばらつきのチップ内ばらつき成分が回路遅延に与える影響が、信号パスに沿って平均化されるように、各信号パス段数に応じて設計マージンであるディレイティングファクターを補正し、補正されたディレイティングファクターを用いて遅延時間を算出しているので、現実の製造ばらつきを反映したＬＳＩのタイミング解析が可能になる。
【００５９】
なお、段数−ディレイティングファクター依存性１０４の求め方は、本実施形態の方法以外にも、各種の方法がある。たとえば、実際の回路の信号パスを用いて回路シミュレーションなどで製造ばらつきを再現して解析し、その結果から決定する方法でもよい。
【００６０】
図８は、３つの任意の信号パスＰａｔｈ１、Ｐａｔｈ２、Ｐａｔｈ３の遅延ばらつきが信号パスに沿って平均化される様子を解析した例である。信号パスに沿って曲線が多少凹凸するのは、厳密には回路セルによって製造ばらつきに対する遅延変動の感度には差があり、それが現れているためである。しかし、概ね信号パスに沿って平均化が生じる傾向は図８に示されるとおりである。図８に示すシミュレーション結果から、図５，図６に示すような依存性を決定し、それをデータベースに格納しておいてよい。
【００６１】
なお、本実施形態では、図５に示す例では１０段、図６に示す例では４段までしかディレイティングファクター補正係数Ｋｎを示していないが、必要に応じて、解析対象回路に含まれる信号パスの最大段数をカバーできるように用意しておけばよい。
【００６２】
また、図５，図６に示すように、段数が多くなると、チップ内ばらつきの寄与分は限りなく０に近づくことから、簡易にディレイティングファクター補正係数Ｋｎを決定するために、段数が一定値以上の信号パスにおいてはディレイティングファクター補正係数Ｋｎを一定値（近似的下限値）に設定して、この一定のディレイティングファクター補正係数Ｋｎ値を一律に用いることも可能である。
【００６３】
ところで、回路セルによっては、見かけ上単一に見えても実際にはいくつかの段数（要素）に分けられる構造を持っている場合がある。例えば、図９に示すバッファ３００は、４段のインバータ３０１，３０２，３０３，３０４からなる内部構造を持っている。つまり、このバッファ３００は、回路セル１つで４段相当になる。このような場合は、回路セル１つを１段とカウントせずに、その回路セルの内部構造を反映した段数である４段とカウントすればよい。また、ＬＳＩ設計データにその段数情報を回路セル種毎に予め格納しておいて、それを信号パスセル段数検出手段１０６が参照するようにすることで、実際の段数に応じた遅延時間を算出することができる。
【００６４】
図１０（ａ）〜（ｃ）は、各回路セルについて段数を決める場合の基準を説明するためのセルの階層構造を示す図である。図１０（ａ）に示すように、バッファ３００は、すでに図９について説明したように、４段のインバータ３０１，３０２，３０３，３０４を含んでいる。図１０（ｂ）に示すように、ＡＮＤ３１０は、ＮＡＮＤ３１１とインバータ３１２とからなり２段の回路セルを有している。一方、１つのセルでも、セル内の信号パスによって段数が異なる回路セルを有している場合がある。図１０（ｃ）に示すように、セル３２０は、入力端子Ａにつながる経路では３段のセル要素３２１，３２２，３２３を有しているが、入力端子Ｂにつながる経路では２段のセル要素３２２，３２３を有していることになる。図１０（ａ）〜（ｃ）からわかるように、本発明にいう１段の回路セルは、ゲートに１つの入力を受ける１または２以上のトランジスタによって構成されていることになる。
【００６５】
また、本実施形態では、段数Ｎとして１，２，３，４，…という自然数を用いてきた。しかし、ディレイティングファクター補正係数Ｋｎの精度を調整したりする必要がある場合には、実際の信号パスの回路セル段数に近い，自然数ではない実数（例えば、Ｋｎ＝３．２など）を用いてもよい。
【００６６】
また、本実施形態では、段数Ｎとして１，２，３，４，…という連続する自然数を用いてきた。しかし、段数が極めて多い回路を取り扱う場合には、段数Ｎを１，３，６，…というように、離散的な自然数のみを代表値として設定し、その中間の段数（例えば２，４，５）については、離散的な自然数のいずれかで近似させてもよい。
【００６７】
−第１の実施形態の第１の変形例−
図１１は、第１の実施形態の第１の変形例に係る信号パスを示すブロック図である。第１の実施形態における，製造ばらつきを考慮したタイミング解析方法においては、図３に示すように、１つの信号パス２００を区切る２つのフリップフロップ２１１，２１２が、１つのクロック出力端子２０１からクロック信号を受けている。
【００６８】
しかし、クロック信号供給回路は、根元からバッファを介して順次２方向に分岐していくクロックツリー構造を採っていることが多い。
【００６９】
そこで、図１１に示す変形例においては、信号パス２００を区切る２つのフリップフロップ２１１，２１２のクロック端子ＣＬＫが、クロック信号供給回路２５０の２つのクロック信号パス２５２，２５３の先端のクロック出力端子にそれぞれ接続されている。ただし、２つのクロック信号パス２５２，２５３においては、クロック信号供給回路２５０の入力端子２５１から先端のクロック出力端子までの間に、同じ数のバッファが介在しているとする。このような場合も、２つのフリップフロップ２１１，２１２が同じタイミングで動作するので、これらの間に介在する回路セルの段数に応じたディレイティングファクター補正係数Ｋｎを用いることができる。
【００７０】
また、クロックツリー構造を有するクロック信号供給回路２５０自体も、本発明のタイミング解析の対象となりうる。図１１に示す例では、クロック信号パス２５２，２５３は、いずれも４段の回路セル（バッファ）を有しているので、この段数に応じて求まるディレイティングのディレイティングファクター補正係数Ｋｎを用いて、best，worst条件でのクロック信号の遅延時間を算出することができる。図１１に示す例では、クロックツリーの根元から先端までの回路セル（バッファ数）の段数をすべて４段としているが、クロック信号パスによって回路セル（バッファ）の段数が異なっていてもよい。
【００７１】
−第１の実施形態の第２の変形例−
さらに、ＬＳＩが複数の階層から設計されているような場合では、信号パスが複数の回路ブロックにまたがることも起こりうる。その場合は、相異なる回路に存在する２つのフリップフロップにはさまれている、信号パスの入口から出口までの段数をカウントすることが求められる。
【００７２】
図１２は、第１の実施形態の第２の変形例に係る解析対象回路の構成を示すブロック図である。同図に示すように、この変形例では、チップ２７１に回路ブロック２７２と２７３があり、回路ブロック２７３中のフリップフロップ２７６から始まる信号パス２７５が、回路ブロック２７２中のフリップフロップ２７７まで延びている。つまり、信号パス２７５は、複数の回路ブロック２７２，２７３中の各回路セル２７４を有している。このような場合は、信号パス２７５の段数は、回路ブロック２７３中で３段、回路ブロック２７２中で４段の計７段であり、これを図１に示す信号パスセル段数検出手段１０６がカウントする。これにより、複数の回路ブロックに跨る信号パスについても、第１の実施形態のタイミング解析が可能になる。
【００７３】
−第１の実施形態の第３の変形例−
また、第１の実施形態では、図５、図６に示すような段数−ディレイティングファクター依存性を解析対象回路に一律適用していた。しかし、これはチップ内ばらつきとチップ外ばらつきの寄与の割合（図６参照）が、チップ内で一定である仮定の下で使える方法であった。実際には、チップ内ばらつきとチップ外ばらつきの割合が、チップ内でさらに分布を持つことも起こりうる。その場合、チップを複数の領域に分割し、各領域毎に段数−ディレイティングファクター依存性を定義する方法が可能である。
【００７４】
図１３は、第１の実施形態の第３の変形例に係るチップ構造を示す図である。図１３に示す構造においては、チップ内におけるディレイティングファクターの段数依存性が領域ａ，ｂ，ｃによって異なっている。図１４は、この変形例におけるディレイティングファクターの段数依存性を示す図である。図１４に示すように、この変形例では、領域ａ，領域ｂ，領域ｃごとに、それぞれに図６に示すような依存性カーブを定義する。そして図１４から、領域ａ内の信号パスについては領域ａ用のカーブを、領域ｂ内の信号パスについては領域ｂ用のカーブを、領域ｃ内の信号パスについては領域ｃ用のカーブを用いて、ディレイティングファクター補正係数Ｋｎを求め、この補正係数を用いてタイミング解析すればよい。
【００７５】
−最良遅延の計算−
第１の実施形態及びその各変形例では、最悪遅延（最大遅延）の計算を説明したが、最良遅延（最小遅延）の計算の場合も同様である。
【００７６】
図１５は、最良遅延を算出する場合に用いられる段数とディレイティングファクター補正係数Ｋｎとの関係の一例を表にして示す図であって、最悪遅延の場合における図５に相当する。図１６は、最良遅延を算出する場合に用いられる段数とディレイティングファクター補正係数Ｋｎとの関係の一例をグラフにして示す図であって、最悪遅延の場合における図６に相当する。最良遅延の計算には、図１５または図１６に示す関係を、段数−ディレイティングファクター依存性１０４として用意しておけばよい。そして、最悪遅延の場合と同様の処理を、最良遅延の場合のＫｎ（≧１．０）を求め、式（１４）
ｔbest  ＝ｔtyp×Ｐbest×Ｖbest×Ｔbest×Ｋｎ  …（１４）
を用いて計算し、これを記憶装置に格納しておけばよい。
【００７７】
図２８に示す回路について、タイミング解析装置１０１によって、遅延データ１０２からそれらを読み込み、信号パス毎に決定されたディレイティングファクター補正係数Ｋｎを記憶装置から取り出して、最良遅延は、
信号パスＡについては、
ｔbest［ｎＳ］＝（０．１＋０．１２＋０．１５）×０．７×０．８５×０．９×１．０５                                                          …（１５）
信号パスＢについては、
ｔbest［ｎＳ］＝（０．１＋０．１２）×０．７×０．８５×０．９×１．０３
…（１６）
信号パスＣについては、
ｔbest［ｎＳ］＝（０．１）×０．７×０．８５×０．９×１．０  …（１７）
と計算される。
【００７８】
図１７は、式（１５），式（１６），式（１７）にしたがって求めた図２８に示す回路についてのタイミング解析結果と、式（６），式（７），式（８）に示す従来の方法で求めた結果とを表にして比較する図である。図１７に示されるように、段数が大きくなるほど本発明の最良遅延が従来に比べて大きくなるという結果がでている。このことは、遅延が増大することを意味するが、回路セルの動作タイミングが早すぎても、消費電力やクロックスキューなどが設計仕様を満たさない事態を招くこともある。このことから、本発明のタイミング解析を行なった結果を回路設計に反映させることにより、従来は遅延が小さい方向に過剰マージンが設定されていた問題が解決されていることがわかる。
【００７９】
また、第１の実施形態及びその変形例は、遅延データ１０２には標準遅延時間が格納されていることを前提としていたが、本発明のタイミング解析装置または解析方法は、それに限定されるものではない。例えば、遅延データ１０２にあらかじめディレイティングファクターＰＶＴの変動分が含まれた形の遅延時間が格納されている形態でもよい。
【００８０】
図２８に示す回路の回路セル５０１の標準遅延時間を０．１６４４５ｎＳ（＝０．１ｎＳ×１．３×１．１５×１．１）、回路セル５０２の標準遅延時間を０．１９７３４ｎＳ（＝０．１２ｎＳ×１．３×１．１５×１．１）、回路セル５０３の標準遅延時間を０．２４６６７５ｎＳ（＝０．１５ｎＳ×１．３×１．１５×１．１）とし、それらが遅延データ１０２に格納されているとする。この場合にも、タイミング解析装置１０１は、遅延データ１０２からそれらを読み込み、信号パス毎に決定したディレイティングファクター補正係数Ｋｎを記憶装置から取り出して、最悪遅延を、
信号パスＡについては、
ｔworst［ｎＳ］＝（０．１６４４５＋０．１９７３４＋０．２４６６７５）×０．９５                                                              …（１８）
信号パスＢについては、
ｔworst［ｎＳ］＝（０．１６４４５＋０．１９７３４）×０．９７  …（１９）
信号パスＣについては、
ｔworst［ｎＳ］＝（０．１６４４５）×１．０                    …（２０）
と計算していくことができる。最良遅延についても同様である。
【００８１】
また、第１の実施形態及び各変形例は、ディレイティングファクターのＰ値は、すべての回路セルについて常に一定の値１．３であると想定してきた。しかし、第１の実施形態及び各変形例において、ディレイティングファクターのＰ値は、回路セルにより異なっていてもよい。例えば、図２８に示す回路において、回路セル５０１の遅延時間が０．１６１９２ｎＳ（＝０．１ｎＳ×１．２８×１．１５×１．１）、回路セル５０２の標準遅延時間が０．１９８８６ｎＳ（＝０．１２ｎＳ×１．３１×１．１５×１．１）、回路セル５０３の標準遅延時間が０．２４０９８ｎＳ（＝０．１５ｎＳ×１．２７×１．１５×１．１）のような場合でも、式（１８）、式（１９）、式（２０）と同様に、最悪遅延（または最良遅延）を計算することができる。よって、遅延データ１０２が種々に表現されていてもタイミング解析ができる。
【００８２】
−第１の実施形態の第４の変形例−
第１の実施形態及び上記各変形例においては、信号パスに沿って回路セルの遅延時間がランダムに変動することで平均化が起こることをディレイティングファクター補正係数Ｋｎによって表現している。ただし、製造プロセスによっては、チップ内ばらつきが、回路セル間で相関をもった遅延変動を起こさせる場合がある。そのような場合には、あらかじめ相関係数Ｒをパラメータにした段数とＫｎの関係を用意しておき、タイミング解析装置１０１が、段数―ディレイティングファクター依存性１０４を参照するときに、所望の相関係数の場合の依存性を選択すればよい。
【００８３】
図１８は、段数とディレイティングファクター補正係数ＫｎとがＲ＝１．０，０．５，０の３種類の相関係数を有する，本変形例の段数−ディレイティングファクター依存性を表にして示す図である。図１９は、段数とディレイティングファクター補正係数ＫｎとがＲ＝１．０，０．５，０の３種類の相関係数を有する，本変形例の段数−ディレイティングファクター依存性をグラフにして示す図である。
【００８４】
回路セル間のばらつきの相関係数Ｒ＝１．０のときは、全回路セルの遅延が一律に変動することを示しており、従来の製造ばらつきの考慮の仕方と同じになる。すなわち、段数によってディレイティングファクター補正係数Ｋｎは変化せず、一定値１．０である。逆に、回路セル間のばらつきの相関係数Ｒ＝０のときは、全回路セルの遅延が完全にランダムに変動することを示しており、最も信号パスに沿った平均化が顕著になる。相関係数が０＜Ｒ＜１の範囲では、それらの中間の平均化が生じることになる。依存性格納部には、この相関関係を含めた段数ーディレイティングファクター依存性１０４が格納されているものとする。
【００８５】
タイミング解析装置１０１は、ＬＳＩ設計データ１１０からそれらを読み込み、信号パス毎に決定されたディレイティングファクター補正係数Ｋｎを記憶装置から取り出して、最悪遅延を算出する。ここで、相関係数Ｒ＝０．５のときには、最終遅延は、
信号パスＡについては、
ｔworst［ｎＳ］＝（０．１＋０．１２＋０．１５）×１．３×１．１５×１．１×０．９７５                                                …（２１）
信号パスＢについては、
ｔworst［ｎＳ］＝（０．１＋０．１２）×１．３×１．１５×１．１×０．９８５                                                          …（２２）
信号パスＣについては、
ｔworst［ｎＳ］＝（０．１）×１．３×１．１５×１．１×１．０  …（２３）
と計算される。
【００８６】
図２０は、式（２１），式（２２），式（２３）にしたがって求めた図２８に示す回路についてのタイミング解析結果と、式（６），式（７），式（８）に示す従来の方法で求めた結果とを表にして比較する図である。このように、チップ内ばらつきによる信号パスに沿った回路セル間の平均化度合いが、相関を有するばらつきが起こる場合にも、本発明が適用できる。
【００８７】
以上、本発明の第１の施実形態について説明したが、本発明の１つの特徴は、製造ばらつき成分中のチップ内ばらつきの遅延変動に与える影響がそのランダム性のために信号パスに沿って平均化される効果を、設計マージンに反映してタイミング解析を行うことにある。よって、本発明を実施するに当たっての具体的な形態は、第１の実施形態及び各変形例に限定されるものではない。
【００８８】
（第２の実施形態）
次に、本発明の第２の実施形態に係る製造ばらつきを考慮したＬＳＩのタイミング解析装置について図面を参照しながら説明する。第１の実施形態と説明が重複する部分は省略する。本実施形態においても、タイミング解析には、図２に示すコンピュータシステムが用いられる。
【００８９】
図２１は、本発明の第２の実施形態に係るＬＳＩのタイミング解析を行なうためのシステムの構成を示すブロック図である。同図に示すように、第１，第２のタイミング解析部１２０，１２２は、ＬＳＩに関する情報を包括的に格納したＬＳＩ設計データ１１０の各情報格納部からの情報に基づいてタイミング解析を行なう。第１の実施形態と同様に、ＬＳＩ設計データ１０には、ＬＳＩ中の回路セルの接続情報などを記述するネットリスト１０３を格納している接続情報格納部と、回路セルの遅延情報を記述する遅延データ１０２をあらかじめ格納している遅延情報格納部と、段数−ディレイティングファクター依存性１０４を格納している依存性格納部と、ディレイティングファクター１０７（ＰＶＴ）を格納しているファクター格納部とが設けられている。ただし、接続情報格納部，遅延情報格納部，依存性格納部，ファクター格納部などは、ＬＳＩ設計データ１１０とは別のメモリ（記憶手段）に格納されていてもよい。
【００９０】
本実施形態が第１の実施形態と構成上大きく異なる点は、それぞれ機能の異なるタイミング解析部を２つ含む点にある。
【００９１】
第１のタイミング解析部１２０は、ＬＳＩの回路セルの接続情報などを含むネットリスト１０３と、回路セルの遅延情報をあらかじめ格納した遅延データ１０２と、ディレイティングファクター（ＰＶＴ）１０７とを読み込み、第１のタイミング解析結果１２１を出力する。このタイミング解析結果１２１は、記憶装置に格納される。
【００９２】
第２のタイミング解析部１２２は、第１のタイミング解析結果１２１と、段数−ディレイティングファクター依存性１０４とを読み込み、第２のタイミング解析結果１２４を出力する。また、第２のタイミング解析部１２２には、信号パスセル段数検出手段１２３が設けられている。
【００９３】
遅延データ１０２には、信号パスの各段（着目している回路セルの入力から出力までと、出力に接続されている配線を経て次段の回路セルの入力まで）の遅延時間の情報が格納されている。遅延データ１０２の作成方法は、第１の実施形態における遅延データ１０２の作成方法と同じである。
【００９４】
第１のタイミング解析部１２０は、まずＰＶＴが格納されているディレイティングファクター１０７を読み込む。次に、最悪遅延は式（２）で計算される。ディレイティングファクターＰＶＴとして図２９に示す値と、解析対象回路として図２８の回路を想定すると、最悪遅延の計算は、式（６），式（７），式（８）に従う。この処理を信号パス全てについて行い、解析結果を第１のタイミング解析結果１２１として出力する。
【００９５】
図２２は、第１のタイミング解析結果１２１のフォーマットの例を示す図である。同図に示すように、図２８に示す回路の場合、第１のタイミング解析結果１２１には、信号パス毎に、信号パスに沿った回路セル段の遅延が順に記述されている。図２２において、第１コラム１２１ａは入口から出口へ向けての回路セルの並びを示し、in，outは回路セルの入力，出力を示す。第２コラム１２１ｂは、個々の回路セルの遅延時間を示す。第３コラム１２１ｃは、信号パスの入口からの回路セル遅延の累積遅延を示している。第４コラム１２１ｄは、各回路セルの入出力の信号遷移方向を示す。ｒは立上り波形、ｆは立下り波形を表す。
【００９６】
次に、第２のタイミング解析部１２２は、記憶装置に格納されている第１のタイミング解析結果１２１を読み込み、信号パスセル段数検出手段１２３が、回路中の各信号パスの入力から出力までの回路セルの段数をカウントし、その情報を保持しておく。図２８に示す回路の例では図２２に示すようなデータとなり、このデータから、入力端子５１１―出力端子５１２間の信号パスＡは３段、入力端子５１１―出力端子５１３間の信号パスＢは２段、入力端子５１１―出力端子５１４間の信号パスＣは１段とカウントされる。
【００９７】
段数−ディレイティングファクター依存性１０４には、あらかじめ求められた図５または図６に示す段数とディレイティングファクター補正係数Ｋｎとの関係が格納されている。図５または図６に示す関係の求め方は第１の実施形態の場合と同じである。信号パスセル段数検出手段１２３がカウントして保持している，解析対象信号パスの段数から、当該信号パスに用いるディレイティングファクター補正係数Ｋｎを決定し、補正係数Ｋｎを記憶装置に格納しておく。
【００９８】
ここで、図２８に示す回路において、回路セル５０１の標準遅延時間を０．１ｎＳ、回路セル５０２の標準遅延時間を０．１２ｎＳ、回路セル５０３の標準遅延時間を０．１５ｎＳとし、それらが遅延データ１０２に格納されているとする。第２のタイミング解析部１２２は、第１のタイミング解析結果１２１を読み込み、信号パス毎に決定されたディレイティングファクター補正係数Ｋｎを記憶装置から取り出して、最悪遅延を、
信号パスＡについては、
ｔworst［ｎＳ］＝０．６０８５×０．９５                  …（２４）
信号パスＢについては、
ｔworst［ｎＳ］＝０．３６１８×０．９７                  …（２５）
信号パスＣであれば、
ｔworst［ｎＳ］＝０．１６４５×１．０                    …（２６）
というように計算していく。ここで、式（２４），式（２５），式（２６）の右辺最後の項が信号パスＡ，Ｂ，Ｃの段数に応じて決定されたディレイティングファクター補正係数Ｋｎを表している。
【００９９】
信号パス全てについて計算が済むと、第２のタイミング解析部は１２２は、第２のタイミング解析結果１２４を出力する。図２３は、第２のタイミング解析結果１２４のフォーマットを示す図である。
【０１００】
図２３に示すように、第２のタイミング解析結果１２４は、図２２に示す第１のタイミング解析結果１２１とは異なり、信号パスの入出力遅延がディレイティングファクター補正係数Ｋｎを用いて所望のランダムばらつき平均化を示すように設定されていることから、信号パスの途中の回路セルまでの累積遅延は、同じ回路セルであっても信号パスによって異なることが生じうる。例えば、信号パスＡ（図２０のＰａｔｈ  Ａ）の初段のインバータの遅延は、０．１５６２ｎＳであるのに、信号パスＢ（図２０のＰａｔｈ  Ｂ）の初段のインバータの遅延は、０．１５９５ｎＳとなる。図２２と図２３の結果を比較整理すると、第１の実施形態と同様に、図７に示すようになる。
【０１０１】
以上のように、第２の実施形態においても、段数が大きくなるほど本発明の最悪遅延が従来に比べて小さくなるという結果が得られている。このことから、第２の実施形態によっても、従来は過剰マージンに陥っていた問題を解決することができることがわかる。
【０１０２】
このように、本実施形態においては、製造ばらつきのチップ内ばらつき成分の回路遅延への影響が信号パスに沿って平均化される効果を、信号パス個々の長さ(段数)に応じて異なるディレイティングファクター補正係数Ｋｎを組み込んだ，設計マージンであるディレイティングファクターを決定し、これを用いて遅延時間を算出することから、現実の製造ばらつきを反映したＬＳＩのタイミング解析が可能になる。
【０１０３】
また、本実施形態では、第１のタイミング解析部１２０として、従来のタイミング解析装置を用いることができ、それに、第２のタイミング解析部１２２を外付けすることによって、第１の実施形態に比べてより簡易に本発明のタイミング解析システムを実現することができる。
【０１０４】
（第３の実施形態）
以下、本発明の第３の実施形態に係る製造以外のばらつきを考慮したＬＳＩのタイミング解析装置について、図面を参照しながら説明する。第１の実施形態と説明が重複する部分は省略する。本実施形態においても、タイミング解析には、図１に示すタイミング解析装置１０１と、図２に示すコンピュータシステムとが用いられ、図４に示すフローチャートに沿って、以下のように、タイミング解析が行なわれる。
【０１０５】
−信号パスセル段数検出工程−
タイミング解析装置１０１は、ＬＳＩの回路セルの接続情報などを含むネットリスト１０３と、回路セルの遅延情報をあらかじめ格納した遅延データ１０２とを読み込む。ネットリスト１０３には、タイミング解析対象とする回路について、回路中の回路セルの接続情報などが格納されている。遅延データ１０２には、信号パスの各段（着目している回路セルの入力から出力までの経路と、出力に接続されている配線を経て次段の回路セルの入力までの経路）の遅延時間の情報が格納されている。遅延データ１０２中に記述されている遅延時間自体は、例えば、セル種に応じた各回路セルの出力負荷容量と入力波形に対する遅延時間の依存性を表すライブラリを参照し、個々の回路セルに応じて異なる出力負荷容量と入力波形とから決定されている。同じセル種であっても、回路中での出力負荷容量と入力波形などの動作条件が異なると遅延時間も異なる。
【０１０６】
信号パスセル段数検出手段１０６は、回路中の信号パスの入力から出力までの回路セルの段数をカウントし、その情報を保持しておく。図２８に示す回路を例にとると、入力端子５１１―出力端子５１２間の信号パスＡは３段、入力端子５１１―出力端子５１３間の信号パスＢは２段、入力端子５１１―出力端子５１４間の信号パスＣは１段となる。ただし、図２８における入力端子５１１及び出力端子５１２，５１３，５１４は、それぞれ共通のクロックによって動作するフリップフロップに直接接続されているとする。
【０１０７】
−ディレイティングファクター決定工程−
タイミング解析装置１０１は、まずＰＶＴ成分を含むディレイティングファクター１０７を読み込む。ここで、新たなディレイティングファクター補正係数Ｅｎ（後述のようにマイナスの誤差の場合はＥｎ≦１．０、プラスの誤差の場合はＥｎ≧１．０）を導入する。最悪遅延は、式（２７）
ｔworst  ＝ｔtyp×Ｐworst×Ｖworst×Ｔworst×Ｅｎ      …（２７）
で計算される。
【０１０８】
ここで、式（２７）におけるＥｎは、ランダムに起こる遅延誤差が信号パスに沿って平均化される効果を表し、標準遅延ｔtypを補正するための補正係数である。遅延誤差ばらつきが信号パスに沿って平均化される度合いは、信号パスの論理深さに依存する。ここでは、簡単のため論理深さを回路セルの段数（以下、単に段数）とする。すなわち段数が少ないと平均化の程度は小さく補正係数Ｅｎは１．０から大きく離れた値となる。逆に、段数が多いと平均化が進み、補正係数Ｅｎは１．０に近づく。この補正係数Ｅｎは記憶装置に格納される。
【０１０９】
ここでいう遅延誤差とは、ゲートレベルのタイミング解析（遅延計算）誤差を意味し、実際に製造されたチップの遅延とゲートレベルの遅延計算された遅延との差でもよいし、とトランジスタレベルの回路シミュレーションから求められた遅延とゲートレベルの遅延計算された遅延との差でもよい。段数−ディレイティングファクター依存性１０４は、例えば以下のように求められる。
【０１１０】
図２７（ａ），（ｂ）は、それぞれ順に、ある２８段の回路セルからなる信号パスに沿った各回路セルの遅延誤差及び信号パスの累積遅延誤差を示す図である。図２７（ａ），（ｂ）において、横軸は、信号パスに沿って入口から出口に向かう方向におけるセル段数を表している。
【０１１１】
図２７（ａ）に示すように、遅延誤差は回路セルによって異なり、正の遅延誤差をもつ回路セルもあれば負の遅延誤差をもつ回路セルもある。また、大きな遅延誤差をもつ回路セルもあれば小さな遅延誤差をもつ回路セルもある。
【０１１２】
図２７（ｂ）に示すように、多少凹凸はあるものの、遅延誤差の絶対値は、信号パスの出口ではかなり平均化されて小さくなっていることがわかる。すなわち、入口の１段目では１５％近い遅延誤差（Ｅｎ＝１．１５）が、出口の２８段目では１％（Ｅｎ＝１．０１）程度になっている。このような関係を種々の信号パスについて調べた結果から、段数−ディレイティングファクター依存性を決定することができる。マイナスの遅延誤差を組み込みたい場合，例えばマイナス１５％の場合には、Ｅｎ＝０．８５というように決定すればよい。
【０１１３】
図２４は、段数と補正係数Ｅｎとの関係の一例を表にして示す図である。また、図２５は、図２４に示す段数と補正係数Ｅｎとの関係をグラフにして示す図である。なお、段数と補正係数Ｅｎとの関係を関数で表すことも可能である。
【０１１４】
図２５から、この例では、１段の信号パスの場合、誤差１０％の設計マージンを追加で見込む必要があることになる。しかし、３段の信号パスでは、誤差５％の設計マージンの追加でよくなる。
【０１１５】
段数−ディレイティングファクター依存性１０４には、あらかじめ求められた図２４または図２５に示す関係が格納されている。すなわち、第１の実施形態では、段数とディレイティングファクター補正係数Ｋｎの関係が格納されていたが、第３の実施形態では段数と補正係数Ｅｎとの関係が格納されている。
【０１１６】
−タイミング解析工程−
図２８に示す回路の回路セル５０１の標準遅延時間を０．１ｎＳ、回路セル５０２の標準遅延時間を０．１２ｎＳ、回路セル５０３の標準遅延時間を０．１５ｎＳとし、それらが遅延データ１０２に格納されているとする。タイミング解析装置１０１は、遅延データ１０２からそれらを読み込み、信号パス毎に決定されたディレイティングファクター補正係数Ｅｎを記憶装置から取り出して、最悪遅延を、
信号パスＡについては、
ｔworst［ｎＳ］＝（０．１＋０．１２＋０．１５）×１．３×１．１５×１．１×１．０５                                                      …（２８）
信号パスＢについては、
ｔworst［ｎＳ］＝（０．１＋０．１２）×１．３×１．１５×１．１×１．０７
…（２９）
信号パスＣについては、
ｔworst［ｎＳ］＝（０．１）×１．３×１．１５×１．１×１．１  …（３０）
というように計算していく。式（２８），式（２９），式（３０）の右辺最後の項が信号パスＡ，Ｂ，Ｃの段数に応じて決定されたディレイティングファクターの補正係数Ｅｎを表している。
【０１１７】
このように、信号パスセル段数検出工程Ｓ１、ディレイティングファクター決定工程Ｓ２、タイミング解析工程Ｓ３を、回路に含まれる解析対象となる信号パス全てについて処理し、タイミング解析装置１０１は、解析結果１０５を出力する。
【０１１８】
図２６は、式（２８），式（２９），式（３０）にしたがって本実施形態で求めた図２８の３信号パスについてのタイミング解析結果と、式（２’）で示した従来の方法で求めた結果と表にして比較する図である。図２６中の従来の最悪遅延は、式（２’）にＥｎ＝１．１を代入して計算している。段数が大きくなるほど本発明の最悪遅延が従来に比べて小さくなるという結果がでている。このことから、本実施形態により、従来は過剰マージンに陥っていた問題を解決することができることがわかる。しかも、それが特許文献３のように別途回路セル種毎の遅延誤差をデータベース化しておくことも不要で、省力的にタイミング解析が行える。
【０１１９】
このように、本実施形態では、製造以外のばらつき要因のなかの遅延誤差要因の回路遅延への影響が信号パスに沿って平均化される効果を、信号パス中の回路セルの段数に応じて異なる補正係数Ｅｎによって補正された設計マージンであるディレイティングファクターを決定し、この補正されたディレイティングファクターを用いて遅延時間を算出している。これにより、現実のばらつきを反映したＬＳＩのタイミング解析が可能になる。
【０１２０】
なお、本実施形態では、シミュレーションにおけるばらつき要因を平均化するためのディレイティングファクター補正係数Ｅｎを組み込んだタイミング解析を行なっているが、第１，第２の実施形態において用いた製造のばらつき要因を平均化するためのディレイティングファクター補正係数Ｋｎも組み込む形態でもよい。その場合は、両者の相乗効果で過剰マージンを回避することができ、著効が得られることになる。
【産業上の利用可能性】
【０１２１】
本発明は、ＣＭＯＳデバイスなどを配置したＬＳＩの開発などの際に、各種ばらつきを考慮したタイミング解析を行なう方法、又はタイミング解析装置として利用することができる。
【図面の簡単な説明】
【０１２２】
【図１】本発明の第１の実施形態に係るＬＳＩのタイミング解析を行なうためのシステムの構成を示すブロック図である。
【図２】本発明のタイミング解析に用いられるコンピュータシステムの構成を概略的に示す図である。
【図３】本実施形態における回路セルの段数を定義するための信号パスの単位を示すブロック図である。
【図４】第１の実施形態に係る製造ばらつきを考慮したＬＳＩのタイミング解析装置による解析工程を示すフローチャートである。
【図５】第１の実施形態における段数とディレイティングファクター補正係数Ｋｎとの関係の一例を表にして示す図である。
【図６】図５に示す段数とディレイティングファクター補正係数Ｋｎとの関係をグラフにして示す図である。
【図７】第１の実施形態による図２８に示す回路についてのタイミング解析結果と、従来の方法で求めた結果とを表にして比較する図である。
【図８】３つの任意の信号パスＰａｔｈ１、Ｐａｔｈ２、Ｐａｔｈ３の遅延ばらつきが信号パスに沿って平均化される様子を解析した例である。
【図９】内部構造を有する回路セルの例を示す図である。
【図１０】（ａ）〜（ｃ）は、各回路セルについて段数を決める場合の基準を説明するためのセルの階層構造を示す図である。
【図１１】第１の実施形態の第１の変形例に係る信号パスを示すブロック図である。
【図１２】第１の実施形態の第２の変形例に係る解析対象回路の構成を示すブロック図である。
【図１３】第１の実施形態の第３の変形例に係るチップ構造を示す図である。
【図１４】第１の実施形態の第３の変形例におけるディレイティングファクター補正係数Ｋｎの段数依存性を示す図である。
【図１５】最良遅延を算出する場合に用いられる段数とディレイティングファクター補正係数Ｋｎとの関係の一例を表にして示す図である。
【図１６】最良遅延を算出する場合に用いられる段数とディレイティングファクター補正係数Ｋｎとの関係の一例をグラフにして示す図である。
【図１７】第１の実施形態において最良遅延について図２８に示す回路についてのタイミング解析結果と、従来の方法で求めた結果とを表にして比較する図である。
【図１８】第１の実施形態の第４の変形例に係る相関係数毎のディレイティングファクター補正係数Ｋｎの段数依存性を表にしたものである。
【図１９】図１８に示す段数と補正係数Ｋｎとの関係をグラフにして示す図である。
【図２０】第１の実施形態の第４の変形例で求めた図２８の３信号パスについてのタイミング解析結果と、従来の方法で求めた結果とを表にして比較する図である。
【図２１】本発明の第２の実施形態に係るＬＳＩのタイミング解析を行なうためのシステムの構成を示すブロック図である。
【図２２】第２の実施形態における第１のタイミング解析結果のフォーマットの例を示す図である。
【図２３】第２の実施形態における第２のタイミング解析結果のフォーマットを示す図である。
【図２４】第３の実施形態における段数と補正係数Ｅｎとの関係の一例を表にして示す図である。
【図２５】図２４に示す段数と補正係数Ｅｎとの関係をグラフにして示す図である。
【図２６】第３の実施形態で求めた図２８の３信号パスについてのタイミング解析結果と、来従の方法で求めた結果と表にして比較する図である。
【図２７】（ａ），（ｂ）は、それぞれ順に、ある２８段の回路セルからなる信号パスに沿った各回路セルの遅延誤差及び信号パスの累積遅延誤差を示す図である。
【図２８】従来技術及び本発明の実施形態におけるタイミング解析を行なう対象となる回路のブロック図である。
【図２９】ディレイティングファクターの具体的な値の例を表にして示す図である。
【図３０】従来のタイミング解析を行なうためのシステムの構成を示すブロック図である。
【符号の説明】
【０１２３】
１０    メインコンピュータ
１２    ネットワーク
１３    ディスプレイ
１４    端末コンピュータ
１５    キーボード
１６    マウス
１７    外部記憶装置
１８    プリンター
１０１    タイミング解析装置
１０２    遅延データ
１０３    ネットリスト
１０４    段数−ディレイティングファクター依存性
１０５    タイミング解析結果
１０６    信号パスセル段数検出手段
１０７    ディレイティングファクターＰＶＴ
１２０    第１のタイミング解析部
１２１    第１のタイミング解析結果
１２２    第２のタイミング解析部
１２３    信号パスセル段数検出手段
１２４    第２のタイミング解析結果
２００    信号パス
２０１    クロック信号
２１１，２１２    フリップフロップ
２５０    クロック信号供給回路
２５１    入力端子
２５２，２５３    クロック信号パス
２７１    チップ
２７２，２７３    回路ブロック
２７４    回路セル
２７５    信号パス
２７６，２７７    フリップフロップ
３００    バッファ
３０１〜３０４    インバータ
３１０    ＡＮＤ
３１１    ＮＡＮＤ
３１２    インバータ
３２０    回路セル
３２１〜３２３    回路セル要素
３５０    チップ
Ｃce      回路セル
５００    回路
５０１    インバータ
５０２    ＮＡＮＤ
５０３    ＮＯＲ
５１１    入力端子
５１２〜５１４    出力端子
【図１】
2005352787.tif 000003
【図２】
2005352787.tif 000004
【図３】
2005352787.tif 000005
【図４】
2005352787.tif 000006
【図５】
2005352787.tif 000007
【図６】
2005352787.tif 000008
【図７】
2005352787.tif 000009
【図８】
2005352787.tif 000010
【図９】
2005352787.tif 000011
【図１０】
2005352787.tif 000012
【図１１】
2005352787.tif 000013
【図１２】
2005352787.tif 000014
【図１３】
2005352787.tif 000015
【図１４】
2005352787.tif 000016
【図１５】
2005352787.tif 000017
【図１６】
2005352787.tif 000018
【図１７】
2005352787.tif 000019
【図１８】
2005352787.tif 000020
【図１９】
2005352787.tif 000021
【図２０】
2005352787.tif 000022
【図２１】
2005352787.tif 000023
【図２２】
2005352787.tif 000024
【図２３】
2005352787.tif 000025
【図２４】
2005352787.tif 000026
【図２５】
2005352787.tif 000027
【図２６】
2005352787.tif 000028
【図２７】
2005352787.tif 000029
【図２８】
2005352787.tif 000030
【図２９】
2005352787.tif 000031
【図３０】
2005352787.tif 000032