説明

3DICのためのフロアプランニングを容易にするための方法およびシステム

本発明の一つの実施形態は、3次元集積回路(3D IC)に対するフロアプランニングを容易にするシステムを提供する。動作中に、上記されたシステムは、複数の回路ブロックを受容する。上記のシステムは、マルチレイヤダイ構造の少なくとも1つのレイヤにおいてブロックを配置し、時間変動するパラメータの初期値を設定する。次いで、上記システムは、時間変動するパラメータが所定の値に達するまで、ブロック配列を反復して摂動する。

【発明の詳細な説明】
【技術分野】
【0001】
(分野)
本開示は、概して、集積回路(IC)の設計に関する。より具体的には、本開示は、3次元(3D)におけるフロアプランニングを容易にするための方法およびシステムに関する。
【背景技術】
【0002】
(関連技術)
ムーアの法則に従った超大規模集積(VLSI)回路を継続的に縮小することは、パッケージングおよび配線技術を向上させることを維持することに役立っている。3次元集積回路(3D IC)は、スケーリング、性能および機能性に関するシステム要求のペースを維持することに対する実現可能な解決策として多くの関心を得ている。
【0003】
3D ICの重要な利益は、システムサイズの低減である。伝統的な技術において、システムアセンブリは、2次元(2D)平面アーキテクチャに基づいている。ダイは、個別にパッケージングされ、平面配線基板(例えば、印刷回路基板(PCB))に接続される。ダイ対パッケージの比率は、概して小さく(約50%)、基板上の構成要素間のさらなる間隔が典型的に必要とされ、このことが、面積効率を約30%までさらに低減する。
【0004】
3D ICを探求する別の理由は性能である。3Dアセンブリにおける配線は、可能性として、2D構成よりもかなり短くなる。この特徴は、3D ICが、より速い動作速度および低電力消費を有することを可能にする。
【0005】
3D ICを考慮する第3の動機付けの要因は、いわゆるヘテロ集積化である。多種多様な機能回路ブロック(例えば、論理、アナログ、およびメモリ)を有する真のsystem−on−a−chip(SOC)デバイスは、構築することがかなり困難である。さらに、アクティブデバイスを構築するために使用される基板は、技術間でかなり変動し得る。「垂直方向の」スケーリング以外に、チップ設計者は、また「水平方向の」スケーリングも経験する。高密度の3D IC技術が利用可能な場合には、3D SOCは、異質のデバイスのスタックを用いて製造され得る。このデバイスは、モノリシックSOCと比較すると、小型で、より少ない電力を消費し、より高い性能を提供する。さらに、3D集積化は、クラス最高のアナログデバイスとクラス最高のデジタルデバイスの実践的な集積化を妨げる、プロセス技術における特定の障害物を回避し得る。
【0006】
3D ICがより多くの量の機能を集積し、多様な技術を含むので、3D ICはより複雑になる傾向にあるため、3D ICの設計、表現および最適化は、設計フローにおける多くの段階に対する変化を必要とする。特に、3D ICの最適化は、さらなる自由度(すなわち、z次元)を含み、この自由度は、良好に設計された電子設計自動化(EDA)ツールが、良好な解決策を提供するために利用することを必要とする。さらに、複数の技術によって同時に課せられる拘束を表現することが必要である。したがって、様々な設計段階におけるインフラストラクチャに対する変化ならびに分析および最適化は、3D IC設計を可能にするために必要とされる。既に2D ICに対する論点(issue)となっている特定の問題(例えば、熱放散)は、3D ICに対してより大きく突出する。この挑戦は、3D構造におけるより大きい電力密度と、デバイスレイヤ間の誘電レイヤの乏しい熱伝導率とに起因しており、このことがチップの熱暴走の可能性を増大させ得る。
【0007】
全てのEDAタスクの中で、ダイフロアプランニングは、重要な段階である。最新の利用可能な3Dフロアプランニング技術は、単なる2D技術の延長であり、主にワイヤ長の最適化および熱問題に焦点を当てている。これらの技術は、製造能力および設計拘束を考慮せず、しばしば、グローバル最適化解決策を得るために不十分であると考えられる。
【発明の概要】
【課題を解決するための手段】
【0008】
要旨
本発明の一実施形態は、3次元集積回路(3D IC)に対するフロアプランニングを容易にするシステムを提供する。動作中、システムは、複数の回路ブロックを受容する。システムは、さらに、3D構造に対するパラメータのセットを受容し、ここで、パラメータは、ダイ面積、最大総ワイヤ長、それぞれのレイヤ上のスルーシリコンビア(TSV)の最大数、および3D構造におけるそれぞれのレイヤのアスペクト比のうちの1つ以上を含む。システムは、次いで、費用関数を最適化することによって3D構造におけるレイヤにわたる回路ブロックに対するフロアプランを算出し、ここで、費用関数は、回路ブロックによって使用される、総面積、ワイヤ長、およびTSV、各レイヤにおいて回路ブロックによって占有される面積のアスペクト比、所与のフロアプランに対する回路ブロックによって生成された最高温度に基づく。
【0009】
本発明の一実施形態は、3次元集積回路(3D IC)に対するフロアプランニングを容易にするシステムを提供する。動作中、システムは複数の回路ブロックを受容する。システムは、マルチレイヤダイ構造の少なくとも1つのレイヤにブロックを配置し、時間変動するパラメータの初期値を設定する。システムは、次いで、時間変動するパラメータが所定の値に達するまで、以下の反復動作を行う。
【0010】
反復の間、システムは、現在のブロックの配列を摂動する。システムは、摂動前の配置および摂動後の配置においてブロックによって必要とされる総ダイ面積、総ワイヤ長、スルーシリコンビア(TSV)の総数およびダイのアスペクト比に基づいて、費用関数の値を算出する。費用関数の算出された値が、摂動前の配列に関連する費用関数の値未満である場合には、システムは、摂動後のブロック配列を現在のブロックの配列として認める。費用関数の算出された値が、摂動前の配列に関連する費用関数の値以上である場合には、システムは、摂動後のブロック配列を、時間変動するパラメータを減少させる非ゼロ確率を有する現在のブロック配列として認める。システムは、また、時間変動するパラメータを減少させる。
【0011】
反復動作に続いて、システムは、異なるレイヤにわたる最終的なブロック配列を示す結果を生成する。
【0012】
本実施形態の1つの変化形において、現在のブロックの配列を摂動することは、以下の動作:少なくとも1つのブロックを動かすこと、2つのブロックをスワッピングすること、少なくとも1つのブロックを回転すること、および少なくとも1つのブロックを裏返すことのうちの1つ以上を行うことを含む。
【0013】
さらなる変化形において、摂動は、混雑したレイヤからより多くの使用されていない空間を有するレイヤへブロックを動かす増大した確率で行われる。
【0014】
さらなる変化形において、摂動は、それぞれのレイヤのダイ面積の境界内の1つ以上のブロックのあそびに基づいて行われる。
【0015】
さらなる変化形において、時間変動するパラメータが所定の値よりも大きい場合には、あそびベースのブロック移動が好適である。
【0016】
さらなる変化形において、時間変動するパラメータが所定の値以下である場合には、あそびベースのブロックスワッピングが好適である。
【0017】
本実施形態の1つの変化形において、システムは、時間変動するパラメータが所定の中間値に達した後、所定のサイズよりも大きい少なくとも1つのブロックを、より小さいブロックに分解する。
【0018】
さらなる変化形において、システムは、時間変動するパラメータが所定の中間値に達した後、時間変動するパラメータを増大することによって、分解されたブロックが追加の摂動を受けることを可能にする。
【0019】
本実施形態の1つの変化形において、回路ブロックを受容することは、既存の2次元(2D)または3Dフロアプランにおいて該ブロックを受容することを包含する。
【図面の簡単な説明】
【0020】
【図1】図1は、例示的な3D IC構造を例示する。
【図2】図2は、本発明の実施形態に従う3Dフロアプランニングの例示的なプロセスを例示するフローチャートを提示する。
【図3】図3は、本発明の実施形態に従う空間的なあそびの概念を例示する。
【図4】図4は、本発明の実施形態に従う例示的なシミュレーテッドアニーリング温度制御曲線を例示する。
【図5】図5は、本発明の実施形態に従う高いシミュレーテッドアニーリング温度におけるフロアプランニングの結果の例を例示する。
【図6】図6は、本発明の実施形態に従う低いシミュレーテッドアニーリング温度におけるフロアプランニングの結果の例を例示する。
【図7】図7は、本発明の一実施形態に従う3Dフロアプランニングのための例示的なコンピュータシステムを例示する。
【発明を実施するための形態】
【0021】
(詳細な説明)
以下の説明は、当業者が本発明を構成し使用することを可能にするために提示され、特定の用途およびその要件に関連して提供される。開示される実施形態に対する様々な修正は、当業者に容易に明らかになり、本明細書に規定される一般的な原理は、本発明の精神および範囲から逸脱することなしに、他の実施形態および用途に適用され得る。従って、本発明は、示される実施形態に制限されないが、本明細書に開示される原理および特徴に一致する最も広い範囲に従うべきである。
【0022】
この詳細な説明に説明されるデータ構造およびコードは、典型的にコンピュータ読み取り可能媒体に格納され、この媒体は、コンピュータシステムによって使用するコードおよび/またはデータを格納し得る任意のデバイスまたは媒体であり得る。コンピュータ読み取り可能格納媒体は、揮発性メモリ、不揮発性メモリ、磁気格納デバイスおよび光学格納デバイス(例えば、ディスクドライブ、磁気テープ、CD(コンパクトディスク)、DVD(デジタル多用途ディスクまたはデジタルビデオディスク))、あるいは現在公知のまたは将来的に開発されるコンピュータ読み取り可能媒体を格納可能なほかの媒体を含むが、これらに制限されない。
【0023】
(概観)
垂直方向のシステム集積化の主なアプローチは、薄いデバイス(ダイまたはウェハ)を、精度良く整列させ、接合し、そしてスルーシリコンビア(TSV)を用いて任意に相互接続することによって、薄いデバイスをスタックすることである。典型的なフローにおいて、回路設計は、別個のウェハ上に適宜製造された別個のレイヤ上に適合するように工作される。次に、ウェハは整列され、スタックされ、薄化される。このプロセスのどこかで、TSVがスタックされたウェハ/ダイに一体化されることにより、垂直方向の接続を実現する。これらの動作の正しい順序は、様々な方法間で広く変動する。
【0024】
図1は、例示的な3D IC構造を例示する。例示された構造は、レイヤ102、104および106という3つのウェハレイヤを含む。それぞれの層は、複数の回路(例えば、レイヤ106におけるMOSFET 114)を含む。レイヤ102は、Si基板120を含む。レイヤ104および106は、基板薄化プロセスによって、共に、薄くされている。これらの3つのレイヤは、ウェハ整列プロセスによって整列され、接合レイヤ(例えば、接合レイヤ112)によって一緒に接合されることによって、3D構造を形成する。異なるレイヤにおけるデバイスは、TSV(例えば、TSV 108)によって結合される。それぞれのTSVは、別のレイヤのランディングパッドと接触している。例えば、TSV 108は、レイヤ104内のデバイスを、レイヤ102内のランディングパッド110を介してレイヤ102内のデバイスと結合する。
【0025】
本発明の実施形態は、所与の回路ブロックを、3D構造内の各レイヤの輪郭内に配列することによって3Dフロアプランニングを容易にする方法を提供する。その結果は、複数のパラメータ(例えば、面積利用、ワイヤ長、アスペクト比、TSV関連の拘束)を最適化する3D構造の異なるレイヤにわたるブロック配列である。本発明の実施形態において、本フロアプランニングツールは、反復摂動方法、すなわちシミュレーテッドアニーリングを用いることによって、実質的に最適な解決策を見出す。
【0026】
シミュレーテッドアニーリング(SA)は、グローバル最適化問題に対する一般的な確率メタアルゴリズムであり、すなわち、大きな検索空間における、所与の関数のグローバル最適値に対する良好な近似を位置決めする。SAは、しばしば、検索空間が離散的である場合に使用される。名称「シミュレーテッドアニーリング」は、金属学におけるアニーリングに由来し、これは、材料の結晶のサイズを増大させ、欠点を低減するために、材料の加熱および制御された冷却をおこなうことを含む。この熱が、原子を原子の初期位置(極小の内部エネルギー)からはがし、より高いエネルギー状態を介してランダムに動かし(wander)、ゆっくりとした冷却プロセスは、初期の内部エネルギーよりも低い内部エネルギーを有する構成を見出すより多くの機会を原子に与える。
【0027】
この物理的なプロセスとの類推によって、SAプロセスの各ステップは、現在の解決策を、ランダムな「近接」解決策によって置き換え、このランダムな「近接」解決策は、対応する費用関数の値(真のアニーリングプロセスにおけるエネルギーレベルと類似)の間の差と、グローバルパラメータT(温度と呼ばれる)とに依存し、このグローバルパラメータTは、SAプロセスの間に徐々に減少する。一般的に、Tが大きくなる場合、システムは、摂動された解決策を許容し、これは非ゼロ確率を有するより高い費用関数をもたらす(システムがより低い費用関数値を有する解決策のみを許容するグリーディアルゴリズムとは対照的)。この非ゼロ確率はアニーリング温度と共に減少し、Tがゼロに向かって下がるにつれゼロに近づくことに留意されたい。結果として、現在の解決策は、Tが大きくなる場合ほぼランダムに変化するが、Tがゼロに近づくにつれますます「下り勾配」になる。Tが大きい場合に「上り勾配」に動くことに対する許容は、プロセスが、極小において固着状態になること(これはグリーディアルゴリズムの悩みの種であるが)が内容にする。本開示において、時間変動するパラメータTが、シミュレーテッドアニーリング温度またはSA温度と称されることに留意されたい。このパラメータは、物理的な温度に関連しない。代わりに、SAプロセスの進行を制御するパラメータである。
【0028】
図2は、本発明の一実施形態に従う、3Dフロアプランニングの例示的なプロセスを例示するフローチャートを提示する。動作中、3Dフロアプランニングシステムは、最初のSA温度値を最初に選択し、最初のフロアプランを生成する(動作202)。最初のフロアプランが、複数のレイヤにわたるブロックの任意の配列であり得ることに留意されたい。その後、システムはフロアプランを摂動する(動作204)。次いで、システムは、摂動されたフロアプランの費用関数を評価する(動作206)。システムは、さらに、費用関数値が認められるかどうかを決定する(動作208)。認められる場合には、システムは、摂動されたブロック配列でフロアプランをアップデートする(動作210)。認められない場合には、システムは、SA温度Tを減少するように進行する(動作210)。システムは、Tが終了条件に達したかどうかを決定する(動作214)。例えば、Tがゼロに達する場合、終了条件が満たされる。ゼロに達しない場合には、システムは、ループに戻り、フロアプランを摂動し続ける(動作204)。
【0029】
(問題の定式化)
一般の3Dfixed−outlineフロアプランニング問題(3D−FOFP)は、以下のように定式化され得る。B={b|1≦i≦n}を所与の回路ブロックのセットであるとし、各ブロックbは、幅wおよび高さhを有する。各ブロックは、自由に回転し、そして/または裏返しになる。さらに、フロアプランは、ダイアウトライン、TSVおよび熱問題に関する特定の拘束を満足することが期待される。fixed outline拘束は、ダイ上の所与の寸法が満足される(例えば、全てのレイヤが所与のアウトライン内に拘束される)ことを確実にする。fixed outline拘束(しばしばfixedダイ拘束といわれる)は、典型的に、階層的設計に使用される。この拘束は、しばしば、フロアプランニングプロセスに含まれる。なぜなら、理論的な(pure)ワイヤ長/面積最小化は、依然として、解決策が所与のアウトライン内に適合しない場合には使用不能な解決策をもたらし得るからである。各ダイの所望の幅Wおよび所望の高さHが提供され得る。代替的に、最大のアスペクト比および最大の許容可能な使用されない空間が、全てのダイに対するWおよびHが計算され得ることから提供され得る。製造能力の拘束はTSVに関連する。この面積における重要な拘束は、隣接するダイレイヤの各対間のTSVの数が特定のユーザ固有の境界内に存在することを確実にすることである。この境界は、異なる層に対して変動し得、典型的には、TSVピッチの考察に基づいて計算され、これは境界スキームが使用されることに依存する。さらなる拘束は熱問題に関連する。3D構造におけるより大きな電力密度およびより弱い熱伝導率に依存して、熱問題は、フロアプランニングの間に考察されるべきである。重要な熱拘束は、任意のダイレイヤにおける最大の可能な温度を制限することである。フロアプランニングツールの目的は、各ブロックbの下部左の頂点に対する座標(x,y,l)を見出すことであり、その結果、0≦x≦W−w;0≦y≦H−h;1≦l≦Lであり、いかなる2つのブロック間にも重なりは存在しない。
【0030】
一実施形態において、3D構造における各ダイの幅Wおよび高さHは、同一である。この場合、チップの幅Wおよび高さHをチップ面積および最大許容可能不使用空間から計算することが可能である。計算は以下のようになる。全ブロックの面積の合計をA、3D ICのレイヤの数をL、余白空間(すなわち利用されていない空間)の最大の利用可能な割合をε、そしてダイの所与のアスペクト比(すなわち、高さと幅との比)がγであると仮定する。そして、3D IC(および各レイヤにおけるダイ)の幅Wおよび高さHは、
【0031】
【数1】

と表現され得る。
【0032】
fixed−outlineフロアプランニングにおける前述の作業は、2Dフロアプランニングに関して行われる。従来のフロアプランニングは、費用関数の線形の組み合わせ(例えば、面積およびワイヤ長)を最適化することにおいて成功している。しかしながら、fixed−outlineフロアプランニングは、アウトラインの自由な条件下で費用関数を最小化することよりも計算的にかなり難しい。従来のフロアプランニングツールの失敗の主な理由は、摂動方法のインテリジェントな解決策が欠如していることである。
【0033】
本発明の実施形態は、ブロック摂動に対する「空間的あそび」の概念を使用する。図3は、本発明の実施形態における空間的あそびの概念を例示する。水平方向の拘束のグラフは、方向づけられたエッジおよび頂点S、A、B、C、DおよびTによって図3に示されるように、拘束される。このグラフにおいて、fixed outlineの左境界および右境界は、それぞれ、「ソース」(頂点S)および「シンク」(頂点T)である。ブロックA、B、CおよびDは、それぞれ、対応する頂点によって表され、頂点の重みは、対応するブロック幅として指定される。
【0034】
空間的あそびの算出は、静的タイミング分析(STA)あそびの算出と類似しているが、STAがエッジ重み付けグラフで行われるが、図3の水平方向の拘束のグラフは頂点重み付けであることが異なる。従って、空間的あそびを計算する前に、各頂点の重みが、頂点の付随するエッジに指定される。図3に例示されるように、ブロックDの右エッジは、fixedダイアウトライン302の右境界を越え、頂点Dのあそびは負である。従って、現在のシーケンス対を摂動する場合には、任意のブロックをブロックDの右に動かすことは好ましくない。反対に、ブロックAの遊びはブロックDの幅よりも大きいので、ブロックDをブロックAの右に動かすことは、fixed outline拘束を満足し得る。そのため、大きな空間的あそびを有するブロックの隣に、小さな空間的あそびを有するブロックを動かすことは、可能性として良好な摂動であり、システムは、この種の摂動を行う確率を付勢し得る。本開示において、用語「あそび」は、空間的あそびを示すために使用される。本発明の実施形態は、ブロックの移動をガイドするために空間的あそびの概念を使用する。あそびに基づくブロック配列についてのさらなる詳細は、S.AdyaおよびI.Markovによる「Fixed−outline floorplanning through better local search」、Proc.Intl.Conf. on Computer Design,2001,pp.328−334と、H.Murata、K.Fujiyoshi、S.NakatakeおよびY.Kajitan「VLSI module placement based on rectangle−packing by the sequence pair」、IEEE systems,vol.15,no.12,pp.1518−1524,1996とにおいて見出され得、これらはともに、本明細書において参照により援用される。
【0035】
(3D Fixed−Outlineフロアプランニング)
本発明の実施形態は、ブロックの位置を表すシーケンス対のアレイを使用する。各レイヤに対して、1つのシーケンス対は、このレイヤにおけるブロックの配置を表すために使用される。現在の3D IC技術において、TSVは、サイズで通常のビアよりも数倍大きいので、面積使用を最小化するために、TSVの最大数を制限することが有益である。従って、本発明の実施形態は、各レイヤにおけるTSVの数を制限することによって、製造能力を考慮している。以下のセクションは、3D−FOFPアプローチの様々な局面を説明する。
【0036】
(3D−FOFPアルゴリズム)
先に述べたように、本発明の実施形態は、シミュレーテッドアニーリングアプローチを使用し、レイヤ間およびレイヤ内の両方のブロックの動きを考慮する。一実施形態において、システムは、最初に、第1のレイヤに全てのブロックを保持し、ブロックの最初のフロアプランを表すランダムなシーケンス対を生成する。次に、最初のシーケンス対は、フロアプランニングツールに送られ、このフロアプランニングツールは、fixed−outline拘束およびTSV境界拘束に違反することなしにフロアプランニングの結果を生成することを目的とする。同時に、このツールは、3D設計の総ワイヤ長を最小化することを模索する。
【0037】
シミュレーテッドアニーリングプロセスの間に、ブロックは様々なレイヤに動かされ、レイヤ内に均一に分散され、その結果、様々な目的が満たされ得る。解決策の収束を容易にし、fixed outline拘束を満足させるために、あそびに基づく移動の概念が3Dフロアプランに適用するように拡張される。さらに、TSVオーバーフロー費用およびワイヤ長費用が費用関数に組み込まれることにより、TSV拘束を満たし、ワイヤ長を最適化する。一実施形態において、大きなブロックがより小さなブロックに分解されることが可能になる第2フェーズを有することが可能である。(本開示は、第1フェーズを3D−1といい、第2フェーズを3D−2という)。より小さなブロックは、次いで、1つの試行で連続的なレイヤに動かされ得ることにより、フロアプランニングの成功率を向上させ、ワイヤ長を最適化する。この第2フェーズの背後にある基本的な考えは、より小さなブロックは動かしやすさに対するより高い柔軟性を有するということである。一実施形態において、3D−1の結果は、3D−2に送られることにより、ワイヤ長をさらに最適化し、fixed−outline拘束を満足する成功率を向上させる。
【0038】
(温度スケジューリング)
一実施形態において、最初のアニーリング温度は、非常に高い値(例えば、30000度)に設定される。この高温の段階において、劣っている解決策は、認められる可能性が高い。次いで、アニーリング温度は、1に近い基底で指数関数的に低減され、劣っている解決策の認められる可能性は、対応して徐々に低減する。アニーリング温度が0度に非常に近くなる場合には、劣っている解決策の認められる可能性は0に近くなり、3Dフロアプランニングアルゴリズムは、グリーディアルゴリズムと類似した挙動をする。一実施形態において、SA温度が特定のクールダウン閾値未満に落ちると、3D−1フェーズは終了し、3D−2フェーズが始まる。
【0039】
3D−2の初期温度が非常に高い場合には、システムは、3D−1において得られたフロアプランニングの結果を完全に損失し得、システムは、3D−1の結果から利益を得ることがない場合があることに留意されたい。従って、一実施形態において、アニーリング温度は、3D−2の開始時において、3D−1の初期温度と比較すると相対的に低い温度に上昇し、その後、徐々に減少する。アニーリング温度対タイミングのプロットは図4に示される。
【0040】
(摂動方法)
SA反復の各ステップの間に、新しいブロック配列が、ブロックまたはブロックの対の位置を変更することによって得られる。シミュレーテッドアニーリングプロセスの各ステップにおいて使用される摂動方法は、以下のようにカテゴリー分けされ得る。
(1)ランダム摂動:これらの摂動は、ランダムに選択されたブロックまたはブロックの対におけるレイヤ内移動、レイヤ間移動、レイヤ内スワッピング、およびレイヤ間スワッピングを含む。移動の間、ブロックは1つの位置から別の位置に動かされる。他方、スワッピングの間、2つのブロックの位置が交換される。
(2)面積平衡摂動:この摂動において、ブロックの移動は、ブロックを混雑したレイヤからより多くの余白空間を有するレイヤに動かす確率を増大させるように付勢される。これらの動きは、各レイヤにおける余白空間のより良い利用を可能にする。
(3)あそびにもとづく摂動:このカテゴリーに含まれる4つのタイプの摂動がある。それらは、レイヤ内のあそびに基づく移動、レイヤ間のあそびに基づく移動、レイヤ内のあそびに基づくスワッピングおよびレイヤ間のあそびに基づくスワッピングである。あそびの情報は、移動またはスワッピングのためにブロックを選択するために使用される。
(4)回転および裏返し摂動:ブロック回転は、長方形のブロックを小型化するための許容可能な幾何学形状の組み合わせの数を増大させることによって、fixed outline拘束を満たす成功率を可能性として増大させる。他方、ブロックの裏返しは、ワイヤ長を低減することを助ける。
(5)半外周ワイヤ長(HPWL)アウェア摂動:ワイヤ長を最小化するために、この摂動は、このブロックと接続するピンの重心にブロックを動かす。
【0041】
前述の摂動は、多くの可能性のある摂動技術のうちのほんのいくつかであることに留意されたい。さらなる摂動が、他の設計拘束に対する向上した解決策を得るために導入され得る。
【0042】
経験的な証拠は、あそびに基づく移動およびあそびに基づくスワッピングを除いて、各シミュレーテッドアニーリングステップの間に、ランダムに摂動を選ぶことは、良好な品質の結果を達成する。他方、あそびに基づく移動およびスワッピングは、以下に説明されるようなSA温度依存性を証明する。アニーリング温度が高い場合には、ブロックの配置は、fixed outline拘束にかなり違反し得る。図5は、高温度段階におけるフロアプランニングの例である。初期のフロアプラン502において、ブロックGおよびブロックBは、それぞれ、水平方向における最大および最小のあそびを有する。最大のあそびと最小の遊びとの間の差は非常に大きいので、ブロックBをブロックGの右に方向付けて動かすこと(フロアプラン504に示される)は、Bの幅によって、臨界のブロックのあそびを増大させるより良い機会を有する。それゆえ、フロアプラン504は、フロアプラン502よりも小型でコンプライアンスがある。反対に、システムがあそびに基づくスワッピングを行う場合には、臨界的なあそびは、フロアプラン506に示されるように、ブロックBの幅とブロックGの幅との間の差に等しい量だけであり得る。あそびに基づく移動と比べると、あそびに基づくスワッピングは、高温段階における臨界的なあそびを向上させる機会を有しない。「臨界的なあそび」は、全てのブロックの中での最も負のあそびまたは最も小さい正のあそびをいう。
【0043】
しかしながら、SA温度が冷却した場合、フロアプランはより小型になる。結果として、あそびに基づく移動は、好ましくない摂動方法になる。図6に示されるように、初期のフロアプラン602において、ブロックのあそびにおける差は、高SA温度段階における場合とそれほど明白に違わない。この条件下で、あそびに基づく移動(フロアプラン604において示される)は、非臨界的なブロックのあそびを負にするより高い確率を有し、それにより、シミュレーテッドアニーリングプロセスの収束を邪魔する。従って、あそびに基づくスワッピングは、(フロアプラン606に示される)は、低温度段階において好ましい摂動方法になる。一般的に、温度依存性摂動は、良好な品質の結果を達成することを助ける。
【0044】
(費用関数)
一実施形態において、複数の目的(例えば、面積最小化、ワイヤ長最小化ならびにアスペクト比およびTSV境界とのコンプライアンス)に対処するために、以下の目的関数
費用=α×DArea+β×DWL+χ×DAR+δ×オーバーフロー
が使用され、ここでα、β、χおよびδはユーザ規定の拘束である。
【0045】
各反復ステップの開始時において、初期の解決策は、最後に認められた解決策に設定される。用語「CurArea」、「CurWL」および「CurAR」は、最後に認められた解決策の面積、ワイヤ長およびアスペクト比をそれぞれいう。フロアプランのアスペクト比は、全てのブロックを収容する最も小型の境界ボックスのアスペクト比である。同様に、用語「PtbArea」、「PtbWL」および「PtbAR」は、摂動した解決策の面積、ワイヤ長およびアスペクト比をそれぞれいう。さらに、用語「BArea」、「TSVOverflow」および「TSVBound」は、ブロックの面積の合計、TSVのオーバーフローおよびTSVの上部境界をそれぞれ表す。費用関数の項は、以下のように規定される。
【0046】
【数2】

項「DArea」および「DAR」は、より大きな面積を占有するか、または所与のfixed outlineのアスペクト比に違反するフロアプランニングの結果を不利にする。これらの用語およびあそびに基づく摂動は、fixed−outline拘束を満足させる成功率を強化することを助ける。項DWLは、フロアプランニングツールがワイヤ長を最適化することを助ける。さらに、オーバーフロー費用は、フロアプランニングがTSV拘束に違反することを防ぎ得る。
【0047】
前述の費用関数は、多くの可能性のある費用関数のうちの単なる1つである。費用関数は、また、追加の項(例えば、3D構造の熱特性に関する項)を含むことによって、異なる設計拘束を反映し得る。
【0048】
(例示的なフロアプランニングシステム)
詳細な説明のセクションに説明された方法およびプロセスは、コードおよび/またはデータとして具体化され得、これらは、上述のコンピュータ読み取り可能格納媒体に格納され得る。コンピュータシステムは、コンピュータ読み取り可能格納媒体に格納されたコードおよび/またはデータを読み取り、実行する場合には、コンピュータシステムは、データ構造およびデータとして具体化され、コンピュータ読み取り可能格納媒体内に格納された方法およびプロセスを行う。
【0049】
さらに、以下に説明される方法およびプロセスがハードウェアモジュールに含まれ得る。例えば、ハードウェアモジュールは、特定用途向け集積回路(ASIC)チップ、フィールドプログラマブルゲートアレイ(FPGA)、および、現在公知かまたは将来的に開発される他のプログラマブル論理デバイスを含み得るが、これらに限定されない。ハードウェアモジュールが起動される場合、ハードウェアモジュールは、ハードウェアモジュール内に含まれる方法およびプロセスを行う。
【0050】
図7は、本発明の一実施形態に従う3Dフロアプランニングを容易にするための例示的なコンピュータシステムを例示する。コンピュータシステム702は、ディスプレイ713、キーボード710およびポインティングデバイス712に結合される。コンピュータシステム702は、プロセッサ704、メモリ706および格納デバイス708を含む。格納デバイス708は、3Dフロアプランニングアプリケーション718のためのコードを格納し、これは同様に摂動モジュール720、SA温度制御モジュール722およびブロック分解モジュール714を含む。動作中、3Dフロアプランニングアプリケーション718は、格納デバイス708からメモリ706にロードされ、プロセッサ704によって実行される。最終的な結果は、ディスプレイ713上に表示され得る。
【0051】
本発明の実施形態の前述の説明は、例示および説明の目的のためだけに提示されてきた。これらは、包括的であることを意図されず、開示される形態に本発明を制限することも意図されない。したがって、多くの修正および変形が当業者に明らかである。さらに、上記の開示は、本発明を制限することを意図されない。本発明の範囲は、添付の特許請求の範囲によって規定される。

【特許請求の範囲】
【請求項1】
3次元集積回路(3D IC)に対するフロアプランニングを容易にするコンピュータ実行される方法であって、該方法は、
複数の回路ブロックを受容することと、
3D構造に対するパラメータのセットを受容することであって、該パラメータは、
ダイ面積と、
最大総ワイヤ長と、
それぞれのレイヤ上でのスルーシリコンビア(TSV)の最大数と、
該3D構造におけるそれぞれのレイヤのアスペクト比と
のうちの1つ以上を含む、ことと、
費用関数を最適化することによって、該3D構造におけるレイヤにわたる該回路ブロックに対するフロアプランを算出することであって、該費用関数は、該回路ブロックによって使用される該総面積、ワイヤ長、およびTSV、各レイヤにおいて該回路ブロックによって占有される面積のアスペクト比、ならびに所与のフロアプランに対して該回路ブロックによって生成される最大温度に基づく、ことと
を包含する、方法。
【請求項2】
3次元集積回路(3D IC)に対するフロアプランニングを容易にするコンピュータ実行される方法であって、該方法は、
複数の回路ブロックを受容することと、
マルチレイヤダイ構造の少なくとも1つのレイヤに、該ブロックを配置することと、
時間変動するパラメータの初期値を設定することと、
該時間変動するパラメータが所定の値に達するまで、以下の動作を繰り返し行うことであって、該動作は、
該ブロックの現在の配列を摂動することと、
該摂動前の配置および該摂動後の配置において該ブロックによって必要とされる総ダイ面積、総ワイヤ長、スルーシリコンビア(TSV)の総数およびダイのアスペクト比に基づいて、費用関数の値を算出することと、であり、
該費用関数の該算出された値が、該摂動前の配列に関連する該費用関数の値未満である場合には、該摂動後のブロック配列を該現在のブロックの配列として認めることと、
該費用関数の該算出された値が、該摂動前の配列に関連する該費用関数の値以上である場合には、該摂動後のブロック配列を、該時間変動するパラメータを減少させる非ゼロ確率を有する現在のブロック配列として認めることと、
該時間変動するパラメータを減少させることと
である、ことと、
該反復動作に引き続いて、異なるレイヤにわたる最終的なブロック配列を示す結果を生成することと
を包含する、方法。
【請求項3】
前記ブロックの現在の配列を摂動することは、
少なくとも1つのブロックを動かすことと、
2つのブロックをスワッピングすることと、
少なくとも1つのブロックを回転することと、
少なくとも1つのブロックを裏返すことと
のうちの1つ以上を行うことを包含する、請求項2に記載の方法。
【請求項4】
前記摂動は、混雑したレイヤからより多くの使用されていない空間を有するレイヤへブロックを動かす増大した確率で行われる、請求項3に記載の方法。
【請求項5】
前記摂動は、それぞれのレイヤの前記ダイ面積の境界内の1つ以上のブロックのあそびに基づいて行われる、請求項3に記載の方法。
【請求項6】
前記時間変動するパラメータが所定の値よりも大きい場合には、あそびベースのブロック移動が好適である、請求項5に記載の方法。
【請求項7】
前記時間変動するパラメータが所定の値以下である場合には、あそびベースのブロックスワッピングが好適である、請求項5に記載の方法。
【請求項8】
前記時間変動するパラメータが所定の中間値に達した後、所定のサイズよりも大きい少なくとも1つのブロックを、より小さいブロックに分解することをさらに包含する、請求項2に記載の方法。
【請求項9】
前記時間変動するパラメータが所定の中間値に達した後、前記時間変動するパラメータを増大することによって、前記分解されたブロックが追加の摂動を受けることを可能にすることをさらに包含する、請求項8に記載の方法。
【請求項10】
前記回路ブロックを受容することは、既存の2次元(2D)または3Dフロアプランにおいて該ブロックを受容することを包含する、請求項2に記載の方法。
【請求項11】
コードを格納するコンピュータ読み取り可能格納媒体であって、該コードは、コンピュータによって実行される場合に、3次元集積回路(3D IC)に対するフロアプランニングを容易にする方法を該コンピュータに行わせ、該方法は、
複数の回路ブロックを受容することと、
3D構造に対するパラメータのセットを受容することであって、該パラメータは、
ダイ面積と、
最大総ワイヤ長と、
それぞれのレイヤ上でのスルーシリコンビア(TSV)の最大数と、
該3D構造におけるそれぞれのレイヤのアスペクト比と
のうちの1つ以上を含む、ことと、
費用関数を最適化することによって、該3D構造におけるレイヤにわたる該回路ブロックに対するフロアプランを算出することであって、該費用関数は、該回路ブロックによって使用される総面積、ワイヤ長、およびTSV、各レイヤにおいて該回路ブロックによって占有される面積のアスペクト比、ならびに所与のフロアプランに対して該回路ブロックによって生成される最大温度に基づく、ことと
を包含する、コンピュータ読み取り可能格納媒体。
【請求項12】
コードを格納するコンピュータ読み取り可能格納媒体であって、該コードは、コンピュータによって実行されると、3次元集積回路(3D IC)に対するフロアプランニングを容易にする方法を該コンピュータに行わせ、該方法は、
複数の回路ブロックを受容することと、
マルチレイヤダイ構造の少なくとも1つのレイヤに、該ブロックを配置することと、
時間変動するパラメータの初期値を設定することと、
該時間変動するパラメータが所定の値に達するまで、以下の動作を繰り返し行うことであって、該動作は、
該ブロックの現在の配列を摂動することと、
該摂動前の配置および該摂動後の配置において該ブロックによって必要とされる総ダイ面積、総ワイヤ長、スルーシリコンビア(TSV)の総数およびダイのアスペクト比に基づいて、費用関数の値を算出することと、
該費用関数の該算出された値が、該摂動前の配列に関連する該費用関数の値未満である場合には、該摂動後のブロック配列を該現在のブロックの配列として認めることと、
該費用関数の該算出された値が、該摂動前の配列に関連する該費用関数の値以上である場合には、該摂動後のブロック配列を、該時間変動するパラメータを減少させる非ゼロ確率を有する現在のブロック配列として認めることと、
該時間変動するパラメータを減少させることと
である、ことと、
該反復動作に引き続いて、異なるレイヤにわたる最終的なブロック配列を示す結果を生成することと
を包含する、コンピュータ読み取り可能格納媒体。
【請求項13】
前記現在のブロックの配列を摂動することは、
少なくとも1つのブロックを動かすことと、
2つのブロックをスワッピングすることと、
少なくとも1つのブロックを回転することと、
少なくとも1つのブロックを裏返すことと
のうちの1つ以上を行うことを包含する、請求項12に記載のコンピュータ読み取り可能格納媒体。
【請求項14】
前記摂動は、混雑したレイヤからより多くの使用されていない空間を有するレイヤへブロックを動かす増大した確率で行われる、請求項13に記載のコンピュータ読み取り可能格納媒体。
【請求項15】
前記摂動は、それぞれのレイヤの前記ダイ面積の境界内の1つ以上のブロックのあそびに基づいて行われる、請求項13に記載のコンピュータ読み取り可能格納媒体。
【請求項16】
前記時間変動するパラメータが所定の値よりも大きい場合には、あそびベースのブロック移動が好適である、請求項15に記載のコンピュータ読み取り可能格納媒体。
【請求項17】
前記時間変動するパラメータが所定の値以下である場合には、あそびベースのブロックスワッピングが好適である、請求項15に記載のコンピュータ読み取り可能格納媒体。
【請求項18】
前記方法は、前記時間変動するパラメータが所定の中間値に達した後、所定のサイズよりも大きい少なくとも1つのブロックを、より小さいブロックに分解することをさらに包含する、請求項12に記載のコンピュータ読み取り可能格納媒体。
【請求項19】
前記方法は、前記時間変動するパラメータが所定の中間値に達した後、該時間変動するパラメータを増大することによって、前記分解されたブロックが追加の摂動を受けることを可能にすることをさらに包含する、請求項18に記載のコンピュータ読み取り可能格納媒体。
【請求項20】
前記回路ブロックを受容することは、既存の2次元(2D)または3Dフロアプランにおいて該ブロックを受容することを包含する、請求項12に記載のコンピュータ読み取り可能格納媒体。
【請求項21】
3次元集積回路(3D IC)に対するフロアプランニングを容易にするコンピュータシステムであって、該コンピュータシステムは、
プロセッサと、
メモリと、
複数の回路ブロックと3D構造に対するパラメータのセットとを受容するように構成された受容機構であって、該パラメータは、
ダイ面積と、
最大総ワイヤ長と、
それぞれのレイヤ上でのスルーシリコンビア(TSV)の最大数と、
該3D構造におけるそれぞれのレイヤのアスペクト比と
のうちの1つ以上を含む、受容機構と、
費用関数を最適化することによって、該3D構造におけるレイヤにわたる該回路ブロックに対するフロアプランを算出するように構成された算出機構であって、該費用関数は、該回路ブロックによって使用される総面積、ワイヤ長、およびTSV、各レイヤにおいて該回路ブロックによって占有される面積のアスペクト比、ならびに所与のフロアプランに対して該回路ブロックによって生成される最大温度に基づく、算出機構と
を備えている、コンピュータシステム。
【請求項22】
3次元集積回路(3D IC)に対するフロアプランニングを容易にするコンピュータシステムであって、該コンピュータシステムは、
プロセッサと、
メモリと、
複数の回路ブロックを受容するように構成された受容構造と、
マルチレイヤダイ構造の少なくとも1つのレイヤに、該ブロックを配置するように構成された初期配置機構と、
時間変動するパラメータの初期値を設定するように構成された時間変動するパラメータの設定機構と、
該時間変動するパラメータが所定の値に達するまで、以下の動作を繰り返し行うように構成された反復機構であって、該動作は、
該ブロックの現在の配列を摂動することと、
該摂動前の配置および該摂動後の配置において該ブロックによって必要とされる総ダイ面積、総ワイヤ長、スルーシリコンビア(TSV)の総数およびダイのアスペクト比に基づいて、費用関数の値を算出することと、
該費用関数の該算出された値が、該摂動前の配列に関連する該費用関数の値未満である場合には、該摂動後のブロック配列を該現在のブロックの配列として認めることと、
該費用関数の該算出された値が、該摂動前の配列に関連する該費用関数の値以上である場合には、該摂動後のブロック配列を、該時間変動するパラメータを減少させる非ゼロ確率を有する現在のブロック配列として認めることと、
該時間変動するパラメータを減少させることと
である、反復機構と、
該反復動作に引き続いて、異なるレイヤにわたる最終的なブロック配列を示す結果を生成するように構成された結果生成機構と
を備えている、コンピュータシステム。
【請求項23】
前記現在のブロックの配列を摂動する間に、前記反復機構は、
少なくとも1つのブロックを動かすことと、
2つのブロックをスワッピングすることと、
少なくとも1つのブロックを回転することと、
少なくとも1つのブロックを裏返すことと
のうちの1つ以上を行うようにさらに構成されている、請求項22に記載のコンピュータシステム。
【請求項24】
前記摂動は、混雑したレイヤからより多くの使用されていない空間を有するレイヤへブロックを動かす増大した確率で行われる、請求項23に記載のコンピュータシステム。
【請求項25】
前記摂動は、それぞれのレイヤの前記ダイ面積の境界内の1つ以上のブロックのあそびに基づいて行われる、請求項23に記載のコンピュータシステム。
【請求項26】
前記時間変動するパラメータが所定の値よりも大きい場合には、あそびベースのブロック移動が好適である、請求項25に記載のコンピュータシステム。
【請求項27】
前記時間変動するパラメータが所定の値以下である場合には、あそびベースのブロックスワッピングが好適である、請求項25に記載のコンピュータシステム。
【請求項28】
前記時間変動するパラメータが所定の中間値に達した後、所定のサイズよりも大きい少なくとも1つのブロックを、より小さいブロックに分解するように構成されたブロック分解機構をさらに備えている、請求項22に記載のコンピュータシステム。
【請求項29】
前記時間変動するパラメータの設定機構は、前記時間変動するパラメータが所定の中間値に達した後、該時間変動するパラメータを増大することによって、前記分解されたブロックが追加の摂動を受けることを可能にするようにさらに構成される、請求項28に記載のコンピュータシステム。
【請求項30】
前記回路ブロックを受容する間に、前記受容機構は、既存の2次元(2D)または3Dフロアプランにおいて該ブロックを受容するように構成される、請求項22に記載のコンピュータシステム。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate


【公表番号】特表2011−530106(P2011−530106A)
【公表日】平成23年12月15日(2011.12.15)
【国際特許分類】
【出願番号】特願2011−521190(P2011−521190)
【出願日】平成21年7月17日(2009.7.17)
【国際出願番号】PCT/US2009/051083
【国際公開番号】WO2010/014445
【国際公開日】平成22年2月4日(2010.2.4)
【出願人】(597035274)シノプシス, インコーポレイテッド (33)
【氏名又は名称原語表記】SYN0PSYS, INC.
【Fターム(参考)】