(57)【要約】  アナログおよび混成信号回路を含む、電子回路を設計する方法および装置であって、実施形態の一例では、階層的設計およびサイジング・フローを、１つ以上の評価モデル（例えば、性能および実現可能性モデル）と共に用いて、あるレベルにおいて得られた結果が階層の他のレベルでも有効であり関連性を保つようにする。別の態様では、例えば、階層の種々のレベルと関連付けられた１つ以上の既存の性能モデルに基づいて性能を評価する後処理ステップによって、設計の歩留まりを考慮して階層的サイジングを実行する。これらの方法はコンピュータ・プログラムにて具体化され、このプログラムを実行するように適合化されたコンピュータ・システムにて実行される。【特許請求の範囲】
【請求項１】
電子回路の設計方法であって、実質的に階層的なフローを有する設計プロセスを実行し、前記実質的に階層的なフローには複数のサイジング・ステップが伴い、前記複数のサイジング・ステップの少なくとも一部が検証ステップも備えており、前記サイジング・ステップの所与の１つに対する前記検証ステップの正常な完了が前記サイジング・ステップの次に続く１つの完了に対する状態の前例を構成する、方法。
【請求項２】
請求項１記載の方法において、電子回路を設計する前記行為は、アナログおよびディジタル回路双方を備えている電子回路を設計することから成る、方法。
【請求項３】
請求項２記載の方法において、前記実質的に階層的なフローは、実質的に単一方向性である、方法。
【請求項４】
請求項３記載の方法において、前記実質的に単一方向のフローは、前記階層内における高アーキテクチャ・レベルから低構成要素レベルまで進む方向へのフローから成る、方法。
【請求項５】
請求項１記載の方法において、前記検証ステップの少なくとも１つは、コンピュータ化したシミュレータ・プログラムを用いて検証を行うことから成る、方法。
【請求項６】
請求項１記載の方法であって、更に、最終的な検証ステップを実行することを含み、前記最終検証ステップは、前記解消の少なくとも１つのより高いレベルにおいて、前記階層のより低いレベルにおける複数のデバイス・ブロックの少なくとも一部をモデリングすることを含む、方法。
【請求項７】
請求項１記載の方法において、前記サイジング・ステップの少なくとも一部は、実質的に累進的格付けプロセスを用いてサイジングを実行することを含む、方法。
【請求項８】
請求項７記載の方法において、前記実質的に累進的な格付けプロセスは、
第１等級が関連付けられている第１モデルを与え、
続いて第２および後続の等級のそれぞれの１つが関連付けられている追加のモデルを与える、
ことを含む、方法。
【請求項９】
請求項８記載の方法において、前記第１、第２、および後続の等級の各々は、他の各々とは異なる、方法。
【請求項１０】
請求項８記載の方法において、前記第１モデルの前記第１等級は第１の速度および精度を備えており、前記第２および後続の等級は、前記追加モデルの累進的に遅くなるが精度が高くなるものから成る、方法。
【請求項１１】
請求項１記載の方法において、前記方法は、更に、前記設計プロセスの一部として、少なくとも１つの歩留まりに基づく最適化を実行することを含む、方法。
【請求項１２】
請求項１１記載の方法において、少なくとも１つの歩留まりに基づく最適化を実行する前記行為は、少なくとも部分的に性能モデルに基づいて、少なくとも１つの後処理最適化を実行することを含む、方法。
【請求項１３】
請求項１２記載の方法において、少なくとも１つの後処理最適化を実行する行為は、前記階層の多数のレベルにおいて用いられる性能モデルに基づいて前記最適化を実行することを含む、方法。
【請求項１４】
請求項１記載の方法において、前記方法は、複数の設計反復を実行することを含み、前記反復の少なくとも一部は、設計モデルを用いて、前記回路の候補設計の少なくとも一部を評価することを含み、前記反復の少なくとも一部の第１の反復の間に使用される前記設計モデルは、前記反復の他の１つで使用されるものとは異なる、方法。
【請求項１５】
請求項１４記載の方法において、前記反復の内前記第１の反復において評価する前記行為は、前記反復の前記他の１つにおいて用いられる設計モデルよりも速度が高く精度が低い第１設計モデルを用いて評価することを含む、方法。
【請求項１６】
請求項１４記載の方法において、前記設計モデルは、性能モデルを備えており、該性能モデルは、各々、性能の少なくとも１つの等級を実施するように構成された等級付け機構を備えている、方法。
【請求項１７】
請求項１６記載の方法において、前記第１設計モデルは、前記他の設計モデルよりも速度が高く精度が低い、方法。
【請求項１８】
請求項１４記載の方法であって、更に、等級付けされた実現可能性モデルを用いて、前記設計の前記少なくとも一部を評価することを含む、方法。
【請求項１９】
請求項１記載の方法において、前記階層的フローは、複数の設計段階を備えており、前記段階の少なくとも一部は、少なくとも１つの実現可能性モデルの使用を含み、前記少なくとも１つの実現可能性モデルは、少なくとも部分的に最適化を生成するために用いられ、
前記段階の少なくとも一部の第１段階において生成される前記最適化は、前記検証ステップにおいて検証される、方法。
【請求項２０】
階層的プロセスにしたがって電子回路を設計する方法であって、
複数の設計段階を備えている設計プロセスを実行し、前記段階の少なくとも一部が少なくとも１つの実現可能性モデルの使用を含み、前記少なくとも１つの実現可能性モデルを部分的に用いて最適化を生成することを含み、
前記段階の少なくとも一部の第１段階において生成された前記最適化を、前記設計プロセスの少なくとも１つの後続段階において検証する、方法。
【請求項２１】
電子回路の生産方法であって、
複数の設計レベルにおけるモデルの評価を含む設計プロセスを実行し、前記レベルが異なる度合いの抽象化であり、
前記レベルの少なくとも１つに対する評価を実行した後に、前記設計に対するプロセス歩留まりの効果を評価する、方法。
【請求項２２】
請求項２１記載の方法において、前記効果を評価する行為は、実質的に前記レベルの各々を評価し終えた後に、前記複数のレベルと関連付けられている前記モデルの少なくとも１つを用いて評価し、前記歩留まりの効果を評価することから成る、方法。
【請求項２３】
請求項２１記載の方法であって、更に、プロセス歩留まりの効果を評価する前記行為の結果に少なくとも部分的に基づいて、少なくとも１つの最適化を実行することを含む、方法。
【請求項２４】
請求項２３記載の方法において、前記少なくとも１つの最適化は、反復最適化プロセスから成る、方法。
【請求項２５】
請求項２４記載の方法において、前記反復最適化プロセスは、反復的に前記効果を評価する多数の前記行為を考慮する、方法。
【請求項２６】
請求項２３記載の方法において、前記複数のレベルは、４つの設計レベルを含み、最も高いレベルがアーキテクチャ・レベルを含み、最も低いレベルがデバイス・レベルを含む、方法。
【請求項２７】
混成信号回路設計を効率的に生成するように適合化されたコンピュータ装置であって、
プロセッサと、
前記プロセッサに動作的に結合され、ユーザから複数の入力を受け取るように適合化された入力デバイスであって、前記入力が少なくとも部分的に、前記回路設計に付随する設計パラメータに関係する、入力デバイスと、
前記プロセッサに動作的に結合された記憶デバイスと、
前記プロセッサ上で実行するように適合化されたコンピュータ・プログラムであって、複数のレベルを有する階層的設計プロセスを実施するように適合化され、
少なくとも１つの実現可能性モデルを用いて前記設計の１つ以上の側面を評価し、前記少なくとも１つの実現可能性モデルを少なくとも部分的に最適化を生成するために用いることから成り、
前記レベルの内第１のレベルにおいて生成される前記最適化を、前記設計プロセスの少なくとも１つの後続レベルにおいて検証する、コンピュータ・プログラムと、
を備えている、コンピュータ装置。
【請求項２８】
請求項２７記載の装置において、前記コンピュータ・プログラムは、更に、
前記階層的プロセスの第１のより低いレベルと関連付けられた少なくとも１つの性能メトリックに対して少なくとも１つの値を特定し、前記階層的プロセスの第１のより高いレベルと関連付けられた少なくとも１つの性能メトリックが実質的に最適化されるように、前記少なくとも１つの値を選択し、
続いて、前記階層プロセスの第２のより高いレベルと関連付けられた少なくとも１つの性能メトリックを実現するように、前記階層の第２のより低いレベルにおいて１組の性能メトリックを特定する、
ように適合化されている、装置。
【請求項２９】
設計階層を用いて回路を設計する方法であって、
前記階層の第１のより低いレベルと関連付けられた少なくとも１つの性能メトリックに対して少なくとも１つの値を特定し、前記階層的プロセスの第１のより高いレベルと関連付けられた少なくとも１つの性能メトリックが実質的に最適化されるように、前記少なくとも１つの値を選択し、
続いて、前記階層プロセスの第２のより高いレベルと関連付けられた少なくとも１つの性能メトリックを実現するように、前記階層の第２のより低いレベルにおいて１組の性能メトリックを特定する、
ことから成る、方法。
【請求項３０】
請求項２９記載の方法において、前記第１のより低いレベルは、前記階層の最低レベルではない、方法。
【請求項３１】
請求項３０記載の方法において、前記第２のより低いレベルは、前記階層において、前記第１のより低いレベルよりも低い少なくとも１つのレベルである、方法。
【請求項３２】
請求項３１記載の方法において、前記第２のより低いレベルは、前記階層の最低レベルから成る、方法。
【請求項３３】
実質的に階層的なプロセスを用いて電子回路を設計する方法であって、
前記階層における第１のレベルに対して、少なくとも１つの実現可能性または性能モデルを構成し、
前記階層における第２レベルに対して、少なくとも１つのサイジング・ステップを実行し、前記少なくとも１つのサイジング・ステップが、前記少なくとも１つのモデルを用いて、指定された問題を解くことを含み、
前記第１レベルは、前記階層において、前記第２レベルよりも低い、方法。
【請求項３４】
０からｎまでの複数のレベルｌを有する実質的に階層的なプロセスを用いて電子回路を設計する方法であって、
少なくとも１つの階層モデルの構成を行い、該構成が、
レベルｌにおいて少なくとも１つのブロックｂを含む、レベルｌ＝（ｎ−１）．．．（０）に対して、レベルｌ＋１に対して少なくとも１つの実現可能性または性能モデルを構成し、
少なくとも１つの階層的サイジングを実行し、該サイジングが、
レベルｌにおいて少なくとも１つのブロックｂを含む、レベルｌ＝（０）．．．（ｎ−１）に対して、前記少なくとも１つのモデルに部分的に基づいて、少なくとも１つの問題を解き、
前記少なくとも１つのモデルを精細化する、
ことから成る、方法。
【請求項３５】
請求項３４記載の方法において、前記精細化する行為は、レベルｋ＝（ｎ−１）．．．（ｌ）に対して、レベルｋ＋１上において少なくとも１つのより精度が高い実現可能性モデルを構成することを含む、方法。
【請求項３６】
請求項３４記載の方法において、前記精細化する行為は、レベルｋ＝（ｎ−１）．．．（ｌ）に対して、レベルｋおよびｋ＋１に関連する少なくとも１つのより精度が高い性能モデルを構成することを含む、方法。
【請求項３７】
電子回路設計の検証方法であって、
前記設計の個々の構成要素に付随する複数の挙動記述を得て、
ソフトウェア・ルーチンにおいて前記記述を設定し、前記ルーチンは、複数の刺激を与えるように適合化され、かつ前記回路の性能を測定する際に有用であり、
前記刺激の印加に基づいて前記回路の応答を判定し、
前記応答を分析して、それから少なくとも１つの性能メトリックを導出し、
前記回路設計の制約を受ける部分に対して、少なくとも１つの制約を評価する、
ことから成る方法。
【請求項３８】
階層的プロセスを用いて回路設計の少なくとも一部を評価する方法であって、
第１対象設計点を生成し、
前記階層内における第１レベルにおいて、前記設計点の容認可能性を評価し、
前記階層内における第２レベルにおいて、前記設計点の容認可能性を評価することから成り、
前記設計点が、前記第１レベルでは容認可能であるが、前記第２レベルでは容認可能ではない場合、前記設計点を生成するために用いた１つ以上のモデルの有効性を評価する、方法。
【請求項３９】
請求項３８記載の方法において、前記有効性を評価する前記行為は、前記設計点付近の設計空間領域における有効性を評価することを含む、方法。
【請求項４０】
請求項３８記載の方法において、前記有効性を評価する前記行為は、選択したサンプル集合において前記１つ以上のモデルを用いて生成した予測を、サイン・オフ検証器の予測と比較することにより、前記有効性を評価することを含む、方法。
【請求項４１】
回路を設計するための階層に基づく設計プロセスにおいて有用なモデルを生成する方法であって、
多目的最適化を実行し、
前記実行する行為に少なくとも部分的に基づいて、第１設計空間領域の複数の点を特定し、
前記複数の点に少なくとも部分的に基づいて第１モデルを生成する、
ことから成る、方法。
【請求項４２】
請求項４１記載の方法において、前記第１設計空間は、実現可能性空間を含み、前記実行する行為は、前記階層の第１レベル上で制限された検索空間を用いて前記多目的最適化を実行し、前記階層の第２レベル上でパレート・フロント（ｐａｒｅｔｏ−ｆｒｏｎｔ）を発見することを含む、方法。
【請求項４３】
請求項４２記載の方法において、前記制限された検索空間は、前記第２レベル上の実現可能性領域の境界を含む、方法。
【請求項４４】
請求項４３記載の方法において、第１モデルを生成する前記行為は、数値モデル生成器を用いることを含む、方法。
【請求項４５】
請求項４４記載の方法において、前記数値モデル生成器は、パラメトリック線形または非線形回帰を含む、方法。
【請求項４６】
請求項４１記載の方法において、前記モデルは、混成信号回路設計プロセスの一部として多目的パレート・フロントの生成に有用な実現可能性モデルから成り、前記方法は、前記複数の点を特定することを含み、その際、
最適化問題を設定し、該設定するステップは、
少なくとも１組の最適化変数Ｘを指定する行為と、
複数の目的Ｙ（Ｘ）を指定する行為と、
複数の制約Ｃ（Ｘ）を指定する行為とを含み、
最適化アルゴリズムを初期化し、該初期化するステップは、
初期解集合Ｓ０＝｛Ｘ１，Ｘ２，．．．，Ｘｎ｝を母集団とする行為と、
Ｓ０における各要素ｓについて、Ｙ（ｓ），Ｃ（ｓ）を評価する行為と、
Ｓ０について所産（ｏｆｆｓｐｒｉｎｇ）＝Ｓ０を設定する行為と、
識別インデックスｉ＝１を設定する行為と、
１つ以上の停止基準を評価する行為とを含み、
前記停止基準が満たされない場合、
制約違反および目的支配の少なくとも一方を考慮してＳｉ−１，ｏｆｆｓｐｒｉｎｇからの非支配解に基づいて集合Ｓｉを更新する行為と、
複数の候補解の均等分散を保持しつつ、必要であれば、Ｓｉのサイズを切り詰める行為と、
Ｓｉから部分集合Ｓｉ，ｐａｒｅｎｔｓを選択する行為と、
包括的演算子を用いてＳｉ，ｐａｒｅｎｔｓに基づいて集合Ｓｉ，ｏｆｆｓｐｒｉｎｇを作成する行為と、
Ｓｉ，ｏｆｆｓｐｒｉｎｇにおける各要素ｓについて、Ｙ（ｓ），Ｃ（ｓ）を評価する行為と、
前記識別インデックスを増分する行為と、
制約違反および目的支配の少なくとも一方を考慮してＳｉ−１，ｏｆｆｓｐｒｉｎｇからの非支配解に基づいて集合Ｓｉを更新する行為と、
複数の候補解の均等分散を保持しつつ、必要であれば、Ｓｉのサイズを切り詰める行為と、
少なくとも前記複数の点を利用して、前記実現可能性モデルを生成する行為と、
を実行する、方法。
【発明の詳細な説明】
【技術分野】
【０００１】
（優先権）
本願は、同一名称の、２００４年５月１４日に出願した米国特許出願第１０／８４６，７２７号の優先権を主張する。その内容は、ここで引用したことにより前端が本願にも含まれるものとする。
【０００２】
（著作権）
本特許文書の開示の一部は、著作権保護の対称となる資料を含む。著作権所有者は、この特許文書または特許開示が、特許商標庁の特許ファイルおよび記録において見られるのと同じであれば、これをいかなる者がファクシミリで複製しても異議を唱えないが、それ以外ではあらゆる著作権を保有する。
【０００３】
（発明の背景）
１．技術分野
本発明は、一般に、電子回路設計の分野に関する。代表的な態様の１つでは、本発明は、アナログおよび混合電子回路の設計に関する。
【背景技術】
【０００４】
（関連技術の説明）
特定用途集積回路（ＡＳＩＣ）、チップ上システム（ＳＯＣ）デバイス、またはその他の種類の集積回路（ＩＣ）のような電子回路の製作プロセスまたは設計は、従来技術では周知である。実施する論理または機能の形式に基づいて、これらの回路は、その本質からディジタル、アナログ、または混成信号（部分的にディジタル、そして部分的にアナログである回路）に類別することができる。ディジタル電子回路の例は、非常に基本的なレベルではフリップ・フロップ（ＦＦ）、またはもっと高いレベルでは、マイクロプロセッサのパイプライン状ＣＰＵを含む。アナログ回路の例は、周知の位相ロック・ループ（ＰＬＬ）または演算増幅器（オペアンプ）を含む。混成信号設計の例は、一部ディジタルおよび一部アナログ機能を組み合わせたモデムＡＳＩＣのＳＯＣ実施態様を含む。
【０００５】
今日の競争が激しい市場では、設計者は製作に成功するために厳しく検査され、素早いターンアラウンド時間を有し、異なる製作プロセスに素早く移行する（例えば、もっと小さいサイズの機構または異なる幾何学的形状）ことができ、更に。他の設計と一体化し同じ半導体ダイ上に納めることができる設計を生成する圧力下にいる。ディジタル設計は、電子設計自動化（ＥＤＡ）ツールにより、この作業の多くを自動化できることによる恩恵を受けている。
【０００６】
対照的に、アナログまたは混成信号（ＡＭＳ）回路の設計は、回路の部分を設計するためには手作業の熟練を一層必要とする傾向がある。ディジタルおよびアナログ・ドメイン間を交差信号経路、ならびに幾何学的形状への非線形依存性に関するその他の現象を伴う複雑なフィードバック・ループにより、ブロックを構築する孔アナログ回路のレイアウトまたは幾何学的形状の変更には、通例、性能要件および設計制約を満たすことを確認するために、費用のかかるシミュレーションを必要とする。このために、長大な設計サイクルとなる場合が多く、専門の（人の）設計者による仲介が必要となる。ＡＭＳ回路設計は、したがって、電子回路を設計する際のボトルネックとなっている。
【０００７】
ＡＭＳ回路を設計する場合、デバイスの一致、寄生結合、ならびに熱および基板効果というような回路の物理的特性も、設計の成功を確保するためには、考慮にいれなければならない。性能の名目値は、一般に、多数の寄生結合によって劣化に晒されており、実際のデバイス・レイアウトを試す前に予測することは困難である。これらの劣化効果を過大評価すると、電力および面積の浪費となり、一方過小評価すると、回路がそれらの性能要件を満たさない結果となる。
【０００８】
アナログ回路設計プロセスのフローにおいて、「サイジング」ステップは、回路レイアウトのサイジングに集合的に寄与する、種々のアナログ・コンポーネントおよび回路のデバイスの幾何学的形状または値を決定することを伴う。サイジング・ステップにおいて決定する値のいくつかの例には、抵抗値、トランジスタの寸法、ならびにバイアス電流および電圧が含まれる。
【０００９】
アナログ回路のサイズを決定するための別な重要な考慮事項は、製作段階における回路の歩留まりである。歩留まりは、設計仕様当たりの、製作した電子回路に要求される機能を実行する、電子回路の割合と定義される。歩留まりは、製作中に回路に混入する欠陥によって低下する可能性がある（例えば、ウェハに付着する埃粒子、ウェハにおける表面欠陥等）。ＡＭＳ設計方法に関連する歩留まり低下の原因には、回路が仕様を外れて動作する原因ともなり得る、製造プロセスにおける許容度が含まれる。これは、回路の性能は、その構成電子デバイスのパラメータに依存し、一方構成電子デバイスのパラメータは製造プロセスのパラメータに依存するという事実による。設計をこれらの処理のばらつきに耐えるようにする（即ち、これらに対してロバストにする）ことによって、回路の設計の間に対処できるのは、歩留まりの後者の観念である。同じ「非許容」（ｉｎｔｏｌｅｒａｎｔ）設計を用いて製作した個々のアナログＩＣの性能は、大きくばらつく可能性がある。何故なら、製造プロセスの小さなばらつきによって、回路の物理的特性の変化が生ずる可能性があるからである。一方、これらのばらつきは、ＩＣの初期性能、そしてそれらの製品寿命全体にわたるそれらの性能劣化特性をも変化させる。このようなばらつきを受ける物理的特性は、例えば、接合容量、Ｎ−基板パラメータ、利得、利得帯域幅、スルー（ｓｌｅｗ）、位相、および電源除去率を含む。
【００１０】
更に、設計を最適化するためのパラメータの数が威圧している可能性があることが認められる。ＡＭＳ設計の中には、アナログ設計において３２個の異なる変数のいわゆる「コーナ・ケース」（ｃｏｒｎｅｒ  ｃａｓｅ）のためのシミュレーションを必要とするものもある。一方、これらの変数は、非線形的に相互に関係する。従来技術の下ではこれらのコーナ・ケースの各々について、３００回から５００回のシミュレーションを実行することも希ではない。
【００１１】
したがって、このような複雑性のために、ＡＭＳ設計プロセスは、本質的に反復的となる傾向があり、分析方程式または経験的データのいずれかによって、互いに関係するいくつかの変数を同時に最適化することを伴う。設計の典型的な段階は、設計候補に対して手作業または自動的に開始点を生成することを伴う。次いで、回路候補のサイズ変更、および各繰り返しにおいて回路候補が設計の目的を満たすか否かの判断によって、反復的に最適化する。図１は、典型的な従来技術の反復的ＡＭＳ設計フローである。
【００１２】
従来技術において、ＡＭＳ設計プロセスの効率を高めるために、いくつかの手法が実施されている。例えば、サイジング計算に必要な計算時間を短縮するために、より包括的なシミュレーションに基づくサイジングの代わりに、式またはモデルに基づくサイジングを行うことができる。
【００１３】
同様に、最適解の計算を異なる方法で実行することもでき、最適化に基づく合図決定（通例、費用のかかる数値計算を必要とする）、または回路候補のモデルの作成、それに続くモデルの最適化、および周知の反転アルゴリズムのような技法を用いた、回路へのその逆変換を含む。
【００１４】
（平面サイジングおよび階層）
初期のＡＭＳ設計技法は、通例、いわゆる「平面サイジング」を用いており、回路を特徴付けるために用いられる全てのパラメータのサイズを、設計サイクルの所与の反復において、一緒に決定することを意味する。ＡＭＳ回路の複雑度が高まるに連れて、このようなシミュレーションの複雑度も高まっていく。大きなＡＭＳ設計では、平面サイジングは、高速で高価なコンピュータ、ならびに広いディスクおよびＲＡＭ空間を必要とする。
【００１５】
この問題を軽減するために、階層的サイジング技法が近年になって提案されている。これらの技法は、設計を多数の階層（またはレベル）に分解し、個々の物理的デバイス（例えば、ＮＭＯＳトランジスタ）が最も詳細なレベルを形成し、次々にレベルが高くなるに連れて、１つ以上の下位のレベルをグループ化し、ブロックを構築する。階層技法は、個々のサイジング・ステップを小さく抑えるという利点があり、これによって、行われるトレードオフにより大きな洞察力が得られる（何故なら、設計者はより小さいスケールの設計問題も認めることができるからである）。加えて、階層技法を用いると、必要な計算力を著しく増大させることなく、より複雑な設計およびシミュレーションを処理することができる。
【００１６】
従来技術には、他の手法もあり、その多くは、前述した枠組みに対する変形である。例えば、Ｒ．Ｐｈｅｌｐｓ，Ｍ．Ｋｒａｓｎｉｃｋｉ，Ｒ．Ａ．Ｒｕｔｅｎｂａｒ，Ｌ．Ｒ．Ｃａｒｌｅｙ，Ｊ．Ｒ．Ｈｅｌｌｕｍｓ，“Ａｎａｃｏｎｄａ：ｓｉｍｕｌａｔｉｏｎ−ｂａｓｅｄ  ｓｙｎｔｈｅｓｉｓ  ｏｆ  ａｎａｌｏｇ  ｃｉｒｃｕｉｔｓ  ｖｉａ  ｓｔｏｃｈｓｔｉｃ  ｐａｔｔｅｒｎ  ｓｅａｒｃｈ”（アナコンダ：統計的パターン検索によるアナログ回路のシミュレーションに基づく合成）、ＩＥＥＥ  Ｔｒａｎｓａｃｔｉｏｎ  ｏｎ  Ｃｏｍｐｕｔｅｒ−ａｉｄｅｄ  Ｄｅｓｉｇｎ  ｏｆ  Ｉｎｔｅｇｒａｔｅｄ  Ｃｉｒｃｕｉｔｓ  ａｎｄ  Ｓｙｓｔｅｍｓ，Ｖｏｌｕｍｅ：１９，Ｉｓｓｕｅ：６，Ｊｕｎｅ，２０００を参照のこと。これは、統計的最適化技法を、平面回路シミュレーションと組み合わせて用いることを記載している。この手法の利点は、サイン・オフモデル（数値回路シミュレータ）を用いるという事実であり、したがって、この手法は高レベルの精度を有する。しかしながら、これは、最適解に到達するまでに数万回または数十万回ものシミュレーションが必要なために、非常に時間を要する。この欠点は、サイジング・ループに歩留まりの推定を組み込むことを望む場合、更に一層問題となる。
【００１７】
Ｋ．Ｓｗｉｎｇｓ，Ｇ．Ｇｉｅｌｅｎ，Ｗ．Ｓａｎｇｅｎは、“Ａｎ  ｉｎｔｅｌｌｉｇｅｎｔ  ａｎａｌｏｇ  ＩＣ  ｄｅｓｉｇｎ  ｓｙｓｔｅｍ  ｂａｓｅｄ  ｏｎ  ｍａｎｉｐｕｌａｔｉｏｎ  ｏｆ  ｄｅｓｉｇｎ  ｅｑｕａｔｉｏｎｓ”（設計式の操作に基づくインテリジェント・アナログＩＣ設計システム）、Ｐｒｏｃｅｅｄｉｎｇｓ  ｏｆ  ｔｈｅ  Ｃｕｓｔｏｍ  Ｉｎｔｅｇｒａｔｅｄ  Ｃｉｒｃｕｉｔｓ  Ｃｏｎｆｅｒｅｎｃｅ，１９９０，Ｐａｇｅｓ：８．６．１−８．６．４において、回路の分析モデルを、汎用機能反転技法と組み合わせることを記載している。また、この手法により、分析モデルを、シミュレーションに基づくモデル生成によって構成することが可能になる。この技法の主な利点はその速度である（場合によっては、反転することができないモデルを克服するために、最適化部または解決部を必要とすることもあるが）。しかしながら、顕著な欠点として、モデルを構成するために非常に手間を要することがあげられ、ミクロン単位よりも遥かに小さいデバイス・モデルの一層の複雑化に鑑みると、増々厄介となり、現行のデバイスに伴う、非線形性能パラメータの重要性もある。
【００１８】
更に別の手法（Ｅ．Ｏｃｈｏｔｔａ，Ｒ．Ａ．Ｒｕｔｅｎｂａｒ，Ｌ．Ｒ．Ｃａｒｌｅｙ，“Ｓｙｎｔｈｅｓｉｓ  ｏｆ  ｈｉｇｈ−ｐｅｒｆｏｒｍａｎｃｅ  ａｎａｌｏｇ  ｃｉｒｃｕｉｔｓ  ｉｎ  ＡＳＴＲＸ／ＯＢＬＸ”（ＡＳＴＲＸ／ＯＢＬＸにおける高性能アナログ回路の合成）、ＩＥＥＥ  Ｔｒａｎｓａｃｔｉｏｎｓ  ｏｎ  Ｃｏｍｐｕｔｅｒ−ａｉｄｅｄ  Ｄｅｓｉｇｎ  ｏｆ  Ｉｎｔｅｇｒａｔｅｄ  Ｃｉｒｃｕｉｔｓ  ａｎｄ  Ｓｙｓｔｅｍｓ，Ｖｏｌｕｍｅ：１５，Ｉｓｓｕｅ：３，Ｐａｇｅｓ：２７３−２９４，Ｍａｒ．１９９６およびＧ．Ｖａｎ  ｄｅ  Ｐｌａｓ，Ｇ．Ｄｅｂｙｓｅｒ，Ｆ．Ｌｅｙｎ，Ｋ．Ｌａｍｐａｅｒｔ，Ｊ．Ｖａｎｄｅｎｂｕｓｓｃｈｅ，Ｇ．Ｇｉｅｌｅｎ，Ｗ．Ｓａｎｓｅｎ，Ｐ．Ｖｅｓｅｌｉｎｏｖｉｃ，Ｄ．Ｌｅｅｎａｅｒｔｓ，“ＡＭＧＩＥ−Ａ  ｓｙｎｔｈｅｓｉｓ  ｅｎｖｉｒｏｎｍｅｎｔ  ｆｏｒ  ＣＭＯＳ  ａｎａｌｏｇ  ｉｎｔｅｇｒａｔｅｄ  ｃｉｒｃｕｉｔｓ”（ＡＭＧＩＥ−ＣＭＯＳアナログ集積回路のための合成環境）、ＩＥＥＥ  Ｔｒａｎｓａｃｔｉｏｎｓ  ｏｎ  Ｃｏｍｐｕｔｅｒ−ａｉｄｅｄ  Ｄｅｓｉｇｎ  ｏｆ  Ｉｎｔｅｇｒａｔｅｄ  Ｃｉｒｃｕｉｔｓ  ａｎｄ  Ｓｙｓｔｅｍｓ，Ｖｏｌｕｍｅ：２０，Ｉｓｓｕｅ：９，Ｐａｇｅｓ：１０３７−１０５８，Ｓｅｐｔ．２００１に記載されているような）は、分析モデルを最適化部と組み合わせ、平面サイジング方法を用いる。方程式を分析的に駆動するツールが存在する（例えば、Ｒｏｄｒｉｇｕｅｚ−Ｖａｚｑｕｅｚ，Ｊ．Ｌ．Ｈｕｅｒｔａｓ，Ｇ．Ｇｉｅｌｅｎ，“Ｓｙｍｂｏｌｉｃ  Ａｎａｌｙｓｉｓ  Ｔｅｃｈｎｉｑｕｅｓ：Ａｐｐｌｉｃａｔｉｏｎｓ  ｔｏ  Ａｎａｌｏｇ  Ｄｅｓｉｇｎ  Ａｕｔｏｍａｔｉｏｎ”（象徴的分析手法：アナログ設計自動化への応用）、ＩＥＥＥ  Ｐｒｅｓｓ，ＮＹ，１９９８を参照のこと）が、これらは適度な時間量で、複雑度／精度の程良いトレードオフを有するモデルを生成することができない。
【００１９】
更に、平面サイジング方法論には、サイジング・プロセスの間、必要な設計トレードオフに関して、サイジング・ツールを動作させている設計者には殆どフィードバックが与えられず、このために不確実性が高くなり、サイジング・プロセスを制御することができなくなるという重大な欠点がある。加えて、このようなツールの容量（回路の複雑度に対する）は、非常に限られている。
【００２０】
Ａ．Ｄｏｂｏｌｉ，Ｒ．Ｖｅｍｕｒｉ，“Ｅｘｐｌｏｒａｔｉｏｎ−ｂａｓｅｄ  ｈｉｇｈ−ｌｅｖｅｌ  ｓｙｎｔｈｅｓｉｓ  ｏｆ  ｌｉｎｅａｒ  ａｎａｌｏｇ  ｓｙｓｔｅｍｓ  ｏｐｅｒａｔｉｎｇ  ａｔ  ｌｏｗ／ｍｅｄｉｕｍ  ｆｒｅｑｕｅｎｃｉｅｓ”（低／中周波数で動作する線形アナログ・システムの調査に基づく高レベル合成）、ＩＥＥＥ  Ｔｒａｎｓａｃｔｉｏｎｓ  ｏｎ  Ｃｏｍｐｕｔｅｒ−ａｉｄｅｄ  Ｄｅｓｉｇｎ  ｏｆ  Ｉｎｔｅｇｒａｔｅｄ  Ｃｉｒｃｕｉｔｓ  ａｎｄ  Ｓｙｓｔｅｍｓ，Ｖｏｌｕｍｅ：２２，Ｉｓｓｕｅ：１１，Ｎｏｖ．２００３，Ｐａｇｅｓ：１５５６−１５６８は、紛れもなく「階層」手法を採用しているが、実際には、モデリングのみが階層的であるに過ぎない。この技法は、したがって、階層設計の真の力の恩恵を得ていない。即ち、これは、階層モデルを用いたサイジングを採用しているが、この中で以下で更に詳細に説明するような、真の階層的サイジングを利用していない。
【００２１】
１９９６年１２月２４日にＩｉｄａに発行され、“Ｏｐｔｉｍｉｚａｔｉｏｎ  ｄｅｖｉｃｅ”（最適化デバイス）と題する米国特許第５，５８７，８９７号は、最適化する対象関数、最適化に必要な要求精度、および対象関数を凸関数にする最適解のための検索領域を入力する機能と、最適解の検索領域から最適解の検索を開始するために凸対象関数を入力する機能と、検出した検索開始点に基づいて最適解を検出する機能とを備えている、最適化デバイスを開示している。
【００２２】
１９９８年７月１４日にＴｓａｉに発行され、“Ｏｐｔｉｍｉｚａｔｉｏｎ  ｍｅｔｈｏｄ  ａｎｄ  ｓｙｓｔｅｍ  ｈａｖｉｎｇ  ｍｕｌｔｉｐｌｅ  ｉｎｐｕｔｓ  ａｎｄ  ｍｕｌｔｉｐｌｅ  ｏｕｔｐｕｔ−ｒｅｓｐｏｎｓｅｓ”（多数の入力および多数の出力応答を有する最適化方法およびシステム）と題する米国特許第５，７８１，４３０号は、多数の入力および多数の出力応答を有するプロセスの定常状態性能を最適化する方法およびシステムを開示する。この方法およびシステムは、応答表面モデル（ＲＳＭ）モジュールを利用し、プロセスの名目的、統計的、そして多基準性能を最適化する、一元化した系統的な方法を提供する。このプロセスは、とりわけ、半導体製造プロセスまたはビジネス・プロセスとすることができる。
【００２３】
１９９９年９月１４日にＫｕｒｔｚｂｅｒｇ，ｅｔａｌ．に発行され、“Ｍｅｔｈｏｄ  ｅｍｐｌｏｙｉｎｇ  ａ  ｂａｃｋ−ｐｒｏｐａｇａｔｉｎｇ  ｔｅｃｈｎｉｑｕｅ  ｆｏｒ  ｍａｎｕｆａｃｔｕｒｉｎｇ  ｐｒｏｃｅｓｓｅｓ”（製造プロセスのための後方伝搬技法を採用する方法）と題する米国特許第５，９５３，２２８号は、指定した最終製品要件ウィンドウに向けて展開し移動する段階に組み込まれた前件プロセスの仕様を系統的に決定することができる方法を開示する。このために、この方法は、指定した最終製品要件ウィンドウを知っている後方伝搬技法を採用する。
【００２４】
２００１年４月１７日にＪａｍｅｓｏｎに発行され、“Ｍｅｔｈｏｄｓ  ａｎｄ  ａｐｐａｒａｔｕｓ  ｆｏｒ  ａｌｌｏｃａｔｉｎｇ  ｒｅｓｏｕｒｃｅｓ  ｉｎ  ｔｈｅ  ｐｒｅｓｅｎｃｅ  ｏｆ  ｕｎｃｅｒｔａｉｎｔｙ”（不確実性がある場合にリソースを割り当てる方法および装置）と題する米国特許第６，２１９，６４９号は、決定論的方法に積み重なる不確実性の存在の下で、リソースを割照る方法を開示し、最初にシナリオ（ｓｃｅｎａｒｉｏ）を作成し最適化する。この発明は、クラスタリング、ライン検索、統計的サンプリング、および最適化のための非バイアス近似（ｕｎｂｉａｓｅｄ  ａｐｐｒｏｘｉｍａｔｉｏｎ）を採用している。クラスタリングは、割り当て問題をより単純な下位問題に分割するために用いられ、最適な割り当ての決定が一層単純となり、しかも高速化する。下位問題の最適割り当ては、ライン検査宇のための空間を規定するために用いられる。ライン検索は、絶えず大きくなる下位問題に対して割り当てを最適化するために用いられる。アンプリングは、割り当てを生成し評価するために用いられるガイディング・ビーコン・シナリオを発現するために用いられる。最適化は、制約、ならびに制約違反の正および負の分枝双方を考慮して行われる。容量計画、組織的リソース割り当て、および財政最適化のためのアプリケーションが紹介されている。
【００２５】
２００１年６月１９日にＦｉｓｈｅｒ−Ｂｉｎｄｅｒに発行され、“Ｐｒｏｃｅｓｓ  ｆｏｒ  ｓｉｚｉｎｇ  ｏｆ  ｃｏｍｐｏｎｅｎｔｓ”（構成要素のサイジングのためのプロセス）と題する米国特許第６，２４９，８９７号は、所与の部品（ｃｏｍｐｏｎｅｎｔｒｙ）、特に電子回路における構成要素のサイジングのためのプロセスを開示しており、特に周辺条件において規定される所定の機能性を実現する。個々の構成要素が有する特性は、本質的に予め決定されており、数式で記述され、これらの構成要素は、所与の部品または電子回路におけるそれらの利用に基づいて相互作用を生成する。数式によって記述される特性および／または相互作用は、コンピュータによって解明され、これによって、要求される構成要素に関する最初に解明した解から得られる結果を、追加の式の解明において用いる。解明、およびこれらの範囲の解明可能性の更なる処置は、所与の電子回路における構成要素のサイジングには実用上の関連はないが、用いられる。
【００２６】
２００３年８月１２日にＲａｉ，ｅｔａｌ．に発行され、“Ｍｅｔｈｏｄ  ｆｏｒ  ｃｏｎｓｔｒｕｃｔｉｎｇ  ｃｏｍｐｏｓｉｔｅ  ｒｅｓｐｏｎｓｅ  ｓｕｒｆａｃｅｓ  ｂｙ  ｃｏｍｂｉｎｉｎｇ  ｎｅｕｒａｌ  ｎｅｔｗｏｒｋｓ  ｗｉｔｈ  ｏｔｈｅｒ  ｉｎｔｅｒｐｏｌａｔｉｏｎ  ｏｒ  ｅｓｔｉｍａｔｉｏｎ  ｔｅｃｈｎｉｑｕｅｓ”（ニューラル・ネットワークを他の補間または推定技法と組み合わせることによって複合応答面を構築する方法）と題する米国特許第６，６０６，６１２号は、従来の応答表面方法論（ＲＳＭ）およびニューラル・ネットワーク送付Ｏの利点を組み込んだ設計最適化方法およびシステムを開示する。この発明は、所与の設計空間のパラメータに基づく区分と呼ばれる方策を採用している。設計手順において、ニューラル・ネットワークおよび多項式はめ込み双方に基づく一連の複合応答表面を用いて、設計空間を横断し、最適解を特定する。複合応答表面は、紛れもなく、ニューラル・ネットワークの力と、低次多項式の経済性（必要なシミュレーション回数、およびネットワーク訓練要件に関して）とを有する。この発明は、多数のパラメータによって設計問題を処理し、設計者に、最終設計に到達する前に、種々のトレードオフの研究を行わせる。
【００２７】
２００３年５月１５日に公開され、“Ｍｅｔｈｏｄ  ｏｆ  ｉｎｔｅｒａｃｔｉｖｅ  ｏｐｔｉｍｉｚａｔｉｏｎ  ｉｎ  ｃｉｒｃｕｉｔ  ｄｅｓｉｇｎ”（回路設計における相互作用最適化の方法）と題するＭｃＣｏｎａｇｈｙの米国特許出願公開第２００３００９３７６３号は、最適化部を用いて、少なくとも１つの最適化設計候補を双方向処理で決定する方法を開示し、最適化部は、生成アルゴリズムと対象関数とを有し、最適化設計候補は、設計問題定義を満足する。この方法は、生成アルゴリズムに基づいて設計候補を生成することから成る。生成された設計候補は、現在の設計候補集合に追加され、新しい設計候補集合を形成する。好ましい設計候補集合に含ませるために、設計候補を選択することができるように、対象関数に基づいて設計候補を評価する。最適化部の現在の状態を、反復検査のために設計者に提示し、最適化部の現在の状態を更新するために、設計者から入力を受け取る。これらのステップは、停止基準を満たすまで繰り返される。
【００２８】
２００３年４月２４日に公開され、“Ｍｅｔｈｏｄ  ｏｆ  ｍｕｌｔｉ−ｔｏｐｏｌｏｇｙ  ｏｐｔｉｍｉｚａｔｉｏｎ”（多トポロジ最適化の方法）と題するＭｃＣｏｎａｇｈｙ  ｅｔ  ａｌ，の米国特許出願公開第２００３００７９１８８号は、トポロジのサイズを決定しつつトポロジを選択する問題に取り組むためにＡＭＳ回路設計において用いられる多重トポロジ最適化の方法を開示する。最初に、設計構成を、既知のトポロジのデータベースから手作業でまたは自動的に選択する。追加のトポロジも同様に設計することができる。候補設計毎に、トポロジ、およびそのトポロジのための１組のパラメータが付随する。単一のトポロジに対する自動サイジングのステップと同様、多重トポロジ最適化は、設計の母集団全体にわたって最適化することを含むが、全てのトポロジを完全に最適化する必要はない。多重トポロジ最適化ステップは、１つ以上の停止基準を満たすまで繰り返される。次いで、サイズが決定した構成を、配置、ルーティング、抽出、および検証に渡す。
【００２９】
２００３年１月９日に公開され、“Ｍｅｔｈｏｄ  ｏｆ  ａｕｔｏｍａｔｉｃａｌｌｙ  ｓｉｚｉｎｇ  ａｎｄ  ｂｉａｓｉｎｇ  ｃｉｒｃｕｉｔｓ”（自動的に回路をサイジングしバイアスする方法）と題するＰｈｅｌｐｓ  ｅｔ  ａｌの米国特許出願公開第２００３０００９７２９号は、回路を自動的にサイジングおよびバイアスする方法を開示しており、集積回路を形成するために利用することができるセルに関連する複数のレコードを含むデータベースを提供する。回路を構成するセルのセル・パラメータを選択し、データベース内に格納されているレコード内にあるセル・パラメータと比較する。この比較に基づいて、データベースの中から１つのレコードを選択し、このレコードから、回路の性能特性を決定する。
【００３０】
２００４年１月２２日に公開され、“Ｍｅｔｈｏｄｏｌｏｇｙ  ｆｏｒ  ｔｈｅ  ｏｐｔｉｍｉｚａｔｉｏｎ  ｏｆ  ｔｅｓｔｉｎｇ  ａｎｄ  ｄｉａｇｎｏｓｉｓ  ｏｆ  ａｎａｌｏｇ  ａｎｄ  ｍｉｘｅｄ  ｓｉｇｎａｌ  ＩＣｓ  ａｎｄ  ｅｍｂｅｄｄｅｄ  ｃｏｒｅｓ”（アナログおよび混合信号ＩＣならびに埋め込みコアの検査および診断の最適化のための方法論）と題する米国特許出願公開第２００４００１５７９３号は、ディジタルおよびアナログ構成要素から成る少なくとも１つのグループを有する集積回路（ＩＣ）を分析する方法を開示し、ＩＣは、複数の回路性能仕様を満たすように設計され、プロセス・ファクタと、以前に規定された１組の電気検査変数とを測定することによって、ＩＣの製作を監視する。１組の線形的に独立した電気検査パラメータを、１組の電気検査変数の部分集合に基づいて形成する。１組のプロセス・ファクタを、線形的に独立した電気検査パラメータにマッピングする。プロセス・ファクタに基づいて、複数の性能係数（ＦＯＭ）性能モデルを形成する。ＦＯＭモデルをマッピングと組み合わせ、線形的に独立した電気検査パラメータに基づいて、ＩＣ性能のモデリングを可能にする。
【００３１】
２００４年４月１日に公開され、“Ｍｅｔｈｏｄ  ｆｏｒ  ｏｐｔｉｍｉｚｉｎｇ  ｔｈｅ  ｃｈａｒａｃｔｅｒｉｓｔｉｃｓ  ｏｆ  ｉｎｔｅｇｒａｔｅｄ  ｃｉｒｃｕｉｔｓ  ｃｏｍｐｏｎｅｎｔｓ  ｆｒｏｍ  ｃｉｒｃｕｉｔ  ｓｐｅｃｉｆｉｃａｔｉｏｎｓ”（回路仕様から集積回路構成要素の特性を最適化する方法）と題するＳａｘｅｎａ，ｅｔ  ａｌ．の米国特許出願公開第２００４００６４２９６号は、デバイスを形成するプロセスを選択する方法を開示し、応答表面方法論モデルを用いて、複数の式を生成することを含む。各式は、それぞれのデバイス・シミュレータ入力パラメータを、デバイスを形成するために用いることができる処理パラメータのそれぞれの組み合わせ、またはデバイス特性のそれぞれの組み合わせに関連付ける。性能係数回路のモデルを形成する。これは、デバイスを組み込もうとする集積回路を表す。複数の式およびデバイス・シミュレータを用いて、処理パラメータの組み合わせまたはデバイス特性の組み合わせの１つを特定し、その結果、性能係数回路に対する１組の性能仕様を満たすデバイスが得られる。
【００３２】
ＭｃＣｏｎａｇｈｙの“Ｔｏｐ−ｄｏｗｎ  ｍｕｌｔｉ−ｏｂｊｅｃｔｉｖｅ  ｄｅｓｉｇｎ  ｍｅｔｈｏｄｏｌｏｇｙ”（トップ・ダウン多目的設計方法論）と題するＰＣＴ出願公開ＷＯ０２／１０３５８１は、回路Ｘをその構成要素｛Ｙｉ｝に分解する階層的サイジング技法を開示する。これらの構成要素Ｙｉの各々について、最適化技法を用いて、実現可能な設計空間（いわゆるパレート・フロント（Ｐａｒｅｔｏ−ｆｒｏｎｔ）の境界において、サンプルを生成する。回路Ｘの合成は、ここでも最適化技法に基づく。この後者の最適化問題では、構成要素Ｙｉに対して生成されたサンプルを候補解として用いる。この技法には重大な欠陥があり、構成要素Ｙに対してサンプルを生成し回路Ｘを合成することが、２つの完全に別個のステップから成るという事実を含む。構成要素Ｙの検索空間において制限された１組の離散サンプルのみを候補解として示唆するので、この方法は、最適に近づく回路Ｘの合成問題に対して解を求めるその能力において厳しく制限される。更に、この技法は、前述の離散サンプルの使用により、効率的な歩留まり推定技法と組み合わせることができない。
【００３３】
注記すべきは、プロセス・コーナ（ｐｒｏｃｅｓｓ  ｃｏｒｎｅｒ）のみを別個に考慮し（いわゆるコーナ分析において）、全ての制約を全てのコーナにおいて満たすように回路を合成することが未だに「業界標準」の慣例となっていることである。例えば、Ｙ．−Ｇ．Ｋｉｍ，Ｊ．−Ｈ．Ｌｅｅ，Ｋ．−Ｈ．Ｋｉｍ，Ｓ．−Ｈ．Ｌｅｅ，“ＳＥＮＳＡＴＩＯＮ：Ａ  ｎｅｗ  ｅｎｖｉｒｏｎｍｅｎｔ  ｆｏｒ  ａｕｔｏｍａｔｉｃ  ｃｉｒｃｕｉｔ  ｏｐｔｉｍｉｚａｔｉｏｎ  ａｎｄ  ｓｔａｔｉｓｔｉｃａｌ  ａｎａｌｙｓｉｓ”（大評判：自動回路最適化および統計的分析のための新たな環境）、ＩＥＥＥ  Ｉｎｔｅｒｎａｔｉｏｎａｌ  Ｓｙｍｐｏｓｉｕｍ  ｏｎ  Ｃｉｒｃｕｉｔｓ  ａｎｄ  Ｓｙｓｔｅｍｓ，１９９３，３−６  Ｍａｙ  １９９３，Ｐａｇｅｓ：１７９７−１８００，ｖｏｌ．３を参照のこと。この手法は、歩留まりのメトリック（ｍｅｔｒｉｃ）の信頼性を落とすことと引換に、回路シミュレーションの回数が多くなること（モンテ・カルロに必要とされるような）を回避する。この問題に取り組む別の従来技術の手法では、Ｋ．Ｊ．Ａｎｔｒｅｉｃｈ，Ｈ．Ｅ．Ｇｒａｅｂ．Ｃ．Ｕ．Ｗｉｅｓｅｒ，“Ｃｉｒｃｕｉｔ  ａｎａｌｙｓｉｓ  ａｎｄ  ｏｐｔｉｍｉｚａｔｉｏｎ  ｄｒｉｖｅｎ  ｂｙ  ｗｏｒｓｔ−ｃａｓｅ  ｄｉｓｔａｎｃｅｓ”（ワースト・ケース距離によって駆動する回路分析および最適化）、ＩＥＥＥ  Ｔｒａｎｓａｃｔｉｏｎｓ  ｏｎ  Ｃｏｍｐｕｔｅｒ−Ａｉｄｅｄ  Ｄｅｓｉｇｎ  ｏｆ  Ｉｎｔｅｇｒａｔｅｄ  Ｃｉｒｃｕｉｔｓ  ａｎｄ  Ｓｙｓｔｅｍｓ，Ｖｏｌｕｍｅ：１３，Ｉｓｓｕｅ：１，Ｊａｎ，１９９４，Ｐａｇｅｓ：５７−７１に記載されているように、プロセス・コーナを用いる代わりに、ワースト・ケース距離点（ｗｏｒｓｔ−ｃａｓｅ  ｄｉｓｔａｎｃｅ  ｐｏｉｎｔｓ）の使用を伴う。この手法にはある種の長所があるが、モデル利用せず（回路シミュレーションのみ）、真の階層的サイジングも用いない（むしろ平面サイジングのみ）。
【００３４】
格付けは、計算集約問題を「分割し克服」するための数値最適化において用いられる共通の技法であり、より故意に単純にした仮定に基づいて粗い結果を最初に得て、次いで、問題解決においてより精度の高いパラメータまたは詳細を人手でまたは自動的に導入することによって、連続的に精度を高めた結果を得る。「粗い」結果は、したがって、開始点として用いられ、これに基づいて、徐々に精細化した（したがって、より最適化した）解を得る。この同じ技法は概念的にＡＭＳ回路設計に摘要可能である。しかしながら、従来技術は一般に、設計の実現可能性要件を満たしつつこれらの格付け技法を用いて迅速に最適設計に到達するための系統的かつ効果的な方法が欠けている。
【００３５】
前述に基づいて、従来技術は一般に階層的サイジング手法の有用性を認識しているが、この手法を用いることに伴う問題および複雑さの多くに的確に取り組めないことは明白であろう。即ち、従来技術の設計方法は、設計プロセスの各ステップを、そのステップを実施するために用いられるアルゴリズムの形式と緊密に結合する。これは、ＡＭＳ設計プロセスにおいてトレードオフを行う際に、設計者に柔軟性を提供しない。
【００３６】
必要とされているのは、前述の階層的手法を利用する柔軟性のある方法および装置である。このような改良した方法および装置は、歩留まり分析（例えば、ＲＳＭに基づく歩留まり予測）、および種々のコーナまたは距離技法（例えば、ワースト・ケース・コーナおよびワースト・ケース距離）と組み合わせることができるのが理想的である。このような改良した方法および装置は、更に、階層的サイジング方法における実現可能性モデルと互換性があり、階層の個々のレベルにおいて得られる結果が、他のレベル（それより下を含む）においても有効であることにより、コストがかかる計算反復を回避する。
【００３７】
更に、このような改良した方法および装置は、格付け技法の使用も選択肢として可能であり、１つ以上のサイジング変数の分解能を高めることによって、連続的に精度を高めた回路設計を得ることができ、これによって、直前のステップの（費用のかかる）数値計算の全てを繰り返す必要なく、格付けを行うことができる。
【発明の開示】
【発明が解決しようとする課題】
【００３８】
本発明は、電子回路を設計するための改良した方法および装置を提供することにより、前述の要望に対処する。
【課題を解決するための手段】
【００３９】
本発明の第１の態様では、電子回路を設計する改良した設計方法が開示され、この方法は、概略的に、実質的に階層的なフローを有する設計プロセスを実行し、実質的に階層的なフローには複数のサイジング・ステップが伴う。実施形態の一例では、複数のサイジング・ステップの少なくとも一部が検証ステップも備えており、サイジング・ステップの所与の１つに対する検証ステップの正常な完了が後続のサイジング・ステップ（複数のステップ）の少なくとも１つの完了に対する状態の前例を構成する。
【００４０】
本発明の第２の態様において、電子回路を設計する改良された方法が開示され、この方法は、概略的に、複数の設計反復を実行し、反復の少なくとも一部が、設計モデルを用いて回路の候補設計の少なくとも一部を評価することを含む。実施形態の一例では、第１の反復において用いられる設計モデルは、繰り返しの他の１つで用いられるそれとは異なる。
【００４１】
本発明の第３の態様において、複数のデータを格納するように適合化されたコンピュータ読み取り可能媒体が開示される。実施形態の一例では、複数のデータは、コンピュータ・プログラムを含み、このプログラムは、電子回路の設計を生成するための階層的設計プロセスを実装するように適合化されており、このプロセスは、複数のレベルを有し、少なくとも１つの実現可能性モデルを用いて設計の１つ以上の側面を評価し、少なくとも１つの実現可能性モデルを少なくとも部分的に最適化を生成するために用いることから成り、レベルの内第１のレベルにおいて生成される最適化を、設計プロセスの少なくとも１つの後続レベルにおいて検証する。一変形では、コンピュータ読み取り可能媒体は、マイクロコンピュータ・システムのハード・ディスク・ドライブ（ＨＤＤ）から成る。
【００４２】
本発明の第４の態様では、階層的プロセスにしたがって電子回路を設計する改良された方法が開示され、この方法は、概略的に、複数の設計段階を備えている設計プロセスを実行し、段階の少なくとも一部が少なくとも１つの実現可能性モデルの使用を含み、少なくとも１つの実現可能性モデルを部分的に用いて最適化を生成することを含む。実施形態の一例では、段階の少なくとも一部の第１段階において生成された最適化を、設計プロセスの少なくとも１つの後続段階において検証する。
【００４３】
本発明の第５の態様では、混成信号回路設計を効率的に生成するように適合化された、改良されたコンピュータ装置が開示される。実施形態の一例では、この装置は、プロセッサと、プロセッサに動作的に結合され、ユーザから複数の入力を受け取るように適合化された入力デバイスであって、入力が少なくとも部分的に、回路設計に付随する設計パラメータに関係する、入力デバイスと、プロセッサ上で実行するように適合化されたコンピュータ・プログラムとを備えている。コンピュータ・プログラムは、複数のレベルを有する階層的設計プロセスを実施するように適合化され、少なくとも１つの実現可能性モデルを用いて設計の１つ以上の側面を評価するように構成されており、少なくとも１つの実現可能性モデルを少なくとも部分的に最適化を生成するために用いる。レベルの内第１のレベルにおいて生成される最適化を、設計プロセスの少なくとも１つの後続レベルにおいて検証する。
【００４４】
本発明の第６の態様では、電子回路を生産する改良された方法が開示され、概略的に、複数の設計レベルにおけるモデルの評価を含む設計プロセスを実行し、レベルが異なる度合いの抽象化であり、レベルの少なくとも１つに対する評価を実行した後に、設計に対するプロセス歩留まりの効果を評価することから成る。
【００４５】
本発明の第７の態様では、混成信号回路が開示され、この回路は、実質的に階層的なフローを有する設計最適化プロセスを実行することから成るプロセスによって生成され、実質的に階層的なフローは、複数のサイジング・ステップが関連付けられており、最適化プロセスの次元は、階層の最低レベルに付随する設計偏すの数よりも少ない。
【００４６】
本発明の第８の態様では、設計階層を用いて回路を設計する改良された方法でが開示され、この方法は、概略的に、階層の第１のより低いレベルと関連付けられた少なくとも１つの性能メトリックに対して少なくとも１つの値を特定し、階層的プロセスの第１のより高いレベルと関連付けられた少なくとも１つの性能メトリックが実質的に最適化されるように、少なくとも１つの値を選択し、続いて、階層プロセスの第２のより高いレベルと関連付けられた少なくとも１つの性能メトリックを実現するように、階層の第２のより低いレベルにおいて１組の性能メトリックを特定することから成る。
【００４７】
第９の態様では、実質的に階層的なプロセスを用いて電子回路を設計する改良された方法を開示し、この方法は、概略的に、階層における第１のレベルに対して、少なくとも１つの実現可能性または性能モデルを構成し、少なくとも１つの実現可能性または性能モデルを構成し、階層における第２レベルに対して、少なくとも１つのサイジング・ステップを実行し、少なくとも１つのサイジング・ステップが、少なくとも１つのモデルを用いて、指定された問題を解くことを含む。実施形態の一例では、実質的に階層的なプロセスは、０からｎまでの複数のレベルｌから成り、階層において、第１レベルは第２レベルよりも低く、前述の方法は、少なくとも１つの階層モデルの構成を行い、この構成は、レベルｌにおいて少なくとも１つのブロックｂを含む、レベルｌ＝（ｎ−１）．．．（０）に対して、レベルｌ＋１に対して少なくとも１つの実現可能性または性能モデルを構成し、少なくとも１つの階層的サイジングを実行し、サイジングが、レベルｌにおいて少なくとも１つのブロックｂを含む、レベルｌ＝（０）．．．（ｎ−１）に対して、少なくとも１つのモデルに部分的に基づいて、少なくとも１つの問題を解き、少なくとも１つのモデルを精細化することから成る。
【００４８】
本発明の第１０の態様では、電子回路設計を検証する改良された方法が開示され、設計の個々の構成要素に付随する複数の挙動記述を得て、ソフトウェア・ルーチンにおいて記述を設定し、ルーチンは、複数の刺激を与えるように適合化され、かつ回路の性能を測定する際に有用であり、刺激の印加に基づいて回路の応答を判定し、応答を分析して、それから少なくとも１つの性能メトリックを導出し、回路設計の制約を受ける部分に対して、少なくとも１つの制約を評価することから成る。
【００４９】
本発明の第１１の態様では、階層的プロセスを用いて回路設計の少なくとも一部を評価する方法が開示され、この方法は、概略的に、第１対象設計点を生成し、階層内における第１レベルにおいて、設計点の容認可能性を評価し、階層内における第２レベルにおいて、設計点の容認可能性を評価することから成り、設計点が、第１レベルでは容認可能であるが、第２レベルでは容認可能ではない場合、設計点を生成するために用いた１つ以上のモデルの有効性を評価する。
を実行する、方法。
【００５０】
本発明の前述のおよびその他の特徴ならびに利点について、添付図面および図と共に読む代表的実施形態の以下の詳細な説明において、以下に説明する。図面においては、同様の参照番号を用いて同様のシステム部分および／または方法ステップの同一物を識別する。
【実施例】
【００５１】
これより、図面を参照するが、同様の番号は全体を通じて同様の部分を示すものとする。
ここで用いる場合、「アナログ−混合回路設計」または「ＡＭＳ設計」とは、電子回路の設計、検査、検証、または評価に関する、手作業または自動化されたあらゆる活動を含むことを意図する。このような設計は、例えば、集積回路を構成するものに関係する場合がある。
【００５２】
ここで用いる場合、「集積回路（ＩＣ）」という用語は、あらゆる集積レベルを有するあらゆる種類のデバイス（限定ではなく、ＵＬＳＩ、ＶＬＳＩ、およびＬＳＩを含む）を示し、プロセスや基本材料（限定ではなく、Ｓｉ、ＳｉＧｅ、ＣＭＯＳおよびＧＡｓを含む）には無関係である。ＩＣは、例えば、メモリ・デバイス（例えば、ＤＲＡＭ、ＳＲＡＭ、ＤＤＲＡＭ、ＥＥＰＲＯＭ／Ｆｌａｓｈ、ＲＯＭ）、ディジタル・プロセッサ、ＳｏＣデバイス、ＦＰＧＡ、ＡＳＩＣ、ＡＤＣ、ＤＡＣ、送受信機、増幅器、共振器、変調器、およびその他のデバイス、ならびにそのあらゆる組み合わせを含むことができる。
【００５３】
ここで用いる場合、「ディジタル・プロセッサ」という用語は、総じて、全ての種類のディジタル処理デバイスを含むことを意図しており、限定ではなく、ディジタル信号プロセッサ（ＤＳＰ）、少数命令セット・コンピュータ（ＲＩＳＣ）、汎用（ＣＩＳＣ）プロセッサ、マイクロプロセッサ、ゲート・アレイ（例えば、ＦＰＧＡ）、特定用途集積回路（ＡＳＩＣ）を含む。このようなディジタル・プロセッサは、１つの一元ＩＣダイに内蔵することができ、または多数のコンポーネントにまたがって分散することができる。
【００５４】
ここで用いる場合、「コンピュータ・プログラム」、「ルーチン」、および「サブルーチン」という用語は、実質的に同義語であり、「コンピュータ・プログラム」は通例、後者の２つの要素の集合即ちグループを記述するために用いられる（がそれだけではない）。このようなプログラムおよびルーチン／サブルーチンは、限定ではなく、Ｃ／Ｃ＋＋、Ｆｏｒｔｒａｎ、ＣＯＢＯＬ、ＰＡＳＣＡＬ、アセンブリ言語、マークアップ言語（例えば、ＨＴＭＬ、ＳＧＭＬ、ＸＭＬ、ＶｏＸＭＬ）等、ならびに共通オブジェクト要求ブローカ・アーキテクチャ（ＣＯＲＢＡ）、Ｊａｖａ（登録商標）（Ｊ２ＭＥ、Ｊａｖａ（登録商標）  Ｂｅａｎｓ等を含む）等のようなオブジェクト指向環境を含むいずれの言語でも表すことができる。しかしながら、一般に、前述の用語の全ては、ここでは、所与の目的を遂行するために順次実行されるいずれの一連の論理ステップをも包含することを意図している。
【００５５】
ここで用いる場合、「設計フロー」という用語は、総じて、順次、並行して、および／または繰り返し実行し、１つ以上の設計目標を満たす回路設計を達成するための機能的に区別可能な回路設計活動の集合体に言及することを意図している。
【００５６】
この中に含まれるハードウェア記述言語（ＨＤＬ）またはＶＨＳＩＣ  ＨＤＬ（ＶＨＤＬ）に対して参照する場合はいつでも、限定ではなく、Ｖｅｒｉｌｏｇ（登録商標）、ＶＨＤＬ、Ｓｙｓｍｔｅｓ  Ｃ、Ｊａｖａ（登録商標）、またはその他のあらゆるプログラミング言語に基づく設計の表現というような全てのハードウェア記述言語および関連する言語を含むことも意図している。
【００５７】
ここで用いる場合、「ユーザ・インターフェース」という用語またはＵＩは、一人以上のユーザとシステムとの間の一方向または多方向双方向処理を可能にするように適合化されたあらゆるヒューマン／システム・インターフェースを示すものとする。ユーザ・インターフェースは、限定ではなく、グラフィカルＵＩ、音声またはオーディオＵＩ、有形ＵＩ、および仮想ＵＩ（例えば、仮想現実）をも含む。
【００５８】
（全体像）
本発明は、ＡＭＳ回路を含む電子回路を精度高くしかも効率的に設計するための、改良した方法および装置から成る。
一般に、本発明は、性能および／または実現可能性モデルの柔軟かつ強力に利用する階層的設計およびサイジング・フローを提供する。これらのモデルは、例えば、設計プロセスの一部として、生産歩留まりを明示的に考慮に入れるための用いることができる。一実施形態では、本発明は、コンピュータ・システム上で実行し、高度に自動化され効率液に設計プロセスを実行するように適合化されたコンピュータ・プログラム（または１組の関連プログラム）から成る。
【００５９】
本発明のサイジング・フローの一例は、一連の「基本」サイジング・フロー・ステップから成る。基本サイジング・フロー・ステップは、アナログまたは混合信号電子システム、またはその一部の記述を、次の階層レベルに変換（即ち、合成）する。各異本サイジング・ステップは、当該サイジング・ステップにＴＩＡする制約を満たすか否か判定するための検証ステップに従わなければならない。検証ステップは、通例、電子回路シミュレータ（例えば、ＳＰＥＣＴＲＥ（登録商標）、ＨＳＰＩＣＥ（登録商標）、ＥＬＤＯ（登録商標）等）または挙動シミュレータ（例えば、ＶＨＤＬ−ＡＭＤシミュレータ）を用いて実行するが、他の方法も利用することができる。
本発明の装置は、前述のコンピュータ・プログラム（複数のプログラム）を実行するように適合化されたコンピュータ・システム、およびこのプログラム（複数のプログラム）を用いて設計されるＡＭＳ集積回路を含む。
【００６０】
（階層的手法の論述）
最初に、本発明において採用する階層的手法の一例の全体的な特質について論ずることが、後に詳細な説明に背景を与えるのに有用である。
先に参照したように、従来技術の階層的モデルを用いたサイジングと、真に階層的なサイジング手法との間には、突出した重要な相違がある。以下の詳細な例が、これらの差異、および本発明の固有の利点を明確に示す。
【００６１】
２つのサブブロックＣ１およびＣ２（図２ａ参照）に細分割することができる電子回路Ｂを考える。簡略化のために、Ｂの性能は、１つの性能メトリックｘ（０）０によって与えられると仮定する。性能メトリックは、一般に、構築ブロックの挙動に関する情報を提供する数量（ｆｉｇｕｒｅ）から成る。例えば、構築ブロックＢが増幅器から成る場合、関係Ｏ（ｔ）＝ｈ（Ｉ（ｔ））を満たす。性能メトリックは、低周波数利得を含む場合がある。即ち、
【数１】
2008502033.tif 000002
ここで、Ｆｏｕｒ｛｝は、フーリエ変換を表す。１つの有用なサイジングの目標は、最適な性能を与える回路Ｂを作成することである。
【００６２】
サブブロックＣｌの挙動は、その設計変数ｘ（２）ｉ，ｉ＝０，．．．１４によって決定される。同様に、サブブロックＣ２の挙動は、その設計変数ｘ（２）ｉ，ｉ＝１５，．．．３４によって決定される。尚、本例で用いられる数値０．．．３、０．．．１４、１５．．．３４、０．．．３４は、単なる例に過ぎず、個々の研究する事例に応じて、完全に異なる値を取ることもできる。
【００６３】
Ｂの挙動（そして性能も）はＣ１およびＣ２の挙動によって完全に決定されるという事実に鑑み、推移性（ｔｒａｎｓｉｔｉｖｉｔｙ）によって、Ｂの挙動および性能は、ｘ（２）ｉ，ｉ＝０，．．．３４によって決定される。これは、象徴的に次のように表すことができる。
【数２】
2008502033.tif 000003
次いで、サイジングの目標は、以下のようにＸ（２）＊を求めることになる。
【数３】
2008502033.tif 000004
一般に、関係Ｆ（）は、未知であり、決定するのは恐らく最も難しい。通常、この関係は非常に複雑なので、（費用のかかる）回路シミュレーションを実行することによってでないとサンプリングすることができない。
【００６４】
図２ａを参照して、サブブロックＣ１  ２０２の２０４性能メトリックｘ（１）ｉ，ｉ＝０．．．３についてこれより検討する。このメトリック集合によって、この例におけるＣ１  ２０２の挙動の十分に高い精度での記述が可能となる。同様の仮定を、サブブロックＣ２  ２０６の２０８性能メトリックｘ（１）ｉ，ｉ＝４．．．８についても行う。
底位設計変数（前述のような）に関して直ちにではなく、下位の性能メトリックｘ（１）ｉ，ｉ＝０．．．８に関する上位性能メトリックｘ（０）ｏの書き込みは、通例、複雑度が低い作業であり、あるいは少なくとも、伴う変数が少ない程、必要なシミュレーションも費用がかからないで済む。以下の式４を参照のこと。
【数４】
2008502033.tif 000005
この関数関係を図２ｂの最上部分２３０に図で示す。
【００６５】
ブロックＣ１  ２０２の性能メトリック（ｘ（１）ｉ，ｉ＝０．．．３）も、低位性能メトリックｘ（２）ｉ，ｉ＝０．．．１４に関して書くことができる（この場合、底位設計変数）。
【数５】
2008502033.tif 000006
同様に、ブロックＣ２  ２０６についても、
【数６】
2008502033.tif 000007
次いで、モジュール集合
【数７】
2008502033.tif 000008
は、その底位設計変数に関して、Ｂの性能の完全な階層的記述を構成する。
【００６６】
以上の文脈では、従来技術の「階層的モデル」手法の使用と、本発明のそれのような「真の」階層的手法の使用との間の差異の本質を、明確に認識することができる。即ち、階層的モデルを用いたサイジングはなおも１ステップで問題を解決しようとする。即ち、最上位性能が最適となるように、底位設計変数に対して最良の値を得ようとする。この技法から、モデルＭの集合が必要とするＣＰＵ時間が、シミュレーションを全て実行するまたは複雑なモデルＦを評価する場合よりも短くて済むことが多いという便益が得られる。しかしながら、この技法の重大な欠点は、最適化問題の次元が、なおも底位設計変数の数に等しいことである（即ち、図２ａおよび図２ｂの例において３５）。
【００６７】
対照的に、本発明の真の階層的サイジング手法は、最初に、最上位の性能が最適となるように、低位性能メトリック（ｘ（１）ｉ，ｉ＝０．．．８）に対する最良の値を求めようとし、続く階層的ステップにおいて、ブロックＣ１  ２０２ｘ（１）ｉ，ｉ＝０．．．３の性能が実現されるように、更に低いレベルの性能メトリックｘ（０）ｉ，ｉ＝０．．．１４の集合を求めようとし（即ち、図示の例における底位設計変数）、ブロックＣ２  ２０６についても同様に行う。
【００６８】
この後者の手法による大きな便益の１つは、付随する最適化問題の次元数が遥かに少ないことである（従来技術の手法の下ではｎ＝３５であるのに対して、図示の例では、ｎ＝９、ｎ＝１５、およびｎ＝２０）。しかしながら、この単一階層的サイジング・ステップ手法では、下位メトリック集合（サイジング・ステップの結果）が実現可能であること、即ち、個々の値を実現するように下位ブロックを組み立てられることが必要である。この要件に対処するために、本発明の実施形態の一例（以下で説明する）では、実現可能性モデルを用いる。
【００６９】
したがって、以上のことから、階層的モデルを用いる従来技術のサイジング手法は、総じて、評価およびシミュレーション・プロセスにおける高速化の恩恵を受けるに過ぎず、一方本発明による「真の」階層的サイジングは、（ｉ）評価およびシミュレーション・プロセスにおける高速化、ならびに（ｉｉ）この手法において行われる階層分割による問題サイズ／複雑度の低下双方の恩恵を受ける。
【００７０】
更に、前述の例では、制約または負荷効果（Ｃ１  ２０２からＣ２  ２０６に対する、またはその逆）が明示的に考慮されないことも認められよう。しかしながら、これらの効果は、階層的サイジング・プロセスの一部として、その有効性を低下させることなく、考慮に入れることができる利点がある。
【００７１】
（実施形態例の説明）
本発明の方法および装置の実施形態例についてこれより詳細に説明する。
これらの実施形態の文脈では、設計階層において数個の異なるレベルを定義することが有用である。即ち、「Ｄ」、「Ｃ」、「Ｂ」および「Ａ」レベルを構成する。これより更に詳細に説明する。
【００７２】
「デバイス・レベル」または「Ｄ−レベル」とは、回路の最も詳しい記述のことである。例えば、個々のデバイス各々の製造情報は、この底位レベルに格納するとよい。これは、例えば、ゲートの幅および長さ、ＭＯＳトランジスタの最少デバイス面積（一致のため）、ならびにコンデンサおよび抵抗器の値を含むことができるが、これらに限定されるのではない。これは、レイアウトを生成するために通例用いられる情報である。これを首尾良く行うために、このレベルにおいて全てのレイアウト制約が得られなければならない。これは、例えば、対称特性である（がこれに制限されるのではない）。Ｄ−レベルは、提示するサイジング技法の最終的設計レベルである。これは、後続のレイアウト生成に対しては開始レベルである。
【００７３】
「回路レベル」または「Ｃ−レベル」は、Ｄ−レベルの次に高い記述レベルのことである。このレベルにおける回路ブロックは、トポロジの形態の電子デバイスの機能的集合である。Ｃ−レベル回路ブロックは、Ｄ−レベルの電子デバイスのみを含むことができる。このレベルにおけるシミュレーションは、例えば、ここで既に参照した、市販されており周知のＳｐｅｃｔｒｅ、ＨＳｐｉｃｅ、またはＥｌｄｏのような、回路レベル・シミュレータを用いて実行する。Ｃ−レベル・ブロックは、例えば、増幅器、共通モード・フィードバック回路、比較器、位相周波数検出器を備えることができる。Ｃ−レベル・ブロックの主要な特徴は、（ｉ）電気保存則（例えば、キルヒホッフの法則）によって支配されること、および（ｉｉ）電子デバイスのみのトポロジであること（即ち、そのサイジング全体を終了するには、後続のサイジング・ステップは１下位で十分である）である。
【００７４】
「構築ブロック・レベル」即ち「Ｂ−レベル」は、Ｄ−レベルおよびＣ−レベル・ブロックの集合のことである。これらは、例えば、オペアンプ、比較器、バッファ、およびＶＣＯを備えることができる。Ｂ−レベル・ブロックは、他のＢ−レベルまたはＣ−レベルのサブブロックまたは（Ｄ−レベル）電子デバイスでさえも含むことができる。Ｂ−レベル・ブロックでは、異なる実施態様（即ち、異なる回路トポロジ）、およびこれらのブロックに対するパラメータの対応する記述のみが存在することができる。例えば、オペアンプ（即ち、Ｂ−レベル・ブロック）は、そのＤＣ利得およびオフセットから成るパラメータ記述を有することができる。Ｂ−レベル・ブロックは、通例、デバイス・トポロジとデバイス・レベルでモデル化されていないが、より上位の抽象的レベルで、例えば、ハードウェア記述言語（ＨＤＬ）、数学的モデリング言語、またはプログラミング言語を用いてモデル化された何らかのブロックとの混合から成るネットリストを有する。これは、例えば、Ｖｅｒｉｌｏｇ−ＡまたはＶＨＤＬ−ＡＭＳ、ＭＡＴＬＡＢ、あるいはＣ＋＋とすることができる。このように、Ｂ−エンティティのシミュレーションは、例えば、周知のＳＰＥＣＴＲＥソフトウェア（Ｃａｄｅｎｃｅ  Ｄｅｓｉｇｎ  Ｓｙｓｔｅｍｓ，Ｉｎｃ．からの混合レベル・シミュレータ）のような混合レベル・シミュレータを必要とする。
【００７５】
Ｂ−レベル・ブロックの主要な特徴は、（ｉ）これが電気保存則（例えば、キルヒホッフの法則）によって支配されること、および（ｉｉ）単なる電子デバイス以上のもの（即ち、後続のサイジング・ステップを必要とするサブブロック）を含むことである。
最後に、「アーキテクチャ・レベル」即ち「Ａ−レベル」は、設計フローの最上レベルのことである。これらは、例えば、アナログ／ディジタルおよびディジタル／アナログ変換器（ＤＡＣおよびＡＤＣ）、ミキサ、可変利得増幅器（ＶＧＡ）である（がこれらに制限されるのではない）。Ａ−レベル・ブロックは、他のＡ−レベル、Ｂ−レベル、またはＣ−レベル・サブブロック、あるいは（Ｄ−レベル）電子デバイスでさえも含むことができる。
Ａ−レベルの主要な特徴は、それらの動作およびその記述が、必ずしも電気保存則（例えば、キルヒホッフの法則）によって支配されないことである。トップ・ダウン設計方法論では、Ａ−レベルは、通例、回路設計を開始するレベルである。
【００７６】
これより図２ｃから図６を参照して、本発明によるサイジング・フロー方法論の実施形態例についてここで説明する。このようなフローの典型的な入口点は、アーキテクチャ（Ａ）レベル、例えば、１組の所望の使用を有するパイプライン状ディジタル／アナログ変換器（ＰＬ−ＡＤＣ）の記述である。典型的な出力は、完全にサイズが決められ、システムを実施する上位の構成に組み込まれるデバイス・レベル構成のリストから成る。しかしながら、代わりの入口点（例えば、オペアンプのような単一のアナログ構築ブロック）、および出口点（例えば、所与のアーキテクチャおよび使用に対するトポロジの選択）でさえも、本発明にしたがって利用することができる。しかしながら、後者は実際には行われる可能性がいくらか低くなる。
【００７７】
先に参照したレベルの一部は再帰的に定義できるという事実に鑑み、インデックスを各レベルに付加することにより、レベルの概念をより抽象的に扱うことにする。開始（例えば、Ａ）レベルについてｌ＝０とし、全体的にレベルが下がるにしたがってインデックスは増加する。しかしながら、他のインデックスや命名方式を用いてもよく、前述したことは単なる例示であることは認められよう。加えて、例えば、アーキテクチャ・レベル全体が必要でない場合、あるいは逆に、多数のアーキテクチャ・レベルが望まれる場合というように、適用可能とする階層レベルを増減して用いることもできる。
【００７８】
図２ｃの一次表現には、これらのレベル全体を通過する論理シーケンス２２０が示されている（ｌ＝０がＡ−レベル２４２、ｌ＝１がＢ−レベル２４４、ｌ＝２がＣ−レベル２４６、そしてｌ＝３がＤ−レベル２４８と仮定する）。図２ｃに示す抽象レベル２２２は、概してユーザにとって最も直感的であるように選択したが、他の基準を利用してもよい。しかしながら、図２ｃのサイジング・フロー・シーケンスを厳密に施行する必要ないことを注記しておく。例えば、Ｃ−エンティティがＡ−レベル（例えば、出力ラッチ）にあってもよく、あるいはＤ−エンティティがＢ−レベル（例えば、ＳＣ−回路におけるフィードバック・コンデンサ）にあってもよい。これは、全く問題を起こすことはなく、むしろこれらのサイジングおよび検証ステップを行うために必要なデータに互換性があればよい。したがって、図２ｃの基本フローの数列は、本発明との一貫性を保って存在することができる。
【００７９】
図２ｃの方法の各サイジング・ステップには、対応する検証ステップが付随する（図３に示すように）。いずれの所与のレベルにおいても、そのレベルにおいてデータの検証が成功しており、そのレベルにおいて設計が容認可能である（例えば、この中で後に更に詳細に説明するような「サイン・オフ」）と見なされていなければ、それ以上のサイジングを実行しない。ここに、本発明の重大な利点がある。即ち、各レベルにおいて、実施的に単一方向フローによってサイジングが行われ、これによって下位レベルの結果から上位レベルに検証のために繰り返し戻る必要が殆どなくなる。
【００８０】
しかしながら、図３に示す検証プロセスは、例示の目的のために、過剰に簡略化されていることは認められよう。実際には、ユーザは、少なくとも１つの追加の最終検証プロセスを必要とし、上位レベルの１つ、またはシステム・レベル（シミュレーション時間に関して実現可能であれば）においてでさえも、シミュレーションにおけるデバイス・レベルで全てのブロックをモデル化する。この後者のシミュレーションを、特に、２つよりも多い階層レベルにわたる検証ステップを追加することによって、図４に示す。
【００８１】
データの定義（階層の各レベルにおける）は、図２ｃのサイジング・フローを理解するためには、極めて重要である。階層の各レベルに格納されている情報の知識は、関連するサイジング方法の全てとの互換性を確保するためには、非常に重要である。したがって、所与のレベルｌにおける所与のエンティティに対するデータは、以下のカテゴリに細分化することができる。
【００８２】
１．変数（ｘ（ｌ））−エンティティの挙動のあらゆる側面を記述するために変数を用いる。変数は、これらが添付されるエンティティに対して一意の名称を有し、例えば、連続型（即ち、実数）、および離散型（即ち、整数）（には限定されないが）を含むいずれの型でも可能である。尚、値は一般に変数には割り当てられないことを注記しておく。この特徴を達成するために、以下で更に詳しく説明するように、制約の使用が必要となる。回路に対する歩留まりを推定するために、変数集合には、モデル（例えば、確率的）が添付されている。
変数カテゴリは、更に、以下のように細分化される。
【００８３】
ａ）非制約変数（ｘ（ｌ）ｕ）−非制約関数は、通例、エンティティに対するアイジング方法の費用関数に用いられる。非制約変数の例には、限定ではなく、合成したエンティティのパワーおよび面積が含まれる。レベルｌにおける全ての非制約関数の集合を一例の表記Ｘ（ｌ）ｕで示す。
ｂ）制約変数（ｘ（ｌ）ｃ）−制約関数は、エンティティに対する制約に用いられ、所望の結果を得るために、サイジング・プロセスにおいて用いられる。制約関数の例には、例えば、ＡＤＣ（Ａ−レベル）のサンプリング周波数、ならびにデバイス（Ｄ−レベル）のゲート幅および長さが含まれる。レベルｌにおける全ての制約関数の集合を一例の表記Ｘ（ｌ）ｃで示す。
尚、変数の前述のカテゴリ（制約および非制約）の１つへの分類は、変数の本質には依存せず、むしろサイジング対称の本質によって決定され、したがってサイジングを行うユーザによって賦課されることを注記しておく。
【００８４】
２．制約（ｃ（ｌ）（・））−制約は変数Ｘ（ｌ）ｃに賦課される。これらの制約は、エンティティを合成するときに尊重しなければならない。図示した実施形態では、制約関数のフォーマットに対する一般的な制限が賦課されている。しかしながら、サイジング・プロセスの効率は、制約の種類によって左右されることは認められよう。例えば、「凸」制約は、（高速）凸ソルバ（ｃｏｖｅｘ  ｓｏｌｖｅｒ）を展開することによって効率的に用いることができる。周知のように、ベクトルＸ（ｌ）ｃに対する制約は、そのベクトルＸ（ｌ）ｃの実ベクトル関数（ｆ：Ｒｎ→Ｒ：ｙ＝ｆ（Ｘ））に対する不等制約である。
【数８】
2008502033.tif 000009
【００８５】
不等式が「以下」（上の式８におけるように）であり、関数ｆ（Ｘ）が凸である場合、即ち、
【数９】
2008502033.tif 000010
または、不等式が「以上」であり、関数ｆ（Ｘ）が凹である場合、即ち、
【数１０】
2008502033.tif 000011
制約を「凹」と呼ぶ。当技術分野において既知の形式の凹ソルバは、この凹性を利用する（例えば、二重性理論を用いる）。
【００８６】
したがって、制約の完全な集合の各々には、タグまたは同様の機構が付随しているので、最も適切な最適化アルゴリズムを選択することができる。
更に一般的には、図示した実施形態による制約は、不等制約（即ち、ある値以上）または同等制約（ある値と等しい）のいずれかとすることができる。また、任意に、制約には、感度値、またはそれらの重要性に応じて順序付けを行うことができるその他のパラメータも設けることができる。レベルｌにおける全ての制約の集合をＣ（ｌ）で示す。
【００８７】
３．費用関数（ｆ（ｌ）（Ｘ（ｌ）ｕ））−費用関数とは、エンティティのサイジングにおいて最少にすべき関数である。前述の制約と同様、費用関数のフォーマットには、何の制限も賦課されない。しかしながら、丁度制約と同様に、最適化に最も適切なアルゴリズムを特定する目的のために、タグまたはその他の機構が費用関数には付随する。レベルｌにおける全ての費用関数の集合をＦ（ｌ）で示す。
【００８８】
いわゆる「バリア」関数を用いることによって制約付き最適化問題を解く技法では、費用関数は、これら制約関連項と共に増大することによって、制約付き最適化問題を、対応する非制約最適化問題に変換する。周知のように、バリア関数とは、最適化が関連する制約（複数の制約）に違反しないように、非制約費用関数に追加される関数である。例えば、制約付き最適化問題を考える。
Ｘ＊を求める
ｆ０（Ｘ＊）＝ｍｉｎｆ０（Ｘ）となるようにする
ｆｉ（Ｘ＊）＜０，ｉ＝１．．ｍという制約を受ける。
【００８９】
バリア関数を用いてこの問題を解くには、｜｜Ａ｜｜→０について以下の関連する非制約最適化問題を繰り返し解く必要がある。
ｆ０（Ｘ）−ＡＴ．ｌｏｇ（−Ｆ（Ｘ））を最小化するように
Ｘ＊を求める
ここで、
【数１１】
2008502033.tif 000012
【００９０】
上述の定義では、バリア関数として対数を用いているが、単にその具体的な一例に過ぎない。対数は、実現可能な（内点）最適化アルゴリズムを可能にするだけである。他のバリア関数も実現可能な経路アルゴリズムを可能にする場合もある。
【００９１】
４．挙動モデル−挙動モデルとは、その名称が示唆するように、その環境におけるブロックの動作をモデル化し（例えば、その入力／出力挙動）、Ｘ（ｌ）によってパラメータ化する。挙動モデルには、タグを付けるか、あるいは印を付けて、これらをシミュレートすることができる１つ以上のレベルを反映する。
【００９２】
５．構造モデル−構造モデルも、その環境においてブロックの動作をモデル化する（例えば、その入力／出力挙動）。しかしながら、構造モデルは、トポロジ記述である。これは、ブロックを構成する下位ブロックおよび相互接続のリストを含む。構造モデルに現れるパラメータは、したがって、挙動モデルに現れるパラメータＸ（ｌ）ではなく、下位ブロックのパラメータＸ（ｌ＋１）である。
【００９３】
６．性能モデル−性能モデルは、次のレベルのエンティティのＸ（ｌ＋１）の集合を、現エンティティのパラメータＸ（ｌ）の推定値にマッピングする。例えば、性能モデルは、数式または関係、あるいはニューラル・ネットワークから成ることができる。文言上、実数のベクトルを実数上にマッピングする、または実数のベクトル（ベクトル空間における下位空間表面を定義する）上で暗示関数を定義するいずれでも、この目的に用いることができる。一構成例では、回帰によって得られた数式を用いる。
多数の性能モデルも可能であり、サイジング・プロセスに用いることもできる。
【００９４】
図示した実施形態では、格付け機構を用いてモデルを識別する。格付け方式の１つでは、低い等級を精度は低いが評価が速いモデルに割り当て、高い等級を評価は遅いが精度が高いモデルに割り当てる。他の適した方式も、当業者には認められよう。同様に、格付けは、数値（例えば、１から１０）、ファジー、またはベーズ変数（例えば、低劣、普通、良）等のどれを用いるかには係わらず、いずれの異なる様式でも表現することができる。第１等級を用いてモデルの一側面を評価し、第２等級を用いて別の側面を評価するというように、多数の等級を割り当てることもできる。これら２つ以上の等級を評価する複雑な論理関数も任意に採用し、モデル選択のための判断プロセスを設けるようにしてもよい。１つ以上の等級を用いることにより、サイジング・アルゴリズムは、設計点の素早い初期「予想」を得て、（即ち、低い等級のモデルを最初に選択することにより）、続いて最終的な結果のために精度が高い推定に移行することが可能となる。格付けは、いずれの数の手段、例えば、手作業、またはモデル精度推定器を用いても追加することができる。例えば、Ｒ．Ｈ．Ｍｙｅｒｓ，Ｄ．Ｃ．Ｍｏｎｔｇｏｍｅｒｙ，“Ｒｅｓｐｏｎｓｅ  Ｓｕｒｆａｃｅ  Ｍｅｔｈｏｄｏｌｏｇｙ：Ｐｒｏｃｅｓｓ  ａｎｄ  Ｐｒｏｄｕｃｔ  Ｏｐｔｉｍｉｚａｔｉｏｎ  Ｕｓｉｎｇ  Ｄｅｓｉｇｎｅｄ  Ｅｘｐｅｒｉｍｅｎｔｓ”（応答面方法論：設計した実験を用いたプロセスおよび製品の最適化）、２ｎｄ  ｅｄｉｔｉｏｎ，ａ  Ｗｉｌｅｙ−Ｉｎｔｅｒｓｃｉｅｎｃｅ  ｐｕｂｌｉｃａｔｉｏｎ，２００２，ＩＳＢＮ  ０−４７１−４１２５５−４，ｐｐ．１７−８４を参照のこと。その内容は、ここで引用したことにより、本願にも含まれるものとする。しかしながら、他の格付け機構も採用可能であることは、当業者には認められよう。
【００９５】
図示した実施形態の性能モデルは仕様に依存しないので、これらは異なるサイジング問題に再利用することができるという利点がある。
設計「サイン・オフ」に関する性能モデルについての更なる論述を、以下で行う。
【００９６】
７．実現可能性モデル−実現可能性モデルは、Ｘ（ｌ＋１）値の特定の集合が実現可能か否か、即ち、Ｘ（ｌ＋１）を実現するようにサイジングした既存の回路があるか否かを示す。領域の境界は、パレート最適Ｘ（ｌ＋１）値の集合である。前述の性能モデルと同様、格付け機構を用いて、種々のモデルを識別することもできる。例えば、低い等級を精度が低いが評価が速いモデルに割り当て、高い等級を評価が遅いが精度が高いモデルに割り当てる。この場合も、これによって、サイジング・アルゴリズムは設計点の迅速な初期予想を得て、最終結果のために精度が高い推定に移行していくことができる。
【００９７】
格付けは、手作業で、または、性能モデルに関して先に述べたようなモデル精度推定器によって追加することができる。実現可能性モデルも仕様には依存せず、したがって異なるサイジング問題のために再利用することができる。
設計「サイン・オフ」に関する実現可能性モデルの更なる論述を後に行う。
【００９８】
８．推定器（ｅ（ｌ））−推定器は、非制約パラメータＸ（ｌ）ｕを１つ以上の制約付きパラメータＸ（ｌ）ｃの関数としてモデル化する。いくつかの非制約パラメータ（即ち、最適化するパラメータ）が所与のブロックのために構成される実現可能性モデルの一部でない場合、実現可能性モデルの中にある他のパラメータに基づいた、そのパラメータの推定値を与える必要がある。例えば、実現可能性モデルが、ある増幅器について、１ｍＷのみで１００ｄＢの利得と１００ＭＨｚの帯域幅を共に実現できることを示す場合（全てのパラメータは実現可能性モデルの中にある）、推定器を採用して、この増幅器がどのくらいのシリコン面積を費やすか（実際の設計を行うことなく）判定する。
【００９９】
推定器の結果はかならずしも単一点とは限らず（そうなる場合もあるが）、「トレードオフ」曲線、または多次元面から成ることさえあり得る。図示した実施形態では、全ての次のレベルのエンティティの推定器ｅ（ｌ＋１）の結果を組み合わせて、レベルｌのエンティティのサイジングにおいて費用関数ｆ（ｌ）を最適化するために用いる。しかしながら、推定器の結果は、例えば、次のレベルのエンティティの推定器の結果の部分集合のみを組み合わせる場合、または多費用関数の最適化を採用する場合というように、他の方法でも用いられることは認められよう。
【０１００】
この中で前述した性能モデルと同様、本発明の推定器は、数式または関係、あるいはニューラル・ネットで構成することができる。文言上、実数のベクトルを実数上にマッピングする、または実数のベクトル（ベクトル空間における下位空間表面を定義する）上で暗示関数を定義するいずれでも、この目的に用いることができる。例えば、Ｌａｕｗｅｒｓ，Ｅ，Ｇｉｅｌｅｎ  Ｇによる“Ｐｏｗｅｒ  ｅｓｔｉｍａｔｉｏｎ  ｍｅｔｈｏｄｓ  ｆｏｒ  ａｎａｌｏｇ  ｃｉｒｃｕｉｔｓ  ｆｏｒ  ａｒｃｈｉｔｅｃｔｕｒａｌ  ｅｘｐｌｏｒａｔｉｏｎ  ｏｆ  ｉｎｔｅｇｒａｔｅｄ  ｓｙｓｔｅｍｓ”（集積システムのアーキテクチャ調査のためのアナログ回路の電力推定方法）（Ｖｅｒｙ  Ｌａｒｇｅ  Ｓｃａｌｅ  Ｉｎｔｅｇｒａｔｉｏｎ（ＶＬＳＩ）ｓｙｓｔｅｍｓ，ＩＥＥＥ  Ｔｒａｎｓａｃｔｉｏｎｓ，Ｖｏｌｕｍｅ：１０，Ｉｓｓｕｅ：２，Ａｐｒｉｌ  ２００２  Ｐａｇｅｓ  １５５−１６２（式およびシミュレーションに基づいて推定器を作成する方法を記載する）、またはＶａｎ  ｄｅｒ  Ｐｌａｓ，Ｇ，Ｖａｎｄｅｎｂｕｓｓｃｈｅ，Ｊ，Ｇｉｅｌｅｎ，Ｇ，Ｓａｎｓｅｎ，Ｗの“ＥｓｔｅＭａｔｅ：ａ  ｔｏｏｌ  ｆｏｒ  ａｕｔｏｍａｔｅｄ  ｐｏｗｅｒ  ａｎｄ  ａｒｅａ  ｅｓｔｉｍａｔｉｏｎ  ｉｎ  ａｎａｌｏｇ  ｔｏｐ−ｄｏｗｎ  ｄｅｓｉｇｎ  ａｎｄ  ｓｙｎｔｈｅｓｉｓ”（ＥｓｔｅＭａｔｅ：アナログ・トップ・ダウン設計および合成における自動化電力および面積推定用ツール）（Ｃｕｓｔｏｍ  Ｉｎｔｅｇｒａｔｅｄ  Ｃｉｒｃｕｉｔｓ  Ｃｏｎｆｅｒｅｎｃｅ，１９９７，Ｐｒｏｃｅｅｄｉｎｇｓ  ｏｆ  ｔｈｅ  ＩＥＥＥ  １９９７，５−８  Ｍａｙ  １９９７，Ｐａｇｅｓ  １３９−１４２（ニューラル・ネットワークを用いて推定器を作成する方法を記載する）を参照のこと。
【０１０１】
９．非制約パラメータ・コンバイナ（ｕｐｃ（ｌ））−非制約パラメータ・コンバイナは、下位パラメータの全ての下位（ｌ＋１）個の推定値を組み合わせて、非制約パラメータＸ（ｌ＋１）ｕに対する推定値とする。このコンバイナは、ｌレベル・エンティティのサイジングの間に、費用関数ｆ（ｌ）のために現実的な数量を得るために必要となる。
コンバイナの一例について、これより図２ｄに関して説明する。図２ｄに示すように、レベルＢ上のブロックＢ２５２は、レベルＣ上の２つのブロック（Ｃ１  ２０２およびＣ２  ２０６）から成る。Ｃ１およびＣ２の面積がＣ１およびＣ２の実現可能性モデルの中にないと仮定すると、全面積を含むＢ−ブロックに対する現実可能性モデルを直接作成することはできない。しかしながら、Ｃ１およびＣ２の面積に対する推定器を仮定すると、コンバイナは、
【数１２】
2008502033.tif 000013
ここで、アルファは、相互接続配線面積を考慮に入れるための推定係数であり、Ｂに対して実現可能性モデルを生成するときに、面積を考慮に入れるために用いることができるＢ２５２の総面積に対する推定器が得られる。
【０１０２】
加えて、この中で先に説明した性能および推定器モデルと同様、本発明のコンバイナは数式または関係、あるいはニューラル・ネットワーク、あるいは文言上他のいずれのマッピング・エンティティで構成することもできる。
尚、図示した実施形態（複数の実施形態）の下では、単一目的最適化（ｓｉｎｇｌｅ−ｏｂｊｅｃｔｉｖｅ  ｏｐｔｉｍｉｚａｔｉｏｎ）を用いる必要はないことを注記しておく。例えば、多数の異なる費用関数を集合Ｆに組み合わせることができ、集合Ｆを多目的最適化プロセスの基準とすることができる。単一目的最適化の場合、費用関数を組み合わせ、このように、コンバイナが、ｌ−レベル・エンティティにおいて用いられている全ての次のレベルのエンティティに対する非制約パラメータＸ（ｌ＋１）ｕ間において効果的にトレードオフを実施する。
【０１０３】
１０．検証フレームワーク−検証フレームワークは、（ｉ）現レベルのエンティティについての記述に用いる、次のレベルのエンティティの全ての挙動モデルを組み合わせるため、（ｉｉ）この記述をシミュレートするため、そして（ｉｉｉ）Ｃ（ｌ）によって与えられる仕様と比較することができる変数Ｘ（ｌ）ｕに対する値を抽出するために用いられる。サブブロックＣ１およびＣ２（図２ｄ参照）によって構築された構築ブロックＢの例について検討する。検証フレームワークの一例は、以下のステップを実行することができる。
【０１０４】
１．ネットリスト・コンポーザ（ｎｅｔｌｉｓｔ  ｃｏｍｐｏｓｅｒ）がＣ１およびＣ２の挙動記述（それぞれ、Ｘ（ｌ＋１）Ｃ１およびＸ（ｌ＋１）Ｃ２によってパラメータ化されている）を集約してネットリストにする。
２．テストベンチ・カプセル化器（ｔｅｓｔｂｅｎｃｈ  ｅｎｃａｐｓｕｌａｔｏｒ）がネットリストを適当なテスト・ベンチ内に包み込み、性能を測定するために必要な刺激Ｉを与える。
３．シミュレータが回路の応答Ｏを計算する。
４．抽出器が応答Ｏを分析し、これらから性能メトリックＸ（ｌ）Ｂを導出する。
５．Ｘ（ｌ）Ｂ，ｕの制約付き部分について制約Ｃ（ｌ）をチェックする。
この手順の結果は、指定通りに実行する（またはしない）ブロックＢの検証に対する「ＯＫ」または「非ＯＫ」判断となる。図２ｅは、このプロセスを図で示す。
【０１０５】
前述とは別に、本発明の図示した実施形態は、階層の全てのレベルについて存続する半導体技術データを用いるという利点がある。
尚、先に参照した性能、実現可能性、および挙動モデルは、限定ではなく、応答表面方法（ＲＳＭ）技法およびニューラル・ネットワークの訓練を含む、文言上当業者には周知のモデルはめ込み技法であればいずれを用いても得られることは認められよう。
【０１０６】
加えて、多数の異なる要因が、ここに記載するサイジング・フローの効率を決定するが（とりわけ、どの最適化器を用いるか、どのモデルが利用可能か、そしてどのようにこれらのモデルを効率的に自動的に生成することができるか）、サイジング・フローは個々に行う選択とは無関係に機能するという利点がある。したがって、本発明の方法論は、実質的に個々の最適化器やモデルの選択に対しては「不可知」であり、したがって、広いスペクトルの異なるモデルおよび最適化手法と共に用いることができる。
【０１０７】
（サイン・オフ：Ｓｉｇｎ−Ｏｆｆ）
これより図２ｆから図２ｈを参照し、本発明の実施形態例による「サイン・オフ」プロセスについて更に詳細に説明する。
図２ｆは、レベルＢ２４４、Ｃ２４６、およびＤ２４８上のサブブロックに分解されるレベルＡ２４２上の電子回路の抽象的な例を示す。尚、その定義により、Ｃ−レベル・ブロックは他のＣ−レベル・ブロックを含むことができず、一方ＡおよびＢブロックはそれら自体の種類のブロックを含むことがｄｋｅｉｒｕことを注記しておく。
【０１０８】
これらのブロックのその本質によるソーティング（即ち、それらがレベルＡ、Ｂ、ＣまたはＤに属することによる）は、典型的な設計手法である。例えば、所与の構築ブロックが電荷保存則以外の法則によって支配されている場合、これはＡ−レベルに属する。ブロックがＢ−レベルの属するのは、それが電荷保存則によって支配される場合である（例えば、キルヒホッフの法則、電子デバイス方程式等）。ブロックがＣ−レベルに属するのは、それがデバイスのみを含み、他にサブブロックがない場合である。最後に、ブロックがＤ−レベルに属するのは、それがデバイスである場合である。Ｄ−レベルから下に向かって進むことは、レイアウトの製作に対応する（例えば、配置およびルーティング）。
【０１０９】
前述したブロックのＡ−、Ｂ−、Ｃ−、およびＤ−レベルの分類は、しかしながら、設計自動化については最も適したものでない場合が多い。図２ｇに示すような変数レベルでのソーティングは、単純なグラフ順列アルゴリズムによって得ることができ、一般化した処置については遥かに適している。尚、異なる本質のブロックが、この手法の下では、同じレベルで一緒になることもあることを注記しておく。これは、例えば、階層の最高レベル植えでの単純な構成要素（例えば、コンデンサを用いて微分または積分を行う、あるいはスイッチ・キャップ・フィルタにおいてコンデンサによって比率を作成する）の高精度のモデリングを指令する高性能要件または仕様から生ずる。アナログ設計の自動化は、それがディジタル設計の領域にあるため、抽象化によってさほど良く「遮蔽」されない場合が多く、したがって階層レベルが多い構成要素の混合が必要となる。
【０１１０】
図２の階層における単一サイジング・ステップを、図２ｈにおいて離して示す。単一サイジング・ステップの目標は、ベクトルＸ（ｌ）が仕様の範囲内にあり最適化されるようにベクトル集合Ｘ（ｌ＋１）ｊ，ｊ＝１．．ｍを求めることと定義することができる。「仕様の範囲内」という要件は、数学的には、以下の表１に示すように、制約付き最適化問題に書き変わる。
【表１】
2008502033.tif 000014
このような制約付き最適化問題は、多数の方法で解くことができる（それらの１つは、前述のようにバリア関数を用いる内点法である）。最適な最適化技法は、問題の本質、または問題の記述に左右される。この最適化問題を解くために、以下のような追加の要因を考慮しなければならない。
【０１１１】
（ｉ）Ｘ（ｌ）とＸ（ｌ＋１）ｊ，ｊ＝１．．ｍとの間の関係、先に参照した性能モデル（複数。何故なら、Ｘ（ｌ）はベクトルであり、あらゆるベクトル・エントリを別個にモデル化する場合もあるからである）。
【数１３】
2008502033.tif 000015
【０１１２】
（ｉｉ）選択した集合｛Ｘ（ｌ＋１）ｊ，ｊ＝１．．ｍ｝が実現可能であることの補償（実際、下位ブロックのサイジングに対する仕様である）。仕様集合を実現可能と呼ぶのは、それらの仕様を実現するブロックを作ることができる場合である。これに対処するために、先に参照した現実可能性モデルを用いる。
【数１４】
2008502033.tif 000016
【０１１３】
実現可能領域は、式１３を満たす点の集合Ｘ（ｌ＋１）である。一般に最も関心が高い領域は、現実可能性領域の境界面を含む。何故なら、それは最も望ましい点の集合を含むからである。即ち、この面が最も望ましい点を含むのは、Ｘ（ｌ）が、制約を受けるのではなく（例えば、パワー、面積）最適化されるべき変数も含むことを知ることによって、常にこれらの変数の軸に沿って（他のベクトル成分を一定に保ちつつ）内点「ａ」から同じ関数性能をなおも維持する境界または面上のより最適な点「ｂ」に移動することができるからである。
【０１１４】
「最上位」のサイジング手法が望まれる場合（即ち、レベル（０）から（１）までのサイジング・ステップから開始する）、必要な全ての性能モデルおよび実現可能性モデルが利用可能でなければならない。一般に、必要な実現可能性モデル（ならびにレベル（ｌ）および（ｌ＋１）を関係付ける必要な性能モデルも）をレベル（ｌ＋１）上に構築しなければ、レベル（ｌ）から（ｌ＋１）までのサイジングを実行することはできない。これは、レベル（０）から（ｎ）までの階層的サイジングに有効な以下のアルゴリズム例を用いて、ボトム・アップ式に行われ、表２に示すように、モデルの生成を抽象化する。
【表２】
2008502033.tif 000017
上に示すループ２．１．１．２．は、図３において概説したサイジング手順に対応する。
【０１１５】
性能モデル−
性能モデリングに対する精度が高い手法は、業界標準モデルを通じてというような、業界標準のシミュレータ、およびシミュレーション結果に基づいてブロックの性能を決定することができる抽出器を用いての、その階層レベル上におけるブロックのシミュレーションを伴う。例えば、Ｂ−またはＣ−ブロックをサイジングするためには、トランジスタ・レベル（ＳＰＩＣＥ）シミュレータ（例えば、Ｅｌｄｏ、ＨＳｐｉｃｅ、Ｓｐｅｃｔｒｅ、Ｓｍａｓｈ等）を用い、Ｄ−ブロックに対してシリコン鋳造工場によって供給されるデバイス・モデル（例えば、ＢＳＩＭ４トランジスタモデル）、およびＢ−ブロックに対して最大限高精度のカスタム・モデルを用いることができる。このモデルを「サイン・オフ」モデルと呼ぶ。
【０１１６】
しかしながら、これらサイン・オフ・モデルは高い精度をもたらすが、これらも通例ＣＰＵ時間およびシミュレータに対する使用許諾コストの双方に関して、非常に「費用がかかる」。したがって、少なくとも適当であるが精度が低い、費用がかからないモデルを用いることが望ましい場合が多い。これら精度を抑えた性能モデルは、（ｉ）手作業による、（ｉｉ）象徴的電子回路アナライザ（即ち、ソフトウェア・プログラム）を用いることによる、または（ｉｉｉ）数値モデル生成器を用いることによることを含む、多数の方法のいずれを用いても構成することができる（モデルの本質に依存し、これは、例えば、実験の設計（ＤＯＥ）技法のパラメトリック線形または非線形回帰あるいは非パラメトリック回帰、あるいはＤＯＥおよびニューラル・ネットワークの訓練との組み合わせとすることができる）。
【０１１７】
サイン・オフ・モデルを用いる代わりに（能力が低い）モデルを生成する別の理由には、多少精度が劣る結果と引換に、より高速なサイジングを得る、後にモデルを再度再利用できること、費用がかかるシミュレーションを再度実行する負担がない（これらは、同じ回路のために後続の異なるサイジング問題において再利用し、歩留まり最適化を高速化することもできる）ことが含まれる。
【０１１８】
モデリングは殆ど必然的に精度低下を伴うという事実のために、このようなモデリングを用いて生成された派生物が容認可能であることを検証しなければならない。したがって、本発明の実施形態例では、格付けしたモデルを用いる。即ち、格付けが上昇するモデルを用いる（即ち、最初の「予想」を低精度であるが高速のモデルに基づいて生成し、徐々に精度が高くなるモデルから予想の改善を得る）。この実質的に繰り返し手順について、後に図６に関して詳細に説明する。このプロセスの最終ステップは、図３に見られるように、サイン・オフ・モデルを用いたボトム・アップ検証ステップから成る。サイジング・ステップは、サイン・オフ・モデルが仕様の範囲内の性能を予測する（即ち、十分な検証が行われた）場合容認可能と見なされる。
【０１１９】
実現可能性モデル−
標準的な時間ドメインまたは周波数ドメイン・シミュレータ（例えば、ＳＰＩＣＥ型、ＶＨＤＬ−ＡＭＳ、ＶＥＲＩＬＯＧ−Ａ（ＭＳ）、Ｍａｔｌａｂ等）は相応しい回路の実現可能モデルを与えることができない。代わりに、実現可能性モデルは、多目的最適化（ＭＯＯ）のような他の技法を用いることによって決定しなければならない。このようなＭＯＯの手法の一例が、Ｋａｌｙａｎｍｏｙ  Ｄｅｂの“Ｍｕｌｔｉ−ｏｂｊｅｃｔｉｖｅ  ｏｐｔｉｍｉｚａｔｉｏｎ  ｕｓｉｎｇ  ｅｖｏｌｕｔｉｏｎａｒｙ  ａｌｇｏｒｉｔｈｍｓ”（発展アルゴリズムを用いた多目的最適化）（１ｓｔ  ｅｄ．，Ｗｉｌｅｙ−Ｉｎｔｅｒｓｃｉｅｎｃｅ  ｓｅｒｉｅｓ  ｉｎ  ｓｙｓｔｅｍｓ  ａｎｄ  ｏｐｔｉｍｉｚａｔｉｏｎ，ＩＳＢＮ  ０−４７１−８７３３９−Ｘ，ｐｐ．１−８０）に記載されている。この内容は、ここで引用したことにより、本願にも含まれるものとするが、いずれの数の他の手法を用いてもよいことは認められよう。この技法は、実現可能性空間の境界上の点を見つけようとする（一般にパレート・フロントと言われる、多目的最適化文献）。パレート・フロントは、挙動調査問題の全ての目的の集合として定義することができ（したがって、名称が多目的となっている）、この問題に対して、他のいずれの目的も劣化させることなくより良い目的を有する単一点を見つけることができない関係が成り立つ。
【０１２０】
しかしながら、実現可能性モデル内に現れるあらゆる変数が、制限または最適化すべき目標である訳ではないことは容易に認められよう。環境パラメータ（例えば、温度）および相互作用の影響（例えば、ブロック間のローディング（ｌｏａｄｉｎｇ）効果）を、それらの範囲全体において考慮しなければならない。このために、ＤＯＥ技法を用いて、これらのパラメータのためにサンプルを生成し、こうして新のパレート・フロントを見つける際のＭＯＯ技法を補足することができる。
【０１２１】
実現可能性領域の境界上の点（多目的最適化から得られる）、および実現可能性領域の内部（外部）における１つ以上の別の基準点に基づいて、性能モデルを生成するために用いた技法と殆ど同じ技法を用いて、即ち、（ｉ）手作業により、または（ｉｉ）周知モデル生成器を用いることによって（モデルの本質に左右される。これは、例えば、パラメトリック線形または非線形回帰（あるいは非パラメトリック回帰）、あるいはニューラル・ネットワークの訓練を含むことができる）、実現可能性モデルを生成することができる。
【０１２２】
また、レベル（ｌ）上でパレート・フロントを発見するための多目的最適化の検索空間（レベル（ｌ＋１）上）を、望ましければ、レベル（ｌ）上の実現可能性領域の境界に制限できることも認められよう。この制限により、最適化プロセスをかなり高速化することができる。
更に、レベル（ｌ）の性能を（ｌ＋１）と関連付ける性能モデルも、レベル（ｌ＋１）上の設計空間のハイパーキューブ下位空間の内部において実験の設計（ＤＯＥ）生成サンプルを用いる代わりに、レベル（ｌ）上のパレート・フロント生成によって得られたサンプルを用いて生成することができるという利点がある。この手法は、更に、多数の理由により、最適化プロセスを改良する。即ち、ＤＯＥからの技法を用いて生成されたサンプル集合は、実際、それ自体が関心のある領域である。当てはめフットプリント（ｆｉｔｔｉｎｇ  ｆｏｏｔｐｒｉｎｔ）をパレート・フロントのサンプルに限定することにより、モデルの精度は著しく向上する。
【０１２３】
また、性能モデルを当てはめるために必要なシミュレーションは、既に、実現可能性モデルの生成の間に生成されている。先に示した階層サイジング・アルゴリズムの一例（表２）がこのサンプルの再利用を実施する。したがって、これら既に生成されているシミュレーションの仕様は、性能モデル（複数のモデル）に対して新たなシミュレーションを生成するためにそれ以上のＣＰＵ時間やその他のリソースを用いないで済むという観点からは、「無料」である。
【０１２４】
表３は、本発明を実施する、本譲受人が開発したコンピュータ・プログラムの一実施形態を用いての実現可能性モデル（パレート・フロント）の生成に関する疑似コードの一例を示す。その種々の態様に関する参考文献に対する引用例も含まれる。
【表３】
2008502033.tif 000018
注釈
［１］  例えば、Ｋａｌｙａｎｍｏｙ  Ｄｅｂによる“Ｍｕｌｔｉ−ｏｂｊｅｃｔｉｖｅ  ｏｐｔｉｍｉｚａｔｉｏｎ  ｕｓｉｎｇ  ｅｖｏｌｕｔｉｏｎａｒｙ  ａｌｇｏｒｉｔｈｍｓ”（発展アルゴリズムを用いた多目的最適化）の第４章（１ｓｔ  ｅｄ．，Ｗｉｌｅｙ−Ｉｎｔｅｒｓｃｉｅｎｃｅ  ｓｅｒｉｅｓ  ｉｎ  ｓｙｓｔｅｍｓ  ａｎｄ  ｏｐｔｉｍｉｚａｔｉｏｎ，ＩＳＢＮ  ０−４７１−８７３３９−Ｘ）を参照のこと。
［２］  例えば、Ｋａｌｙａｎｍｏｙ  Ｄｅｂによる“Ｍｕｌｔｉ−ｏｂｊｅｃｔｉｖｅ  ｏｐｔｉｍｉｚａｔｉｏｎ  ｕｓｉｎｇ  ｅｖｏｌｕｔｉｏｎａｒｙ  ａｌｇｏｒｉｔｈｍｓ”（発展アルゴリズムを用いた多目的最適化）の第２．４章（１ｓｔ  ｅｄ．，Ｗｉｌｅｙ−Ｉｎｔｅｒｓｃｉｅｎｃｅ  ｓｅｒｉｅｓ  ｉｎ  ｓｙｓｔｅｍｓ  ａｎｄ  ｏｐｔｉｍｉｚａｔｉｏｎ，ＩＳＢＮ  ０−４７１−８７３３９−Ｘ）を参照のこと。
［３］  例えば、Ｚｉｔｚｌｅｒ，Ｔｈｉｅｌｅ，Ｌａｕｍａｎｎｓ，Ｆｏｎｓｅｃａ，ｄａ  Ｆｏｎｓｅｃａ，“Ｐｅｒｆｏｒｍａｎｃｅ  ａｓｓｅｓｓｍｅｎｔ  ｏｆ  ｍｕｌｔｉ−ｏｂｊｅｃｔｉｖｅ  ｏｐｔｉｍｉｚｅｒｓ：ａｎ  ａｎａｌｙｓｉｓ  ａｎｄ  ｒｅｖｉｅｗ”（多目的最適化器の性能評価：分析および検討）、ＩＥＥＥ  Ｔｒａｎｓａｃｔｉｏｎｓ  ｏｎ  Ｅｖｏｌｕｔｉｏｎａｒｙ  Ｃｏｍｐｕｔａｔｉｏｎ，Ｖｏｌ．７，Ｉｓｓｕｅ  ２，ｐｐ．１１７−１３２，Ａｐｒｉｌ  ２００３を参照のこと。
［４］  例えば、Ｋａｌｙａｎｍｏｙ  Ｄｅｂによる“Ｍｕｌｔｉ−ｏｂｊｅｃｔｉｖｅ  ｏｐｔｉｍｉｚａｔｉｏｎ  ｕｓｉｎｇ  ｅｖｏｌｕｔｉｏｎａｒｙ  ａｌｇｏｒｉｔｈｍｓ”（発展アルゴリズムを用いた多目的最適化）の第１章（１ｓｔ  ｅｄ．，Ｗｉｌｅｙ−Ｉｎｔｅｒｓｃｉｅｎｃｅ  ｓｅｒｉｅｓ  ｉｎ  ｓｙｓｔｅｍｓ  ａｎｄ  ｏｐｔｉｍｉｚａｔｉｏｎ，ＩＳＢＮ  ０−４７１−８７３３９−Ｘ）を参照のこと。
【０１２５】
歩留まりの考慮
従来技術の階層的サイジング技法に伴う突出した問題は、サイジング・プロセスに歩留まりを組み込むことに伴う困難である。しかしながら、プロセス・パラメータの分布は、非常に相関が高い場合が多いことが観察されている。これが意味するのは、ｌ−レベル・ブロックの歩留まりを予測する場合、これらの相関を考慮に入れなければならないということである。構成サブブロックに対する歩留まり推定値が独立している（相関がない）と見なし、したがって単にそれらの歩留まりをｌ−レベルの歩留まり推定値に乗算すると、実用上実際には仕様できない、過度に悲観的な歩留まりの推定値が得られる。
【０１２６】
別の手法では、モンテ・カルロ分析を行う。プロセスのばらつきから開始して、この手法はこれらのばらつきのシステム性能に対する影響を計算し、モンテ・カルロサンプル集合全体を用いた受入カウンティング（ａｃｃｅｐｔａｎｃｅ  ｃｏｕｎｔｉｎｇ）に基づいて歩留まりを予測する。しかしながら、この手法は、主に、（１）１つのサンプルをシミュレートするために必要な時間、および（２）代表的歩留まり予測器（可変性が低い）を得るために必要なサンプル数が多いことにより、過度に時間がかかる。例えば、Ｊ．Ｃ．Ｚｈａｎｇ，Ｍ．Ａ，Ｓｔｙｂｌｉｎｓｋｉ，“Ｙｉｅｌｄ  ａｎｄ  Ｖａｒｉａｂｉｌｉｔｙ  Ｏｐｔｉｍｉｚａｔｉｏｎ  ｏｆ  Ｉｎｔｅｇｒａｔｅｄ  Ｃｉｒｃｕｉｔｓ”（集積回路の歩留まりおよび可変性の最適化）Ｋｌｕｗｅｒ  Ａｃａｄｅｍｉｃ  Ｐｕｂｌｉｓｈｅｒｓ，１９９５を参照のこと。
【０１２７】
前者（モンテ・カルロ）の問題は、統計的プロセス・パラメータに関してパラメータ化された性能モデルを作成する応答面法（ＲＳＭ）技法を用いることによって軽減することができ、これによって高価な回路シミュレーションを最小限に抑える。しかしながら、モデリング誤差を制御することも、優れた歩留まり予測器を達成するためには、この手法では非常に重要である。代用に、直接サンプリング技法（測定したウェハ性能データを用いる）を用いて、ＲＳＭを用いると生ずる可能性がある何らかの平均化効果を回避することができる。例えば、Ｍ．ＯＲｓｈａｎｓｋｙ，Ｊ．Ｃ．Ｃｈｅｎ，Ｃｈｅｎｍｉｎｇ  Ｈｕ，“Ａ  ｓｔａｔｉｓｔｉｃａｌ  ｐｅｒｆｏｒｍａｎｃｅ  ｓｉｍｕｌａｔｉｏｎ  ｍｅｔｈｏｄｏｌｏｇｙ  ｆｏｒ  ＶＳＬＩ  ｃｉｒｃｕｉｔｓ”（ＶＳＬＩ回路のための統計的性能シミュレーション方法論）Ｐｒｏｃｅｅｄｉｇｓ  ｏｆ  ｔｈｅ  Ｄｅｓｉｇｎ  Ａｕｔｏｍａｔｉｏｎ  Ｃｏｎｆｅｒｅｎｃｅ，１５−１９，Ｊｕｎｅ  １９９８，Ｐａｇｅｓ：４０２−４０７を参照のこと。
【０１２８】
本発明の階層的手法は、ＲＳＭに基づく歩留まり予測、およびワースト・ケース・コーナ技法またはワースト・ケース距離技法と組み合わせ、より良くプロセス歩留まりに取り組むことができるという利点がある。即ち、生産歩留まりは、本発明のモデリング・プロセスにおいて、多数の異なる方法で考慮に入れることができる。
【０１２９】
例えば、階層的サイジングの間、ワースト・ケース・コーナ性能を、性能および実現可能性モデルを作成するための基準として用いることができる（名目性能の代わりに）。この手法は比較的素早い。しかしながら、この手法は、通例、構築ブロック間の統計的相関を破棄し、したがって過度に控えめな結果を生成する可能性がある。
【０１３０】
別の手法として、性能および実現可能性モデルを作成するために、ワースト・ケース距離メトリックを階層的サイジングの間（性能パラメータの代わりに）用いることができる。この手法は、前述のコーナに基づく手法と比較すると、より精度が高い（即ち、過度に控えめではない）結果を与えるが、２つの欠点がある。この場合も、統計的相関が考慮されず、したがって過度に控えめな結果が得られる可能性がある。更に、モデルは仕様値に依存し、したがってもはや異なるサイジング問題には再利用できなくなる。
【０１３１】
第３の手法は、後処理ステップとして、歩留まりに対処することを伴う。この手法は、実際、歩留まりメトリック（ワースト・ケース・コーナ性能、モンテ・カルロまたはＲＳＭ、ワースト・ケース距離、Ｃｐ／Ｃｐｋ）に基づいて最適化することにより、実現可能性境界から遠ざかるように移動する。即ち、上位の性能モデルは、最下位レベル上における性能値に関するモンテ・カルロまたは直接サンプルが、設計の性能全体にどのように関わるかを素早く計算するために再利用することができる。このように、上位ブロック（即ち、ブロックＡおよびＢ）に対して、歩留まりの最適化を考慮して追加のモデルを生成する必要はない。既存の名目性能モデルを再利用することができる。歩留まりモデルは、Ｃ−レベルのブロックについてのみ構成し、このレベルに伴う技術の変則性をＡ−レベルの変則性メトリックまで伝搬させることができるようにすればよい。
【０１３２】
更に別の手法も、本発明にしたがって用いることができ、前述したことは利用可能な技法の部分集合を例示するに過ぎない。ここには、本発明の階層的手法の重要な利点、即ち、歩留まりに対処する種々の異なる方法との大きな柔軟性および互換性がある。
【０１３３】
（階層的手法の応用例）
前述の階層的手法の動作および特徴を特に示す、本発明の応用例について、回路の設計の一例（即ち、ＰＣ−ＡＤＣ）に関してこれより詳細に説明する。しかしながら、以下の例は、具体的なステップやＰＣ−ＡＤＣ設計の生成を含み、本発明のより広い原理の例示に過ぎないことは、当業者には認められよう。
【０１３４】
これよりアーキテクチャ（Ａ）レベルを検討すると、設計例に対する制約付き変数は、とりわけ、（ｉ）サンプリング周波数（ｆｓ）、（ｉｉ）ビット数（Ｎ）、（ｉｉｉ）積分非線形（ＩＮＬ）、（ｉｖ）微分非線形（ＤＮＬ）、ならびに（ｖ）信号対ノイズ比および歪み比（ＳＮＤＲ）を含むことができる。
非制約変数は、例えば、（ｉ）電力（Ｐ）およびｉｉ面積（Ａ）を含む、最適化する変数である。
【０１３５】
制約は、制約付き変数に適用される仕様または制限であり、本例では、以下を含む。
（数１５）
ＩＮＬ＜０．５  ＬＳＢ  および                            （式１４）
（数１６）
ＳＮＤＲ＞５８ｄＢ                                        （式１５）
【０１３６】
費用関数（本例では、単一目的最適化技法を選択する）は、最小化する電力および面積の加重組み合わせである。
【数１７】
2008502033.tif 000019
ここで、ｗｐおよびｗａは、それぞれ、電力および面積重み付け係数から成る。挙動モデルは、本例において用いられるサイジング・フローのＡ−レベルにおいては必要でない。しかしながら、これは、モデルとして役立つことができ、ＰＬ−ＡＤＣを構築ブロックとして彼らの設計において用いるシステム設計者が、ＰＬ−ＡＤＣ構築ブロック自体の設計トレードオフおよび最適仕様を利用することを可能にする。モデルは、ＰＬ−ＡＣＤの挙動（例えば、入力／出力関係）をその変数に関連付ける。モデルは、例えば、ハードウェア記述言語（例えば、Ｖｅｒｉｌｏｇ−ＡまたはＶＨＤＬ−ＡＭＳ）または同様のフォーマットで書くことができ、あるいは代わりに数学的ツールキット・フォーマット（例えば、ＭＡＴＬＡＢ、Ｍａｔｈｅｍａｔｉｃａ、ＭＡＰＬＥ）で書くこともできる。
【０１３７】
構造モデルは、Ｂ−（および／またはＣ−またはＤ−）レベル構成要素およびそれらの相互接続に関する、Ａ−レベル・ブロックのトポロジ記述である。構造モデルは、例えば、Ｖｅｒｉｌｏｇ−Ａ、ＭＡＴＬＡＢまたはＣ＋＋モデルで構成することができるが、構造モデルは、個々の用途および所望の属性に応じて他のフォーマットでも表現可能であることは認められよう。
【０１３８】
有用な性能モデルは、例えば、積分非線形即ちＩＮＬ（即ち、このレベル上での制約付き変数）を、ＰＬ−ＡＤＣの構造モデルの中にある下位オペアンプの利得（変数）に関連付けるモデルから成ることができる。これらのモデルは、自動的に生成する（例えば、Ｋｉｅｌｙ，Ｔ．，Ｇｉｅｌｅｎ，Ｇ．，“Ｐｅｒｆｏｒｍａｎｃｅ  Ｍｏｄｅｌｉｎｇ  ｏｆ  Ａｎａｌｏｇ  Ｉｎｔｅｇｒａｔｅｄ  Ｃｉｒｃｕｉｔｓ  Ｕｓｉｎｇ  Ｌｅａｓｔ−Ｓｑｕａｒｅｓ  ｓｕｐｐｏｒｔ  Ｖｅｃｔｏｒ  Ｍａｃｈｉｎｅｓ”（最少二乗対応ベクトル・マシンを用いたアナログ集積回路の性能モデル化）、Ｐｒｏｃｅｅｄｉｎｇｓ  ｏｆ  ｔｈｅ  ２００４  Ｄｅｓｉｇｎ  Ａｕｔｏｍａｔｉｏｎ  ｎａｄ  Ｔｅｓｔ  ｉｎ  Ｅｕｒｏｐｅ  ＣＯｎｆｅｒｅｎｃｅ，Ｖｏｌｕｍｅ  １，Ｐａｒｉｓ，Ｆｒａｎｃｅ、またはＤａｅｍｓ，Ｗ．，Ｇｉｅｌｅｎ，Ｇ．，Ｓａｎｓｅｎ，Ｗ．，“Ｓｉｍｕｌａｔｉｏｎ−ｂａｓｅｄ  ｇｅｎｅｒａｔｉｏｎ  ｏｆ  Ｐｏｓｙｎｏｍｉａｌ  ｐｅｒｆｏｒｍａｎｃｅ  ｍｏｄｅｌｓ  ｆｏｒ  ｔｈｅ  ｓｉｚｉｎｇ  ｏｆ  ａｎａｌｏｇ  ｉｎｔｅｇｒａｔｅｄ  ｃｉｒｃｕｉｔｓ”（アナログ集積回路のサイジングのための多項式性能モデルのシミュレーションに基づく生成）、ＩＥＥＥ  Ｔｒａｎｓａｃｔｉｏｎｓ  ｏｎ  Ｃｏｍｐｕｔｅｒ−Ａｉｄｅｄ  Ｄｅｓｉｇｎ  ｏｆ  Ｉｎｔｅｇｒａｔｅｄ  Ｃｉｒｃｕｉｔｓ  ａｎｄ  Ｓｙｓｔｅｍｓ，Ｖｏｌｕｍｅ：２２，Ｉｓｓｕｅ：５，Ｍａｙ  ２００３，Ｐａｇｅｓ：５１７−５３４。双方共、ここで引用したことによりその内容全体が本願にも含まれるものとする）か、または手作業で導出することができる。
【０１３９】
先に論じた性能モデルと同様、実現可能性モデルはＡ−レベルでは絶対に必要という訳ではない。しかしながら、存在する場合、賦課された仕様が実現可能か否か、即ち、サイジング問題を解くことができるか否かについて直接指示を与えるために用いることができるという利点がある。
同様に、推定器もＡ−レベルでは不要である。先に示した（表２）階層的サイジング・アルゴリズムの一例に見られるように、レベルｌまでの実現可能性モデルのみがあればよい。その理由は、レベルｎからｎ＋１に行く場合、レベルｎ＋１の実現可能性モデルを用いるからである。したがって、最上レベル「０」から下位のレベル「ｌ」に行く場合、レベル「ｌ」の実現可能性モデルだけがあればよい。
【０１４０】
ＰＬ−ＡＤＣ設計の一例のＡ−レベルに対するサイジング・アルゴリズムは、（ｉ）例えば、最適化の技術において周知の形式の統計的最適化器（例えば、超高速シミュレート再アニーリング、即ち、ＶＦＳＲ）、あるいは最終段階用の汎用最適化器（例えば、微分算法）のような、山登りグローバル最適化器、および（ｉｉ）例えば、共役勾配最適化器、共役方向最適化器、単純方法最適化器、または最終段階のための二次プログラミングのようなローカル最適化器から成る。しかしながら、他の種類の最適化器、およびその使用順序もサイジング・アルゴリズムでは用いることができる。更に、サイジング・アルゴリズムは、望ましければ、構成する段階の数が増減してもよい。
【０１４１】
階層の「Ｂ」即ち構築ブロック・レベルでは、以下のパラメータ集合を（オペアンプのために）用いる。
オペアンプについての制約付き変数は、とりわけ、（ｉ）ＤＣ利得（Ａ０）、（ｉｉ）利得／帯域幅の積（ＧＢＷ）、および（ｉｉｉ）入力波及オフセット（Ｏｉ）。
非制約編集は、例えば、電力（Ｐ）および面積（Ａ）を含む。
制約は、通例、制約付き変数に対する不等制約であり、例えば、１００ＭＨｚ未満のＧＢＷであるが、同等制約、または２つの混合も用いることができる。
【０１４２】
オペアンプ（複数のオペアンプ）についての費用関数は、最小化する電力および面積の加重組み合わせである（この場合も、単一目的最適化技法を選択したが、多目的最適化を用いることもできる）。
【数１８】
2008502033.tif 000020
挙動モデルは、オペアンプ（複数のオペアンプ）のその変数、即ち、とりわけ、ＤＣ利得、ＧＢＷ、スルー・レート、およびＯｉに関する挙動（例えば、入力／出力関係）を記述する。この関係は、例えば、いずれのハードウェア記述言語（例えば、Ｖｅｒｉｌｏｇ−ＡまたはＶＨＤＬ−ＡＭＳ）またはその他の同等の表現でも記述することができる。
【０１４３】
構造モデルは、オペアンプを構成するＢ−、Ｃ−、またはＤ−レベル・ブロックに関するオペアンプのトポロジ記述から成る。Ｂ−またはＣ−レベル・ブロックの例に、利得上昇増幅器があり、オペアンプのトポロジ記述においては単位として現れてもよい。Ｄ−レベル・ブロックは、例えば、オペアンプの差動入力対のトランジスタの一方で構成することができる。この記述は、例えば、ハードウェア記述言語（例えば、Ｖｅｒｉｌｏｇ−ＡまたはＶＨＤＬ）またはその他の同等の手段で実施することができる。
【０１４４】
性能モデルは、オペアンプのＤＣ利得を、トランジスタのゲート長および幅の関数として記述し、更に、例えば、利得上昇増幅器の利得を記述するモデルから成る。
実現可能性モデルは、オペアンプの変数（とりわけ、Ａ０、ＧＢＷ、およびＯｉ）をこれらの性能を実現する回路の実現可能性に関連付ける。このモデルは、例えば、当技術分野において周知の形式の多目的発展アルゴリズム（ＭＯＥＡ）を用いて生成することができる。このようなモデルの生成には、通例、オペアンプ回路の評価を数千回行う必要があるが、これらを予め生成することができ（例えば、別のコンピュータを用いてオフラインで、または夜間等の非稼動期間中）、Ｉのインスタンスを用いる設計毎に再利用することができる。図示した実施形態の実現可能性モデルは、使用値に依存せず、この再利用を可能にする利点がある。対照的に、純粋な「ループ内のシミュレータ」を利用する従来技術のサイジング技法も数千回のシミュレーションを必要とするが、これらのサンプルは使用値に依存するので、再利用（したがって事前生成）の機会はない。
【０１４５】
推定器は、同様にＭＯＥＡによって生成されるトレードオフ曲線を備えている。このトレードオフ曲線は、例えば、ＭＯＥＡによって生成されたサンプルによるパラメータ回帰当てはめ、あるいは（例えば、費用関数の重み係数を変更することにより）多目的的に挙動する他のいずれかの単一目的最適化アルゴリズムを用いて生成することができる。
オペアンプのサイジング・アルゴリズムは、たとえｂ、凸ソルバ（ｓｏｌｖｅｒ）を備えており、性能モデルは凸状であり、許容できる下位変数の領域は凸であると仮定する。しかしながら、このような凸性は必須要件ではなく、凸性とは完全に無関係な他の多くの技法も容易に採用することができる。例えば、単純な場合では、殆どいずれのモデルでも扱うことができる非常に一般的な（そして遅い）技法を用いることができる。逆に、モデルの形式に非常に厳しい制約を課する非常に特殊化された（そして速い）技法を採用することができる。本発明の実施形態例では、勾配を非常に効率的に計算することができるモデルを用い、この理由のためにその勾配情報をできるだけ多く活用することができる技法が用いられる。
【０１４６】
階層の「Ｃ」または回路レベルでは、以下のパラメータ集合（利得上昇増幅器の一例について）を用いる。
制約変数は、とりわけ、（ｉ）ＤＣ−利得（Ａ０）、（ｉｉ）利得／帯域幅の積（ＧＷＢ）、（ｉｉｉ）入力電圧範囲（Ｖｉ）、および（ｉｖ）出力電圧範囲（ＶＯ）を含む。
非制約変数は、例えば、電力（Ｐ）および面積（Ａ）である。
【０１４７】
制約は、通例、制約付き変数に対する不等制約であり、例えば、１００ＭＨｚ未満のＧＢＷであるが、同等制約、または２つの混合も用いることができる。
費用関数は、最少にすべき非制約変数（ここでは、電力Ｐおよび面積Ａ）である。この場合、多目的最適化アルゴリズムが選択された。
利得上昇アルゴリズムの挙動モデルは、増幅器の挙動（例えば、入力／出力関係）のそのＤＣ利得、利得／帯域幅積等の関数としての記述である。
構造モデルは、例えば、ＭＯＳトランジスタを含む増幅器における全てのデバイス、それらのゲート幅および長さを含む、トポロジ記述（例えば、ＳＰＩＣＥネットリスト）である。
【０１４８】
性能モデルは、増幅器のＤＣ利得を、トランジスタのゲート長および幅、ならびにその他のデバイスの幾何学的サイズの関数として記述するモデルである。
実現可能性モデルは、利得上昇増幅器の変数（とりわけ、Ａ０、ＧＢＷ、Ｖｉ）をこれらの性能値を実現する回路の実現可能性に関連付ける。このモデルは、例えば、前述したような多目的発展アルゴリズム（ＭＯＥＡ）を用いて生成することができる。
推定器は、同様にＭＯＥＡによって生成されたトレードオフ曲線を備えている。このトレードオフ曲線は、例えば、ＭＯＥＡによって生成されたサンプルによるパラメータ回帰当てはめ、あるいは（例えば、費用関数の重み係数を変更することにより）多目的に挙動する他のいずれかの単一目的最適化アルゴリズムを用いて生成することができる。
【０１４９】
利得上昇増幅器のサイジング・アルゴリズムは、性能モデルが凸状であり、許容できる下位変数の領域が凸である場合、例えば、凸ソルバとすることができる。ここで依然に記載したような更に別の手法も採用することができる。
最後に、階層の「Ｄ」即ちデバイス・レベルでは、以下のパラメータ集合（一例のＮＭＯＳトランジスタについて）を用いる。
制約付き変数は、とりわけ、（ｉ）ゲート幅（Ｗ）、（ｉｉ）ゲート長（Ｌ）、（ｉｉｉ）ゲート−ソース電圧（Ｖｇｓ）、および（ｉｖ）ドレイン−ソース電流（Ｉｄｓ）を含む。
非制約変数は、ＮＭＯＳトランジスタのマスク面積（Ａ）、およびその電力消費（Ｐ）を備えている。
【０１５０】
制約は、通例、サイジングの間に計算されるＮＭＯＳトランジスタのＷおよびＬに対する同等制約であるが、他のものを用いてもよい。
費用関数は、本例では、トランジスタのマスク面積Ａである。
挙動モデルは、例えば、ＳＰＩＣＥエレメント・カードおよびＮＭＯＳトランジスタのＳＰＩＣＥモデル・カードである。
構造モデルは、Ｄ−レベルでは必要とされない。マスク・ポリゴンに関するＮＭＯＳの組成は構造モデルである。デバイス生成器（例えば、Ｐ−セルまたは手続き的生成器）がこのモデルを必要に応じて生成することに応対する。
【０１５１】
同様に、性能モデルはＤ−レベルでも必要とされない。しかしながら、例えば、ＮＭＯＳトランジスタの小信号ｇｍをその幅Ｗ、長さＬ、およびそのオーバードライブ電圧（Ｖｇｓ−ＶＴ）の関数として記述する式を備えている性能モデルを指定することができる。
実現可能性モデルは、トランジスタ・モデルの反転図（ｉｎｖｅｒｔｅｄ  ｖｉｅｗ）であり、Ｗ、Ｌ、Ｖｇｓ、Ｉｄｓの組み合わせが実現可能であることを示す。デバイス生成器を利用して、選択されたプロセス技術において要求構造サイズが達成可能か否か（例えば、０．１３ミクロン）をチェックすることができる。このように、デバイス生成器は、それ自体における、そしてそれ自体の実現可能モデルとして作用することができる。
【０１５２】
推定器は、例えば、所与のＷおよびＬに対するマスク面積を与え、任意に他のレイアウト関連変数（例えば、トランジスタのドレインおよびソースの周囲および面積）も与える。デバイスの面積に対して非常に単純な推定、その幅および長さの積（Ａ＝Ｗ．Ｌ）、または、例えば、デバイスを与えた迅速手続き的レイアウト生成器の結果を用いることができる。Ｄ−レベルは提案するサイジング・フローにおける最下位レベルであるので、サイジング・アルゴリズムは必要とされない。また、デバイス生成器は、Ｄ−レベル変数を物理マスク・データに変換しながら、サイジングを実行することもできる。
【０１５３】
（基本的サイジング）
これより図５を参照して、本発明による「基本的」サイジング・ステップについてここで詳細に説明する。
設計階層の後続レベル間における遷移を（単一矢印５０２として）図５に示す。先に論じたように、レベル間の遷移は、より複雑な場合もあり、図５の例は、基本的なフローを例示するために簡略化されている。
サイジングに用いる個々の最適化アルゴリズムに対する選択には、一般に、例えば、モデルが凸か否か、これらを単純な関数コールによって評価する（またはむしろ長たらしいシミュレーションを必要とする）のか、およびサイジング問題の複雑度（即ち、変数の数）を表すデータの特質が駆動される。しかしながら、前述にも拘わらず、文言上、いずれのサイジング・アルゴリズムでも、データとの互換性が確保される限り、使用可能であることは認められよう。
【０１５４】
図６を参照して、本発明によるサイジング・ステップ方法論６００の一実施形態例について詳細に説明する。方法６００は、概略的に、前述の図５のプロセスの一部としてサイジングを遂行する一連の動作（ここでは、レベルｌのエンティティに対するサイジングという文脈で説明する）から成る。実質的に離散したステップの集合として説明するが、これらのステップ（またはその部分）の多くは、個々の適応化に応じて並列に、繰り返し、または入れ替えた順序で実行してもよいことは認められよう。
【０１５５】
具体的には、図６に示すように、ステップ６０２のように、最初に「等級」レベルを０（または最も粗い等級に対応するその他の値）に初期化する。これによって、可能な限り広い（粗い）開始点が得られる。しかしながら、アルゴリズム６００は、望ましければ、特定のプロセスには最も粗い等級が不要であることがわかっている場合というように、ユーザ入力（または他の信号）を利用して他の等級において開始するように構成してもよいことは認められよう。
【０１５６】
次に、ステップ６３２において、設計者が（先に参照したように、設計の種類およびデータの本質を考慮して）選択した最適化アルゴリズムを用いて、制約を受ける最適パラメータ値Ｘ（ｌ＋１）、目標関数、および実現可能性を決定する。一般に、アルゴリズム６００は、多数の方法で対称の遷移をまたがる２つのレベル（即ち、ｌからｌ＋１）のデータと相互作用を行う。最初に、レベルｌにおける性能モデルを用いて、制約Ｃと比較する変数Ｘ（ｌ）を推定する（ステップ６３４）。第２に、レベルｌ＋１における実現可能性モデルを用いて、全てのレベルｌ＋１のエンティティに対してＸ（ｌ＋１）で生成した点を獲得できることを保証する（ステップ６０４）。
【０１５７】
これが該当する場合、レベルｌ＋１の推定器６０６を用いて、Ｘ（ｌ）ｕに対するトレードオフに組み込む非制約変数Ｘ（ｌ＋１）ｕに対するトレードオフを戻す（ステップ６１４）。このＸ（ｌ）ｕに対するトレードオフは、サイジング・プロセスを制御する費用関数ｆ（ｌ）において用いられる。
ステップ６１６のように、この最適化の結果を、最初に、現等級モデルを用いて、制約および実現可能性についてチェックする。この判断プロセス（ステップ６２４）の結果が正である場合、最適化の結果も、より高い東急の性能モデルに対してチェックする（ステップ６２６）。判断（ステップ６２８）が、次に高い等級が有効な等級でないことを示す場合、以下で更に詳しく説明するように、チェック・プロセス（６２２）を開始する。一方、判断が、次に高い等級が有効であることを示す場合、次に高い等級のためにステップ６１６を繰り返す。
【０１５８】
設計点がある等級では容認可能であるが次に高い等級では容認可能でない場合（ステップ６２４）、選択したサンプル集合（限られた近傍に）におけるモデルの予測をサイン・オフ検証器の予測と比較することによって（ステップ６２２）、現等級モデルをそれらの局所有効性について（即ち、設計点周囲の限られた近傍において）チェックする。
例えば、現等級モデルｙ＝ｆｃｇ（Ｘ）およびサイン・オフ・モデルｙ＝ｆｒｅｆ（Ｘ）であり、検証サンプル集合｛Ｘ＊＋ΔｉＸ，ｉ＝１．．ｎ｝を設計点Ｘ＊の直接近傍において生成する場合、例えば、現等級モデルのサイン・オフ・モデルに関する標準偏差を計算することができる。
【数１９】
2008502033.tif 000021
【０１５９】
明らかに、他の周知の統計仮説検査を用いて、現等級モデルがなおも有効であるという無意味な仮説として検証することができる。
局所有効性が容認可能と見なされる場合（そして仮説検査に抵抗した）、現フローに関しては設計は実現可能でないという結論を引き出す（ステップ６２０）。
この非実現可能性は、実または有形物理的量または制限に関連し、他のソース、例えば、このフローに用いるために選択された特定の最適化器によるのではないこともあり得る。後者の場合、より適した（しかし恐らくはより遅い）最適化器への転換が可能な解決策である。物理的な非実現可能性の場合、設計に賦課した使用が厳しすぎ、実現できない可能性が高いという結論を引き出さなければならない。その点において、仕様の緩和、または異なる回路トポロジ（厳しい仕様を満たすことができる）の選択が、設計者に残された２つの選択肢となる。
【０１６０】
ステップ６１８のように局所モデル有効性が容認不可能であることが見出された場合（即ち、モデルの予測が基準予測よりも離れすぎている）、より精度の高いモデルを用いるか、他の補正を行わなければならない。より精度の高いモデルが入手可能な場合、これらと交換することができる。加えて、より精度の高いモデルは、Ｋｉｅｌｙ，Ｔ．，Ｇｉｅｌｅｎ，Ｇ．，“Ｐｅｒｆｏｒｍａｎｃｅ  Ｍｏｄｅｌｉｎｇ  ｏｆ  Ａｎａｌｏｇ  Ｉｎｔｅｇｒａｔｅｄ  Ｃｉｒｃｕｉｔｓ  Ｕｓｉｎｇ  Ｌｅａｓｔ−Ｓｑｕａｒｅｓ  ｓｕｐｐｏｒｔ  Ｖｅｃｔｏｒ  Ｍａｃｈｉｎｅｓ”（アナログ集積回路のサイジングのための多項式性能モデルのシミュレーションに基づく生成対応ベクトル・マシンを用いたアナログ集積回路の性能モデル化）、Ｐｒｏｃｅｅｄｉｎｇｓ  ｏｆ  ｔｈｅ  ２００４  Ｄｅｓｉｇｎ  Ａｕｔｏｍａｔｉｏｎ  ａｎｄ  Ｔｅｓｔ  ｉｎ  Ｅｕｒｏｐｅ  Ｃｏｎｆｅｒｅｎｃｅ，Ｖｏｌｕｍｅ  １，Ｐａｒｉｓ，Ｆｒａｎｃｅ，Ｄａｅｍｓ，Ｗ．，Ｇｉｅｌｅｎ，Ｇ．，Ｓａｎｓｅｎ，Ｗ．，“Ｓｉｍｕｌａｔｉｏｎ−ｂａｓｅｄ  ｇｅｎｅｒａｔｉｏｎ  ｏｆ  ｐｏｓｙｎｏｍｉａｌ  ｐｅｒｆｏｒｍａｎｃｅ  ｍｏｄｅｌｓ  ｆｏｒ  ｔｈｅ  ｓｉｚｉｎｇ  ｏｆ  ａｎａｌｏｇ  ｉｎｔｅｇｒａｔｅｄ  ｃｉｒｃｕｉｔｓ”（）、ＩＥＥＥ  Ｔｒａｎｓａｃｔｉｏｎｓ  ｏｎ  Ｃｏｍｐｕｔｅｒ−Ａｉｄｅｄ  Ｄｅｓｉｇｎ  ｏｆ  Ｉｎｔｅｇｒａｔｅｄ  Ｃｉｒｃｕｉｔｓ  ａｎｄ  Ｓｙｓｔｅｍｓ，Ｖｏｌｕｍｅ：２２，Ｉｓｓｕｅ：５，Ｍａｙ  ２００３，Ｐａｇｅｓ：５１７−５３４，またはＲ．Ｈ．Ｍｙｅｒｓ，Ｄ．Ｃ．Ｍｏｎｔｇｏｍｅｒｙ，“Ｒｅｓｐｏｎｓｅ  Ｓｕｒｆａｃｅ  Ｍｅｔｈｏｄｏｌｏｇｙ：Ｐｒｏｃｅｓｓ  ａｎｄ  Ｐｒｏｄｕｃｔ  Ｏｐｔｉｍｉｚａｔｉｏｎ  Ｕｓｉｎｇ  Ｄｅｓｉｇｎｅｄ  Ｅｘｐｅｒｉｍｅｎｔｓ”（応答面方法論：設計された実験を用いたプロセスおよび製品の最適化）、２ｎｄ  Ｅｄｉｔｉｏｎ，ａ  Ｗｉｌｅｙ−Ｉｎｔｅｒｓｃｉｅｎｃｅ  Ｐｕｂｌｉｃａｔｉｏｎｓ，２００２，ＩＳＢＮ  ０−４７１４１２５５−４，ｐｐ．１−１６に記載されているような、応答面モデリング技法を用いることにより、サイジング・プロセスの間に生成することができる。これらの各々は、ここで引用したことにより、その内容は本願にも含まれるものとする。
【０１６１】
より精度の高いモデルの使用は、より多くの計算リソースを必要とすることが多い。したがって、最初にモデル誤差が系統的なものか否かチェックする（ステップ６１２）ことが望ましい。そうである場合、モデルの定数項を適応化することによるというように、モデルを更に複雑化することなく、モデルを改良することができる（ステップ６０８）。このように、より多くの計算リソースの必要性を回避する。例えば、現等級モデルｙ＝ｆｃｇ（Ｘ）を考える。モデルに系統的なずれがない場合、サイン・オフ・モデルｙ＝ｆｒｅｆ（Ｘ）に関して検証サンプル集合｛Ｘ＊＋ΔｉＸ，ｉ＝１．．ｎ｝において評価したモデルの平均偏差μは０に近くなるはずである。
【数２０】
2008502033.tif 000022
【０１６２】
そうでない場合、次のような、系統的なずれを除去した、より良い次の等級のモデルｆｎｇ（Ｘ）を作成することができる。
【数２１】
2008502033.tif 000023
モデル誤差が系統的でない場合、ステップ６１０における等級を次に高い等級に増大させることによって、再度ステップ６３２以降の設計サイクルを実行する。
【０１６３】
定義により、最も高い等級の性能モデルは、レベルｌ＋１に属するブロックの挙動モデルを用いて合成した設計の検証である。この検証が容認可能である場合、設計を容認可能として「サイン・オフ」することができる。したがって、この規則を検証に用いる場合、図５のフローにおける上方向への遷移（矢印）は全く必要でない。
尚、図５には、レベルｌ＋１ブロックに対する異なる構造的実施態様（即ち、トポロジ）間で選択を行うための明示的な方法論が示されていないことを注記しておく。多数の可能な実施態様の問題に対処するために、２つの方法例を用いることができる。
【０１６４】
１．前述のサイジング・ステップを全ての可能な実施態様について繰り返す。これには、特に多数の可能な実施態様がある場合、サイジング・プロセスを著しく遅らせる可能性があるという欠点がある。しかしながら、異なるトポロジ／実施態様に対する変数集合Ｘ（ｌ＋１）間における非互換性が問題とならないという実用上の利点がある。何故なら、トポロジ／実施態様を同時には考慮せず、各サイジング動作はトポロジの変数集合に対処するだけであるからである。
同様に、車を設計し、２つの可能な「トポロジ」がある場合（即ち、２ドア・カーおよび４ドア・カー）、最良の車を設計することは、（ｉ）可能な限り最良の２ドア・カーを設計し、そして（ｉｉ）可能な限り最良の４ドア・カーを設計することによって達成することができる。したがって、「最良の」車は、これら２つの設計の内最良のものから成る。これは、前述の手順に対応する。このような手法を用いる際、２ドア・カーを設計している間、４ドア・カーについて心配する、およびその逆の必要はないという利点がある。
【０１６５】
２．トポロジ間の選択を、例えば、整数またはブール変数を用いて、サイジング・ステップの本質的部分としてモデル化する。この手法は、殆どの場合、前述の最初のものと比較して、容認可能な解により迅速に到達する。しかしながら、全てのトポロジの変数集合Ｘ（ｌ＋１）を組み合わせる必要がある。注意すべきは、全てのトポロジを同時に考慮することによって、最適化器は、適切でないトポロジを考慮しないことである。最適化器は、回路の変数を最適化するだけでなく、トポロジを用いるべき選択も最適化する。
更に別の可能な手法として、異なるトポロジの実現可能領域を、獲得しなければならない仕様値に照らし合わせて試験する。実現可能領域が、獲得する必要がある指定値から十分に異なるトポロジは、以後の検討から選択的に排除することができる。
設計プロセスにおいて考慮するために可能なトポロジを「インテリジェント」に選別する更に別の手法も、本発明にしたがって用いることができる。このような代用手法は、本開示が与えられれば、設計技術の当業者には容易に認められよう。
【０１６６】
（集積回路（ＩＣ）デバイス）
ここに記載する実施形態例のＩＣデバイスの基準としては、いずれの数の異なるデバイス構成でも用いることができ、例えば、プロセッサ・コア７０２、メモリ７０４、およびインターフェース７０６というような種々の構成要素を有する、ＡＭＳ構成要素（図７参照）を有するチップ上システム（ＳｏＣ）デバイスを含む。このようなデバイスは、前述の設計方法論の出力を用いて製作される。出力は、論理レベル表現に合成され、半導体技術において周知のコンパイル、レイアウトおよび製作技法を用いて、物理的デバイスに還元される。例えば、本発明は、０．３５、０．１８、０．１３、および０．１ミクロン・プロセスと互換性があり、究極的には、更に小さいまたはその他の分解能のプロセスにも適用することができる。デバイスの製作のためのプロセス例は、Ｉｎｔｅｒｎａｔｉｏｎａｌ  Ｂｕｓｉｎｅｓｓ  Ｍａｃｈｉｎｅｓ  Ｃｏｒｐｏｒａｔｉｏｎ（インターナショナル・ビジネス・マシン社）によって提供された０．０９ミクロンＣｕ−０８または０．１３ミクロンＣｕ−１１「ブルー・ロジック」プロセスであるが、他のものも用いることができる。
【０１６７】
尚、本発明のＩＣデバイスは、限定ではなく、シリアル通信デバイス、パラレル・ポート、タイマ、カウンタ、高電流ドライバ、アナログ／ディジタル（Ａ／Ｄ）変換器、ディジタル／アナログ（Ｄ／Ａ）変換器、割り込みプロセッサ、ＬＣＤドライバ、メモリ、発振器、ＰＬＬ増幅器、およびその他の同様のデバイスというような通常に入手可能な周辺機器または構成要素のいずれでも内蔵できることは、当業者には認められよう。更に、プロセッサは、この中で既に参照したように単一パッケージ内に多数の異なる機能性を設けるために有用なチップ上システム（ＳｏＣ）デバイスを形成するためというように、他のカスタムまたは特定用と回路も含むことができる。本発明は、構成要素や周辺機器および本方法および装置を用いて組み合わせることができるその他の回路の形式、数、または複雑性には限定されることはない。むしろ、時と共に改良する、現存する半導体プロセスの物理的容量によって、いずれの制限も主に強いられている。したがって、本発明を採用することにより、半導体プロセスが改良するに連れて、可能な複雑度や集積度は一層向上することが予期される。
【０１６８】
（コンピュータ・システム）
これより図８を参照して、図２から図６に関して先に説明した方法を実行し、とりわけ、図７の集積回路を合成することができる計算装置の一実施形態について説明する。計算デバイス８００は、一般に、中央演算装置（ＣＰＵ）８０２、ランダム・アクセス・メモリ（ＲＡＭ）８０４、およびメモリ・コントローラ８０５を有するマザーボード８０１を備えている。記憶デバイス８０６（ハード・ディスク・ドライブまたはＣＤ−ＲＯＭ）、入力デバイス８０７（キーボード、マウス、および／またはコンピュータ上で実行するソフトウェアの形態の音声認識ユニット）、および表示デバイス８０８（ＣＲＴ、プラズマ、ＬＣＤ、またはＴＦＴディスプレイのような）、ならびにホストおよび周辺構成要素の動作を支援するために必要なバスも設けられている。先に述べた本発明のアルゴリズムは、コンピュータ技術の当業者には周知のように、設計サイジングおよび合成の間ＣＰＵ８０２が用いるために、コンピュータ・プログラムの形態でＲＡＭ８０４および／または記憶デバイス８０６に格納されている。ユーザ（図示せず）は、設計仕様、モデル記述等をシステム動作の間に入力デバイス８０７（またはその他のソフトウェア・プロセス）を通じて、コンピュータ・プログラムのＧＵＩまたはその他の入力構造に入力する。プログラムによって生成された設計は、後に読み出すために記憶デバイス８０６に記憶され、グラフィック表示デバイス８０８上に表示され、および／または、望ましければ、プリンタ、データ記憶ユニット、その他の周辺構成要素にシリアルまたはパラレル・ポート８１２を通じて出力される。
【０１６９】
電子技術において周知の形式の「マイクロコンピュータ」（例えば、ＰＣ）を示したが、図８のコンピュータ８００は、あらゆる数の異なる形態でも備えることができ、単体またはネットワーク状ミニコンピュータ、サーバ、メインフレーム、「スーパーコンピュータ」、あるいは有線または無線接続を通じてインターフェースするラップトップ、ＰＤＡ、またはハンドヘルドのような移動デバイスでさえも含まれることは認められよう。
更に、本発明の方法を具体化するコンピュータ・ソフトウェアは、同質であれ異質であれ、データの記憶および／または読み出し、並列処理、あるいは分散処理を含む種々の機能のために、他のコンピュータ・プログラムと共同またはインターフェースすることもできることは認められよう。
【０１７０】
本発明のある態様について、具体的な設計例に関して説明したが、これらの説明は本発明のより広い方法を例示するに過ぎず、個々の設計によって必要に応じて修正してもよいことは認められよう。あるステップは、ある状況下では、不必要としたり選択肢としてもよい。加えて、開示した実施形態にあるステップまたは機能性を追加することができ、２つ以上のステップの実行順序を変えることもできる。このような変形は全て、ここに開示し特許請求する発明の範囲内に含まれるものと見なす。
【０１７１】
前述の詳細な説明は、種々の実施形態に適用した本発明の新規な特徴を示し、記載し、指摘したが、図示したデバイスまたはプロセスの形態および詳細における省略、交換、および変更も、本発明から逸脱することなく、当業者によって可能であることは言うまでもない。前述の説明は、現時点において考えられる、本発明を実行する最良の態様である。この説明は、限定の意図は全くなく、逆に本発明の全体的な原理を例示すると見なしてしかるべきである。本発明の範囲は、特許請求の範囲を参照して決定すべきである。
【図面の簡単な説明】
【０１７２】
【図１】反復および目標指定を含む、典型的な従来技術のＡＭＳ回路設計フローを示す論理フロー・チャート。
【図２ａ】回路Ｂの下位回路Ｃ１およびＣ２への階層的分解の一例の図式表現。
【図２ｂ】Ｃ１およびＣ２の性能に関するＢ（図２ａ）の性能の階層的モデリングの一例の図式表現。
【図２ｃ】本発明の階層的プロセスによるサイジング・フローの一般化したプロセスの図式表現。
【図２ｄ】２つのサブブロックＣ１およびＣ２を含む、図２ａの回路Ｂの一例の図式表現。
【図２ｅ】回路Ｂのレベル（ｌ）性能を検証するために用いられる検証フレームワークの一例の図式表現。
【図２ｆ】Ｂ−、Ｃ−、およびＤ−レベル・ブロックに分解したＡ−レベル電子システムの一例の図式表現。
【図２ｇ】可変レベルにしたがって階層的に格納した図２ｆのＡ−レベル電子システムを示す。
【図２ｈ】個々のサイジング・ステップを分離して示す図式例示。
【図３】単純な制御を加えた、図１のサイジング・フローの図式表現。
【図４】更に複雑な制御を有する、図１の階層的サイジング・フロー・プロセスの図式表現。
【図５】本発明による単一方向サイジング・フローの一例の一次表現を示す。
【図６】本発明によるサイジング方法の実施形態の一例を示す論理フロー図。
【図７】本発明の方法にしたがって製作された集積回路デバイスの一例の平面図。
【図８】本発明のコンピュータ・プログラムを実行するのに適したコンピュータ・システムの一例の機能ブロック図。
【図１】
2008502033.tif 000024
【図２ａ】
2008502033.tif 000025
【図２ｂ】
2008502033.tif 000026
【図２ｃ】
2008502033.tif 000027
【図２ｄ】
2008502033.tif 000028
【図２ｅ】
2008502033.tif 000029
【図２ｆ】
2008502033.tif 000030
【図２ｇ】
2008502033.tif 000031
【図２ｈ】
2008502033.tif 000032
【図３】
2008502033.tif 000033
【図４】
2008502033.tif 000034
【図５】
2008502033.tif 000035
【図６】
2008502033.tif 000036
【図７】
2008502033.tif 000037
【図８】
2008502033.tif 000038
【手続補正書】
【提出日】平成19年1月15日(2007.1.15)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
電子回路の設計方法であって、実質的に階層的なフローを有する設計プロセスを実行し、前記実質的に階層的なフローには複数のサイジング・ステップが伴い、前記複数のサイジング・ステップの少なくとも一部が検証ステップも備えており、前記サイジング・ステップの所与の１つに対する前記検証ステップの正常な完了が前記サイジング・ステップの次に続く１つの完了に対する状態の前例を構成する、方法。
【請求項２】
請求項１記載の方法において、電子回路を設計する前記行為は、アナログおよびディジタル回路双方を備えている電子回路を設計することから成る、方法。
【請求項３】
請求項２記載の方法において、前記実質的に階層的なフローは、前記階層内における高アーキテクチャ・レベルから低構成要素レベルまで進む方向への、実質的に単一方向性である、方法。
【請求項４】
請求項１記載の方法において、前記検証ステップの少なくとも１つは、コンピュータ化したシミュレータ・プログラムを用いて検証を行うことから成る、方法。
【請求項５】
請求項１記載の方法であって、更に、最終的な検証ステップを実行することを含み、前記最終検証ステップは、前記解消の少なくとも１つのより高いレベルにおいて、前記階層のより低いレベルにおける複数のデバイス・ブロックの少なくとも一部をモデリングすることを含む、方法。
【請求項６】
請求項１記載の方法において、前記実質的に累進的な格付けプロセスは、
第１等級が関連付けられている第１モデルを与え、
続いて第２および後続の等級のそれぞれの１つが関連付けられている追加のモデルを与える、
ことを含む、方法。
【請求項７】
請求項６記載の方法において、前記第１、第２、および後続の等級の各々は、他の各々とは異なる、方法。
【請求項８】
請求項６記載の方法において、前記第１モデルの前記第１等級は第１の速度および精度を備えており、前記第２および後続の等級は、前記追加モデルの累進的に遅くなるが精度が高くなるものから成る、方法。
【請求項９】
請求項１記載の方法において、前記方法は、更に、前記設計プロセスの一部として、少なくとも１つの歩留まりに基づく最適化を実行することを含む、方法。
【請求項１０】
請求項９記載の方法において、少なくとも１つの歩留まりに基づく最適化を実行する前記行為は、少なくとも部分的に性能モデルに基づいて、少なくとも１つの後処理最適化を実行することを含む、方法。
【請求項１１】
請求項１記載の方法において、前記方法は、複数の設計反復を実行することを含み、前記反復の少なくとも一部は、設計モデルを用いて、前記回路の候補設計の少なくとも一部を評価することを含み、前記反復の少なくとも一部の第１の反復の間に使用される前記設計モデルは、前記反復の他の１つで使用されるものとは異なる、方法。
【請求項１２】
請求項１１記載の方法において、前記反復の内前記第１の反復において評価する前記行為は、前記反復の前記他の１つにおいて用いられる設計モデルよりも速度が高く精度が低い第１設計モデルを用いて評価することを含む、方法。
【請求項１３】
請求項１１記載の方法において、前記設計モデルは、性能モデルを備えており、該性能モデルは、各々、性能の少なくとも１つの等級を実施するように構成された等級付け機構を備えている、方法。
【請求項１４】
請求項１３記載の方法において、前記第１設計モデルは、前記他の設計モデルよりも速度が高く精度が低い、方法。
【請求項１５】
請求項１１記載の方法であって、更に、等級付けされた実現可能性モデルを用いて、前記設計の前記少なくとも一部を評価することを含む、方法。
【請求項１６】
請求項１記載の方法において、前記階層的フローは、複数の設計段階を備えており、前記段階の少なくとも一部は、少なくとも１つの実現可能性モデルの使用を含み、前記少なくとも１つの実現可能性モデルは、少なくとも部分的に最適化を生成するために用いられ、
前記段階の少なくとも一部の第１段階において生成される前記最適化は、前記検証ステップにおいて検証される、方法。
【請求項１７】
階層的プロセスにしたがって電子回路を設計する方法であって、
複数の設計段階を備えている設計プロセスを実行し、前記段階の少なくとも一部が少なくとも１つの実現可能性モデルの使用を含み、前記少なくとも１つの実現可能性モデルを部分的に用いて最適化を生成することを含み、
前記段階の少なくとも一部の第１段階において生成された前記最適化を、前記設計プロセスの少なくとも１つの後続段階において検証する、方法。
【請求項１８】
電子回路の生産方法であって、
複数の設計レベルにおけるモデルの評価を含む設計プロセスを実行し、前記レベルが異なる度合いの抽象化であり、
前記レベルの少なくとも１つに対する評価を実行した後に、前記設計に対するプロセス歩留まりの効果を評価する、方法。
【請求項１９】
請求項１８記載の方法において、前記効果を評価する行為は、実質的に前記レベルの各々を評価し終えた後に、前記複数のレベルと関連付けられている前記モデルの少なくとも１つを用いて評価し、前記歩留まりの効果を評価することから成る、方法。
【請求項２０】
請求項１８記載の方法であって、更に、プロセス歩留まりの効果を評価する前記行為の結果に少なくとも部分的に基づいて、少なくとも１つの最適化を実行することを含み、前記少なくとも１つの最適化は、反復最適化プロセスから成る、方法。
【請求項２１】
請求項２０記載の方法において、前記反復最適化プロセスは、反復的に前記効果を評価する多数の前記行為を考慮する、方法。
【請求項２２】
請求項１９記載の方法において、前記複数のレベルは、４つの設計レベルを含み、最も高いレベルがアーキテクチャ・レベルを含み、最も低いレベルがデバイス・レベルを含む、方法。
【請求項２３】
混成信号回路設計を効率的に生成するように適合化されたコンピュータ装置であって、
プロセッサと、
前記プロセッサに動作的に結合され、ユーザから複数の入力を受け取るように適合化された入力デバイスであって、前記入力が少なくとも部分的に、前記回路設計に付随する設計パラメータに関係する、入力デバイスと、
前記プロセッサに動作的に結合された記憶デバイスと、
前記プロセッサ上で実行するように適合化されたコンピュータ・プログラムであって、複数のレベルを有する階層的設計プロセスを実施するように適合化され、
少なくとも１つの実現可能性モデルを用いて前記設計の１つ以上の側面を評価し、前記少なくとも１つの実現可能性モデルを少なくとも部分的に最適化を生成するために用いることから成り、
前記レベルの内第１のレベルにおいて生成される前記最適化を、前記設計プロセスの少なくとも１つの後続レベルにおいて検証する、コンピュータ・プログラムと、
を備えている、コンピュータ装置。
【請求項２４】
請求項２３記載の装置において、前記コンピュータ・プログラムは、更に、
前記階層的プロセスの第１のより低いレベルと関連付けられた少なくとも１つの性能メトリックに対して少なくとも１つの値を特定し、前記階層的プロセスの第１のより高いレベルと関連付けられた少なくとも１つの性能メトリックが実質的に最適化されるように、前記少なくとも１つの値を選択し、
続いて、前記階層プロセスの第２のより高いレベルと関連付けられた少なくとも１つの性能メトリックを実現するように、前記階層の第２のより低いレベルにおいて１組の性能メトリックを特定する、
ように適合化されている、装置。
【請求項２５】
設計階層を用いて回路を設計する方法であって、
前記階層の第１のより低いレベルと関連付けられた少なくとも１つの性能メトリックに対して少なくとも１つの値を特定し、前記階層的プロセスの第１のより高いレベルと関連付けられた少なくとも１つの性能メトリックが実質的に最適化されるように、前記少なくとも１つの値を選択し、
続いて、前記階層プロセスの第２のより高いレベルと関連付けられた少なくとも１つの性能メトリックを実現するように、前記階層の第２のより低いレベルにおいて１組の性能メトリックを特定する、
ことから成る、方法。
【請求項２６】
請求項２５記載の方法において、前記第１のより低いレベルは、前記階層の最低レベルではない、方法。
【請求項２７】
請求項２６記載の方法において、前記第２のより低いレベルは、前記階層において、前記第１のより低いレベルよりも低い少なくとも１つのレベルである、方法。
【請求項２８】
請求項２７記載の方法において、前記第２のより低いレベルは、前記階層の最低レベルから成る、方法。
【請求項２９】
実質的に階層的なプロセスを用いて電子回路を設計する方法であって、
前記階層における第１のレベルに対して、少なくとも１つの実現可能性または性能モデルを構成し、
前記階層における第２レベルに対して、少なくとも１つのサイジング・ステップを実行し、前記少なくとも１つのサイジング・ステップが、前記少なくとも１つのモデルを用いて、指定された問題を解くことを含み、
前記第１レベルは、前記階層において、前記第２レベルよりも低い、方法。
【請求項３０】
０からｎまでの複数のレベルｌを有する実質的に階層的なプロセスを用いて電子回路を設計する方法であって、
少なくとも１つの階層モデルの構成を行い、該構成が、
レベルｌにおいて少なくとも１つのブロックｂを含む、レベルｌ＝（ｎ−１）．．．（０）に対して、レベルｌ＋１に対して少なくとも１つの実現可能性または性能モデルを構成し、
少なくとも１つの階層的サイジングを実行し、該サイジングが、
レベルｌにおいて少なくとも１つのブロックｂを含む、レベルｌ＝（０）．．．（ｎ−１）に対して、前記少なくとも１つのモデルに部分的に基づいて、少なくとも１つの問題を解き、
前記少なくとも１つのモデルを精細化する、
ことから成る、方法。
【請求項３１】
請求項３０記載の方法において、前記精細化する行為は、レベルｋ＝（ｎ−１）．．．（ｌ）に対して、レベルｋ＋１上において少なくとも１つのより精度が高い実現可能性モデルを構成することを含む、方法。
【請求項３２】
請求項３０記載の方法において、前記精細化する行為は、レベルｋ＝（ｎ−１）．．．（ｌ）に対して、レベルｋおよびｋ＋１に関連する少なくとも１つのより精度が高い性能モデルを構成することを含む、方法。
【請求項３３】
電子回路設計の検証方法であって、
前記設計の個々の構成要素に付随する複数の挙動記述を得て、
ソフトウェア・ルーチンにおいて前記記述を設定し、前記ルーチンは、複数の刺激を与えるように適合化され、かつ前記回路の性能を測定する際に有用であり、
前記刺激の印加に基づいて前記回路の応答を判定し、
前記応答を分析して、それから少なくとも１つの性能メトリックを導出し、
前記回路設計の制約を受ける部分に対して、少なくとも１つの制約を評価する、
ことから成る方法。
【請求項３４】
階層的プロセスを用いて回路設計の少なくとも一部を評価する方法であって、
第１対象設計点を生成し、
前記階層内における第１レベルにおいて、前記設計点の容認可能性を評価し、
前記階層内における第２レベルにおいて、前記設計点の容認可能性を評価することから成り、
前記設計点が、前記第１レベルでは容認可能であるが、前記第２レベルでは容認可能ではない場合、前記設計点を生成するために用いた１つ以上のモデルの有効性を評価する、方法。
【請求項３５】
請求項３４記載の方法において、前記有効性を評価する前記行為は、前記設計点付近の設計空間領域における有効性を評価することを含む、方法。
【請求項３６】
請求項３４記載の方法において、前記有効性を評価する前記行為は、選択したサンプル集合において前記１つ以上のモデルを用いて生成した予測を、サイン・オフ検証器の予測と比較することにより、前記有効性を評価することを含む、方法。
【請求項３７】
回路を設計するための階層に基づく設計プロセスにおいて有用なモデルを生成する方法であって、
多目的最適化を実行し、
前記実行する行為に少なくとも部分的に基づいて、第１設計空間領域の複数の点を特定し、
前記複数の点に少なくとも部分的に基づいて第１モデルを生成する、
ことから成る、方法。
【請求項３８】
請求項３７記載の方法において、前記第１設計空間は、実現可能性空間を含み、前記実行する行為は、前記階層の第１レベル上で制限された検索空間を用いて前記多目的最適化を実行し、前記階層の第２レベル上でパレート・フロント（ｐａｒｅｔｏ−ｆｒｏｎｔ）を発見することを含む、方法。
【請求項３９】
請求項３８記載の方法において、前記制限された検索空間は、前記第２レベル上の実現可能性領域の境界を含む、方法。
【請求項４０】
請求項３９記載の方法において、第１モデルを生成する前記行為は、パラメトリック線形または非線形回帰を備えている数値モデル生成器を用いることを含む、方法。
【請求項４１】
請求項３９記載の方法において、前記モデルは、混成信号回路設計プロセスの一部として多目的パレート・フロントの生成に有用な実現可能性モデルから成り、前記方法は、前記複数の点を特定することを含み、その際、
最適化問題を設定し、該設定するステップは、
少なくとも１組の最適化変数Ｘを指定する行為と、
複数の目的Ｙ（Ｘ）を指定する行為と、
複数の制約Ｃ（Ｘ）を指定する行為とを含み、
最適化アルゴリズムを初期化し、該初期化するステップは、
初期解集合Ｓ０＝｛Ｘ１，Ｘ２，．．．，Ｘｎ｝を母集団とする行為と、
Ｓ０における各要素ｓについて、Ｙ（ｓ），Ｃ（ｓ）を評価する行為と、
Ｓ０について所産（ｏｆｆｓｐｒｉｎｇ）＝Ｓ０を設定する行為と、
識別インデックスｉ＝１を設定する行為と、
１つ以上の停止基準を評価する行為とを含み、
前記停止基準が満たされない場合、
制約違反および目的支配の少なくとも一方を考慮してＳｉ−１，ｏｆｆｓｐｒｉｎｇからの非支配解に基づいて集合Ｓｉを更新する行為と、
複数の候補解の均等分散を保持しつつ、必要であれば、Ｓｉのサイズを切り詰める行為と、
Ｓｉから部分集合Ｓｉ，ｐａｒｅｎｔｓを選択する行為と、
包括的演算子を用いてＳｉ，ｐａｒｅｎｔｓに基づいて集合Ｓｉ，ｏｆｆｓｐｒｉｎｇを作成する行為と、
Ｓｉ，ｏｆｆｓｐｒｉｎｇにおける各要素ｓについて、Ｙ（ｓ），Ｃ（ｓ）を評価する行為と、
前記識別インデックスを増分する行為と、
制約違反および目的支配の少なくとも一方を考慮してＳｉ−１，ｏｆｆｓｐｒｉｎｇからの非支配解に基づいて集合Ｓｉを更新する行為と、
複数の候補解の均等分散を保持しつつ、必要であれば、Ｓｉのサイズを切り詰める行為と、
少なくとも前記複数の点を利用して、前記実現可能性モデルを生成する行為と、
を実行する、方法。