(57)【要約】本発明の一つの実施形態は、３次元集積回路（３Ｄ  ＩＣ）に対するフロアプランニングを容易にするシステムを提供する。動作中に、上記されたシステムは、複数の回路ブロックを受容する。上記のシステムは、マルチレイヤダイ構造の少なくとも１つのレイヤにおいてブロックを配置し、時間変動するパラメータの初期値を設定する。次いで、上記システムは、時間変動するパラメータが所定の値に達するまで、ブロック配列を反復して摂動する。
2011530106.tif 000002
【特許請求の範囲】
【請求項１】
３次元集積回路（３Ｄ  ＩＣ）に対するフロアプランニングを容易にするコンピュータ実行される方法であって、該方法は、
複数の回路ブロックを受容することと、
３Ｄ構造に対するパラメータのセットを受容することであって、該パラメータは、
ダイ面積と、
最大総ワイヤ長と、
それぞれのレイヤ上でのスルーシリコンビア（ＴＳＶ）の最大数と、
該３Ｄ構造におけるそれぞれのレイヤのアスペクト比と
のうちの１つ以上を含む、ことと、
費用関数を最適化することによって、該３Ｄ構造におけるレイヤにわたる該回路ブロックに対するフロアプランを算出することであって、該費用関数は、該回路ブロックによって使用される該総面積、ワイヤ長、およびＴＳＶ、各レイヤにおいて該回路ブロックによって占有される面積のアスペクト比、ならびに所与のフロアプランに対して該回路ブロックによって生成される最大温度に基づく、ことと
を包含する、方法。
【請求項２】
３次元集積回路（３Ｄ  ＩＣ）に対するフロアプランニングを容易にするコンピュータ実行される方法であって、該方法は、
複数の回路ブロックを受容することと、
マルチレイヤダイ構造の少なくとも１つのレイヤに、該ブロックを配置することと、
時間変動するパラメータの初期値を設定することと、
該時間変動するパラメータが所定の値に達するまで、以下の動作を繰り返し行うことであって、該動作は、
該ブロックの現在の配列を摂動することと、
該摂動前の配置および該摂動後の配置において該ブロックによって必要とされる総ダイ面積、総ワイヤ長、スルーシリコンビア（ＴＳＶ）の総数およびダイのアスペクト比に基づいて、費用関数の値を算出することと、であり、
該費用関数の該算出された値が、該摂動前の配列に関連する該費用関数の値未満である場合には、該摂動後のブロック配列を該現在のブロックの配列として認めることと、
該費用関数の該算出された値が、該摂動前の配列に関連する該費用関数の値以上である場合には、該摂動後のブロック配列を、該時間変動するパラメータを減少させる非ゼロ確率を有する現在のブロック配列として認めることと、
該時間変動するパラメータを減少させることと
である、ことと、
該反復動作に引き続いて、異なるレイヤにわたる最終的なブロック配列を示す結果を生成することと
を包含する、方法。
【請求項３】
前記ブロックの現在の配列を摂動することは、
少なくとも１つのブロックを動かすことと、
２つのブロックをスワッピングすることと、
少なくとも１つのブロックを回転することと、
少なくとも１つのブロックを裏返すことと
のうちの１つ以上を行うことを包含する、請求項２に記載の方法。
【請求項４】
前記摂動は、混雑したレイヤからより多くの使用されていない空間を有するレイヤへブロックを動かす増大した確率で行われる、請求項３に記載の方法。
【請求項５】
前記摂動は、それぞれのレイヤの前記ダイ面積の境界内の１つ以上のブロックのあそびに基づいて行われる、請求項３に記載の方法。
【請求項６】
前記時間変動するパラメータが所定の値よりも大きい場合には、あそびベースのブロック移動が好適である、請求項５に記載の方法。
【請求項７】
前記時間変動するパラメータが所定の値以下である場合には、あそびベースのブロックスワッピングが好適である、請求項５に記載の方法。
【請求項８】
前記時間変動するパラメータが所定の中間値に達した後、所定のサイズよりも大きい少なくとも１つのブロックを、より小さいブロックに分解することをさらに包含する、請求項２に記載の方法。
【請求項９】
前記時間変動するパラメータが所定の中間値に達した後、前記時間変動するパラメータを増大することによって、前記分解されたブロックが追加の摂動を受けることを可能にすることをさらに包含する、請求項８に記載の方法。
【請求項１０】
前記回路ブロックを受容することは、既存の２次元（２Ｄ）または３Ｄフロアプランにおいて該ブロックを受容することを包含する、請求項２に記載の方法。
【請求項１１】
コードを格納するコンピュータ読み取り可能格納媒体であって、該コードは、コンピュータによって実行される場合に、３次元集積回路（３Ｄ  ＩＣ）に対するフロアプランニングを容易にする方法を該コンピュータに行わせ、該方法は、
複数の回路ブロックを受容することと、
３Ｄ構造に対するパラメータのセットを受容することであって、該パラメータは、
ダイ面積と、
最大総ワイヤ長と、
それぞれのレイヤ上でのスルーシリコンビア（ＴＳＶ）の最大数と、
該３Ｄ構造におけるそれぞれのレイヤのアスペクト比と
のうちの１つ以上を含む、ことと、
費用関数を最適化することによって、該３Ｄ構造におけるレイヤにわたる該回路ブロックに対するフロアプランを算出することであって、該費用関数は、該回路ブロックによって使用される総面積、ワイヤ長、およびＴＳＶ、各レイヤにおいて該回路ブロックによって占有される面積のアスペクト比、ならびに所与のフロアプランに対して該回路ブロックによって生成される最大温度に基づく、ことと
を包含する、コンピュータ読み取り可能格納媒体。
【請求項１２】
コードを格納するコンピュータ読み取り可能格納媒体であって、該コードは、コンピュータによって実行されると、３次元集積回路（３Ｄ  ＩＣ）に対するフロアプランニングを容易にする方法を該コンピュータに行わせ、該方法は、
複数の回路ブロックを受容することと、
マルチレイヤダイ構造の少なくとも１つのレイヤに、該ブロックを配置することと、
時間変動するパラメータの初期値を設定することと、
該時間変動するパラメータが所定の値に達するまで、以下の動作を繰り返し行うことであって、該動作は、
該ブロックの現在の配列を摂動することと、
該摂動前の配置および該摂動後の配置において該ブロックによって必要とされる総ダイ面積、総ワイヤ長、スルーシリコンビア（ＴＳＶ）の総数およびダイのアスペクト比に基づいて、費用関数の値を算出することと、
該費用関数の該算出された値が、該摂動前の配列に関連する該費用関数の値未満である場合には、該摂動後のブロック配列を該現在のブロックの配列として認めることと、
該費用関数の該算出された値が、該摂動前の配列に関連する該費用関数の値以上である場合には、該摂動後のブロック配列を、該時間変動するパラメータを減少させる非ゼロ確率を有する現在のブロック配列として認めることと、
該時間変動するパラメータを減少させることと
である、ことと、
該反復動作に引き続いて、異なるレイヤにわたる最終的なブロック配列を示す結果を生成することと
を包含する、コンピュータ読み取り可能格納媒体。
【請求項１３】
前記現在のブロックの配列を摂動することは、
少なくとも１つのブロックを動かすことと、
２つのブロックをスワッピングすることと、
少なくとも１つのブロックを回転することと、
少なくとも１つのブロックを裏返すことと
のうちの１つ以上を行うことを包含する、請求項１２に記載のコンピュータ読み取り可能格納媒体。
【請求項１４】
前記摂動は、混雑したレイヤからより多くの使用されていない空間を有するレイヤへブロックを動かす増大した確率で行われる、請求項１３に記載のコンピュータ読み取り可能格納媒体。
【請求項１５】
前記摂動は、それぞれのレイヤの前記ダイ面積の境界内の１つ以上のブロックのあそびに基づいて行われる、請求項１３に記載のコンピュータ読み取り可能格納媒体。
【請求項１６】
前記時間変動するパラメータが所定の値よりも大きい場合には、あそびベースのブロック移動が好適である、請求項１５に記載のコンピュータ読み取り可能格納媒体。
【請求項１７】
前記時間変動するパラメータが所定の値以下である場合には、あそびベースのブロックスワッピングが好適である、請求項１５に記載のコンピュータ読み取り可能格納媒体。
【請求項１８】
前記方法は、前記時間変動するパラメータが所定の中間値に達した後、所定のサイズよりも大きい少なくとも１つのブロックを、より小さいブロックに分解することをさらに包含する、請求項１２に記載のコンピュータ読み取り可能格納媒体。
【請求項１９】
前記方法は、前記時間変動するパラメータが所定の中間値に達した後、該時間変動するパラメータを増大することによって、前記分解されたブロックが追加の摂動を受けることを可能にすることをさらに包含する、請求項１８に記載のコンピュータ読み取り可能格納媒体。
【請求項２０】
前記回路ブロックを受容することは、既存の２次元（２Ｄ）または３Ｄフロアプランにおいて該ブロックを受容することを包含する、請求項１２に記載のコンピュータ読み取り可能格納媒体。
【請求項２１】
３次元集積回路（３Ｄ  ＩＣ）に対するフロアプランニングを容易にするコンピュータシステムであって、該コンピュータシステムは、
プロセッサと、
メモリと、
複数の回路ブロックと３Ｄ構造に対するパラメータのセットとを受容するように構成された受容機構であって、該パラメータは、
ダイ面積と、
最大総ワイヤ長と、
それぞれのレイヤ上でのスルーシリコンビア（ＴＳＶ）の最大数と、
該３Ｄ構造におけるそれぞれのレイヤのアスペクト比と
のうちの１つ以上を含む、受容機構と、
費用関数を最適化することによって、該３Ｄ構造におけるレイヤにわたる該回路ブロックに対するフロアプランを算出するように構成された算出機構であって、該費用関数は、該回路ブロックによって使用される総面積、ワイヤ長、およびＴＳＶ、各レイヤにおいて該回路ブロックによって占有される面積のアスペクト比、ならびに所与のフロアプランに対して該回路ブロックによって生成される最大温度に基づく、算出機構と
を備えている、コンピュータシステム。
【請求項２２】
３次元集積回路（３Ｄ  ＩＣ）に対するフロアプランニングを容易にするコンピュータシステムであって、該コンピュータシステムは、
プロセッサと、
メモリと、
複数の回路ブロックを受容するように構成された受容構造と、
マルチレイヤダイ構造の少なくとも１つのレイヤに、該ブロックを配置するように構成された初期配置機構と、
時間変動するパラメータの初期値を設定するように構成された時間変動するパラメータの設定機構と、
該時間変動するパラメータが所定の値に達するまで、以下の動作を繰り返し行うように構成された反復機構であって、該動作は、
該ブロックの現在の配列を摂動することと、
該摂動前の配置および該摂動後の配置において該ブロックによって必要とされる総ダイ面積、総ワイヤ長、スルーシリコンビア（ＴＳＶ）の総数およびダイのアスペクト比に基づいて、費用関数の値を算出することと、
該費用関数の該算出された値が、該摂動前の配列に関連する該費用関数の値未満である場合には、該摂動後のブロック配列を該現在のブロックの配列として認めることと、
該費用関数の該算出された値が、該摂動前の配列に関連する該費用関数の値以上である場合には、該摂動後のブロック配列を、該時間変動するパラメータを減少させる非ゼロ確率を有する現在のブロック配列として認めることと、
該時間変動するパラメータを減少させることと
である、反復機構と、
該反復動作に引き続いて、異なるレイヤにわたる最終的なブロック配列を示す結果を生成するように構成された結果生成機構と
を備えている、コンピュータシステム。
【請求項２３】
前記現在のブロックの配列を摂動する間に、前記反復機構は、
少なくとも１つのブロックを動かすことと、
２つのブロックをスワッピングすることと、
少なくとも１つのブロックを回転することと、
少なくとも１つのブロックを裏返すことと
のうちの１つ以上を行うようにさらに構成されている、請求項２２に記載のコンピュータシステム。
【請求項２４】
前記摂動は、混雑したレイヤからより多くの使用されていない空間を有するレイヤへブロックを動かす増大した確率で行われる、請求項２３に記載のコンピュータシステム。
【請求項２５】
前記摂動は、それぞれのレイヤの前記ダイ面積の境界内の１つ以上のブロックのあそびに基づいて行われる、請求項２３に記載のコンピュータシステム。
【請求項２６】
前記時間変動するパラメータが所定の値よりも大きい場合には、あそびベースのブロック移動が好適である、請求項２５に記載のコンピュータシステム。
【請求項２７】
前記時間変動するパラメータが所定の値以下である場合には、あそびベースのブロックスワッピングが好適である、請求項２５に記載のコンピュータシステム。
【請求項２８】
前記時間変動するパラメータが所定の中間値に達した後、所定のサイズよりも大きい少なくとも１つのブロックを、より小さいブロックに分解するように構成されたブロック分解機構をさらに備えている、請求項２２に記載のコンピュータシステム。
【請求項２９】
前記時間変動するパラメータの設定機構は、前記時間変動するパラメータが所定の中間値に達した後、該時間変動するパラメータを増大することによって、前記分解されたブロックが追加の摂動を受けることを可能にするようにさらに構成される、請求項２８に記載のコンピュータシステム。
【請求項３０】
前記回路ブロックを受容する間に、前記受容機構は、既存の２次元（２Ｄ）または３Ｄフロアプランにおいて該ブロックを受容するように構成される、請求項２２に記載のコンピュータシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
（分野）
本開示は、概して、集積回路（ＩＣ）の設計に関する。より具体的には、本開示は、３次元（３Ｄ）におけるフロアプランニングを容易にするための方法およびシステムに関する。
【背景技術】
【０００２】
（関連技術）
ムーアの法則に従った超大規模集積（ＶＬＳＩ）回路を継続的に縮小することは、パッケージングおよび配線技術を向上させることを維持することに役立っている。３次元集積回路（３Ｄ  ＩＣ）は、スケーリング、性能および機能性に関するシステム要求のペースを維持することに対する実現可能な解決策として多くの関心を得ている。
【０００３】
３Ｄ  ＩＣの重要な利益は、システムサイズの低減である。伝統的な技術において、システムアセンブリは、２次元（２Ｄ）平面アーキテクチャに基づいている。ダイは、個別にパッケージングされ、平面配線基板（例えば、印刷回路基板（ＰＣＢ））に接続される。ダイ対パッケージの比率は、概して小さく（約５０％）、基板上の構成要素間のさらなる間隔が典型的に必要とされ、このことが、面積効率を約３０％までさらに低減する。
【０００４】
３Ｄ  ＩＣを探求する別の理由は性能である。３Ｄアセンブリにおける配線は、可能性として、２Ｄ構成よりもかなり短くなる。この特徴は、３Ｄ  ＩＣが、より速い動作速度および低電力消費を有することを可能にする。
【０００５】
３Ｄ  ＩＣを考慮する第３の動機付けの要因は、いわゆるヘテロ集積化である。多種多様な機能回路ブロック（例えば、論理、アナログ、およびメモリ）を有する真のｓｙｓｔｅｍ−ｏｎ−ａ−ｃｈｉｐ（ＳＯＣ）デバイスは、構築することがかなり困難である。さらに、アクティブデバイスを構築するために使用される基板は、技術間でかなり変動し得る。「垂直方向の」スケーリング以外に、チップ設計者は、また「水平方向の」スケーリングも経験する。高密度の３Ｄ  ＩＣ技術が利用可能な場合には、３Ｄ  ＳＯＣは、異質のデバイスのスタックを用いて製造され得る。このデバイスは、モノリシックＳＯＣと比較すると、小型で、より少ない電力を消費し、より高い性能を提供する。さらに、３Ｄ集積化は、クラス最高のアナログデバイスとクラス最高のデジタルデバイスの実践的な集積化を妨げる、プロセス技術における特定の障害物を回避し得る。
【０００６】
３Ｄ  ＩＣがより多くの量の機能を集積し、多様な技術を含むので、３Ｄ  ＩＣはより複雑になる傾向にあるため、３Ｄ  ＩＣの設計、表現および最適化は、設計フローにおける多くの段階に対する変化を必要とする。特に、３Ｄ  ＩＣの最適化は、さらなる自由度（すなわち、ｚ次元）を含み、この自由度は、良好に設計された電子設計自動化（ＥＤＡ）ツールが、良好な解決策を提供するために利用することを必要とする。さらに、複数の技術によって同時に課せられる拘束を表現することが必要である。したがって、様々な設計段階におけるインフラストラクチャに対する変化ならびに分析および最適化は、３Ｄ  ＩＣ設計を可能にするために必要とされる。既に２Ｄ  ＩＣに対する論点（ｉｓｓｕｅ）となっている特定の問題（例えば、熱放散）は、３Ｄ  ＩＣに対してより大きく突出する。この挑戦は、３Ｄ構造におけるより大きい電力密度と、デバイスレイヤ間の誘電レイヤの乏しい熱伝導率とに起因しており、このことがチップの熱暴走の可能性を増大させ得る。
【０００７】
全てのＥＤＡタスクの中で、ダイフロアプランニングは、重要な段階である。最新の利用可能な３Ｄフロアプランニング技術は、単なる２Ｄ技術の延長であり、主にワイヤ長の最適化および熱問題に焦点を当てている。これらの技術は、製造能力および設計拘束を考慮せず、しばしば、グローバル最適化解決策を得るために不十分であると考えられる。
【発明の概要】
【課題を解決するための手段】
【０００８】
要旨
本発明の一実施形態は、３次元集積回路（３Ｄ  ＩＣ）に対するフロアプランニングを容易にするシステムを提供する。動作中、システムは、複数の回路ブロックを受容する。システムは、さらに、３Ｄ構造に対するパラメータのセットを受容し、ここで、パラメータは、ダイ面積、最大総ワイヤ長、それぞれのレイヤ上のスルーシリコンビア（ＴＳＶ）の最大数、および３Ｄ構造におけるそれぞれのレイヤのアスペクト比のうちの１つ以上を含む。システムは、次いで、費用関数を最適化することによって３Ｄ構造におけるレイヤにわたる回路ブロックに対するフロアプランを算出し、ここで、費用関数は、回路ブロックによって使用される、総面積、ワイヤ長、およびＴＳＶ、各レイヤにおいて回路ブロックによって占有される面積のアスペクト比、所与のフロアプランに対する回路ブロックによって生成された最高温度に基づく。
【０００９】
本発明の一実施形態は、３次元集積回路（３Ｄ  ＩＣ）に対するフロアプランニングを容易にするシステムを提供する。動作中、システムは複数の回路ブロックを受容する。システムは、マルチレイヤダイ構造の少なくとも１つのレイヤにブロックを配置し、時間変動するパラメータの初期値を設定する。システムは、次いで、時間変動するパラメータが所定の値に達するまで、以下の反復動作を行う。
【００１０】
反復の間、システムは、現在のブロックの配列を摂動する。システムは、摂動前の配置および摂動後の配置においてブロックによって必要とされる総ダイ面積、総ワイヤ長、スルーシリコンビア（ＴＳＶ）の総数およびダイのアスペクト比に基づいて、費用関数の値を算出する。費用関数の算出された値が、摂動前の配列に関連する費用関数の値未満である場合には、システムは、摂動後のブロック配列を現在のブロックの配列として認める。費用関数の算出された値が、摂動前の配列に関連する費用関数の値以上である場合には、システムは、摂動後のブロック配列を、時間変動するパラメータを減少させる非ゼロ確率を有する現在のブロック配列として認める。システムは、また、時間変動するパラメータを減少させる。
【００１１】
反復動作に続いて、システムは、異なるレイヤにわたる最終的なブロック配列を示す結果を生成する。
【００１２】
本実施形態の１つの変化形において、現在のブロックの配列を摂動することは、以下の動作：少なくとも１つのブロックを動かすこと、２つのブロックをスワッピングすること、少なくとも１つのブロックを回転すること、および少なくとも１つのブロックを裏返すことのうちの１つ以上を行うことを含む。
【００１３】
さらなる変化形において、摂動は、混雑したレイヤからより多くの使用されていない空間を有するレイヤへブロックを動かす増大した確率で行われる。
【００１４】
さらなる変化形において、摂動は、それぞれのレイヤのダイ面積の境界内の１つ以上のブロックのあそびに基づいて行われる。
【００１５】
さらなる変化形において、時間変動するパラメータが所定の値よりも大きい場合には、あそびベースのブロック移動が好適である。
【００１６】
さらなる変化形において、時間変動するパラメータが所定の値以下である場合には、あそびベースのブロックスワッピングが好適である。
【００１７】
本実施形態の１つの変化形において、システムは、時間変動するパラメータが所定の中間値に達した後、所定のサイズよりも大きい少なくとも１つのブロックを、より小さいブロックに分解する。
【００１８】
さらなる変化形において、システムは、時間変動するパラメータが所定の中間値に達した後、時間変動するパラメータを増大することによって、分解されたブロックが追加の摂動を受けることを可能にする。
【００１９】
本実施形態の１つの変化形において、回路ブロックを受容することは、既存の２次元（２Ｄ）または３Ｄフロアプランにおいて該ブロックを受容することを包含する。
【図面の簡単な説明】
【００２０】
【図１】図１は、例示的な３Ｄ  ＩＣ構造を例示する。
【図２】図２は、本発明の実施形態に従う３Ｄフロアプランニングの例示的なプロセスを例示するフローチャートを提示する。
【図３】図３は、本発明の実施形態に従う空間的なあそびの概念を例示する。
【図４】図４は、本発明の実施形態に従う例示的なシミュレーテッドアニーリング温度制御曲線を例示する。
【図５】図５は、本発明の実施形態に従う高いシミュレーテッドアニーリング温度におけるフロアプランニングの結果の例を例示する。
【図６】図６は、本発明の実施形態に従う低いシミュレーテッドアニーリング温度におけるフロアプランニングの結果の例を例示する。
【図７】図７は、本発明の一実施形態に従う３Ｄフロアプランニングのための例示的なコンピュータシステムを例示する。
【発明を実施するための形態】
【００２１】
（詳細な説明）
以下の説明は、当業者が本発明を構成し使用することを可能にするために提示され、特定の用途およびその要件に関連して提供される。開示される実施形態に対する様々な修正は、当業者に容易に明らかになり、本明細書に規定される一般的な原理は、本発明の精神および範囲から逸脱することなしに、他の実施形態および用途に適用され得る。従って、本発明は、示される実施形態に制限されないが、本明細書に開示される原理および特徴に一致する最も広い範囲に従うべきである。
【００２２】
この詳細な説明に説明されるデータ構造およびコードは、典型的にコンピュータ読み取り可能媒体に格納され、この媒体は、コンピュータシステムによって使用するコードおよび／またはデータを格納し得る任意のデバイスまたは媒体であり得る。コンピュータ読み取り可能格納媒体は、揮発性メモリ、不揮発性メモリ、磁気格納デバイスおよび光学格納デバイス（例えば、ディスクドライブ、磁気テープ、ＣＤ（コンパクトディスク）、ＤＶＤ（デジタル多用途ディスクまたはデジタルビデオディスク））、あるいは現在公知のまたは将来的に開発されるコンピュータ読み取り可能媒体を格納可能なほかの媒体を含むが、これらに制限されない。
【００２３】
（概観）
垂直方向のシステム集積化の主なアプローチは、薄いデバイス（ダイまたはウェハ）を、精度良く整列させ、接合し、そしてスルーシリコンビア（ＴＳＶ）を用いて任意に相互接続することによって、薄いデバイスをスタックすることである。典型的なフローにおいて、回路設計は、別個のウェハ上に適宜製造された別個のレイヤ上に適合するように工作される。次に、ウェハは整列され、スタックされ、薄化される。このプロセスのどこかで、ＴＳＶがスタックされたウェハ／ダイに一体化されることにより、垂直方向の接続を実現する。これらの動作の正しい順序は、様々な方法間で広く変動する。
【００２４】
図１は、例示的な３Ｄ  ＩＣ構造を例示する。例示された構造は、レイヤ１０２、１０４および１０６という３つのウェハレイヤを含む。それぞれの層は、複数の回路（例えば、レイヤ１０６におけるＭＯＳＦＥＴ  １１４）を含む。レイヤ１０２は、Ｓｉ基板１２０を含む。レイヤ１０４および１０６は、基板薄化プロセスによって、共に、薄くされている。これらの３つのレイヤは、ウェハ整列プロセスによって整列され、接合レイヤ（例えば、接合レイヤ１１２）によって一緒に接合されることによって、３Ｄ構造を形成する。異なるレイヤにおけるデバイスは、ＴＳＶ（例えば、ＴＳＶ  １０８）によって結合される。それぞれのＴＳＶは、別のレイヤのランディングパッドと接触している。例えば、ＴＳＶ  １０８は、レイヤ１０４内のデバイスを、レイヤ１０２内のランディングパッド１１０を介してレイヤ１０２内のデバイスと結合する。
【００２５】
本発明の実施形態は、所与の回路ブロックを、３Ｄ構造内の各レイヤの輪郭内に配列することによって３Ｄフロアプランニングを容易にする方法を提供する。その結果は、複数のパラメータ（例えば、面積利用、ワイヤ長、アスペクト比、ＴＳＶ関連の拘束）を最適化する３Ｄ構造の異なるレイヤにわたるブロック配列である。本発明の実施形態において、本フロアプランニングツールは、反復摂動方法、すなわちシミュレーテッドアニーリングを用いることによって、実質的に最適な解決策を見出す。
【００２６】
シミュレーテッドアニーリング（ＳＡ）は、グローバル最適化問題に対する一般的な確率メタアルゴリズムであり、すなわち、大きな検索空間における、所与の関数のグローバル最適値に対する良好な近似を位置決めする。ＳＡは、しばしば、検索空間が離散的である場合に使用される。名称「シミュレーテッドアニーリング」は、金属学におけるアニーリングに由来し、これは、材料の結晶のサイズを増大させ、欠点を低減するために、材料の加熱および制御された冷却をおこなうことを含む。この熱が、原子を原子の初期位置（極小の内部エネルギー）からはがし、より高いエネルギー状態を介してランダムに動かし（ｗａｎｄｅｒ）、ゆっくりとした冷却プロセスは、初期の内部エネルギーよりも低い内部エネルギーを有する構成を見出すより多くの機会を原子に与える。
【００２７】
この物理的なプロセスとの類推によって、ＳＡプロセスの各ステップは、現在の解決策を、ランダムな「近接」解決策によって置き換え、このランダムな「近接」解決策は、対応する費用関数の値（真のアニーリングプロセスにおけるエネルギーレベルと類似）の間の差と、グローバルパラメータＴ（温度と呼ばれる）とに依存し、このグローバルパラメータＴは、ＳＡプロセスの間に徐々に減少する。一般的に、Ｔが大きくなる場合、システムは、摂動された解決策を許容し、これは非ゼロ確率を有するより高い費用関数をもたらす（システムがより低い費用関数値を有する解決策のみを許容するグリーディアルゴリズムとは対照的）。この非ゼロ確率はアニーリング温度と共に減少し、Ｔがゼロに向かって下がるにつれゼロに近づくことに留意されたい。結果として、現在の解決策は、Ｔが大きくなる場合ほぼランダムに変化するが、Ｔがゼロに近づくにつれますます「下り勾配」になる。Ｔが大きい場合に「上り勾配」に動くことに対する許容は、プロセスが、極小において固着状態になること（これはグリーディアルゴリズムの悩みの種であるが）が内容にする。本開示において、時間変動するパラメータＴが、シミュレーテッドアニーリング温度またはＳＡ温度と称されることに留意されたい。このパラメータは、物理的な温度に関連しない。代わりに、ＳＡプロセスの進行を制御するパラメータである。
【００２８】
図２は、本発明の一実施形態に従う、３Ｄフロアプランニングの例示的なプロセスを例示するフローチャートを提示する。動作中、３Ｄフロアプランニングシステムは、最初のＳＡ温度値を最初に選択し、最初のフロアプランを生成する（動作２０２）。最初のフロアプランが、複数のレイヤにわたるブロックの任意の配列であり得ることに留意されたい。その後、システムはフロアプランを摂動する（動作２０４）。次いで、システムは、摂動されたフロアプランの費用関数を評価する（動作２０６）。システムは、さらに、費用関数値が認められるかどうかを決定する（動作２０８）。認められる場合には、システムは、摂動されたブロック配列でフロアプランをアップデートする（動作２１０）。認められない場合には、システムは、ＳＡ温度Ｔを減少するように進行する（動作２１０）。システムは、Ｔが終了条件に達したかどうかを決定する（動作２１４）。例えば、Ｔがゼロに達する場合、終了条件が満たされる。ゼロに達しない場合には、システムは、ループに戻り、フロアプランを摂動し続ける（動作２０４）。
【００２９】
（問題の定式化）
一般の３Ｄｆｉｘｅｄ−ｏｕｔｌｉｎｅフロアプランニング問題（３Ｄ−ＦＯＦＰ）は、以下のように定式化され得る。Ｂ＝｛ｂｉ｜１≦ｉ≦ｎ｝を所与の回路ブロックのセットであるとし、各ブロックｂｉは、幅ｗｉおよび高さｈｉを有する。各ブロックは、自由に回転し、そして／または裏返しになる。さらに、フロアプランは、ダイアウトライン、ＴＳＶおよび熱問題に関する特定の拘束を満足することが期待される。ｆｉｘｅｄ  ｏｕｔｌｉｎｅ拘束は、ダイ上の所与の寸法が満足される（例えば、全てのレイヤが所与のアウトライン内に拘束される）ことを確実にする。ｆｉｘｅｄ  ｏｕｔｌｉｎｅ拘束（しばしばｆｉｘｅｄダイ拘束といわれる）は、典型的に、階層的設計に使用される。この拘束は、しばしば、フロアプランニングプロセスに含まれる。なぜなら、理論的な（ｐｕｒｅ）ワイヤ長／面積最小化は、依然として、解決策が所与のアウトライン内に適合しない場合には使用不能な解決策をもたらし得るからである。各ダイの所望の幅Ｗおよび所望の高さＨが提供され得る。代替的に、最大のアスペクト比および最大の許容可能な使用されない空間が、全てのダイに対するＷおよびＨが計算され得ることから提供され得る。製造能力の拘束はＴＳＶに関連する。この面積における重要な拘束は、隣接するダイレイヤの各対間のＴＳＶの数が特定のユーザ固有の境界内に存在することを確実にすることである。この境界は、異なる層に対して変動し得、典型的には、ＴＳＶピッチの考察に基づいて計算され、これは境界スキームが使用されることに依存する。さらなる拘束は熱問題に関連する。３Ｄ構造におけるより大きな電力密度およびより弱い熱伝導率に依存して、熱問題は、フロアプランニングの間に考察されるべきである。重要な熱拘束は、任意のダイレイヤにおける最大の可能な温度を制限することである。フロアプランニングツールの目的は、各ブロックｂｉの下部左の頂点に対する座標（ｘｉ，ｙｉ，ｌｉ）を見出すことであり、その結果、０≦ｘｉ≦Ｗ−ｗｉ；０≦ｙｉ≦Ｈ−ｈｉ；１≦ｌｉ≦Ｌであり、いかなる２つのブロック間にも重なりは存在しない。
【００３０】
一実施形態において、３Ｄ構造における各ダイの幅Ｗおよび高さＨは、同一である。この場合、チップの幅Ｗおよび高さＨをチップ面積および最大許容可能不使用空間から計算することが可能である。計算は以下のようになる。全ブロックの面積の合計をＡ、３Ｄ  ＩＣのレイヤの数をＬ、余白空間（すなわち利用されていない空間）の最大の利用可能な割合をε、そしてダイの所与のアスペクト比（すなわち、高さと幅との比）がγであると仮定する。そして、３Ｄ  ＩＣ（および各レイヤにおけるダイ）の幅Ｗおよび高さＨは、
【００３１】
【数１】
2011530106.tif 000003
と表現され得る。
【００３２】
ｆｉｘｅｄ−ｏｕｔｌｉｎｅフロアプランニングにおける前述の作業は、２Ｄフロアプランニングに関して行われる。従来のフロアプランニングは、費用関数の線形の組み合わせ（例えば、面積およびワイヤ長）を最適化することにおいて成功している。しかしながら、ｆｉｘｅｄ−ｏｕｔｌｉｎｅフロアプランニングは、アウトラインの自由な条件下で費用関数を最小化することよりも計算的にかなり難しい。従来のフロアプランニングツールの失敗の主な理由は、摂動方法のインテリジェントな解決策が欠如していることである。
【００３３】
本発明の実施形態は、ブロック摂動に対する「空間的あそび」の概念を使用する。図３は、本発明の実施形態における空間的あそびの概念を例示する。水平方向の拘束のグラフは、方向づけられたエッジおよび頂点Ｓ、Ａ、Ｂ、Ｃ、ＤおよびＴによって図３に示されるように、拘束される。このグラフにおいて、ｆｉｘｅｄ  ｏｕｔｌｉｎｅの左境界および右境界は、それぞれ、「ソース」（頂点Ｓ）および「シンク」（頂点Ｔ）である。ブロックＡ、Ｂ、ＣおよびＤは、それぞれ、対応する頂点によって表され、頂点の重みは、対応するブロック幅として指定される。
【００３４】
空間的あそびの算出は、静的タイミング分析（ＳＴＡ）あそびの算出と類似しているが、ＳＴＡがエッジ重み付けグラフで行われるが、図３の水平方向の拘束のグラフは頂点重み付けであることが異なる。従って、空間的あそびを計算する前に、各頂点の重みが、頂点の付随するエッジに指定される。図３に例示されるように、ブロックＤの右エッジは、ｆｉｘｅｄダイアウトライン３０２の右境界を越え、頂点Ｄのあそびは負である。従って、現在のシーケンス対を摂動する場合には、任意のブロックをブロックＤの右に動かすことは好ましくない。反対に、ブロックＡの遊びはブロックＤの幅よりも大きいので、ブロックＤをブロックＡの右に動かすことは、ｆｉｘｅｄ  ｏｕｔｌｉｎｅ拘束を満足し得る。そのため、大きな空間的あそびを有するブロックの隣に、小さな空間的あそびを有するブロックを動かすことは、可能性として良好な摂動であり、システムは、この種の摂動を行う確率を付勢し得る。本開示において、用語「あそび」は、空間的あそびを示すために使用される。本発明の実施形態は、ブロックの移動をガイドするために空間的あそびの概念を使用する。あそびに基づくブロック配列についてのさらなる詳細は、Ｓ．ＡｄｙａおよびＩ．Ｍａｒｋｏｖによる「Ｆｉｘｅｄ−ｏｕｔｌｉｎｅ  ｆｌｏｏｒｐｌａｎｎｉｎｇ  ｔｈｒｏｕｇｈ  ｂｅｔｔｅｒ  ｌｏｃａｌ  ｓｅａｒｃｈ」、Ｐｒｏｃ．Ｉｎｔｌ．Ｃｏｎｆ．  ｏｎ  Ｃｏｍｐｕｔｅｒ  Ｄｅｓｉｇｎ，２００１，ｐｐ．３２８−３３４と、Ｈ．Ｍｕｒａｔａ、Ｋ．Ｆｕｊｉｙｏｓｈｉ、Ｓ．ＮａｋａｔａｋｅおよびＹ．Ｋａｊｉｔａｎ「ＶＬＳＩ  ｍｏｄｕｌｅ  ｐｌａｃｅｍｅｎｔ  ｂａｓｅｄ  ｏｎ  ｒｅｃｔａｎｇｌｅ−ｐａｃｋｉｎｇ  ｂｙ  ｔｈｅ  ｓｅｑｕｅｎｃｅ  ｐａｉｒ」、ＩＥＥＥ  ｓｙｓｔｅｍｓ，ｖｏｌ．１５，ｎｏ．１２，ｐｐ．１５１８−１５２４，１９９６とにおいて見出され得、これらはともに、本明細書において参照により援用される。
【００３５】
（３Ｄ  Ｆｉｘｅｄ−Ｏｕｔｌｉｎｅフロアプランニング）
本発明の実施形態は、ブロックの位置を表すシーケンス対のアレイを使用する。各レイヤに対して、１つのシーケンス対は、このレイヤにおけるブロックの配置を表すために使用される。現在の３Ｄ  ＩＣ技術において、ＴＳＶは、サイズで通常のビアよりも数倍大きいので、面積使用を最小化するために、ＴＳＶの最大数を制限することが有益である。従って、本発明の実施形態は、各レイヤにおけるＴＳＶの数を制限することによって、製造能力を考慮している。以下のセクションは、３Ｄ−ＦＯＦＰアプローチの様々な局面を説明する。
【００３６】
（３Ｄ−ＦＯＦＰアルゴリズム）
先に述べたように、本発明の実施形態は、シミュレーテッドアニーリングアプローチを使用し、レイヤ間およびレイヤ内の両方のブロックの動きを考慮する。一実施形態において、システムは、最初に、第１のレイヤに全てのブロックを保持し、ブロックの最初のフロアプランを表すランダムなシーケンス対を生成する。次に、最初のシーケンス対は、フロアプランニングツールに送られ、このフロアプランニングツールは、ｆｉｘｅｄ−ｏｕｔｌｉｎｅ拘束およびＴＳＶ境界拘束に違反することなしにフロアプランニングの結果を生成することを目的とする。同時に、このツールは、３Ｄ設計の総ワイヤ長を最小化することを模索する。
【００３７】
シミュレーテッドアニーリングプロセスの間に、ブロックは様々なレイヤに動かされ、レイヤ内に均一に分散され、その結果、様々な目的が満たされ得る。解決策の収束を容易にし、ｆｉｘｅｄ  ｏｕｔｌｉｎｅ拘束を満足させるために、あそびに基づく移動の概念が３Ｄフロアプランに適用するように拡張される。さらに、ＴＳＶオーバーフロー費用およびワイヤ長費用が費用関数に組み込まれることにより、ＴＳＶ拘束を満たし、ワイヤ長を最適化する。一実施形態において、大きなブロックがより小さなブロックに分解されることが可能になる第２フェーズを有することが可能である。（本開示は、第１フェーズを３Ｄ−１といい、第２フェーズを３Ｄ−２という）。より小さなブロックは、次いで、１つの試行で連続的なレイヤに動かされ得ることにより、フロアプランニングの成功率を向上させ、ワイヤ長を最適化する。この第２フェーズの背後にある基本的な考えは、より小さなブロックは動かしやすさに対するより高い柔軟性を有するということである。一実施形態において、３Ｄ−１の結果は、３Ｄ−２に送られることにより、ワイヤ長をさらに最適化し、ｆｉｘｅｄ−ｏｕｔｌｉｎｅ拘束を満足する成功率を向上させる。
【００３８】
（温度スケジューリング）
一実施形態において、最初のアニーリング温度は、非常に高い値（例えば、３００００度）に設定される。この高温の段階において、劣っている解決策は、認められる可能性が高い。次いで、アニーリング温度は、１に近い基底で指数関数的に低減され、劣っている解決策の認められる可能性は、対応して徐々に低減する。アニーリング温度が０度に非常に近くなる場合には、劣っている解決策の認められる可能性は０に近くなり、３Ｄフロアプランニングアルゴリズムは、グリーディアルゴリズムと類似した挙動をする。一実施形態において、ＳＡ温度が特定のクールダウン閾値未満に落ちると、３Ｄ−１フェーズは終了し、３Ｄ−２フェーズが始まる。
【００３９】
３Ｄ−２の初期温度が非常に高い場合には、システムは、３Ｄ−１において得られたフロアプランニングの結果を完全に損失し得、システムは、３Ｄ−１の結果から利益を得ることがない場合があることに留意されたい。従って、一実施形態において、アニーリング温度は、３Ｄ−２の開始時において、３Ｄ−１の初期温度と比較すると相対的に低い温度に上昇し、その後、徐々に減少する。アニーリング温度対タイミングのプロットは図４に示される。
【００４０】
（摂動方法）
ＳＡ反復の各ステップの間に、新しいブロック配列が、ブロックまたはブロックの対の位置を変更することによって得られる。シミュレーテッドアニーリングプロセスの各ステップにおいて使用される摂動方法は、以下のようにカテゴリー分けされ得る。
（１）ランダム摂動：これらの摂動は、ランダムに選択されたブロックまたはブロックの対におけるレイヤ内移動、レイヤ間移動、レイヤ内スワッピング、およびレイヤ間スワッピングを含む。移動の間、ブロックは１つの位置から別の位置に動かされる。他方、スワッピングの間、２つのブロックの位置が交換される。
（２）面積平衡摂動：この摂動において、ブロックの移動は、ブロックを混雑したレイヤからより多くの余白空間を有するレイヤに動かす確率を増大させるように付勢される。これらの動きは、各レイヤにおける余白空間のより良い利用を可能にする。
（３）あそびにもとづく摂動：このカテゴリーに含まれる４つのタイプの摂動がある。それらは、レイヤ内のあそびに基づく移動、レイヤ間のあそびに基づく移動、レイヤ内のあそびに基づくスワッピングおよびレイヤ間のあそびに基づくスワッピングである。あそびの情報は、移動またはスワッピングのためにブロックを選択するために使用される。
（４）回転および裏返し摂動：ブロック回転は、長方形のブロックを小型化するための許容可能な幾何学形状の組み合わせの数を増大させることによって、ｆｉｘｅｄ  ｏｕｔｌｉｎｅ拘束を満たす成功率を可能性として増大させる。他方、ブロックの裏返しは、ワイヤ長を低減することを助ける。
（５）半外周ワイヤ長（ＨＰＷＬ）アウェア摂動：ワイヤ長を最小化するために、この摂動は、このブロックと接続するピンの重心にブロックを動かす。
【００４１】
前述の摂動は、多くの可能性のある摂動技術のうちのほんのいくつかであることに留意されたい。さらなる摂動が、他の設計拘束に対する向上した解決策を得るために導入され得る。
【００４２】
経験的な証拠は、あそびに基づく移動およびあそびに基づくスワッピングを除いて、各シミュレーテッドアニーリングステップの間に、ランダムに摂動を選ぶことは、良好な品質の結果を達成する。他方、あそびに基づく移動およびスワッピングは、以下に説明されるようなＳＡ温度依存性を証明する。アニーリング温度が高い場合には、ブロックの配置は、ｆｉｘｅｄ  ｏｕｔｌｉｎｅ拘束にかなり違反し得る。図５は、高温度段階におけるフロアプランニングの例である。初期のフロアプラン５０２において、ブロックＧおよびブロックＢは、それぞれ、水平方向における最大および最小のあそびを有する。最大のあそびと最小の遊びとの間の差は非常に大きいので、ブロックＢをブロックＧの右に方向付けて動かすこと（フロアプラン５０４に示される）は、Ｂの幅によって、臨界のブロックのあそびを増大させるより良い機会を有する。それゆえ、フロアプラン５０４は、フロアプラン５０２よりも小型でコンプライアンスがある。反対に、システムがあそびに基づくスワッピングを行う場合には、臨界的なあそびは、フロアプラン５０６に示されるように、ブロックＢの幅とブロックＧの幅との間の差に等しい量だけであり得る。あそびに基づく移動と比べると、あそびに基づくスワッピングは、高温段階における臨界的なあそびを向上させる機会を有しない。「臨界的なあそび」は、全てのブロックの中での最も負のあそびまたは最も小さい正のあそびをいう。
【００４３】
しかしながら、ＳＡ温度が冷却した場合、フロアプランはより小型になる。結果として、あそびに基づく移動は、好ましくない摂動方法になる。図６に示されるように、初期のフロアプラン６０２において、ブロックのあそびにおける差は、高ＳＡ温度段階における場合とそれほど明白に違わない。この条件下で、あそびに基づく移動（フロアプラン６０４において示される）は、非臨界的なブロックのあそびを負にするより高い確率を有し、それにより、シミュレーテッドアニーリングプロセスの収束を邪魔する。従って、あそびに基づくスワッピングは、（フロアプラン６０６に示される）は、低温度段階において好ましい摂動方法になる。一般的に、温度依存性摂動は、良好な品質の結果を達成することを助ける。
【００４４】
（費用関数）
一実施形態において、複数の目的（例えば、面積最小化、ワイヤ長最小化ならびにアスペクト比およびＴＳＶ境界とのコンプライアンス）に対処するために、以下の目的関数
費用＝α×ＤＡｒｅａ＋β×ＤＷＬ＋χ×ＤＡＲ＋δ×オーバーフロー
が使用され、ここでα、β、χおよびδはユーザ規定の拘束である。
【００４５】
各反復ステップの開始時において、初期の解決策は、最後に認められた解決策に設定される。用語「ＣｕｒＡｒｅａ」、「ＣｕｒＷＬ」および「ＣｕｒＡＲ」は、最後に認められた解決策の面積、ワイヤ長およびアスペクト比をそれぞれいう。フロアプランのアスペクト比は、全てのブロックを収容する最も小型の境界ボックスのアスペクト比である。同様に、用語「ＰｔｂＡｒｅａ」、「ＰｔｂＷＬ」および「ＰｔｂＡＲ」は、摂動した解決策の面積、ワイヤ長およびアスペクト比をそれぞれいう。さらに、用語「ＢＡｒｅａ」、「ＴＳＶＯｖｅｒｆｌｏｗ」および「ＴＳＶＢｏｕｎｄ」は、ブロックの面積の合計、ＴＳＶのオーバーフローおよびＴＳＶの上部境界をそれぞれ表す。費用関数の項は、以下のように規定される。
【００４６】
【数２】
2011530106.tif 000004
項「ＤＡｒｅａ」および「ＤＡＲ」は、より大きな面積を占有するか、または所与のｆｉｘｅｄ  ｏｕｔｌｉｎｅのアスペクト比に違反するフロアプランニングの結果を不利にする。これらの用語およびあそびに基づく摂動は、ｆｉｘｅｄ−ｏｕｔｌｉｎｅ拘束を満足させる成功率を強化することを助ける。項ＤＷＬは、フロアプランニングツールがワイヤ長を最適化することを助ける。さらに、オーバーフロー費用は、フロアプランニングがＴＳＶ拘束に違反することを防ぎ得る。
【００４７】
前述の費用関数は、多くの可能性のある費用関数のうちの単なる１つである。費用関数は、また、追加の項（例えば、３Ｄ構造の熱特性に関する項）を含むことによって、異なる設計拘束を反映し得る。
【００４８】
（例示的なフロアプランニングシステム）
詳細な説明のセクションに説明された方法およびプロセスは、コードおよび／またはデータとして具体化され得、これらは、上述のコンピュータ読み取り可能格納媒体に格納され得る。コンピュータシステムは、コンピュータ読み取り可能格納媒体に格納されたコードおよび／またはデータを読み取り、実行する場合には、コンピュータシステムは、データ構造およびデータとして具体化され、コンピュータ読み取り可能格納媒体内に格納された方法およびプロセスを行う。
【００４９】
さらに、以下に説明される方法およびプロセスがハードウェアモジュールに含まれ得る。例えば、ハードウェアモジュールは、特定用途向け集積回路（ＡＳＩＣ）チップ、フィールドプログラマブルゲートアレイ（ＦＰＧＡ）、および、現在公知かまたは将来的に開発される他のプログラマブル論理デバイスを含み得るが、これらに限定されない。ハードウェアモジュールが起動される場合、ハードウェアモジュールは、ハードウェアモジュール内に含まれる方法およびプロセスを行う。
【００５０】
図７は、本発明の一実施形態に従う３Ｄフロアプランニングを容易にするための例示的なコンピュータシステムを例示する。コンピュータシステム７０２は、ディスプレイ７１３、キーボード７１０およびポインティングデバイス７１２に結合される。コンピュータシステム７０２は、プロセッサ７０４、メモリ７０６および格納デバイス７０８を含む。格納デバイス７０８は、３Ｄフロアプランニングアプリケーション７１８のためのコードを格納し、これは同様に摂動モジュール７２０、ＳＡ温度制御モジュール７２２およびブロック分解モジュール７１４を含む。動作中、３Ｄフロアプランニングアプリケーション７１８は、格納デバイス７０８からメモリ７０６にロードされ、プロセッサ７０４によって実行される。最終的な結果は、ディスプレイ７１３上に表示され得る。
【００５１】
本発明の実施形態の前述の説明は、例示および説明の目的のためだけに提示されてきた。これらは、包括的であることを意図されず、開示される形態に本発明を制限することも意図されない。したがって、多くの修正および変形が当業者に明らかである。さらに、上記の開示は、本発明を制限することを意図されない。本発明の範囲は、添付の特許請求の範囲によって規定される。
【図１】
2011530106.tif 000005
【図２】
2011530106.tif 000006
【図３】
2011530106.tif 000007
【図４】
2011530106.tif 000008
【図５】
2011530106.tif 000009
【図６】
2011530106.tif 000010
【図７】
2011530106.tif 000011
【国際調査報告】
2011530106.tif 000012
2011530106.tif 000013