(57)【要約】【課題】ハードマクロが、その上層の配線から受ける影響を最小限に抑え、ハードマクロ上を効率的に使った配線を実現する。【解決手段】半導体集積回路（２８）のレイアウトを、以下の方法で実行する。まず、記憶部（６）から半導体集積回路（２８）の回路情報（３２）を読み込む。そして、予めハードマクロ（２１）（３１）に設定された配線配置可能方向条件を読み込んで、ハードマクロ（２１）（３１）上の所定の領域において配置が可能な配線の方向条件を決定する。そのうえで、回路情報（３２）と方向条件とに基づいて配線処理を行う。この配線処理は、ハードマクロ（２１）（３１）上を配置する配線のうち、方向条件を満たす配線を配置する。【選択図】図５Ｂ
2009111117.tif 000002
【特許請求の範囲】
【請求項１】
コンピュータを用いて、ハードマクロを有する半導体集積回路のレイアウトを行う方法であって、
記憶部から前記半導体集積回路の回路情報を読み込むステップと、
予め前記ハードマクロに設定された配線配置可能方向条件を読み込んで、前記ハードマクロ上の所定の領域において配置が可能な配線の方向条件を決定するステップと、
前記回路情報と前記方向条件とに基づいて配線処理を行うステップとを含み、
前記配線処理を行うステップは、
前記ハードマクロ上を配置する配線のうち、前記方向条件を満たす配線を配置するステップを含む
レイアウト方法。
【請求項２】
前記回路情報は、更に、前記ハードマクロの配置方向の情報を有し、
前記方向条件を決定するステップは、
前記配線配置可能方向条件と、前記配置方向情報とに基づいて配置条件を決定する
請求項１に記載のレイアウト方法。
【請求項３】
前記ハードマクロはＮ層（Ｎは１以上の整数）のマクロ内配線層を含み、
前記方向条件を決定するステップは、
前記ハードマクロ上のＮ＋１層における配線に対する方向条件を決定し、
前記配線処理を行うステップは、
前記半導体集積回路のＮ＋１層の配線処理を行う場合に、前記ハードマクロ上を配置する配線のうち、前記方向条件を満たす配線を配置させる
請求項１に記載のレイアウト方法。
【請求項４】
ハードマクロ情報とネットリストとを有する記憶装置と、
前記ハードマクロ情報と前記ネットリストとに基づいて、ハードマクロを有する半導体集積回路のレイアウトを決定する演算処理装置と
を具備し、
前記ハードマクロ情報は、前記ハードマクロの上層に上層配線を設けるときの制限事項を示す配線配置可能方向条件を有し、
前記演算処理装置は、
前記記憶部から前記ネットリストを読み出し、前記ネットリストと前記配線配置可能方向条件とに基づいて、前記ハードマクロ上において配置が可能な配線の方向条件を決定し、前記回路情報と前記方向条件とに基づいて、前記半導体集積回路の配線を決定する処理を行う
半導体集積回路設計支援装置。
【請求項５】
請求項４に記載の半導体集積回路設計支援装置において、
前記演算処理装置は、
前記ハードマクロ上の配線が、前記方向条件を満たすときに、前記上層配線を配置する
半導体集積回路設計支援装置。
【請求項６】
請求項５に記載の半導体集積回路設計支援装置において、
前記回路情報は、更に、前記ハードマクロの配置方向の情報を有し、
前記演算処理装置は、
前記配線配置可能方向条件と、前記配置方向情報とに基づいて配置条件を決定する
半導体集積回路設計支援装置。
【請求項７】
請求項６に記載の半導体集積回路設計支援装置において、
前記ハードマクロはＮ層（Ｎは１以上の整数）のマクロ内配線層を含み、
前記演算処理装置は、
前記ハードマクロ上のＮ＋１層における配線に対する方向条件を決定し、前記半導体集積回路のＮ＋１層の配線処理を行う場合に、前記ハードマクロ上を配置する配線のうち、前記方向条件を満たす配線を、前記上層配線として配置する
半導体集積回路設計支援装置。
【請求項８】
コンピュータを、半導体集積回路のレイアウトを行う半導体設計支援装置として機能させるための半導体設計支援プログラムであって、
前記半導体設計支援プログラムは、
記憶部から前記半導体集積回路の回路情報を読み込むステップと、
予めハードマクロに設定された配線配置可能方向条件を読み込んで、前記ハードマクロ上の所定の領域において配置が可能な配線の方向条件を決定するステップと、
前記回路情報と前記方向条件とに基づいて配線処理を行うステップと
を実行するための手順を示し、
前記配線処理を行うステップは、
前記ハードマクロ上を配置する配線のうち、前記方向条件を満たす配線を配置するステップを含む
半導体設計支援プログラム。
【請求項９】
前記回路情報は、更に、前記ハードマクロの配置方向の情報を有し、
前記方向条件を決定するステップは、
前記配線配置可能方向条件と、前記配置方向情報とに基づいて配置条件を決定する
請求項８に記載の半導体設計支援プログラム。
【請求項１０】
前記ハードマクロはＮ層（Ｎは１以上の整数）のマクロ内配線層を含み、
前記方向条件を決定するステップは、
前記ハードマクロ上のＮ＋１層における配線に対する方向条件を決定し、
前記配線処理を行うステップは、
前記半導体集積回路のＮ＋１層の配線処理を行う場合に、前記ハードマクロ上を配置する配線のうち、前記方向条件を満たす配線を配置させる
請求項８に記載の半導体設計支援プログラム。
【請求項１１】
ハードマクロを有する半導体集積回路のレイアウト方法であって、
前記ハードマクロの上層に上層配線を設けるときの制限事項を示す配線配置可能方向条件を有するハードマクロ情報を、記憶部から読み出すステップと、
前記記憶部から前記半導体集積回路の回路情報を読み出すステップと、
前記ハードマクロ情報と前記回路情報とに基づいて、前記ハードマクロのレイアウトを決定するステップと、
前記ハードマクロ情報から前記配線配置可能方向条件を抽出し、前記配線可能方向条件に基づいて、前記ハードマクロの所定の領域の上を配置する配線の方向条件を決定するステップと、
前記回路情報と前記方向条件とに基づいて、前記所定の領域の上に配置される前記上層配線が前記方向条件を満たすように前記半導体集積回路の配線を決定するステップと
を具備する
半導体集積回路のレイアウト方法。
【請求項１２】
請求項１１に記載の半導体集積回路のレイアウト方法において、
前記ハードマクロ情報は、
前記ハードマクロに含まれるマクロ内配線の方向を示す配置方向情報を有し、
前記方向条件を決定するステップは、
前記配線配置可能方向条件と前記配置方向情報とに基づいて前記方向条件を決定する
半導体集積回路のレイアウト方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、半導体集積回路のレイアウト方法、半導体集積回路設計支援装置およびプログラムに関し、特に、多層配線を有する半導体集積回路のレイアウト方法、半導体集積回路設計支援装置およびプログラムに関する。
【背景技術】
【０００２】
大規模回路を設計する場合、回路をいくつかのブロックに分け、それらのブロック毎に機能単位で設計や動作確認を行う手法が用いられる（階層設計）。このブロックをマクロと呼ぶ。マクロにはソフトマクロとハードマクロがある。
【０００３】
ソフトマクロとは、素子間の接続情報（ネットリスト）のみで構成されるマクロであり、チップ上におけるレイアウト情報は含まれない。すなわち、実際のチップ上での配置や配線は柔軟に行え、使用条件によるカスタマイズも容易である。しかしソフトマクロには配置配線情報が含まれないため、レイアウト後に性能確認の必要がある。
【０００４】
ハードマクロとは、素子間の接続情報（ネットリスト）の他に、チップ上におけるレイアウト情報を含むマクロである。ハードマクロのレイアウトはチップ上のレイアウト前に終了しているため、チップレイアウト前にスペック保証がされている。また、ハードマクロはマクロ毎に最適化されている。そのためソフトマクロで同一の機能を構成する場合に比べて優れた特性を持つ。しかし、マクロの形が固定であるため、チップ上のレイアウトにおいて自由度が低い。ハードマクロの上に施される配線は、ハードマクロで何層目までの配線層が使用されているかに依存している。レイアウト設計を行なう場合、例えば、ハードマクロがＮ層目まで配線が施されているときには、そのＮ層目に配線を設けることを禁止している。更に、ハードマクロ内で使用している配線層より上層に配線の配置を禁止する場合がある。これはハードマクロ内の配線がチップレベル配線（チップを階層的に設計する際のトップ階層で接続する配線）からクロストークによる影響を受けないようにする為である。
【０００５】
レイアウト設計では、そのハードマクロ上における配線を禁止する層の情報と、禁止する領域の情報とに基づいてチップレベル配線を決定する。この場合、並走配線、直交配線の双方とも禁止され、禁止領域を迂回することでチップレベル配線の配置が決定する。半導体集積回路の製造におけるコストを削減する為、チップ内にハードマクロを効率的に配置し、配線のみに必要な面積を少しでも小さくすることが求められている。そのため、チップサイズを可能な限り小さくすることは必要不可欠である。ハードマクロを用いた階層設計レイアウトにおける配線の設計に関する技術が知られている（例えば、特許文献１〜５参照。）。
【０００６】
図１は、特許文献１（特開平１０−２７０５６１号公報）に記載の半導体集積回路の構成を示す平面図である。特許文献１には、１チップ１１１が、１層からＮ層（Ｎは２以上の整数）までの配線層を備え、ブロック１１２が、そのＮ層の配線層を使用しているときに、ブロック１１２の周辺の空きスペースに応じて、Ｎ−１層までの配線を使用したＮ−１配線済ブロック１１４を作成する技術が記載されている。特許文献１の１チップ１１１は、Ｎ−１層の配線層を使用したＮ−１配線済ブロック１１４を配置することにより、Ｎ−１配線済ブロック１１４の上のＮ層目に配線を配置させている。特許文献１に記載の技術は、配線がＮ−１配線済ブロック１１４を迂回することがないので、配線距離を短縮化でき、１チップの面積を縮小することができる。
【０００７】
特許文献１の１チップ１１１を設計する場合、ブロック１１２がＮ層まで使用して形成されているものとしてフロアプラン見積りを行う。その後、周辺に必要以上に空きスペースが存在するハードマクロを見極め、そのハードマクロを、Ｎ−１層まで使用するハードマクロ（Ｎ−１配線済ブロック１１４）に再構成する。
【０００８】
再構成されたハードマクロは、周辺の空きスペースを使って面積が拡張する。つまり、Ｎ−１層以下の配線層のみを使用するハードマクロに変更する。Ｎ−１配線済ブロック１１４は、面積は大きくなるが、ハードマクロで使用する配線層は１層少なくなる。
【０００９】
Ｎ配線済ブロック１１２ｂとＮ配線済ブロック１１２ｃとの間に配置される配線（ブロック間配線１１３）は、Ｎ−１層で構成されたＮ−１配線済ブロック１１４の上、Ｎ層配線を使用することができる。
【００１０】
図２は、特許文献２（特開２００２−３６８１０６号公報）に記載の半導体集積回路の構成を示す平面図である。特許文献２に記載の技術は、ハードマクロ上を配置する配線の設計方法で、ハードマクロ内の配線パターンを認識し、配置方向を決め、配線配置させる方法を提案している。半導体装置２０１には、３つのハードマクロ（ハードマクロ２０２ａ、ハードマクロ２０２ｂおよびハードマクロ２０２ｃ）が配置されている。また、それらのハードマクロの周囲には、配線領域２０５が設けられている。また、半導体装置２０１には、チップ外部と電気信号を入出力する為の電極パッド（電極パッド２０４ａ電極パッド２０４ｂ）が周辺部に配置されている。電極パッド２０４ａは、ハードマクロ２０２ａに接続され、電極パッド２０４ｂは、ハードマクロ２０２ｂに接続されている。特許文献２におけるハードマクロ２０２ｃは、メモリセルが複数個配置されている。
【００１１】
図３は、図２に示す平面図の一部分を拡大した図である。ハードマクロ内にはビット線（ビット線パターン２０６ａ、ビット線パターン２０６ｂ）と、ワード線（ワード線２０７）が配線されている。ワード線２０７は、ビット線パターン２０６ａおよびビット線パターン２０６ｂに直角に配置されている。また、信号配線２０３ａ（または信号配線２０３ｂ）は、ワード線２０７の平行に配置されている。
【００１２】
特許文献２に記載の技術において、半導体装置２０１を設計する方法は、ハードマクロのビット線パターンを認識する工程と、認識された情報に基づいて、ハードマクロ上を配置する信号配線方法を決定する工程、決定した情報に基づきハードマクロ上に信号配線を配置する工程とを備えている。ハードマクロ２０２ｃの上を配置する信号配線方法を決定する工程では、認識したハードマクロのビット線パターンと垂直になるように決定する。信号配線２０３ａ（または、信号配線２０３ｂ）をビット線と垂直に配線することにより、ビット線と１チップ配線の重なり（重なり部分２２３ａ，重なり部分２２３ｂ）を小さくし、１チップ配線のビット線への影響を小さくしている。
【００１３】
ハードマクロ２０２ｃの上に配線を配置する工程においては、ハードマクロ内のビット線パターン（ビット線パターン２０６ａ、ビット線パターン２０６ｂ）を認識し、ハードマクロ２０２ｃの上に配置できる信号配線方法（領域、方向（ＩＩＩ））を決定する。そして、その決定した方法に従い、１チップの信号線をマクロ上に配置する。電極パッド２０４ａとハードマクロ２０２ａとを接続する信号配線２０３ａと、電極パッド２０４ｂとハードマクロ２０２ｂとを接続する信号配線２０３ｂも、その決定した方法に従い、ハードマクロ２０２ｃのビット線パターンと垂直になる方向に配置される。
【００１４】
また、特許文献３（特開２００１−２３０３２７号公報）には、ブロック内配線と通過配線とが直交している半導体装置が開示されている。また、特許文献４（特開平５−１５１３１３号公報）には、セル列間配線が垂直方向に配置され、通過配線が水平方向に配置されている半導体装置が開示されている。また、特許文献５（特開平１０−２１４９０３号公報）には、ゲートポリシリ配線が縦方向に配置され、通過配線が横方向に配置されている半導体装置が開示されている。
【００１５】
【特許文献１】特開平１０−２７０５６１号公報
【特許文献２】特開２００２−３６８１０６号公報
【特許文献３】特開２００１−２３０３２７号公報
【特許文献４】特開平５−１５１３１３号公報
【特許文献５】特開平１０−２１４９０３号公報
【発明の開示】
【発明が解決しようとする課題】
【００１６】
特許文献１に記載の技術では、Ｎ−１層配線でハードマクロを構成し、チップレベルでＮ層配線を配置可能としている。この場合に、チップレベルＮ層配線がハードマクロ内のＮ−１層以下の配線に与える影響が考慮されていない。ハードマクロ内で、Ｎ−１層配線が長く配線されていて、チップレベルＮ層配線がその直上または直上配線から最小配線間隔離れたところを並走している場合、ハードマクロ内Ｎ−１層配線とチップレベルＮ層配線間にカップリング容量が大きくなり、クロストークの影響を大きく受ける。例えば、一方の配線で信号変化が起きた場合、カップリング容量を介してもう一方の配線に本来起こらない信号変化が起こり、ハードマクロ内の特性、機能が保障できなくなる場合がある。
【００１７】
ハードマクロにおけるクロストークによる影響は、チップレベル配線が、マクロ内配線の直上、または、直上配線から最小配線間隔離れたところに平行に配置されている場合に大きくなる。チップレベル配線が、マクロ内配線に直交している場合には、ハードマクロにおけるクロストークによる影響は小さくなる。
【００１８】
特許文献２に記載の技術では、チップレベル配線でハードマクロ上に配置される配線の配置領域、配置方向は、ハードマクロの信号配線を認識し決定している。このとき、１つ１つの信号配線について配線層、配線形状の情報を抽出する工程と、抽出した情報から配置可能な配線層、配置方向を決定する工程が必要である。したがって、特許文献２に記載の技術では、ハードマクロ内の信号配線が多くなると、処理時間が多大になる。
【課題を解決するための手段】
【００１９】
以下に、［発明を実施するための最良の形態］で使用される番号を用いて、課題を解決するための手段を説明する。これらの番号は、［特許請求の範囲］の記載と［発明を実施するための最良の形態］との対応関係を明らかにするために付加されたものである。ただし、それらの番号を、［特許請求の範囲］に記載されている発明の技術的範囲の解釈に用いてはならない。
【００２０】
上記の課題を解決するために、コンピュータ（１）（１０）によるハードマクロ（２１）（３１）を有する半導体集積回路（２８）のレイアウトを、以下の方法で実行する。その方法は、
記憶部（６）から前記半導体集積回路（２８）の回路情報（３２）を読み込むステップと、
予め前記ハードマクロ（２１）（３１）に設定された配線配置可能方向条件を読み込んで、前記ハードマクロ（２１）（３１）上の所定の領域において配置が可能な配線の方向条件を決定するステップと、
前記回路情報（３２）と前記方向条件とに基づいて配線処理を行うステップとを含んでいることが好ましい。そして、前記配線処理を行うステップは、
前記ハードマクロ（２１）（３１）上を配置する配線のうち、前記方向条件を満たす配線を配置するステップを含むことが好ましい。
【００２１】
ハードマクロ上の配線配置の制限に関する情報（配置制限情報）に配線層、領域に加え配線配置可能方向の情報を持たせている。上記の動作によって、配線配置可能方向は、ハードマクロの配線と直交する方向と決定する。
【００２２】
ハードマクロの上に配置されるＮ層配線は、その下のＮ−１層配線と直交する方向であり、直上または直上から最小配線間隔離れたところを並走するＮ層配線はなくすことができる。これによりハードマクロ内の配線とチップの配線間のクロストークによる特性悪化を防ぎ、機能を保障することが可能である。
【発明の効果】
【００２３】
本発明によると、ハードマクロが、その上層の配線から受ける影響を最小限に抑え、ハードマクロ上を効率的に使った配線を実現することが可能である。
【００２４】
また、Ｎ−１層までを使用したハードマクロ上のＮ層配線配置が配置制限情報により、配置可能方向が制限されるので、直上または直上配線から最小配線間隔離れたところを並走する配線を禁止することができる。
【発明を実施するための最良の形態】
【００２５】
［第１実施形態］
以下に、図面を参照して本発明を実施するための形態について説明を行う。なお、以下の実施形態は、半導体集積回路のレイアウト設計に関するものであり、特にハードマクロ上の配線の配置に関するものである。本実施形態のハードマクロとは、チップを階層的に設計するのに先立って、機能マクロ単位でレイアウトを完了したものである。レイアウト設計におけるハードマクロ情報は、入出力端子情報と大きさ（枠）情報を持っている。一般的なレイアウト設計では、幾つかの機能マクロをハードマクロ化して扱い、配置、配線を行っており、本実施形態もそれに倣っている。
【００２６】
図４は、本実施形態の半導体設計支援装置１０の構成を例示するブロックである。半導体設計支援装置１０は、情報処理装置１と、入力装置２と、出力装置３とを含んでいる。
【００２７】
情報処理装置１は、プログラムに示される手順に従って、情報処理を高速に行う装置（コンピュータ）である。情報処理装置１は、入力、記憶、演算、制御および出力の５つの基本機能を備えている。入力装置２は、情報処理装置１にデータを入力するマンマシンインターフェースである。入力装置２の代表としては、例えば、キーボード、マウス、ペンタブレット、タッチパネルなどが例示される。出力装置３は、情報処理装置１の処理結果を外部に出力するマンマシンインターフェースである。出力装置３の代表として、ディスプレイやプリンタなどが例示される。情報処理装置１は、ＣＰＵ４と、ＲＡＭ５と、大容量記憶装置６を備え、それらはバス７を介して接続されている。
【００２８】
ＣＰＵ４は、中央演算処理装置とも呼ばれ、情報処理装置１に備えられた各種装置の制御やデータの処理を行う。ＣＰＵ４は、入力装置２などを介して供給されるデータを解釈して演算し、その演算結果を出力装置３などに出力する。
【００２９】
ＲＡＭ５は、ＤＲＡＭやＳＲＡＭなどに代表される半導体記憶装置である。ＲＡＭ５は、ＣＰＵ４の命令に応答してデータの書き込みを行う。また、ＲＡＭ５は、ＣＰＵ４の命令に応答してデータの読み出しを行う。なお、本実施形態のＲＡＭ５は、ＲＡＭに限定されることは無い。例えば、ＥＥＰＲＯＭやフラッシュメモリなどであってもよい。
【００３０】
大容量記憶装置６は、ＨＤＤなどに代表される記憶装置である。大容量記憶装置６は、外部から供給される電源が遮断した場合であっても、情報を保持しつつける機能を備えている。なお、本実施形態の大容量記憶装置６は、ＨＤＤに限定されることは無い。例えば、ＥＥＰＲＯＭやフラッシュメモリなどであってもよい。
【００３１】
大容量記憶装置６は、半導体設計支援プログラム８と、ハードマクロ情報３１と、ネットリスト３２とを保持している。
【００３２】
半導体設計支援プログラム８は、設計対象の半導体集積回路のレイアウトを行う手順を示している。半導体設計支援プログラム８は、ＣＰＵ４に読み込まれる。本実施形態においては、ＣＰＵ４が半導体設計支援プログラム８に示される手順で演算やデータ処理を実行することで、情報処理装置１は、半導体設計支援装置１０として機能する。
【００３３】
ハードマクロ情報３１は、設計対象の半導体集積回路に配置されるハードマクロに関する情報を含んでいる。上述したように、ハードマクロは、素子間の接続情報とチップにおけるレイアウト情報とを含んでいる。そのハードマクロのレイアウトはチップ上のレイアウト前に終了している。
【００３４】
本実施形態のハードマクロ情報３１は、多層配線構造のハードマクロが、ｍ−１層目まで配線層を使用しているときに、その上のｍ層目の配線（以下、ｍ層配線と呼ぶ）の配置に関する情報を含んでいる。具体的には、ハードマクロ情報３１は、ｍ層配線の自由な配置を禁止する（制限する）領域に関する情報（制限領域情報）と、その制限する領域における配線の配置が可能な方向の情報（配置方向情報）とを含んでいる。以下の実施形態においては、配線層に関する情報と、制限領域情報と、配置方向情報と合わせて配置制限情報と記述する。ネットリスト３２は、設計対象の半導体数積回路における回路の接続情報を含んでいる。
【００３５】
図５Ａ、図５Ｂは、本実施形態のレイアウト方法における、設計対象の半導体集積回路（以下、チップ２８と呼ぶ）の構成を例示するレイアウト図である。本実施形態のレイアウト方法は、Ｎ（Ｎは２以上の整数）層の配線層を備えているチップ２８に適用可能である。以下の実施形態の説明においては、本願発明の理解を容易にするために、チップ２８が、５層の配線層を有する多層配線構造である場合を例示する。つまり、チップ２８は、素子領域と、その素子領域の上の第１層〜第５層の配線層を備えた多層配線構造であるものとする。
【００３６】
また、チップ２８に配置されるハードマクロ２１は、第１層〜第４層までを使用しているものとする。したがって、以下では、そのハードマクロ２１の上に、チップレベル配線を行なう場合に対応して、本実施形態の説明を行う。なお、この構成は、本実施形態における設計対象のチップ２８の構成を制限するものではない。たとえば、チップ２８が６層の配線層を有し、ハードマクロ２１が、第１層〜第４層までを使用している場合であっても、本実施形態のレイアウト方法を適用することができる。
【００３７】
図５Ａは、チップレベル配線をレイアウトする前のチップ２８の構成を例示するレイアウト図である。図５Ａに示されているように、ハードマクロ２１は、ｘ方向４層配線２２とｙ方向４層配線２３とを含んでいる。ｘ方向４層配線２２は、ｘ方向（水平方向）に長く配線されている。ｙ方向４層配線２３は、ｙ方向（垂直方向）に長く配線されている。
【００３８】
また、ハードマクロ２１上において、第４層の上の層を５層配線層とするとき、ハードマクロ２１は、その５層配線層に配置される配線を制限する制限領域（第１制限領域２４、第２制限領域２５）を備えている。第１制限領域２４は、ｘ方向４層配線２２に対応して構成され、第２制限領域２５は、ｙ方向４層配線２３に対応して構成されている。第１制限領域２４、第２制限領域２５に配置される５層配線は、所定に規則に対応して延伸する方向が制限されている。
【００３９】
上述のハードマクロ情報３１は、ｘ方向４層配線２２、ｙ方向４層配線２３、第１制限領域２４および第２制限領域２５を対応付けて配置制限情報として保持する。その配置制限情報は、領域ごとに設定を変更することが可能である。例えば、特定の領域において、チップレベル配線の配置を全て禁止するように設定することも可能である。また、配置制限情報の領域はハードマクロ内でクロストークの影響を気にする配線がある場合、配線ごとに設定することができる。配線可能方向は、領域のｘ、ｙ比の小さい方の方向を設定することが好ましい。
【００４０】
図５Ｂは、チップレベル配線をレイアウトした後のチップ２８の構成を例示するレイアウト図である。ハードマクロ２１の上のチップレベル配線（５層配線）は、配置可能方向にのみ配線され、それ以外の方向の配置は禁止される。図５Ｂに示されているように、ハードマクロ２１の第１制限領域２４は、Ｙ方向（垂直方向）が配置可能方向であり、第１チップレベル配線２６は、そのｙ方向（垂直方向）に配置されている。同様に、第２制限領域２５は、ｘ方向（水平方向）が配置可能方向であり、ハードマクロ情報３１は、そのことを示す情報を含んでいる。したがって、チップレベル配線をレイアウトした後のチップ２８には、ｘ方向に第２チップレベル配線２７が配置されている。
【００４１】
図５Ｂに示されているように、チップ２８は、ハードマクロ内の４層配線とチップレベルの５層配線とが直角になるように配置されている。したがって、両者間のカップリング容量は小さくなり、クロストークの影響は最小限に抑えられている。
【００４２】
以下に、本実施形態の動作について説明を行う。図６は、本実施形態の動作を例示するフローチャートである。以下の実施形態においては、上述のハードマクロ２１を有するチップ２８を設計する場合に対応して説明を行う。以下の動作は、ＣＰＵ４が、半導体設計支援プログラム８に示される手順に従って、情報処理装置１を半導体設計支援装置１０として機能させることによって実現する。上述の図５に示されているように、チップ２８は、多層配線構造を有し、第１層から第５層を配線に使用することができる。また、ハードマクロ２１は、第１層から第４層を配線に使用しているマクロである。
【００４３】
図６を参照すると、ステップＳ１０１において、半導体設計支援装置１０は、大容量記憶装置６からハードマクロ情報３１とネットリスト３２とを読み出す。ハードマクロ情報３１は、ハードマクロ２１の第１制限領域２４と第２制限領域２５に対応する情報を有しテイル。またハードマクロ情報３１は、ハードマクロ２１の上の第５層目に配線の配置が可能か否かを示す配置制限情報を含んでいる。ハードマクロ情報３１は、上述の配置制限情報の他に、入出力ピンのピン名と位置と形状、マクロサイズを含んでいる。
【００４４】
ステップＳ１０２において、半導体設計支援装置１０は、ハードマクロ情報３１とネットリスト３２を入力として、１チップフロアプランを行い、チップ２８におけるハードマクロ２１の位置（ハードマクロ位置）を決定する。
【００４５】
ステップＳ１０３において、半導体設計支援装置１０は、ハードマクロ情報３１が、配置制限情報を持つか否かを判断する。その判断の結果、配置制限情報を持っている場合、処理はステップＳ１０４に進む。その判断の結果、配置制限情報を持っていない場合、処理はステップＳ１０５に進む。
【００４６】
ステップＳ１０４において、半導体設計支援装置１０は、配置制限情報に基づいて、ハードマクロの上の５層配線の配置が可能な方向（配置可能方向）を決定する。具体的には、半導体設計支援装置１０は、ハードマクロの５層配線の配置制限情報に基づいて、第１制限領域２４と第２制限領域２５とを認識する。そして、その第１制限領域２４と第２制限領域２５に応じて配置可能方向を認識する。その後、ステップＳ１０１で決定したフロアプランから、ハードマクロの向きを認識する。半導体設計支援装置１０は、この配置可能方向とハードマクロに向きとから、チップレベル配線のマクロ上の５層配線の配置可能方向を決定する。
【００４７】
例えば、上述の図２は、ハードマクロ２１がチップで回転せず０度で配置されている場合である。マクロ内ｘ−ｙ座標におけるｙ軸方向と、チップ内Ｘ−Ｙ座標におけるＹ軸方向とが平行のとき、半導体設計支援装置１０は、第１制限領域２４の配置可能方向をＹ方向（垂直方向）と認識し、第２制限領域２５の配置可能方向をＸ方向（水平方向）と認識する。ハードマクロ２１がチップで回転して配置され、０度以外で配置された場合は、マクロ配置方向に応じてチップレベル配線のマクロ上５層配線の配置可能方向を決定する。
【００４８】
ステップＳ１０５において、ハードマクロ上の配線配置可能方向が決定した後、その決定した情報に基づいて、ハードマクロ２１の上の５層配線の配置を決定する。また、ハードマクロ上以外の領域は１層から５層まで使用して配線が行われる。上述のチップ２８の場合、ハードマクロ２１の第１制限領域２４のチップレベル配線（第１チップレベル配線２６）をＹ軸方向（垂直方向）平行に配置し、第２制限領域２５のチップレベル配線（第２チップレベル配線２７）をＸ軸方向（水平方向）に配置することを決定する。
【００４９】
ハードマクロ情報３１の配置制限情報は、ステップＳ１０４において、ハードマクロ上の５層配線の配置が可能な方向を決定するときに変更することができる。つまり、ステップＳ１０２におけるフロアプラン時には、配置制限情報を持たずに、ハードマクロ上の５層配線の配置を決定する工程で配置制限情報を追加することも可能である。フロアプラン時に入力した配置制限情報と異なるハードマクロ情報を入力することで、配置制限情報を変更することも可能である。なお、この場合、ステップＳ１０４におけるハードマクロ情報を優先的にしようするこが好ましい。配置制限情報を持ったハードマクロ情報を入力してフロアプランを行う場合、フロアプランで仮配線を行い、ハードマクロ上の配線配置を考慮したハードマクロ位置を決定することができる。
【００５０】
ハードマクロの配置制限情報に、配置可能方向の情報を持たせることにより、ハードマクロ内の信号配線を認識せずともハードマクロ上配置可能な配線を決定することができる。これにより、ハードマクロ内の信号配線について配線層、配線形状の情報を抽出する工程、抽出した情報から配置可能な配線層、配置方向を決定する工程を省略することができ、処理時間を短くすることが可能となる。
【００５１】
［第２実施形態］
以下に、図面を参照して、本発明の第２実施形態について説明を行う。以下の第２実施形態のレイアウト方法では、ハードマクロ情報にＮ層配線の配置制限情報を持つのではなく、チップ配線時に、チップレベルでハードマクロ上の配置制限情報を与える。
【００５２】
図７Ａ、図７Ｂは、第２実施形態における、設計対象の半導体集積回路（以下、チップ４５と呼ぶ）の構成を例示するレイアウト図である。なお、以下の第２実施形態では、チップ４５が５層の配線層を有する場合を例示する。また、チップ４５に配置されるハードマクロ４１とハードマクロ４２とは、第１層〜第４層までを使用しているものとする。したがって、以下では、そのハードマクロ４１の上の第５層目に、チップレベル配線を行なう場合に対応して、本実施形態の説明を行う。
【００５３】
図７Ａは、チップレベル配線をレイアウトする前のチップ４５の構成を例示するレイアウト図である。図７Ａに示されているように、ハードマクロ４１は、４層配線４３を含んでいる。４層配線４３は、ｙ方向（垂直方向）に長く配線されている。ハードマクロ４１上において、第４層の上の層を５層配線層とするとき、ハードマクロ４１は、その５層配線層に配置される配線を制限する制限領域（制限領域４４）を備えている。
【００５４】
図７Ｂは、チップレベル配線をレイアウトした後のチップ４５の構成を例示するレイアウト図である。ハードマクロ４１の上のチップレベル配線（５層配線）は、配置可能方向にのみ配線され、それ以外の方向の配置は禁止される。図７Ｂに示されているように、ハードマクロ４１の制限領域４４は、Ｘ方向（水平方向）が配置可能方向であり、チップレベル配線４６は、そのＸ方向（垂直方向）に配置されている。
【００５５】
図８は、第２実施形態の動作を例示するフローチャートである。第２実施形態の動作は、ハードマクロ上に配置制限情報を与える工程と、その配置制限情報から配線配置方向を認識してハードマクロ上配線配置可能方向を判断する工程（ステップＳ２０１〜ステップＳ２０３）を備えている点で、第１実施形態の動作と異なっている。配置制限情報は、配線層、領域、配置可能方向を含んでいる。配置制限情報を与える工程は、例えば、フロアプランを行った後で行なわれる。
【００５６】
図８のステップＳ１０１とステップＳ１０２の動作は、第１実施形態と同様である。ステップＳ１０１において、ハードマクロ情報３１とネットリスト３２を入力として１チップフロアプランを行う。その後ステップＳ１０２において、ハードマクロ位置を決定する。
【００５７】
ステップＳ２０１において、ハードマクロ上の５層目の配置制限情報が必要か否かの判断を実行する。その判断の結果、その配置制限情報が必要な場合、処理はステップＳ２０２に進む。その判断の結果、その配置制限情報が不要な場合、処理はステップＳ１０５に進む。
【００５８】
ステップＳ２０２において、ハードマクロ上の５層目の配置制限情報をチップレベルで与える。このとき、その配置制限情報は、配置を制限する領域を特定する情報を含む。ステップＳ２０３において、与えられた配置制限情報の領域、配置可能方向からハードマクロ上のＮ層配線の配置可能方向を判断する。このとき、半導体設計支援装置１０は、マクロが配置される方向に関係なく、チップレベルで見た方向を配置可能方向に与える。その判断に基づいて、ハードマクロ上の５層配線の配置可能方向を決定する。
【００５９】
ステップＳ１０５において、決定した配置制限情報に基づいてハードマクロ上の配線の配置可能方向を決定し、これに従い配線を行う。配置制限情報が与えられた領域（制限領域４４）でのチップレベル配線（チップレベル配線４６）は、水平方向に配置する。
【００６０】
第４層までを使用したハードマクロの上に配置される第５層配線は、配置制限情報により、延伸する方向が制限される。従って、チップレベル配線が、ハードマクロ内配線（例えば、４層配線４３）と平行に配置されることを禁止することができる。これによって、Ｎ番目の配線層に配置される配線と、マクロ内のＮ−１層配線との間のクロストークの影響を小さくすることが可能である。また、ハードマクロ情報にあらかじめ情報を持たなくても、その後の工程でＮ層の配線通過を制御することが可能となる。
【００６１】
［第３実施形態］
以下に、図面を参照して、本発明の第３実施形態について説明を行う。以下の第３実施形態では、配置制限情報をハードマクロ上に限らず、チップ内の領域に登録し、チップレベルの配線配置方向を制御する。これによって、チップで配線可能な全ての配線層に対して配線配置方向を制御することが可能である。
【００６２】
図９Ａ、図９Ｂは、第３実施形態における、設計対象の半導体集積回路（以下、チップ６４と呼ぶ）の構成を例示するレイアウト図である。チップ６４は１層からＮ層まで配線に使用することができ、チップ内にはハードマクロ６２を配置し、階層的にレイアウトを行う。なお、以下の第３実施形態では、チップ６４が５層の配線層を有する場合を例示する。また、チップ６４に配置される制限領域６１とハードマクロ６２とは、第１層〜第４層までを使用しているものとする。したがって、以下では、その制限領域６１の上の第５層目に、チップレベル配線を行なう場合に対応して、本実施形態の説明を行う。
【００６３】
図９Ａは、チップレベル配線をレイアウトする前のチップ６４の構成を例示するレイアウト図である。図９Ａに示されているように、チップ６４には、ハードマクロ６２が配置されている。
【００６４】
チップ内には、ある配線層の配線を配置する方向を制御する為に、配線層、制限領域６１、配置可能方向情報を含む配置制限情報を与える。配線層は１層からＮ層まで全ての配線層に対して設定可能である。図９Ｂは、チップレベル配線をレイアウトした後のチップ６４の構成を例示するレイアウト図である。図９Ｂに示されているように、そのチップ６４は、チップ内のある領域（制限領域６１）で、ある配線層の配線配置方向が制御されている。Ｎ層配線（チップレベル配線６３）は、配置制限情報に基づいて配置されている。配置制限情報は、制限領域６１に関する情報と、配線層に関する情報と、配置可能方向に関する情報とを含んでいる。
【００６５】
チップ内のある領域で、ある配線層の配線配置方向を制御する為に、配線層、領域（６１）、配置可能方向情報から成る配置制限情報を与える。配線層は１層からＮ層まで全ての配線層に対して設定可能である。
【００６６】
配置制限情報が与えられた配線層は、その制限領域６１で配置方向が制限され、設定された配置可能方向のみ配線配置が可能である。例えば、配線可能な方向がＹ方向（垂直方向）と与えられた場合、配線は、制限領域６１内の垂直方向に配置される。なお、第３実施形態の半導体設計支援装置１０は、ハードマクロ以外の領域に、チップで配線に使用できる全ての配線層（１〜Ｎ層）の配置制限情報を与えることができるものとする。
【００６７】
以下に、第３実施形態の動作について説明を行う。図１０は、第３実施形態の動作を例示するフローチャートである。ステップＳ１０１〜ステップＳ１０２の動作は、第１及び第２実施形態と同様である。ステップＳ１０１において、ハードマクロ情報３１とネットリスト３２を読み出し、ステップＳ１０２において、それらを入力として１チップフロアプランを行いハードマクロ位置を決定する。
【００６８】
ステップＳ３０１において、半導体設計支援装置１０は、配線前にチップ６４で第１層配線〜第Ｎ層配線の配置制限情報が必要な箇所を判断する。その判断結果、配置制限情報が必要な場合には、処理はステップＳ３０２に進む。その判断結果、配置制限情報が不必要な場合、処理はステップＳ３０４に進む。
【００６９】
ステップＳ３０２において、１チップレベルで配置制限情報を与える。配置制限情報は、配線層、領域、配置可能方向に関する情報を含んでいるものとする。このとき、指定された領域（例えば制限領域６１）内での指定された配線層の配線配置可能方向を判断する。ステップＳ３０３において、チップ無い全体における配線の配置可能方向を決定する。ステップＳ３０４において、決定した配置制限情報に従い配線を行う。
【００７０】
第３実施形態では、配線の配置可能方向を制御することができるので、特性上考慮の必要な配線（アナログ配線等、他配線からのノイズ影響を小さくしたい配線）のチップレベルでの他配線の並走を禁止することができる。
【００７１】
また、ハードマクロ情報にあらかじめ情報を持たなくても、その後の工程でＮ層の配線配置を制御することが可能であり、ハードマクロ領域に関係なくチップ内の配線配置を制御することが可能である。
【００７２】
なお、上述の複数の実施形態は、その構成・動作に矛盾が生じない範囲において、組み合わせて実施することが可能である。
【図面の簡単な説明】
【００７３】
【図１】図１は、従来の半導体集積回路の構成を示す平面図である。
【図２】図２は、従来の半導体集積回路の構成を示す平面図である。
【図３】図３は、従来の半導体集積回路の構成を示す平面図である。
【図４】図４は、半導体集積回路設計支援装置の構成を例示するブロック図である。
【図５Ａ】図５Ａは、第１実施形態の半導体集積回路の構成を例示するレイアウト図である。
【図５Ｂ】図５Ｂは、第１実施形態の半導体集積回路の構成を例示するレイアウト図である。
【図６】図６は、第１実施形態の半導体集積回路を設計する動作を例示するフローチャートである。
【図７Ａ】図７Ａは、第２実施形態における、設計対象の半導体集積回路の構成を例示するレイアウト図である。
【図７Ｂ】図７Ｂは、第２実施形態における、設計対象の半導体集積回路の構成を例示するレイアウト図である。
【図８】図８は、第２実施形態の動作を例示するフローチャートである。
【図９Ａ】図９Ａは、第３実施形態における、設計対象の半導体集積回路の構成を例示するレイアウト図である。
【図９Ｂ】図９Ｂは、第３実施形態における、設計対象の半導体集積回路の構成を例示するレイアウト図である。
【図１０】図１０は、第３実施形態の動作を例示するフローチャートである。
【符号の説明】
【００７４】
１…情報処理装置
２…入力装置
３…出力装置
４…ＣＰＵ
５…ＲＡＭ
６…大容量記憶装置
７…バス
８…半導体設計支援プログラム
１０…半導体設計支援装置
３１…ハードマクロ情報
３２…ネットリスト
２１…ハードマクロ
２２…ｘ方向４層配線
２３…ｙ方向４層配線
２４…第１制限領域
２５…第２制限領域
２６…第１チップレベル配線
２７…第２チップレベル配線
２８…チップ
４１…ハードマクロ
４２…ハードマクロ
４３…４層配線
４４…制限領域
４５…チップ
４６…チップレベル配線
６１…制限領域
６２…ハードマクロ
６３…チップレベル配線
６４…チップ
１１１…１チップ
１１２…ブロック
１１２ｂ…Ｎ配線済ブロック
１１２ｃ…Ｎ配線済ブロック
１１３…ブロック間配線
１１４…Ｎ−１配線済ブロック
２０１…半導体装置
２０２ａ…ハードマクロ
２０２ｂ…ハードマクロ
２０２ｃ…ハードマクロ
２０３ａ…信号配線
２０３ｂ…信号配線
２０４ａ…電極パッド
２０４ｂ…電極パッド
２０５…配線領域
２０６ａ…ビット線パターン
２０６ｂ…ビット線パターン
２０７…ワード線
２２３ａ…重なり部分
２２３ｂ…重なり部分
【図１】
2009111117.tif 000003
【図２】
2009111117.tif 000004
【図３】
2009111117.tif 000005
【図４】
2009111117.tif 000006
【図５Ａ】
2009111117.tif 000007
【図５Ｂ】
2009111117.tif 000008
【図６】
2009111117.tif 000009
【図７Ａ】
2009111117.tif 000010
【図７Ｂ】
2009111117.tif 000011
【図８】
2009111117.tif 000012
【図９Ａ】
2009111117.tif 000013
【図９Ｂ】
2009111117.tif 000014
【図１０】
2009111117.tif 000015