(57)【特許請求の範囲】
【請求項１】
少なくとも１つのハードマクロを有する半導体集積回路の設計方法において、
前記ハードマクロを記述している配置配線用レイアウトデータであるライブラリの記述におけるハードマクロ内部の配置配線を禁止する領域である配置配線禁止領域の情報の定義部分を、前記ハードマクロ内部の実際の素子又はブロック及び配線が存在する使用領域を明示的に配置配線禁止領域として記述し、
前記ハードマクロ内部の前記実際の素子又はブロック及び配線が存在しない内部未使用領域を前記配置配線禁止領域の反対論理である配置配線可能領域として特に記述することなく暗示的に定義し、
配置配線の設計段階で配置配線ツールに前記ハードマクロの内部の前記未使用領域を前記ハードマクロに所属する前記実際の素子又はブロック以外の新規ブロック又は新規素子の配置領域として認識させることを特徴とする半導体集積回路の設計方法。
【請求項２】
前記暗示的に定義された前記ハードマクロの前記内部未使用領域が、前記配置配線ツールにより配置完了後の前記ハードマクロの外部に存在する既存のハードマクロ外部未使用領域と等価に扱われることを特徴とする請求項１記載の半導体集積回路の設計方法。
【請求項３】
少なくとも１つのハードマクロを有する半導体集積回路の設計方法において、
前記ハードマクロを記述している配置配線用レイアウトデータであるライブラリの記述におけるハードマクロ内部の配置配線を禁止する領域である配置配線禁止領域の情報の定義部分を、前記ハードマクロ内部の実際の素子又はブロック及び配線が存在する使用領域を明示的に配置配線禁止領域として記述し、
前記ハードマクロ内部の前記実際の素子又はブロック及び配線が存在しない内部未使用領域を前記配置配線禁止領域の反対論理である配置配線可能領域として特に記述することなく暗示的に定義し、
配置配線の設計段階で配置配線ツールに前記ハードマクロの内部の前記未使用領域を前記ハードマクロに所属する前記実際の素子又はブロック以外の新規ブロック又は新規素子の配置領域として認識させ、
前記ハードマクロの前記内部未使用領域が、前記内部未使用領域のサイズとその配置位置、及び前記ハードマクロ内部で複数個存在する場合の配置間隔（ピッチ）に関して一定の規則性が存在することを特徴とする半導体集積回路の設計方法。
【請求項４】
前記内部未使用領域のサイズが、信号中継用バッファであるリピータブロックを少なくとも１個を新規ブロックとして配置可能であることを特徴とする請求項３記載の半導体集積回路の設計方法。
【請求項５】
前記ハードマクロが回転配置又はミラー配置が可能な場合、前記ハードマクロが回転配置又はミラー配置されても前記ハードマクロの前記内部未使用領域の縦及び横のサイズが少なくとも１個の信号中継用バッファであるリピータブロックを十分配置可能であることを特徴とする請求項３記載の半導体集積回路の設計方法。
【請求項６】
少なくとも１つのハードマクロを有する半導体集積回路の設計方法において、
前記ハードマクロを記述している配置配線用レイアウトデータであるライブラリの記述におけるハードマクロ内部の配置配線を禁止する領域である配置配線禁止領域の情報の定義部分を、前記ハードマクロ内部の実際の素子又はブロック及び配線が存在する使用領域を明示的に配置配線禁止領域として記述し、
前記ハードマクロ内部の前記実際の素子又はブロック及び配線が存在しない内部未使用領域を前記配置配線禁止領域の反対論理である配置配線可能領域として特に記述することなく暗示的に定義し、
配置配線の設計段階で配置配線ツールに前記ハードマクロの内部の前記未使用領域を前記ハードマクロに所属する前記実際の素子又はブロック以外の新規ブロック又は新規素子の配置領域として認識させ、
信号遅延及び／又は減衰による信号の劣化及び／又はエレクトロマイグレーション／熱電子の影響を考慮した信号完全性に関連する配線の制限長を限界距離とし、
前記ハードマクロの外周部から内部に向かって最初に配置される前記内部未使用領域が前記ハードマクロの外周部から縦方向及び横方向のいずれの方向に対しても前記限界距離以内に配置され、
前記ハードマクロ内部の全ての前記内部未使用領域が、前記縦方向及び前記横方向のいずれの方向に対しても相互に前記限界距離以内で配置されることを特徴とする半導体集積回路の設計方法。
【請求項７】
前記ハードマクロの電源ラインから前記内部未使用領域に配置される前記新規ブロック又は新規素子への電源供給を行うよう構成することを特徴とする請求項１又は３又は６記載の半導体集積回路の設計方法。
【請求項８】
前記ハードマクロの縦方向及び横方向のいずれものサイズが前記限界距離以内のとき、複数の前記ハードマクロを組み合わせて配列することにより上位階層の機能ブロックである上位ハードマクロとして定義し、前記ハードマクロ内部の前記内部未使用領域が前記上位ハードマクロの縦方向及び横方向のいずれの方向に対しても相互に前記限界距離以内で配列されるよう構成することを特徴とする請求項６記載の半導体集積回路の設計方法。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は半導体集積回路の設計方法に関し、特に他の機能ブロックのための空き領域を内部に有するハードマクロを有する半導体集積回路の設計方法に関する。
【０００２】
【従来の技術】
近年、例えば、ＣＢＩＣ（Ｃｅｌｌ  Ｂａｓｅｄ  Ｉｎｔｅｇｒａｔｅｄ  Ｃｉｒｃｕｉｔ：セルベース集積回路）方式により設計された大規模半導体集積回路（ＬＳＩ）が広く用いられてきている。この種のＬＳＩは、一般にそれぞれが１つ又は複数の機能ブロックを含む複数のハードマクロから構成される。
【０００３】
一般に、マクロ上（内）部を通過する信号配線は、リピータの挿入なしに長い距離にわたって配線のみで信号が通過していくため波形が鈍り遅延が悪化することや、長配線によるチップ（ウェハ）製造過程、特に微細加工に起因する下記のような問題が存在していた。しかし、マクロ上部を通過する配線による信号遅延時間がチップのターゲット周波数に対して許容範囲内であったり、また、万一、配線の遅延時間が許容範囲外であったとしても、該当マクロの周辺をリピータを挿入しながら迂回することによりターゲット周波数を満足することが可能である。また、微細加工といってもアンテナ効果によるゲート絶縁膜破壊が起こらないような加工寸法であったりして、特に現実の問題としてすぐに解決しなければならないということには至らないらなかった。
【０００４】
しかし、近年、ＳＯＣ（システム・オン・チップ）が推進されるなか、従来は別チップとして用意されていた「機能ブロック」が同一チップ上に組み込まれる趨勢になってきている。これにより、より大きなハードマクロとなったり、同一チップ上に組み込まれることでより高速なターゲット周波数を要求されたり、アンテナ効果によるゲート絶縁膜破壊が問題となるような加工寸法になったりしている。従って、ただ単に大規模マクロの上部を自由に信号配線が通過することを許可していても、実際にはリピータを挿入しながら迂回したり、場合によってはハードマクロの形状自体を見直したりしなければならず、通過配線用に用意されたマクロ上部の配線領域は有効に利用できないのが実状である。
【０００５】
このことから、大規模ハードマクロの中にも該当ハードマクロと関係ない別機能のブロック、すなわち、リピータ（中継用バッファ）の挿入（配置）が可能であることが要求されている。
【０００６】
このような要求に応えらため、例えば、特開平０５−１６０２６６号公報記載の従来の半導体集積回路の設計方法は、予め予備素子を埋め込んでおき必要に応じてこの予備素子を使用することを提案している。
【０００７】
ただし、この従来技術の本来の目的は、製品開発過程で生じた変更に対して容易にかつ短期間で対処し得る半導体装置を実現することにあり、特に、開発が製造工程の実施段階に入ってしまった製品を出来る限り低コストで修正することを主眼とするものである。従って、製造工程前のチップ設計段階での修正に対しては対応していない。
【０００８】
従来の半導体集積回路の設計方法を適用したＬＳＩの一例を基板レイアウト図で示す図７を参照すると、この図に示すＬＳＩは基板１０１上に形成され各々が回路群から成るマクロである８個のモジュールＭ１０１〜Ｍ１０８と、配列した各モジュール間に発生した３箇所の空き領域に配置した所定の予備ゲートＲＧ１と、予備ユニットＲＵ１，ＲＵ２と、基板１０１の四辺に沿って形成した多数のボンディングパッドＰＡＤとを備える。
【０００９】
次に、図７を参照して、従来の半導体集積回路の設計方法の動作について説明すると、このＬＳＩは、いわゆるＣＢＩＣ方式により設計される。モジュールＭ１０１〜Ｍ１０８の各々は、予めモジュールライブラリに用意された標準的なモジュール又は予めセルライブラリに用意されたマクロセルを組み合わせて成るユーザモジュールにより構成し、内部バス（図示省略）を介して論理的に結合する。
【００１０】
モジュールＭ１０１〜Ｍ１０８は、その持つべき機能を最小の素子数とレイアウト面積及び配線長で実現すべく設計し、これらのモジュールのレイアウト及び結合配線は、コンピュータ支援設計（ＣＡＤ）を用いた自動配線配置設計システムにより行う。これにより、ＬＳＩの設計期間を短縮すると共に、ＬＳＩ全体としての素子数及び基板所要面積の削減並びに信号伝達遅延時間の短縮を図る。
【００１１】
このように、モジュールＭ１０１〜Ｍ１０８は、その機能を最小の素子数とレイアウト面積及び配線長で実現すべく設計され、確定した最適回路構成及び最適配置をもって固定的に形成される。このとき、モジュールＭ１０１〜Ｍ１０８のレイアウト形状は必然的に矩形となり、各モジュール間には、最適設計が行われたとしてもなおいくつか、この例では３箇所の空き領域が発生する。このため、これら３箇所の空き領域に予備ゲートＲＧ１と、予備ユニットＲＵ１，ＲＵ２を配置する。
【００１２】
製品開発の過程で何らかの変更が生じた場合、半導体基板の製作が終了した時点で、対応する結合配線をＦＩＢ（Ｆｏｃｕｓｅｄ  Ｉｏｎ  Ｂｅａｍ）又はレーザＣＶＤ（Ｃｈｅｍｉｃａｌ  Ｖａｐｏｒ  Ｄｅｐｏｓｉｔｉｏｎ）を用いて選択的に切断又は追加することにより選択的に有効とする。
【００１３】
上述したように、従来の半導体集積回路の設計方法は、予め、予備ゲートや予備ユニット等の予備素子をモジュール間の空き領域に配置して置くので、配置配線ツールや論理設計・検証ツールに「予備素子付きハードマクロ」という形で認識させておく必要がある。
【００１４】
その結果、予備素子を備えたマクロは予め予備素子を伴った形でモデル化されている必要があり、予備素子を使用した場合としなかった場合において細かく動作を規定しなければならず、ライブラリが煩雑化し、マクロ開発ＴＡＴが予想外に長引くこととなる。
【００１５】
また、最終的に未使用となった予備素子は必ず各端子を正しく処置（電源またはＧＮＤへ接続）する必要があり、処置し忘れるとＤＣ電流が流れたり、最悪の場合ラッチアップを起こす危険性がある。
【００１６】
また、予備素子使用の場合と不使用の場合とで該当マクロの本来の遅延情報や消費電流情報が変化する場合には、該当個所をリピータとして使用／不使用によりチップ全体のタイミングなどが変化してしまうために、チップ設計そのものがなかなか収束しないという欠点が存在する。
【００１７】
さらに、予備素子付きの該当マクロが階層設計の下層階層で使用された場合には、上位階層から予備素子が認識できない可能性も有る。
【００１８】
またさらに、最終的に予備素子が未使用でよかったのか、あるいはツールの問題で端子接続（処理）が正しく行えなかったのかなどの判断は人手を必要とするため、確認忘れ等のミスが混入したり、膨大な検証時間が必要になることが予想される。
【００１９】
さらに、予備素子付きマクロを各種設計ツールを正しく認識できるような設計フローを追加する必要があるため、既存の設計体系から大幅な変更を余儀なくされるという問題もある。
【００２０】
【発明が解決しようとする課題】
上述した従来の半導体集積回路の設計方法は、予め予備素子をモジュール間の空き領域に配置して置くので、配置配線ツールや論理設計・検証ツールに「予備素子付きハードマクロ」という形で認識させておく必要があるため、予備素子を備えたマクロは予め予備素子を伴った形でモデル化されている必要があり、予備素子を使用した場合としなかった場合において細かく動作を規定しなければならず、ライブラリが煩雑化し、マクロ開発ＴＡＴが予想外に長引くという欠点があった。
【００２１】
また、最終的に未使用となった予備素子は必ず各端子を正しく処置（電源またはＧＮＤへ接続）する必要があり、処置し忘れるとＤＣ電流が流れたり、最悪の場合ラッチアップを起こす危険性があるという欠点があった。
【００２２】
また、予備素子使用の場合と不使用の場合とで該当マクロの本来の遅延情報や消費電流情報が変化する場合には、該当個所をリピータとして使用／不使用によりチップ全体のタイミングなどが変化してしまうために、チップ設計そのものがなかなか収束しないという欠点があった。
【００２３】
さらに、予備素子付きの該当マクロが階層設計の下層階層で使用された場合には、上位階層から予備素子が認識できない可能性が有るという欠点があった。
【００２４】
またさらに、最終的に予備素子が未使用でよかったのか、あるいはツールの問題で、端子接続処理が正しく行えなかったのかなどの判断は人手を必要とするため、確認忘れ等のミスの混入や、膨大な検証時間の必要可能性を生じ得るという欠点があった。
【００２５】
さらに、予備素子付きマクロを各種設計ツールを正しく認識できるような設計フローを追加する必要があるため、既存の設計体系から大幅な変更を余儀なくされるという欠点があった。
【００２６】
本発明の目的は、従来の設計体系をそのまま踏襲可能な形でハードマクロ内部に別機能のブロックを配置することが可能な未使用領域、すなわち、素子及び配線が予め存在しない領域を、設計ツールに認識できる形のレイアウト情報として持つ半導体集積回路の設計方法を提供することにある。
【００２７】
【課題を解決するための手段】
請求項１記載の発明の半導体集積回路の設計方法は、少なくとも１つのハードマクロ（以下マクロ）を有する半導体集積回路の設計方法において、
前記マクロを記述している配置配線用レイアウトデータであるライブラリの記述におけるマクロ内部の配置配線を禁止する領域である配置配線禁止領域の情報の定義部分を、前記マクロ内部の実際の素子又はブロック及び配線が存在する使用領域を明示的に配置配線禁止領域として記述し、
前記マクロ内部の前記実際の素子又はブロック及び配線が存在しない内部未使用領域を前記配置配線禁止領域の反対論理である配置配線可能領域として特に記述することなく暗示的に定義し、
配置配線の設計段階で配置配線ツールに前記マクロの内部の前記未使用領域を前記マクロに所属する前記実際の素子又はブロック以外の新規ブロック又は新規素子の配置領域として認識させることを特徴とするものである。
【００２８】
また、請求項２記載の発明は、請求項１記載の半導体集積回路の設計方法において、
前記暗示的に定義された前記マクロの前記内部未使用領域が、前記配置配線ツールにより配置完了後の前記マクロの外部に存在する既存のマクロ外部未使用領域と等価に扱われることを特徴とするものである。
【００２９】
請求項３記載の発明の半導体集積回路の設計方法は、少なくとも１つのハードマクロ（以下マクロ）を有する半導体集積回路の設計方法において、前記マクロを記述している配置配線用レイアウトデータであるライブラリの記述におけるマクロ内部の配置配線を禁止する領域である配置配線禁止領域の情報の定義部分を、前記マクロ内部の実際の素子又はブロック及び配線が存在する使用領域を明示的に配置配線禁止領域として記述し、前記マクロ内部の前記実際の素子又はブロック及び配線が存在しない内部未使用領域を前記配置配線禁止領域の反対論理である配置配線可能領域として特に記述することなく暗示的に定義し、配置配線の設計段階で配置配線ツールに前記マクロの内部の前記未使用領域を前記マクロに所属する前記実際の素子又はブロック以外の新規ブロック又は新規素子の配置領域として認識させ、前記マクロの前記内部未使用領域が、前記内部未使用領域のサイズとその配置位置、及び前記マクロ内部で複数個存在する場合に配置間隔（ピッチ）に関して一定の規則性が存在することを特徴とするものである。
【００３０】
また、請求項４記載の発明は、請求項３記載の半導体集積回路の設計方法において、
前記内部未使用領域のサイズが、信号中継用バッファであるリピータブロックを少なくとも１個を新規ブロックとして配置可能であることを特徴とするものである。
【００３１】
また、請求項５記載の発明は、請求項３記載の半導体集積回路の設計方法において、
前記マクロが回転配置又はミラー配置が可能な場合、前記マクロが回転配置又はミラー配置されても前記マクロの前記内部未使用領域の縦及び横のサイズが少なくとも１個の信号中継用バッファであるリピータブロックを十分配置可能であることを特徴とするものである。
【００３２】
請求項６記載の発明の半導体集積回路の設計方法は、少なくとも１つのハードマクロ（以下マクロ）を有する半導体集積回路の設計方法において、
前記マクロを記述している配置配線用レイアウトデータであるライブラリの記述におけるマクロ内部の配置配線を禁止する領域である配置配線禁止領域の情報の定義部分を、前記マクロ内部の実際の素子又はブロック及び配線が存在する使用領域を明示的に配置配線禁止領域として記述し、
前記マクロ内部の前記実際の素子又はブロック及び配線が存在しない内部未使用領域を前記配置配線禁止領域の反対論理である配置配線可能領域として特に記述することなく暗示的に定義し、
配置配線の設計段階で配置配線ツールに前記マクロの内部の前記未使用領域を前記マクロに所属する前記実際の素子又はブロック以外の新規ブロック又は新規素子の配置領域として認識させ、
信号遅延及び／又は減衰による信号の劣化及び／又はエレクトロマイグレーション／熱電子の影響を考慮した信号完全性に関連する配線の制限長を限界距離とし、
前記マクロの外周部から内部に向かって最初に配置される前記内部未使用領域が前記マクロの外周部から縦方向及び横方向のいずれの方向に対しても前記限界距離以内に配置され、
前記マクロ内部の全ての前記内部未使用領域が、前記縦方向及び前記横方向のいずれの方向に対しても相互に前記限界距離以内で配置されることを特徴とするものである。
【００３３】
また、請求項７記載の発明は、請求項１又は３又は６記載の半導体集積回路の設計方法において、
前記マクロの電源ラインから前記内部未使用領域に配置される前記新規ブロック又は新規素子への電源供給を行うよう構成することを特徴とするものである。
【００３４】
また、請求項８記載の発明は、請求項６記載の半導体集積回路の設計方法において、前記マクロの縦方向及び横方向のいずれものサイズが前記限界距離以内のとき、複数の前記マクロを組み合わせて配列することにより上位階層の機能ブロックである上位マクロとして定義し、前記マクロ内部の前記内部未使用領域が前記上位マクロの縦方向及び横方向のいずれの方向に対しても相互に前記限界距離以内で配列されるよう構成することを特徴とするものである。
【００３５】
【発明の実施の形態】
次に、本発明の実施の形態について図面を参照して詳細に説明する。
【００３６】
本実施の形態の半導体集積回路の設計方法は、少なくとも１つのハードマクロ（以下マクロ）を有する半導体集積回路の設計方法において、上記マクロを記述している配置配線用レイアウトデータであるライブラリの記述におけるマクロ内部の配置配線を禁止する領域である配置配線禁止領域の情報の定義部分を、上記マクロ内部の実際の素子又はブロック及び配線が存在する使用領域を明示的に配置配線禁止領域として記述し、上記マクロ内部の上記実際の素子又はブロック及び配線が存在しない未使用領域を上記配置配線禁止領域の反対論理である配置配線可能領域として特に記述することなく暗示的に定義し、配置配線の設計段階で配置配線ツールに上記マクロの内部の上記未使用領域を上記マクロに所属する上記実際の素子又はブロック以外のブロック又は素子の配置領域として認識させることを特徴とするものである。
【００３７】
次に、本発明の実施の形態の設計方法を適用したハードマクロ（以下マクロ）の一例をレイアウト図で示す図１（Ａ）を参照すると、この図に示す本実施の形態の半導体集積回路の設計方法を適用したマクロは、点ａｂｃｄで囲まれた長方形（以下、長方形ａｂｃｄ等と呼ぶ）から成るマクロ全体であるマクロ１と、マクロ１の外部の何も配置されていない未使用領域２と、長方形ｅｆｇｈで囲まれ配置禁止を定義しなかった内部の未使用領域３とを有する。この中には素子や配線は存在せずにマクロ１外部の未使用領域２と同じ状態となっている。
【００３８】
マクロ１は、各々がマクロ１を分割し長方形ａｉｈｌ，ｉｂｊｅ，ｆｊｃｋ，及びｌｇｋｄで定義された使用領域部分であり新たなブロックの配置を禁止する配置禁止領域１１，１２，１３及び１４を有する。
【００３９】
ライブラリにおけるこのマクロ１の定義方法をプログラム記述で示す図１（Ｂ）を参照すると、マクロ１の定義全体を示す記述９００は、マクロ１のピン情報を定義した記述９０１と、マクロ１の禁止情報を定義した記述９０２とを有する。
【００４０】
記述９０２は、禁止情報の中でも特に配置禁止に関することを定義している部分である記述９０３を有する。
【００４１】
この様に明示的に配置禁止情報（領域）を定義した場合は、配置配線ツールが「配置禁止」を定義されなかった未使用領域を配置禁止領域の反対論理として暗示的に配置可能領域３として認識することになる。このようにして配置可能領域を定義できる。
【００４２】
なお、通常はハードマクロの内部に別のブロックを重複させて配置することは行わない（互いの素子・配線がショートしてしまうため）ので、明示的に配置禁止領域を定義していない場合は「マクロ全体が配置禁止である」と配置配線ツールが認識する。
【００４３】
図１（Ａ）の配置禁止領域に置かれるべきレイアウト情報や図１（Ｂ）のその他のレイアウト情報を定義する方法に関しては、当業者にとって周知であり、また本発明とは直接関係しないので、その詳細な構成については説明を省略する。
【００４４】
次に、図１（Ａ），（Ｂ）及び配置配線ツールが認識したマクロ１のレイアウト形状をレイアウト図で示す図２を参照して本実施の形態の動作について説明すると、まず、配置配線ツールは、図１（Ｂ）に示すような配置禁止情報が明示的に定義されたレイアウト形状を読み込むことで、配置禁止領域以外の領域、すなわち、配置禁止が定義されてない領域が「何も配置されていない未使用の領域である」と認識する。
【００４５】
一般に、配置配線ツールは、図１（Ｃ）に示すように、この未使用領域を、意図的にそれぞれ別機能ブロックであるマクロ１１Ａ，１２Ａ，１３Ａ，及び１４Ａを強制的に配置した場合に、まだ配置可能な領域として残っている空き領域である未使用領域３Ａと全く同一の未使用領域として認識するように設計されている。本実施の形態でも、配置配線ツールが上記想定の認識機能を有するものとする。
【００４６】
未使用領域２Ａは、マクロ１１Ａ，１２Ａ，１３Ａ，及び１４Ａの外部におけるまだ何も配置されていない未使用領域であり、未使用領域３Ａは、マクロ１１Ａ〜１４Ａで囲まれた未使用領域である。
【００４７】
次に、詳細配線の設計段階において、信号配線がマクロ１の上部を通過する必要が発生した場合、配置配線ツールがその配線の途中にリピータ（信号中継用バッファ）の挿入を必要とすると判断すれば、マクロ１の内部の未使用領域３に、マクロ１の外部の未使用領域２と全く同一方法でリピータを挿入し、チップ設計を行う。
【００４８】
これは未使用領域３には、最初から何も素子が存在しないため、通常の未使用領域２と全く同一であると配置配線ツールが解釈するからである。
【００４９】
このように、配置禁止定義を積極的に用いることで、逆に暗示的に配置可能領域を定義でき、それが特別な手法を用いなくとも配置配線ツールに配置可能領域として認識される。
【００５０】
配置配線ツールにとっては、マクロ１の内部の空き領域、すなわち未使用領域３はマクロ１の外部の通常の未使用領域２と全く等価なものとして扱われるため、マクロ１の内部の未使用領域２に必要に応じて後から別機能ブロックであるリピータなどの予備素子を配置できる。
【００５１】
この場合、マクロと予備素子は互いに独立した関係にあるため、設計フロー・設計ツールは従来通り全く変更する必要はない。
【００５２】
しかも、予備素子が予め存在しない故、予備素子が未使用である場合の処理やその検証は不要となる。
【００５３】
さらに、どの部分の予備素子を使ったのかによってチップ設計にフィードバックをかける必要はない。
【００５４】
次に、本発明の第２の実施の形態を特徴づけるマクロをレイアウト図で示す図２（Ａ），（Ｂ）を参照すると、この図に示す本実施の形態のマクロ１Ｂの前述の第１の実施の形態のマクロ１との相違点は、マクロ１Ｂの内部に暗示的に作られた複数の配置可能領域である未使用領域３００〜３０９，３１０〜３１９，・・・，３９１〜３９９を有することである。
【００５５】
図２（Ｂ）に示した未使用領域に配置対象とするリピータ４の寸法は、説明の便宜上、横×縦の各々を長さｃ，ｄとする。
【００５６】
また、信号完全性（Ｓｉｇｎａｌ  Ｉｎｔｅｇｒｉｔｙ）に関連する配線の制限長を距離Ａで表す。距離Ｂは０≦Ｂ＜Ａを満たす距離であり、ここではリピータ４の配置間隔（ピッチ）を示す。ここで、信号完全性に関連する配線の制限長とは、これ以上の配線長を用いた場合に信号遅延及び／又は減衰による信号の劣化や、ＥＭ（エレクトロマイグレーション）／ＨｏｔＥ（熱電子）の影響等により問題となる距離を意味する。
【００５７】
図２（Ａ）に示す、マクロ１Ｂの内部の未使用領域３００〜３０９，３１０〜３１９，・・・，３９１〜３９９の各々の寸法は、リピータ４が最低１つ以上配置できる大きさである。また、マクロ１Ｂの外周部からこのマクロの内側に向かって縦方向及び横方向とも最初に現れる未使用領域は必ず距離Ｂを満たす範囲で現れること、及び、全ての未使用領域は、互いに隣接し合う間隔が距離Ｂを満たすように準備されている。さらに、距離Ｂを満たす距離の基点は未使用領域内に配置されるであろうリピータ４の入出力端子の位置を想定して距離を算出したレイアウト構成となっている。
【００５８】
この時に、マクロ１の上部を信号配線が通過する場合には必ず未使用領域３００〜３９９の何れかにリピータ４を挿入（配置）しながら通過することが可能となる。
【００５９】
ここで、距離Ａは、Ｌ＝０．１５μｍのプロセスの世代では、遅延の観点からは３ｍｍ程度おきにリピータを挿入する必要があること、及び、ＥＭ（エレクトロマイグレーション）／ＨｏｔＥ（ホットエレクトロン）に関する制限からは、動作周波数にもよるが０．５ｐＦ（配線容量換算で２〜３ｍｍ）程度しか許容できそうも無いことが予測されている。このため、従来は、４〜５ｍｍ角規模のハードマクロが存在した場合には、このマクロ上は通過不可能となるためマクロの外周部を迂回せざるを得ないことが問題であったが、大規模なハードマクロ内部にリピータの配置可能な中継地点があることでマクロ上を信号が通過可能となる。
【００６０】
本実施の形態では、未使用領域、すなわち配置可能領域のサイズと間隔（ピッチ）に規則性を持たせたことで縦又は横方向どちらかの通過信号であっても必ずリピータによる中継を得ることが出来るため、速度劣化せず迂回による配線集中も起こらないという効果も出てくる。
【００６１】
次に、本発明の第３の実施の形態を特徴づけるマクロをレイアウト図で示す図３（Ａ），（Ｂ），（Ｃ）を参照すると、この図に示す本実施の形態のマクロ１Ｃの前述の第１の実施の形態のマクロ１との相違点は、このマクロ１Ｃが回転及びミラー配置可能であることである。
【００６２】
図３（Ａ）は、マクロ１Ｃを、図３（Ｂ）はマクロ１Ｃを９０度回転して配置したマクロ１ＣＡをそれぞれ示す。
【００６３】
マクロ１Ｃは未使用領域３１，３２を有し、マクロ１ＣＡは未使用領域３１，３２の９０度回転配置になった場合の未使用領域３１Ａ，３２Ａを有する。
【００６４】
図３（Ｃ）は、未使用領域３１、３２，３１Ａ，３２Ａに配置を予定しているリピータ４を示す。リピータ４の横と縦の大きさはｃ及びｄであり、かつ、ｄ＞ｃの関係にあるとする。
【００６５】
図３（Ａ）に上述した信号完全性に関連する配線の制限長である距離Ａと、０≦Ｂ＜Ａを満たすリピータ配置間隔（ピッチ）である距離Ｂを示す。
【００６６】
このときにリピータ４の配置可能な領域である未使用領域３１，３２，３１Ａ，３２Ａの縦及び横のサイズは、マクロ１Ｃが、どのように回転及びミラー配置されても必ずリピータ４が正しく配置できるように各辺がｄ以上の大きさで構成されていることが特徴である。
【００６７】
このことで、どのように配置されても問題なくリピータ４による中継を伴いながらマクロ１Ｃ上を信号配線が通過していくことが可能になる。
【００６８】
次に、本発明の第４の実施の形態を特徴づけるマクロをレイアウト図で示す図４（Ａ）を参照すると、この図に示す本実施の形態のマクロ１Ｄの前述の第１の実施の形態のマクロ１との相違点は、このマクロ１Ｄの内部の未使用領域３Ｄのに配置したブロックであるリピータ４Ｄに対する電源供給方法を具体的に示すため未使用領域３Ｄに電源を供給する２本の電源ライン５Ｄ，６Ｄを有することである。
【００６９】
ここで、説明の便宜上、マクロ１Ｄは例えばＩＰコアのようなセルの縦方向の長さ（以下Ｙ方向ピッチ）が一定の基本セルで構成されているものとする。従って、未使用領域３ＤのＹ方向ピッチもマクロ１Ｄの内部セルと同一となる。また、リピータ４ＤのＹ方向サイズはマクロ４Ｄの内部セルと同一とする。また、電源供給ライン５Ｄ，６ＤのＹ方向の配設間隔（Ｙ方向ピッチ）もマクロ１Ｄの内部セルと同一のＹ方向ピッチである。
【００７０】
この場合、電源ライン５Ｄ，６Ｄの各々の配設位置は、ＩＰコアであるマクロ１Ｄの内部の電源供給ラインと同一の配設位置であるため、これら電源ライン５Ｄ，６Ｄの位置に、未使用領域３Ｄのための電源供給端子を設ける。上述のように、マクロ１Ｄの内部セルのＹ方向ピッチと、未使用領域３ＤのＹ方向ピッチ及びその内部に配置されるリピータ４ＤのＹ方向ピッチが同一のため、問題なく、通常の未使用領域にセルを配置する場合と同様に、配置されたリピータ４Ｄに電源が供給されることになる。
【００７１】
このようにして特別な電源生成フローを伴うことなく、マクロ内部の未使用領域とそこへ配置されるリピータとの電源とが接続可能となる。
【００７２】
次に、本発明の第５の実施の形態を特徴づけるマクロをレイアウト図で示す図４（Ｂ）を参照すると、この図に示す本実施の形態のマクロ１Ｅの前述の第４の実施の形態のマクロ１Ｄとの相違点は、マクロ１ＥがＲＡＭマクロのような基本セルのＹ方向ピッチ（又は横（Ｘ）方向ピッチ：以下単にピッチ）で電源ラインが存在しないマクロであり、そのようなマクロ１Ｅの内部に未使用領域３Ｅを有し、その中にリピータ４Ｅを配置したことである。
【００７３】
この場合、電源供給のため、未使用領域３Ｅ内部に電源リングＬ５Ｅ，Ｌ６Ｅを設け、これら電源リングＬ５Ｅ，Ｌ６Ｅをマクロ１Ｅの電源ラインとは電源引出端子Ｔ５Ｅ，Ｔ６Ｅの各々でそれぞれ接続する。電源リングＬ５Ｅ，Ｌ６Ｅの内部にはこれら電源リングＬ５Ｅ，Ｌ６Ｅの各々に接続した電源ライン５Ｅ，６Ｅを備える。
【００７４】
この図に示すように電源ラインのピッチがリピータ４Ｅの電源端子のピッチと一致しない場合は、一旦、未使用領域３Ｅ内に電源リングＬ５Ｅ，Ｌ６Ｅを配設して、それらの電源リングＬ５Ｅ，Ｌ６Ｅからリング内部に向かって改めてリピータ４Ｅの電源端子のピッチに一致するように電源ライン５Ｅ，６Ｅを配設する。こうすることで、マクロ１Ｅ内部の電源ラインピッチに依存しなくても電源の供給が可能となる。
【００７５】
次に、本発明の第６の実施の形態を特徴づけるマクロをレイアウト図で示す図５を参照すると、この図に示す本実施の形態のマクロ１Ｆの前述の第４の実施の形態のマクロ１Ｄとの相違点は、未使用領域３Ｆに配置されたリピータ４Ｆ自身が直接マクロ１Ｆ上部を通過する電源ライン５Ｆ，６Ｆから未使用領域３Ｆ内部に設けた電源パッドＰ５Ｆ，Ｐ６Ｆ及び未使用領域３Ｆ内の電源ライン５Ｇ，６Ｇを経由して電源を供給されていることである。
【００７６】
未使用領域３Ｆの大きさが、マクロ１Ｆ上部の電源ライン５Ｆ，６Ｆへ接続するための電源パッドＰ５Ｆ，Ｐ６Ｆを独自に持てるくらいに大きい場合や、マクロ１Ｆ内部の電源と未使用領域３Ｆの電源を分離したい場合に用いる。
【００７７】
未使用領域３Ｆ内部に、電源パッドＰ５Ｆ，Ｐ６Ｆのような電源パッドを独自に配設可能な場合は、マクロ１Ｆ内部からの電源供給の手段を用いなくとも容易に上層の電源ラインへと接続可能となる。
【００７８】
このようにすることでマクロ内部のリピータへ別電源を供給可能となりマクロとリピータとが電源分離されるため電源ノイズの干渉を相互に受けないマクロを構築可能となる。
【００７９】
次に、本発明の第７の実施の形態をレイアウト図で示す図６を参照すると、この図に示す本実施の形態を特徴付ける上位の大規模ハードマクロであるマクロ１００は、下層のハードマクロであるマクロ１１１〜１２１を有する。
【００８０】
マクロ１１１〜１２１は、内部に未使用領域７００〜７２０を有する。Ｙ方向の最下部にでＸ方向に配列した未使用領域７００〜７０３と、Ｙ方向の下から２番目にＸ方向に配列した未使用領域７１０〜７１３と、Ｙ方向の最上部にＸ方向に配列した未使用領域７２０〜７２３とを有する。説明の便宜上、Ｘ，Ｙ各方向の配置間隔（ピッチ）はそれぞれ同一とする。
【００８１】
従って、この図の例では、未使用領域７００〜７０３，７１０〜７１３，７２０〜７２０は、各マクロ内に次のように配置される。
【００８２】
マクロ１１１は、内部に未使用領域７２０〜７２３を有し、マクロ１１２は内部に未使用領域７１０を有し、マクロ１１３は内部に未使用領域７００を有し、マクロ１１４は内部に未使用領域７１１、７０１を有し、マクロ１１５は未使用領域７０２を有し、マクロ１１６は内部に未使用領域７０３を有し、マクロ１１７は内部に未使用領域７１２を有し、マクロ１１８〜１２１は隣接して隙間なく配置され、マクロ１１８，１２１の内部に未使用領域を有せず、マクロ１１９とマクロ１２０の境界部内部に未使用領域７１３を有する。
【００８３】
マクロ１１１〜１２１の各々は、信号完全性に関連する配線の制限長に関しては問題とならないサイズであるが、階層設計によりそれらを組み合わせることでさらに上位のハードマクロが構築され、上記配線の制限長の問題を生じ得る場合がある。
【００８４】
ここで、説明の便宜上、マクロ１００のＸ方向及びＹ方向のサイズは上記配線の制限長である距離Ａより十分大きい（  Ａ）ものとし、下層のマクロ、代表としてマクロ１１３のＸ及びＹ方向のサイズは距離Ａより小さい（＜Ａ）ものとする。
【００８５】
この場合、マクロ１００から見た場合に未使用領域のサイズと配置ピッチが第２及び第３の実施の形態で説明した条件を満足するように未使用領域７００〜７０３，７１０〜７１３，７２０〜７２０を選択すれば良い。
【００８６】
このようにすれば、階層設計によって生成された大規模なモジュールの上も、問題なく信号配線が通過できるようになる。
【００８７】
以上本発明の実施の形態を述べたが、本発明は上記実施の形態に限られることなく種々の変形が可能である。例えば、内部の未使用領域に配置されるブロックはリピータに限らず、他の論理ブロックとすることも本発明の主旨を逸脱しない限り適用できることは勿論である。
【００８８】
【発明の効果】
以上説明したように、本発明の半導体集積回路の設計方法は、マクロを記述しているライブラリの記述におけるマクロ内部の配置配線を禁止する領域である配置配線禁止領域の情報の定義部分を、マクロ内部の実際のブロック等が存在する使用領域を明示的に配置配線禁止領域として記述し、上記マクロ内部の実際のブロック等が存在しない内部未使用領域を配置配線禁止領域の反対論理である配置配線可能領域として特に記述することなく暗示的に定義し、配置配線の設計段階で配置配線ツールに上記未使用領域を新規ブロック等の配置領域として認識させることにより、特別な手法を用いなくとも配置配線ツールに未使用領域として認識されるので、配置配線ツールはマクロ内部の未使用領域をマクロ外部の未使用領域と全く等価のものとして扱うため、マクロ内部の未使用領域に必要に応じて後から別機能ブロックである予備素子を配置できるという効果がある。
【００８９】
また、マクロと予備素子は互いに独立した関係にあるため、設計フロー・設計ツールは従来通り全く変更する必要はないという効果がある。
【００９０】
さらに、予備素子が予め存在しない故、予備素子が未使用である場合の処理やその検証は不要となるという効果がある。
【００９１】
またさらに、どの部分の予備素子を使ったのかによってチップ設計にフィードバックをかける必要はないので、設計期間の増加要因が除去され、短期間で設計できるという効果がある。
【図面の簡単な説明】
【図１】本発明の半導体集積回路の設計方法の第１の実施の形態を適用したマクロの一例を示すレイアウト図である。
【図２】本発明の半導体集積回路の設計方法の第２の実施の形態を特徴付けるマクロの一例を示すレイアウト図である。
【図３】本発明の半導体集積回路の設計方法の第３の実施の形態を特徴付けるマクロの一例を示すレイアウト図である。
【図４】本発明の半導体集積回路の設計方法の第３及び第５の実施の形態を特徴付けるマクロの一例をそれぞれ示すレイアウト図である。
【図５】本発明の半導体集積回路の設計方法の第６の実施の形態を特徴付けるマクロの一例を示すレイアウト図である。
【図６】本発明の半導体集積回路の設計方法の第７の実施の形態を特徴付けるマクロの一例を示すレイアウト図である。
【図７】従来の半導体集積回路の設計方法を適用したＬＳＩの一例を示すレイアウト図である。
【符号の説明】
１，１Ｂ，１Ｃ，１ＣＡ，１Ｄ，１Ｅ，１Ｆ，１１Ａ，１２Ａ，１３Ａ，１４Ａ，１００，１１１〜１２１    マクロ
２，３，２Ａ，３Ａ，３Ｅ、３Ｆ，３１，３２，３１Ａ，３２Ａ，３００〜３０９，３１０〜３１９，・・・，３９１〜３９９，７００〜７０３，７１０〜７１３，７２０〜７２３    未使用領域
４，４Ｄ，４Ｅ，４Ｆ    リピータ
５Ｄ，６Ｄ，５Ｅ，６Ｅ，５Ｆ，６Ｆ，５Ｇ，６Ｇ    電源ライン
１１〜１４    配置禁止領域
９００〜９０３    記述
Ｌ５Ｅ，Ｌ６Ｅ    電源リング
Ｐ５Ｆ，Ｐ６Ｆ    電源パッド
Ｔ５Ｅ，Ｔ６Ｅ    電源引出端子
【図１】
0003589995.tif 000002
【図２】
0003589995.tif 000003
【図３】
0003589995.tif 000004
【図４】
0003589995.tif 000005
【図５】
0003589995.tif 000006
【図６】
0003589995.tif 000007
【図７】
0003589995.tif 000008