(57)【要約】【課題】挙動の異なる複数の製造ばらつき成分を同時に反映しうる回路シミュレーション方法又は回路シミュレーション装置を提供する。【解決手段】回路シミュレーション装置は、複数の製造ばらつき成分を変数化するための製造ばらつき成分変数化手段１０１と、変数化後入力情報１１２に基づいて、製造ばらつき成分毎に与えられた製造ばらつき情報を、複数の製造ばらつき成分を表す変数に対して選択的に与えて、パラメータの製造ばらつき量を算出する製造ばらつき量算出手段１０２と、製造ばらつき量反映後入力情報１１３に基づいて回路シミュレーションを行なう回路シミュレーション手段１０４とを備えている。挙動が相異なる複数の製造ばらつき成分が重畳された状態での回路シミュレーションが可能になり、より現実に即した回路設計を行なうことができる。【選択図】        図１
2005259107.tif 000002
【特許請求の範囲】
【請求項１】
少なくとも１つの回路素子を含む回路の動作に関する回路シミュレーションを行う方法であって、
記憶装置に格納された入力情報に含まれるパラメータの中から、１パラメータ当たり複数の製造ばらつき成分を表す変数を所定のモデルに従って組み込む工程（ａ）と、
製造ばらつき成分毎に与えられた製造ばらつき情報を、複数の製造ばらつき成分を表す変数に対して選択的に与えて、上記パラメータの製造ばらつき量を求め、製造ばらつき量反映後の入力情報を出力する工程（ｂ）と、
上記パラメータの製造ばらつき量反映後の入力情報を参照しつつ、回路シミュレーションを実行する工程（ｃ）と
を備えている回路シミュレーション方法。
【請求項２】
請求項１記載の回路シミュレーション方法において、
上記工程（ｂ）では、製造ばらつき成分として、少なくともチップ外ばらつき成分とチップ内ばらつき成分とを含ませ、上記チップ外ばらつき成分の製造ばらつき情報と、上記チップ内ばらつき成分の製造ばらつき情報とを選択的に与える，回路シミュレーション方法。
【請求項３】
請求項１又は２記載の回路シミュレーション方法において、
上記工程（ｂ）では、製造ばらつき成分毎に与えられた製造ばらつき情報に基づき、複数の乱数を生成し、生成された上記乱数毎に、上記複数の製造ばらつき成分を表す変数に対して所定の上記乱数を選択的に与えて、上記パラメータの製造ばらつき量を求め、製造ばらつき量反映後の入力情報を出力する，回路シミュレーション方法。
【請求項４】
請求項３記載の回路シミュレーション方法において、
上記工程（ｂ）では、相関関係のある複数の乱数を生成する，回路シミュレーション方法。
【請求項５】
請求項１〜４のうちいずれか１つに記載の回路シミュレーション方法において、
上記工程（ｃ）の後に、上記工程（ｃ）における回路シミュレーションの結果から、設計マージンを求める信号パス遅延ばらつき評価工程（ｄ）をさらに含む，回路シミュレーション方法。
【請求項６】
請求項５記載の回路シミュレーション方法において、
上記工程（ｄ）では、設計マージンとして、ディレイティングファクターを用いる，回路シミュレーション方法。
【請求項７】
請求項５又は６記載の回路シミュレーション方法において、
上記回路は、複数の信号パスを含んでおり、
上記工程（ｄ）では、上記複数の信号パスの信号伝搬遅延差を求める，回路シミュレーション方法。
【請求項８】
少なくとも１つの回路素子を含む回路の動作に関する回路シミュレーションを行う装置であって、
入力情報に含まれるパラメータの中から、１パラメータ当たり複数の製造ばらつき成分を表す変数を所定のモデルに従って組み込む第１の手段と、
上記第１の手段において組み込まれたモデルを用い、製造ばらつき成分毎に与えられた製造ばらつき情報を、複数の製造ばらつき成分を表す変数に対して選択的に与えて、上記パラメータの製造ばらつき量を求め、製造ばらつき量反映後の入力情報を出力する第２の手段と、
上記第２の手段の出力に応じて、上記パラメータの製造ばらつき量反映後の入力情報を参照しつつ、回路シミュレーションを実行する第３の手段と
を備えている回路シミュレーション装置。
【請求項９】
請求項８記載の回路シミュレーション装置において、
上記第２の手段は、製造ばらつき成分毎に与えられた製造ばらつき情報に基づき、複数の乱数を生成する手段を含む，回路シミュレーション装置。
【請求項１０】
請求項８又は９記載の回路シミュレーション装置において、
上記第３の手段における回路シミュレーションの結果から、設計マージンを求める信号パス遅延ばらつきを評価する第４の手段をさらに備えている回路シミュレーション装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、システムＬＳＩ等の設計を行なう際に、製造上のばらつきに起因する回路特性のばらつきを評価するために用いる、回路シミュレーションの技術に関する。
【背景技術】
【０００２】
近年、製造技術の発達と共にトランジスタの微細化又は集積度が急速に向上してきたため、ＣＭＩＳ（Ｃｏｍｐｌｅｍｅｎｔａｒｙ  Ｍｅｔａｌ  Ｉｎｓｕｌａｔｏｒ  Ｓｅｍｉｃｏｎｄｕｃｔｏｒ）デバイスを含む半導体集積回路（以下、ＬＳＩと称する）内に様々な機能をもたせることができるようになってきた。
【０００３】
このようなＬＳＩを開発する際に、通常、回路シミュレーションが用いられる。回路シミュレーションは、回路の動作をコンピュータソフトウエア上で仮想的に再現する技術であり、回路設計時には、回路の最適化、動作確認などの目的で幅広く用いられている。回路シミュレーションの方法は種々あるが、それらの中でも代表的な回路シミュレーションソフトウエア（以後、回路シミュレータ）として、米国Ｓｙｎｏｐｓｙｓ社のＨＳＰＩＣＥが知られている。
【０００４】
また、回路設計においては、設計余裕すなわち設計マージンが設けられるのが一般的である。回路特性に影響を与える要因には種々考えられるが、設計マージンは、それらの要因で生じる影響を受けても、回路が正常に動作するように設計時に見込む余裕のことである。その設計マージンに考慮すべき要因には、回路の動作環境である電圧及び温度だけでなく、製造時のばらつき又はゆらぎも含める必要がある。製造ばらつきには、例えば、リソグラフィーなどの加工寸法のばらつきや、ドーパント濃度の高低などの材質のばらつきがある。このような製造ばらつきが生じると、回路中のトランジスタや配線の特性も変動し、その結果、それらの要素から構成されるＬＳＩの特性も変動する。最近では、トランジスタの微細化が急速に進んでいることから、製造ばらつきによるＬＳＩの回路特性への影響がますます顕著になってきている。
【０００５】
そこで、前述の回路シミュレータで、このような製造ばらつきによる変動の影響を回路が受けた状態のシミュレーションが行なわれる。ＬＳＩを製造する場合に、ある許容される製造ばらつきが生じたとしても回路の正常動作を保証する設計を行うためである。
【０００６】
ここで、製造ばらつきを考慮した回路シミュレーション方法として、例えばモンテカルロ法が知られている。モンテカルロ法は、概略的には、「入力変数に対して特定の確率分布に従って発生させた乱数を用い、その乱数毎に通常の解析を繰り返して実施すると共に、解析された結果を総合することにより、出力変数の確率分布を得る」、という解析手法である。そして、回路設計者は、得られた出力変数の確率分布から回路の動作範囲を検討することができる。
【０００７】
以下、従来のモンテカルロ法に基づく製造ばらつきを考慮した回路シミュレーション方法を説明する。ここでは、任意のＣＭＯＳ回路のモンテカルロ解析を行うことを想定し、ＭＩＳトランジスタのゲート長Ｌが、製造ばらつきで変動する場合を考える。ゲート長Ｌのばらつきは、平均値をμL、標準偏差をσLとする正規分布Ｎ［μL，σL2］に従うものと仮定する。
【０００８】
図１３（ａ）〜（ｃ）は、ＭＩＳトランジスタのゲート長，ドレイン電流及び回路中の信号伝搬遅延の管理上の範囲と、製造時におけるそれらの分布との関係を示す図である。図１３（ａ）〜（ｃ）の実線は、ゲート長Ｌ，ドレイン電流Ｉｄ及び回路中の信号伝搬遅延Ｔpdの製造時における分布を示しており、破線はゲート長Ｌ，ドレイン電流Ｉｄ及び回路中の信号伝搬遅延Ｔpdの管理上の範囲を表している。一般には、ゲート長Ｌ，ドレイン電流Ｉｄ及び回路中の信号伝搬遅延Ｔpdのそれぞれの分布における±３σL 、±３σId、±３σtpd がこの範囲内に収まるように製造される。
【０００９】
回路シミュレータは、回路ネットリストとパラメータを入力情報として読み込み、シミュレーションを実行する。回路ネットリストには、トランジスタのような能動素子や、抵抗、容量などの受動素子を構成する各要素の寸法、素子定数や接続関係などの情報が記述されている。パラメータには、製造プロセスから決まる情報が記述されている。なお、回路ネットリストやパラメータとしては、例えば米国Ａｖａｎｔ！  Ｃｏｒｐｏｒａｔｉｏｎ社発行の「Ｓｔａｒ  Ｈｓｐｉｃｅ  Ｍａｎｕａｌ（Ｒｅｌｅａｓｅ  ２０００．２，Ｍａｙ  ２０００）」に具体的な記載がある。以下、回路シミュレータによる回路シミュレーションの手順について説明する。
【００１０】
まず、製造ばらつきを考慮しない、すなわちばらつかせる前の回路ネットリストに対し、製造ばらつきを考慮する、すなわちばらつかせたい変数である被変動変数（パラメータ）を選ぶ。次に、選択した回路ネットリスト中の被変動変数に対し、ばらつき成分を表わす新たな変数を加えるよう記述を変更する処理を行う。
【００１１】
ここで、図１４（ａ），（ｂ）は、ばらつかせる前の２個のＭＩＳトランジスタの回路ネットリストの記述例、ばらつかせるためにゲート長を被変動変数としてばらつき成分deltaLを加えた回路ネットリストの記述例をそれぞれ示す図である。図１４（ａ）の各行は、それぞれトランジスタのパラメータを表し、順に、識別記号Ｍ，４つの端子Ｓ（ソース端子），Ｇ（ゲート端子），Ｄ（ドレイン端子），Ｂ（基板端子），使用するパラメータ名ＮＭＯＤＥＬ，ゲート長Ｌの具体値，ゲート幅Ｗの具体値が記述されている。図１４（ｂ）は、図１４（ａ）における具体値に加えて、ばらつかせるためにゲート長を被変動変数として、図１３（ａ）に示すようなゲート長Ｌの分布を仮定して、ばらつき成分deltaLを加えた回路ネットリストの記述になっている。それ以外は、図１４（ａ）と図１４（ｂ）とは同じである。
【００１２】
次に、前述のゲート長Ｌのばらつき成分分布に従った正規乱数Ｎ［0，σL2］を生成する。ここで、ゲート長のばらつき成分のみを重畳するために平均値を０としている。乱数が１つ生成される毎に、図１４（ｂ）中のdeltaLが与えられ、各トランジスタのゲート長Ｌが決まる。そして、乱数毎にばらついた状態のゲート長を含む回路ネットリストに基づき、回路シミュレータがシミュレーションを行う。
【００１３】
回路シミュレーションでは、ゲート長分布に応じた図１３（ｂ）に示すようなドレイン電流分布が計算され、さらにそのドレイン電流分布に応じて図１３（ｃ）に示すような、例えば回路中の信号伝搬遅延分布が求められる。
【００１４】
このように、従来のモンテカルロ解析では、ゲート長のような製造ばらつきの影響を受ける被変動変数に対して、１つの分布を仮定してモンテカルロ法に基づく回路シミュレーションを行い、回路設計を行なっていた。多くの場合、ゲート長などの分布には、図１３（ａ）に示すような管理上の範囲を表すトータルの製造ばらつきとして１つの分布が仮定されている。
【００１５】
また、ばらつきを考慮した回路シミュレーション方法として、特許文献１に記載されているものが知られている。特許文献１に記載されている方法は、ばらつきを数式化し、その式に含まれるパラメータをばらつかせてシミュレーションする方法である。
【００１６】
また、モンテカルロ法に基づく回路シミュレーション手法として、特許文献２に記載されているシミュレーション回数を削減するための方法が知られている。
【特許文献１】特開２００２−３１８８２９号公報（要約書）
【特許文献２】特開２００３−６２６３号公報（要約書）
【発明の開示】
【発明が解決しようとする課題】
【００１７】
しかし、上記特許文献１においては、具体的実施形態の開示に乏しく、ばらつきの与え方については示されていない。また、特許文献２は、特定のばらつき分布についてのシミュレーション時のシミュレーション回数を削減するための技術にすぎない。
【００１８】
ところが、トータルの製造ばらつきσtotalは、下記式（１）
σtotal＝√（σin2＋σout2）                                  （１）
に示すように、チップ内ばらつき成分σinとチップ外ばらつき成分σoutとに分離される。チップ外ばらつき成分σoutは、チップ内ではばらつきがなく一様とするもので、ロット間ばらつき、ウエハ間ばらつき、チップ間ばらつきなどが含まれる。チップ内ばらつき成分σinは、ＬＳＩを構成するトランジスタ個々に変動するようなばらつきである。このように両ばらつき成分の挙動は異なる。
【００１９】
しかしながら、従来の方法では、１つの被変動変数に対して１つの分布を与える形でしかシミュレーションができなかった。このことは、以下のように理解することができる。図１５（ａ），（ｂ）は、チップ単位にばらつきがあるとした場合のばらつき、チップ内ばらつき成分とチップ外ばらつき成分とがあるとした場合のばらつきを説明する図である。図１５（ａ），（ｂ）いずれにおいても、ＬＳＩチップ（以後、チップという）が１〜Ｎ個まであるとする。
【００２０】
図１５（ａ）に示すように、従来の方法では、ゲート長などのばらつき成分deltaLが、チップ単位のみに異なることになる。つまり、各チップに搭載されている、小単位の回路や個々のトランジスタもすべてゲート長のばらつき成分はチップ内では同じという前提が置かれることになる。たしかに、トランジスタ等の微細化がそれほど進んでいない以前においては、製造ばらつきのなかでチップ外成分が支配的であったので、従来技術のようなチップ内はばらつきが一様であるとする、つまり、下記式（２）
σtotal≒σout                                                （２）
のように近似することが許容された。すなわち、ゲート電極などの寸法として１つの分布を仮定するのでもよかった。
【００２１】
しかしながら、最近のトランジスタの微細化の進行に伴い、ばらつき全体に占めるチップ内ばらつき成分の割合が顕著になってきており、チップ内ではゲート長などの寸法のばらつきが一様であると近似するのはもはや困難である。すなわち、図１５（ｂ）に示すように、チップ内の小単位回路やトランジスタ毎に、チップ外とチップ内という異なるばらつき成分が重畳されてくることになる。
【００２２】
また、製造ばらつきに対する設計マージンは、回路の信号伝搬遅延の場合、回路シミュレーション結果の遅延分布を考慮して求められる。ＬＳＩ中の回路は、通常多数の信号パスに分解することができる。各信号パスでは、信号がトランジスタを幾段も伝わっていくことから、トランジスタの特性がばらつくと、信号パスの入出力間の遅延特性もばらつく。そのとき、トランジスタが一様にばらつくのと、個々にばらつくのとでは遅延への影響が異なってくる。ところが、従来技術のように１つの分布でシミュレーションする場合は、トランジスタを一様にばらつかせることになり、実際にはチップ内ばらつき成分があることから、設計マージンを正確に決定することが困難である。
【００２３】
本発明の目的は、ＬＳＩを設計する際に用いられる回路シミュレーションの際に、挙動の異なる複数の製造ばらつき成分を同時に反映し、ひいては設計マージンを現実的に決定しうる回路シミュレーション方法又は回路シミュレーション装置を提供することにある。
【課題を解決するための手段】
【００２４】
本発明の回路シミュレーション方法は、１パラメータ当たり複数の製造ばらつき成分を表す変数を所定のモデルに従って組み込んで、複数の製造ばらつき成分についての製造ばらつき量を算出して、この製造ばらつき量を反映した入力情報を参照しつつ、回路シミュレーションを実行する方法である。
【００２５】
この方法により、挙動が相異なる複数の製造ばらつき成分が重畳された状態での回路シミュレーションが可能になり、より現実に即した回路設計を行なうことができる。
【００２６】
製造ばらつき成分として、少なくともチップ外ばらつき成分とチップ内ばらつき成分とを含ませることができる。
【００２７】
また、製造ばらつき量を算出する際には、複数の乱数を生成することができ、さらに、相関関数を有する複数の乱数を生成することができる。
【００２８】
また、回路シミュレーションを行なった後に、回路シミュレーションの結果から、設計マージンを求める信号パス遅延ばらつき評価を行なうことにより、製造ばらつきを考慮した設計マージンを定めることができる。
【００２９】
設計マージンとして、ディレイティングファクターを用いることが好ましい。
【００３０】
回路が複数の信号パスを含んでいる場合には、設計マージンを求める際に、複数の信号パスの信号伝搬遅延差を求めることができる。
【００３１】
本発明の回路シミュレーション装置は、１パラメータ当たり複数の製造ばらつき成分を表す変数を所定のモデルに従って組み込む手段と、複数の製造ばらつき成分についての製造ばらつき量を算出する手段と、この製造ばらつき量を反映した入力情報を参照しつつ、回路シミュレーションを実行する手段とを備えている。
【００３２】
これにより、挙動が相異なる複数の製造ばらつき成分が重畳された状態での回路シミュレーションが可能になり、より現実に即した回路設計を行なうための回路シミュレーション装置の提供を図ることができる。
【００３３】
製造ばらつきを算出する手段は、乱数発生手段を有していることが好ましい。
【００３４】
また、回路シミュレーション結果に応じて、設計マージンを設定する手段をさらに備えることができる。
【発明の効果】
【００３５】
本発明に係る回路シミュレーション方法又は回路シミュレーション装置によると、挙動が相異なる複数の製造ばらつき成分を重畳した状態での回路シミュレーションが可能になり、より現実に即した回路設計や設計マージンの設定ができる。
【発明を実施するための最良の形態】
【００３６】
（第１の実施形態）
以下、本発明の第１の実施形態に係る製造ばらつきを考慮した回路シミュレーション装置について図面を参照しながら説明する。なお、本実施形態においては、ＣＭＩＳトランジスタの一種であるＣＭＯＳトランジスタの製造ばらつきを回路特性の変動要因とした場合の、回路シミュレーション手段および工程について説明する。
【００３７】
図１は、第１の実施形態に係る製造ばらつきを考慮した回路シミュレーション装置を示す図である。図２は、本実施形態の回路シミュレーションが適用されるＣＭＯＳ回路の例を示す回路図である。
【００３８】
図１に示すように、本実施形態の回路シミュレーション装置は、製造ばらつき成分を変数化するための製造ばらつき成分変数化手段１０１と、変数化後入力情報１１２に基づいて、製造ばらつきを算出する製造ばらつき量算出手段１０２と、製造ばらつき量反映後入力情報１１３に基づいて回路シミュレーションを行なう回路シミュレーション手段１０４とを備えている。本実施形態においては、製造ばらつき量算出手段１０２は、乱数生成手段１０３を内蔵しているが、必ずしも乱数生成手段を内蔵していなくてもよい。
【００３９】
製造ばらつき成分変数化手段１０１は、回路シミュレーションの際に参照する，セルライブラリ等の記憶装置に格納されている入力情報１０８として、回路ネットリスト１０９およびパラメータ１１０を読み込み、また、記憶装置に格納されているモデル１１１を読み込み、変数化後入力情報１１２を出力する。
【００４０】
製造ばらつき量算出手段１０２は、製造ばらつき成分変数化手段１０１から出力された変数化後入力情報１１２と、記憶装置に格納されている，チップ外ばらつき成分１０６及びチップ内ばらつき成分１０７を含む製造ばらつき情報１０５とを読み込み、製造ばらつき量反映後入力情報１１３を出力する。
【００４１】
回路シミュレーション手段１０４は、製造ばらつき量算出手段１０２から出力された製造ばらつき量反映後入力情報１１３を読み込み、後述するような回路シミュレーションを行なった後、回路シミュレーション結果１１４を出力する。
【００４２】
本実施形態においては、図２に示す回路のゲート長が製造ばらつきによってばらついた場合のシミュレーションをする際のシミュレーションについて説明する。図２において、２０１はチップ、２０３，２０６は回路セル、２０４，２０７は回路セル中のＰＭＩＳトランジスタ、２０５，２０８は回路セル中のＮＭＩＳトランジスタである。回路セル２０３，２０６は同じ要素からなるＣＭＩＳ回路（インバータ）とする。
【００４３】
また、本実施形態では、製造ばらつきが、チップ内ばらつき成分σinと、チップ外ばらつき成分σoutの２種類から成るとする。簡単のため、どちらも正規分布に従うとすれば、製造ばらつきの標準偏差は、上記式（１）の右辺に示すように表される。トータルの製造ばらつきσtotalは、トータルの製造ばらつきの標準偏差であり、図１３（ａ）に示すσLに相当する。
【００４４】
図３は、第１の実施形態に係る製造ばらつきを考慮した回路シミュレーション装置によるシミュレーション方法を示す図である。ここで、ステップＳ１１は製造ばらつき成分変数化工程、ステップＳ１２は製造ばらつき量算出工程、ステップＳ１３は回路シミュレーション工程を示している。以下、上記各工程における詳細な動作について説明する。
【００４５】
−製造ばらつき成分変数化工程−
図４（ａ），（ｂ）は、本実施形態におけるばらつかせる前の２個の回路の回路ネットリストの記述例、ばらつかせるためにゲート長を被変動変数として２種類のばらつき成分を加えた回路ネットリストの記述例をそれぞれ示す図である。
【００４６】
図２に示すチップ２０１の２つの回路セル２０３，２０６の製造ばらつきを考慮する前の回路ネットリスト１０９は、図４（ａ）のように記述される。この状態では、ゲート長Ｌは、図２に示す４つのトランジスタすべてにおいて同じ値０．１μｍ（図４（ａ）では０．１ｕと表されている）である。
【００４７】
製造ばらつき成分変数化手段１０１は、まず入力情報１０８である，回路ネットリスト１０９およびパラメータ１１０を読み込む。ここでは、ゲート長Ｌを被変動変数とし、回路ネットリスト１０９への反映を考える。このため、パラメータ１１０の情報は、後の工程において変数化後入力情報１１２および製造ばらつき量反映後入力情報１１３へもそのまま伝えられる。
【００４８】
製造ばらつき成分変数化手段１０１は、読み込んだ回路ネットリスト１０９中の被変動変数であるゲート長Ｌに対し、チップ内ばらつき成分σinとチップ外ばらつき成分σoutという２種類のばらつき成分を変数化して加える。ここで、チップ外ばらつき成分σoutは、チップ２０１内ではトランジスタ２０４，２０５，２０７，２０８によらず同じになるように変数化する。また、チップ内ばらつき成分σinは、トランジスタ毎に異なるように変数化する。このとき、チップ内ばらつき成分σinとチップ外ばらつき成分σoutとを与える式の形は、製造ばらつき成分変数化手段１０１がモデル１１１を参照して従う。本実施形態では、２成分の和で表現するモデルになっている。
【００４９】
以上の製造ばらつき成分変数化手段１０１の処理は、図４（ａ）に示す回路ネットリストを、図４（ｂ）に示すように変更する処理である。図４（ｂ）に示すように、ゲート長Ｌの記述に２種類のばらつき成分の変数を導入し、式で表現する。ここで、dLchipはチップ外ばらつき成分を、dLmp1、dLmn1、dLmp2、dLmn2はそれぞれトランジスタＭＰ１、ＭＮ１、ＭＰ２、ＭＮ２に加えるチップ内ばらつき成分を表している。
【００５０】
以上のように、製造ばらつき成分変数化手段１０１は、上記回路ネットリスト１０９に対する必要な変数化処理を行い、変数化後入力情報１１２を出力する。
【００５１】
−製造ばらつき量算出工程−
図５は、図３に示す製造ばらつき量算出工程Ｓ１２と回路シミュレーション工程Ｓ１３におけるより詳細な手順を示すフローチャートである。
【００５２】
製造ばらつき量算出手段１０２は、変数化後入力情報１１２と製造ばらつき情報１０５とを読み込む。製造ばらつき情報１０５には、チップ外ばらつき成分１０６とチップ内ばらつき成分１０７とが含まれている。これらの成分は、前述の被変動変数へ導入した２変数と対応している。チップ外ばらつき成分１０６には、ゲート長のチップ外ばらつき成分の分布を再現するのに必要な情報として、例えば式（１）に示される標準偏差σoutが含まれている。チップ内ばらつき成分１０７には、ゲート長のチップ内ばらつき成分の分布を再現するのに必要な情報として、例えば式（１）に示される標準偏差σinが含まれている。
【００５３】
製造ばらつき量算出手段１０２には、乱数生成手段１０３が内蔵されており、ゲート長の製造ばらつきの２成分に対して、乱数を生成する（図５のステップＳ１３ｂ）。乱数の種類は、回路ネットリストにＫ個のトランジスタが含まれているとすると、（Ｋ＋１）種類の乱数を１セットとして生成する。本実施形態では、チップ外ばらつき成分用に１種類の乱数を、チップ内ばらつき成分用にＫ種類の乱数を発生させる。乱数を生成するための分布の形状は、製造ばらつき情報１０５のチップ外ばらつき成分１０６とチップ内ばらつき成分１０７とを参照して、それらの分布の形状に合わせて乱数を生成する。Ｋ個のトランジスタ用の乱数は同じ標準偏差を有する。このときの分布は、チップ外ばらつき成分分布は正規分布Ｎ［０，σout2］、チップ内ばらつき成分分布は正規分布Ｎ［０，σin2］である。平均値を０としてあるのは、ばらつき分だけを重畳させるためである。
【００５４】
図６は、本実施形態において生成した乱数セット（ここでは２組）と、算出した製造ばらつき量とを表にして示す図である。図７は、乱数を用いた場合の回路ネットリストの記述例を示す図である。
【００５５】
以上のようにして、製造ばらつき量算出手段１０２は、複数の乱数を生成し、変数化された回路ネットリストに対し、その乱数を選択的に与え、乱数セット毎の製造ばらつき量を計算し（図５のステップＳ１３ｃ）、製造ばらつき量反映後入力情報１１３として出力する。
【００５６】
−回路シミュレーション工程−
回路シミュレーション手段１０４は、回路シミュレーション回数ｎを入力した後（ステップＳ１３ａ）、製造ばらつき量反映後入力情報１１３を読み込み、乱数毎に回路シミュレーションを実行し（図５のステップＳ１３ｄ）、ステップＳ１３ｅにおいて、ｉ＝ｎになるまでステップＳ１３ｂ〜Ｓ１３ｄを繰り返したあと、個々の結果を総合して回路シミュレーション結果１１４として出力する。
【００５７】
ここで、乱数の数すなわちサンプル数は、回路シミュレーションの回数となるが、この回路シミュレーション回数ｎは、得たい分布形状の精度との兼ね合いからあらかじめ任意に設定しておけばよい。
【００５８】
このように、本実施形態では、挙動のことなる複数の製造ばらつき成分をそれぞれ独立して表現し、回路ネットリストに成分毎に選択的に与えることから、現実の製造ばらつきを反映した回路シミュレーションが可能になる。
【００５９】
なお、本実施形態は本発明を適用するための一例を示したものにすぎず、本発明は実際にはさまざまな実施形態をとりうる。例えば、ここでは、ゲート長Ｌのみを被変動変数として選んだが、他の変数を被変動変数として選んでもよい。また、モデル１１１は、製造ばらつき成分変数化手段１０１にあらかじめ内蔵しておく形態でもかまわない。もしくは、常に固定的に１つのモデルを用いる場合には、モデル１１１の式を別データとして格納しておかなくとも、製造ばらつき成分変数化手段１０１が、その式に基づいた処理を行うようにしておけばよい。
【００６０】
また、本実施形態では、製造ばらつきをチップ内ばらつき成分σinとチップ外ばらつき成分σoutの２種類に分けて扱ったが、必要に応じてこの種類を増やしてもよい。その場合、例えば３種類であれば、回路ネットリスト中のゲート長の記述を、下記式（３）
Ｌ＝Ｌtyp＋Ｌpara1＋Ｌpara2＋Ｌpara3                      （３）
のような形にすればよい。ここで、Ltypは、ばらつかせないときのゲート長（図４（ａ），（ｂ）に示す例では０．１ｕｍ）である。
【００６１】
さらに、本実施形態では正規分布を仮定したが、任意の分布としてもよい。その場合、製造ばらつき情報１０５には、各ばらつき成分の任意の分布の情報を含めておく。
【００６２】
本実施形態では、乱数生成手段１０３が複数の無相関乱数を生成する場合の例を示したが、これらの乱数間に関係を持たせて相関乱数を生成するのでもよい。
【００６３】
図８（ａ），（ｂ）は、複数の無相関乱数を生成する場合、乱数間に関係を持たせて相関乱数を生成する場合をそれぞれ示す図である。
【００６４】
図８（ａ）に示す例は、本実施形態の方法であり、例えば、変数dLmn1とdLmn2の間の相関をとると相関係数がゼロ（ρ＝0）である。しかし、図８（ｂ）に示す例では、変数dLmn1とdLmn2の間が相関係数を有する（ρ＝０．９）ように乱数を生成している。製造ばらつき情報１０５にあらかじめ、ばらつき成分間の相関係数などの相関情報を格納しておき、その内容を乱数生成手段１０３が参照するようにしておけばよい。
【００６５】
なお、本実施形態の図６では、元のゲート長がトランジスタによらず全て同じ例をしめしたが、各々任意の値でもよい。
【００６６】
（第２の実施形態）
次に、本発明の第２の実施形態に係る製造ばらつきを考慮した回路シミュレーション装置について図面を参照しながら説明する。なお、本実施形態においても、ＣＭＩＳトランジスタの製造ばらつきを扱う。
【００６７】
図９は、第２の実施形態に係る製造ばらつきを考慮した回路シミュレーション装置を示す図である。図９において、図１と同じ構成要素に対しては、同じ番号を付しており、図１と同じ構成要素の動作の説明は省略する。
【００６８】
本実施形態の回路シミュレーション装置は、第１の実施形態とは異なり、回路シミュレーション結果１１４を読み込み、設計マージン３０２を出力する信号パス遅延ばらつき評価手段３０１を備えている。
【００６９】
本実施形態の動作においては、第１の実施形態と異なり、シミュレーション対象とする回路として、図１０に示すような信号パス回路４０１を想定している点である。信号パス回路４０１においては、複数の回路セル４０２が直列に接続されて１本の信号の経路（パス）を構成している。また、信号パス回路４０１においては、いずれもインバータ回路である同一の回路セル４０２がＭ段（Ｍは自然数。図１０の例ではＭ＝４）接続されており、信号パス回路４０１の入力部４０３と、出力部４０４とが設けられている。
【００７０】
図１０に示すように、一般に、システムＬＳＩ等に含まれる論理回路の信号パスは、例えば一対のフリップフロップの間にＭ段の回路セルが含まれる信号パスに分解できる。その場合、回路セルは、一般にインバータ、ＮＡＮＤ又はＮＯＲ等の論理回路素子からなる。また、これらのインバータ等からなるＭ段の回路セルは、配線を介して信号パスとして接続されている。このような論理回路を設計する際には、信号パスによって接続されたＭ段の回路セルを信号が伝搬することによって生じる信号伝搬遅延時間（以下、遅延時間と略する）が、論理回路に入力されるクロック信号のサイクルタイム（多くの場合、動作周波数若しくはクロック周波数の逆数、又はそれらの整数倍の周期である）に基づいて決まる所定の時間内に収まっていることが要求される。すなわち、下記式（４）
ｔcycle≧Σｔi＋ｔothers                                      （４）
に示す通りである。ただし、式（４）において、ｔcycleは論理回路を設計する際に要求される遅延時間の上限を表し、ｔiはＭ段の回路セルのうちのｉ段目の回路セルに入力された信号が出力されるまでに遅延する時間（遅延時間）を表し、Σｔiは一対のフリップフロップの間の各回路セルによって生じる信号伝搬遅延時間ｔiの総和を表し、ｔothersは一対のフリップフロップのセットアップ時間及びクロック信号のスキュー等の総和を表す。
【００７１】
一般に、設計マージンは、上記の上限遅延時間ｔcycleを考慮に入れて設定されるため、下記式（５）
ｔworst＝ｔtyp×Ｐworst×Ｖworst×Ｔworst                      （５）
に示すような、信号の伝搬を遅延させる種々の遅延変動要因をそれぞれ係数化したディレイティングファクター（ｄｅｒａｔｉｎｇ  ｆａｃｔｏｒ）と呼ばれる係数（Ｐ、Ｖ、Ｔ）を考慮して定められる。ただし、式（４）において、ｔworstは遅延時間Σｔiの最悪値を、ｔtypは遅延時間Σｔiの標準値を、Ｐは製造ばらつきを遅延変動要因として係数化されたディレイティングファクターを、Ｖは電源電圧幅を遅延変動要因として係数化されたディレイティングファクターを、Ｔは温度幅を遅延変動要因として係数化されたディレイティングファクターをそれぞれ表している。
【００７２】
このようなディレイティングファクターを用いれば、まず、遅延時間Σｔiの標準値ｔtypを求めておき、その後、この標準値ｔtypに各ディレイティングファクタの最悪値を掛け合わせたものを、最悪条件下における遅延時間の最悪値として簡易的に見積もることができる。
【００７３】
本実施形態では、回路ネットリスト１０９には、信号パス回路４０１を記述するのに必要な情報が格納されている。そして、第１の実施形態と同様に、信号パス回路４０１に対して、２種類の製造ばらつき成分を与えて回路シミュレーションを実施する。このとき、回路特性としては、信号パス回路４０１の入出力間（入力部４０３と出力部４０４との間）の信号伝搬遅延を測定しておく。すると、回路シミュレーション結果１１４には、遅延分布が得られる。ここでは、得られた遅延の分布の平均値をμtpd、標準偏差をσtpdとする。
【００７４】
−信号パス遅延ばらつき評価工程−
信号パス遅延ばらつき評価手段３０１は、回路シミュレーション結果１１４から、信号パス回路４０１の信号伝搬遅延のばらつきσtpd/μtpdを求める。
【００７５】
図１１は、回路セル４０２が５段接続されている場合（つまりＭ＝５の場合）における信号伝搬遅延のばらつきを信号パス回路４０１上の回路セル４０２に沿ってプロットした結果を示す図である。本実施形態の方法では、信号伝搬遅延のばらつきは、図１１の曲線Ｌ２に示すようになる。チップ内ばらつきは、信号パス中のトランジスタ個々にランダムなばらつきを与える。このため、チップ内ばらつきの信号伝搬遅延への影響は、信号がパスに沿って回路セルを伝わっていくにつれ平均化されていき、その結果減少していくことになる。ここで、σtpd/μtpd値は段数とともに減少し、出力部４０４での値はＢＢとなる。一方、従来のチップ外製造ばらつきのみを１つの分布で与えた場合には、図１１の曲線Ｌ１のように、σtpd/μtpd値は回路セル段数によらずほぼ一定（ＡＡ）となる。これは、従来１つの分布を仮定して、それが回路全体に一様に作用する回路シミュレーションであったためである。信号パスが種々の回路セルから構成されている場合、図１１の２曲線は、多少凹凸を示すが、概ねの傾向はここで説明したとおりである。
【００７６】
また、図１１に示すように、回路セル段数の１段目においては２つの曲線Ｌ１及びＬ２が同じＡＡ点を通っている。その理由は次の通りである。すなわち、本実施形態では、信号パス回路４０１が複数の同じインバータ回路セル４０２から構成されていると共に、インバータ回路セル４０２として、例えば図２に示す回路セル２０３又は２０６のような単純な回路セルを想定している。このため、回路セル段数の１段目においてはチップ内ばらつき成分の平均化は起こらず、２つの曲線Ｌ１及びＬ２が同じＡＡ点を通る。しかしながら、チップ内ばらつき成分の平均化を起こす要因、例えばトランジスタの直列回路等を含む回路セルによって信号パス回路が構成されている場合には、回路セル段数の１段目においてもチップ内ばらつき成分の平均化が生じ、その結果、回路セル段数の１段目において曲線Ｌ２の値がＡＡ点より小さくなる。
【００７７】
信号パス遅延ばらつき評価手段３０１は、求めたＢＢ値から、前述の製造ばらつきを遅延変動要因として係数化されたディレイティングファクターＰを求める。ディレイティングファクターＰは、下記式（６）
Ｐ＝ｔpd-worst／ｔpd-typ＝（μtpd＋３σtpd）／μtpd＝１＋３ＢＢ    （６）
で定義される。
【００７８】
信号パス遅延ばらつき評価手段３０１は、このようにして求めたディレイティングファクターＰを製造ばらつきに起因する設計マージン３０２として出力する。それに対し、従来の手法であれば、下記式（７）
Ｐ＝１＋３ＡＡ                                                （７）
のようになり、過剰な設計マージンを設定せざるをえなかった。
【００７９】
このように、本実施形態では、挙動が相異なる複数の製造ばらつき成分をそれぞれ独立して表現し、回路ネットリストに成分毎に選択的に与えることから、現実の製造ばらつきを反映した回路シミュレーションが可能になる。さらに、その結果を用いて、より現実に即した設計マージンの設定も可能になる。
【００８０】
なお、本実施形態は本発明を適用するための一例を示したものにすぎず、本発明は実際にはさまざまな実施形態をとりうる。例えば、式（６）においては３σtpdを用いているが、この範囲は任意に選んでもよい。また、ＢＢ値を用いた設計マージンの設定方法は、式（６）を用いる方法に限定されるものではない。
【００８１】
本実施形態では、単純な信号パス回路４０１を用いたが、設計マージンを求める際には、より複雑な実際のＬＳＩの中からクリティカルパスなどを信号パス回路として採用してもよい。また、１本の信号パスだけの評価で設計マージンを決定するだけでなく、複数の信号パスの回路シミュレーションを本実施形態の方法で実施し、その結果から最もＢＢ値が大きいものを採用するなどにより、設計マージンを総合的に決定するようにしてもよい。
【００８２】
また、信号パスに段数の少ないものを用いて回路シミュレーションを行い、その結果から任意の段数に外挿または内挿するのでもよい。
【００８３】
（第３の実施形態）
次に、本発明の第３の実施形態に係る製造ばらつきを考慮した回路シミュレーション装置について図面を参照しながら説明する。なお、本実施形態においても、ＣＭＩＳトランジスタの製造ばらつきを扱う。また、本実施形態においても、図９に示す回路シミュレーション装置を用いる。
【００８４】
本実施形態においては、第２の実施形態と異なり、対象とする回路が、複数の信号パスを含む回路となっている。
【００８５】
図１２は、本実施形態で用いる回路の例を示すブロック回路図である。ここでは、１つの入力部４１１に対し、２つの出力部４１２，４１３を有する２つの信号パスを含む回路４１０となっている。
【００８６】
本実施形態においては、回路４１０に対応した回路ネットリスト１０９（図９参照）が用意されているとして、第２の実施形態と同様の処理を行い、回路シミュレーションを実施する。２つの信号パスがあるので、２つの信号伝搬遅延が定義できる。すなわち、入力部４１１から出力部４１２までの信号伝搬遅延tpd1と、入力端子部４１１から出力部４１３までの信号伝搬遅延tpd2である。また、本実施形態では、回路シミュレーション時に、下記式（８）
Δｔ＝ｔpd1−ｔpd2                                          （８）
で与えられるこれらの遅延の差分(スキュー)Δｔも測定する。
【００８７】
本実施形態においては、回路シミュレーション結果１１４には、２つの信号パスの信号伝搬遅延の分布に加えて、この遅延差分Δｔの分布も格納されている。その分布の例えば３σ幅をもって設計マージンと設定する。
【００８８】
一般的に、設計マージンには、クロックスキューなどの遅延の差分に関する許容幅も設定されている。本実施形態を用いると、実際の製造ばらつきの挙動を精度よく反映した回路シミュレーションを行なうことができ、信号パス間の遅延差分に対する設計マージンを決定するための材料も提供できる。
【産業上の利用可能性】
【００８９】
本発明は、ＣＭＯＳデバイスなどを配置したＬＳＩの開発などの際に、製造ばらつきを考慮した回路シミュレーションを行なう方法、又は回路シミュレータとして利用することができる。
【図面の簡単な説明】
【００９０】
【図１】本発明の第１の実施形態に係る製造ばらつきを考慮した回路シミュレーション装置を示す図である。
【図２】第１の実施形態の回路シミュレーションが適用されるＣＭＯＳ回路の例を示す回路図である。
【図３】第１の実施形態に係る製造ばらつきを考慮した回路シミュレーション装置によるシミュレーション方法を示す図である。
【図４】（ａ），（ｂ）は、本実施形態におけるばらつかせる前の２個の回路の回路ネットリストの記述例、ばらつかせるためにゲート長を被変動変数として２種類のばらつき成分を加えた回路ネットリストの記述例をそれぞれ示す図である。
【図５】図３に示す製造ばらつき量算出工程と回路シミュレーション工程におけるより詳細な手順を示すフローチャートである。
【図６】第１の実施形態において生成した乱数セットと、算出した製造ばらつき量とを表にして示す図である。
【図７】乱数を用いた場合の回路ネットリストの記述例を示す図である。
【図８】（ａ），（ｂ）は、複数の無相関乱数を生成する場合、乱数間に関係を持たせて相関乱数を生成する場合をそれぞれ示す図である。
【図９】第２の実施形態に係る製造ばらつきを考慮した回路シミュレーション装置を示す図である。
【図１０】第２の実施形態におけるインバータ回路からなる信号パス回路の構成を示すブロック回路図である。
【図１１】第２の実施形態における信号伝搬遅延のばらつきを信号パス回路上の回路セルに沿ってプロットした結果を示す図である。
【図１２】第３の実施形態で用いる回路の例を示すブロック回路図である。
【図１３】（ａ）〜（ｃ）は、一般的なＭＩＳトランジスタのゲート長，ドレイン電流及び回路中の信号伝搬遅延の管理上の範囲と、製造時におけるそれらの分布との関係を示す図である。
【図１４】（ａ），（ｂ）は、従来の方法における，ばらつかせる前の２個のＭＩＳトランジスタの回路ネットリストの記述例、ばらつかせるためにゲート長を被変動変数としてばらつき成分deltaLを加えた回路ネットリストの記述例をそれぞれ示す図である。
【図１５】（ａ），（ｂ）は、一般に、チップ単位にチップ外ばらつき成分のみがあるとした場合のばらつき、チップ内ばらつき成分とチップ外ばらつき成分とがあるとした場合のばらつきをそれぞれ説明する図である。
【符号の説明】
【００９１】
１０１    製造ばらつき成分変数化手段
１０２    製造ばらつき量算出手段
１０３    乱数生成手段
１０４    回路シミュレーション手段
１０５    製造ばらつき情報
１０６    チップ外ばらつき成分
１０７    チップ内ばらつき成分
１０８    入力情報
１０９    回路ネットリスト
１１０    パラメータ
１１１    モデル
１１２    変数化後入力情報
１１３    製造ばらつき量反映後入力情報
１１４    回路シミュレーション結果
２０１    チップ
２０３，２０６    回路セル
２０４，２０７    ＰＭＩＳトランジスタ
２０５，２０８    ＮＭＩＳトランジスタ
３０１    信号パス遅延ばらつき評価手段
３０２    設計マージン
４０１    信号パス回路
４０２    回路セル
４０３，４１１    入力部
４０４，４１２，４１３    出力部
Ｓ１１    製造ばらつき成分変数化工程
Ｓ１２    製造ばらつき量算出工程
Ｓ１３    回路シミュレーション工程
【図１】
2005259107.tif 000003
【図２】
2005259107.tif 000004
【図３】
2005259107.tif 000005
【図４】
2005259107.tif 000006
【図５】
2005259107.tif 000007
【図６】
2005259107.tif 000008
【図７】
2005259107.tif 000009
【図８】
2005259107.tif 000010
【図９】
2005259107.tif 000011
【図１０】
2005259107.tif 000012
【図１１】
2005259107.tif 000013
【図１２】
2005259107.tif 000014
【図１３】
2005259107.tif 000015
【図１４】
2005259107.tif 000016
【図１５】
2005259107.tif 000017