(57)【要約】  本発明に係る最悪条件決定システム１００は、回路性能指標を模擬するモデル関数に含まれる１または２以上のパラメータを確率変数とすることによって前記回路性能指標とそのばらつきを模擬するモデルにおいて前記回路性能指標が設計上想定すべき最大値または最小値をとる場合の前記パラメータを最悪条件として決定する。最悪条件決定システム１００は、前記パラメータが張る空間内における所定の良品率に対応する等確率面上または前記等確率面で囲まれる領域内において前記回路性能指標が最大値または最小値をとる点を探索して前記最悪条件とする最悪条件探索手段１１１を備える。
2008102681.tif 000002
【特許請求の範囲】
【請求項１】
回路性能指標を模擬するモデル関数に含まれる１または２以上のパラメータを確率変数とすることによって前記回路性能指標とそのばらつきを模擬するモデルにおいて前記回路性能指標が設計上想定すべき最大値または最小値をとる場合の前記パラメータを最悪条件として決定する最悪条件決定システムであって、
前記パラメータが張る空間内における所定の良品率に対応する等確率面上または前記等確率面で囲まれる領域内において前記回路性能指標が最大値または最小値をとる点を探索して前記最悪条件とする最悪条件探索手段を備えたことを特徴とする最悪条件決定システム。
【請求項２】
前記最悪条件探索手段における前記良品率を指定する情報を入力する入力手段と、
前記モデル関数に基づいて前記回路性能指標を計算する性能指標計算手段と、
前記最悪条件探索手段において求めた前記最悪条件を出力する出力手段と、を備えたことを特徴とする、請求項１に記載の最悪条件決定システム。
【請求項３】
前記等確率面が、超楕円体面、楕円体面または楕円弧のいずれかであることを特徴とする、請求項１または２に記載の最悪条件決定システム。
【請求項４】
前記出力手段が、前記最悪条件探索手段において求めた前記最悪条件が前記等確率面の内側に存在したことをさらに出力するように構成されたことを特徴とする、請求項２に記載の最悪条件決定システム。
【請求項５】
前記モデル関数が、回路シミュレーションによって計算されることを特徴とする、請求項１または２に記載の最悪条件決定システム。
【請求項６】
前記モデル関数が、応答曲面関数であることを特徴とする、請求項１または２に記載の最悪条件決定システム。
【請求項７】
性能指標を与えるモデル関数と該モデル関数の変数に対する確率密度関数とが与えられた場合において、該モデル関数の等値面によって分割された定義域のうち性能指標が良い側について該確率密度関数を積分して得た値が所定の値となるようにするときの、該等値面上の最も生起確率が高い点を最悪条件として決定する最悪条件決定システムであって、
前記確率密度関数の等確率面によって分割された定義域のうち前記性能指標が良い側について前記確率密度関数を積分して得た値が前記所定値となる等確率面を決定し、該等確率面又は該等確率面によって囲まれる領域内において前記性能指標が最大又は最小となる点を探索して前記最悪条件とするように構成された最悪条件探索手段を備えることを特徴とする最悪条件決定システム。
【請求項８】
回路性能指標を模擬するモデル関数に含まれる１または２以上のパラメータを確率変数とすることによって前記回路性能指標とそのばらつきを模擬するモデルにおいて前記回路性能指標が設計上想定すべき最大値または最小値をとる場合の前記パラメータを最悪条件として決定する最悪条件決定方法であって、
前記パラメータが張る空間内における所定の良品率に対応する等確率面を決定する工程と、
前記等確率面上または前記等確率面で囲まれる領域内において前記回路性能指標が最大値または最小値をとる点を探索して前記最悪条件とする工程と、を含むことを特徴とする最悪条件決定方法。
【請求項９】
回路性能指標を模擬するモデル関数に含まれる１または２以上のパラメータを確率変数とすることによって前記回路性能指標とそのばらつきを模擬するモデルにおいて前記回路性能指標が設計上想定すべき最大値または最小値をとる場合の前記パラメータを最悪条件として決定する処理をコンピュータに実行させる最悪条件決定プログラムであって、
前記パラメータが張る空間内における所定の良品率に対応する等確率面を決定する処理と、
前記等確率面上または前記等確率面で囲まれる領域内において前記回路性能指標が最大値または最小値をとる点を探索して前記最悪条件とする処理と、をコンピュータに実行させることを特徴とする最悪条件決定プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
（関連出願についての記載）
本願は、先の日本特許出願２００７−０３７９５４号（２００７年２月１９日出願）の優先権を主張するものであり、前記先の出願の全記載内容は、本書に引用をもって繰込み記載されているものとみなされる。
本発明は、回路動作の最悪条件決定システム、方法およびプログラムに関し、特に、集積回路装置の構成要素の特性が統計的にばらつく場合において、集積回路装置の設計上必要とされる最悪条件を導出するための最悪条件決定方法、システムおよびプログラムに関する。
【背景技術】
【０００２】
集積回路の設計において、回路シミュレーションが用いられる。回路シミュレーションにおいては、回路を構成するトランジスタなどのデバイス特性（電流対電圧特性、容量対電圧特性など）が比較的簡潔なモデル式で表現されており、これを用いることで複雑な回路であっても比較的短時間でシミュレーションを実行することができる。集積回路の設計においては、デバイス特性の統計的ばらつきを考慮し、デバイス特性がある程度統計的に典型的値からずれたとしても、回路が正常に動作するように設計しなければならない。【０００３】
デバイス特性のばらつきを考慮する方法として、最悪条件を考慮する方法が一般的に採用される。例えば、ＭＯＳトランジスタのしきい値Ｖｔｈが、製造上の不確実性によりＶｔｈ１〜Ｖｔｈ２の範囲でばらつくものと想定する。このとき、Ｖｔｈが最低のＶｔｈ１となったときのトランジスタのモデル（以下「Ｆａｓｔモデル」という。）と、Ｖｔｈが最高のＶｔｈ２となったときのトランジスタのモデル（以下「Ｓｌｏｗモデル」という。）と、のいずれのモデルを用いても回路が正常に動作すれば、回路が正しく設計されたものと判断する。最悪条件が明確である場合には、それらの条件においてのみ回路動作を確認すれば足りるため、他の多くの条件で回路が動作するかを確認する必要がなくなる。【０００４】
特に、ばらつきの主な原因が製造装置の不均一に起因する場合、集積回路内に含まれるすべてのトランジスタの特性は同じ方向にずれる。この場合には、全トランジスタがＳｌｏｗモデルになった場合および全トランジスタがＦａｓｔモデルになった場合を最悪条件とみなすことができる。また、ＦａｓｔモデルとＳｌｏｗモデルの決定も容易である。なぜなら、集積回路内の全トランジスタを代表して１個のトランジスタの特性（例えば、しきい値Ｖｔｈ）のばらつきに着目し、その値が十分高い確率で収まる範囲の境界をＦａｓｔ条件とＳｌｏｗ条件とすれば良いからである。【０００５】
しかし、近年のトランジスタの微細化により、複数のトランジスタの特性が一斉に同じ方向にばらつくのではなく、個々のトランジスタの特性がランダムにばらつく傾向が強くなってきた。ランダムばらつきがある場合、最悪条件の決定が難しくなる。例えば、ある回路にＮ個のトランジスタが含まれる場合において、各トランジスタのしきい値Ｖｔｈがランダムにばらつくものとする。各トランジスタはばらばらなＶｔｈずれを起こす可能性がある。したがって、ある特性値が最悪となる場合における、Ｖｔｈずれは、Ｎ個のトランジスタそれぞれにおいて互いに異なる値を示し得る。この場合、非常に多くの可能性があるＶｔｈずれの組み合わせの中から、正しい最悪条件を見つけ出す方法が必要となる。さらに、最悪条件は回路の種類によっても異なる。【０００６】
ランダムなばらつきがある場合において、最悪条件を見つけ出す方法として、モンテカルロ法が知られている。例えば、上述の例において、Ｎ個のトランジスタのＶｔｈをそれぞれ所定の確率分布関数に従ってランダムに設定し、そのときの回路特性値を計算する。このような確率的試行を十分多数回繰り返し、得られる回路特性値の分布を調べる。その分布を正規分布とみなして標準偏差σを求め、例えば、平均から３σ程度ずれた特性値を生じさせた試行条件を最悪条件として採用する。【０００７】
特許文献１には、複数の回路性能指標の組を考え、それらを最も大きく変化させるプロセス・パラメータの組み合わせを最悪条件と定義し、これを性能指標のパラメータに対する感度解析によって決定する方法が記載されている。【０００８】
特許文献２および非特許文献１には、モンテカルロ法を用いることなく、回路の歩留りを最大化する、回路定数を自動的に探索する方法が記載されている。【０００９】
【特許文献１】特開２００１−１９５４４５号公報
【特許文献２】特開平６−１３９３０３号公報
【非特許文献１】K. K. Low他、"A New Methodology for the Design Centering of IC Fabrication Processes"、IEEE Transactions on Computer-Aided Design、 第10巻 （1991年）
【発明の開示】
【発明が解決しようとする課題】
【００１０】
以上の特許文献１、２、非特許文献１の開示事項は、本書に引用をもって繰り込み記載されているものとする。以下に本発明による関連技術の分析を与える。
ランダムなばらつきがある場合の最悪条件の算出方法としてモンテカルロ法が知られている。しかし、この方法に基づいて最悪条件を決定するためには多数回の試行が必要とされるという問題がある。仮に、得られる特性値の分布が正規分布であるとすると、その標準偏差σを精度良く求めるために、少なくとも３００回程度の試行を行うことが望ましい。なぜなら、モンテカルロ法は確率的な方法であるため、試した結果が偏りを持っている可能性がある。偏りが十分小さいことを保障するには試行の回数を増やさなければならないため、計算に長い時間を要する。【００１１】
特に、回路特性値の確率変数に対する応答が非線形である場合は問題が深刻となる。この場合、仮にモンテカルロ計算で変化させるパラメータが正規分布であっても、回路特性値は正規分布以外の分布になるため、単にσを導出するだけでは最悪条件を導出できず、より多数回の計算が必要になる。例えばメモリ・セルの回路を考える。メモリ・セルは非常に多数個（例えば百万個）が集積されるため、メモリ・セルの総体が良品となるためには、個々のメモリ・セルの良品率は極めて高く（例えば０．１ｐｐｍ）なければならない。このような良品率に応じた最悪条件を決定するためには、非常に発生頻度が低い事象が試行に含まれるようにするため、極めて多数回（例えば、発生確率０．１ｐｐｍの事象を１００回発生させる場合は、１０億回）の試行が必要である。しかしながら、このような回数の試行を、設計現場において実施することは現実的ではないため、モンテカルロ法には限界がある。【００１２】
特許文献１において、モンテカルロ法によらず、感度解析によって性能指標を顕著に変化させるパラメータ・ベクトル（パラメータの組を要素とするベクトル）の向きを求める方法が開示されている。しかし、最悪条件は、以下で説明するように、所望の良品率に応じて（すなわち、良品率の関数として）決定されることが好ましい。特許文献１には、所望の良品率とパラメータのベクトルとを対応づける方法については開示されていない。また、感度解析は線形近似に基づくものであるため、性能指標とパラメータとの関係が非線形である場合において十分な精度が得られない可能性もある。【００１３】
特許文献２および非特許文献１において、モンテカルロ法によらず、集積回路の性能指標に対する複数の制約条件のすべてを満足する確率が最大となる設計条件を自動的に探索する方法が開示されている。しかし、それらの制約条件を決定するための指針については開示されていない。特に、歩留りが所望の値となるような制約条件を決定する手法については開示されていない。【００１４】
したがって、回路に含まれるデバイス特性にランダムなばらつきがある場合において、所望の良品率に対応した最悪条件を、モンテカルロ法と比較して、短い時間で決定する最悪条件決定手段を提供することが課題となる。
【課題を解決するための手段】
【００１５】
本発明の第１の視点に係る最悪条件決定システムは、回路性能指標を模擬するモデル関数に含まれる１または２以上のパラメータを確率変数とすることによって前記回路性能指標とそのばらつきを模擬するモデルにおいて前記回路性能指標が設計上想定すべき最大値または最小値をとる場合の前記パラメータを最悪条件として決定する最悪条件決定システムであって、前記パラメータが張る空間内における所定の良品率に対応する等確率面上または前記等確率面で囲まれる領域内において前記回路性能指標が最大値または最小値をとる点を探索して前記最悪条件とする最悪条件探索手段を備えたことを特徴とする。【００１６】
本発明の第１の展開形態に係る最悪条件決定システムは、前記最悪条件探索手段における前記良品率を指定する情報を入力する入力手段と、前記モデル関数に基づいて前記回路性能指標を計算する性能指標計算手段と、前記最悪条件探索手段において求めた前記最悪条件を出力する出力手段と、を備えたことを特徴とする。【００１７】
本発明の第２の視点に係る最悪条件決定システムは、性能指標を与えるモデル関数と該モデル関数の変数に対する確率密度関数とが与えられた場合において、該モデル関数の等値面によって分割された定義域のうち性能指標が良い側について該確率密度関数を積分して得た値が所定の値となるようにするときの、該等値面上の最も生起確率が高い点を最悪条件として決定する最悪条件決定システムであって、
前記確率密度関数の等確率面によって分割された定義域のうち前記性能指標が良い側について前記確率密度関数を積分して得た値が前記所定値となる等確率面を決定し、該等確率面又は該等確率面によって囲まれる領域内において前記性能指標が最大又は最小となる点を探索して前記最悪条件とするように構成された最悪条件探索手段を備えることを特徴とする。【００１８】
本発明の第３の視点に係る最悪条件決定方法は、回路性能指標を模擬するモデル関数に含まれる１または２以上のパラメータを確率変数とすることによって前記回路性能指標とそのばらつきを模擬するモデルにおいて前記回路性能指標が設計上想定すべき最大値または最小値をとる場合の前記パラメータを最悪条件として決定する最悪条件決定方法であって、前記パラメータが張る空間内における所定の良品率に対応する等確率面を決定する工程と、前記等確率面上または前記等確率面で囲まれる領域内において前記回路性能指標が最大値または最小値をとる点を探索して前記最悪条件とする工程と、を含むことを特徴とする。【００１９】
本発明の第４の視点に係る最悪条件決定プログラムは、回路性能指標を模擬するモデル関数に含まれる１または２以上のパラメータを確率変数とすることによって前記回路性能指標とそのばらつきを模擬するモデルにおいて前記回路性能指標が設計上想定すべき最大値または最小値をとる場合の前記パラメータを最悪条件として決定する処理をコンピュータに実行させる最悪条件決定プログラムであって、前記パラメータが張る空間内における所定の良品率に対応する等確率面を決定する処理と、前記等確率面上または前記等確率面で囲まれる領域内において前記回路性能指標が最大値または最小値をとる点を探索して前記最悪条件とする処理と、をコンピュータに実行させることを特徴とする。【００２０】
第２の展開形態に係る最悪条件決定システムは、前記等確率面が、超楕円体面、楕円体面または楕円弧のいずれかであることを特徴とする。【００２１】
第３の展開形態に係る最悪条件決定システムは、前記出力手段が、前記最悪条件探索手段において求めた前記最悪条件が前記等確率面の内側に存在したことをさらに出力するように構成されたことを特徴とする。【００２２】
第４の展開形態に係る最悪条件決定システムは、前記モデル関数が、回路シミュレーションによって計算されることを特徴とする。【００２３】
第５の展開形態に係る最悪条件決定システムは、前記モデル関数が、応答曲面関数であることを特徴とする。
【発明の効果】
【００２４】
本発明によれば、ランダムな特性ばらつきがある場合における回路の最悪条件を決定することができる。【００２５】
また、本発明によれば、ランダムな特性ばらつきがある場合において、決定された最悪条件を用いて、所望の良品率が得られる回路設計が実現できているか否かを判定することができる。【００２６】
本発明によれば、回路の最悪条件を決定する問題が制約条件つき極値探索問題に還元されるため、モンテカルロ法と比較して、少ない計算量で高速に最悪条件を決定することができる。
【図面の簡単な説明】
【００２７】
【図１】本発明の実施の形態に係る最悪条件決定システムの構成図である。
【図２】本発明の実施の形態に係る最悪条件決定システムの動作を説明するためのＳＲＡＭの構成図である。
【図３】図２のＳＲＡＭに対する回路シミュレーション結果を示す図である。
【図４】確率変数の変換を説明するための図である。
【図５】最悪性能指標と良品率との関係を示す図である。
【図６】等性能面と良品率の関係を説明するための図である。
【図７】本発明の実施の形態に係る最悪条件決定方法の流れ図である。
【図８】本発明の実施の形態に係る最悪条件決定方法によって得られる、最悪条件の例を示す図である。
【符号の説明】
【００２８】
１００  最悪条件決定システム
１０１  最悪条件決定手段
１０２  入力手段
１０３  出力手段
１１１  最悪条件探索手段
１１２  性能指標計算手段
【発明を実施するための最良の形態】
【００２９】
次に、本発明の実施の形態について、図面を参照して詳細に説明する。【００３０】
図１は、本発明の実施の形態に係る最悪条件決定システム１００の構成図である。最悪条件決定システム１００は、最悪条件決定手段１０１を備えている。【００３１】
最悪条件決定手段１０１は、最悪条件探索手段１１１と性能指標計算手段１１２とを備えている。【００３２】
性能指標計算手段１１２は、回路性能指標とそのばらつきを模擬するモデル、すなわち、そのモデルに含まれる１以上のパラメータを確率変数とみなすことによって前記ばらつきを模擬するモデルを用いて、回路性能指標を計算する。【００３３】
最悪条件探索手段１１１は、性能指標計算手段１１２に確率変数となるパラメータの値の組を入力し、性能指標計算手段１１２は入力に対応した性能指標値を計算して結果を最悪条件探索手段１１１に戻す。最悪条件探索手段１１１は、これを繰り返し行って最悪条件を決定する。すなわち、最悪条件探索手段１１１は性能指標計算手段１１２を利用しつつ探索を実行する。【００３４】
最悪条件決定システム１００は、さらに、入力手段１０２と出力手段１０３とを備えるものであってもよい。【００３５】
入力手段１０２は、前記モデルの構成（回路シミュレーション用の回路構成を記述したネットリスト、回路シミュレーション用トランジスタ・モデルのパラメータなど）、前記モデルの計算条件（電源電圧や入力波形など）、所望の良品率その他の最悪条件の導出条件など、必要な情報を記憶装置上のファイルや入力装置などから取得する。【００３６】
出力手段１０３は、導出結果を記憶装置上のファイルや出力装置などに出力する。【００３７】
本発明の実施の形態に係る最悪条件決定システム１００は、さらに、得られた最悪条件を用いて回路シミュレーションを実行する手段を備えたものであっても良い。また、本発明の実施の形態に係る最悪条件決定システム１００は、さらに、後に説明する応答曲面を導出する手段を備えていても良い。【００３８】
説明を容易にするため具体例に基づいて説明する。図２は一般的なＳＲＡＭ（Ｓｔａｔｉｃ  Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）を構成するメモリ・セルの回路図である。メモリ・セルはドライバ・トランジスタｄ１、ｄ２、アクセス・トランジスタａ１、ａ２、負荷トランジスタｐ１、ｐ２の合計６個のトランジスタから成る（一例として、ドライバ・トランジスタｄ１、ｄ２及びアクセス・トランジスタａ１、ａ２をｎチャネルＭＯＳＦＥＴとするとともに、負荷トランジスタｐ１、ｐ２をｐチャネルＭＯＳＦＥＴとしてもよい。）。ａ１とａ２のゲートｗ１とｗ２は共通のワード線に接続され、アクセス・トランジスタａ１の一方の端子ｂ１は第一のビット線と、アクセス・トランジスタａ２の一方の端子ｂ２は第二のビット線と接続される。また、メモリ・セルは電源ＶｄｄとグランドＧＮＤ（電位はゼロとする。）にも接続される。メモリ・セルの内部ノードｎ１およびｎ２は、いずれか一方が電源電位のとき他方がグランド電位となり、ｎ１とｎ２のいずれが電源電位にあるかによって１と０の情報を記憶する。ここでは、例として、各トランジスタの特性がランダムに（すなわち、無相関に）ばらつくものとしたとき、このメモリ・セルに情報を書き込むスピードが最も遅くなる最悪状態を決定する場合を考える。【００３９】
図３は、図２のＳＲＡＭに情報を書き込む際の信号波形を回路シミュレーションによって計算した結果である。初期状態では内部ノードｎ１の電位は電源電位であり、内部ノードｎ２の電位がゼロである（これを１書き込み状態と定義する）。この状態を反転させて０を書き込むためには、まず、端子ｂ１をゼロ電位に、端子ｂ２を電源電位とする。次にワード線電位（すなわちｗ１とｗ２の電位）をゼロ電位から電源電位まで高めて、アクセス・トランジスタａ１とａ２を導通させる。これにより内部ノードｎ１の電位が下がってゼロに達し、内部ノードｎ２の電位が上がって電源電位に達する。この動作に対して書き込みに要する時間Ｔを定義することができる。例えば図３のように、ワード線電位が電源電圧の１／２となった時刻から、内部ノードｎ２の電位が電源電圧の９５％に達した時間、などと定義できる。本例では、図３に示すＴが回路性能指標となる。【００４０】
図２のＳＲＡＭを構成する各トランジスタの特性は、回路シミュレーション用トランジスタ・モデルとしてモデル化される。回路シミュレーション用モデルは簡潔な数式でトランジスタなどデバイスの電流対電圧特性や容量対電圧特性を記述するものであり、通常コンパクト・モデルと称されている。代表的なコンパクト・モデルの例としてＢＳＩＭが挙げられる。コンパクト・モデルのモデル式には調整可能な定数（通常は複数個の定数）が含まれており、これらはパラメータと呼ばれ、それらの値はモデル式による特性が実際のデバイスの特性と一致するように調整されている。この調整作業はパラメータ抽出と呼ばれる。このようなコンパクト・モデルを用いて回路シミュレーションを行うと、図３のような波形の計算が可能となり、回路性能指標Ｔを算出することができる。【００４１】
コンパクト・モデルは、通常、ばらつきを含まないデバイスの特性をモデル化するために用いられる。しかし、コンパクト・モデルは、個々のデバイス特性のばらつき、または、特性のばらついたデバイスを備えた回路特性のばらつきをモデル化するために用いることもできる。【００４２】
図２に示すような６個のトランジスタを含むＳＲＡＭの回路特性が、これらのトランジスタ特性のばらつきに起因して、ばらつく現象をモデル化するには、次のようにすれば良い。まず、トランジスタのコンパクト・モデルに含まれるいずれかのパラメータ（１個以上）を確率変数とみなし、そのばらつき方を規定する。ここでは簡単かつ実用的な例として、トランジスタのしきい値に対応するＶｔｈ０と呼ばれるＢＳＩＭのパラメータのみを確率変数とみなす。また、ＳＲＡＭに含まれる６個のトランジスタ夫々の特性は独立にばらつくものとする。そのため、各々のトランジスタに対応するＶｔｈ０は独立に変化させる必要がある。そこで、トランジスタｄ１、ｄ２、ａ１、ａ２、ｐ１、ｐ２それぞれに対するＶｔｈ０（以下Ｖｔｈ０＿１、Ｖｔｈ０＿２、Ｖｔｈ０＿３、Ｖｔｈ０＿４、Ｖｔｈ０＿５、Ｖｔｈ０＿６とする。）をすべて独立の確率変数とみなす。これら６個の確率変数は、例えば、所定の中央値および所定の標準偏差の正規分布に基づいて無相関に分布するものとする。ここで、所定の標準偏差値は、コンパクト・モデルによるデバイス特性の計算結果が、現実のデバイス特性のばらつきを再現するような適切な値に設定する。例えば、ｖｔｈ０の標準偏差は、実測されたトランジスタのしきい値の標準偏差と等しい値とする。【００４３】
以上のように、コンパクト・モデル内のパラメータのいずれかを確率変数とみなし、その分布の仕方を規定することで、回路性能指標のばらつきのモデル化が可能となる。なぜなら、回路性能指標は回路シミュレーションによって計算できるため、回路性能指標はコンパクト・モデルのパラメータの関数となり、確率変数とみなすパラメータのばらつき方が規定されれば、かかる関数を介して回路性能指標のばらつき方も規定されるからである。【００４４】
このようなモデルに基づいて現実の回路を正確に模擬するためには、コンパクト・モデルによるデバイス特性のばらつき方が現実のデバイス特性のばらつき方を再現するように、パラメータのばらつき方を規定する必要がある。パラメータのばらつき方が適切に規定された場合には、回路シミュレーションによって計算される回路性能指標のばらつき方も現実の回路を模擬することとなる。【００４５】
以上の例においては、コンパクト・モデルと、コンパクト・モデル内の１以上の確率変数とみなすパラメータのばらつき方を規定することによって、回路性能指標とそのばらつきを模擬するモデルが規定されている。モデル関数はコンパクト・モデルを用いた回路シミュレーションによって計算される。このとき、性能指標計算手段１１２は、コンパクト・モデルおよび当該モデルに基づく回路シミュレーションを実施するように構成される。【００４６】
回路性能指標とそのばらつき方のモデルは一般に次式で表現することができる。
Ｘ＝ｆ（ｘ１、ｘ２、…）      （１）【００４７】
ここで、Ｘは回路性能指標、｛ｘ１、ｘ２、…｝は確率変数とみなされるパラメータである。ｆは両者を関係付ける関数（本明細書では「モデル関数」と呼ぶ。）であって、Ｘを計算する所定の計算手段によって規定される関数である。確率変数は夫々ばらつき方（分布関数や変数間の相関）が規定されている。上述の例においては、｛Ｖｔｈ０＿１、Ｖｔｈ０＿２、…｝を確率変数｛ｘ１、ｘ２、…｝とみなすことができる。そして、モデル関数ｆはコンパクト・モデルに基づく回路シミュレーションによって計算される。【００４８】
なお、回路シミュレーションを用いる場合であっても、｛ｘ１、ｘ２、…｝は必ずしもコンパクト・モデルのパラメータそのものである必要はない。すなわち、あるパラメータの組を｛ｐ１、ｐ２、…｝としたとき
ｐ１＝ｇ１（ｘ１、ｘ２、…）、ｐ２＝ｇ２（ｘ１、ｘ２、…）      （２）
のように、パラメータの組が他のパラメータの組｛ｘ１、ｘ２、…｝の関数として表され、確率変数｛ｘ１、ｘ２、…｝のばらつき方が規定され、さらに性能指標Ｘが｛ｐ１、ｐ２、…｝の関数として次式のように与えられていても良い。
Ｘ＝ｈ（ｐ１、ｐ２、…）      （３）【００４９】
式（２）と（３）とを組み合わせると、式（１）に帰着する。例えば｛ｐ１、ｐ２、…｝をコンパクト・モデルのパラメータとし、回路シミュレーションにより関数ｈを計算し、式（２）は他の適当な手段で計算するようにしても良い。式（２）のようなパラメータの変換により、ばらつきの表現の仕方の自由度が増すため、ばらつきモデルの精度を向上し得る。また、式（２）の変換により、確率変数｛ｘ１、ｘ２、…｝を計算に都合のよい変数に変換することもできる。例えば、
ｐ１＝（ｐ１の標準偏差）・｛ｘ１＋（ｐ１の期待値））      （４）
のように、確率変数ｘ１を定義すると、ｘ１の期待値はゼロ、標準偏差は１となり、数値計算上都合がよい。【００５０】
また、｛ｐ１、ｐ２、…｝が互いに相関を有しつつ、ばらつくような場合、式（２）の変数変換として、適当な行列変換式
2008102681.tif 000003
を用いることで、｛ｐ１、ｐ２、…｝を互いに無相関な確率変数｛ｘ１、ｘ２、…｝の関数として表現することが好ましい。多変量解析の手法として広く知られた主成分分析法を用いると、｛ｐ１、ｐ２、…｝が所定の相関を持つように式（５）の変換行列を決定することができる。【００５１】
上述のＳＲＡＭの例においては、｛Ｖｔｈ０＿１、Ｖｔｈ０＿２、…｝は互いに無相関とみなしたため、これらをそのまま｛ｘ１、ｘ２、…｝とすれば無相関な確率変数となる。しかし、場合によってはコンパクト・モデルのパラメータ間に相関を持たせる必要がある。このような場合であっても、式（５）を適切に選択すれば、｛ｘ１、ｘ２、…｝を互いに無相関な確率変数とすることができる。なお、式（５）は正方行列である必要はないものの、通常、ｎはｍ以下とする。【００５２】
式（２）と（３）とから、｛ｐ１、ｐ２、…｝を消去すれば式（１）に帰着するため、式（１）は、式（２）と式（３）とによって表現される場合を含む一般的な式である。本実施形態においては、回路性能指標が式（１）の形にモデル化されていると想定する。【００５３】
式（１）におけるモデル関数ｆは、上記の例のようにコンパクト・モデルと回路シミュレーションとに基づいて規定してもよいが、確率変数｛ｘ１、ｘ２、…｝の関数として回路性能指標Ｘを算出できる限りにおいて、いかなる手段によって規定してもよい。例えば、コンパクト・モデルよりもさらに簡単な解析モデル式、デバイス・シミュレーションのようにコンパクト・モデルよりさらに詳細な物理を模擬するモデルを実装したシミュレーション手段、又は、後述する応答曲面関数のような近似式等によって規定してもよい。従って、ｆの表現形態は、１または２以上の陽関数、１または２以上の陰関数、または以上の任意の組み合わせであって良い。パラメータ｛ｘ１、ｘ２、…｝はコンパクト・モデルのパラメータや上述の変数変換によるパラメータに限られない。すなわち、パラメータはデバイスの寸法や不純物の濃度などの物理量、温度や加熱時間など製造プロセスの条件、またはＭＯＳＦＥＴのしきい値などの電気的な特性値であっても良いし、単に、ばらつきを定量的に表現するための便宜的なパラメータであっても良い。【００５４】
式（４）および（５）の変換は組み合わせることができるため、確率変数｛ｘ１、ｘ２、…｝に含まれるすべての変数の期待値をゼロ、標準偏差を１とし、かつ、互いに無相関とすることができる。従って、仮に、確率変数｛ｘ１、ｘ２、…｝のすべての変数の期待値をゼロ、標準偏差を１とし、かつ、互いに無相関とみなした場合に議論を限定しても一般性は失われない。このような条件を満たす確率変数｛ｘ１、ｘ２、…｝を「規格化された確率変数」と呼ぶ。【００５５】
自然現象を式（３）によってモデル化した場合、パラメータ｛ｐ１、ｐ２、…｝は多くの場合、正規分布で近似することができる。ただし、通常、パラメータ｛ｐ１、ｐ２、…｝は互いに相関を有しており、またそのばらつきの大きさ（標準偏差）は一様でない。パラメータ｛ｐ１、ｐ２、…｝の値の特定の組み合わせが生起する確率を表現する確率密度関数Ｑ（ｐ１、ｐ２、…）を考える。さらに、関数Ｑが特定の値をとる等確率面を考えると、それは図４左側のような楕円形（一般に、高次元の場合は超楕円体面）となる。なお、図４には、作図が容易なように特にパラメータ数｛ｐ１、ｐ２｝の数が２個である、２次元の場合を図示したが、以下の説明においては、多次元の場合を扱う（例えば、上述のＳＲＡＭの例におけるパラメータ空間の次元は６次元である。）。【００５６】
図４Ａにおいて、座標軸を実線から点線のように回転させると、座標軸を楕円体の長軸および短軸に対して平行にすることができる。この回転操作は、式（５）によって実現でき、式（５）の行列要素の具体的な値は主成分分析によって決定することができる。さらに、式（４）によって座標のスケール変換および並行移動を行うと、図４Ｂのように、等確率面は原点Ｏを中心とする円（一般に、高次元の場合は超球面）となる。この状態において、確率変数｛ｘ１、ｘ２、…｝は期待値ゼロ、標準偏差１であって、互いに無相関となる。また、確率変数｛ｘ１、ｘ２、…｝は、相変わらず正規分布で近似することができる。このとき、注目している性能指標Ｘは、式（１）で与えられるものとする。【００５７】
次に、最悪条件について詳細に説明する。上述のＳＲＡＭを例とすると、性能指標Ｔの最悪値は、ＳＲＡＭの書き込みを行う周辺回路の動作を規定する。周辺回路は書き込みが確実に完了する最悪の時間Ｔの経過後に次の動作を行うよう設計されなければならない。ただし、特定の時間待機した場合に、つねに回路が正常動作するとは限らない。なぜなら、性能指標Ｔは確率的に変動するため、どれほど長い時間待ったとしても、その時間が有限である限り、その時間よりもＴが長くなる確率はゼロにはならないからである。【００５８】
最悪性能指標と良品率との関係を図５に示す。【００５９】
ここでは、例として、上述のＴと同様に性能指標の値が大きいほど性能が悪い場合を想定する。最悪性能指標の基準を緩やかにする（すなわち、悪い性能指標を許容する）につれて、良品率は１に近づく（すなわち、不良品が減る）。逆に、厳しい性能指標値を要求すると、良品率が低下することとなる。上述の例において、ＳＲＡＭのセルが与えられているとすると、図５のような関係が決まる。【００６０】
このとき、設計者は所望の良品率が得られるように周辺回路の待ち時間を十分長くするよう設計を行う必要がある。しかし、周辺回路の待ち時間を長くするほど性能が低下するため、むやみに待ち時間を長くすることはできない。そこで、設計者は必要な良品率を考慮して、許容すべき最悪の性能指標値を知る必要がある。この最悪性能指標値が実現される条件が、本発明における最悪条件である。【００６１】
したがって、最悪条件は所望の良品率の関数として決定することが望ましい。本発明は、このような最悪条件を決定したいという設計上の要求に応えるものである。【００６２】
決定された最悪条件の典型的な応用として、検証シミュレーションが挙げられる。すなわち、着目する回路（例えば、ＳＲＡＭセル）を他の回路（例えばＳＲＡＭ書き込み回路）と組み合わせたとき、所望の歩留りを実現しつつ、回路が正常動作するかを検証するために用いることができる。そのためには着目する回路の最悪条件を知り、その回路の状態を最悪条件に設定し、これを他の回路と組み合わせたシミュレーションを実施する。このとき組み合わせた回路が正常に動作すれば、ばらつきがあっても、所望の良品率を確保しつつ正常動作する回路設計ができたことになる。【００６３】
大規模回路の検証においては、全ての回路を一括してシミュレーションすることが困難な場合が多いため、上述のように回路を適宜モジュール化して検討することが好ましい。【００６４】
図５に示す良品率と規格化された確率変数｛ｘ１、ｘ２、…｝との関係を、図６を参照して説明する。【００６５】
図４の場合と同様に、図６には２次元｛ｘ１、ｘ２｝の場合を示す。確率変数（座標値とも呼ぶ。）｛ｘ１、ｘ２、…｝の値の特定の組み合わせが生じる確率を表す確率密度関数Ｐ（ｘ１、ｘ２、…）を考える。通常、確率密度関数Ｐは多次元の正規分布関数によって近似することができる。式（１）で与えられる性能指標Ｘが特定の値をとる点の集合は、｛ｘ１、ｘ２、…｝が張る空間において等性能面（図６に示す２次元の場合は、等高線に他ならない。）を与える。ある性能指標値に対応する等性能面によって二分割された空間のうち、性能指標が良いほうの空間全域に亘って確率密度関数Ｐ（ｘ１、ｘ２、…）を積分することによって、図５の良品率が得られる。【００６６】
最悪条件を決定する問題は、所定の良品率が与えられたとき、その良品率に対応する等性能面または等性能面上の少なくとも一点の座標値｛ｘ１、ｘ２、…｝の組を決定する問題に帰着する。このような最悪条件となる座標値｛ｘ１、ｘ２、…｝の組が求まれば、設計者はこれと対応するコンパクト・モデルのパラメータの組を、式（２）を経由して求め、そのパラメータの組を用いて回路シミュレーションを行うことができる。最悪条件における回路シミュレーションによって回路（例えば、ＳＲＡＭの周辺回路）が正常に動作すれば、その回路設計で所望の良品率が得られ、かつ正常動作することを保証することができる。【００６７】
以上の問題を、計算機を用いて解く場合には、次のようにすれば良い。すなわち、性能指標値としてある試行値を仮定し、上記の確率密度関数Ｐの積分を実施して良品率を求める。得られた良品率が所望の値にほぼ等しければ試行値を求めるべき最悪性能指標値とする。もし得られた良品率と所望の値との差異が所定の許容範囲外であれば、再度別の試行値を選び、以上の操作を繰り返す。以上の反復計算において試行値を順次更新する方法としては、公知の数値解析法（２分法など）を用いればよい。これにより最悪性能指標値を決定することができる。【００６８】
その後、式（１）と得られた最悪性能指標値とを一致させる座標値｛ｘ１、ｘ２、…｝の組を、公知の数値的求解法を用いて探索し決定すれば良い。このような直接的な方法は、パラメータの数（次元）が少なければ実用的である。しかし、パラメータの数が増すと、確率密度関数Ｐの数値積分を行うための計算量が膨大となり、効率的ではない。例えば、上述のＳＲＡＭを例にした場合、パラメータの個数は６個であり、６次元の数値積分が必要となる。１次元あたり１００分割のメッシュを使った場合、良品率を１回計算するために１０の１２乗回も確率密度関数Ｐ（ｘ１、ｘ２、…）を計算する必要がある。したがって、例えば、２分法によって、反復計算をい、所望の良品率となる性能指標値を求めるには膨大な計算時間を要する。また、次元数（すなわち、パラメータの数）が増えるに従い、計算時間は指数関数的に増大するため、実用的な計算時間で計算を終えることができなくなる。また、計算すべき良品率はは通常１に極めて近いため、数値積分の情報落ちによる誤差も問題となる。【００６９】
上記の困難を回避して、最悪条件を求めるための近似的解法を以下に説明する。厳密な等性能面で分割された多次元空間に亘る積分は多くの計算資源を必要とする。そこで、図６における湾曲した等性能面を破線で示す平面によって近似する。この近似等性能面で分割された空間のうちの一方の空間に亘る積分（すなわち、良品率）は、確率密度関数Ｐ（ｘ１、ｘ２、…）が多次元正規分布である場合には、解析的な表現が知られており、以下の累積正規分布関数
2008102681.tif 000004
によって与えられる。ただし、パラメータ｛ｘ１、ｘ２、…｝は規格化されているものとする。ここでｒは近似等性能面の原点Ｏからの距離である。よって、まず所望の良品率に相当するｒを式（６）を解いて求め、図６における半径ｒの球面（すなわち、等確率面）と等性能面とが接する点を決定することができれば、その点において等性能面と接する超平面が前記の近似等性能面に他ならない。そして、この点（すなわち、接点）が近似的に決定された最悪条件となる。【００７０】
この最悪条件は、半径ｒの球面上で性能指標Ｘが最大または最小となる点を探索することによって決定することができる。なぜなら、半径ｒの球面上において、特に等性能面と接する点において、性能指標が最悪（大きいほうが悪い場合は最大、小さいほうが悪い場合は最小）となるからである。こうして探索された点は、最悪条件（最悪の回路性能指標に対応した等性能面上の点の集合）の中でも特に発生確率が最大の条件となる。【００７１】
図７は、上記の最悪条件決定方法の流れ図である。まず、所望の良品率Ｙを指定する（ステップＳ１）。良品率Ｙは、着目する回路が集積回路に搭載される数に応じて、適切に選択する必要がある。注目する回路が集積回路内に一個しか搭載されない場合には、良品率Ｙは低くても（例えば、不良率１％）、集積回路の歩留りはあまり低下しない。しかし、例えばＳＲＡＭのように非常に多数の回路（ＳＲＡＭセル）が搭載される場合、ＳＲＡＭ全体の歩留り（個々のセルに対する良品率Ｙをセル数だけ乗じたもので与えられる。）を１に近づけるためには、Ｙ自体を１に非常に近い値にする必要がある（例えば、不良率０．１ｐｐｍ）。【００７２】
次に、式（６）によって、半径ｒを計算する（ステップＳ２）。この計算は容易に実行できる。なお、本明細書では、半径ｒのことを等確率半径と呼ぶ。本発明において、所望の良品率は、良品率の値そのもので指定してもよいが、代わりに等確率半径ｒによって指定しても良い。【００７３】
上述の通り、良品率Ｙは、通常、１よりわずかに小さい値とされる（すなわち、不良率＝１−Ｙは十分小さい値に選ばれる。）。Ｙを１に等しく選ばない理由は、ランダムなばらつきは正規分布で近似されるため、無限の領域に亘って裾野が広がっているからである。したがって、Ｙを１とするには、無限に大きな設計余裕が必要となり、式（６）においてｒを無限大としなければならないため、事実上、設計が不可能となる。【００７４】
次に、規格化されたパラメータ空間における半径ｒの等確率面上において、性能指標が最悪値をとる点を探索する（ステップＳ３）。この問題は、数学的には制約条件付き非線形最適化問題として広く研究されており、種々の解析方法が知られている。ここで、最適化対象関数（すなわち、目的関数）は式（１）における関数ｆである。また、制約条件はパラメータ｛ｘ１、ｘ２、…｝が上述の半径ｒの球面上に存することである。なお、この規格化されたパラメータ空間（図４Ｂ）の等確率球面上で行う性能指標の探索は、規格化されないパラメータ空間（図４Ａ）において、前記等確率球面と対応する等確率楕円体面上で性能指標を探索するのと全く等価である。【００７５】
最後に、求めた最悪点の座標を最悪条件として出力して（ステップＳ４）、計算を終了する。【００７６】
以上の説明では、探索を等確率面上で行うものとしたが、さらに好ましくは、等確率面で囲まれる全領域にわたって最大または最小点を探索しても良い。このような探索を行った場合であっても、最悪点が等確率面上にある限り、等確率面上で探索を行うのと同一の結果が得られる。ただし、最悪点が着目する等確率面上ではなく、等確率面で囲まれた内部にある可能性もある。このような状況は、性能指標がパラメータに対して急激に変動する場合に発生し得る。このような場合であっても、探索を等確率面の内部を含めて実施しておけば、最悪条件を正しく決定することができる。ただし、このような結果が得られた場合、性能指標がパラメータに対して急激に変動していることが予想されるため、本発明で用いた近似（すなわち、等性能面の近似等性能面による近似）の精度が劣化する恐れがある。従って、最悪点が等確率面の内側で見つかった場合には、本発明で用いた精度が十分か否かを詳しく検討することが望ましい。したがって、本発明を実装する際に、最悪点が等確率面の内側にあった場合には、そのことを報告する機能を備えることが望ましい。【００７７】
図８は、上述の方法によって、ＳＲＡＭの書き込みに要する時間Ｔの最悪条件を、計算した結果を例示したものである。非線形最適化手法としてはシミュレーテッド・アニーリング法を用いた。ここで、規格化されたパラメータ値は、Ｖｔｈ０＿１〜Ｖｔｈ０＿６それぞれ標準偏差（すべて３０ｍＶとする。）で除した値（すなわち、式（４）によって規格化した値）である。Ｖｔｈ０＿１〜Ｖｔｈ０＿６は互いに無相関としたため、座標の回転は行っていない。また、半径ｒ＝６（不良率＝１−良品率＝０．００１ｐｐｍに相当する。）とした。この結果より、６個のトランジスタのしきい値を、中央値に対して、ｄ１は＋０．１２ｘ３０ｍＶ、ｄ２は−０．３７ｘ３０ｍＶ、ａ１は＋４．４ｘ３０ｍＶ、ａ２は＋１．８ｘ３０ｍＶ、ｐ１は＋１．２ｘ３０ｍＶ、ｐ２は−３．４ｘ３０ｍＶのように変化させた状態が、考慮すべき最悪条件であることが分かった。これらの値に従って、特性を変位させたＳＲＡＭセルと書き込み用周辺回路とを組み合わせた回路シミュレーションを実施し、回路が正常動作することが確認されれば、所望の歩留りを確保しつつ正しく動作する回路ができたことを検証し得る。【００７８】
最悪条件を探索する際には、パラメータを変更しながら、式（１）で与えられる性能指標を繰り返し計算する必要がある。性能指標を計算するには、回路シミュレーションを用いることができるが、さらに探索を高速化するために、応答曲面法を用いることができる。【００７９】
応答曲面とは、式（１）で表現し得る任意の関係を単純な関数（応答曲面関数）によって近似するものであり、これを利用するのが応答曲面法である。式（１）の計算に時間がかかる場合、これをより単純な式で近似することで計算時間を短縮することができる。例えば、本明細書で取り上げた６変数のＳＲＡＭの場合であれば、式（１）を次式のような２次多項式で近似することが好ましい。
2008102681.tif 000005
【００８０】
ここで、係数ｂ００、ｂ０１、…、ｂ６６は、近似式（７）が近似する対象の式（１）を良く近似するよう適切に選択する。そのために、まずパラメータ｛ｘ１、ｘ２、…、ｘ６｝を振った場合に、式（１）がとる値を調べる（以下、これを「実験」という。）。式（１）の計算には、例えば、回路シミュレーションを用いる。これにより、様々な値の組み合わせ｛ｘ１、ｘ２、…、ｘ６｝に対応するＸの値が得られる。次に、これらの実験結果が、式（７）によって近似的に再現されるように、式（７）の係数ｂ００、ｂ０１、…、ｂ６６を決定する。実験の点数を十分多くとることによって、これらの係数は線形重回帰分析に基づいて容易に決定し得る。一旦、式（７）のような応答曲面関数が決定された以降は、式（１）の代わりに式（７）を用いることができる。式（１）の計算に、回路シミュレーションが必要であって、計算時間を要するような場合、代わりに式（７）の応答曲面関数を用いて回路性能指標を計算することによって、最悪条件の探索を高速化することができる。応答曲面関数としては二次多項式の他に、近似に適した任意の関数を用いることもできる。ただし、応答曲面関数によって、式（１）が十分精度良く表されていることを十分確認する必要がある。【００８１】
以上の例においては、応答曲面関数と、応答曲面関数の１以上の確率変数とみなすパラメータのばらつき方を規定することで、回路性能指標とそのばらつきを模擬するモデルが規定されている。モデル関数は応答曲面関数に他ならない。このとき、性能指標計算手段１１２は、応答曲面関数の計算を実施するように構成される。なお、上記の例に則した場合には、特に６個のパラメータ全部が確率変数とみなされる。なお、応答曲面関数が適宜確率変数ではないパラメータを含むことは差し支えない。【００８２】
本発明においては、式（１）によって与えられる性能指標値を、等確率面上または前記等確率面で囲まれる領域内で評価するだけで解を求めることができる。したがって、式（１）に対して、線形近似または感度解析を適用する必要がない。したがって、式（１）が非線形であっても誤差が増大することがないという特徴がある。【００８３】
本発明に係る最悪条件決定方法における誤差の要因として、図６において等性能面と近似等性能面で囲まれた領域分だけ、積分領域が真に積分すべき領域と相違する点が挙げられる。しかし、確率密度関数Ｐ（ｘ１、ｘ２、…）は原点から離れるにしたがって急激に減衰するため、この相違に起因する誤差は、実用上十分小さい。このことを確認するため、モンテカルロ・シミュレーションによる良品率（十分多数回の計算により、真の等性能面によって決まる良品率が算出されるものとする。）と、本発明に係る近似等性能面により算出される良品率とを比較した。上記したＳＲＡＭ書き込み時間の例において、誤差は１０％程度であった。良品率がパラメータに対して指数関数的に変化することを考慮すると、この誤差は無視することができる。【００８４】
一般に、注目する性能指標ごとに異なる最悪条件が得られる。いくつかの異なる制約を考慮しなければならない場合、注目する性能指標夫々について、最悪条件を求める必要がある。その場合は、本発明に係る最悪条件決定方法を繰り返し適用すればよい。例えば、上述のＳＲＡＭの例では、書き込み時間に加え、読み出し時間についても最悪条件を考慮する必要がある。また、論理回路などでは、遅延が早すぎても問題となり得る。そのような場合には、遅延が最大となる条件の代わりに、最小となる条件を探索する必要がある。このように考慮すべき最悪条件は複数となることが多く、それぞれに対して、本発明に係る最悪条件決定方法を適用すればよい。【００８５】
本発明は、非特許文献１記載の方法と組み合わせて用いることもできる。すなわち、本発明によって得られた最悪条件を、検証シミュレーションのみなならず、設計最適化のための制約条件としても用いることができる。
【産業上の利用可能性】
【００８６】
本発明に係る最悪条件決定システム、方法およびプログラムは、メモリ・セル、アナログ回路、デジタル回路などの集積回路設計に適用することができる。【００８７】
本発明の全開示（請求の範囲を含む）の枠内において、さらにその基本的技術思想に基づいて、実施形態ないし実施例の変更・調整が可能である。また、本発明の請求の範囲の枠内において種々の開示要素の多様な組み合わせないし選択が可能である。
【図１】
2008102681.tif 000006
【図２】
2008102681.tif 000007
【図３】
2008102681.tif 000008
【図４】
2008102681.tif 000009
【図５】
2008102681.tif 000010
【図６】
2008102681.tif 000011
【図７】
2008102681.tif 000012
【図８】
2008102681.tif 000013
【国際調査報告】
2008102681.tif 000014
2008102681.tif 000015
2008102681.tif 000016