(57)【要約】【課題】  設計コストと設計時間を節約しつつ、性能的に優れた三次元集積回路を設計する。【解決手段】  二次元レイアウトデータから三次元レイアウトデータを作成する三次元集積回路設計方法であって、半導体基板上に形成される回路の二次元レイアウトデータを、それぞれ異なる層に配置可能な複数のレイアウトブロックデータに分割し、上下に隣接配置される層のそれぞれに配置されるブロックデータのうち一方を裏表に反転したブロックデータを生成し（４）、上下に重ね合わされる複数の層上に、反転されたブロックデータと反転されていないブロックデータとを交互に配置し、回路内で複数のブロックデータに含まれて複数の層に跨る配線のなかから、遅延又は配線の長さを優先して少なくとも１本選び、選んだ配線を上下の層を接続するビアを通じて再配置する（３ａ，４ａ）。【選択図】      図１
2008243993.tif 000002
【特許請求の範囲】
【請求項１】
半導体基板上に形成される回路の二次元レイアウトデータを、それぞれ異なる層に配置可能な複数のレイアウトブロックデータに分割する工程と、
上下に隣接配置される二つの層のそれぞれに配置される前記レイアウトブロックデータのうち、一方のレイアウトブロックデータを裏表に反転したレイアウトブロックデータを生成する工程と、
上下に重ね合わされる複数の層上に、前記反転されたレイアウトブロックデータと反転されていないレイアウトブロックデータとを交互に配置する工程と、
前記回路内で複数のレイアウトブロックデータに含まれて複数の層に跨る配線のなかから、遅延，配線の長さ及びブロックの中から少なくとも何れか一つが相互に機能的にまとまるように少なくとも１本選び、選んだ配線を上下の層を接続するビアを通じて再配置する工程と、
を含むことを特徴とする三次元集積回路設計方法。
【請求項２】
前記ビアを通じて再配置する配線を、本来の二次元配線図上の長さと比べて再配置した後の配線長が短くなるように設定することを特徴とする請求項１記載の三次元集積回路設計方法。
【請求項３】
前記ビアを通じて再配置する配線を、本来の二次元配線を折り返したことによって作成される三次元配線に比べて、配線長が短くなるように設定することを特徴とする請求項１記載の三次元集積回路設計方法。
【請求項４】
前記ビアを通じて再配置する配線は、本来の二次元配線を折り返した時に一部が折り返した二層間で重なっていることを特徴とする請求項１記載の三次元集積回路設計方法。
【請求項５】
前記レイアウトブロックデータに分割する工程は、前記レイアウトブロックデータに対応する複数のレイアウトブロック同士で共有するグローバル配線に沿って、又は回路の機能に応じて分類して、又は前記レイアウトブロック内の内部配線が複数のレイアウトブロックを跨ることがないように分割することを特徴とする請求項１〜４の何れかに記載の三次元集積回路設計方法。
【請求項６】
半導体基板上に形成される回路の二次元レイアウトデータを、それぞれ異なる層に配置可能な複数のレイアウトブロックデータに分割するブロック分割手段と、
上下に隣接配置される二つの層のそれぞれに配置される前記レイアウトブロックデータのうち、一方のレイアウトブロックデータを裏表に反転したレイアウトブロックデータを生成する反転データ生成手段と、
上下に重ね合わされる複数の層上に、前記ブロック分割手段で分割された複数のレイアウトブロックデータと、前記反転データ生成手段で生成されたレイアウトブロックデータとを交互に配置する三次元レイアウト生成手段と、
前記回路内で複数のレイアウトブロックデータに含まれて複数の層に跨る配線のなかから、遅延，配線の長さ及びブロックの中から少なくとも何れか一つが相互に機能的にまとまるように少なくとも１本選び、選んだ配線を上下の層を接続するビアを通じて再配置する再配置手段と、
を具備したことを特徴とする三次元集積回路設計装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、上下に重ね合わされる複数の層上に半導体回路をレイアウト配置する三次元集積回路設計方法及び三次元集積回路設計装置に関する。
【背景技術】
【０００２】
近年、上下に重ね合わされた複数のチップ同士の配線を、ボンディングワイヤで行うのではなく、基板内に形成されるビアを用いて行うＳｉ貫通電極が提案されている（例えば、特許文献１参照）。Ｓｉ貫通電極は、積層された複数の基板同士を導通させることができるため、二次元的なチップ面積を大幅に削減できる。
【０００３】
Ｓｉ貫通電極を用いれば、ＳＲＡＭやＤＲＡＭ等のメモリとプロセッサなどをモジュール化したシステムＬＳＩを積層することができ、配線遅延量を大幅に減少することができる。Ｓｉ貫通電極を形成するためのスルーホールのビア径は、数μｍ〜数十μｍまで小さくできることから、チップ全体で数千個〜数万個の貫通電極を形成することができる。
【０００４】
一方、従来の回路配置設計システムは、二次元的な回路配置しか念頭に置いていなかったため、ビアを介して三次元的な回路配置を行うとなると、それに対応した回路配置設計システムを開発しなければならず、多大なコストと時間がかかるおそれがある。特に、ＡＳＩＣ（Application Specific Integrated Circuit）を開発するには、三次元的な回路配置を最適化する必要があり、回路配置設計システムの開発に更なるコストと時間がかかる。また、前記の特許文献１では、三次元に配置される各面間のルーティングを手作業で行う部分があり、設計が煩雑になり、且つ設計コストもアップしてしまう。
【特許文献１】特許第２８６３６１３号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
本発明は、上記事情を考慮してなされたもので、その目的とするところは、設計コストと設計時間を節約しつつ、且つ長い配線長を減らすという性能的に優れた三次元集積回路を設計することのできる三次元集積回路設計方法及び三次元集積回路設計装置を提供することにある。
【課題を解決するための手段】
【０００６】
上記課題を解決するために本発明は、次のような構成を採用している。
【０００７】
即ち、本発明の一態様に係わる三次元集積回路設計方法は、半導体基板上に形成される回路の二次元レイアウトデータを、それぞれ異なる層に配置可能な複数のレイアウトブロックデータに分割する工程と、上下に隣接配置される二つの層のそれぞれに配置される前記レイアウトブロックデータのうち、一方のレイアウトブロックデータを裏表に反転したレイアウトブロックデータを生成する工程と、上下に重ね合わされる複数の層上に、前記反転されたレイアウトブロックデータと反転されていないレイアウトブロックデータとを交互に配置する工程と、前記回路内で複数のレイアウトブロックデータに含まれて複数の層に跨る配線のなかから、遅延，配線の長さ及びブロックの中から少なくとも何れか一つが相互に機能的にまとまるように少なくとも１本選び（例えば、遅延又は配線の長さを優先して少なくとも１本選び）、選んだ配線を上下の層を接続するビアを通じて再配置する工程と、を含むことを特徴とする。
【０００８】
また、本発明の別の一態様に係わる三次元集積回路設計装置は、半導体基板上に形成される回路の二次元レイアウトデータを、それぞれ異なる層に配置可能な複数のレイアウトブロックデータに分割するブロック分割手段と、上下に隣接配置される二つの層のそれぞれに配置される前記レイアウトブロックデータのうち、一方のレイアウトブロックデータを裏表に反転したレイアウトブロックデータを生成する反転データ生成手段と、上下に重ね合わされる複数の層上に、前記ブロック分割手段で分割された複数のレイアウトブロックデータと、前記反転データ生成手段で生成されたレイアウトブロックデータとを交互に配置する三次元レイアウト生成手段と、前記回路内で複数のレイアウトブロックデータに含まれて複数の層に跨る配線のなかから、遅延，配線の長さ及びブロックの中から少なくとも何れか一つが相互に機能的にまとまるように少なくとも１本選び、選んだ配線を上下の層を接続するビアを通じて再配置する再配置手段と、を具備したことを特徴とする。
【発明の効果】
【０００９】
本発明によれば、二次元レイアウトデータから三次元配置可能なレイアウトブロックデータを作成し、特に遅延又は配線長が長いものに対し上下の層を接続するビアを通じて再配置することにより、設計コストと設計時間を節約しつつ、性能的に優れた三次元集積回路を設計することができ、しかも長い配線長を減らすことができる。
【発明を実施するための最良の形態】
【００１０】
以下、本発明の詳細を図示の実施形態によって説明する。
【００１１】
（第１の実施形態）
図１は、本発明の第１の実施形態に係わる三次元集積回路設計装置の概略構成を示すブロック図である。
【００１２】
この装置は、半導体回路生成部１と、ネットリスト生成部２と、二次元レイアウトデータ生成部３と、配線遅延の長い配線部分を抽出する部分３ａと、三次元レイアウトデータ生成部４と、ビアの位置を決定する部分４ａを備えている。
【００１３】
ここで、配線遅延の長い配線部分を抽出する部分３ａとビアの位置を決定する部分４ａを含まない構成は、本願発明者ら先に出願した先願発明（特願２００６−７１０２１号）であり、最初にこの先願発明について説明する。
【００１４】
半導体回路生成部１は、設計仕様書に従ってＲＴＬ（Resistor Transfer Level）記述を行う。半導体回路の記述方法は、特にＲＴＬに限定されず、他の記述方法を用いてもよい。ネットリスト生成部２は、ＲＴＬ記述に基づいて論理合成を行って、回路の接続情報を表したネットリストを生成する。二次元レイアウトデータ生成部３は、ネットリストに基づいて、Ｐ＆Ｒ（Placement & Routing）を行って、二次元レイアウトデータを生成する。
【００１５】
半導体回路生成部１、ネットリスト生成部２及び二次元レイアウトデータの処理は、通常はコンピュータ上で専用のＣＡＤツールを起動してソフトウェア的に行われるが、専用のハードウェアで各処理を行ってもよい。半導体回路生成部１、ネットリスト生成部２及び二次元レイアウトデータ生成部３の処理手順をフローチャートで表すと、図２に示すようになる。
【００１６】
まず、システム設計とアーキテクチャの設計を行い（ステップＳ１）、設計仕様書を作成する（ステップＳ２）。このステップＳ１，Ｓ２の処理は、専用のツールを用いて行ってもよいし、設計者が手作業で行ってもよい。
【００１７】
次に、設計仕様書に基づいて半導体回路生成部１にてＲＴＬ設計を行って（ステップＳ３）、ＲＴＬ記述を行う（ステップＳ４）。次に、ネットリスト生成部２にてゲートレベルの設計（論理合成）を行って（ステップＳ５）、ネットリストを生成する（ステップＳ６）。
【００１８】
次に、ネットリストに基づいて二次元レイアウトデータ生成部３にて二次元レイアウトデータを生成する（ステップＳ７）。その後、二次元レイアウトデータに基づいて三次元レイアウトデータ生成部４にて、以下に詳述する三次元レイアウトデータを生成する。
【００１９】
図３は、三次元レイアウトデータ生成部４が行う処理手順を示すフローチャートである。図４は、二次元レイアウトデータを２つのレイアウトブロックＡ，Ｂに分割して、二層に重ね合わせる例を示す図である。図５は、図４に対応する回路の一例を示す図である。以下では、図４及び図５を参照しながら図３のフローチャートに基づいて、三次元レイアウトデータ生成部４の処理動作を説明する。
【００２０】
まず、二次元レイアウトデータを分割する場所を設定する（ステップＳｌ１）。図４（ａ）では、二次元レイアウトデータを二つのレイアウトブロックデータＡ，Ｂに分けており、レイアウトブロックデータＡは図５（ａ）の点線（境界線）５よりも下側の回路に対応し、レイアウトブロックデータＢは境界線５よりも上側の回路に対応する。
【００２１】
次に、レイアウトブロックデータＡを１層目の基板上に配置し、レイアウトブロックデータＢを２層目の基板に配置する。（ステップＳ１２）。
【００２２】
レイアウトブロックデータＡ，Ｂ同士の境界線５は、例えば回路内のグローバル配線部分にグローバル配線を分割するように配置される。ここで、グローバル配線とは、複数のレイアウトブロックデータが共有する配線であり、図５（ａ）の信号線Ｓ０〜Ｓ３と、信号線Ｓ４〜Ｓ１１などである。また、境界線５は、複数のレイアウトブロックデータ内のローカル配線を分断しないように配置される。
【００２３】
回路内には、複数のレイアウトブロック間を接続するグローバル配線と、各レイアウトブロック内の各セル間を接続するローカル配線がある。二次元レイアウトデータ内の配線がグローバル配線かローカル配線かを識別するには、二次元レイアウトデータ内の各機能ブロックに着目すればよい。
【００２４】
図６は、二次元レイアウトデータ内の機能ブロックの一例を示す図である。図６の二次元レイアウトデータには、ＲＦ回路１１、ＲＡＭ１２、アナログ回路１３、ＡＳＩＣ１４、ＣＰＵ１５、ＤＳＰ１６、フラッシュメモリ１７などの複数の機能ブロックが含まれている。図６の二次元レイアウトデータを複数のレイアウトブロックデータに分割するには、図示の太線のように機能ブロックの境界領域を基準とするのが望ましい。この境界領域に位置する配線がグローバル配線に相当する。図６の場合、２本の境界線５で３つのレイアウトブロックデータに分割されるため、３層に分けられることになる。なお、境界線５の位置は、図６に示したものに限定されない。
【００２５】
図３のステップＳ１２の処理が終了すると、次に、境界線５で分割された両側２つのレイアウトブロックデータのうち一方を裏表に反転したレイアウトブロックデータを生成する（ステップＳ１３）。図４（ｂ）は、２層目に配置されるレイアウトブロックデータＢを裏表に反転する例を示している。反転して得られるレイアウトデータを、「Ｂ裏」と表示している。なお、レイアウトブロックデータＢの代わりにＡを反転してもよい。
【００２６】
このステップＳ１３の処理を、図５の回路を用いて詳述する。図５（ａ）の境界線５よりも上側の回路は２層目に配置されるものであり、この回路に対応するレイアウトブロックデータＢが裏表に反転される。この場合、回路レベルで表現すると、図５（ｂ）のようになる。図５（ａ）の境界線５を軸として上半分の回路を線対称に折り返した回路になる。一方、１層目の回路は、図５（ｃ）のように反転せずに配置される。
【００２７】
隣接する二つの層のうち一方だけ反転処理を行う理由は、隣接する二つの層の配線位置が上下で重なるようにするためである。例えば、図５（ｂ）に示す二層目の回路は、下の層につながる配線Ｃ１〜Ｃ１２を有する。これら１２本の配線の位置が上下に重なるように配置すれば、上下層を接続する配線部の長さを最も短縮でき、配線遅延量を大幅に削減できる。これら１２本の配線の位置が上下に重なるようにするには、上述したように、隣接配置される二層のうち一層のレイアウトブロックデータを反転すればよい。このことから、図３のステップＳ１３では、レイアウトブロックデータの反転処理を行っている。
【００２８】
レイアウトデータの反転処理が終わると、次に、各層間を接続する配線部を配置する（ステップＳ１４）。図４（ｃ）は二層からなる三次元半導体集積回路の断面構造を模式的に示す図である。図示のように、各層６，７をつなぐ配線部８は各配線部８の側面に沿って上下方向に配置されている。これにより、配線部８の長さは各基板の間隔と各基板の厚さを合わせた長さ程度にまで短縮できる。
【００２９】
３次元回路の形成方法には、基板の張り合わせ、Ｓｉ結晶層の再成長法、或いはＳｉ以外の材料層を第二層目からＣＶＤ法やスパッタ法などにより積層させる方法がある。従って、第二層目以上は第一層のＳｉ基板と異なった材料の場合もあるが、以下では第二層目以降の回路を作成する層も便宜上、“基板”と称することにする。
【００３０】
ここで、上下に配置される各基板６，７はそれぞれ接着層を介して接合されており、各基板６，７の厚さは接着層（例えば、エポキシ系の接着剤を材料とする）の厚さを含めて０．１ｍｍ以下である。より具体的には、各基板の厚さは、バルクＳｉ基板を材料とする場合には６０〜７０μｍ程度、ＳＯＩ基板を材料とする場合には２〜３μｍ程度である。
【００３１】
上記ステップＳ１３で形成した各基板６，７毎のレイアウトデータは、マスクデータに変換された後、製造プロセスにて実際に半導体集積回路が形成される。各基板６，７をつなぐ配線層は、例えば各基板６，７の側面が横になるように配置した状態で、通常の電界メッキ等を用いたパターニングを行って形成される。図４（ｃ）を見れば分かるように、配線部８は側面の一部にだけ形成されるため、配線部８のない箇所から各基板６，７の熱を放熱することができ、配線部８を形成しても放熱性能が悪くなるおそれはない。
【００３２】
仮に、図４（ａ）のレイアウトブロックデータＡ，Ｂが同じ面積であれば、Ａ，Ｂの二層からなる三次元半導体集積回路の二次元的な面積は、元の回路の半分になり、チップサイズを大幅に縮小できる。
【００３３】
図７及び図８は三次元レイアウトデータ生成部４の処理手順を模式的に説明する図であり、二次元レイアウトデータを４つの層からなる三次元レイアウトデータに変換する例を示している。図７は二次元レイアウトデータ内の４つのレイアウトブロックデータＡ，Ｂ，Ｃ，ＤをＡ→Ｂ→Ｃ→Ｄの順に重ね合わせる例、図８はＡ→Ｄ→Ｃ→Ｂの順に重ね合わせる例を示している。
【００３４】
図７の場合、４つのレイアウトブロックデータＡ，Ｂ，Ｃ，Ｄに分割した後、レイアウトブロックデータＢ，Ｄを裏表に反転したレイアウトデータを生成し、Ａ→Ｂ→Ｃ→Ｄの順に上下に重ね合わせる。
【００３５】
図８の場合、４つのレイアウトブロックデータＡ，Ｂ，Ｃ，Ｄに分割した後、レイアウトブロックデータＣ，Ｄを裏表に反転したレイアウトデータを生成し、Ａ→Ｄ→Ｃ→Ｂの順に上下に重ね合わせる。
【００３６】
図７と図８のいずれの場合も、各基板を接続する配線部８は、各基板の側面を沿って電界メッキ等を用いたパターニングなどを行って形成される。なお、基板間の配線については、ワイヤボンディング法を用いても良い。
【００３７】
さらに、図７と図８のように４つのレイアウトブロックデータＡ，Ｂ，Ｃ，Ｄに分割して重ね合わせることにより、元の二次元回路の１／４の二次元的な面積に削減でき、チップサイズを大幅に縮小できる。
【００３８】
図７と図８の何れを採用するかは、例えば二次元レイアウトデータ内のクリティカルパスの位置によって決められる。クリティカルパスは、タイミング的な制約が大きい重要な信号経路（例えば、システムクロックの信号経路）を指しており、クリティカルパスの長さが最短となるように回路配置を行う必要がある。従って、例えばクリティカルパスがＡ→Ｂ→Ｃ→Ｄの経路で配置されていれば、図７を採用するのが望ましく、或いはクリティカルパスがＡ→Ｄ→Ｃ→Ｂの経路で配置されていれば、図８を採用するのが望ましい。
【００３９】
なお、４つのレイアウトブロックデータＡ，Ｂ，Ｃ，Ｄを上下に並べる順序は、図７と図８以外にも考えられるため、各層をどのような順序で並べるかは、上述したクリティカルパス、配線部８の配線長、消費電力、熱の発生度合、ノイズ量等を考慮に入れて、決定すればよい。
【００４０】
例えば、層に跨る配線部分は、回路の外側に接しているため、放熱しやすい。従って、熱の発生が起こりやすい配線部分についてはできるだけ２層に跨るようにすればよい。また、逆にノイズに敏感な配線部分は同じ層内でまとまるようにすればよい。
【００４１】
また、三次元的に配置された複数の基板からなる半導体集積回路を同じパッケージ内に収納することを考えると、各基板のサイズは同じにするのが望ましいが、各基板上に配置されるレイアウトブロックデータのサイズは必ずしも同じである必要はない。この場合、最大の面積を持つレイアウトブロックデータに合わせて各基板のサイズを予め設定すればよい。
【００４２】
各基板６，７は側面の配線部８を介して互いに接続している。従って、配線部８につながる各基板６，７の配線は側面まで引き回さなければならず、二次元レイアウトの場合よりも配線長が多少長くなるおそれがあるが、クリティカルパスなどのタイミング的に厳しい信号線をなるべく一つの層に配置するか、或いは近接した二層に配置することで、タイミング的な不具合を防止できる。
【００４３】
三次元レイアウトデータ生成部４は、ハードウェアとソフトウェアの何れで構成してもよいが、ＣＡＤツールを用いてソフトウェア的に処理を行う場合には、二次元レイアウトデータの分割処理や、分割したレイアウトブロックデータの裏表の反転処理も、ＣＡＤツール上で行われる。この場合、分割して得られたレイアウトブロックデータのデータを一時的に記録装置に格納したり、予め他の装置で生成したレイアウトブロックデータのデータをネットワーク経由で、或いはＣＤ−ＲＯＭ等の記録媒体を介して入手して反転処理を行うようにしてもよい。このように、三次元レイアウトデータ生成部４は、一つのハードウェアやソフトウェアで構成してもよいし、複数のハードウェアやソフトウェアを協働させて構成してもよい。
【００４４】
上述した説明では、二次元レイアウトデータをグローバル配線に沿って分割してレイアウトブロックデータを生成したが、レイアウトブロックデータを生成する手法は他にも考えられる。例えば、図９は機能ブロック内のスタンダードセル間の配線を境界として分割する例を示している。図９（ａ）のＲＡＭ１２、ＡＳＩＣ１４及びＤＳＰ１６を分断する太線が境界線５である。これら分断される機能ブロックでは、隣接するセルの間に境界線５が配置されている。
【００４５】
分断されるセルの間隔が図９（ｂ）のように狭い場合には、ブロック分割を行う際に図９（ｃ）のようにセル間の間隔を広げてもよい。
【００４６】
配線部８の材料は特に問わないが、カーボンナノチューブを用いると特に有益である。カーボンナノチューブは、ＣｕやＡｌよりも導電性をよくすることができ、また異なる二層間に自己組織的に接続するという性質があり、複雑な製造工程を経なくても微小幅の配線部８を形成可能である。
【００４７】
このような構成であれば、二次元レイアウトデータを複数のレイアウトブロックデータに分割して、そのうちの一部を裏表に反転して、複数の基板上に各レイアウトブロックデータを配置するため、二次元レイアウトデータをフルに利用して、二次元的な面積を大幅に削減可能な三次元集積回路を作成できる。即ち、製造及び開発のコストと時間をかけることなく、簡易な手法で三次元集積回路を作成できる。
【００４８】
しかしながら、上述した先願の発明では、従来の二次元設計図での回路の遅延時間をそのまま引き継ぐだけであり、回路性能の向上には直接繋がらない。一方、実際の回路の配線の長さ分布を調べてみると、長い配線は配線全体の１０％程度であることが経験上観察される。長い配線は、回路の遅延時間を制限するので、この長い部分のみ配線長を減らせばよいのであるが、二次元回路においては如何なる手法で最適化を行っても長い配線が避けられない。また、公知文献（Jpn. J. Appl. Phys Vol. 40(2001) pp3032-3027）に示されるように多くのビアを均一に作成するのは現状では技術的に難しい。従って、多数のビア配線を近接した設けた構造は回路の歩留まりまで含めると実用品としての作成は依然としてかなり難しい。
【００４９】
そこで本実施形態では、回路配置図（レイアウト図）を作成するとき、目的の論理回路の配線遅延が最小になるように素子を配置する。これはＣＡＤ上で行われ、通常Ｐ＆Ｒと呼ばれている。この操作では配線で結ばれた素子間ができるだけ近くになるように配置されるが、回路は通常複雑なため、どうしてもチップ全体に近い領域にわたる配線を避けることができない。但し、そのような配線は１０％程度以下なので、これらの長い配線についてだけビアでつなげば、二次元回路の最適Ｐ＆Ｒよりも早く、且つ小面積な三次元集積回路を二次元のレイアウトをほぼそのまま使って実現することができる。ビアを設計するコストを鑑みて回路によってはビアの数は１０本未満でかまわない。
【００５０】
本実施形態により、図１に示すように３ａ部分と４ａ部分が新たに追加されたが、３ａにおいて最適化された二次元配線の中から、配線長の最も長い配線を長い方から順番に抽出する。この工程は通常の二次元レイアウト図作成の方法により実現できる。
【００５１】
次に、下記に詳述する第２〜第８の実施形態に示されるように、三次元化として二次元図を折り畳んだときに近接する長い配線間のピン間を結ぶためのビアの位置を決定する。まず、折り畳むという工程は先願の発明と同様に、レイアウトを作成するＣＡＤ上で、折り返す部分をコンピュータ上で、反転させればよい。ビアの位置は、上記の長い配線の配線長ができだけ短くなるように決定するが、他の回路の再配置が不要なように、若しくは再配置が最小になるような位置に決定する。これが図１の４ａにあたる。以上の設計工程により、三次元回路図の各層のレイアウトとビアの位置が決定される。ここで、最もビアで結ばれるべき配線は、いわゆるクリティカルパスを含むのが望ましい。
【００５２】
ビアの形成にはコストがかかることから、本実施形態による三次元集積回路設計方法の用い方としては、以下のようなものが考えられる。まず、ビアの数を決定する。ビアが二本以上ある場合には、図１の３ａで得られた情報に基づき、長い配線長を長い順に抽出する。例えば一つのビアだけ用いる場合には、長い配線長が最も短縮される二次元レイアウトデータの折り畳み方を選ぶ。この際、幾種類かの折り畳み方で短縮される配線長があまり変わらない場合には、二番目に長い配線が上下に隣り合うようにする。
【００５３】
例えば、前記図７と図８の何れを採用するかは、二次元レイアウトデータ内の二番目に長い配線の位置によって決められる。従って、例えば、二番目に長い配線がＡ→Ｂ→Ｃ→Ｄの経路で配置されていれば、図７を採用するのが望ましく、或いは二番目に長い配線がＡ→Ｄ→Ｃ→Ｂの経路で配置されていれば、図８を採用するのが望ましい。これはビアが二本以上のときにも適用される。例えば、ビアが三本のときには４番目に長い配線が隣り合った層に配置されるように折り畳むように設計する。
【００５４】
このように本実施形態によれば、二次元レイアウトデータを複数のレイアウトブロックデータに分割し、そのうちの一部を裏表に反転して、複数の基板上に各レイアウトブロックデータを配置するため、二次元レイアウトデータをフルに利用して、二次元的な面積を大幅に削減可能な三次元集積回路を作成することができる。即ち、製造及び開発のコストと時間をかけることなく、簡易な手法で三次元集積回路を作成することができる。
【００５５】
しかも、遅延又は配線長が長いものに対しては上下の層を接続するビアを通じて再配置することにより、長い配線長を減らすことができ、回路性能の向上をはかることができる。そしてこの場合、多数のビアを設けるのではなく、極めて少ない数（１桁程度）のビアを設けるだけなので、ビアの形成によるコストの増大を最小限に抑制することができる。
【００５６】
なお、以下に説明する第２〜第８の実施形態のレイアウト図においては、ビアを設置する配線のみを図示する。従って、以下に示す図ではブロックやモジュール、グローバル配線、ローカル配線通常の回路部品と配線などは省略してあるが、実際には存在する。
【００５７】
（第２の実施形態）
図１０は、第２の実施形態を説明するためのもので、２つに折り畳む場合のビアの設置位置を示す図である。本実施形態は、前記図１における工程“４ａ”にあたり、配線長の長い配線においてビアの位置を決定する方法を示す。
【００５８】
まず、図１０（ａ）は元の二次元的に最適化された回路レイアウトであり、図中央付近に描かれたＡとＢの間を結ぶ太い線２１をレイアウト図内で最も長い配線だとする。ここで、ＡとＢは最も長い配線によって結ばれた二つの部分回路である。上述したように二次元の回路のレイアウトでは、如何なる最適化を行っても殆ど必ずこのようなレイアウト図全体に近い領域にわたって配置する配線がある。
【００５９】
次に、図１０（ａ）の点線Ｌ１を境に図１０（ｂ）に示すように回路を折り畳んだ構造にする。図では回路部分Ａが含まれた部分が上部の層ａになり、回路部分Ｂを含む部分が下部層ｂと示してある。すると、図１０（ａ）に示されていた長い配線２１の両端部分の回路部分Ａと回路部分Ｂはほぼ上下に重なる。従って、この部分にビアを用いれば、回路全体のスピードを律速していた配線が短くなるので、回路の性能は大幅に向上する。
【００６０】
このビア以外の部分の配線としては、折り畳み線Ｌ１の部分に層間の配線を先願発明と同様の方法により接続する。なお、下層ｂの部分は図１０（ａ）に示した、回路部分Ｂを含むレイアウトをＣＡＤ上で反転することにより、設計される。
【００６１】
ここで、折り畳み線Ｌ１は図１０（ａ）に示すように必ずしもレイアウト図の中央付近でなくてもよい。また、Ｌ１によりＡとＢの位置が上下でほぼ同じ位置に描かれているが、ＡとＢの上下の位置はずれていてもかまわない。
【００６２】
次に、２番目に長い配線を探して同じ過程を繰り返す。繰り返し回数は必要な回路面積に応じて定めればよい。また、３層以上の構造を形成する場合に隣り合っていない層間でビアが必要になっても構わない。
【００６３】
このように本実施形態によれば、二次元の回路レイアウトを折り畳み線Ｌ１で折り畳むことにより三次元の回路レイアウトを作成できるため、製造及び開発のコストと時間をかけることなく、簡易な手法で三次元集積回路を設計することができる。そして、回路部分Ａ，Ｂをつなぐ最も長い配線２１を三次元の回路レイアウトの上下の層で重なるように配置し、ビアを介してＡ，Ｂを接続することにより、長い配線長を減らすという性能的に優れた三次元集積回路を設計することができる。
【００６４】
なお、本実施形態は長い配線部分をビアにより短縮することが目的であるため、ビアによって再配置される配線数は全体の３０％程度以下が望ましい。また、本実施形態は、配線長が長いものほど有効であるが、遅延時間が長い配線に関しても効果が大きい。
【００６５】
（第３の実施形態）
図１１は、本発明の第３の実施形態を説明するためのもので、ビアの位置の決定例を示したものである。
【００６６】
図中のＡとＢは回路内で長い配線によって結ばれた二つのピンを示す。ここでは、図１１（ａ）に示した二次元図を折り畳み線Ｌ１によって上下方向に折り畳む例を示している。図１１（ｂ）がＬ１を介して折り畳んだレイアウト図であり、回路は上層ａと下層ｂの二層に分割される。ここで、上下の層で配線部分が一部重なる。従って、ビアの位置は図１１（ｃ）に示すようにピンＢの場所になる。
【００６７】
なお、図１１（ｃ）の場合、上層ａ上でピンＢの位置にあたる場所に動かせない回路部分がないことを仮定している。もし、上層ａ上で図に示したビアの位置に移動できない回路部分がある場合、ビアの位置を図１１（ｄ）に示すようにＣの位置に移動すればよい。
【００６８】
（第４の実施形態）
図１２は、本発明の第４の実施形態であり、三次元回路を形成した場合に、長い配線部分が元の二次元の３面にわたっている場合を示す。
【００６９】
まず、図１２（ａ）に示す二次元図に対し、図１２（ｂ）に示すように折り返し線Ｌ１でレイアウト図を折り畳む。この場合、図１２（ｂ）の“Ｃ”に示す位置が第１ビア構造を設置する候補となる。もし、この位置の層ａ上に移動できない回路があった場合、ビアの位置をずらせばよい。ここでは、Ｃの位置にビアを形成した場合の例を、図１２（ｃ）に示す。
【００７０】
次に、図１２（ｄ）に示すように層ｂに注目する。この図１２（ｄ）では、層ａは省略して書いてある。次に折り返す線は図１２（ｄ）で示したＬ２である。この線Ｌ２で折り返した結果が図１２（ｅ）となる。図１２（ｅ）ではピンの位置ＢとＣがずれているため、この二つの層を結ぶビアは図１２（ｆ）に示すようにピンの位置Ｃの場所となる。この場合も、層ｂ上でピンＣの上に移動できない回路部分があれば、ビアの位置をずらせばよい。
【００７１】
本実施形態では、最終的に図１２（ｇ）に示すように４つの層からなる三次元回路を形成した。この回路を部分的、或いは全体的に折り畳んで、別の長い配線をビアで結んでいくことが可能である。ここで、図１２（ｇ）では層の間隔を見やすいように広めに書いてある。また、層間を結ぶビア以外の部分の配線を特徴的に回路の縁にそって模式的に書いている。
【００７２】
ここで、層の間の距離は強調して書いてあるが、実際はａ２からｂ２までの層の間のビアの長さとａ２，ｂ２面内の配線長の合計が、元の２次元回路図の配線長より短い場合には３次元化により、回路スピードが短縮される。また、ビアの直径は２次元内配線より太い場合が多いので、ａ２からｂ２までの配線遅延が二次元の配線遅延より短縮されることになる。
【００７３】
このように本実施形態によれば、二次元の回路レイアウトを折り畳み線Ｌ１で折り畳み、更にＬ２で折りたたむことにより、三次元の回路レイアウトを作成でき、製造及び開発のコストと時間をかけることなく、簡易な手法で三次元集積回路を設計することができる。そして、二次元の回路レイアウトでは一つの長い配線で、異なる層ａ２，ｂ１，ｂ２に位置する配線をビアを介して接続することにより、長い配線長を減らすという性能的に優れた三次元集積回路を設計することができる。
【００７４】
（第５の実施形態）
図１３は、本発明の第５の実施形態であり、一番目に長い配線Ａ１−Ｂ１と二番目に長い配線Ａ２−Ｂ２を別のビアで結んでいく場合を示す。
【００７５】
まず、図１３（ａ）に示すような二次元図に対し、図１３（ｂ）に示すように、折り返し線Ｌ１で回路を上下に折り畳む。配線Ａ１−Ｂ１では上下で重なった部分があり、配線Ａ２−Ｂ２にも上下で重なった部分がある。従って、図１３（ｃ）に示すように、Ａ１とＢ１を結ぶ配線はビアＣ１によって結ぶ構造をとることができる。また、Ａ２とＢ２を結ぶ配線はビアＣ２によって結ぶ構造をとることができる。この場合も、二層間で配線が一部重なっていることがビアにより配線長を短くできるポイントとなる。
【００７６】
回路面積をさらに縮小化する場合には、層ａ，ｂを更に折り畳んで４層構造にすればよい。図１３（ｄ）には、４層構造にし、２層目と３層目のビアＣ３を形成した図を示す。ここで、図１３（ｄ）は見やすいように層間の間を離して書いてある。また、この図では層間を結ぶビア以外の配線は省略している。
【００７７】
（第６の実施形態）
図１４は、本発明の第６の実施形態であり、二本の配線に本発明を適用する実施形態である。
【００７８】
まず、図１４（ａ）に示す二次元図に対し、図１４（ｂ）に示すように折り返し線Ｌ１でレイアウト図を折り畳む。すると、図１４（ｂ）の円の点線で囲まれた部分で、配線Ａ１−Ｂ１にはビアＣ１を、配線Ａ２−Ｂ２にはビアＣ２を形成することができる。
【００７９】
次に、図１４（ｃ）に示すように、折り返し線Ｌ２でレイアウト図を折り畳む。すると、配線Ａ１−Ｂ１には新しいビアを作成することが可能となる。図１４（ｄ）には、２層目と３層目のビアＣ３を形成した図を示す。
【００８０】
（第７の実施形態）
図１５は、本発明の第７の実施形態であり、図１１から図１４とは違って、配線Ｐ１−Ｐ５がレイアウト図の周辺に対して、斜めに配置されている場合を示している。図１５に示すように元の二次元配線が回路内に複雑に配置されていても本発明は適用することができる。
【００８１】
まず、図１５（ａ）に示す二次元図に対し、図１５（ｂ）に示すように折り畳み、中間のｂ層のレイアウトを反転させる。図１５（ｃ）は、図１５（ｂ）を折り返した場合の配線の状況を上からみたものである。図１５（ｃ）において、異なった層間で配線は重なっていない。そこで本実施形態では、図１５（ｄ）に示すように、Ｐ１とＰ２、Ｐ４とＰ５が結べるように新たに配線Ｌａ，Ｌｂを作成し、Ｐ２，Ｐ４の位置にビアを設ける。これにより、上下の層間で配線を接続することができ、配線長を短くすることが可能となる。
【００８２】
このように本実施形態によれば、二次元の回路レイアウトで周辺に対して斜めに配置された配線に対しても、新たな配線を設けることにより、ビアを介して上下の層間で配線を接続することができる。そしてこの場合、ビアを通じて再配置する配線が本来の二次元配線図上の長さと比べてが短くなれば、配線長を減らすという効果が得られる。
【００８３】
（第８の実施形態）
図１６は、本発明の第８の実施形態を示すものであり、貼り合わせ基板を用いた例である。
【００８４】
図１６（ａ）に示すように、Ｓｉ基板５１の裏面及び表面にＳｉＯ2 等の絶縁膜５２，５３を形成した基板５０と、Ｓｉ基板６１の表面にＳｉＯ2 等の絶縁膜６２を形成した基板６０とを貼り合わせることにより、図１６（ｂ）に示すように貼り合わせ基板１００が形成されている。基板５０にはビア５４が埋め込み形成され、基板６０にはビア６４が埋め込み形成されている。
【００８５】
図１６（ｂ）に示す貼り合わせ基板１００を用い、図１６（ｃ）に示すように、貼り合わせ基板１００上での長い配線部分を短縮するために折り畳む。図１６（ｃ）では図示していないが、折り畳み方は先の図１１から図１５に示されたものと同じである。また、この例では二つだけ折り畳む様子だけ示しているが、先の図１１から図１５に示した実施形態と同じように３層以上に折り畳むことも可能である。
【００８６】
このように、二次元的なレイアウトデータを回路内の配線部分を境に複数の部分に分割し、隣り合った分割データの一方を、データ上で表裏反転させ、分割された個々の部分データがそれぞれ一層となるような三次元的な構成された集積回路設計において、隣り合った層を貼り合わせの方法で設計することも可能である。
【００８７】
（変形例）
なお、本発明は上述した各実施形態に限定されるものではない。全ての実施形態において、折り畳み線は必ずしもレイアウト図の中央付近でなくてもよい。また、折り畳みにより、上下の配線の位置が上下の層で殆ど同じ位置に描かれているものがあるが、配線の位置は上下の層でずれていてもよい。同様に、ピンの位置が上下の層で殆ど同じに書いてあるものがあるが、上下の層でずれていてもよい。
【００８８】
また、実施形態では配線の長さが最も長いものをビアで結ぶ対象としたが、最も長い配線でなくてもよい。例えば、１番長い配線が、回路内に複雑に分布しているときは、２番目以降の長い配線を探して、ビアで結んでもよい。さらに、配線長が長い配線の代わりに、遅延時間の長い配線を選択するようにしてもよい。また、例えばプロセッサとメモリのような配線をビアとして３次元的に結んでもよい。
【００８９】
また、実施形態ではビアで結ぶ配線が１本か２本の場合しか例を示さなかったが、３本以上の配線について同じ工程を繰り返すことができる。繰り返し回数は、最終的に必要な回路面積に応じて定めればよい。また、３層以上の構造を形成する場合に隣り合っていない層間でビアが必要になってもかまわない。
【００９０】
図１３、図１４では特に２本の配線をビアで短縮する方法を示したが、３本以上の場合にも同様に適用できる。その際、どこに折り返し線をつけていくかについては、先願に示したようにできるだけブロック間、モジュール間（図６）若しくはグローバル配線部分（図９）が望ましい。これはブロック間、モジュール間もしくはグローバル配線部分でレイアウト図を折った方が、先願の方法で層の端につける配線の数が少なくてプロセス的にも有利なためである。
【００９１】
また、実施形態では、配線長又は配線遅延の最も長い配線に対して、ビア構造を用いたが、配線遅延が長くなくても必要に応じて、ビア構造で配線を結んでもかまわない。
【００９２】
その他、本発明の要旨を逸脱しない範囲で、種々変形して実施することができる。
【図面の簡単な説明】
【００９３】
【図１】第１の実施形態に係わる三次元集積回路設計装置の概略構成を示すブロック図。
【図２】第１の実施形態における処理手順の一例を示すフローチャート。
【図３】第１の実施形態における処理手順の一例を示すフローチャート。
【図４】二次元レイアウトデータを２つのレイアウトブロックデータＡ，Ｂに分割して、二層に重ね合わせる例を示す図。
【図５】図４に対応する回路の一例を示す図。
【図６】二次元レイアウトデータ内の機能ブロックの一例を示す図。
【図７】二次元レイアウトデータ内の４つのレイアウトブロックデータＡ，Ｂ，Ｃ，Ｄを、Ａ→Ｂ→Ｃ→Ｄの順に重ね合わせる例を示す図。
【図８】二次元レイアウトデータ内の４つのレイアウトブロックデータＡ，Ｂ，Ｃ，Ｄを、Ａ→Ｄ→Ｃ→Ｂの順に重ね合わせる例を示す図。
【図９】機能ブロック内のスタンダードセル間の配線を境界として分割する例を示す図。
【図１０】第２の実施形態を説明するためのもので、２つに折り畳む場合のビアの設置位置を示す図。
【図１１】第３の実施形態を説明するためのもので、２つに折り畳む場合のビアの設置位置を示す図。
【図１２】第４の実施形態を説明するためのもので、４つに折り畳む場合のビアの設置位置を示す図。
【図１３】第５の実施形態を説明するためのもので、４つに折り畳む場合のビアの設置位置を示す図。
【図１４】第６の実施形態を説明するためのもので、３つに折り畳む場合のビアの設置位置を示す図。
【図１５】第７の実施形態を説明するためのもので、配線がレイアウト図の周辺に対して斜めに配置されている場合のビアの設置位置を示す図。
【図１６】第８の実施形態を説明するためのもので、張り合わせ用に設計させたビアを有する基板を用いた場合の例を示す図。
【符号の説明】
【００９４】
１…半導体回路生成部
２…ネットリスト生成部
３…二次元レイアウトデータ生成部
３ａ…配線遅延の長い配線部分を抽出する部分
４…三次元レイアウトデータ生成部
４ａ…ビアの位置を決定する部分
５…境界線
１１…ＲＦ回路
１２…ＲＡＭ
１３…アナログ回路
１４…ＡＳＩＣ
１５…ＣＰＵ
１６…ＤＳＰ
１７…フラッシュメモリ
２１…配線
５０，６０…基板
５１，６１…Ｓｉ基板
５２，５３，６２…絶縁膜
５４，６４…ビア
１００…貼り合わせ基板
【図１】
2008243993.tif 000003
【図２】
2008243993.tif 000004
【図３】
2008243993.tif 000005
【図４】
2008243993.tif 000006
【図５】
2008243993.tif 000007
【図６】
2008243993.tif 000008
【図７】
2008243993.tif 000009
【図８】
2008243993.tif 000010
【図９】
2008243993.tif 000011
【図１０】
2008243993.tif 000012
【図１１】
2008243993.tif 000013
【図１２】
2008243993.tif 000014
【図１３】
2008243993.tif 000015
【図１４】
2008243993.tif 000016
【図１５】
2008243993.tif 000017
【図１６】
2008243993.tif 000018