(57)【要約】【課題】高集積化を実現し、ノイズの影響を受けにくい半導体集積回路を開発する際、設計者に負担がかからないように、ハードマクロ（３０）を有する半導体集積回路を設計すること。【解決手段】コンピュータ（１）は、ハードマクロ（３０）内の所定領域（３１）に対して予め設定されている配線を許容するための条件（２３）を取得し（Ｓ２、Ｓ３）、半導体集積回路を表すレイアウトデータ（７）上に配置される配線の中から、所定領域（３１）上を通過する通過配線（４０）を検索する（Ｓ１０）。検索された通過配線（４０）の中から、条件（２３）を満たす正常通過配線（４１）をハードマクロ（３０）上に通過させ、条件（２３）を満たさない違反通過配線（４２）をハードマクロ（３０）から迂回させて配線する。この場合、設計者は、条件（２３）をコンピュータ（１）に与えればよく、設計者にかかる負担が軽減する。【選択図】図２
2009015491.tif 000002
【特許請求の範囲】
【請求項１】
コンピュータを用いて、ハードマクロを有する半導体集積回路のレイアウトを設計する方法であって、
前記半導体集積回路を表す回路情報と、前記半導体集積回路の前記ハードマクロ内の所定領域に対して予め設定されている配線を許容するための許容条件とを取得するステップと、
前記半導体集積回路に配置される配線の中から、前記所定領域を通過する通過配線を検索する配線計画ステップと、
前記検索された通過配線の中から、前記許容条件を満たす正常通過配線を前記ハードマクロ上に通過させ、前記許容条件を満たさない違反通過配線を前記ハードマクロから迂回させて配線する配線ステップと
を具備する半導体集積回路のレイアウト設計方法。
【請求項２】
前記許容条件は、許容容量値を含み、
前記正常通過配線は、前記所定領域上に仮想的に配置される前記通過配線と前記所定領域における前記ハードマクロの配線とで形成されるカップリング容量を表す容量値が前記許容容量値以下であり、
前記違反通過配線は、前記容量値が前記許容容量値を超えている
請求項１に記載の半導体集積回路のレイアウト設計方法。
【請求項３】
前記容量値は、前記通過配線の前記所定領域に対応する部分を表す重なり部分と、前記所定領域における前記ハードマクロの配線とで形成されるカップリング容量を表している
請求項２に記載の半導体集積回路のレイアウト設計方法。
【請求項４】
前記許容条件は、許容抵抗値を含み、
前記正常通過配線は、前記所定領域上に仮想的に配置される前記通過配線に生じる抵抗を表す抵抗値が前記許容抵抗値以下であり、
前記違反通過配線は、前記抵抗値が前記許容抵抗値を超えている
請求項１〜３のいずれかに記載の半導体集積回路のレイアウト設計方法。
【請求項５】
前記抵抗値は、前記通過配線の前記所定領域に対応する部分を表す重なり部分に生じる抵抗を表している
請求項４に記載の半導体集積回路のレイアウト設計方法。
【請求項６】
前記許容条件は、許容本数を含み、
前記許容本数をＩ（Ｉは１以上の整数）としたとき、
前記正常通過配線は、前記所定領域上に仮想的に配置される前記通過配線が１番目からＩ番目までの通過配線であることを表し、
前記違反通過配線は、前記所定領域上に仮想的に配置される前記通過配線が（Ｉ＋１）番目以降の通過配線を表している
請求項１〜５のいずれかに記載の半導体集積回路のレイアウト設計方法。
【請求項７】
前記許容条件は、更に、許容面積を含み、
前記正常通過配線は、前記所定領域上に仮想的に配置される前記通過配線の面積及び本数によって決定される合計面積が前記許容面積以下であるときの１番目からＫ番目（Ｋは１以上の整数）までの通過配線を表し、
前記違反通過配線は、前記合計面積が前記許容面積を超えたときの（Ｋ＋１）番目以降の通過配線を表している
請求項６に記載の半導体集積回路のレイアウト設計方法。
【請求項８】
前記面積は、前記通過配線の前記所定領域に対応する部分を表す重なり部分の面積を表している
請求項７に記載の半導体集積回路のレイアウト設計方法。
【請求項９】
前記配線計画ステップは、
前記通過配線として１番目からＮ番目（Ｎは２以上の整数）までのＮ本の通過配線を仮想的に前記所定領域上に配置する計画を立案する第１配線計画ステップと、
前記Ｎ本の通過配線の中に前記違反通過配線が存在するか否かを検索する検索ステップと、
前記Ｎ本の通過配線のうちのＭ本（ＭはＭ≦Ｎを満たす整数）の通過配線が前記違反通過配線である場合、前記Ｎ本の通過配線から前記Ｍ本の通過配線を除いた（Ｎ−Ｍ）本の通過配線を仮想的に前記ハードマクロ上に配置し、前記Ｍ本の通過配線を仮想的に前記ハードマクロから迂回させて配置する計画を立案する第２配線計画ステップと、
前記（Ｎ−Ｍ）本の通過配線を前記Ｎ本の通過配線としたとき、前記検索ステップを再度実行するステップと、
前記検索ステップを再度実行したときに、前記Ｎ本の通過配線の中に前記違反通過配線が存在する場合、前記第２配線計画ステップを再度実行するステップと
を含み、
前記検索ステップを再度実行したときに、前記Ｎ本の通過配線の中に前記違反通過配線が存在しない場合、前記配線ステップが実行される
請求項１〜８のいずれかに記載の半導体集積回路のレイアウト設計方法。
【請求項１０】
前記配線計画ステップは、
前記通過配線として１番目からＮ番目（Ｎは２以上の整数）までのＮ本の通過配線の中から、前記ハードマクロに迂回させると最も配線長が長い第Ｊ通過配線（Ｊは１≦Ｊ≦Ｎを満たす整数）を検索し、仮想的に前記所定領域上に配置する計画を立案する第１配線計画ステップと、
前記第Ｊ通過配線が前記違反通過配線であるか否かを検索する検索ステップと、
前記第Ｊ通過配線が前記正常通過配線である場合、前記Ｎ本の通過配線から前記第Ｊ通過配線を除いた（Ｎ−１）本の通過配線を前記Ｎ本の通過配線とし、Ｎが０を表さないとき、前記第１配線計画ステップを再度実行するステップと、
前記第Ｊ通過配線が前記違反通過配線である場合、前記Ｎ本の通過配線を仮想的に前記ハードマクロから迂回させて配置する計画を立案する第２配線計画ステップと
を含み、
前記第２配線計画ステップが実行された場合、又は、Ｎが０を表す場合、前記配線ステップが実行される
請求項１〜８のいずれかに記載の半導体集積回路のレイアウト設計方法。
【請求項１１】
前記第２配線計画ステップは、
前記Ｍ本の通過配線の中から、前記ハードマクロに迂回させると最も配線長が長い第Ｊ通過配線（Ｊは１≦Ｊ≦Ｍを満たす整数）を検索し、仮想的に前記所定領域上に配置する計画を立案する第３配線計画ステップと、
前記第Ｊ通過配線が前記違反通過配線であるか否かを検索する第Ｊ通過配線検索ステップと、
前記第Ｊ通過配線が前記正常通過配線である場合、前記Ｍ本の通過配線から前記第Ｊ通過配線を除いた（Ｍ−１）本の通過配線を前記Ｍ本の通過配線とし、Ｍが０を表さないとき、前記第３配線計画ステップを再度実行するステップと、
前記第Ｊ通過配線が前記違反通過配線である場合、前記Ｍ本の通過配線を仮想的に前記ハードマクロから迂回させて配置する計画を立案する第４配線計画ステップと
を含む請求項９に記載の半導体集積回路のレイアウト設計方法。
【請求項１２】
コンピュータにインストールされ、前記コンピュータを用いて、ハードマクロを有する半導体集積回路のレイアウトを設計するコンピュータプログラムであって、
前記半導体集積回路を表す回路情報と、前記半導体集積回路の前記ハードマクロ内の所定領域に対して予め設定されている配線を許容するための許容条件とを取得するステップと、
前記半導体集積回路に配置される配線の中から、前記所定領域を通過する通過配線を検索する配線計画ステップと、
前記検索された通過配線の中から、前記許容条件を満たす正常通過配線を前記ハードマクロ上に通過させ、前記許容条件を満たさない違反通過配線を前記ハードマクロから迂回させて配線する配線ステップと
の各ステップを前記コンピュータに実行させるコンピュータプログラム。
【請求項１３】
前記許容条件は、許容容量値を含み、
前記正常通過配線は、前記所定領域上に仮想的に配置される前記通過配線と前記所定領域における前記ハードマクロの配線とで形成されるカップリング容量を表す容量値が前記許容容量値以下であり、
前記違反通過配線は、前記容量値が前記許容容量値を超えている
請求項１２に記載のコンピュータプログラム。
【請求項１４】
前記容量値は、前記通過配線の前記所定領域に対応する部分を表す重なり部分と、前記所定領域における前記ハードマクロの配線とで形成されるカップリング容量を表している
請求項１３に記載のコンピュータプログラム。
【請求項１５】
前記許容条件は、許容抵抗値を含み、
前記正常通過配線は、前記所定領域上に仮想的に配置される前記通過配線に生じる抵抗を表す抵抗値が前記許容抵抗値以下であり、
前記違反通過配線は、前記抵抗値が前記許容抵抗値を超えている
請求項１２〜１４のいずれかに記載のコンピュータプログラム。
【請求項１６】
前記抵抗値は、前記通過配線の前記所定領域に対応する部分を表す重なり部分に生じる抵抗を表している
請求項１５に記載のコンピュータプログラム。
【請求項１７】
前記許容条件は、許容本数を含み、
前記許容本数をＩ（Ｉは１以上の整数）としたとき、
前記正常通過配線は、前記所定領域上に仮想的に配置される前記通過配線が１番目からＩ番目までの通過配線であることを表し、
前記違反通過配線は、前記所定領域上に仮想的に配置される前記通過配線が（Ｉ＋１）番目以降の通過配線を表している
請求項１２〜１６のいずれかに記載のコンピュータプログラム。
【請求項１８】
前記許容条件は、更に、許容面積を含み、
前記正常通過配線は、前記所定領域上に仮想的に配置される前記通過配線の面積及び本数によって決定される合計面積が前記許容面積以下であるときの１番目からＫ番目（Ｋは１以上の整数）までの通過配線を表し、
前記違反通過配線は、前記合計面積が前記許容面積を超えたときの（Ｋ＋１）番目以降の通過配線を表している
請求項１７に記載のコンピュータプログラム。
【請求項１９】
前記面積は、前記通過配線の前記所定領域に対応する部分を表す重なり部分の面積を表している
請求項１８に記載のコンピュータプログラム。
【請求項２０】
前記配線計画ステップは、
前記通過配線として１番目からＮ番目（Ｎは２以上の整数）までのＮ本の通過配線を仮想的に前記所定領域上に配置する計画を立案する第１配線計画ステップと、
前記Ｎ本の通過配線の中に前記違反通過配線が存在するか否かを検索する検索ステップと、
前記Ｎ本の通過配線のうちのＭ本（ＭはＭ≦Ｎを満たす整数）の通過配線が前記違反通過配線である場合、前記Ｎ本の通過配線から前記Ｍ本の通過配線を除いた（Ｎ−Ｍ）本の通過配線を仮想的に前記ハードマクロ上に配置し、前記Ｍ本の通過配線を仮想的に前記ハードマクロから迂回させて配置する計画を立案する第２配線計画ステップと、
前記（Ｎ−Ｍ）本の通過配線を前記Ｎ本の通過配線としたとき、前記検索ステップを再度実行するステップと、
前記検索ステップを再度実行したときに、前記Ｎ本の通過配線の中に前記違反通過配線が存在する場合、前記第２配線計画ステップを再度実行するステップと
を含み、
前記検索ステップを再度実行したときに、前記Ｎ本の通過配線の中に前記違反通過配線が存在しない場合、前記配線ステップが実行される
請求項１２〜１９のいずれかに記載のコンピュータプログラム。
【請求項２１】
前記配線計画ステップは、
前記通過配線として１番目からＮ番目（Ｎは２以上の整数）までのＮ本の通過配線の中から、前記ハードマクロに迂回させると最も配線長が長い第Ｊ通過配線（Ｊは１≦Ｊ≦Ｎを満たす整数）を検索し、仮想的に前記所定領域上に配置する計画を立案する第１配線計画ステップと、
前記第Ｊ通過配線が前記違反通過配線であるか否かを検索する検索ステップと、
前記第Ｊ通過配線が前記正常通過配線である場合、前記Ｎ本の通過配線から前記第Ｊ通過配線を除いた（Ｎ−１）本の通過配線を前記Ｎ本の通過配線とし、Ｎが０を表さないとき、前記第１配線計画ステップを再度実行するステップと、
前記第Ｊ通過配線が前記違反通過配線である場合、前記Ｎ本の通過配線を仮想的に前記ハードマクロから迂回させて配置する計画を立案する第２配線計画ステップと
を含み、
前記第２配線計画ステップが実行された場合、又は、Ｎが０を表す場合、前記配線ステップが実行される
請求項１２〜１９のいずれかに記載のコンピュータプログラム。
【請求項２２】
前記第２配線計画ステップは、
前記Ｍ本の通過配線の中から、前記ハードマクロに迂回させると最も配線長が長い第Ｊ通過配線（Ｊは１≦Ｊ≦Ｍを満たす整数）を検索し、仮想的に前記所定領域上に配置する計画を立案する第３配線計画ステップと、
前記第Ｊ通過配線が前記違反通過配線であるか否かを検索する第Ｊ通過配線検索ステップと、
前記第Ｊ通過配線が前記正常通過配線である場合、前記Ｍ本の通過配線から前記第Ｊ通過配線を除いた（Ｍ−１）本の通過配線を前記Ｍ本の通過配線とし、Ｍが０を表さないとき、前記第３配線計画ステップを再度実行するステップと、
前記第Ｊ通過配線が前記違反通過配線である場合、前記Ｍ本の通過配線を仮想的に前記ハードマクロから迂回させて配置する計画を立案する第４配線計画ステップと
を含む請求項２０に記載のコンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、半導体集積回路のレイアウトを設計するレイアウト設計方法に関する。
【背景技術】
【０００２】
半導体集積回路のレイアウトを設計するレイアウト設計方法が開発されている。半導体集積回路は、チップ上に配置されるハードマクロと、通過配線とを具備している。ハードマクロがメモリマクロである場合、ＤＲＡＭ（Ｄｙｎａｍｉｃ  Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）マクロ、ＳＲＡＭ（Ｓｔａｔｉｃ  Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）マクロといったものが広く知られている。この設計方法では、ハードマクロが座標領域に配置されたレイアウトデータに対して、ハードマクロの上層にマクロ外配線として通過配線を配置する。ところが、通過配線の配置箇所によっては、ノイズの影響によりハードマクロが誤動作する恐れがある。このため、ハードマクロ内の所定領域を配線禁止領域（ＯＢＳ；Ｏｂｓｔｒｕｃｔｉｏｎ）とし、ハードマクロ上に設けられる通過配線を禁止し、通過配線をハードマクロから迂回させることにより、ノイズの影響を低減することができる。
【０００３】
近年では、半導体集積回路に対して更に高集積化が求められている。高集積化に伴い、通過配線の本数も増加している。ところが、全ての通過配線をハードマクロから迂回させる場合、そのための領域の確保が必要になり、高集積化が妨げられてしまう。そこで、全ての通過配線の中から、一部の通過配線をハードマクロ上に設け、それ以外の通過配線をハードマクロから迂回させることにより、高集積化を妨げずに、ノイズの影響を低減することができる。
【０００４】
例えば、特開平１０−１０７１４９号公報には、ハードマクロと全ての通過配線（ネット）とに属性を与える技術が記載されている。この技術では、全ての通過配線の中から、両者の属性が一致する通過配線をハードマクロ上に設け、それ以外の通過配線をハードマクロから迂回させている。ハードマクロの属性と一致する場合、その通過配線の属性としては、その通過配線から送信される信号が表す電圧レベルが一定である、上記信号がハードマクロの動作に同期する、上記通過配線がテスト用の信号線である、などが挙げられている。
【０００５】
また、特開平１１−１４５２９６号公報には、ハードマクロ上の通過配線を禁止し、その通過配線を迂回させない方法として、ハードマクロ内にバイパス配線を予め配置しておく技術が記載されている。この技術では、あるブロックから他のブロックに通過配線を配置するときに、その直線上にハードマクロが存在する場合、ブロックからの通過配線をバイパス配線の一端に接続し、他のブロックからの通過配線をバイパス配線の他端に接続させている。
【０００６】
【特許文献１】特開平１０−１０７１４９号公報
【特許文献２】特開平１１−１４５２９６号公報
【発明の開示】
【発明が解決しようとする課題】
【０００７】
上述のように、高集積化を実現し、ノイズの影響を受けにくい半導体集積回路が求められている。従って、このような半導体集積回路を開発する場合においても、設計者に負担がかからないように、半導体集積回路を自動的に設計することができる手法が望まれる。
【０００８】
しかしながら、特開平１０−１０７１４９号公報に記載された技術では、ハードマクロの属性と通過配線の属性とを一致させるために、設計者は、全ての通過配線（ネット）に属性を与えなければならない。通過配線の本数は、数十本や数百本ではなく、数万本にも及ぶ。また、通過配線をハードマクロ上に設けるか否かを上記の属性によって判定するには不十分である。このように、特開平１０−１０７１４９号公報に記載された技術は、実用的ではない。
【０００９】
また、特開平１１−１４５２９６号公報に記載された技術では、設計者は、通過配線を配置する前に、ハードマクロ内にバイパス配線を配置しておかなければならない。バイパス配線自身、電位が安定しない浮き電位となるため、ノイズの影響によりハードマクロが誤動作する恐れがある。また、通過配線を配置するときにバイパス配線を使用しない場合、バイパス配線が配置された領域は無駄になってしまう。このため、特開平１１−１４５２９６号公報に記載された技術は、実用的ではない。
【課題を解決するための手段】
【００１０】
以下に、発明を実施するための最良の形態・実施例で使用される符号を括弧付きで用いて、課題を解決するための手段を記載する。この符号は、特許請求の範囲の記載と発明を実施するための最良の形態・実施例の記載との対応を明らかにするために付加されたものであり、特許請求の範囲に記載されている発明の技術的範囲の解釈に用いてはならない。
【００１１】
本発明の半導体集積回路のレイアウト設計方法は、
コンピュータ（１）を用いて、ハードマクロ（３０）を有する半導体集積回路のレイアウトを設計する方法であって、
前記半導体集積回路を表す回路情報（７）と、前記半導体集積回路の前記ハードマクロ（３０）内の所定領域（３１）に対して予め設定されている配線を許容するための許容条件（２３）とを取得するステップ（Ｓ１〜Ｓ３）と、
前記半導体集積回路に配置される配線の中から、前記所定領域（３１）を通過する通過配線（４０）を検索する配線計画ステップ（Ｓ１０）（Ｓ２０）（Ｓ３０）と、
前記検索された通過配線（４０）の中から、前記許容条件（２３）を満たす正常通過配線（４１）を前記ハードマクロ（３０）上に通過させ、前記許容条件（２３）を満たさない違反通過配線（４２）を前記ハードマクロ（３０）から迂回させて配線する配線ステップ（Ｓ４）と
を具備する。
【発明の効果】
【００１２】
以上により、本発明の半導体集積回路のレイアウト設計方法では、高集積化を実現し、ノイズの影響を受けにくい半導体集積回路を開発する際、設計者に負担がかからないように、半導体集積回路を設計することができる。
【００１３】
その理由として、設計者は、ハードマクロ（３０）内の所定領域（３１）に対して予め設定されている配線を許容するための許容条件（２３）をコンピュータ（１）に与えておき、コンピュータ（１）は、配線計画ステップ（Ｓ１０）（Ｓ２０）（Ｓ３０）において、半導体集積回路に配置される配線の中から、所定領域（３１）を通過する通過配線（４０）を検索し、配線ステップ（Ｓ４）において、上記検索された通過配線（４０）の中から、許容条件（２３）を満たす正常通過配線（４１）をハードマクロ（３０）上に通過させ、許容条件（２３）を満たさない違反通過配線（４２）をハードマクロ（３０）から迂回させて配線する。この場合、設計者は、許容条件（２３）をコンピュータ（１）のライブラリ（２０）に、又は、コマンドによってコンピュータ（１）に与えればよく、特開平１０−１０７１４９号公報や特開平１１−１４５２９６号公報に記載されている技術に比べて、設計者にかかる負担が軽減する。即ち、設計者は、全ての通過配線（ネット）に属性を与えたり、ハードマクロ内にバイパス配線を配置したりする必要はない。
【００１４】
許容条件（２３）としては、許容容量値（Ｃｏ）、許容抵抗値（Ｒｏ）、許容本数、許容面積（Ｑｏ）が例示される。
【００１５】
許容条件（２３）が許容容量値（Ｃｏ）を含んでいる場合、違反通過配線（４２）は、所定領域（３１）上に仮想的に配置される通過配線（４０）と所定領域（３１）におけるハードマクロ（３０）の配線とで形成されるカップリング容量を表す容量値（Ｃ）が許容容量値（Ｃｏ）を超えていることを表している。この場合、容量値（Ｃ）としては、通過配線（４０）の所定領域（３１）に対応する部分を表す重なり部分（４０−２）と、所定領域（３１）におけるハードマクロ（３０）の配線とで形成されるカップリング容量の値を算出することが好ましい。
【００１６】
許容条件（２３）が許容抵抗値（Ｒｏ）を含んでいる場合、違反通過配線（４２）は、所定領域（３１）上に仮想的に配置される通過配線（４０）に生じる抵抗を表す抵抗値（Ｒ）が許容抵抗値（Ｒｏ）を超えていることを表している。この場合、抵抗値（Ｒ）としては、通過配線（４０）の所定領域（３１）に対応する部分を表す重なり部分（４０−２）に生じる抵抗の値を算出することが好ましい。
【００１７】
許容条件（２３）が許容本数を含み、その許容本数をＩ（Ｉは１以上の整数）とした場合、違反通過配線（４２）は、所定領域（３１）上に仮想的に配置される通過配線（４０）が（Ｉ＋１）番目以降の通過配線を表している。
【００１８】
許容条件（２３）が許容面積（Ｑｏ）を含んでいる場合、正常通過配線（４１）は、所定領域（３１）上に仮想的に配置される通過配線（４０）の面積（Ｑｉ）及び本数によって決定される合計面積（Ｑｔｏｔａｌ）が許容面積（Ｑｏ）以下であるときの１番目からＫ番目（Ｋは１以上の整数）までの通過配線（４０）を表している。この場合、違反通過配線（４２）は、合計面積（Ｑｔｏｔａｌ）が許容面積（Ｑｏ）を超えたときの（Ｋ＋１）番目以降の通過配線（４０）を表している。面積（Ｑｉ）としては、通過配線（４０）の所定領域（３１）に対応する部分を表す重なり部分（４０−２）の面積を算出することが好ましい。
【００１９】
配線計画ステップ（Ｓ１０）では、コンピュータ（１）は、複数の通過配線（４０）としてＮ本の通過配線（４０）の全てを仮想的に所定領域（３１）上に配置する計画を立案し、Ｎ本の通過配線（４０）の中に違反通過配線（４２）が存在する場合に計画を変更する。Ｎ本の通過配線（４０）の配線の順番を変えてもよい場合は、この配線計画ステップ（Ｓ１０）を実行することが好ましい。
【００２０】
配線計画ステップ（Ｓ２０）では、コンピュータ（１）は、複数の通過配線（４０）としてＮ本の通過配線（４０）を配置した後に違反通過配線（４２）が存在しないように、Ｎ本の通過配線（４０）を１本ずつ仮想的に所定領域（３１）上に配置する計画を立案する。Ｎ本の通過配線（４０）の配線の順番を変えたくない場合は、この配線計画ステップ（Ｓ２０）を実行することが好ましい。
【００２１】
配線計画ステップ（Ｓ３０）では、コンピュータ（１）は、複数の通過配線（４０）としてＮ本の通過配線（４０）の全てを仮想的に所定領域（３１）上に配置する計画を立案し、Ｎ本の通過配線（４０）の中に違反通過配線（４２）が存在する場合に計画を変更する。ここで、Ｎ本の通過配線（４０）の中にＭ本（ＭはＭ≦Ｎを満たす整数）の違反通過配線（４２）が存在する場合は、Ｍ本の通過配線（４０）を１本ずつ仮想的に所定領域（３１）上に配置する計画を立案する。このように、配線計画ステップ（Ｓ１０）と配線計画ステップ（Ｓ２０）とを実行することもできる。
【発明を実施するための最良の形態】
【００２２】
以下に添付図面を参照して、本発明の半導体集積回路のレイアウト設計方法について詳細に説明する。
【００２３】
（第１実施形態）
図１は、本発明の半導体集積回路のレイアウト設計方法が適用される設計システムの構成を示している。その設計システムは、コンピュータ１と、入力装置４と、出力装置５とを具備している。入力装置４と出力装置５は、コンピュータ１に接続されている。出力装置５は、表示装置、印刷装置を含んでいる。
【００２４】
コンピュータ１は、コンピュータプログラムを格納する記憶部３と、コンピュータプログラムを実行する実行部であるＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）２とを備えている。
【００２５】
設計システムは、更に、ソフトウェアである設計ツール６を具備している。設計ツール６は、記憶部３にインストールされる。この設計ツール６は、コンピュータプログラム１０と、ライブラリ（ファイル）２０とを含んでいる。
【００２６】
コンピュータプログラム１０は、入力処理部１１、情報取得処理部１２、配線計画処理部１３、配線処理部１４、出力処理部１５を含んでいる。
【００２７】
図２は、本発明の第１実施形態による半導体集積回路のレイアウト設計方法を示し、コンピュータ１の動作を示すフローチャートである。
【００２８】
設計者は、入力装置４を用いて、半導体集積回路を表す回路情報７をコンピュータ１に与える。半導体集積回路は、複数のハードマクロを有している。入力処理部１１は、その回路情報７を入力する（ステップＳ１）。
【００２９】
回路情報７は、半導体集積回路の複数のハードマクロの各々を構成する回路を表すネットリストを含んでいる。更に、図３に示されるように、半導体集積回路が配置される座標（０、０）（Ｘ、０）（０、Ｙ）（Ｘ、Ｙ）を表すフロアプランを含んでいる。ここで、Ｘ、Ｙは任意の整数である。座標（０、０）（Ｘ、０）（０、Ｙ）（Ｘ、Ｙ）には、上記の複数のハードマクロが配置されている。例えば、複数のハードマクロのうちのハードマクロ３０が配置されている座標を（Ｘ１、Ｙ１）（Ｘ１、Ｙ２）（Ｘ２、Ｙ１）（Ｘ２、Ｙ２）とする。ここで、Ｘ１＜Ｘ２＜Ｘを満たし、Ｙ１＜Ｙ２＜Ｙを満たしている。また、ハードマクロ３０の所定領域３１を示す座標を（Ｘ１＋Ｘａ、Ｙ１＋Ｙａ）（Ｘ１＋Ｘａ、Ｙ１＋Ｙｂ）（Ｘ１＋Ｘｂ、Ｙ１＋Ｙａ）（Ｘ１＋Ｘｂ、Ｙ１＋Ｙｂ）とする。ここで、０≦Ｘａ＜Ｘｂ≦（Ｘ２−Ｘ１）を満たし、０≦Ｙａ＜Ｙｂ≦（Ｙ２−Ｙ１）を満たしている。
【００３０】
図４に示されるように、ライブラリ２０には、ハードマクロ３０に関連する関連情報２１と、配線禁止領域（ＯＢＳ；Ｏｂｓｔｒｕｃｔｉｏｎ）を表すＯＢＳ情報２２と、許容条件２３とが格納されている。
【００３１】
ＯＢＳ情報２２は、例えば３層目の配線が通過禁止であることを表すＮＧ情報と、ＯＢＳを表す座標（ＯＢＳ座標）とを含んでいる。ＮＧ情報は、例えば“ＬＡＹＥＲ  Ｍ３”と表記される。ＯＢＳ座標は、所定領域３１を示す座標（Ｘ１＋Ｘａ、Ｙ１＋Ｙａ）（Ｘ１＋Ｘａ、Ｙ１＋Ｙｂ）（Ｘ１＋Ｘｂ、Ｙ１＋Ｙａ）（Ｘ１＋Ｘｂ、Ｙ１＋Ｙｂ）と同じ座標を示し、例えば“ＲＥＣＴ  Ｘａ  Ｙａ  Ｘｂ  Ｙｂ”と表記される。
【００３２】
許容条件２３は、ハードマクロ３０内の所定領域３１に対して予め設定されている配線を許容するための情報と、その情報が施される領域を表す座標とを含んでいる。その座標は、所定領域３１を示す座標（Ｘ１＋Ｘａ、Ｙ１＋Ｙａ）（Ｘ１＋Ｘａ、Ｙ１＋Ｙｂ）（Ｘ１＋Ｘｂ、Ｙ１＋Ｙａ）（Ｘ１＋Ｘｂ、Ｙ１＋Ｙｂ）と同じ座標を示し、例えば“ＲＥＣＴ  Ｘａ  Ｙａ  Ｘｂ  Ｙｂ”と表記される。
【００３３】
ハードマクロ３０は、ＯＢＳ情報２２が示す所定領域３１（例えば、メモリマクロの場合、ビット線が配置される領域）に、許容条件２３を満たす配線が配置されたときに動作上問題がないように設計されている。上記の許容条件２３についての詳細は後述する。
【００３４】
情報取得処理部１２は、ライブラリ２０から関連情報２１とＯＢＳ情報２２と許容条件２３とを取得し、配線計画処理部１３に通知する（ステップＳ２）。また、許容条件２３がライブラリ２０に格納されていない場合や、新たな許容条件２３を追加する場合は、設計者は、入力装置４を用いて、コマンドとして許容条件２３を情報取得処理部１２に与えることもできる。この場合、情報取得処理部１２は、その許容条件２３を取得し、配線計画処理部１３に通知する。
【００３５】
配線計画処理部１３は、情報取得処理部１２からの関連情報２１とＯＢＳ情報２２と許容条件２３とを認識する（ステップＳ３）。
【００３６】
図５Ａに示されるように、配線計画処理部１３は、半導体集積回路に配置される配線の中から、ハードマクロ３０内の所定領域３１を通過するＮ本（Ｎは２以上の整数）の通過配線４０を検索する配線計画処理を実行する（ステップＳ１０）。通過配線４０とは、例えば、あるマクロ間を接続するための配線を最短距離で配置する場合に、ハードマクロ３０上を通過する配線を表している。配線計画処理（ステップＳ１０）では、図５Ｂに示されるように、配線計画処理部１３は、Ｎ本の通過配線４０の中から、許容条件２３を満たしている正常通過配線４１と、許容条件２３を満たしていない違反通過配線４２とを検索する。この動作についての詳細は後述する。
【００３７】
配線処理部１４は、配線計画処理（ステップＳ１０）の実行結果に基づいて、配線処理を実行する（ステップＳ４）。配線処理（ステップＳ４）では、正常通過配線４１をハードマクロ３０上に通過させ、違反通過配線４２をハードマクロ３０から迂回させて配線する。配線処理部１４は、半導体集積回路に正常通過配線４１と違反通過配線４２とが配置された回路情報７を回路情報８として出力装置５に出力する（ステップＳ５）。
【００３８】
ここで、許容条件２３について説明する。また、上記の関連情報２１は、Ｎ本の通過配線４０の各々の幅（直径）、断面積、抵抗率などを含んでいるものとする。
【００３９】
上記の許容条件２３は、許容容量値Ｃｏを含んでいる。例えば、図４の場合では、“ＣＭＡＸ  ＺＰＦ”と表記される。ここで、Ｚは任意の実数であり、ＰＦは容量の単位である。配線計画処理部１３は、所定領域３１上に仮想的に配置される通過配線４０と、所定領域３１におけるハードマクロ３０の配線とで形成されるカップリング容量を表す容量値Ｃを算出する。具体的には、図６Ａに示されるように、配線計画処理部１３は、通過配線４０を、所定領域３１に対応する部分を表す重なり部分４０−２と、それ以外の部分４０−１、４０−３とに分け、その重なり部分４０−２と、所定領域３１におけるハードマクロ３０の配線とで形成される容量値Ｃを算出する。そこで、配線計画処理部１３は、図６Ｂに示されるように、容量値Ｃが許容容量値Ｃｏ以下である場合、上記の通過配線４０を正常通過配線４１とする。一方、容量値Ｃが許容容量値Ｃｏを超えている場合、上記の通過配線４０を違反通過配線４２とする。
【００４０】
上記の許容条件２３は、更に、許容抵抗値Ｒｏを含んでいる。配線計画処理部１３は、所定領域３１上に仮想的に配置される通過配線４０に生じる抵抗を表す抵抗値Ｒを算出する。具体的には、図７Ａに示されるように、配線計画処理部１３は、通過配線４０を、所定領域３１に対応する部分を表す重なり部分４０−２と、それ以外の部分４０−１、４０−３とに分け、その重なり部分４０−２に生じる抵抗の抵抗値Ｒを算出する。ここで、重なり部分４０−２の長さをＬ｛例えば座標（Ｘ１＋Ｘａ）と座標（Ｘ１＋Ｘｂ）との直線距離（Ｘｂ−Ｘａ）｝とし、重なり部分４０−２の断面積をＳとし、重なり部分４０−２の抵抗率をρとした場合、抵抗値Ｒは、ρ×Ｌ／Ｓにより算出される。そこで、配線計画処理部１３は、図７Ｂに示されるように、抵抗値Ｒが許容抵抗値Ｒｏ以下である場合、上記の通過配線４０を正常通過配線４１とする。一方、抵抗値Ｒが許容抵抗値Ｒｏを超えている場合、上記の通過配線４０を違反通過配線４２とする。また、抵抗値Ｒについて、予め設定されているシート抵抗を用いて算出してもよい。この場合、重なり部分４０−２の長さをＬとし、重なり部分４０−２の幅（直径）をＷとし、シート抵抗をＲｓとした場合、抵抗値Ｒは、Ｒｓ×Ｌ／Ｗにより算出される。
【００４１】
上記の許容条件２３は、更に、許容本数を含んでいる。許容本数は、所定領域３１上に配置される通過配線４０の本数を制限するものであり、その許容本数をＩとする。ここで、Ｉは、１以上の整数であり、例えば、１≦Ｉ＜Ｎを満たす整数であるものとする。図８Ａに示されるように、配線計画処理部１３は、所定領域３１上に仮想的にＮ本の通過配線４０を１番目からＮ番目までこの順に配置する。そこで、配線計画処理部１３は、図８Ｂに示されるように、１番目からＩ番目までの通過配線４０を正常通過配線４１とする。一方、（Ｉ＋１）番目以降の通過配線４０を違反通過配線４２とする。
【００４２】
上記の許容条件２３は、更に、許容面積Ｑｏを含んでいる。図９Ａに示されるように、許容面積Ｑｏは、所定領域３１の面積をＱとしたとき、所定領域３１上に配置される通過配線４０の面積を制限するものであり、Ｑｏ＜Ｑであるものとする。それを面積比で表す場合はＱｏ／Ｑとなる。図９Ｂに示されるように、配線計画処理部１３は、所定領域３１上に仮想的にＮ本の通過配線４０を１番目からＮ番目までこの順に配置する。配線計画処理部１３は、所定領域３１上に仮想的に配置される通過配線４０の面積Ｑｉ及び本数によって決定される合計面積Ｑｔｏｔａｌを算出する。具体的には、配線計画処理部１３は、通過配線４０を、所定領域３１に対応する部分を表す重なり部分４０−２と、それ以外の部分４０−１、４０−３とに分け、その重なり部分４０−２の面積Ｑｉを算出する。ここで、重なり部分４０−２の長さをＬ｛例えば座標（Ｘ１＋Ｘａ）と座標（Ｘ１＋Ｘｂ）との直線距離（Ｘｂ−Ｘａ）｝とし、重なり部分４０−２の幅（直径）をＷとした場合、面積Ｑｉは、Ｗ×Ｌにより算出される。また、合計面積Ｑｔｏｔａｌは、数１により表される。そこで、配線計画処理部１３は、図９Ｃと数２に示されるように、合計面積Ｑｔｏｔａｌが許容面積Ｑｏ以下であるときの１番目からＫ番目までの通過配線４０を正常通過配線４１とする。ここで、Ｋは、１以上の整数であり、例えば、１≦Ｋ＜Ｎを満たす整数であるものとする。一方、図９Ｃと数３に示されるように、合計面積Ｑｔｏｔａｌが許容面積Ｑｏを超えたときの（Ｋ＋１）番目以降の通過配線４０を違反通過配線４２とする。
【００４３】
【数１】
2009015491.tif 000003
【数２】
2009015491.tif 000004
【数３】
2009015491.tif 000005
【００４４】
本発明の半導体集積回路のレイアウト設計方法では、設計者は、ハードマクロ３０内の所定領域３１に対して予め設定されている配線を許容するための許容条件２３をコンピュータ１のライブラリ２０に、又は、コマンドによってコンピュータ１に与えればよい。このとき、コンピュータ１は、配線計画処理（ステップＳ１０）において、半導体集積回路に配置される配線の中から、所定領域３１を通過する通過配線４０を検索し、配線処理（Ｓ４）において、上記検索された通過配線４０の中から、許容条件２３を満たす正常通過配線４１をハードマクロ３０上に通過させ、許容条件２３を満たさない違反通過配線４２をハードマクロ３０から迂回させて配線する。この場合、特開平１０−１０７１４９号公報や特開平１１−１４５２９６号公報に記載されている技術に比べて、設計者にかかる負担が軽減する。即ち、設計者は、全ての通過配線（ネット）に属性を与えたり、ハードマクロ内にバイパス配線を配置したりする必要はない。このように、本発明の半導体集積回路のレイアウト設計方法では、高集積化を実現し、ノイズの影響を受けにくい半導体集積回路を開発する際、設計者に負担がかからないように、半導体集積回路を設計することができる。
【００４５】
図１０は、図２の配線計画処理（ステップＳ１０）を示すフローチャートである。
【００４６】
配線計画処理（ステップＳ１０）では、配線計画処理部１３は、Ｎ本の通過配線４０の全てを仮想的に所定領域３１上に配置する計画を立案し、Ｎ本の通過配線４０の中に違反通過配線４２が存在する場合に計画を変更する。
【００４７】
まず、図１１Ａに示されるように、配線計画処理部１３は、１番目からＮ番目（Ｎは２以上の整数）までのＮ本の通過配線４０を仮想的に所定領域３１上に配置する計画を立案する（ステップＳ１１；第１配線計画処理）。
【００４８】
次に、配線計画処理部１３は、Ｎ本の通過配線４０の中に違反通過配線４２が存在するか否かを検索する（ステップＳ１２；検索処理）。
【００４９】
図１１Ｂに示されるように、Ｎ本の通過配線４０のうちのＭ本（ＭはＭ≦Ｎを満たす整数）の通過配線４０が違反通過配線４２である（ステップＳ１２−ＹＥＳ）。この場合、図１１Ｃに示されるように、配線計画処理部１３は、Ｎ本の通過配線４０からＭ本の通過配線４０を除いた（Ｎ−Ｍ）本の通過配線４０を仮想的にハードマクロ３０上に配置し、Ｍ本の通過配線４０を仮想的にハードマクロ３０から迂回させて配置する計画を立案する（ステップＳ１３；第２配線計画処理）。
【００５０】
次に、配線計画処理部１３は、上記の（Ｎ−Ｍ）本の通過配線４０をＮ本の通過配線４０とし（ステップＳ１４）、検索処理（ステップＳ１２）を再度実行する。
【００５１】
このとき、Ｎ本の通過配線４０の中に違反通過配線４２が存在する（ステップＳ１２−ＹＥＳ）。この場合、配線計画処理部１３は、第２配線計画処理（ステップＳ１３）を再度実行する。
【００５２】
一方、Ｎ本の通過配線４０の中に違反通過配線４２が存在しない（ステップＳ１２−ＮＯ）。この場合、上述の配線処理（ステップＳ４）が実行される。
【００５３】
（第２実施形態）
第２実施形態では、第１実施形態と重複する説明を省略する。
【００５４】
図１２は、本発明の第２実施形態による半導体集積回路のレイアウト設計方法を示し、コンピュータ１の動作を示すフローチャートである。
【００５５】
配線計画処理部１３は、前述の配線計画処理（ステップＳ１０）に代えて、配線計画処理（ステップＳ２０）を実行する。
【００５６】
図１３は、図１２の配線計画処理（ステップＳ２０）を示すフローチャートである。
【００５７】
配線計画処理（ステップＳ２０）では、配線計画処理部１３は、Ｎ本の通過配線４０を配置した後に違反通過配線４２が存在しないように、Ｎ本の通過配線４０を１本ずつ仮想的に所定領域３１上に配置する計画を立案する。
【００５８】
まず、図１４Ａに示されるように、配線計画処理部１３は、１番目からＮ番目（Ｎは２以上の整数）までのＮ本の通過配線４０の中から、ハードマクロ３０に迂回させると最も配線長が長い第Ｊ通過配線４０（Ｊは１≦Ｊ≦Ｎを満たす整数）を検索し、仮想的にハードマクロ３０上に配置する計画を立案する（ステップＳ２１；第１配線計画処理）。
【００５９】
次に、配線計画処理部１３は、第Ｊ通過配線４０が違反通過配線４２であるか否かを検索する（ステップＳ２２；検索処理）。
【００６０】
図１４Ｂに示されるように、第Ｊ通過配線４０が正常通過配線４１である（ステップＳ２２−ＮＯ）。この場合、配線計画処理部１３は、Ｎ本の通過配線４０から第Ｊ通過配線４０を除いた（Ｎ−１）本の通過配線４０をＮ本の通過配線４０とし（ステップＳ２３）、Ｎが０を表さないとき（ステップＳ２４−ＮＯ）、第１配線計画処理（ステップＳ２１）を再度実行する。
【００６１】
一方、図１４Ｃに示されるように、第Ｊ通過配線４０が違反通過配線４２である（ステップＳ２２−ＹＥＳ）。この場合、図１４Ｄに示されるように、配線計画処理部１３は、残りの通過配線４０であるＮ本の通過配線４０を仮想的にハードマクロ３０から迂回させて配置する計画を立案する（ステップＳ２５；第２配線計画処理）。
【００６２】
上述の第２配線計画処理（ステップＳ２５）が実行される。又は、Ｎが０を表している（Ｓ２４−ＹＥＳ）。この場合、上述の配線処理（ステップＳ４）が実行される。
【００６３】
（第３実施形態）
第３実施形態では、第１、２実施形態と重複する説明を省略する。
【００６４】
図１５は、本発明の第３実施形態による半導体集積回路のレイアウト設計方法を示し、コンピュータ１の動作を示すフローチャートである。
【００６５】
配線計画処理部１３は、前述の配線計画処理（ステップＳ１０）に代えて、配線計画処理（ステップＳ３０）を実行する。
【００６６】
図１６Ａ、図１６Ｂは、図１５の配線計画処理（ステップＳ３０）を示すフローチャートである。
【００６７】
配線計画処理（ステップＳ３０）では、配線計画処理部１３は、前述の配線計画処理（ステップＳ１０）と、前述の配線計画処理（ステップＳ２０）とを実行する。この場合、前述の配線計画処理（ステップＳ１０）のステップＳ１３として、前述の配線計画処理（ステップＳ２０）を実行する。これについて説明する。
【００６８】
まず、配線計画処理部１３は、１番目からＮ番目（Ｎは２以上の整数）までのＮ本の通過配線４０を仮想的に所定領域３１上に配置する計画を立案する（ステップＳ１１；第１配線計画処理）。
【００６９】
次に、配線計画処理部１３は、Ｎ本の通過配線４０の中に違反通過配線４２が存在するか否かを検索する（ステップＳ１２；第１検索処理）。
【００７０】
Ｎ本の通過配線４０のうちのＭ本（ＭはＭ≦Ｎを満たす整数）の通過配線４０が違反通過配線４２である（ステップＳ１２−ＹＥＳ）。この場合、配線計画処理部１３は、Ｎ本の通過配線４０からＭ本の通過配線４０を除いた（Ｎ−Ｍ）本の通過配線４０を仮想的に所定領域３１上に配置し、Ｍ本の通過配線４０を仮想的にハードマクロ３０から迂回させて配置する計画を立案する（ステップＳ１３；第２配線計画処理）。
【００７１】
第２配線計画処理（ステップＳ１３）では、配線計画処理部１３は、Ｍ本の通過配線４０の中から、ハードマクロ３０に迂回させると最も配線長が長い第Ｊ通過配線４０（Ｊは１≦Ｊ≦Ｍを満たす整数）を検索し、仮想的に所定領域３１上に配置する計画を立案する（ステップＳ２１；第３配線計画処理）。
【００７２】
次に、配線計画処理部１３は、第Ｊ通過配線４０が違反通過配線４２であるか否かを検索する（ステップＳ２２；第２検索処理）。
【００７３】
第Ｊ通過配線４０が正常通過配線４１である（ステップＳ２２−ＮＯ）。この場合、配線計画処理部１３は、Ｍ本の通過配線４０から第Ｊ通過配線４０を除いた（Ｍ−１）本の通過配線４０をＭ本の通過配線４０とし（ステップＳ２３）、Ｍが０を表さないとき（ステップＳ２４−ＮＯ）、第３配線計画処理（ステップＳ２１）を再度実行する。
【００７４】
一方、第Ｊ通過配線４０が違反通過配線４２である（ステップＳ２２−ＹＥＳ）。この場合、配線計画処理部１３は、Ｍ本の通過配線４０を仮想的にハードマクロ３０から迂回させて配置する計画を立案する（ステップＳ２５；第４配線計画処理）。
【００７５】
上述の第４配線計画処理（ステップＳ２５）が実行される。又は、Ｍが０を表している（Ｓ２４−ＹＥＳ）。この場合、配線計画処理部１３は、第１検索処理（ステップＳ１２）を再度実行する。
【００７６】
このとき、Ｎ本の通過配線４０の中に違反通過配線４２が存在する（ステップＳ１２−ＹＥＳ）。この場合、配線計画処理部１３は、第２配線計画処理（ステップＳ２１）を再度実行する。
【００７７】
一方、Ｎ本の通過配線４０の中に違反通過配線４２が存在しない（ステップＳ１２−ＮＯ）。この場合、上述の配線処理（ステップＳ４）が実行される。
【００７８】
以上の説明により、本発明の半導体集積回路のレイアウト設計方法では、高集積化を実現し、ノイズの影響を受けにくい半導体集積回路を開発する際、設計者に負担がかからないように、半導体集積回路を設計することができる。
【００７９】
その理由として、設計者は、ハードマクロ３０内の所定領域３１に対して予め設定されている配線を許容するための許容条件２３をコンピュータ１に与えておき、コンピュータ１は、配線計画処理（ステップＳ１０、Ｓ２０、Ｓ３０）において、半導体集積回路に配置される配線の中から、所定領域３１を通過する通過配線４０を検索し、配線処理（Ｓ４）において、上記検索された通過配線４０の中から、許容条件２３を満たす正常通過配線４１をハードマクロ３０上に通過させ、許容条件２３を満たさない違反通過配線４２をハードマクロ３０から迂回させて配線する。この場合、設計者は、許容条件２３をコンピュータ１のライブラリ２０に、又は、コマンドによってコンピュータ１に与えればよく、特開平１０−１０７１４９号公報や特開平１１−１４５２９６号公報に記載されている技術に比べて、設計者にかかる負担が軽減する。即ち、設計者は、全ての通過配線（ネット）に属性を与えたり、ハードマクロ内にバイパス配線を配置したりする必要はない。
【００８０】
上述の許容条件２３としては、許容容量値Ｃｏ、許容抵抗値Ｒｏ、許容本数、許容面積Ｑｏが例示される。
【００８１】
許容条件２３が許容容量値Ｃｏを含んでいる場合、違反通過配線４２は、所定領域３１上に仮想的に配置される通過配線４０と、ハードマクロ３０の配線とで形成されるカップリング容量を表す容量値Ｃが許容容量値Ｃｏを超えていることを表している。この場合、容量値Ｃとしては、通過配線４０の所定領域３１に対応する部分を表す重なり部分４０−２と、所定領域３１におけるハードマクロ３０の配線とで形成されるカップリング容量の値を算出することが好ましい。
【００８２】
許容条件２３が許容抵抗値Ｒｏを含んでいる場合、違反通過配線４２は、所定領域３１上に仮想的に配置される通過配線４０に生じる抵抗を表す抵抗値Ｒが許容抵抗値Ｒｏを超えていることを表している。この場合、抵抗値Ｒとしては、通過配線４０の所定領域３１に対応する部分を表す重なり部分４０−２に生じる抵抗の値を算出することが好ましい。
【００８３】
許容条件２３が許容本数を含み、その許容本数をＩ（Ｉは１以上の整数）とした場合、違反通過配線４２は、所定領域３１上に仮想的に配置される通過配線４０が（Ｉ＋１）番目以降の通過配線を表している。
【００８４】
許容条件２３が許容面積Ｑｏを含んでいる場合、正常通過配線４１は、所定領域３１上に仮想的に配置される通過配線４０の面積Ｑｉ及び本数によって決定される合計面積Ｑｔｏｔａｌが許容面積Ｑｏ以下であるときの１番目からＫ番目（Ｋは１以上の整数）までの通過配線４０を表している。この場合、違反通過配線４２は、合計面積Ｑｔｏｔａｌが許容面積Ｑｏを超えたときの（Ｋ＋１）番目以降の通過配線４０を表している。面積Ｑｉとしては、通過配線４０の所定領域３１に対応する部分を表す重なり部分４０−２の面積を算出することが好ましい。
【００８５】
配線計画処理（ステップＳ１０）では、コンピュータ１は、Ｎ本の通過配線４０の全てを仮想的に所定領域３１上に配置する計画を立案し、Ｎ本の通過配線４０の中に違反通過配線４２が存在する場合に計画を変更する。Ｎ本の通過配線４０の配線の順番を変えてもよい場合は、この配線計画処理（ステップＳ１０）を実行することが好ましい。
【００８６】
配線計画処理（ステップＳ２０）では、コンピュータ１は、Ｎ本の通過配線４０を配置した後に違反通過配線４２が存在しないように、Ｎ本の通過配線４０を１本ずつ仮想的に所定領域３１上に配置する計画を立案する。Ｎ本の通過配線４０の配線の順番を変えたくない場合は、この配線計画処理（ステップＳ２０）を実行することが好ましい。
【００８７】
配線計画処理（ステップＳ３０）では、コンピュータ１は、Ｎ本の通過配線４０の全てを仮想的に所定領域３１上に配置する計画を立案し、Ｎ本の通過配線４０の中に違反通過配線４２が存在する場合に計画を変更する。ここで、Ｎ本の通過配線４０の中にＭ本（ＭはＭ≦Ｎを満たす整数）の違反通過配線４２が存在する場合は、Ｍ本の通過配線４０を１本ずつ仮想的に所定領域３１上に配置する計画を立案する。このように、配線計画処理（ステップＳ１０）と配線計画処理（ステップＳ２０）とを実行することもできる。
【図面の簡単な説明】
【００８８】
【図１】図１は、本発明の半導体集積回路のレイアウト設計方法が適用される設計システムの構成を示している。
【図２】図２は、本発明の第１実施形態による半導体集積回路のレイアウト設計方法を示し、コンピュータ１の動作を示すフローチャートである。
【図３】図３は、図１の回路情報７を示している。
【図４】図４は、図１のライブラリ２０を示している。
【図５Ａ】図５Ａは、本発明を説明するための図である。
【図５Ｂ】図５Ｂは、本発明を説明するための図である。
【図６Ａ】図６Ａは、本発明を説明するための図である（許容条件２３が許容容量値Ｃｏを含んでいる場合）。
【図６Ｂ】図６Ｂは、本発明を説明するための図である（許容条件２３が許容容量値Ｃｏを含んでいる場合）。
【図７Ａ】図７Ａは、本発明を説明するための図である（許容条件２３が許容抵抗値Ｒｏを含んでいる場合）。
【図７Ｂ】図７Ｂは、本発明を説明するための図である（許容条件２３が許容抵抗値Ｒｏを含んでいる場合）。
【図８Ａ】図８Ａは、本発明を説明するための図である（許容条件２３が許容本数を含んでいる場合）。
【図８Ｂ】図８Ｂは、本発明を説明するための図である（許容条件２３が許容本数を含んでいる場合）。
【図９Ａ】図９Ａは、本発明を説明するための図である（許容条件２３が許容面積Ｑｏを含んでいる場合）。
【図９Ｂ】図９Ｂは、本発明を説明するための図である（許容条件２３が許容面積Ｑｏを含んでいる場合）。
【図９Ｃ】図９Ｃは、本発明を説明するための図である（許容条件２３が許容面積Ｑｏを含んでいる場合）。
【図１０】図１０は、図２の配線計画処理（ステップＳ１０）を示すフローチャートである。
【図１１Ａ】図１１Ａは、配線計画処理（ステップＳ１０）を説明するための図である。
【図１１Ｂ】図１１Ｂは、配線計画処理（ステップＳ１０）を説明するための図である。
【図１１Ｃ】図１１Ｃは、配線計画処理（ステップＳ１０）を説明するための図である。
【図１２】図１２は、本発明の第２実施形態による半導体集積回路のレイアウト設計方法を示し、コンピュータ１の動作を示すフローチャートである。
【図１３】図１３は、図１２の配線計画処理（ステップＳ２０）を示すフローチャートである。
【図１４Ａ】図１４Ａは、配線計画処理（ステップＳ２０）を説明するための図である。
【図１４Ｂ】図１４Ｂは、配線計画処理（ステップＳ２０）を説明するための図である。
【図１４Ｃ】図１４Ｃは、配線計画処理（ステップＳ２０）を説明するための図である。
【図１４Ｄ】図１４Ｄは、配線計画処理（ステップＳ２０）を説明するための図である。
【図１５】図１５は、本発明の第３実施形態による半導体集積回路のレイアウト設計方法を示し、コンピュータ１の動作を示すフローチャートである。
【図１６Ａ】図１６Ａは、図１５の配線計画処理（ステップＳ３０）を示すフローチャートである。
【図１６Ｂ】図１６Ｂは、図１５の配線計画処理（ステップＳ３０）を示すフローチャートである。
【符号の説明】
【００８９】
１    コンピュータ、
２    ＣＰＵ、
３    記憶部、
４    入力装置、
５    出力装置、
６    設計ツール、
７、８    回路情報、
１０    コンピュータプログラム、
１１    入力処理部、
１２    情報取得処理部、
１３    配線計画処理部、
１４    配線処理部、
１５    出力処理部、
２０    ライブラリ（ファイル）、
２１    関連情報、
２２    配線禁止領域（ＯＢＳ）情報、
２３    許容条件、
３０    ハードマクロ、
３１    所定領域、
４０    通過配線、
４０−２    重なり部分、
４１    正常通過配線、
４２    違反通過配線、
【図１】
2009015491.tif 000006
【図２】
2009015491.tif 000007
【図３】
2009015491.tif 000008
【図４】
2009015491.tif 000009
【図５Ａ】
2009015491.tif 000010
【図５Ｂ】
2009015491.tif 000011
【図６Ａ】
2009015491.tif 000012
【図６Ｂ】
2009015491.tif 000013
【図７Ａ】
2009015491.tif 000014
【図７Ｂ】
2009015491.tif 000015
【図８Ａ】
2009015491.tif 000016
【図８Ｂ】
2009015491.tif 000017
【図９Ａ】
2009015491.tif 000018
【図９Ｂ】
2009015491.tif 000019
【図９Ｃ】
2009015491.tif 000020
【図１０】
2009015491.tif 000021
【図１１Ａ】
2009015491.tif 000022
【図１１Ｂ】
2009015491.tif 000023
【図１１Ｃ】
2009015491.tif 000024
【図１２】
2009015491.tif 000025
【図１３】
2009015491.tif 000026
【図１４Ａ】
2009015491.tif 000027
【図１４Ｂ】
2009015491.tif 000028
【図１４Ｃ】
2009015491.tif 000029
【図１４Ｄ】
2009015491.tif 000030
【図１５】
2009015491.tif 000031
【図１６Ａ】
2009015491.tif 000032
【図１６Ｂ】
2009015491.tif 000033