(57)【特許請求の範囲】
【請求項１】
複数の内部回路ブロックと、前記複数の内部回路ブロックと外部とのインタフェースを行い、Ｘ方向またはＹ方向に互いに隣接配置された場合いずれの方向に対しても電源配線およびＧＮＤ配線が共通接続される複数の入出力バッファとを含む半導体集積回路の回路接続情報を生成する第１のステップと、
前記回路接続情報を基に前記複数の入出力バッファを電気的に独立した複数の電源に対応して複数の入出力バッファグループにグループ化する第２のステップと、
前記入出力バッファおよび前記内部回路ブロックの両方を区別せず、共通に半導体チップ上に配置するための配置グリッドを、前記半導体チップ全面に渡って設定する区画定義を行う第３のステップと、
前記入出力バッファグループを構成する前記複数の入出力バッファを互いに隣接するように前記配置グリッドに配置すると共に、前記複数の内部回路ブロックを前記配置グリッドに配置する第４のステップと、
前記各入出力バッファグループを構成する前記複数の入出力バッファに対する前記各入出力バッファ毎にそれぞれ独立した前記電源配線と前記ＧＮＤ配線と、前記内部回路ブロックに対する前記電源配線とＧＮＤ配線と、前記複数の内部回路ブロックおよび前記複数の入出力バッファ相互の配線とを行う第５のステップと、を備える半導体集積回路のレイアウト方法。
【請求項２】
前記入出力バッファグループは、前記半導体チップ上に形成され前記複数の入出力バッファと前記複数の内部回路ブロックとに電源を供給する電源用パッドに接続し、前記入出力バッファグループを構成する前記入出力バッファと隣接配置することにより、この入出力バッファと前記電源配線が共通接続される電源セルと、
前記半導体チップ上に形成され外部のＧＮＤ配線に接続するＧＮＤパッドに接続し、前記入出力バッファグループを構成する前記入出力バッファと隣接配置することにより、この入出力バッファと前記ＧＮＤ配線が共通接続されるＧＮＤセルと、
を少なくとも各１個備えることを特徴とする請求項１記載の半導体集積回路のレイアウト方法。
【請求項３】
前記入出力バッファは、第１の配線層からなる第１の電源配線および第１のＧＮＤ配線が、第１の方向に入出力バッファの外形を示すセル枠の両端を結ぶように配線され、第２の配線層からなる第２の電源配線および第２のＧＮＤ配線が、前記第１の方向と直交する第２の方向に前記セル枠の両端を結ぶように配線され、前記第１の電源配線と前記第２の電源配線が交差する箇所にスルーホールを設けて前記第１の電源配線と前記第２の電源配線とが電気的に接続され、前記第１のＧＮＤ配線と前記第２のＧＮＤ配線が交差する箇所に前記スルーホールを設けて前記第１のＧＮＤ配線と前記第２のＧＮＤ配線とが電気的に接続されることを特徴とする請求項１記載の半導体集積回路のレイアウト方法。
【請求項４】
前記入出力バッファグループを構成する前記複数の入出力バッファが、Ｌ字形、凹形、凸形、クランク形、または階段形のいずれかの形状に配置されることを特徴とする請求項１記載の半導体集積回路のレイアウト方法。
【請求項５】
複数の内部回路ブロックと、前記複数の内部回路ブロックと外部とのインタフェースを行い、Ｘ方向またはＹ方向に互いに隣接配置された場合いずれの方向に対しても電源配線およびＧＮＤ配線が共通接続される複数の入出力バッファとを含む半導体集積回路の回路接続情報を生成する第１のステップと、前記回路接続情報を基に前記複数の入出力バッファを電気的に独立した複数の電源に対応して複数の入出力バッファグループにグループ化する第２のステップと、前記半導体集積回路の概略的なチップ面積である初期チップ面積を算出する第３のステップと、前記初期チップ面積から算出した半導体チップである初期チップ上に、前記入出力バッファおよび前記内部回路ブロックの両方を区別せず共通に配置するための配置グリッドを、前記初期チップ全面に渡って設定する区画定義を行う第４のステップと、前記入出力バッファグループを構成する前記複数の入出力バッファを互いに隣接するように前記配置グリッドに配置すると共に、前記複数の内部回路ブロックを前記配置グリッドに配置する第５のステップと、前記各入出力バッファグループを構成する前記複数の入出力バッファに対する前記各入出力バッファ毎にそれぞれ独立した前記電源配線と前記ＧＮＤ配線と、前記内部回路ブロックに対する前記電源配線と前記ＧＮＤ配線と、前記複数の内部回路ブロックおよび前記複数の入出力バッファ相互の配線とを行う第６のステップと、前記第５のステップと前記第６のステップの各処理結果に基づき、前記半導体集積回路のタイミングシミュレーションを行い、得られたタイミングシミュレーション結果が所定のタイミング条件を満たすか否かを判定する第７のステップと、前記第７のステップで前記タイミングシミュレーション結果が所定のタイミング条件を満たさない場合、前記初期チップ面積を拡大した拡大チップ面積を算出する第８のステップと、前記第８のステップの処理結果により、前記拡大チップ面積から算出した半導体チップである拡大チップ上に、前記入出力バッファおよび前記内部回路ブロックの両方を区別せず共通に配置するための配置グリッドを、前記拡大チップ全面に渡って設定する区画定義を行う第９のステップと、前記第５のステップでの配置グリッドを前記第９のステップで得られた配置グリッドに変更して、前記第５のステップの処理を行う第１０のステップと、前記第１０のステップの処理結果である前記入出力バッファと前記内部回路ブロックの配置結果を基に、前記第６の処理を行う第１１のステップと、を備える半導体集積回路のレイアウト方法。
【請求項６】
前記第３のステップは、前記半導体チップ上に形成され外部との信号を入出力する信号パッド数を算出する第１２のステップと、前記半導体チップ上に形成され外部電源が印加される外部電源パッド数を算出する第１３のステップと、前記半導体チップ上に形成され前記半導体集積回路内部で生成される内部電源が印加される内部電源パッド数を算出する第１４のステップと、前記信号パッド数と前記外部電源パッド数と前記内部電源パッド数とを加算して、総パッド数を算出する第１５のステップと、前記総パッド数を前記半導体チップ上に敷き詰めた場合の面積である第１の面積を算出する第１６のステップと、前記内部回路ブロックの種類と前記種類毎の前記半導体チップへの前記回路ブロック搭載数より半導体チップの第２の面積を算出する第１７のステップと、前記第１の面積と前記第２の面積とを比較し、前記第１の面積が前記第２の面積よりも大きいか等しい場合は、前記第１の面積を前記初期チップ面積とし、前記第１の面積が前記第２の面積よりも小さい場合は、前記第２の面積を前記初期チップ面積とする第１８のステップと、を備える請求項５記載の半導体集積回路のレイアウト方法。
【請求項７】
前記第１の面積Ｓ１が、ｄを半田ボールピッチ、Ｎを前記総パッド数、αを面積の補正項として、次式
Ｓ１＝ｄ2×（平方根Ｎ−１）2＋α
で算出されることを特徴とする請求項６記載の半導体集積回路のレイアウト方法。
【請求項８】
前記第８のステップは、前記第７のステップにおいて前記タイミングシミュレーション結果が、前記所定のタイミング条件を満たさない場合に出力されるエラー情報を基に、タイミングエラーの数を算出する第１９のステップと、
前記タイミングエラーの数が１個の場合に前記半導体チップ上に設定する配線グリッドの増加割合を算出する第２０のステップと、
前記タイミングエラーの数と前記配線グリッドの増加割合とから、Ｘ方向とＹ方向へ前記半導体チップの各辺を伸張する長さを算出する第２０のステップと、を備える請求項５記載の半導体集積回路のレイアウト方法。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は半導体集積回路のレイアウト方法に関し、特に入力バッファおよび出力バッファ（以下入出力バッファと称す）をチップ内部領域に自由に配置することができる半導体集積回路のレイアウト方法に関する。
【０００２】
【従来の技術】
最近ウェハプロセスの微細化が急速に進むと共に、半導体チップを搭載した半導体パッケージの多ピン化も同時に進んでいる。このため、半導体チップの内部領域の面積が相対的に小さくなる一方、入出力バッファを配置し半導体チップの外周部を構成するＩ／Ｏ領域の面積が相対的に大きくなって、全体の半導体チップ面積がピン数で決定される場合が多数生じるようになってきた。
【０００３】
この問題を解決するための第１の従来技術を図１７を参照して説明すると、半導体チップ１７１上に多数の半田ボール１７２が搭載され、半田ボール１７２を介して半導体チップ内部領域１７３に配置された内部回路と基板（図示せず）上の半田ボールに各々対応する電極とが接続される。
【０００４】
半導体チップ内部領域１７３の外周部に配置された入出力バッファ１７４は、半導体チップ内部領域１７３に配置されたＮＡＮＤ回路、ＮＯＲ回路、フリップフロップ回路などのセル１７５Ａ〜１７５Ｃや、ＲＡＭブロック、ＲＯＭブロック、ＣＰＵなどのマクロセル１７５Ｄ〜１７５Ｆからの出力信号を増幅して半田ボール１７２に出力し、また半田ボール１７２から入力される信号を増幅して、セル１７５Ａ〜１７５Ｃまたは、マクロセル１７５Ｄ〜１７５Ｆに入力する。
【０００５】
この構造の半導体チップは、半田ボール１７２を半導体チップ１７１の全面にわたって配置することが出来るので、入出力バッファ１７４と外部リードとをボンディングワイヤで接続する半導体装置と比較して、ピン数が多くかつ相対的にチップ内部領域１７３の面積が小さい場合は、チップ面積を小さくすることが出来る。
【０００６】
しかしながら、ピン数がさらに増加しこれに伴って入出力バッファ１７４の数が図１７に示す例よりもさらに増加した場合は、入出力バッファ１７４が配置されたＩ／Ｏ領域がさらに拡大することになるので、チップ面積がチップ内部領域１７３に配置される回路規模によらず、ピン数から決定されることになり、チップ内部領域１７３の集積度、すなわち回路素子数／チップ面積が低下するという問題がある。
【０００７】
上記の問題を解決した第２の従来例が、フリップチップ型半導体装置の配置配線方法として特開平９−６９５６８号公報に記載されている。
【０００８】
次に図面を参照して、上記公報に記載されている第２の従来技術について説明する。
【０００９】
図１４は、第２の従来技術によるフリップチップ型半導体装置の配置配線方法を示すフローチャートであり、以下にこの図面を参照しながら説明する。
【００１０】
まず機能記述データ１１１は機能レベルシミュレーション（処理工程１１２）によって機能レベルの動作確認を終えた後、論理合成（処理工程１１３）によって回路ブロックを構成要素とする回路図データ１１４で具体化され、この回路図データによってチップサイズの算定（処理工程１１５）を行った後、入出力バッファおよび内部回路を構成するセルの双方を区別しない配置位置定義処理（処理工程１１６）をチップ面上に対して行う。
【００１１】
ここで内部回路とはＮＡＮＤ、ＮＯＲ、ＥＸ−ＯＲおよびフリップフロップなどの基本論理を機能にもつ多数のセル、またはＲＡＭ，ＲＯＭ，ＣＰＵなどのマクロセルから構成される回路を意味し、入出力バッファとは電源の供給や信号の入出力を行う機能をもつ回路を意味している。
【００１２】
これらの内部回路を構成するセルや入出力バッファは、それぞれの大きさが基本セルという配置上の最小区画の単位を基準にしてｘ方向およびｙ方向それぞれがその整数値で決められている。
【００１３】
そこで全回路を構成する各回路ブロックの基本セル数を加算し、さらにこれら回路ブロック間接続に必要な配線用領域や電源配線用領域など経験的に定められる必要面積量を加えてチップサイズ算定（処理工程１１５）を実行する。
【００１４】
ここで、基本セルを最小単位とする区画定義を行ったときの平面図を示した図１５を併せて参照すると、チップサイズが定まるとそのサイズに基づきチップ全面に前述した基本セルを最小単位とする区画定義（処理工程１１６）を行う。メッシュ状になる同区画１５５は、基本セルを単位とした直交座標を形成し、各種の内部ブロック１５３ａ〜１５３ｄと入出力バッファ１５２とは同区画１５５を最小単位として配置される。この区画定義がブロックの配置位置定義である。
【００１５】
すなわち入出力バッファの配置位置と内部回路を構成する回路ブロックの配置位置に区別がなく双方の回路ブロックを自由に配置できる点に特徴がある。
【００１６】
また上記工程１１５，１１６の処理フローとは別に、フロアプラン（処理工程１１７）の処理として、入出力バッファのグルーピングすなわちバッファ分割の処理が行われる（処理工程１１８）。
【００１７】
このグルーピングは、動作タイミングの整合性や、信号の相互干渉、半導体チップを実装する基板上の端子の位置関係、製造工程、テスト環境等々を考慮し、電気的に共通に接続する一対の電源（Ｖｄｄ）および接地（ＧＮＤ）に接続してよい入出力バッファのグループと、それとは電気的に分離独立した他のＶｄｄおよびＧＮＤ対に共通に接続すべき入出力バッファのグループとにグループ分けする。一対のＶｄｄおよびＧＮＤに接続可能であっても実装上の端子位置関係から別グループになることもある。
【００１８】
次に、入出力バッファおよび内部回路を構成する回路ブロックのフロアプランが行われる。この処理工程では、上記入出力バッファのグループ分け工程（処理工程１１８）の処理結果に従って、半導体チップ上のどの位置に入出力バッファを置くかを定める。
【００１９】
また同時に入出力バッファと内部回路とを合わせたＬＳＩ全体の中での信号伝播時間に対する制約、すなわちクリティカルパスに関わる回路ブロックの相対位置関係と、相互の信号干渉、ノイズ干渉、その他製造工程およびテスト上の諸制約などを考慮すると共に、メモリブロックなどのレイアウト面積の大きな回路ブロックを入出力バッファに対して好適な位置にバランスがとれるように考慮し、さらに自動配線処理時の配線障害を極力引き起こさないようにそれぞれ考慮して、回路ブロックの位置をそれぞれ定める（処理工程１１９，１２０）。
【００２０】
特に入出力バッファについては、上述したグループ分けに従い、それぞれのグループ内で入出力バッファが一列状に並ぶように配慮した概略配置をする（処理工程１１９）。
【００２１】
より厳密には、自動配線処理における配線敷設の主軸方向またはそれに直交する副軸方向のいずれかの方向に対して、入出力バッファが一列状に並ぶようにする。通常主軸方向および副軸方向は半導体チップの各辺に沿った直交する２つの方向に一致する。
【００２２】
ここで、入出力バッファを配置した一列状の矩形の長辺が、入出力バッファを配置することが可能なチップの一辺長（図１５のブロック配置位置定義領域１５４の縦又は横の全長）を上回ってしまうことがあり得る。その場合は、その１つの入出力バッファのグループをさらに細分化し、細分化されたグループについてそれぞれ一列状を保つように再配置をする。
【００２３】
フロアプラン（処理工程１１７）で配置位置を決定する回路ブロックとしては、入出力バッファおよび上述した諸配慮の対象となる内部回路を構成する回路ブロックであり、それ以外のものは、後の自動配置処理に委ねられる。なお、前述した配置位置定義（処理工程１１６）と同様、フロアプランでも入出力バッファと内部回路を構成する回路ブロックとの配置領域の区別はない。
【００２４】
上記に説明した処理により、図１４のフロアプラン（処理工程１１７）が終了する。
【００２５】
次の処理工程では、ＶｄｄおよびＧＮＤ端子を含めて一列状に配置した入・出力バッファブロックを１つのマクロとして扱うために必要な諸データの生成をするマクロデータ生成処理を行う（処理工程１２２）。
【００２６】
次にフロアプランデータに基づいてブロック間の信号配線長予測を行い、その電気的負荷量を用いて仮配線長シミュレーションを行う（処理工程１２３）。ここでＬＳＩ回路が期待通り動くかどうかチェックされ、不具合がある場合は、図１５には示されていないがその不具合が解消できる然るべき前工程にたち戻って修正を受けた後、再度動作確認を行う。
【００２７】
動作が確認されれば次に自動配置配線の処理工程１２４に入る。この工程では、前述したフロアプランで配置位置指定を受けた回路ブロック（より詳しくは、絶対位置指定とグルーピングとよばれる相対位置指定との２種類を含む）に加えて、その指定を受けていない残りの回路ブロックを加えた全ブロックの配置位置が確定し、その状態でブロック端子間の信号線に対して自動配線を行う。
【００２８】
ここでチップ内の実際の配線長が全て確定するので、その配線の電気的負荷量を考慮した、実配線長タイミングシミュレーションによる動作確認を行う（処理工程１２５）。不具合があれば然るべき前工程にたち戻り、最終的に動作が確認されるまで、必要な工程を繰り返す。
【００２９】
この後、今までの処理に使用されたシンボリックデータはマスク製作のためのマスクデータ１２６に変換され、マスク製作工程に入る。
【００３０】
以上が第２の従来技術によるフリップチップ型半導体装置の配置配線方法の設計フローである。
【００３１】
次に図１６を参照して、第２の従来技術によるフリップチップ型半導体装置の配置配線方法を用いて設計した半導体チップ１６０について説明する。
【００３２】
１６１Ａは、入出力バッファのうちで最小面積の入出力バッファであり、電流駆動能力は最も低い。１６１Ｂは、入出力バッファ１６１Ａを３個並列接続して構成した入出力バッファであり、中程度の電流駆動能力を有する。また、１６１Ｃは、入出力バッファ１６１Ａを６個並列接続して構成した入出力バッファであり、この例においては、電流駆動能力は最も大きい。
【００３３】
電源（Ｖｄｄ）配線１６２とＧＮＤ配線１６３は平行して各入出力バッファの内部を通過しており、これらの配線１６２，１６３により各グループを構成する入出力バッファに電流を供給する。
【００３４】
また、内部回路配置領域１６４Ａ〜１６４Ｄには、内部回路を構成する回路ブロックが配置される。図１６からわかるように、第２の従来技術によるフリップチップ型半導体装置の配置配線方法においては、入出力バッファが複数のグループ毎に、半導体チップ１６０の外周部だけでなく、内部領域に対しても一列状に配置される。
【００３５】
そして留意すべき点は、入出力バッファの配置方向と電源（Ｖｄｄ）配線１６２およびＧＮＤ配線１６３の方向とが同一であるという特徴がある。
【００３６】
【発明が解決しようとする課題】
上述した第１の従来技術による半導体集積回路のレイアウト方法は、ピン数が非常に多く、これに伴って半導体チップの外周部に配置される入出力バッファの数が多くなった場合は、入出力バッファが配置されるＩ／Ｏ領域の面積が内部回路が配置されるチップ内部領域の面積に対して相対的に大きくなり、チップ面積がチップ内部領域に配置される回路規模によらず、ピン数から決定されることになり、チップ内部領域の集積度、すなわち回路素子数／チップ面積が低下するという問題がある。
【００３７】
また、特開平９−６９５６８号公報記載のフリップチップ型半導体装置の配置配線方法の特徴は、入出力バッファをチップ内部領域に対しても配置することでＩ／Ｏ領域の面積を相対的に小さくし、Ｉ／Ｏ領域の面積とチップ内部領域の面積とのバランスをとって、半導体チップ全体に渡って集積度を均一化しているのが特徴である。
【００３８】
一方、最近急速に高速化が進んでいる半導体集積回路においては、タイミングマージンが極めて小さくなっており、配線容量による遅延が高速化の妨げになっている。
【００３９】
すなわち、入出力バッファとこれに接続する内部回路との配線長が長くなると配線遅延が大きくなり、配線遅延に対する制約条件を満足しないため、配線遅延を小さくするようにレイアウト設計を何回もやり直さなければならない。
【００４０】
上記公報記載のフリップチップ型半導体装置の配置配線方法においては、グループ化された入出力バッファを基本的に一列状に配置しなければなければならないという強い制約があるため、グループ化された入出力バッファと内部回路とを自由に配置することができない。特に１つのグループを構成する入出力バッファの数が多い場合は、入出力バッファを一列状に配置した配置領域の長さが長くなり、入出力バッファと内部回路とを接続する全ての配線について最小化を行うことが困難であり、配線遅延によるタイミングエラーを発生する可能性が高いという問題がある。
【００４１】
上述した内容を図１２（ａ）を参照してさらに詳しく説明すると、図１２（ａ）は、第２の従来例によるフリップチップ型半導体装置の配置配線方法における入出力バッファとセルまたはマクロセルとの相対的位置関係を示している。
【００４２】
図１２（ａ）において、１２１Ａ〜１２１Ｅは入出力バッファであり、１２２はセルまたはマクロセル、１２３Ａ〜１２４Ｅは、入出力バッファ１２１Ａ〜１２１Ｅとセルまたはマクロセル１２２とをそれぞれ接続する配線である。
【００４３】
従来のフリップチップ型半導体装置の配置配線方法では、入出力バッファを一列状にしか配置できないので、配線１２３Ｃを最小の長さにすると、配線１２３Ａ，１２３Ｅは長くなってしまう。このため、配線１２３Ａ，１２３Ｅに起因する配線遅延が大きくなり、タイミングエラーを発生しやすい。
【００４４】
さらに、上記に説明したタイミングエラーを解消するために、入出力バッファおよび内部回路を構成するセルまたはマクロセルの配置と配線を何回もやり直さなければならないため、設計期間が長期化するという問題がある。
【００４５】
このため本発明の目的は、複数の入出力バッファをグループ化して配置する入出力バッファグループ配置領域をチップ内部領域にも配置するだけでなく、入出力バッファグループ配置領域を、内部回路と入出力バッファグループ配置領域を構成する各入出力バッファとの各配線長が極力短くなるような形状にして配置することができる半導体集積回路のレイアウト方法を提供することにある。
【００４６】
また本発明の他の目的は、入出力バッファと内部回路とを接続する配線に起因する配線遅延によって、タイミングエラーを生じない半導体集積回路のレイアウト方法を提供することにある。
【００４７】
さらに本発明の他の目的は、入出力バッファと内部回路とを接続する配線に起因する配線遅延によってタイミングエラーを生じたとしても、少ないレイアウト修正回数でタイミングエラーを解消することが可能な半導体集積回路のレイアウト方法を提供することにある。
【００４８】
【課題を解決するための手段】
そのため、本発明による半導体集積回路のレイアウト方法は、複数の内部回路ブロックと、前記複数の内部回路ブロックと外部とのインタフェースを行い、Ｘ方向またはＹ方向に互いに隣接配置された場合いずれの方向に対しても電源配線およびＧＮＤ配線が共通接続される複数の入出力バッファとを含む半導体集積回路の回路接続情報を生成する第１のステップと、
前記回路接続情報を基に前記複数の入出力バッファを電気的に独立した複数の電源に対応して複数の入出力バッファグループにグループ化する第２のステップと、
前記入出力バッファおよび前記内部回路ブロックの両方を区別せず、共通に半導体チップ上に配置するための配置グリッドを、前記半導体チップ全面に渡って設定する区画定義を行う第３のステップと、
前記入出力バッファグループを構成する前記複数の入出力バッファを互いに隣接するように前記配置グリッドに配置すると共に、前記複数の内部回路ブロックを前記配置グリッドに配置する第４のステップと、
前記各入出力バッファグループを構成する前記複数の入出力バッファに対する前記各入出力バッファ毎にそれぞれ独立した前記電源配線と前記ＧＮＤ配線と、前記内部回路ブロックに対する前記電源配線とＧＮＤ配線と、前記複数の内部回路ブロックおよび前記複数の入出力バッファ相互の配線とを行う第５のステップと、を備えている。
【００４９】
【発明の実施の形態】
次に、本発明による半導体集積回路のレイアウト方法の第１の実施の形態について図面を参照して説明する。
【００５０】
まず初めに、本発明の半導体集積回路のレイアウト方法で用いる入出力バッファについて、図５を参照して説明する。図５は、本発明による入出力バッファのレイアウト図であり、５０１は入出力バッファのセル枠を表し、セル枠５０１上に設けたリファレンス点５０７を基準点として、入出力バッファを配置する。
【００５１】
また、５０２は入出力バッファを構成するトランジスタ（図示せず）に電流を供給する上層、例えば６層目のアルミ配線からなるＶＤＤ配線であり、Ｘ方向に配置されている。同様に、５０４は下層、例えば５層目のアルミ配線からなるＶＤＤ配線であり、Ｙ方向に配置されている。
【００５２】
また５０３は、入出力バッファを構成する各トランジスタに接続する上層、例えば６層目のアルミ配線からなるＧＮＤ配線でありＸ方向に配置されており、同様に５０５は下層、例えば５層目のアルミ配線からなるＧＮＤ配線であり、Ｙ方向に配置されている。また５０６Ａは、上層のＶＤＤ配線５０２と下層のＶＤＤ配線５０４とを接続するスルーホールであり、５０６Ｂは、上層のＧＮＤ配線５０３と下層のＧＮＤ配線５０５とを接続するスルーホールである。
【００５３】
このような構成をとることにより、入出力バッファをＸ方向またはＹ方向に隣接して配置した場合、互いに隣接した入出力バッファの各ＶＤＤ配線、各ＧＮＤ配線は、セル枠５０１上で互いに接続する。例えば、入出力バッファをＸ方向にに隣接して配置した場合、隣接した入出力バッファを構成するＶＤＤ配線５０２は、セル枠５０１上で互いに接続し、同様に隣接した入出力バッファを構成するＧＮＤ配線５０３は、セル枠５０１上で互いに接続する。Ｙ方向に同様に、隣接した入出力バッファを構成するＶＤＤ配線およびＧＮＤ配線は、セル枠５０１上で互いに接続する。
【００５４】
従って、同一グループ内に属する複数の入出力バッファをＸ方向またはＹ方向に隣接して配置することにより、同一グループを構成する入出力バッファのＶＤＤ配線およびＧＮＤ配線は、自動的に接続される。
【００５５】
次に、図６を参照して本発明による入出力バッファを用いてレイアウトした半導体チップ６０１について説明する。図６に示すように、入出力バッファ配置領域６０２Ａ，６０２Ｂ，６０２Ｃは様々な形状にすることができる。すなわち、入出力バッファ配置領域６０２Ａは、最小面積の単位入出力バッファから構成され、入出力バッファ配置領域６０２Ｂは、４個の単位入出力バッファから構成され凸状の形状をしている。
【００５６】
また、入出力バッファ配置領域６０２Ｃは、６個の単位入出力バッファから構成されＬ字型の形状をしている。このように、本発明による半導体集積回路のレイアウト方法は、凸形、Ｌ字形、凸形、クランク形、階段形など種々の形状を有する入出力バッファ配置領域が単位入出力バッファから構成され、かつ同一入出力バッファ配置領域を構成する各単位入出力バッファのＶＤＤ配線およびＧＮＤ配線は、それぞれ自動的に共通接続されるという特徴がある。
【００５７】
次に図１に示すフローチャートを参照して、本発明の導体集積回路のレイアウト方法について説明する。図中の太枠及び点線で囲まれた処理ステップが、図１４で述べた第２の従来例によるフリップチップ型半導体装置の配置配線方法と異なる処理である。
【００５８】
最初にステップＳ１１で、半導体集積回路（ＬＳＩ）に要求される仕様を満たすように、ＶＨＤＬ等を用いてＬＳＩの機能を記述し、機能記述データ１１を出力する。
【００５９】
次にステップＳ１２において、ステップＳ１１で生成した機能記述データ１１に対して、機能レベルでのシミュレーションを実行し、機能レベルでの動作検証を行う。そして、この動作検証の結果が要求仕様を満足するまで、機能記述データ１１を修正する。
【００６０】
続いてステップＳ１３で、機能レベルシミュレーションの検証が満足した機能記述データ１１を用いて論理合成を行い、回路ブロックを構成要素とする回路接続情報１２を生成する。
【００６１】
次に回路図接続情報１２を参照して、ステップＳ１５においてチップ面積が確定していない初期段階で概略的なチップ面積を表す初期チップ面積を算出する。図２は、ステップＳ１５の詳細フローを示すフローチャートであり、図２を参照してステップＳ１５の処理について詳細に説明する。
【００６２】
初めに、回路接続情報１２に含まれるピン情報２２を参照して、ステップＳ２１で、外部端子である入力信号ピンまたは出力信号ピンに対応して半導体チップ上に形成されたパッド数、すなわち信号パッド数（Ｎ１）を算出し、ステップＳ２２で外部電源に対応して半導体チップ上に形成されたパッド数、すなわち外部電源パッド数（Ｎ２）を算出し、ステップＳ２３で内部電源に接続する内部電源のパッド数、すなわち内部電源パッド数（Ｎ３）を算出し、ステップＳ２４で、これら信号パッド数（Ｎ１）と外部電源パッド数（Ｎ２）と内部電源パッド数（Ｎ３）とを加算して、総パッド数（Ｎ）を算出する。
【００６３】
ここで内部電源パッドとは、外部電源を昇圧または降圧して生成した内部電源をウェハース段階で、電圧チェック等をするために用いるパッドである。
【００６４】
次に、半田ボールピッチ情報２１に格納されている半田ボールピッチｄと、ステップＳ２４で算出された総パッド数を参照して、信号パッドと外部電源パッドと内部電源パッドの全てのパッドとを、半導体チップ上に敷き詰めた場合の面積Ｓ１を次の（１）式により計算する。
【００６５】
Ｓ１＝ｄ２×（平方根Ｎ−１）２＋α        ・・・（１）
ここで第１項の（平方根Ｎ−１）は、正方形に上記全てのパッドを敷き詰めた場合に、一辺がピッチｄにより分割される数を示している。また、ｄは半田ボールピッチであるが、パッドのピッチと実質上一致する。
【００６６】
次に、セルの種類とセル毎の半導体チップへの搭載数を格納するセル情報２３と、セル使用率を格納するセル使用率情報２４とを参照して、ステップＳ２６で面積Ｓ２を次の（２）式により算出する。
【００６７】
Ｓ２＝セル総面積÷セル使用率＋β        ・・・（２）
ここでセル総面積は、半導体チップ上に配置されるセルの面積の総和であり、セル使用率とは、一般に半導体チップの面積をセル総面積で除した値であり、配線総数、設計の難易度、設計期間など種々の要素を考慮した経験式から算出される。
【００６８】
また（１），（２）式でα，βは面積の補正項であり、半導体チップの辺の長さを区画定義の整数倍にするように補正する。図７を参照して説明すると、半導体チップ７１上に半田ボール７３がマトリックス状に配置され、また半導体チップ７１は区画定義７２を単位として構成される。このとき、半導体チップ７１の辺の長さが区画定義７２の整数倍となるように、補正項α，βに対応する補正領域７４を設ける。
【００６９】
次にステップＳ２７で面積Ｓ１と面積Ｓ２とを比較し、面積Ｓ１が面積Ｓ２よりも大きいか等しい場合は、ステップＳ２８で初期チップ面積Ｓを面積Ｓ１とし、面積Ｓ１が面積Ｓ２よりも小さい場合は、ステップＳ２９で初期チップ面積Ｓを面積Ｓ２とする。すなわち、面積Ｓ１，Ｓ２の大きい方の面積を初期チップ面積とする。
【００７０】
例えば、総パッド数Ｎを１２０、半田ボールのピッチｄ＝１ｍｍとした場合、（１）式により、Ｓ１＝１・９９．１＋αとなり、補正項αを０．９とすることによりＳ１＝１００ｍｍ２（１０ｍｍ□）を得る。
【００７１】
上記のようにして求めた初期チップ面積Ｓから、Ｓ＝ａ×ｂとなる初期チップの辺の長さを算出する。
【００７２】
次に図１のステップＳ１６の処理に進み、図７に示すように、入出力バッファおよび内部回路を構成する回路ブロックの双方の配置領域、配置グリッドを区別しない区画定義７２を初期チップ７１の全面にわたって設定する。
【００７３】
またステップＳ１７において、入出力バッファと内部回路を構成する回路ブロックに対する種々の配置条件が格納されている配置制限データ１３を参照して、ステップＳ１７１の入出力バッファのグループ化を行い、次にステップＳ１７２の入出力バッファ別の概略配置および配置制限データ１３により指定された特定の内部回路ブロックの概略配置を行い、ステップＳ１７３で、入出力バッファと配置制限データ１３により指定された特定の内部回路ブロックの配置位置を細かく微調整する。
【００７４】
なお、指定された特定の内部回路ブロック以外の内部回路ブロックは、後で説明するステップ３０で自動配置が行われる。
【００７５】
最初にステップＳ１７１における入出力バッファのグルーピングをより具体的に説明すると、回路接続情報１２を参照して回路接続情報１２に含まれる全ての入出力バッファを複数のグループにグループ化する。
【００７６】
このグループ化は、動作タイミングの整合性や、信号の相互干渉、チップを実装する基板上の端子の位置関係、製造工程、テスト環境等の配置制限データ１３を考慮して行う。
【００７７】
また、その際各グループには必ず各グループを構成する入出力バッファに電源を供給する電源セルと、各入出力バッファのＧＮＤ配線に接続するＧＮＤセルとを必要な数だけ設けておく。すなわち、各グループの電源配線とＧＮＤ配線は、基本的にはグループ毎にそれぞれ独立している。
【００７８】
次にステップＳ１７２およびステップＳ１７３で、入出力バッファと配置制限データ１３により指定された特定の回路ブロックの半導体チップ上における概略配置を行う。このとき、クリティカルパス、信号間のクロストーク、ノイズが信号線に飛び込んで生じる誤動作、テストをする際の諸制約、面積が大きいマクロセルと入出力バッファとの配置位置のバランスなどに関連する配置制限データ１３を考慮して、これらの条件を満たすように各入出力バッファの配置と、内部回路を構成する特定の回路ブロックの配置、および各入出力バッファと特定の回路ブロックの相対的な配置を行う。
【００７９】
例えば最近ＡＳＩＣにおいては、高速のＡ／Ｄコンバータ、Ｄ／Ａコンバータ、ＰＬＬ回路などを搭載することが多くなってきているが、これらのアナログ回路は、ノイズに関して極めて敏感である。
【００８０】
しかしながら、ディジタル回路の高速化に伴ってノイズが有するノイズ電力は増加し、上記アナログ回路へのノイズは混入しやすくなってきている。そのため、ノイズを発生する回路ブロックとアナログ回路とをどの様に配置し、アナログ回路の特性が劣化しないようにするかは極めて重要である。
【００８１】
上記のステップＳ１７２，Ｓ１７３で第２の従来例によるフリップチップ型半導体装置の配置配線方法とは異なり、図６に示すように、入出力バッファ配置領域６０２Ａ，６０２Ｂ，６０２Ｃを様々な形状にすることができる。すなわち、第２の従来例では、入出力バッファ配置領域を基本的には一列状にしか配置できず大きな配置上の制約となるが、本発明による入出力バッファを用いることにより、最小面積の矩形状の単位入出力バッファ、凸状の形状を有する入出力バッファ、Ｌ字型の形状を有する入出力バッファなど種々の形状を有する入出力バッファ配置領域を構成することが出来、かつ同一入出力バッファ配置領域を構成する各単位入出力バッファのＶＤＤ配線およびＧＮＤ配線は、それぞれ自動的に共通接続される。
【００８２】
これにより、上記に述べたクリティカルパス、信号間のクロストーク、ノイズが信号線に飛び込んで生じる誤動作、テストをする際の諸制約、面積が大きいマクロセルと入出力バッファとの配置位置のバランスなどに関連する様々な条件を考慮して各入出力バッファの配置と、内部回路を構成する特定の回路ブロックの配置、および各入出力バッファと特定の回路ブロックの相対的な配置を行うことが可能である。
【００８３】
上述した内容を図１２（ｂ）を参照してさらに詳しく説明すると、図１２（ｂ）は本発明による入出力バッファを用いた場合の入出力バッファとセルまたはマクロセルとの相対的位置関係について示している。
【００８４】
図１２（ｂ）において、１２１Ａ’〜１２１Ｅ’は本発明による入出力バッファであり、１２３Ａ’〜１２４Ｅ’は、入出力バッファ１２１Ａ’〜１２１Ｅ’とセルまたはマクロセル１２２とをそれぞれ接続する配線である。
【００８５】
本発明による入出力バッファ１２１Ａ’〜１２１Ｅ’は、図１２（ｂ）に示すようにコの字形に配置可能なので、セルまたはマクロセル１２２を取り囲むように入出力バッファ１２１Ａ’〜１２１Ｅ’を配置することが出来る。
【００８６】
このため、配線１２３Ａ’〜１２４Ｅ’の長さを、図１２（ａ）に示す第２の従来例によるフリップチップ型半導体装置の配置配線方法の場合に比して均等化することが出来る。従って、本発明による入出力バッファ１２１Ａ’〜１２１Ｅ’を用いて半導体集積回路のレイアウトを行った場合、タイミングエラーが発生しにくいという特徴がある。
【００８７】
なお、説明を容易にするためにフロアプラン内部の手順に順番があるようにして説明したが、実際にはその時々の設計対象によっていろいろな段取りが考えられ、手順の前後関係に関しては必ずしも上記の説明に従う必要はない。
【００８８】
次にステップＳ１８において、特定の内部ブロック以外の内部ブロックの自動配置〜実配線によるタイミング検証までを行うが、図３を参照してこの処理ステップを詳細に説明する。
【００８９】
最初に、ステップ３０で配置制限データ１３により指定された特定の内部回路ブロック以外の内部回路ブロックの自動配置を行い、この配置データとステップＳ１７３で生成された入出力バッファと特定の内部回路ブロックの配置データとから、入出力バッファを含む全ての回路ブロックの配置データ３１を生成する。
【００９０】
次にステップＳ３１で、配置データ３１を参照して各回路ブロック間の配線長を予測し、この予測した配線長を用いて配線の配線容量を算出し、仮配線によるタイミング検証を行う。すなわち、仮配線によりタイミングシミュレーションを行い、この結果をエラー情報として出力する。
【００９１】
上記の結果タイミング条件を満足すればステップＳ３２で、入出力バッファおよび内部回路ブロックを含む全ての回路ブロックの詳細配置と、この詳細配置を基にした詳細配線とを計算機を用いて自動で行い、配置・配線データ３２を生成する。
【００９２】
また、ステップＳ３１でタイミング条件が満足されないと判定された場合は、ステップＳ１７３で配置された入出力バッファと特定の内部回路ブロック、またはステップＳ３０で配置された特定の内部回路以外の回路ブロックに対して、ステップＳ３３でこれらの配置の一部または全部をタイミング条件を満たすように配置変更することにより、その結果がタイミング条件を満たすか否かを判定し、配置の変更によりタイミング条件を満足すると判定された場合は、ステップＳ３４で配置を修正し配置データ３１をこの修正した新しい配置データに更新する。
【００９３】
次にステップＳ３５で、配置・配線データ３２を参照して各回路ブロック間の実配線長を抽出し、この抽出した実配線長を用いて配線の配線容量を算出し、実配線によるタイミング検証を行う。すなわち、実配線によりタイミングシミュレーションを行い、この結果をエラー情報として出力する。そして、タイミングを満足すると判定された場合、上記の処理で用いられたシンボリックなレイアウトデータは、マスク制作のためのアートワークデータに全て変換され、マスク制作のためのデータとなる。
【００９４】
また、上記の処理ステップＳ３５で、タイミングを満足しないと判定された場合、ステップＳ３６で配置・配線データ３２を構成する配線をタイミング条件を満たすように変更することにより、その結果としてタイミングを満足するか否かが判定され、各回路ブロック間の配線の一部または全部を変更することにより、タイミングを満足するように変更可能と判定された場合、ステップＳ３７で配線変更を行い配置・配線データ３２を構成する配線データをこの修正した新しい配線データに更新する。
【００９５】
また、ステップＳ３３で入出力バッファおよび内部回路ブロックの配置を変更しても、タイミング条件を満たさないと判定された場合は、図１のステップＳ１９でチップ面積を拡大した拡大チップ面積を算出する。
【００９６】
次にステップＳ１９のチップ面積拡大の処理フローについて、図４を参照して詳細に説明する。
【００９７】
初めにステップＳ４１で、仮配線によるタイミングシミュレーションまたは実配線によるタイミングシミュレーションでのエラー情報より、タイミングエラーを生じたエラー数Ｋを算出する。
【００９８】
次にステップＳ４２で、配線グリッドの増加率ｇを決定する。ここで、配線グリッドの増加率ｇは、元の配線グリッド数に対して増加する配線グリッド数の割合であり、例えば、１００の配線グリッドに対して３つ配線グリッドを増加させた場合、配線グリッドの増加率ｇは３％となる。
【００９９】
次にステップＳ４３において、ステップＳ４２で算出した配線グリッドの増加率ｇと配線グリッドの間隔Ｄとから配線グリッド拡大率γを次の（３）式から算出する。
【０１００】
γ＝ｇ・Ｄ（μｍ）            ・・・（３）
次にステップＳ４４で、ステップＳ４１で算出したエラー数Ｋと、（１）式で算出した配線グリッド拡大率γより、Ｘ軸方向およびＹ軸方向へ半導体チップの一辺を、次の（４）式から算出されるΔＸおよびΔＹだけ拡大する。
【０１０１】
ΔＸ＝ΔＹ＝（Ｋ÷２）×γ（μｍ）          ・・・・（４）
すなわち、エラー数Ｋに応じて、Ｘ軸方向およびＹ軸方向の辺の長さを等しく長くする。
【０１０２】
なお上記の説明において、半導体チップの辺の長さをエラー数Ｋに応じて、Ｘ軸方向およびＹ軸方向に均等に長くしたが、これに限らず、Ｘ軸方向とＹ軸方向とで辺を伸張する比率を変えても良い。
【０１０３】
次にステップＳ４５で、半田ボール間隔Ｈ（μｍ）が格納されている半田ボール間隔情報４０１と、ステップＳ４４で算出されたＸ軸方向およびＹ軸方向の半導体チップの辺の拡大長ΔＸ，ΔＹが、半田ボール間隔Ｈを越えているか否かを判定し、拡大長ΔＸ，ΔＹが半田ボール間隔Ｈを越えていれば、ステップＳ４６でΔＸ（＝ΔＹ）／Ｈを整数に丸め込んだ値だけ半田ボールの数をＸ軸方向およびＹ軸方向にそれぞれ増加し、拡大長ΔＸ，ΔＹが半田ボール間隔Ｈを越えていなければ、半田ボールを追加しない。
【０１０４】
次にステップＳ４５、ステップＳ４６の処理を行った後、図１に示す処理ステップＳ１６を実行する。すなわち、入出力バッファおよび内部回路を構成する回路ブロックの双方を区別しない区画定義を、ステップＳ４５とステップＳ４６の結果を受けて拡大チップ面積から求めた拡大チップ上で更新し、この更新された区画定義を基にして、ステップＳ１７２で入出力バッファおよび内部回路を構成する特定の回路ブロックの概略配置を行う。
【０１０５】
こうして、上記に説明した処理フローをタイミングエラーが全て解消するまで繰り返し実行し、全てのタイミングエラーが解消したときに、そのときのチップ面積を最終的な半導体集積回路のチップ面積として確定する。
【０１０６】
すなわち、本発明による半導体集積回路のレイアウト方法により、ステップＳ１５での初期チップ面積を算出する際は、極力チップ面積が小さくなるように設定し、その後ステップＳ４４でタイミングエラーを発生したエラーの数に応じてチップ面積を拡大することにより、不必要にチップ面積を大きくすることなく、かつタイミング条件を満足する半導体集積回路を設計することが可能である。
【０１０７】
次に、上記に説明した本発明による半導体集積回路のレイアウト方法を用いて設計した場合に、チップ面積が具体的にどの程度縮小化されるかを具体的に説明する。
【０１０８】
例として図１１（ａ），（ｂ）に示すように、外部ピン数の総計が４００ピン、セル使用率が２０％、入出力バッファの面積が５０μｍ×５００μｍの場合、図１１（ａ）に示す従来の半導体集積回路のレイアウト方法では、半導体チップの辺の長さは、５０μｍ×１００ピン＋５００μｍ×２＝６ｍｍとなる。但し、上辺、下辺、左辺、右辺にそれぞれ１００ピンずつ分配されるとした。従って、従来の半導体集積回路のレイアウト方法によるチップ面積は、６ｍｍ×６ｍｍ＝３６ｍｍ２となる。
【０１０９】
一方、本発明による半導体集積回路のレイアウト方法では、チップ内部領域の面積５ｍｍ×５ｍｍ＝２５ｍｍ２の２０％が、内部回路を構成する全ての回路ブロックを配置する面積となり、この面積２５ｍｍ２×０．２＝５ｍｍ２と、入出力バッファ４００個分の面積、すなわち５０μｍ×５００μｍ×４００＝１０ｍｍ２を加算した面積、５ｍｍ２＋１０ｍｍ２＝１５ｍｍ２がチップ面積となる。
【０１１０】
従って、１５ｍｍ２÷３６ｍｍ２＝０．４２となり、本発明による半導体集積回路のレイアウト方法を用いた場合、大幅にチップ面積を縮小することが出来る。
【０１１１】
また図５に示す本発明による入出力バッファを用いることにより、図６に示すように入出力バッファ領域の形状を種々の形状にすることができる。これにより、タイミング条件を満たすように、入出力バッファ配置領域の形状および入出力バッファの配置を決定することが出来るので、タイミング条件を満たすような回路ブロックの再配置の処理および回路ブロック間の再配線の処理を繰り返す回数が少なくなり設計期間全体を短縮することが出来る。
【０１１２】
次に図８，９を参照して本発明による半導体集積回路のレイアウト方法を用いて設計した半導体チップ８０１について説明する。
【０１１３】
図８は、半導体チップ８０１の平面構造を概念的に説明するための図であり、半導体チップ８０１の全面に半田ボール８０３が、同一半田ボールピッチで配置され、本発明による入出力バッファが配置領域８０４Ａ，８０４Ｂ，８０４Ｃに配置されている。また、内部回路を構成するセル８０５Ａ，８０５Ｂとマクロセル８０５Ｃ，８０５Ｄとが配置されている。図８の点線部Ａの領域を拡大して示したのが図９であり、次に図９を参照して説明する。
【０１１４】
９０１Ａ，９０１Ｂは、内部電源（Ｖｉ）用パッドであり、９０２Ａ，９０２Ｂは、内部ＧＮＤ（Ｇｉ）用パッドであり、９０３Ａ〜９０３Ｄは、信号用パッドであり、９０４Ａ，９０４Ｂは、外部電源（Ｖ）用パッドであり、９０５Ａ，９０５Ｂは、外部ＧＮＤ（Ｇ）用パッドである。
【０１１５】
また９１０Ａ〜９１０Ｆは、本発明による入出力バッファであり、９１１Ａ〜９１１Ｆは、入出力バッファ９１０Ａ〜９１０Ｆと信号用パッド９０３Ａ〜９０３Ｄおよび外部電源（Ｖ）用パッド９０４Ａ、外部ＧＮＤ（Ｇ）用パッド９０５Ａとをそれぞれ接続する配線である。
【０１１６】
同様に、９２０Ａ〜９２０Ｄは、本発明による入出力バッファであり、９２１Ａ〜９２１Ｄは、入出力バッファ９２０Ａ〜９２０Ｄと信号用パッド（記載せず）および外部電源（Ｖ）用パッド９０４Ｂ、外部ＧＮＤ（Ｇ）用パッド９０５Ｂとをそれぞれ接続する配線である。
【０１１７】
また、９３０Ａ〜９３０Ｄは、セルまたはマクロセルを表している。
【０１１８】
次に、入出力バッファ９１０Ａ〜９１０Ｆ，９２０Ａ〜９２０Ｄを中心にもう少し詳しくレイアウトについて説明する。
【０１１９】
９１０Ｃは電源用セルを構成し、外部電源（Ｖ）用パッド９０４Ａと配線９１１Ｃを介して接続し、また入出力バッファ９１０Ａ，９１０Ｅとは隣接して接しているので、これらの各入出力バッファ９１０Ａ，９１０Ｅの各電源配線と自動的に電源配線が接続する。このため、これらの入出力バッファ９１０Ａ，９１０Ｅおよびこれらの入出力バッファ９１０Ａ，９１０Ｅに隣接する入出力バッファ９１０Ｂ，９１０Ｆには、外部電源（Ｖ）用パッド９０４Ａから電源用セル９１０Ｃを介して電流が供給される。
【０１２０】
同様に、９１０ＤはＧＮＤ用セルを構成し、外部ＧＮＤ（Ｇ）用パッド９０５Ａと配線９１１Ｄを介して接続し、また入出力バッファ９１０Ｂ，９１０Ｆとは隣接して接しているので、これらの各入出力バッファ９１０Ｂ，９１０Ｆの各ＧＮＤ配線と自動的にＧＮＤ配線が接続する。このため、これらの入出力バッファ９１０Ｂ，９１０Ｆおよびこれらの入出力バッファ９１０Ｂ，９１０Ｆに隣接する入出力バッファ９１０Ａ，９１０Ｅから、外部ＧＮＤ（Ｇ）用パッド９０５Ａに対してＧＮＤ用セル９１０Ｄを介して電流が流れる。
【０１２１】
入出力バッファ９１０Ａは、信号用パッド９０３Ａと配線９１１Ａを介して接続しており、信号用パッド９０３Ａに印加される信号を増幅してセル９３０Ｃに入力する。
【０１２２】
また、入出力バッファ９１０Ｅは、信号用パッド９０３Ｂと配線９１１Ｅを介して接続しており、マクロセル９３０Ｄから出力される信号を増幅して信号用パッド９０３Ｂに出力する。
【０１２３】
このように、入出力バッファ９１０Ａ〜９１０Ｆは、一つのグループを構成し、このグループには電源セル９１０ＣとＧＮＤセル９１０Ｄとを含んで、グループを構成する各入出力バッファ９１０Ａ〜９１０Ｆに電源を供給する。
【０１２４】
入出力バッファ９２０Ａ〜９２０Ｄから構成されるグループについても、上記のレイアウト構造と基本的には同様であるが、入出力バッファ配置領域の形状は、Ｌ字形としている。この理由は、入出力バッファ９２０Ｄに接続する信号用パッドが、入出力バッファ９２０Ｄの右の方にあり、入出力バッファ９２０Ｂに接続する信号用パッドが、入出力バッファ９２０Ｂの下の方にあるため、配線９２１Ｂ，９２１Ｄを共に短くするためである。
【０１２５】
次に図１０を参照して、本発明による半導体集積回路のレイアウト方法の途中工程における半導体チップのレイアウトについて説明する。
【０１２６】
図１０（ａ）は、図１のステップＳ１５で算出した初期チップ面積を基にして、初期チップ１０１に半田ボール１０２を初期チップ１０１の全面に渡って配置したレイアウトを示している。
【０１２７】
次に図１０（ｂ）は、図１のステップＳ１７２で入出力バッファ１１０Ａ〜１１０Ｄと、内部回路を構成する特定の回路ブロック１２０Ａ〜１２０Ｃとを配置した場合のレイアウトを示している。
【０１２８】
次に図１０（ｃ）は、図１のステップＳ１８における仮配線によるタイミング検証または実配線によるタイミング検証の結果、タイミングエラーが発生し、このタイミングエラー数に応じて、ステップＳ１９でチップ面積を拡大した様子を示している。ここで１０３は、拡大した半導体チップを示している。
【０１２９】
また、拡大した領域には、半田ボール１０５を全面に配置しているが、必ずしも半田ボール１０５を配置する必要はない。しかしながら、半田ボール１０５を用いることにより、入出力バッファの配置の自由度にさらに向上する。
【０１３０】
次に図面を参照して、本発明による半導体集積回路のレイアウト方法の第２の実施の形態について説明する。
【０１３１】
本発明による半導体集積回路のレイアウト方法の第１の実施の形態では、図４のステップＳ４１でタイミングエラーが半導体チップ上のどの位置で発生したかを問題とせず、タイミングエラーを生じた数を算出し、ステップＳ４４でタイミングエラー数に比例した距離だけ、Ｘ軸方向へΔＸ、Ｙ軸方向へΔＹだけ半導体チップを伸張したが、第２の実施の形態では、ステップＳ４１に代わるステップＳ４１’で、シミュレーション結果からエラーを生じたノードとこのノードに対応するレイアウトデータとから、タイミングエラーを発生した位置を算出し、ステップＳ４４に代わるステップＳ４４’でタイミングエラーが発生した位置から半導体チップの外側に向かって、半導体チップを拡大する。
【０１３２】
次に図１３を参照して、上記に説明した内容についてより具体的に説明する。
【０１３３】
図１３（ａ）は、ステップＳ４１’で初期チップ１３１上に２箇所、すなわち１３３Ａ，１３３Ｂの位置にタイミングエラーを検出したことを示している。１３２は、初期チップ１３１の中心位置であり、１３４Ａ〜１３４Ｅはセルまたはマクロセルを示している。
【０１３４】
続いてステップＳ４４’において、位置１３３Ａから外側に向かって初期チップ１３１を拡大する。次にステップＳ１６で、入出力バッファ、内部回路を構成する回路ブロックの双方を区別しない区画定義を拡大した領域に対しても行う。
【０１３５】
図１３（ｂ）において、１３５Ａ，１３６Ａは、それぞれ位置１３３Ａを通るＹ軸方向およびＸ軸方向の直線であり、配線グリッド分だけ、すなわちＸ軸方向にはｄ２、ｙ軸方向にはｄ１だけこれらの直線１３５Ａの左側および直線１３６Ａの上側を移動する。ここで、ｄ１はＹ軸方向の配線グリッドであり、ｄ２はＸ軸方向の配線グリッドであり、１３５’，１３６Ａ’は直線１３５，１３６Ａが配線グリッド分だけ移動した後の直線を表している。
【０１３６】
この結果、セル１３４Ａは、左方向に距離ｄ２、上方向に向かって距離ｄ１だけ移動する。また、セル１３４Ｂは、上方向に向かって距離ｄ１だけ移動する。
【０１３７】
同様に、ステップＳ４４’において、位置１３３Ｂから外側に向かって初期チップ１３１を拡大する。続いてステップＳ１６で、入出力バッファ、内部回路を構成する回路ブロックの双方を区別しない区画定義を拡大した領域に対しても行う。
【０１３８】
１３５Ｂ，１３６Ｂは、それぞれ位置１３３Ｂを通るＹ軸方向およびＸ軸方向の直線であり、配線グリッド分だけ、すなわちＸ軸方向にはｄ２、ｙ軸方向にはｄ１だけ拡大する。この結果、セル１３４Ｄは、右方向に距離ｄ２だけ移動する。また、セル１３４Ｅは、下方向に向かって距離ｄ１だけ移動する。
【０１３９】
また、マクロセル１３４Ｃは初期チップを拡大しても、タイミングエラーを生じた位置１３３Ａ，１３３Ｂの内側に位置するので移動しない。
【０１４０】
次に、図１のステップＳ１７２，１７３で、入出力バッファおよび特定の内部回路ブロックの概略配置を行った後、ステップＳ１８で仮配線によるタイミング検証または実配線によるタイミング検証を行うが、このタイミング検証の結果、位置１３３Ａに対応するタイミングエラーが解消し、位置１３３Ｂに対応するタイミングエラーが解消しなかった場合、図１３（ｃ）に示すように、位置１３３Ｂに対してさらに配線グリッドだけ拡大する。すなわち、直線１３５Ｂから右側を右方向に対して２配線グリッド分移動し、直線１３６Ｂから下側を下方向に対して２配線グリッド分移動する。
【０１４１】
このように、全てのタイミングエラーが解消するまで、タイミングエラーを生じた位置から外側に向かって半導体チップ、すなわち区画定義を順次最小単位の距離で拡大し、入出力バッファおよび内部回路ブロックの再配置および再配線を行う。そして、全てのタイミングエラーが解消したときに、そのときのチップ面積を最終的な半導体集積回路のチップ面積として確定する。
【０１４２】
上記に説明した第２の実施の形態による半導体集積回路のレイアウト方法は、タイミングエラーが発生した位置を検出し、その検出位置の外側に向かって区画定義の領域を拡大するので、第１の実施の形態による半導体集積回路のレイアウト方法よりも、拡大した区画定義の領域を用いて効率良く、入出力バッファおよび内部回路ブロックの再配置および再配線を実行することが出来、第１の実施の形態による半導体集積回路のレイアウト方法を用いた場合よりも、さらにレイアウトの繰り返し回数が少なくなることにより設計期間が短縮するばかりでなく、半導体チップの面積も小さくすることが出来る。
【０１４３】
なお上記の説明においては、フリップチップ構成の半導体チップについて主として述べたが、フリップチップに限らず、ボンディングワイヤで外部ピンと半導体チップ上に形成したパッドとを接続するタイプの半導体集積回路に対しても適用可能である。
【０１４４】
また図５において、ＶＤＤ配線またはＧＮＤ配線をＸ方向またはＹ方向にセル枠の左端から右端まで、または上端から下端までを直線的に配置した場合について説明したが、必ずしもこの配線方法に限定されるものではなく、ＶＤＤ配線およびＧＮＤ配線のセル枠上での位置および配線層が、各入出力バッファで共通になっていることが重要である。この条件を満たしていれば、グループを構成する各入出力バッファをＸ方向またはＹ方向に隣接することにより、グループを構成する各入出力バッファのＶＤＤ配線とＧＮＤ配線とを共通接続することが出来る。
【０１４５】
また図９において、一つのグループに一つの電源セルと一つのＧＮＤセルを含む場合について説明したが、一つのグループに２個以上の電源セルとＧＮＤセルを設ける場合についても容易に拡張可能である。この場合は、電流供給能力を強化することができる。
【０１４６】
【発明の効果】
以上説明したように、本発明の第１の実施の形態による半導体集積回路のレイアウト方法は、初期チップ面積を算出する際は、極力チップ面積が小さくなるように設定し、その後タイミングエラーを発生したエラーの数に応じてチップ面積を拡大することにより、不必要にチップ面積を大きくすることなく、かつタイミング条件を満足する半導体集積回路を設計することが可能である。
【０１４７】
また、本発明の第２の実施の形態による半導体集積回路のレイアウト方法は、タイミングエラーを発生した位置を検出し、その検出位置の外側に向かって区画定義の領域を拡大するので、第１の実施の形態による半導体集積回路のレイアウト方法よりも、拡大した区画定義の領域を用いて効率良く、入出力バッファおよび内部回路ブロックの再配置および再配線を実行することが出来、第１の実施の形態による半導体集積回路のレイアウト方法を用いた場合よりも、さらにレイアウトの繰り返し回数がすくなることにより設計期間が短縮するばかりでなく、半導体チップの面積も小さくすることが出来る。
【０１４８】
また本発明による入出力バッファを用いることにより、入出力バッファ領域の形状を種々の形状にすることができる。これにより、タイミング条件を満たすように、入出力バッファ配置領域の形状および入出力バッファの配置を決定することが出来るので、タイミング条件を満たすような入出力バッファおよび内部回路ブロックの再配置の処理および回路ブロック間の再配線の処理を繰り返す回数が少なくなり設計期間全体を短縮することが出来る。
【図面の簡単な説明】
【図１】本発明の半導体集積回路のレイアウト方法の実施の形態を示すフローチャートである。
【図２】初期チップ面積を算出する図１のステップＳ１５における詳細を説明するためのフローチャートである。
【図３】図１のステップＳ１８における自動配線〜実配線によるタイミング検証までの詳細を説明するためのフローチャートである。
【図４】チップ面積拡大を行う図１のステップＳ１９の処理内容を詳細に説明するためのフローチャートである。
【図５】本発明による入出力バッファのレイアウト図である。
【図６】本発明による入出力バッファをグループ化し、各々のグループに属する各入出力バッファを半導体チップ上に配置した一実施例を示すレイアウト図である。
【図７】半導体チップ７１上に配置する半田ボール７３と、区画定義７２と、補正項α，βに対応する補正領域７４を説明するためのチップレイアウト図である。
【図８】本発明による半導体集積回路のレイアウト方法を用いて設計した半導体チップのレイアウト図である。
【図９】図８の一部Ａを拡大して示したレイアウト図である。
【図１０】本発明による半導体集積回路のレイアウト方法の途中工程における半導体チップの各レイアウト図である。
【図１１】従来の半導体集積回路のレイアウト方法および本発明による半導体集積回路のレイアウト方法の各チップ面積を算出するためのチップレイアウト図、および入出力バッファのレイアウト図である。
【図１２】従来の半導体集積回路のレイアウト方法および本発明による半導体集積回路のレイアウト方法の各入出力バッファの配置形状の違いによる、入出力バッファとセルまたはマクロセルとを接続する配線長の違いを説明するための概念的レイアウト図である。
【図１３】本発明の第２の実施の形態による半導体集積回路のレイアウト方法で、ステップＳ４１’と、ステップＳ４４’の各処理ステップを説明するためのチップレイアウト図である。
【図１４】第２の従来技術によるフリップチップ型半導体装置の配置配線方法を示すフローチャートである。
【図１５】第２の従来技術によるフリップチップ型半導体装置の配置配線方法において、基本セルを最小単位とする区画定義を行ったときの平面図である。
【図１６】第２の従来技術によるフリップチップ型半導体装置の配置配線方法を用いて配置したグループ毎の入出力バッファと、入出力バッファに接続する電源配線およびＧＮＤ配線と、内部回路配置領域１６４Ａ〜１６４Ｄを示すチップレイアウト図である。
【図１７】半導体集積回路のレイアウト方法の第１の従来例を示すチップレイアウト図である。
【符号の説明】
１１，１１１    機能記述データ
１２    回路接続情報
１３，１２１    配置制限データ
１４，１２６    マスクデータ
２１    半田ボールピッチ情報
２２    ピン情報
２３    セル情報
２４    セル使用率情報
３１    配置データ
３２    配置・配線データ
７１，１０１，１３１    初期チップ
７２    区画定義
７３，１０２，１０５，１７２，８０３    半田ボール
７４    補正領域
１０３，１１１，１３１”，１５１，１８１，６０１，８０１    半導体チップ
１１０Ａ〜１１０Ｃ，１３４Ａ，１３４Ｂ，１３４Ｄ，１３４Ｅ，１７５Ａ〜１７５Ｃ，８０５Ａ，８０５Ｂ    セル
１１２Ａ〜１１２Ｄ，１２１Ａ〜１２１Ｅ，１５２，１６１Ａ〜１６１Ｃ    ，１７４    入出力バッファ
１１４    回路図データ
１２０Ａ〜１２０Ｃ，１３４Ｃ，１７５Ｄ〜１７５Ｆ，８０５Ｃ，８０５Ｄ  マクロセル
１２１Ａ’〜１２１Ｅ’，９１０Ａ〜９１０Ｆ，９２０Ａ〜９２０Ｄ    本発明による入出力バッファ
１２２，９３０Ａ〜９３０Ｄ    セルまたはマクロセル
１２３Ａ〜１２３Ｅ，１２３Ａ’〜１２３Ｅ’，９１１Ａ〜９１１Ｆ，９２１Ａ〜９２１Ｄ    配線
１３２      半導体チップの中心
１３３Ａ，１３３Ｂ    タイミングエラーが検出された半導体チップ上の位置
１３５Ａ    位置１３３Ａを通るＹ軸方向の直線
１３５Ｂ    位置１３３Ｂを通るＹ軸方向の直線
１３６Ａ    位置１３３Ａを通るＸ軸方向の直線
１３６Ｂ    位置１３３Ｂを通るＸ軸方向の直線
１３５Ａ’    直線１３５Ａを外側に移動した直線
１３５Ｂ’    直線１３５Ｂを外側に移動した直線
１３６Ａ’    直線１３６Ａを外側に移動した直線
１３６Ｂ’    直線１３６Ｂを外側に移動した直線
１５３ａ〜１５３ｄ    内部回路ブロック
１５４    ブロック配置位置定義領域
１５５    区画定義
１６２，５０２，５０４    ＶＤＤ配線
１６３，５０３，５０５    ＧＮＤ配線
１６４Ａ〜１６４Ｄ    内部回路配置領域
１７３    半導体チップ内部領域
４０１    半田ボール間隔情報
４０２    配線グリッド間隔情報
５０１    入出力バッファのセル枠
５０６Ａ，５０６Ｂ    スルーホール
５０７    セル枠５０１上に設けたリファレンス点
６０２Ａ〜６０２Ｃ，８０４Ａ，８０４Ｂ，８０４Ｃ    入出力バッファ配置領域
６０３    内部回路配置領域
９０１Ａ，９０１Ｂ    内部電源（Ｖｉ）用パッド
９０２Ａ，９０２Ｂ    内部ＧＮＤ（Ｇｉ）用パッド
９０３Ａ〜９０３Ｄ    信号用パッド
９０４Ａ，９０４Ｂ    外部電源（Ｖ）用パッド
９０５Ａ，９０５Ｂ    外部ＧＮＤ（Ｇ）用パッド
【図１】
0003589931.tif 000002
【図２】
0003589931.tif 000003
【図３】
0003589931.tif 000004
【図４】
0003589931.tif 000005
【図５】
0003589931.tif 000006
【図６】
0003589931.tif 000007
【図７】
0003589931.tif 000008
【図８】
0003589931.tif 000009
【図９】
0003589931.tif 000010
【図１０】
0003589931.tif 000011
【図１１】
0003589931.tif 000012
【図１２】
0003589931.tif 000013
【図１３】
0003589931.tif 000014
【図１４】
0003589931.tif 000015
【図１５】
0003589931.tif 000016
【図１６】
0003589931.tif 000017
【図１７】
0003589931.tif 000018