JP3589931B2 - Layout method of semiconductor integrated circuit - Google Patents

Layout method of semiconductor integrated circuit Download PDF

Info

Publication number
JP3589931B2
JP3589931B2 JP2000050240A JP2000050240A JP3589931B2 JP 3589931 B2 JP3589931 B2 JP 3589931B2 JP 2000050240 A JP2000050240 A JP 2000050240A JP 2000050240 A JP2000050240 A JP 2000050240A JP 3589931 B2 JP3589931 B2 JP 3589931B2
Authority
JP
Japan
Prior art keywords
input
wiring
output buffer
area
chip
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2000050240A
Other languages
Japanese (ja)
Other versions
JP2001244341A (en
Inventor
成正 武田
Original Assignee
Necマイクロシステム株式会社
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Necマイクロシステム株式会社 filed Critical Necマイクロシステム株式会社
Priority to JP2000050240A priority Critical patent/JP3589931B2/en
Publication of JP2001244341A publication Critical patent/JP2001244341A/en
Application granted granted Critical
Publication of JP3589931B2 publication Critical patent/JP3589931B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Description

【0001】
【発明の属する技術分野】
本発明は半導体集積回路のレイアウト方法に関し、特に入力バッファおよび出力バッファ(以下入出力バッファと称す)をチップ内部領域に自由に配置することができる半導体集積回路のレイアウト方法に関する。
【0002】
【従来の技術】
最近ウェハプロセスの微細化が急速に進むと共に、半導体チップを搭載した半導体パッケージの多ピン化も同時に進んでいる。このため、半導体チップの内部領域の面積が相対的に小さくなる一方、入出力バッファを配置し半導体チップの外周部を構成するI/O領域の面積が相対的に大きくなって、全体の半導体チップ面積がピン数で決定される場合が多数生じるようになってきた。
【0003】
この問題を解決するための第1の従来技術を図17を参照して説明すると、半導体チップ171上に多数の半田ボール172が搭載され、半田ボール172を介して半導体チップ内部領域173に配置された内部回路と基板(図示せず)上の半田ボールに各々対応する電極とが接続される。
【0004】
半導体チップ内部領域173の外周部に配置された入出力バッファ174は、半導体チップ内部領域173に配置されたNAND回路、NOR回路、フリップフロップ回路などのセル175A〜175Cや、RAMブロック、ROMブロック、CPUなどのマクロセル175D〜175Fからの出力信号を増幅して半田ボール172に出力し、また半田ボール172から入力される信号を増幅して、セル175A〜175Cまたは、マクロセル175D〜175Fに入力する。
【0005】
この構造の半導体チップは、半田ボール172を半導体チップ171の全面にわたって配置することが出来るので、入出力バッファ174と外部リードとをボンディングワイヤで接続する半導体装置と比較して、ピン数が多くかつ相対的にチップ内部領域173の面積が小さい場合は、チップ面積を小さくすることが出来る。
【0006】
しかしながら、ピン数がさらに増加しこれに伴って入出力バッファ174の数が図17に示す例よりもさらに増加した場合は、入出力バッファ174が配置されたI/O領域がさらに拡大することになるので、チップ面積がチップ内部領域173に配置される回路規模によらず、ピン数から決定されることになり、チップ内部領域173の集積度、すなわち回路素子数/チップ面積が低下するという問題がある。
【0007】
上記の問題を解決した第2の従来例が、フリップチップ型半導体装置の配置配線方法として特開平9−69568号公報に記載されている。
【0008】
次に図面を参照して、上記公報に記載されている第2の従来技術について説明する。
【0009】
図14は、第2の従来技術によるフリップチップ型半導体装置の配置配線方法を示すフローチャートであり、以下にこの図面を参照しながら説明する。
【0010】
まず機能記述データ111は機能レベルシミュレーション(処理工程112)によって機能レベルの動作確認を終えた後、論理合成(処理工程113)によって回路ブロックを構成要素とする回路図データ114で具体化され、この回路図データによってチップサイズの算定(処理工程115)を行った後、入出力バッファおよび内部回路を構成するセルの双方を区別しない配置位置定義処理(処理工程116)をチップ面上に対して行う。
【0011】
ここで内部回路とはNAND、NOR、EX−ORおよびフリップフロップなどの基本論理を機能にもつ多数のセル、またはRAM,ROM,CPUなどのマクロセルから構成される回路を意味し、入出力バッファとは電源の供給や信号の入出力を行う機能をもつ回路を意味している。
【0012】
これらの内部回路を構成するセルや入出力バッファは、それぞれの大きさが基本セルという配置上の最小区画の単位を基準にしてx方向およびy方向それぞれがその整数値で決められている。
【0013】
そこで全回路を構成する各回路ブロックの基本セル数を加算し、さらにこれら回路ブロック間接続に必要な配線用領域や電源配線用領域など経験的に定められる必要面積量を加えてチップサイズ算定(処理工程115)を実行する。
【0014】
ここで、基本セルを最小単位とする区画定義を行ったときの平面図を示した図15を併せて参照すると、チップサイズが定まるとそのサイズに基づきチップ全面に前述した基本セルを最小単位とする区画定義(処理工程116)を行う。メッシュ状になる同区画155は、基本セルを単位とした直交座標を形成し、各種の内部ブロック153a〜153dと入出力バッファ152とは同区画155を最小単位として配置される。この区画定義がブロックの配置位置定義である。
【0015】
すなわち入出力バッファの配置位置と内部回路を構成する回路ブロックの配置位置に区別がなく双方の回路ブロックを自由に配置できる点に特徴がある。
【0016】
また上記工程115,116の処理フローとは別に、フロアプラン(処理工程117)の処理として、入出力バッファのグルーピングすなわちバッファ分割の処理が行われる(処理工程118)。
【0017】
このグルーピングは、動作タイミングの整合性や、信号の相互干渉、半導体チップを実装する基板上の端子の位置関係、製造工程、テスト環境等々を考慮し、電気的に共通に接続する一対の電源(Vdd)および接地(GND)に接続してよい入出力バッファのグループと、それとは電気的に分離独立した他のVddおよびGND対に共通に接続すべき入出力バッファのグループとにグループ分けする。一対のVddおよびGNDに接続可能であっても実装上の端子位置関係から別グループになることもある。
【0018】
次に、入出力バッファおよび内部回路を構成する回路ブロックのフロアプランが行われる。この処理工程では、上記入出力バッファのグループ分け工程(処理工程118)の処理結果に従って、半導体チップ上のどの位置に入出力バッファを置くかを定める。
【0019】
また同時に入出力バッファと内部回路とを合わせたLSI全体の中での信号伝播時間に対する制約、すなわちクリティカルパスに関わる回路ブロックの相対位置関係と、相互の信号干渉、ノイズ干渉、その他製造工程およびテスト上の諸制約などを考慮すると共に、メモリブロックなどのレイアウト面積の大きな回路ブロックを入出力バッファに対して好適な位置にバランスがとれるように考慮し、さらに自動配線処理時の配線障害を極力引き起こさないようにそれぞれ考慮して、回路ブロックの位置をそれぞれ定める(処理工程119,120)。
【0020】
特に入出力バッファについては、上述したグループ分けに従い、それぞれのグループ内で入出力バッファが一列状に並ぶように配慮した概略配置をする(処理工程119)。
【0021】
より厳密には、自動配線処理における配線敷設の主軸方向またはそれに直交する副軸方向のいずれかの方向に対して、入出力バッファが一列状に並ぶようにする。通常主軸方向および副軸方向は半導体チップの各辺に沿った直交する2つの方向に一致する。
【0022】
ここで、入出力バッファを配置した一列状の矩形の長辺が、入出力バッファを配置することが可能なチップの一辺長(図15のブロック配置位置定義領域154の縦又は横の全長)を上回ってしまうことがあり得る。その場合は、その1つの入出力バッファのグループをさらに細分化し、細分化されたグループについてそれぞれ一列状を保つように再配置をする。
【0023】
フロアプラン(処理工程117)で配置位置を決定する回路ブロックとしては、入出力バッファおよび上述した諸配慮の対象となる内部回路を構成する回路ブロックであり、それ以外のものは、後の自動配置処理に委ねられる。なお、前述した配置位置定義(処理工程116)と同様、フロアプランでも入出力バッファと内部回路を構成する回路ブロックとの配置領域の区別はない。
【0024】
上記に説明した処理により、図14のフロアプラン(処理工程117)が終了する。
【0025】
次の処理工程では、VddおよびGND端子を含めて一列状に配置した入・出力バッファブロックを1つのマクロとして扱うために必要な諸データの生成をするマクロデータ生成処理を行う(処理工程122)。
【0026】
次にフロアプランデータに基づいてブロック間の信号配線長予測を行い、その電気的負荷量を用いて仮配線長シミュレーションを行う(処理工程123)。ここでLSI回路が期待通り動くかどうかチェックされ、不具合がある場合は、図15には示されていないがその不具合が解消できる然るべき前工程にたち戻って修正を受けた後、再度動作確認を行う。
【0027】
動作が確認されれば次に自動配置配線の処理工程124に入る。この工程では、前述したフロアプランで配置位置指定を受けた回路ブロック(より詳しくは、絶対位置指定とグルーピングとよばれる相対位置指定との2種類を含む)に加えて、その指定を受けていない残りの回路ブロックを加えた全ブロックの配置位置が確定し、その状態でブロック端子間の信号線に対して自動配線を行う。
【0028】
ここでチップ内の実際の配線長が全て確定するので、その配線の電気的負荷量を考慮した、実配線長タイミングシミュレーションによる動作確認を行う(処理工程125)。不具合があれば然るべき前工程にたち戻り、最終的に動作が確認されるまで、必要な工程を繰り返す。
【0029】
この後、今までの処理に使用されたシンボリックデータはマスク製作のためのマスクデータ126に変換され、マスク製作工程に入る。
【0030】
以上が第2の従来技術によるフリップチップ型半導体装置の配置配線方法の設計フローである。
【0031】
次に図16を参照して、第2の従来技術によるフリップチップ型半導体装置の配置配線方法を用いて設計した半導体チップ160について説明する。
【0032】
161Aは、入出力バッファのうちで最小面積の入出力バッファであり、電流駆動能力は最も低い。161Bは、入出力バッファ161Aを3個並列接続して構成した入出力バッファであり、中程度の電流駆動能力を有する。また、161Cは、入出力バッファ161Aを6個並列接続して構成した入出力バッファであり、この例においては、電流駆動能力は最も大きい。
【0033】
電源(Vdd)配線162とGND配線163は平行して各入出力バッファの内部を通過しており、これらの配線162,163により各グループを構成する入出力バッファに電流を供給する。
【0034】
また、内部回路配置領域164A〜164Dには、内部回路を構成する回路ブロックが配置される。図16からわかるように、第2の従来技術によるフリップチップ型半導体装置の配置配線方法においては、入出力バッファが複数のグループ毎に、半導体チップ160の外周部だけでなく、内部領域に対しても一列状に配置される。
【0035】
そして留意すべき点は、入出力バッファの配置方向と電源(Vdd)配線162およびGND配線163の方向とが同一であるという特徴がある。
【0036】
【発明が解決しようとする課題】
上述した第1の従来技術による半導体集積回路のレイアウト方法は、ピン数が非常に多く、これに伴って半導体チップの外周部に配置される入出力バッファの数が多くなった場合は、入出力バッファが配置されるI/O領域の面積が内部回路が配置されるチップ内部領域の面積に対して相対的に大きくなり、チップ面積がチップ内部領域に配置される回路規模によらず、ピン数から決定されることになり、チップ内部領域の集積度、すなわち回路素子数/チップ面積が低下するという問題がある。
【0037】
また、特開平9−69568号公報記載のフリップチップ型半導体装置の配置配線方法の特徴は、入出力バッファをチップ内部領域に対しても配置することでI/O領域の面積を相対的に小さくし、I/O領域の面積とチップ内部領域の面積とのバランスをとって、半導体チップ全体に渡って集積度を均一化しているのが特徴である。
【0038】
一方、最近急速に高速化が進んでいる半導体集積回路においては、タイミングマージンが極めて小さくなっており、配線容量による遅延が高速化の妨げになっている。
【0039】
すなわち、入出力バッファとこれに接続する内部回路との配線長が長くなると配線遅延が大きくなり、配線遅延に対する制約条件を満足しないため、配線遅延を小さくするようにレイアウト設計を何回もやり直さなければならない。
【0040】
上記公報記載のフリップチップ型半導体装置の配置配線方法においては、グループ化された入出力バッファを基本的に一列状に配置しなければなければならないという強い制約があるため、グループ化された入出力バッファと内部回路とを自由に配置することができない。特に1つのグループを構成する入出力バッファの数が多い場合は、入出力バッファを一列状に配置した配置領域の長さが長くなり、入出力バッファと内部回路とを接続する全ての配線について最小化を行うことが困難であり、配線遅延によるタイミングエラーを発生する可能性が高いという問題がある。
【0041】
上述した内容を図12(a)を参照してさらに詳しく説明すると、図12(a)は、第2の従来例によるフリップチップ型半導体装置の配置配線方法における入出力バッファとセルまたはマクロセルとの相対的位置関係を示している。
【0042】
図12(a)において、121A〜121Eは入出力バッファであり、122はセルまたはマクロセル、123A〜124Eは、入出力バッファ121A〜121Eとセルまたはマクロセル122とをそれぞれ接続する配線である。
【0043】
従来のフリップチップ型半導体装置の配置配線方法では、入出力バッファを一列状にしか配置できないので、配線123Cを最小の長さにすると、配線123A,123Eは長くなってしまう。このため、配線123A,123Eに起因する配線遅延が大きくなり、タイミングエラーを発生しやすい。
【0044】
さらに、上記に説明したタイミングエラーを解消するために、入出力バッファおよび内部回路を構成するセルまたはマクロセルの配置と配線を何回もやり直さなければならないため、設計期間が長期化するという問題がある。
【0045】
このため本発明の目的は、複数の入出力バッファをグループ化して配置する入出力バッファグループ配置領域をチップ内部領域にも配置するだけでなく、入出力バッファグループ配置領域を、内部回路と入出力バッファグループ配置領域を構成する各入出力バッファとの各配線長が極力短くなるような形状にして配置することができる半導体集積回路のレイアウト方法を提供することにある。
【0046】
また本発明の他の目的は、入出力バッファと内部回路とを接続する配線に起因する配線遅延によって、タイミングエラーを生じない半導体集積回路のレイアウト方法を提供することにある。
【0047】
さらに本発明の他の目的は、入出力バッファと内部回路とを接続する配線に起因する配線遅延によってタイミングエラーを生じたとしても、少ないレイアウト修正回数でタイミングエラーを解消することが可能な半導体集積回路のレイアウト方法を提供することにある。
【0048】
【課題を解決するための手段】
そのため、本発明による半導体集積回路のレイアウト方法は、複数の内部回路ブロックと、前記複数の内部回路ブロックと外部とのインタフェースを行い、X方向またはY方向に互いに隣接配置された場合いずれの方向に対しても電源配線およびGND配線が共通接続される複数の入出力バッファとを含む半導体集積回路の回路接続情報を生成する第1のステップと、
前記回路接続情報を基に前記複数の入出力バッファを電気的に独立した複数の電源に対応して複数の入出力バッファグループにグループ化する第2のステップと、
前記入出力バッファおよび前記内部回路ブロックの両方を区別せず、共通に半導体チップ上に配置するための配置グリッドを、前記半導体チップ全面に渡って設定する区画定義を行う第3のステップと、
前記入出力バッファグループを構成する前記複数の入出力バッファを互いに隣接するように前記配置グリッドに配置すると共に、前記複数の内部回路ブロックを前記配置グリッドに配置する第4のステップと、
前記各入出力バッファグループを構成する前記複数の入出力バッファに対する前記各入出力バッファ毎にそれぞれ独立した前記電源配線と前記GND配線と、前記内部回路ブロックに対する前記電源配線とGND配線と、前記複数の内部回路ブロックおよび前記複数の入出力バッファ相互の配線とを行う第5のステップと、を備えている。
【0049】
【発明の実施の形態】
次に、本発明による半導体集積回路のレイアウト方法の第1の実施の形態について図面を参照して説明する。
【0050】
まず初めに、本発明の半導体集積回路のレイアウト方法で用いる入出力バッファについて、図5を参照して説明する。図5は、本発明による入出力バッファのレイアウト図であり、501は入出力バッファのセル枠を表し、セル枠501上に設けたリファレンス点507を基準点として、入出力バッファを配置する。
【0051】
また、502は入出力バッファを構成するトランジスタ(図示せず)に電流を供給する上層、例えば6層目のアルミ配線からなるVDD配線であり、X方向に配置されている。同様に、504は下層、例えば5層目のアルミ配線からなるVDD配線であり、Y方向に配置されている。
【0052】
また503は、入出力バッファを構成する各トランジスタに接続する上層、例えば6層目のアルミ配線からなるGND配線でありX方向に配置されており、同様に505は下層、例えば5層目のアルミ配線からなるGND配線であり、Y方向に配置されている。また506Aは、上層のVDD配線502と下層のVDD配線504とを接続するスルーホールであり、506Bは、上層のGND配線503と下層のGND配線505とを接続するスルーホールである。
【0053】
このような構成をとることにより、入出力バッファをX方向またはY方向に隣接して配置した場合、互いに隣接した入出力バッファの各VDD配線、各GND配線は、セル枠501上で互いに接続する。例えば、入出力バッファをX方向にに隣接して配置した場合、隣接した入出力バッファを構成するVDD配線502は、セル枠501上で互いに接続し、同様に隣接した入出力バッファを構成するGND配線503は、セル枠501上で互いに接続する。Y方向に同様に、隣接した入出力バッファを構成するVDD配線およびGND配線は、セル枠501上で互いに接続する。
【0054】
従って、同一グループ内に属する複数の入出力バッファをX方向またはY方向に隣接して配置することにより、同一グループを構成する入出力バッファのVDD配線およびGND配線は、自動的に接続される。
【0055】
次に、図6を参照して本発明による入出力バッファを用いてレイアウトした半導体チップ601について説明する。図6に示すように、入出力バッファ配置領域602A,602B,602Cは様々な形状にすることができる。すなわち、入出力バッファ配置領域602Aは、最小面積の単位入出力バッファから構成され、入出力バッファ配置領域602Bは、4個の単位入出力バッファから構成され凸状の形状をしている。
【0056】
また、入出力バッファ配置領域602Cは、6個の単位入出力バッファから構成されL字型の形状をしている。このように、本発明による半導体集積回路のレイアウト方法は、凸形、L字形、凸形、クランク形、階段形など種々の形状を有する入出力バッファ配置領域が単位入出力バッファから構成され、かつ同一入出力バッファ配置領域を構成する各単位入出力バッファのVDD配線およびGND配線は、それぞれ自動的に共通接続されるという特徴がある。
【0057】
次に図1に示すフローチャートを参照して、本発明の導体集積回路のレイアウト方法について説明する。図中の太枠及び点線で囲まれた処理ステップが、図14で述べた第2の従来例によるフリップチップ型半導体装置の配置配線方法と異なる処理である。
【0058】
最初にステップS11で、半導体集積回路(LSI)に要求される仕様を満たすように、VHDL等を用いてLSIの機能を記述し、機能記述データ11を出力する。
【0059】
次にステップS12において、ステップS11で生成した機能記述データ11に対して、機能レベルでのシミュレーションを実行し、機能レベルでの動作検証を行う。そして、この動作検証の結果が要求仕様を満足するまで、機能記述データ11を修正する。
【0060】
続いてステップS13で、機能レベルシミュレーションの検証が満足した機能記述データ11を用いて論理合成を行い、回路ブロックを構成要素とする回路接続情報12を生成する。
【0061】
次に回路図接続情報12を参照して、ステップS15においてチップ面積が確定していない初期段階で概略的なチップ面積を表す初期チップ面積を算出する。図2は、ステップS15の詳細フローを示すフローチャートであり、図2を参照してステップS15の処理について詳細に説明する。
【0062】
初めに、回路接続情報12に含まれるピン情報22を参照して、ステップS21で、外部端子である入力信号ピンまたは出力信号ピンに対応して半導体チップ上に形成されたパッド数、すなわち信号パッド数(N1)を算出し、ステップS22で外部電源に対応して半導体チップ上に形成されたパッド数、すなわち外部電源パッド数(N2)を算出し、ステップS23で内部電源に接続する内部電源のパッド数、すなわち内部電源パッド数(N3)を算出し、ステップS24で、これら信号パッド数(N1)と外部電源パッド数(N2)と内部電源パッド数(N3)とを加算して、総パッド数(N)を算出する。
【0063】
ここで内部電源パッドとは、外部電源を昇圧または降圧して生成した内部電源をウェハース段階で、電圧チェック等をするために用いるパッドである。
【0064】
次に、半田ボールピッチ情報21に格納されている半田ボールピッチdと、ステップS24で算出された総パッド数を参照して、信号パッドと外部電源パッドと内部電源パッドの全てのパッドとを、半導体チップ上に敷き詰めた場合の面積S1を次の(1)式により計算する。
【0065】
S1=d×(平方根N−1)+α ・・・(1)
ここで第1項の(平方根N−1)は、正方形に上記全てのパッドを敷き詰めた場合に、一辺がピッチdにより分割される数を示している。また、dは半田ボールピッチであるが、パッドのピッチと実質上一致する。
【0066】
次に、セルの種類とセル毎の半導体チップへの搭載数を格納するセル情報23と、セル使用率を格納するセル使用率情報24とを参照して、ステップS26で面積S2を次の(2)式により算出する。
【0067】
S2=セル総面積÷セル使用率+β ・・・(2)
ここでセル総面積は、半導体チップ上に配置されるセルの面積の総和であり、セル使用率とは、一般に半導体チップの面積をセル総面積で除した値であり、配線総数、設計の難易度、設計期間など種々の要素を考慮した経験式から算出される。
【0068】
また(1),(2)式でα,βは面積の補正項であり、半導体チップの辺の長さを区画定義の整数倍にするように補正する。図7を参照して説明すると、半導体チップ71上に半田ボール73がマトリックス状に配置され、また半導体チップ71は区画定義72を単位として構成される。このとき、半導体チップ71の辺の長さが区画定義72の整数倍となるように、補正項α,βに対応する補正領域74を設ける。
【0069】
次にステップS27で面積S1と面積S2とを比較し、面積S1が面積S2よりも大きいか等しい場合は、ステップS28で初期チップ面積Sを面積S1とし、面積S1が面積S2よりも小さい場合は、ステップS29で初期チップ面積Sを面積S2とする。すなわち、面積S1,S2の大きい方の面積を初期チップ面積とする。
【0070】
例えば、総パッド数Nを120、半田ボールのピッチd=1mmとした場合、(1)式により、S1=1・99.1+αとなり、補正項αを0.9とすることによりS1=100mm(10mm□)を得る。
【0071】
上記のようにして求めた初期チップ面積Sから、S=a×bとなる初期チップの辺の長さを算出する。
【0072】
次に図1のステップS16の処理に進み、図7に示すように、入出力バッファおよび内部回路を構成する回路ブロックの双方の配置領域、配置グリッドを区別しない区画定義72を初期チップ71の全面にわたって設定する。
【0073】
またステップS17において、入出力バッファと内部回路を構成する回路ブロックに対する種々の配置条件が格納されている配置制限データ13を参照して、ステップS171の入出力バッファのグループ化を行い、次にステップS172の入出力バッファ別の概略配置および配置制限データ13により指定された特定の内部回路ブロックの概略配置を行い、ステップS173で、入出力バッファと配置制限データ13により指定された特定の内部回路ブロックの配置位置を細かく微調整する。
【0074】
なお、指定された特定の内部回路ブロック以外の内部回路ブロックは、後で説明するステップ30で自動配置が行われる。
【0075】
最初にステップS171における入出力バッファのグルーピングをより具体的に説明すると、回路接続情報12を参照して回路接続情報12に含まれる全ての入出力バッファを複数のグループにグループ化する。
【0076】
このグループ化は、動作タイミングの整合性や、信号の相互干渉、チップを実装する基板上の端子の位置関係、製造工程、テスト環境等の配置制限データ13を考慮して行う。
【0077】
また、その際各グループには必ず各グループを構成する入出力バッファに電源を供給する電源セルと、各入出力バッファのGND配線に接続するGNDセルとを必要な数だけ設けておく。すなわち、各グループの電源配線とGND配線は、基本的にはグループ毎にそれぞれ独立している。
【0078】
次にステップS172およびステップS173で、入出力バッファと配置制限データ13により指定された特定の回路ブロックの半導体チップ上における概略配置を行う。このとき、クリティカルパス、信号間のクロストーク、ノイズが信号線に飛び込んで生じる誤動作、テストをする際の諸制約、面積が大きいマクロセルと入出力バッファとの配置位置のバランスなどに関連する配置制限データ13を考慮して、これらの条件を満たすように各入出力バッファの配置と、内部回路を構成する特定の回路ブロックの配置、および各入出力バッファと特定の回路ブロックの相対的な配置を行う。
【0079】
例えば最近ASICにおいては、高速のA/Dコンバータ、D/Aコンバータ、PLL回路などを搭載することが多くなってきているが、これらのアナログ回路は、ノイズに関して極めて敏感である。
【0080】
しかしながら、ディジタル回路の高速化に伴ってノイズが有するノイズ電力は増加し、上記アナログ回路へのノイズは混入しやすくなってきている。そのため、ノイズを発生する回路ブロックとアナログ回路とをどの様に配置し、アナログ回路の特性が劣化しないようにするかは極めて重要である。
【0081】
上記のステップS172,S173で第2の従来例によるフリップチップ型半導体装置の配置配線方法とは異なり、図6に示すように、入出力バッファ配置領域602A,602B,602Cを様々な形状にすることができる。すなわち、第2の従来例では、入出力バッファ配置領域を基本的には一列状にしか配置できず大きな配置上の制約となるが、本発明による入出力バッファを用いることにより、最小面積の矩形状の単位入出力バッファ、凸状の形状を有する入出力バッファ、L字型の形状を有する入出力バッファなど種々の形状を有する入出力バッファ配置領域を構成することが出来、かつ同一入出力バッファ配置領域を構成する各単位入出力バッファのVDD配線およびGND配線は、それぞれ自動的に共通接続される。
【0082】
これにより、上記に述べたクリティカルパス、信号間のクロストーク、ノイズが信号線に飛び込んで生じる誤動作、テストをする際の諸制約、面積が大きいマクロセルと入出力バッファとの配置位置のバランスなどに関連する様々な条件を考慮して各入出力バッファの配置と、内部回路を構成する特定の回路ブロックの配置、および各入出力バッファと特定の回路ブロックの相対的な配置を行うことが可能である。
【0083】
上述した内容を図12(b)を参照してさらに詳しく説明すると、図12(b)は本発明による入出力バッファを用いた場合の入出力バッファとセルまたはマクロセルとの相対的位置関係について示している。
【0084】
図12(b)において、121A’〜121E’は本発明による入出力バッファであり、123A’〜124E’は、入出力バッファ121A’〜121E’とセルまたはマクロセル122とをそれぞれ接続する配線である。
【0085】
本発明による入出力バッファ121A’〜121E’は、図12(b)に示すようにコの字形に配置可能なので、セルまたはマクロセル122を取り囲むように入出力バッファ121A’〜121E’を配置することが出来る。
【0086】
このため、配線123A’〜124E’の長さを、図12(a)に示す第2の従来例によるフリップチップ型半導体装置の配置配線方法の場合に比して均等化することが出来る。従って、本発明による入出力バッファ121A’〜121E’を用いて半導体集積回路のレイアウトを行った場合、タイミングエラーが発生しにくいという特徴がある。
【0087】
なお、説明を容易にするためにフロアプラン内部の手順に順番があるようにして説明したが、実際にはその時々の設計対象によっていろいろな段取りが考えられ、手順の前後関係に関しては必ずしも上記の説明に従う必要はない。
【0088】
次にステップS18において、特定の内部ブロック以外の内部ブロックの自動配置〜実配線によるタイミング検証までを行うが、図3を参照してこの処理ステップを詳細に説明する。
【0089】
最初に、ステップ30で配置制限データ13により指定された特定の内部回路ブロック以外の内部回路ブロックの自動配置を行い、この配置データとステップS173で生成された入出力バッファと特定の内部回路ブロックの配置データとから、入出力バッファを含む全ての回路ブロックの配置データ31を生成する。
【0090】
次にステップS31で、配置データ31を参照して各回路ブロック間の配線長を予測し、この予測した配線長を用いて配線の配線容量を算出し、仮配線によるタイミング検証を行う。すなわち、仮配線によりタイミングシミュレーションを行い、この結果をエラー情報として出力する。
【0091】
上記の結果タイミング条件を満足すればステップS32で、入出力バッファおよび内部回路ブロックを含む全ての回路ブロックの詳細配置と、この詳細配置を基にした詳細配線とを計算機を用いて自動で行い、配置・配線データ32を生成する。
【0092】
また、ステップS31でタイミング条件が満足されないと判定された場合は、ステップS173で配置された入出力バッファと特定の内部回路ブロック、またはステップS30で配置された特定の内部回路以外の回路ブロックに対して、ステップS33でこれらの配置の一部または全部をタイミング条件を満たすように配置変更することにより、その結果がタイミング条件を満たすか否かを判定し、配置の変更によりタイミング条件を満足すると判定された場合は、ステップS34で配置を修正し配置データ31をこの修正した新しい配置データに更新する。
【0093】
次にステップS35で、配置・配線データ32を参照して各回路ブロック間の実配線長を抽出し、この抽出した実配線長を用いて配線の配線容量を算出し、実配線によるタイミング検証を行う。すなわち、実配線によりタイミングシミュレーションを行い、この結果をエラー情報として出力する。そして、タイミングを満足すると判定された場合、上記の処理で用いられたシンボリックなレイアウトデータは、マスク制作のためのアートワークデータに全て変換され、マスク制作のためのデータとなる。
【0094】
また、上記の処理ステップS35で、タイミングを満足しないと判定された場合、ステップS36で配置・配線データ32を構成する配線をタイミング条件を満たすように変更することにより、その結果としてタイミングを満足するか否かが判定され、各回路ブロック間の配線の一部または全部を変更することにより、タイミングを満足するように変更可能と判定された場合、ステップS37で配線変更を行い配置・配線データ32を構成する配線データをこの修正した新しい配線データに更新する。
【0095】
また、ステップS33で入出力バッファおよび内部回路ブロックの配置を変更しても、タイミング条件を満たさないと判定された場合は、図1のステップS19でチップ面積を拡大した拡大チップ面積を算出する。
【0096】
次にステップS19のチップ面積拡大の処理フローについて、図4を参照して詳細に説明する。
【0097】
初めにステップS41で、仮配線によるタイミングシミュレーションまたは実配線によるタイミングシミュレーションでのエラー情報より、タイミングエラーを生じたエラー数Kを算出する。
【0098】
次にステップS42で、配線グリッドの増加率gを決定する。ここで、配線グリッドの増加率gは、元の配線グリッド数に対して増加する配線グリッド数の割合であり、例えば、100の配線グリッドに対して3つ配線グリッドを増加させた場合、配線グリッドの増加率gは3%となる。
【0099】
次にステップS43において、ステップS42で算出した配線グリッドの増加率gと配線グリッドの間隔Dとから配線グリッド拡大率γを次の(3)式から算出する。
【0100】
γ=g・D(μm) ・・・(3)
次にステップS44で、ステップS41で算出したエラー数Kと、(1)式で算出した配線グリッド拡大率γより、X軸方向およびY軸方向へ半導体チップの一辺を、次の(4)式から算出されるΔXおよびΔYだけ拡大する。
【0101】
ΔX=ΔY=(K÷2)×γ(μm) ・・・・(4)
すなわち、エラー数Kに応じて、X軸方向およびY軸方向の辺の長さを等しく長くする。
【0102】
なお上記の説明において、半導体チップの辺の長さをエラー数Kに応じて、X軸方向およびY軸方向に均等に長くしたが、これに限らず、X軸方向とY軸方向とで辺を伸張する比率を変えても良い。
【0103】
次にステップS45で、半田ボール間隔H(μm)が格納されている半田ボール間隔情報401と、ステップS44で算出されたX軸方向およびY軸方向の半導体チップの辺の拡大長ΔX,ΔYが、半田ボール間隔Hを越えているか否かを判定し、拡大長ΔX,ΔYが半田ボール間隔Hを越えていれば、ステップS46でΔX(=ΔY)/Hを整数に丸め込んだ値だけ半田ボールの数をX軸方向およびY軸方向にそれぞれ増加し、拡大長ΔX,ΔYが半田ボール間隔Hを越えていなければ、半田ボールを追加しない。
【0104】
次にステップS45、ステップS46の処理を行った後、図1に示す処理ステップS16を実行する。すなわち、入出力バッファおよび内部回路を構成する回路ブロックの双方を区別しない区画定義を、ステップS45とステップS46の結果を受けて拡大チップ面積から求めた拡大チップ上で更新し、この更新された区画定義を基にして、ステップS172で入出力バッファおよび内部回路を構成する特定の回路ブロックの概略配置を行う。
【0105】
こうして、上記に説明した処理フローをタイミングエラーが全て解消するまで繰り返し実行し、全てのタイミングエラーが解消したときに、そのときのチップ面積を最終的な半導体集積回路のチップ面積として確定する。
【0106】
すなわち、本発明による半導体集積回路のレイアウト方法により、ステップS15での初期チップ面積を算出する際は、極力チップ面積が小さくなるように設定し、その後ステップS44でタイミングエラーを発生したエラーの数に応じてチップ面積を拡大することにより、不必要にチップ面積を大きくすることなく、かつタイミング条件を満足する半導体集積回路を設計することが可能である。
【0107】
次に、上記に説明した本発明による半導体集積回路のレイアウト方法を用いて設計した場合に、チップ面積が具体的にどの程度縮小化されるかを具体的に説明する。
【0108】
例として図11(a),(b)に示すように、外部ピン数の総計が400ピン、セル使用率が20%、入出力バッファの面積が50μm×500μmの場合、図11(a)に示す従来の半導体集積回路のレイアウト方法では、半導体チップの辺の長さは、50μm×100ピン+500μm×2=6mmとなる。但し、上辺、下辺、左辺、右辺にそれぞれ100ピンずつ分配されるとした。従って、従来の半導体集積回路のレイアウト方法によるチップ面積は、6mm×6mm=36mmとなる。
【0109】
一方、本発明による半導体集積回路のレイアウト方法では、チップ内部領域の面積5mm×5mm=25mmの20%が、内部回路を構成する全ての回路ブロックを配置する面積となり、この面積25mm×0.2=5mmと、入出力バッファ400個分の面積、すなわち50μm×500μm×400=10mmを加算した面積、5mm+10mm=15mmがチップ面積となる。
【0110】
従って、15mm÷36mm=0.42となり、本発明による半導体集積回路のレイアウト方法を用いた場合、大幅にチップ面積を縮小することが出来る。
【0111】
また図5に示す本発明による入出力バッファを用いることにより、図6に示すように入出力バッファ領域の形状を種々の形状にすることができる。これにより、タイミング条件を満たすように、入出力バッファ配置領域の形状および入出力バッファの配置を決定することが出来るので、タイミング条件を満たすような回路ブロックの再配置の処理および回路ブロック間の再配線の処理を繰り返す回数が少なくなり設計期間全体を短縮することが出来る。
【0112】
次に図8,9を参照して本発明による半導体集積回路のレイアウト方法を用いて設計した半導体チップ801について説明する。
【0113】
図8は、半導体チップ801の平面構造を概念的に説明するための図であり、半導体チップ801の全面に半田ボール803が、同一半田ボールピッチで配置され、本発明による入出力バッファが配置領域804A,804B,804Cに配置されている。また、内部回路を構成するセル805A,805Bとマクロセル805C,805Dとが配置されている。図8の点線部Aの領域を拡大して示したのが図9であり、次に図9を参照して説明する。
【0114】
901A,901Bは、内部電源(Vi)用パッドであり、902A,902Bは、内部GND(Gi)用パッドであり、903A〜903Dは、信号用パッドであり、904A,904Bは、外部電源(V)用パッドであり、905A,905Bは、外部GND(G)用パッドである。
【0115】
また910A〜910Fは、本発明による入出力バッファであり、911A〜911Fは、入出力バッファ910A〜910Fと信号用パッド903A〜903Dおよび外部電源(V)用パッド904A、外部GND(G)用パッド905Aとをそれぞれ接続する配線である。
【0116】
同様に、920A〜920Dは、本発明による入出力バッファであり、921A〜921Dは、入出力バッファ920A〜920Dと信号用パッド(記載せず)および外部電源(V)用パッド904B、外部GND(G)用パッド905Bとをそれぞれ接続する配線である。
【0117】
また、930A〜930Dは、セルまたはマクロセルを表している。
【0118】
次に、入出力バッファ910A〜910F,920A〜920Dを中心にもう少し詳しくレイアウトについて説明する。
【0119】
910Cは電源用セルを構成し、外部電源(V)用パッド904Aと配線911Cを介して接続し、また入出力バッファ910A,910Eとは隣接して接しているので、これらの各入出力バッファ910A,910Eの各電源配線と自動的に電源配線が接続する。このため、これらの入出力バッファ910A,910Eおよびこれらの入出力バッファ910A,910Eに隣接する入出力バッファ910B,910Fには、外部電源(V)用パッド904Aから電源用セル910Cを介して電流が供給される。
【0120】
同様に、910DはGND用セルを構成し、外部GND(G)用パッド905Aと配線911Dを介して接続し、また入出力バッファ910B,910Fとは隣接して接しているので、これらの各入出力バッファ910B,910Fの各GND配線と自動的にGND配線が接続する。このため、これらの入出力バッファ910B,910Fおよびこれらの入出力バッファ910B,910Fに隣接する入出力バッファ910A,910Eから、外部GND(G)用パッド905Aに対してGND用セル910Dを介して電流が流れる。
【0121】
入出力バッファ910Aは、信号用パッド903Aと配線911Aを介して接続しており、信号用パッド903Aに印加される信号を増幅してセル930Cに入力する。
【0122】
また、入出力バッファ910Eは、信号用パッド903Bと配線911Eを介して接続しており、マクロセル930Dから出力される信号を増幅して信号用パッド903Bに出力する。
【0123】
このように、入出力バッファ910A〜910Fは、一つのグループを構成し、このグループには電源セル910CとGNDセル910Dとを含んで、グループを構成する各入出力バッファ910A〜910Fに電源を供給する。
【0124】
入出力バッファ920A〜920Dから構成されるグループについても、上記のレイアウト構造と基本的には同様であるが、入出力バッファ配置領域の形状は、L字形としている。この理由は、入出力バッファ920Dに接続する信号用パッドが、入出力バッファ920Dの右の方にあり、入出力バッファ920Bに接続する信号用パッドが、入出力バッファ920Bの下の方にあるため、配線921B,921Dを共に短くするためである。
【0125】
次に図10を参照して、本発明による半導体集積回路のレイアウト方法の途中工程における半導体チップのレイアウトについて説明する。
【0126】
図10(a)は、図1のステップS15で算出した初期チップ面積を基にして、初期チップ101に半田ボール102を初期チップ101の全面に渡って配置したレイアウトを示している。
【0127】
次に図10(b)は、図1のステップS172で入出力バッファ110A〜110Dと、内部回路を構成する特定の回路ブロック120A〜120Cとを配置した場合のレイアウトを示している。
【0128】
次に図10(c)は、図1のステップS18における仮配線によるタイミング検証または実配線によるタイミング検証の結果、タイミングエラーが発生し、このタイミングエラー数に応じて、ステップS19でチップ面積を拡大した様子を示している。ここで103は、拡大した半導体チップを示している。
【0129】
また、拡大した領域には、半田ボール105を全面に配置しているが、必ずしも半田ボール105を配置する必要はない。しかしながら、半田ボール105を用いることにより、入出力バッファの配置の自由度にさらに向上する。
【0130】
次に図面を参照して、本発明による半導体集積回路のレイアウト方法の第2の実施の形態について説明する。
【0131】
本発明による半導体集積回路のレイアウト方法の第1の実施の形態では、図4のステップS41でタイミングエラーが半導体チップ上のどの位置で発生したかを問題とせず、タイミングエラーを生じた数を算出し、ステップS44でタイミングエラー数に比例した距離だけ、X軸方向へΔX、Y軸方向へΔYだけ半導体チップを伸張したが、第2の実施の形態では、ステップS41に代わるステップS41’で、シミュレーション結果からエラーを生じたノードとこのノードに対応するレイアウトデータとから、タイミングエラーを発生した位置を算出し、ステップS44に代わるステップS44’でタイミングエラーが発生した位置から半導体チップの外側に向かって、半導体チップを拡大する。
【0132】
次に図13を参照して、上記に説明した内容についてより具体的に説明する。
【0133】
図13(a)は、ステップS41’で初期チップ131上に2箇所、すなわち133A,133Bの位置にタイミングエラーを検出したことを示している。132は、初期チップ131の中心位置であり、134A〜134Eはセルまたはマクロセルを示している。
【0134】
続いてステップS44’において、位置133Aから外側に向かって初期チップ131を拡大する。次にステップS16で、入出力バッファ、内部回路を構成する回路ブロックの双方を区別しない区画定義を拡大した領域に対しても行う。
【0135】
図13(b)において、135A,136Aは、それぞれ位置133Aを通るY軸方向およびX軸方向の直線であり、配線グリッド分だけ、すなわちX軸方向にはd2、y軸方向にはd1だけこれらの直線135Aの左側および直線136Aの上側を移動する。ここで、d1はY軸方向の配線グリッドであり、d2はX軸方向の配線グリッドであり、135’,136A’は直線135,136Aが配線グリッド分だけ移動した後の直線を表している。
【0136】
この結果、セル134Aは、左方向に距離d2、上方向に向かって距離d1だけ移動する。また、セル134Bは、上方向に向かって距離d1だけ移動する。
【0137】
同様に、ステップS44’において、位置133Bから外側に向かって初期チップ131を拡大する。続いてステップS16で、入出力バッファ、内部回路を構成する回路ブロックの双方を区別しない区画定義を拡大した領域に対しても行う。
【0138】
135B,136Bは、それぞれ位置133Bを通るY軸方向およびX軸方向の直線であり、配線グリッド分だけ、すなわちX軸方向にはd2、y軸方向にはd1だけ拡大する。この結果、セル134Dは、右方向に距離d2だけ移動する。また、セル134Eは、下方向に向かって距離d1だけ移動する。
【0139】
また、マクロセル134Cは初期チップを拡大しても、タイミングエラーを生じた位置133A,133Bの内側に位置するので移動しない。
【0140】
次に、図1のステップS172,173で、入出力バッファおよび特定の内部回路ブロックの概略配置を行った後、ステップS18で仮配線によるタイミング検証または実配線によるタイミング検証を行うが、このタイミング検証の結果、位置133Aに対応するタイミングエラーが解消し、位置133Bに対応するタイミングエラーが解消しなかった場合、図13(c)に示すように、位置133Bに対してさらに配線グリッドだけ拡大する。すなわち、直線135Bから右側を右方向に対して2配線グリッド分移動し、直線136Bから下側を下方向に対して2配線グリッド分移動する。
【0141】
このように、全てのタイミングエラーが解消するまで、タイミングエラーを生じた位置から外側に向かって半導体チップ、すなわち区画定義を順次最小単位の距離で拡大し、入出力バッファおよび内部回路ブロックの再配置および再配線を行う。そして、全てのタイミングエラーが解消したときに、そのときのチップ面積を最終的な半導体集積回路のチップ面積として確定する。
【0142】
上記に説明した第2の実施の形態による半導体集積回路のレイアウト方法は、タイミングエラーが発生した位置を検出し、その検出位置の外側に向かって区画定義の領域を拡大するので、第1の実施の形態による半導体集積回路のレイアウト方法よりも、拡大した区画定義の領域を用いて効率良く、入出力バッファおよび内部回路ブロックの再配置および再配線を実行することが出来、第1の実施の形態による半導体集積回路のレイアウト方法を用いた場合よりも、さらにレイアウトの繰り返し回数が少なくなることにより設計期間が短縮するばかりでなく、半導体チップの面積も小さくすることが出来る。
【0143】
なお上記の説明においては、フリップチップ構成の半導体チップについて主として述べたが、フリップチップに限らず、ボンディングワイヤで外部ピンと半導体チップ上に形成したパッドとを接続するタイプの半導体集積回路に対しても適用可能である。
【0144】
また図5において、VDD配線またはGND配線をX方向またはY方向にセル枠の左端から右端まで、または上端から下端までを直線的に配置した場合について説明したが、必ずしもこの配線方法に限定されるものではなく、VDD配線およびGND配線のセル枠上での位置および配線層が、各入出力バッファで共通になっていることが重要である。この条件を満たしていれば、グループを構成する各入出力バッファをX方向またはY方向に隣接することにより、グループを構成する各入出力バッファのVDD配線とGND配線とを共通接続することが出来る。
【0145】
また図9において、一つのグループに一つの電源セルと一つのGNDセルを含む場合について説明したが、一つのグループに2個以上の電源セルとGNDセルを設ける場合についても容易に拡張可能である。この場合は、電流供給能力を強化することができる。
【0146】
【発明の効果】
以上説明したように、本発明の第1の実施の形態による半導体集積回路のレイアウト方法は、初期チップ面積を算出する際は、極力チップ面積が小さくなるように設定し、その後タイミングエラーを発生したエラーの数に応じてチップ面積を拡大することにより、不必要にチップ面積を大きくすることなく、かつタイミング条件を満足する半導体集積回路を設計することが可能である。
【0147】
また、本発明の第2の実施の形態による半導体集積回路のレイアウト方法は、タイミングエラーを発生した位置を検出し、その検出位置の外側に向かって区画定義の領域を拡大するので、第1の実施の形態による半導体集積回路のレイアウト方法よりも、拡大した区画定義の領域を用いて効率良く、入出力バッファおよび内部回路ブロックの再配置および再配線を実行することが出来、第1の実施の形態による半導体集積回路のレイアウト方法を用いた場合よりも、さらにレイアウトの繰り返し回数がすくなることにより設計期間が短縮するばかりでなく、半導体チップの面積も小さくすることが出来る。
【0148】
また本発明による入出力バッファを用いることにより、入出力バッファ領域の形状を種々の形状にすることができる。これにより、タイミング条件を満たすように、入出力バッファ配置領域の形状および入出力バッファの配置を決定することが出来るので、タイミング条件を満たすような入出力バッファおよび内部回路ブロックの再配置の処理および回路ブロック間の再配線の処理を繰り返す回数が少なくなり設計期間全体を短縮することが出来る。
【図面の簡単な説明】
【図1】本発明の半導体集積回路のレイアウト方法の実施の形態を示すフローチャートである。
【図2】初期チップ面積を算出する図1のステップS15における詳細を説明するためのフローチャートである。
【図3】図1のステップS18における自動配線〜実配線によるタイミング検証までの詳細を説明するためのフローチャートである。
【図4】チップ面積拡大を行う図1のステップS19の処理内容を詳細に説明するためのフローチャートである。
【図5】本発明による入出力バッファのレイアウト図である。
【図6】本発明による入出力バッファをグループ化し、各々のグループに属する各入出力バッファを半導体チップ上に配置した一実施例を示すレイアウト図である。
【図7】半導体チップ71上に配置する半田ボール73と、区画定義72と、補正項α,βに対応する補正領域74を説明するためのチップレイアウト図である。
【図8】本発明による半導体集積回路のレイアウト方法を用いて設計した半導体チップのレイアウト図である。
【図9】図8の一部Aを拡大して示したレイアウト図である。
【図10】本発明による半導体集積回路のレイアウト方法の途中工程における半導体チップの各レイアウト図である。
【図11】従来の半導体集積回路のレイアウト方法および本発明による半導体集積回路のレイアウト方法の各チップ面積を算出するためのチップレイアウト図、および入出力バッファのレイアウト図である。
【図12】従来の半導体集積回路のレイアウト方法および本発明による半導体集積回路のレイアウト方法の各入出力バッファの配置形状の違いによる、入出力バッファとセルまたはマクロセルとを接続する配線長の違いを説明するための概念的レイアウト図である。
【図13】本発明の第2の実施の形態による半導体集積回路のレイアウト方法で、ステップS41’と、ステップS44’の各処理ステップを説明するためのチップレイアウト図である。
【図14】第2の従来技術によるフリップチップ型半導体装置の配置配線方法を示すフローチャートである。
【図15】第2の従来技術によるフリップチップ型半導体装置の配置配線方法において、基本セルを最小単位とする区画定義を行ったときの平面図である。
【図16】第2の従来技術によるフリップチップ型半導体装置の配置配線方法を用いて配置したグループ毎の入出力バッファと、入出力バッファに接続する電源配線およびGND配線と、内部回路配置領域164A〜164Dを示すチップレイアウト図である。
【図17】半導体集積回路のレイアウト方法の第1の従来例を示すチップレイアウト図である。
【符号の説明】
11,111 機能記述データ
12 回路接続情報
13,121 配置制限データ
14,126 マスクデータ
21 半田ボールピッチ情報
22 ピン情報
23 セル情報
24 セル使用率情報
31 配置データ
32 配置・配線データ
71,101,131 初期チップ
72 区画定義
73,102,105,172,803 半田ボール
74 補正領域
103,111,131”,151,181,601,801 半導体チップ
110A〜110C,134A,134B,134D,134E,175A〜175C,805A,805B セル
112A〜112D,121A〜121E,152,161A〜161C ,174 入出力バッファ
114 回路図データ
120A〜120C,134C,175D〜175F,805C,805D マクロセル
121A’〜121E’,910A〜910F,920A〜920D 本発明による入出力バッファ
122,930A〜930D セルまたはマクロセル
123A〜123E,123A’〜123E’,911A〜911F,921A〜921D 配線
132 半導体チップの中心
133A,133B タイミングエラーが検出された半導体チップ上の位置
135A 位置133Aを通るY軸方向の直線
135B 位置133Bを通るY軸方向の直線
136A 位置133Aを通るX軸方向の直線
136B 位置133Bを通るX軸方向の直線
135A’ 直線135Aを外側に移動した直線
135B’ 直線135Bを外側に移動した直線
136A’ 直線136Aを外側に移動した直線
136B’ 直線136Bを外側に移動した直線
153a〜153d 内部回路ブロック
154 ブロック配置位置定義領域
155 区画定義
162,502,504 VDD配線
163,503,505 GND配線
164A〜164D 内部回路配置領域
173 半導体チップ内部領域
401 半田ボール間隔情報
402 配線グリッド間隔情報
501 入出力バッファのセル枠
506A,506B スルーホール
507 セル枠501上に設けたリファレンス点
602A〜602C,804A,804B,804C 入出力バッファ配置領域
603 内部回路配置領域
901A,901B 内部電源(Vi)用パッド
902A,902B 内部GND(Gi)用パッド
903A〜903D 信号用パッド
904A,904B 外部電源(V)用パッド
905A,905B 外部GND(G)用パッド
[0001]
TECHNICAL FIELD OF THE INVENTION
The present invention relates to a layout method for a semiconductor integrated circuit, and more particularly to a layout method for a semiconductor integrated circuit in which an input buffer and an output buffer (hereinafter, referred to as an input / output buffer) can be freely arranged in a chip internal area.
[0002]
[Prior art]
Recently, the miniaturization of the wafer process has rapidly progressed, and the number of pins of a semiconductor package on which a semiconductor chip has been mounted has been increasing at the same time. For this reason, the area of the internal region of the semiconductor chip becomes relatively small, while the area of the I / O region constituting the outer peripheral portion of the semiconductor chip where the input / output buffer is arranged becomes relatively large, and the entire semiconductor chip becomes large. Many cases where the area is determined by the number of pins have come to occur.
[0003]
A first conventional technique for solving this problem will be described with reference to FIG. 17. A large number of solder balls 172 are mounted on a semiconductor chip 171 and arranged in a semiconductor chip internal region 173 via the solder balls 172. The internal circuit and the electrodes respectively corresponding to the solder balls on the substrate (not shown) are connected.
[0004]
The input / output buffer 174 disposed on the outer peripheral portion of the semiconductor chip internal region 173 includes cells 175A to 175C such as NAND circuits, NOR circuits, and flip-flop circuits disposed in the semiconductor chip internal region 173, RAM blocks, ROM blocks, An output signal from the macro cells 175D to 175F such as a CPU is amplified and output to the solder ball 172, and a signal input from the solder ball 172 is amplified and input to the cells 175A to 175C or the macro cells 175D to 175F.
[0005]
In the semiconductor chip having this structure, the solder balls 172 can be arranged over the entire surface of the semiconductor chip 171, so that the number of pins and the number of pins are larger than those of the semiconductor device in which the input / output buffer 174 and the external leads are connected by bonding wires. When the area of the chip internal region 173 is relatively small, the chip area can be reduced.
[0006]
However, if the number of pins further increases and the number of input / output buffers 174 further increases as compared with the example shown in FIG. 17, the I / O area in which the input / output buffers 174 are arranged further increases. Therefore, the chip area is determined from the number of pins regardless of the circuit size arranged in the chip internal region 173, and the degree of integration of the chip internal region 173, that is, the number of circuit elements / chip area is reduced. There is.
[0007]
A second conventional example that solves the above problem is described in Japanese Patent Application Laid-Open No. 9-69568 as a layout and wiring method for a flip-chip type semiconductor device.
[0008]
Next, a second prior art described in the above publication will be described with reference to the drawings.
[0009]
FIG. 14 is a flowchart showing a method of arranging and wiring the flip-chip type semiconductor device according to the second conventional technique, which will be described below with reference to this drawing.
[0010]
First, the function description data 111 is embodied as circuit diagram data 114 having circuit blocks as constituent elements by logic synthesis (processing step 113) after confirming the operation of the function level by function level simulation (processing step 112). After calculating the chip size based on the circuit diagram data (processing step 115), an arrangement position defining process (processing step 116) that does not distinguish both the input / output buffer and the cells constituting the internal circuit is performed on the chip surface. .
[0011]
Here, the internal circuit means a circuit composed of a large number of cells having basic logic functions such as NAND, NOR, EX-OR and flip-flop, or a macro cell such as RAM, ROM, and CPU. Denotes a circuit having a function of supplying power and inputting / outputting a signal.
[0012]
The size of each of the cells and input / output buffers constituting these internal circuits is determined by an integer value in each of the x direction and the y direction with reference to the unit of the minimum partition in the arrangement called the basic cell.
[0013]
Therefore, the chip size calculation is performed by adding the basic cell number of each circuit block constituting the entire circuit, and further adding an empirically required area amount such as a wiring area and a power wiring area necessary for connection between these circuit blocks ( The processing step 115) is performed.
[0014]
Here, referring also to FIG. 15 showing a plan view when a partition is defined with the basic cell as the minimum unit, when the chip size is determined, the basic cell described above is defined as the minimum unit on the entire chip based on the chip size. Is performed (processing step 116). The mesh-shaped section 155 forms rectangular coordinates in units of basic cells, and various internal blocks 153a to 153d and the input / output buffer 152 are arranged with the same section 155 as a minimum unit. This partition definition is a block arrangement position definition.
[0015]
That is, it is characterized in that there is no distinction between the arrangement position of the input / output buffer and the arrangement position of the circuit blocks forming the internal circuit, and both circuit blocks can be freely arranged.
[0016]
In addition to the processing flows of the above steps 115 and 116, grouping of input / output buffers, that is, buffer division processing is performed as processing of the floor plan (processing step 117) (processing step 118).
[0017]
This grouping considers the consistency of the operation timing, the mutual interference of signals, the positional relationship of the terminals on the substrate on which the semiconductor chip is mounted, the manufacturing process, the test environment, and the like. Vdd) and a group of input / output buffers that may be connected to ground (GND), and a group of input / output buffers that should be connected to another Vdd and GND pair that is electrically separated and independent from each other. Even if it can be connected to a pair of Vdd and GND, it may be in another group depending on the positional relationship of terminals on mounting.
[0018]
Next, the floor plan of the circuit blocks constituting the input / output buffer and the internal circuit is performed. In this processing step, where the input / output buffer is to be placed on the semiconductor chip is determined according to the processing result of the input / output buffer grouping step (processing step 118).
[0019]
At the same time, restrictions on the signal propagation time in the entire LSI including the input / output buffer and the internal circuit, that is, the relative positional relationship of circuit blocks related to the critical path, mutual signal interference, noise interference, other manufacturing processes and tests In addition to taking into account the above restrictions, circuit blocks with a large layout area such as memory blocks should be balanced so that they are suitable for input / output buffers. The positions of the circuit blocks are determined in consideration of the respective cases (processing steps 119 and 120).
[0020]
In particular, the input / output buffers are roughly arranged in accordance with the above-described grouping so that the input / output buffers are arranged in a line in each group (processing step 119).
[0021]
More strictly, the input / output buffers are arranged in a line in either the main axis direction or the sub-axis direction orthogonal to the wiring laying in the automatic wiring processing. Normally, the main axis direction and the sub-axis direction correspond to two orthogonal directions along each side of the semiconductor chip.
[0022]
Here, the long side of a row of rectangles in which the input / output buffers are arranged corresponds to the length of one side of the chip on which the input / output buffers can be arranged (the total length in the vertical or horizontal direction of the block arrangement position definition area 154 in FIG. 15). It can exceed that. In that case, the one input / output buffer group is further subdivided, and the subdivided groups are rearranged so as to maintain a single line.
[0023]
The circuit blocks that determine the arrangement position in the floor plan (processing step 117) are the input / output buffers and the circuit blocks that constitute the internal circuits that are subject to the above-described various considerations. Delegated to processing. Note that, similarly to the above-described arrangement position definition (processing step 116), there is no distinction in the arrangement area between the input / output buffer and the circuit block constituting the internal circuit in the floor plan.
[0024]
With the processing described above, the floor plan of FIG. 14 (processing step 117) ends.
[0025]
In the next processing step, a macro data generation processing for generating various data necessary for treating input / output buffer blocks arranged in a line including the Vdd and GND terminals as one macro is performed (processing step 122). .
[0026]
Next, a signal wiring length between blocks is predicted based on the floor plan data, and a tentative wiring length simulation is performed using the electric load amount (processing step 123). Here, it is checked whether or not the LSI circuit operates as expected. If there is a defect, the operation is returned to the appropriate previous process which is not shown in FIG. Do.
[0027]
If the operation is confirmed, the process enters the automatic placement and routing processing step 124. In this step, in addition to the circuit blocks (specifically, two types of absolute position specification and relative position specification called grouping) that have been specified in the floor plan described above, the specification has not been received. The arrangement positions of all blocks including the remaining circuit blocks are determined, and in that state, automatic wiring is performed for signal lines between block terminals.
[0028]
Here, since all the actual wiring lengths in the chip are determined, the operation is confirmed by an actual wiring length timing simulation in consideration of the electric load of the wiring (processing step 125). If there is a defect, the process returns to the appropriate previous process, and the necessary processes are repeated until the operation is finally confirmed.
[0029]
Thereafter, the symbolic data used in the processing up to now is converted into mask data 126 for manufacturing a mask, and the process proceeds to a mask manufacturing process.
[0030]
The above is the design flow of the placement and routing method for the flip-chip type semiconductor device according to the second conventional technique.
[0031]
Next, a semiconductor chip 160 designed by using the flip-chip type semiconductor device arrangement and wiring method according to the second conventional technique will be described with reference to FIG.
[0032]
The input / output buffer 161A has the smallest area among the input / output buffers, and has the lowest current driving capability. Reference numeral 161B denotes an input / output buffer configured by connecting three input / output buffers 161A in parallel, and has a medium current driving capability. Reference numeral 161C denotes an input / output buffer configured by connecting six input / output buffers 161A in parallel. In this example, the current driving capability is the largest.
[0033]
The power (Vdd) wiring 162 and the GND wiring 163 pass through the inside of each input / output buffer in parallel, and supply current to the input / output buffers constituting each group by these wirings 162 and 163.
[0034]
In the internal circuit arrangement areas 164A to 164D, circuit blocks forming internal circuits are arranged. As can be seen from FIG. 16, in the placement and routing method of the flip-chip type semiconductor device according to the second prior art, the input / output buffers are provided for a plurality of groups not only in the outer peripheral portion of the semiconductor chip 160 but also in the internal region. Are also arranged in a line.
[0035]
It should be noted that the arrangement direction of the input / output buffer is the same as that of the power supply (Vdd) wiring 162 and the GND wiring 163.
[0036]
[Problems to be solved by the invention]
The layout method of the semiconductor integrated circuit according to the first prior art described above requires a very large number of pins, and if the number of input / output buffers arranged on the outer peripheral portion of the semiconductor chip increases with this, The area of the I / O area where the buffer is arranged is relatively larger than the area of the chip internal area where the internal circuit is arranged, and the chip area is independent of the circuit size arranged in the chip internal area. Therefore, the degree of integration of the chip internal area, that is, the number of circuit elements / chip area is reduced.
[0037]
A feature of the arrangement and wiring method of the flip-chip type semiconductor device described in Japanese Patent Application Laid-Open No. 9-69568 is that an input / output buffer is also arranged in an internal region of a chip so that an area of an I / O region is relatively small. The feature is that the degree of integration is uniformed over the entire semiconductor chip by balancing the area of the I / O region and the area of the chip internal region.
[0038]
On the other hand, in a semiconductor integrated circuit whose speed has been rapidly increasing recently, a timing margin is extremely small, and a delay due to a wiring capacitance hinders an increase in speed.
[0039]
In other words, if the wiring length between the input / output buffer and the internal circuit connected to it becomes longer, the wiring delay increases, and the constraints on the wiring delay are not satisfied.Therefore, the layout design must be repeated many times to reduce the wiring delay. Must.
[0040]
In the placement and wiring method of the flip-chip type semiconductor device described in the above-mentioned publication, there is a strong restriction that the grouped input / output buffers must be basically arranged in a line. The buffer and the internal circuit cannot be freely arranged. In particular, when the number of input / output buffers constituting one group is large, the length of the arrangement area in which the input / output buffers are arranged in a line becomes long, and the minimum amount of wiring for connecting the input / output buffers and the internal circuit is minimized. However, there is a problem in that it is difficult to implement such a configuration, and there is a high possibility that a timing error due to a wiring delay occurs.
[0041]
The above contents will be described in more detail with reference to FIG. 12 (a). FIG. 12 (a) shows the connection between an input / output buffer and a cell or a macro cell in a layout and wiring method of a flip-chip type semiconductor device according to a second conventional example. The relative positional relationship is shown.
[0042]
In FIG. 12A, reference numerals 121A to 121E denote input / output buffers, 122 denotes a cell or a macro cell, and 123A to 124E denote wirings for connecting the input / output buffers 121A to 121E and the cell or the macro cell 122, respectively.
[0043]
In the conventional layout method of the flip-chip type semiconductor device, the input / output buffers can be arranged only in one line. Therefore, if the wiring 123C is made the minimum length, the wirings 123A and 123E become long. For this reason, a wiring delay caused by the wirings 123A and 123E increases, and a timing error is likely to occur.
[0044]
Further, in order to eliminate the above-described timing error, the arrangement and wiring of the cells or macrocells constituting the input / output buffer and the internal circuit must be redone many times, which causes a problem that the design period is lengthened. .
[0045]
Therefore, an object of the present invention is not only to arrange an input / output buffer group arrangement area for grouping and arranging a plurality of input / output buffers in an internal area of a chip, but also to arrange an input / output buffer group It is an object of the present invention to provide a layout method of a semiconductor integrated circuit which can be arranged in a shape in which each wiring length with each input / output buffer constituting a buffer group arrangement area is as short as possible.
[0046]
It is another object of the present invention to provide a layout method of a semiconductor integrated circuit which does not cause a timing error due to a wiring delay caused by a wiring connecting an input / output buffer and an internal circuit.
[0047]
Still another object of the present invention is to provide a semiconductor integrated circuit capable of eliminating a timing error with a small number of layout corrections even if a timing error occurs due to a wiring delay caused by a wiring connecting an input / output buffer and an internal circuit. An object of the present invention is to provide a circuit layout method.
[0048]
[Means for Solving the Problems]
Therefore, a layout method of a semiconductor integrated circuit according to the present invention provides a plurality of internal circuit blocks and an interface between the plurality of internal circuit blocks and the outside, and is arranged adjacent to each other in the X direction or the Y direction. In any direction A first step of generating circuit connection information of a semiconductor integrated circuit including a plurality of input / output buffers to which a power supply wiring and a GND wiring are commonly connected;
A second step of grouping the plurality of input / output buffers into a plurality of input / output buffer groups corresponding to a plurality of electrically independent power supplies based on the circuit connection information;
A third step of defining a partition for setting an arrangement grid for common arrangement on a semiconductor chip over the entire surface of the semiconductor chip without distinguishing both the input / output buffer and the internal circuit block;
A fourth step of arranging the plurality of input / output buffers constituting the input / output buffer group on the arrangement grid so as to be adjacent to each other and arranging the plurality of internal circuit blocks on the arrangement grid;
The power supply wiring and the GND wiring which are independent for each of the input / output buffers for the plurality of input / output buffers constituting each of the input / output buffer groups; the power supply wiring and the GND wiring for the internal circuit block; A fifth step of interconnecting the internal circuit blocks and interconnecting the plurality of input / output buffers.
[0049]
BEST MODE FOR CARRYING OUT THE INVENTION
Next, a first embodiment of a semiconductor integrated circuit layout method according to the present invention will be described with reference to the drawings.
[0050]
First, the input / output buffer used in the layout method of the semiconductor integrated circuit of the present invention will be described with reference to FIG. FIG. 5 is a layout diagram of an input / output buffer according to the present invention. Reference numeral 501 denotes a cell frame of the input / output buffer. The input / output buffer is arranged using a reference point 507 provided on the cell frame 501 as a reference point.
[0051]
Reference numeral 502 denotes a VDD wiring made of an upper layer, for example, a sixth-layer aluminum wiring for supplying a current to a transistor (not shown) constituting an input / output buffer, and is arranged in the X direction. Similarly, reference numeral 504 denotes a VDD wiring made of a lower layer, for example, a fifth layer of aluminum wiring, and is arranged in the Y direction.
[0052]
Reference numeral 503 denotes an upper layer connected to each transistor constituting the input / output buffer, for example, a GND wiring made of a sixth-layer aluminum wiring, which is arranged in the X direction. Similarly, 505 denotes a lower layer, for example, a fifth-layer aluminum wiring. This is a GND wiring made of wiring, and is arranged in the Y direction. Reference numeral 506A denotes a through hole connecting the upper VDD wiring 502 and the lower VDD wiring 504, and reference numeral 506B denotes a through hole connecting the upper GND wiring 503 and the lower GND wiring 505.
[0053]
With such a configuration, when the input / output buffers are arranged adjacent to each other in the X direction or the Y direction, the VDD wirings and the GND wirings of the input / output buffers adjacent to each other are connected to each other on the cell frame 501. . For example, when the input / output buffers are arranged adjacent to each other in the X direction, the VDD wirings 502 constituting the adjacent input / output buffers are connected to each other on the cell frame 501, and similarly, the GND wirings constituting the adjacent input / output buffers The wirings 503 are connected to each other on the cell frame 501. Similarly, in the Y direction, the VDD wiring and the GND wiring forming the adjacent input / output buffers are connected to each other on the cell frame 501.
[0054]
Therefore, by arranging a plurality of input / output buffers belonging to the same group adjacent to each other in the X direction or the Y direction, the VDD wiring and the GND wiring of the input / output buffers constituting the same group are automatically connected.
[0055]
Next, a semiconductor chip 601 laid out using the input / output buffer according to the present invention will be described with reference to FIG. As shown in FIG. 6, the input / output buffer arrangement areas 602A, 602B, and 602C can have various shapes. That is, the input / output buffer arrangement area 602A is constituted by a unit input / output buffer having a minimum area, and the input / output buffer arrangement area 602B is constituted by four unit input / output buffers and has a convex shape.
[0056]
In addition, the input / output buffer arrangement area 602C is composed of six unit input / output buffers and has an L-shape. As described above, according to the semiconductor integrated circuit layout method of the present invention, an input / output buffer arrangement region having various shapes such as a convex shape, an L-shape, a convex shape, a crank shape, and a step shape is constituted by a unit input / output buffer; It is characterized in that the VDD wiring and the GND wiring of each unit input / output buffer constituting the same input / output buffer arrangement area are automatically and commonly connected.
[0057]
Next, a layout method for a conductor integrated circuit according to the present invention will be described with reference to the flowchart shown in FIG. Processing steps surrounded by a bold frame and a dotted line in the figure are processing different from the arrangement and wiring method of the flip-chip type semiconductor device according to the second conventional example described with reference to FIG.
[0058]
First, in step S11, the function of the LSI is described using VHDL or the like so as to satisfy the specifications required for the semiconductor integrated circuit (LSI), and the function description data 11 is output.
[0059]
Next, in step S12, a simulation at the function level is performed on the function description data 11 generated in step S11, and operation verification at the function level is performed. Then, the function description data 11 is corrected until the result of the operation verification satisfies the required specifications.
[0060]
Subsequently, in step S13, logic synthesis is performed using the function description data 11 that satisfies the verification of the function level simulation, and circuit connection information 12 including circuit blocks as components is generated.
[0061]
Next, with reference to the circuit diagram connection information 12, in step S15, an initial chip area representing a rough chip area in an initial stage where the chip area is not determined is calculated. FIG. 2 is a flowchart showing a detailed flow of step S15, and the process of step S15 will be described in detail with reference to FIG.
[0062]
First, referring to the pin information 22 included in the circuit connection information 12, in step S21, the number of pads formed on the semiconductor chip corresponding to the input signal pins or output signal pins which are external terminals, ie, signal pads The number (N1) is calculated. In step S22, the number of pads formed on the semiconductor chip corresponding to the external power supply, that is, the number of external power supply pads (N2) is calculated. In step S23, the number of internal power supplies connected to the internal power supply is calculated. The number of pads, that is, the number of internal power supply pads (N3) is calculated, and in step S24, the number of signal pads (N1), the number of external power supply pads (N2), and the number of internal power supply pads (N3) are added to obtain the total number of pads. Calculate the number (N).
[0063]
Here, the internal power supply pad is a pad used for checking a voltage or the like of an internal power supply generated by increasing or decreasing an external power supply at a wafer stage.
[0064]
Next, referring to the solder ball pitch d stored in the solder ball pitch information 21 and the total number of pads calculated in step S24, all the pads of the signal pad, the external power supply pad, and the internal power supply pad are determined. An area S1 when the semiconductor chips are spread on the semiconductor chip is calculated by the following equation (1).
[0065]
S1 = d 2 × (square root N-1) 2 + Α (1)
Here, the first term (square root N-1) indicates the number of sides divided by the pitch d when all the pads are laid out in a square. Also, d is the solder ball pitch, which substantially matches the pitch of the pads.
[0066]
Next, referring to the cell information 23 for storing the type of cell and the number of cells mounted on the semiconductor chip and the cell utilization information 24 for storing the cell utilization, the area S2 is changed to the next (step S26). It is calculated by the equation 2).
[0067]
S2 = total cell area / cell usage rate + β (2)
Here, the total cell area is the total area of the cells arranged on the semiconductor chip, and the cell usage rate is generally a value obtained by dividing the area of the semiconductor chip by the total cell area. It is calculated from an empirical formula that takes into account various factors such as the degree and the design period.
[0068]
In Equations (1) and (2), α and β are correction terms for the area, and are corrected so that the length of the side of the semiconductor chip is an integral multiple of the section definition. Referring to FIG. 7, solder balls 73 are arranged in a matrix on a semiconductor chip 71, and the semiconductor chip 71 is configured with a partition definition 72 as a unit. At this time, the correction areas 74 corresponding to the correction terms α and β are provided such that the length of the side of the semiconductor chip 71 is an integral multiple of the section definition 72.
[0069]
Next, in step S27, the area S1 is compared with the area S2. If the area S1 is larger than or equal to the area S2, the initial chip area S is set as the area S1 in step S28, and if the area S1 is smaller than the area S2. In step S29, the initial chip area S is set to an area S2. That is, the larger one of the areas S1 and S2 is set as the initial chip area.
[0070]
For example, when the total number of pads N is 120 and the pitch d of the solder balls is 1 mm, S1 = 10.99.1 + α is obtained from the equation (1), and S1 = 100 mm by setting the correction term α to 0.9. 2 (10 mm □).
[0071]
From the initial chip area S obtained as described above, the length of the side of the initial chip where S = a × b is calculated.
[0072]
Next, the process proceeds to step S16 in FIG. 1, and as shown in FIG. 7, a partition definition 72 that does not distinguish between the layout area and the layout grid of both the input / output buffer and the circuit block constituting the internal circuit is formed on the entire surface of the initial chip 71. Set over.
[0073]
In step S17, the input / output buffers are grouped in step S171 with reference to the layout restriction data 13 storing various layout conditions for the input / output buffers and the circuit blocks constituting the internal circuit. In step S <b> 172, the general layout of each input / output buffer and the specific internal circuit block specified by the layout restriction data 13 are performed, and in step S <b> 173, the specific internal circuit block specified by the input / output buffer and the layout restriction data 13. Fine-tune the placement position of.
[0074]
The internal circuit blocks other than the specified specific internal circuit block are automatically arranged in step 30 described later.
[0075]
First, the grouping of the input / output buffers in step S171 will be described more specifically. All the input / output buffers included in the circuit connection information 12 are grouped into a plurality of groups with reference to the circuit connection information 12.
[0076]
This grouping is performed in consideration of the operation timing consistency, the mutual interference of signals, the positional relationship of the terminals on the board on which the chip is mounted, the manufacturing process, and the layout restriction data 13 such as the test environment.
[0077]
In this case, each group is provided with a required number of power supply cells for supplying power to the input / output buffers constituting each group and GND cells connected to the GND wiring of each input / output buffer. That is, the power supply wiring and the GND wiring of each group are basically independent of each other.
[0078]
Next, in steps S172 and S173, a specific circuit block specified by the input / output buffer and the layout restriction data 13 is roughly arranged on the semiconductor chip. At this time, layout restrictions related to critical paths, crosstalk between signals, malfunctions caused by noise jumping into the signal lines, various restrictions in testing, and the balance of the layout positions of macrocells with large areas and input / output buffers In consideration of the data 13, the arrangement of each input / output buffer, the arrangement of specific circuit blocks constituting an internal circuit, and the relative arrangement of each input / output buffer and a specific circuit block so as to satisfy these conditions. Do.
[0079]
For example, recently, ASICs are often equipped with high-speed A / D converters, D / A converters, PLL circuits, and the like, but these analog circuits are extremely sensitive to noise.
[0080]
However, as the speed of the digital circuit increases, the noise power of the noise increases, and the noise in the analog circuit is easily mixed. Therefore, it is extremely important how to arrange a circuit block that generates noise and an analog circuit so that the characteristics of the analog circuit do not deteriorate.
[0081]
In steps S172 and S173, unlike the layout and wiring method of the flip-chip type semiconductor device according to the second conventional example, the input / output buffer layout areas 602A, 602B and 602C are formed in various shapes as shown in FIG. Can be. That is, in the second conventional example, the input / output buffer arrangement areas can be basically arranged only in one row, which is a large restriction on the arrangement. However, by using the input / output buffer according to the present invention, the rectangular area having the minimum area can be obtained. An input / output buffer having various shapes such as a unit input / output buffer having a shape, an input / output buffer having a convex shape, an input / output buffer having an L-shape, and the same input / output buffer can be formed. The VDD wiring and the GND wiring of each unit input / output buffer constituting the arrangement area are automatically and commonly connected.
[0082]
As a result, the above-mentioned critical path, crosstalk between signals, malfunction caused by noise jumping into the signal line, various restrictions in testing, balance of arrangement of macro cell with large area and input / output buffer, etc. It is possible to arrange each input / output buffer, the arrangement of specific circuit blocks that constitute the internal circuit, and the relative arrangement of each input / output buffer and specific circuit block in consideration of various related conditions. is there.
[0083]
The above contents will be described in more detail with reference to FIG. 12 (b). FIG. 12 (b) shows the relative positional relationship between the input / output buffer and the cell or macro cell when the input / output buffer according to the present invention is used. ing.
[0084]
In FIG. 12B, reference numerals 121A 'to 121E' denote input / output buffers according to the present invention, and reference numerals 123A 'to 124E' denote wirings for connecting the input / output buffers 121A 'to 121E' and the cell or macrocell 122, respectively. .
[0085]
Since the input / output buffers 121A 'to 121E' according to the present invention can be arranged in a U-shape as shown in FIG. 12B, the input / output buffers 121A 'to 121E' should be arranged so as to surround the cell or the macro cell 122. Can be done.
[0086]
Therefore, the lengths of the wirings 123A 'to 124E' can be equalized as compared with the case of the layout and wiring method of the flip-chip type semiconductor device according to the second conventional example shown in FIG. Therefore, when a semiconductor integrated circuit is laid out using the input / output buffers 121A 'to 121E' according to the present invention, a timing error is less likely to occur.
[0087]
In order to facilitate the explanation, the steps inside the floor plan are described in order. However, in actuality, various setups are conceivable depending on the design target at each time, and the order of the steps is not necessarily described above. You do not need to follow the instructions.
[0088]
Next, in step S18, steps from automatic placement of internal blocks other than a specific internal block to timing verification by actual wiring are performed. This processing step will be described in detail with reference to FIG.
[0089]
First, in step 30, automatic placement of internal circuit blocks other than the specific internal circuit block designated by the placement restriction data 13 is performed, and the placement data, the input / output buffer generated in step S173, and the specific internal circuit block From the placement data, the placement data 31 of all the circuit blocks including the input / output buffer is generated.
[0090]
Next, in step S31, the wiring length between the circuit blocks is predicted with reference to the placement data 31, the wiring capacity of the wiring is calculated using the predicted wiring length, and the timing verification using the temporary wiring is performed. That is, a timing simulation is performed using temporary wiring, and the result is output as error information.
[0091]
If the above timing conditions are satisfied, in step S32, the detailed arrangement of all the circuit blocks including the input / output buffer and the internal circuit block and the detailed wiring based on the detailed arrangement are automatically performed using a computer. The placement / wiring data 32 is generated.
[0092]
If it is determined in step S31 that the timing condition is not satisfied, the input / output buffer and the specific internal circuit block arranged in step S173 or the circuit blocks other than the specific internal circuit arranged in step S30 are determined. Then, in step S33, by changing the arrangement so that part or all of these arrangements satisfy the timing condition, it is determined whether or not the result satisfies the timing condition, and it is determined that the timing change is satisfied by the change in the arrangement. If so, the arrangement is corrected in step S34, and the arrangement data 31 is updated to the corrected new arrangement data.
[0093]
Next, in step S35, the actual wiring length between the circuit blocks is extracted with reference to the placement / wiring data 32, the wiring capacitance of the wiring is calculated using the extracted actual wiring length, and the timing verification using the actual wiring is performed. Do. That is, a timing simulation is performed using actual wiring, and the result is output as error information. If it is determined that the timing is satisfied, the symbolic layout data used in the above processing is all converted into artwork data for mask production, and becomes data for mask production.
[0094]
If it is determined in the processing step S35 that the timing is not satisfied, the wiring constituting the placement / wiring data 32 is changed in step S36 so as to satisfy the timing condition. As a result, the timing is satisfied. If it is determined that it is possible to change the wiring so as to satisfy the timing by changing a part or all of the wiring between the circuit blocks, the wiring is changed in step S37 and the placement / wiring data 32 is changed. Is updated to the corrected new wiring data.
[0095]
When it is determined that the timing condition is not satisfied even if the arrangement of the input / output buffer and the internal circuit block is changed in step S33, an enlarged chip area obtained by increasing the chip area is calculated in step S19 in FIG.
[0096]
Next, the processing flow for expanding the chip area in step S19 will be described in detail with reference to FIG.
[0097]
First, in step S41, the number of errors K that have caused a timing error is calculated from error information in the timing simulation using the temporary wiring or the timing simulation using the actual wiring.
[0098]
Next, in step S42, an increase rate g of the wiring grid is determined. Here, the increase rate g of the wiring grid is a ratio of the number of wiring grids increasing to the original number of wiring grids. For example, when three wiring grids are increased for 100 wiring grids, Is 3%.
[0099]
Next, in step S43, the wiring grid enlargement ratio γ is calculated from the following equation (3) from the wiring grid increase rate g calculated in step S42 and the wiring grid interval D.
[0100]
γ = gD (μm) (3)
Next, in step S44, one side of the semiconductor chip in the X-axis direction and the Y-axis direction is calculated from the following equation (4) based on the number of errors K calculated in step S41 and the wiring grid enlargement ratio γ calculated in equation (1). Are enlarged by ΔX and ΔY calculated from.
[0101]
ΔX = ΔY = (K ÷ 2) × γ (μm) (4)
That is, the lengths of the sides in the X-axis direction and the Y-axis direction are made equally long according to the number of errors K.
[0102]
In the above description, the length of the side of the semiconductor chip is uniformly increased in the X-axis direction and the Y-axis direction according to the number of errors K. However, the present invention is not limited to this. May be changed.
[0103]
Next, in step S45, the solder ball interval information 401 in which the solder ball interval H (μm) is stored, and the enlarged lengths ΔX and ΔY of the sides of the semiconductor chip in the X-axis direction and the Y-axis direction calculated in step S44. It is determined whether or not the solder ball spacing H has been exceeded. If the enlarged lengths ΔX and ΔY have exceeded the solder ball spacing H, the solder balls have a value obtained by rounding ΔX (= ΔY) / H to an integer in step S46. Are increased in the X-axis direction and the Y-axis direction, respectively, and the solder balls are not added unless the enlarged lengths ΔX and ΔY exceed the solder ball interval H.
[0104]
Next, after performing the processing of steps S45 and S46, the processing step S16 shown in FIG. 1 is executed. That is, the partition definition that does not distinguish both the input / output buffer and the circuit block constituting the internal circuit is updated on the enlarged chip obtained from the enlarged chip area in response to the results of step S45 and step S46, and the updated partition is On the basis of the definition, in step S172, a specific circuit block constituting an input / output buffer and an internal circuit is roughly arranged.
[0105]
In this way, the processing flow described above is repeatedly executed until all timing errors are eliminated, and when all timing errors are eliminated, the chip area at that time is determined as the final chip area of the semiconductor integrated circuit.
[0106]
That is, when the initial chip area is calculated in step S15 according to the layout method of the semiconductor integrated circuit according to the present invention, the chip area is set to be as small as possible. By appropriately increasing the chip area, it is possible to design a semiconductor integrated circuit that satisfies the timing conditions without unnecessarily increasing the chip area.
[0107]
Next, how the chip area is specifically reduced when designing using the layout method of the semiconductor integrated circuit according to the present invention described above will be specifically described.
[0108]
As an example, as shown in FIGS. 11A and 11B, when the total number of external pins is 400 pins, the cell usage rate is 20%, and the area of the input / output buffer is 50 μm × 500 μm, FIG. In the conventional layout method of a semiconductor integrated circuit shown in FIG. 1, the length of the side of the semiconductor chip is 50 μm × 100 pins + 500 μm × 2 = 6 mm. However, it is assumed that 100 pins are distributed to each of the upper side, the lower side, the left side, and the right side. Therefore, the chip area according to the conventional semiconductor integrated circuit layout method is 6 mm × 6 mm = 36 mm. 2 It becomes.
[0109]
On the other hand, in the layout method of the semiconductor integrated circuit according to the present invention, the area of the chip internal region is 5 mm × 5 mm = 25 mm. 2 Is the area for arranging all the circuit blocks constituting the internal circuit. 2 × 0.2 = 5mm 2 And the area of 400 input / output buffers, ie, 50 μm × 500 μm × 400 = 10 mm 2 5mm 2 + 10mm 2 = 15mm 2 Is the chip area.
[0110]
Therefore, 15mm 2 ÷ 36mm 2 = 0.42, and when the layout method of the semiconductor integrated circuit according to the present invention is used, the chip area can be significantly reduced.
[0111]
In addition, by using the input / output buffer according to the present invention shown in FIG. 5, the shape of the input / output buffer area can be made various shapes as shown in FIG. As a result, the shape of the input / output buffer arrangement area and the arrangement of the input / output buffers can be determined so as to satisfy the timing condition. The number of times of repeating the wiring process is reduced, and the entire design period can be shortened.
[0112]
Next, a semiconductor chip 801 designed by using the semiconductor integrated circuit layout method according to the present invention will be described with reference to FIGS.
[0113]
FIG. 8 is a diagram for conceptually explaining the planar structure of the semiconductor chip 801. Solder balls 803 are arranged at the same solder ball pitch over the entire surface of the semiconductor chip 801. 804A, 804B, and 804C. In addition, cells 805A and 805B and macro cells 805C and 805D constituting an internal circuit are arranged. FIG. 9 is an enlarged view of the area indicated by the dotted line A in FIG. 8, and will be described with reference to FIG.
[0114]
Reference numerals 901A and 901B denote internal power (Vi) pads, 902A and 902B denote internal GND (Gi) pads, 903A to 903D denote signal pads, and 904A and 904B denote external power (V). ), And 905A and 905B are pads for external GND (G).
[0115]
Reference numerals 910A to 910F denote input / output buffers according to the present invention. Reference numerals 911A to 911F denote input / output buffers 910A to 910F, signal pads 903A to 903D, external power (V) pads 904A, and external GND (G) pads. 905A.
[0116]
Similarly, 920A to 920D are input / output buffers according to the present invention, and 921A to 921D are input / output buffers 920A to 920D, signal pads (not shown), external power (V) pads 904B, and external GND ( G) for connecting the respective pads 905B.
[0117]
930A to 930D represent cells or macro cells.
[0118]
Next, the layout will be described in more detail mainly on the input / output buffers 910A to 910F and 920A to 920D.
[0119]
910C constitutes a power supply cell, is connected to an external power supply (V) pad 904A via a wiring 911C, and is adjacent to and in contact with the input / output buffers 910A and 910E. , 910E are automatically connected to the power supply wiring. Therefore, current flows from the external power supply (V) pad 904A to the input / output buffers 910A and 910E and the input / output buffers 910B and 910F adjacent to the input / output buffers 910A and 910E via the power supply cell 910C. Supplied.
[0120]
Similarly, 910D constitutes a GND cell, is connected to an external GND (G) pad 905A via a wiring 911D, and is adjacent to and in contact with the input / output buffers 910B and 910F. The GND lines of the output buffers 910B and 910F are automatically connected to the GND lines. Therefore, current flows from the input / output buffers 910B and 910F and the input / output buffers 910A and 910E adjacent to the input / output buffers 910B and 910F to the external GND (G) pad 905A via the GND cell 910D. Flows.
[0121]
The input / output buffer 910A is connected to the signal pad 903A via the wiring 911A, amplifies a signal applied to the signal pad 903A, and inputs the amplified signal to the cell 930C.
[0122]
The input / output buffer 910E is connected to the signal pad 903B via the wiring 911E, amplifies the signal output from the macro cell 930D, and outputs the amplified signal to the signal pad 903B.
[0123]
As described above, the input / output buffers 910A to 910F constitute one group, which includes the power supply cell 910C and the GND cell 910D, and supplies power to each of the input / output buffers 910A to 910F constituting the group. I do.
[0124]
The group composed of the input / output buffers 920A to 920D is basically the same as the above-described layout structure, but the shape of the input / output buffer arrangement area is L-shaped. This is because the signal pad connected to the input / output buffer 920D is located on the right side of the input / output buffer 920D, and the signal pad connected to the input / output buffer 920B is located below the input / output buffer 920B. , 921B and 921D.
[0125]
Next, with reference to FIG. 10, a description will be given of a layout of a semiconductor chip in an intermediate step of a layout method of a semiconductor integrated circuit according to the present invention.
[0126]
FIG. 10A shows a layout in which solder balls 102 are arranged over the entire surface of the initial chip 101 on the initial chip 101 based on the initial chip area calculated in step S15 of FIG.
[0127]
Next, FIG. 10B shows a layout when the input / output buffers 110A to 110D and specific circuit blocks 120A to 120C constituting the internal circuit are arranged in step S172 of FIG.
[0128]
Next, FIG. 10C shows that a timing error occurs as a result of the timing verification using the temporary wiring or the timing verification using the actual wiring in step S18 in FIG. 1, and the chip area is increased in step S19 according to the number of timing errors. This is shown. Here, reference numeral 103 denotes an enlarged semiconductor chip.
[0129]
Although the solder balls 105 are arranged on the entire surface in the enlarged area, the solder balls 105 need not always be arranged. However, the use of the solder balls 105 further improves the degree of freedom in the arrangement of the input / output buffers.
[0130]
Next, a second embodiment of a layout method for a semiconductor integrated circuit according to the present invention will be described with reference to the drawings.
[0131]
In the first embodiment of the layout method of the semiconductor integrated circuit according to the present invention, the number of timing errors is calculated without regard to the position on the semiconductor chip where the timing errors occurred in step S41 of FIG. In step S44, the semiconductor chip is extended by ΔX in the X-axis direction and ΔY in the Y-axis direction by a distance proportional to the number of timing errors. However, in the second embodiment, in step S41 ′ instead of step S41, From the simulation result, the position where the timing error has occurred is calculated from the node where the error has occurred and the layout data corresponding to this node, and in step S44 'instead of step S44, the position where the timing error has occurred is directed outward from the semiconductor chip. To enlarge the semiconductor chip.
[0132]
Next, the contents described above will be described more specifically with reference to FIG.
[0133]
FIG. 13A shows that timing errors have been detected at two locations on the initial chip 131, that is, at the locations of 133A and 133B in step S41 '. 132 is the center position of the initial chip 131, and 134A to 134E indicate cells or macro cells.
[0134]
Subsequently, in step S44 ', the initial chip 131 is enlarged outward from the position 133A. Next, in step S16, the partition definition that does not distinguish between the input / output buffer and the circuit block constituting the internal circuit is also performed on the enlarged region.
[0135]
In FIG. 13 (b), 135A and 136A are straight lines in the Y-axis direction and the X-axis direction passing through the position 133A, respectively, and only d2 in the X-axis direction and d1 in the y-axis direction. On the left side of the straight line 135A and above the straight line 136A. Here, d1 is a wiring grid in the Y-axis direction, d2 is a wiring grid in the X-axis direction, and 135 'and 136A' represent straight lines after the straight lines 135 and 136A have moved by the wiring grid.
[0136]
As a result, the cell 134A moves leftward by the distance d2 and upwards by the distance d1. The cell 134B moves upward by the distance d1.
[0137]
Similarly, in step S44 ', the initial chip 131 is enlarged outward from the position 133B. Subsequently, in step S16, a partition definition that does not distinguish between the input / output buffer and the circuit block forming the internal circuit is also performed on the enlarged region.
[0138]
135B and 136B are straight lines in the Y-axis direction and the X-axis direction passing through the position 133B, respectively, and are enlarged by the wiring grid, that is, d2 in the X-axis direction and d1 in the y-axis direction. As a result, the cell 134D moves rightward by the distance d2. The cell 134E moves downward by the distance d1.
[0139]
Also, even if the initial chip is enlarged, the macro cell 134C does not move because it is located inside the positions 133A and 133B where the timing error has occurred.
[0140]
Next, in steps S172 and 173 in FIG. 1, after the input / output buffers and specific internal circuit blocks are roughly arranged, in step S18, timing verification using temporary wiring or timing verification using actual wiring is performed. As a result, when the timing error corresponding to the position 133A is eliminated and the timing error corresponding to the position 133B is not eliminated, as shown in FIG. 13C, the wiring grid is further enlarged with respect to the position 133B. That is, the right side from the straight line 135B is moved by two wiring grids in the right direction, and the lower side from the straight line 136B is moved by two wiring grids in the downward direction.
[0141]
As described above, until all the timing errors are resolved, the semiconductor chip, that is, the partition definition is sequentially enlarged by the minimum unit distance from the position where the timing error occurred to the outside, and the input / output buffer and the internal circuit block are rearranged. And rewiring. Then, when all the timing errors have been resolved, the chip area at that time is determined as the final chip area of the semiconductor integrated circuit.
[0142]
In the layout method of the semiconductor integrated circuit according to the second embodiment described above, the position where the timing error has occurred is detected, and the area of the partition definition is expanded toward the outside of the detected position. As compared with the layout method of the semiconductor integrated circuit according to the embodiment, the input / output buffer and the internal circuit block can be efficiently rearranged and re-routed by using the enlarged area of the section definition. As compared with the case of using the semiconductor integrated circuit layout method, the number of layout repetitions is further reduced, so that not only the design period is shortened, but also the area of the semiconductor chip can be reduced.
[0143]
In the above description, the semiconductor chip having the flip-chip configuration is mainly described. However, the present invention is not limited to the flip-chip, and may be applied to a semiconductor integrated circuit of a type in which external pins and pads formed on the semiconductor chip are connected by bonding wires. Applicable.
[0144]
Further, in FIG. 5, the case where the VDD wiring or the GND wiring is linearly arranged from the left end to the right end or from the upper end to the lower end of the cell frame in the X direction or the Y direction has been described, but is not necessarily limited to this wiring method. However, it is important that the positions of the VDD wiring and the GND wiring on the cell frame and the wiring layer are common to the input / output buffers. If this condition is satisfied, the VDD wiring and the GND wiring of each input / output buffer constituting the group can be commonly connected by adjoining the input / output buffers constituting the group in the X direction or the Y direction. .
[0145]
Although FIG. 9 illustrates the case where one group includes one power supply cell and one GND cell, the case where two or more power supply cells and GND cells are provided in one group can be easily expanded. . In this case, the current supply capability can be enhanced.
[0146]
【The invention's effect】
As described above, in the layout method of the semiconductor integrated circuit according to the first embodiment of the present invention, when calculating the initial chip area, the chip area is set to be as small as possible, and thereafter, a timing error occurs. By enlarging the chip area according to the number of errors, it is possible to design a semiconductor integrated circuit that satisfies the timing conditions without unnecessarily increasing the chip area.
[0147]
Further, the layout method of the semiconductor integrated circuit according to the second embodiment of the present invention detects a position where a timing error has occurred, and enlarges the area of the partition definition outward of the detected position. The input / output buffer and the internal circuit block can be efficiently rearranged and re-routed by using the area of the enlarged section definition as compared with the layout method of the semiconductor integrated circuit according to the embodiment. As compared with the case of using the semiconductor integrated circuit layout method according to the embodiment, the number of layout repetitions is further reduced, so that not only the design period is shortened, but also the area of the semiconductor chip can be reduced.
[0148]
Further, by using the input / output buffer according to the present invention, the shape of the input / output buffer area can be made various. Thus, the shape of the input / output buffer arrangement area and the arrangement of the input / output buffer can be determined so as to satisfy the timing condition. The number of times of repeating the process of rewiring between circuit blocks is reduced, and the entire design period can be shortened.
[Brief description of the drawings]
FIG. 1 is a flowchart showing an embodiment of a semiconductor integrated circuit layout method according to the present invention.
FIG. 2 is a flowchart for explaining details of step S15 in FIG. 1 for calculating an initial chip area;
FIG. 3 is a flowchart for explaining details from automatic wiring to timing verification by actual wiring in step S18 in FIG. 1;
FIG. 4 is a flowchart for explaining in detail a processing content of step S19 in FIG. 1 for expanding a chip area;
FIG. 5 is a layout diagram of an input / output buffer according to the present invention.
FIG. 6 is a layout diagram showing an embodiment in which input / output buffers according to the present invention are grouped and input / output buffers belonging to each group are arranged on a semiconductor chip.
FIG. 7 is a chip layout diagram for explaining a solder ball 73 arranged on a semiconductor chip 71, a section definition 72, and a correction area 74 corresponding to correction terms α and β.
FIG. 8 is a layout diagram of a semiconductor chip designed using the semiconductor integrated circuit layout method according to the present invention.
FIG. 9 is an enlarged layout diagram showing a part A of FIG. 8;
FIG. 10 is a diagram illustrating each layout of a semiconductor chip in an intermediate step of a layout method of a semiconductor integrated circuit according to the present invention.
11A and 11B are a chip layout diagram for calculating each chip area and a layout diagram of an input / output buffer in a conventional semiconductor integrated circuit layout method and a semiconductor integrated circuit layout method according to the present invention.
FIG. 12 illustrates a difference in wiring length between an input / output buffer and a cell or a macrocell due to a difference in arrangement of each input / output buffer in a conventional semiconductor integrated circuit layout method and a semiconductor integrated circuit layout method according to the present invention. It is a conceptual layout diagram for explaining.
FIG. 13 is a chip layout diagram for explaining each processing step of step S41 ′ and step S44 ′ in the semiconductor integrated circuit layout method according to the second embodiment of the present invention.
FIG. 14 is a flowchart showing a method of placing and wiring a flip-chip type semiconductor device according to a second conventional technique.
FIG. 15 is a plan view when a partition is defined using a basic cell as a minimum unit in the placement and routing method for a flip-chip type semiconductor device according to the second conventional technique.
FIG. 16 shows an input / output buffer for each group arranged by using the arrangement and wiring method of the flip-chip type semiconductor device according to the second prior art, power supply wiring and GND wiring connected to the input / output buffer, and an internal circuit arrangement area 164A. 164D is a chip layout diagram. FIG.
FIG. 17 is a chip layout diagram showing a first conventional example of a layout method of a semiconductor integrated circuit.
[Explanation of symbols]
11,111 Function description data
12 Circuit connection information
13,121 Placement restriction data
14,126 Mask data
21 Solder ball pitch information
22 pin information
23 cell information
24 Cell usage information
31 Placement data
32 Placement / wiring data
71, 101, 131 Initial chip
72 Section definition
73, 102, 105, 172, 803 solder ball
74 Correction area
103, 111, 131 ", 151, 181, 601, 801 Semiconductor chip
110A to 110C, 134A, 134B, 134D, 134E, 175A to 175C, 805A, 805B cells
112A to 112D, 121A to 121E, 152, 161A to 161C, 174 I / O buffer
114 Circuit diagram data
120A to 120C, 134C, 175D to 175F, 805C, 805D Macrocell
121A 'to 121E', 910A to 910F, 920A to 920D Input / output buffer according to the present invention
122,930A-930D cell or macro cell
123A to 123E, 123A 'to 123E', 911A to 911F, 921A to 921D Wiring
132 Center of Semiconductor Chip
133A, 133B Position on semiconductor chip where timing error was detected
135A Straight line in Y-axis direction passing through position 133A
135B Straight line in Y-axis direction passing through position 133B
136A Straight line in X-axis direction passing through position 133A
136B Straight line in X-axis direction passing through position 133B
135A 'Straight line obtained by moving straight line 135A outward
135B 'A straight line obtained by moving the straight line 135B outward.
136A 'Straight line obtained by moving straight line 136A outward
136B 'Straight line obtained by moving straight line 136B outward
153a to 153d Internal circuit block
154 Block placement position definition area
155 Section definition
162, 502, 504 VDD wiring
163, 503, 505 GND wiring
164A to 164D Internal circuit layout area
173 Internal area of semiconductor chip
401 Solder ball spacing information
402 Wiring grid interval information
501 I / O buffer cell frame
506A, 506B Through hole
507 Reference point provided on cell frame 501
602A to 602C, 804A, 804B, 804C Input / output buffer arrangement area
603 Internal circuit layout area
901A, 901B Internal power supply (Vi) pad
902A, 902B Pad for internal GND (Gi)
903A to 903D Signal pad
904A, 904B External power supply (V) pad
905A, 905B Pad for external GND (G)

Claims (8)

複数の内部回路ブロックと、前記複数の内部回路ブロックと外部とのインタフェースを行い、X方向またはY方向に互いに隣接配置された場合いずれの方向に対しても電源配線およびGND配線が共通接続される複数の入出力バッファとを含む半導体集積回路の回路接続情報を生成する第1のステップと、
前記回路接続情報を基に前記複数の入出力バッファを電気的に独立した複数の電源に対応して複数の入出力バッファグループにグループ化する第2のステップと、
前記入出力バッファおよび前記内部回路ブロックの両方を区別せず、共通に半導体チップ上に配置するための配置グリッドを、前記半導体チップ全面に渡って設定する区画定義を行う第3のステップと、
前記入出力バッファグループを構成する前記複数の入出力バッファを互いに隣接するように前記配置グリッドに配置すると共に、前記複数の内部回路ブロックを前記配置グリッドに配置する第4のステップと、
前記各入出力バッファグループを構成する前記複数の入出力バッファに対する前記各入出力バッファ毎にそれぞれ独立した前記電源配線と前記GND配線と、前記内部回路ブロックに対する前記電源配線とGND配線と、前記複数の内部回路ブロックおよび前記複数の入出力バッファ相互の配線とを行う第5のステップと、を備える半導体集積回路のレイアウト方法。
A plurality of internal circuit blocks and an interface between the plurality of internal circuit blocks and the outside, and when arranged adjacent to each other in the X direction or the Y direction, the power supply wiring and the GND wiring are commonly connected in any direction. A first step of generating circuit connection information of a semiconductor integrated circuit including a plurality of input / output buffers;
A second step of grouping the plurality of input / output buffers into a plurality of input / output buffer groups corresponding to a plurality of electrically independent power supplies based on the circuit connection information;
A third step of defining a partition for setting an arrangement grid for common arrangement on a semiconductor chip over the entire surface of the semiconductor chip without distinguishing both the input / output buffer and the internal circuit block;
A fourth step of arranging the plurality of input / output buffers constituting the input / output buffer group on the arrangement grid so as to be adjacent to each other and arranging the plurality of internal circuit blocks on the arrangement grid;
The power supply wiring and the GND wiring which are independent for each of the input / output buffers for the plurality of input / output buffers constituting each of the input / output buffer groups; the power supply wiring and the GND wiring for the internal circuit block; And a fifth step of interconnecting the internal circuit block and the plurality of input / output buffers with each other.
前記入出力バッファグループは、前記半導体チップ上に形成され前記複数の入出力バッファと前記複数の内部回路ブロックとに電源を供給する電源用パッドに接続し、前記入出力バッファグループを構成する前記入出力バッファと隣接配置することにより、この入出力バッファと前記電源配線が共通接続される電源セルと、
前記半導体チップ上に形成され外部のGND配線に接続するGNDパッドに接続し、前記入出力バッファグループを構成する前記入出力バッファと隣接配置することにより、この入出力バッファと前記GND配線が共通接続されるGNDセルと、
を少なくとも各1個備えることを特徴とする請求項1記載の半導体集積回路のレイアウト方法。
The input / output buffer group is connected to a power supply pad formed on the semiconductor chip and configured to supply power to the plurality of input / output buffers and the plurality of internal circuit blocks, thereby forming the input / output buffer group. By arranging adjacently to the output buffer, a power supply cell to which the input / output buffer and the power supply wiring are connected in common,
The input / output buffer and the GND line are connected in common by being connected to a GND pad formed on the semiconductor chip and connected to an external GND line and adjacent to the input / output buffer constituting the input / output buffer group. A GND cell to be
2. The layout method for a semiconductor integrated circuit according to claim 1, wherein at least one of each is provided.
前記入出力バッファは、第1の配線層からなる第1の電源配線および第1のGND配線が、第1の方向に入出力バッファの外形を示すセル枠の両端を結ぶように配線され、第2の配線層からなる第2の電源配線および第2のGND配線が、前記第1の方向と直交する第2の方向に前記セル枠の両端を結ぶように配線され、前記第1の電源配線と前記第2の電源配線が交差する箇所にスルーホールを設けて前記第1の電源配線と前記第2の電源配線とが電気的に接続され、前記第1のGND配線と前記第2のGND配線が交差する箇所に前記スルーホールを設けて前記第1のGND配線と前記第2のGND配線とが電気的に接続されることを特徴とする請求項1記載の半導体集積回路のレイアウト方法。The input / output buffer is wired such that a first power supply wiring and a first GND wiring formed of a first wiring layer connect both ends of a cell frame indicating an outer shape of the input / output buffer in a first direction. A second power supply wiring and a second GND wiring made of two wiring layers are connected to connect both ends of the cell frame in a second direction orthogonal to the first direction, and the first power supply wiring is provided. A through hole is provided at a location where the first power line and the second power line intersect with each other, and the first power line and the second power line are electrically connected to each other, and the first GND line and the second GND are connected. 2. The layout method for a semiconductor integrated circuit according to claim 1, wherein the through hole is provided at a location where the wiring intersects, and the first GND wiring and the second GND wiring are electrically connected. 前記入出力バッファグループを構成する前記複数の入出力バッファが、L字形、凹形、凸形、クランク形、または階段形のいずれかの形状に配置されることを特徴とする請求項1記載の半導体集積回路のレイアウト方法。The input / output buffer constituting the input / output buffer group is arranged in any one of an L-shape, a concave shape, a convex shape, a crank shape, and a step shape. A layout method for a semiconductor integrated circuit. 複数の内部回路ブロックと、前記複数の内部回路ブロックと外部とのインタフェースを行い、X方向またはY方向に互いに隣接配置された場合いずれの方向に対しても電源配線およびGND配線が共通接続される複数の入出力バッファとを含む半導体集積回路の回路接続情報を生成する第1のステップと、前記回路接続情報を基に前記複数の入出力バッファを電気的に独立した複数の電源に対応して複数の入出力バッファグループにグループ化する第2のステップと、前記半導体集積回路の概略的なチップ面積である初期チップ面積を算出する第3のステップと、前記初期チップ面積から算出した半導体チップである初期チップ上に、前記入出力バッファおよび前記内部回路ブロックの両方を区別せず共通に配置するための配置グリッドを、前記初期チップ全面に渡って設定する区画定義を行う第4のステップと、前記入出力バッファグループを構成する前記複数の入出力バッファを互いに隣接するように前記配置グリッドに配置すると共に、前記複数の内部回路ブロックを前記配置グリッドに配置する第5のステップと、前記各入出力バッファグループを構成する前記複数の入出力バッファに対する前記各入出力バッファ毎にそれぞれ独立した前記電源配線と前記GND配線と、前記内部回路ブロックに対する前記電源配線と前記GND配線と、前記複数の内部回路ブロックおよび前記複数の入出力バッファ相互の配線とを行う第6のステップと、前記第5のステップと前記第6のステップの各処理結果に基づき、前記半導体集積回路のタイミングシミュレーションを行い、得られたタイミングシミュレーション結果が所定のタイミング条件を満たすか否かを判定する第7のステップと、前記第7のステップで前記タイミングシミュレーション結果が所定のタイミング条件を満たさない場合、前記初期チップ面積を拡大した拡大チップ面積を算出する第8のステップと、前記第8のステップの処理結果により、前記拡大チップ面積から算出した半導体チップである拡大チップ上に、前記入出力バッファおよび前記内部回路ブロックの両方を区別せず共通に配置するための配置グリッドを、前記拡大チップ全面に渡って設定する区画定義を行う第9のステップと、前記第5のステップでの配置グリッドを前記第9のステップで得られた配置グリッドに変更して、前記第5のステップの処理を行う第10のステップと、前記第10のステップの処理結果である前記入出力バッファと前記内部回路ブロックの配置結果を基に、前記第6の処理を行う第11のステップと、を備える半導体集積回路のレイアウト方法。A plurality of internal circuit blocks and an interface between the plurality of internal circuit blocks and the outside, and when arranged adjacent to each other in the X direction or the Y direction, the power supply wiring and the GND wiring are commonly connected in any direction. A first step of generating circuit connection information of a semiconductor integrated circuit including a plurality of input / output buffers; and a step of corresponding the plurality of input / output buffers to a plurality of electrically independent power supplies based on the circuit connection information. A second step of grouping into a plurality of input / output buffer groups, a third step of calculating an initial chip area that is a schematic chip area of the semiconductor integrated circuit, and a semiconductor chip calculated from the initial chip area. On an initial chip, an arrangement grid for arranging the input / output buffer and the internal circuit block in common without distinguishing both, A fourth step of defining a partition set over the entire surface of the initial chip, and arranging the plurality of input / output buffers constituting the input / output buffer group on the arrangement grid so as to be adjacent to each other; A fifth step of arranging an internal circuit block on the arrangement grid, and the power supply wiring and the GND wiring which are independent for each of the input / output buffers for the plurality of input / output buffers constituting each of the input / output buffer groups; A sixth step of performing wiring between the power supply wiring and the GND wiring for the internal circuit block, and wiring between the plurality of internal circuit blocks and the plurality of input / output buffers, the fifth step, and the sixth step. A timing simulation of the semiconductor integrated circuit is performed based on each processing result of the step. A seventh step of determining whether or not the timing simulation result satisfies a predetermined timing condition; and expanding the initial chip area if the timing simulation result does not satisfy a predetermined timing condition in the seventh step. Eighth step of calculating an enlarged chip area, and, based on the processing result of the eighth step, both the input / output buffer and the internal circuit block are placed on an enlarged chip which is a semiconductor chip calculated from the enlarged chip area. A ninth step of defining a section for setting an arrangement grid for common arrangement without distinction over the entire surface of the enlarged chip, and an arrangement grid in the fifth step are obtained in the ninth step. A tenth step of performing the processing of the fifth step by changing the arrangement grid to An eleventh step of performing the sixth processing based on the arrangement result of the input / output buffer and the internal circuit block, which is the processing result of the tenth step, and a eleventh step. 前記第3のステップは、前記半導体チップ上に形成され外部との信号を入出力する信号パッド数を算出する第12のステップと、前記半導体チップ上に形成され外部電源が印加される外部電源パッド数を算出する第13のステップと、前記半導体チップ上に形成され前記半導体集積回路内部で生成される内部電源が印加される内部電源パッド数を算出する第14のステップと、前記信号パッド数と前記外部電源パッド数と前記内部電源パッド数とを加算して、総パッド数を算出する第15のステップと、前記総パッド数を前記半導体チップ上に敷き詰めた場合の面積である第1の面積を算出する第16のステップと、前記内部回路ブロックの種類と前記種類毎の前記半導体チップへの前記回路ブロック搭載数より半導体チップの第2の面積を算出する第17のステップと、前記第1の面積と前記第2の面積とを比較し、前記第1の面積が前記第2の面積よりも大きいか等しい場合は、前記第1の面積を前記初期チップ面積とし、前記第1の面積が前記第2の面積よりも小さい場合は、前記第2の面積を前記初期チップ面積とする第18のステップと、を備える請求項5記載の半導体集積回路のレイアウト方法。The third step is a twelfth step of calculating the number of signal pads formed on the semiconductor chip for inputting and outputting signals to and from the outside, and an external power supply pad formed on the semiconductor chip and applied with an external power supply A thirteenth step of calculating the number of internal power supply pads formed on the semiconductor chip and to which an internal power supply generated within the semiconductor integrated circuit is applied; and a thirteenth step of calculating the number of signal pads. A fifteenth step of calculating the total number of pads by adding the number of external power supply pads and the number of internal power supply pads, and a first area which is an area when the total number of pads is spread over the semiconductor chip And calculating the second area of the semiconductor chip from the type of the internal circuit block and the number of the circuit blocks mounted on the semiconductor chip for each type. Comparing the first area with the second area, and if the first area is greater than or equal to the second area, the first area is The semiconductor integrated circuit according to claim 5, further comprising an eighteenth step in which, when the first area is smaller than the second area, the second area is the initial chip area. Layout method. 前記第1の面積S1が、dを半田ボールピッチ、Nを前記総パッド数、αを面積の補正項として、次式
S1=d 2 ×(平方根N−1) 2 +α
算出されることを特徴とする請求項6記載の半導体集積回路のレイアウト方法。
The first area S1 is represented by the following equation , where d is a solder ball pitch, N is the total number of pads, and α is a correction term of the area.
S1 = d 2 × (square root N−1) 2 + α
Layout method of a semiconductor integrated circuit according to claim 6, wherein the in is calculated.
前記第8のステップは、前記第7のステップにおいて前記タイミングシミュレーション結果が、前記所定のタイミング条件を満たさない場合に出力されるエラー情報を基に、タイミングエラーの数を算出する第19のステップと、
前記タイミングエラーの数が1個の場合に前記半導体チップ上に設定する配線グリッドの増加割合を算出する第20のステップと、
前記タイミングエラーの数と前記配線グリッドの増加割合とから、X方向とY方向へ前記半導体チップの各辺を伸張する長さを算出する第20のステップと、を備える請求項5記載の半導体集積回路のレイアウト方法。
The eighth step is a nineteenth step of calculating the number of timing errors based on error information output when the timing simulation result does not satisfy the predetermined timing condition in the seventh step. ,
A twentieth step of calculating an increase rate of a wiring grid set on the semiconductor chip when the number of the timing errors is one;
6. The semiconductor integrated circuit according to claim 5, comprising: a twentieth step of calculating a length of extending each side of the semiconductor chip in the X direction and the Y direction from the number of the timing errors and the increasing rate of the wiring grid. Circuit layout method.
JP2000050240A 2000-02-25 2000-02-25 Layout method of semiconductor integrated circuit Expired - Fee Related JP3589931B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2000050240A JP3589931B2 (en) 2000-02-25 2000-02-25 Layout method of semiconductor integrated circuit

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2000050240A JP3589931B2 (en) 2000-02-25 2000-02-25 Layout method of semiconductor integrated circuit

Publications (2)

Publication Number Publication Date
JP2001244341A JP2001244341A (en) 2001-09-07
JP3589931B2 true JP3589931B2 (en) 2004-11-17

Family

ID=18572046

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2000050240A Expired - Fee Related JP3589931B2 (en) 2000-02-25 2000-02-25 Layout method of semiconductor integrated circuit

Country Status (1)

Country Link
JP (1) JP3589931B2 (en)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7108170B2 (en) 2001-06-08 2006-09-19 Psc Scanning, Inc. Add-on capture rate in a barcode scanning system
JP4353662B2 (en) * 2001-08-22 2009-10-28 Necエレクトロニクス株式会社 Flip-chip type semiconductor integrated circuit and its design method

Also Published As

Publication number Publication date
JP2001244341A (en) 2001-09-07

Similar Documents

Publication Publication Date Title
US8239803B2 (en) Layout method and layout apparatus for semiconductor integrated circuit
US7831949B2 (en) Method of designing semiconductor integrated circuit, designing apparatus, semiconductor integrated circuit system, semiconductor integrated circuit mounting substrate, package and semiconductor integrated circuit
US7989849B2 (en) Apparatuses and methods for efficient power rail structures for cell libraries
JP2959444B2 (en) Automatic placement and routing method for flip-chip type semiconductor device
JP2009170459A (en) Method and apparatus of designing semiconductor integrated circuit device, and the semiconductor integrated circuit device
US8302067B2 (en) Pin-out designation method for package-board codesign
US7872283B2 (en) Semiconductor integrated circuit and multi-chip module
JP2004158532A (en) Layout generating tool and semiconductor integrated circuit
US6823499B1 (en) Method for designing application specific integrated circuit structure
US8089299B1 (en) Integrated circuit with through-die via interface for die stacking and cross-track routing
JP5340047B2 (en) Semiconductor integrated circuit device
JP4539916B2 (en) Semiconductor integrated circuit, semiconductor integrated circuit design method, and semiconductor integrated circuit design program
US20040251535A1 (en) Automatic wiring method for semiconductor integrated circuit, program for the same, and semiconductor integrated circuit
US8816510B2 (en) Semiconductor apparatus, substrate design method, and substrate design apparatus
JP3589931B2 (en) Layout method of semiconductor integrated circuit
JP4353662B2 (en) Flip-chip type semiconductor integrated circuit and its design method
JP7041368B2 (en) Semiconductor integrated circuit equipment
JP4610313B2 (en) Semiconductor integrated circuit design method
US7091614B2 (en) Integrated circuit design for routing an electrical connection
JP2004104039A (en) Automatic layout and wiring design method for integrated circuit, automatic layout and wiring design apparatus therefor, automatic layout and wiring design system therefor, control program and readable recording medium
US20220051981A1 (en) Power supply conductive trace structure of semiconductor device and power supply conductive trace layout method of semiconductor device
Titus et al. A visualization-based approach for bump-pad/IO-ball placement and routing in flip-chip/BGA technology
JP2005276970A (en) On-chip decoupling capacitor insertion method and integrated circuit device
JP2008060215A (en) Semiconductor device
Jaiswal Escape routing studies in high input-output count area array packaging

Legal Events

Date Code Title Description
RD01 Notification of change of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7421

Effective date: 20040121

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20040217

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20040408

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20040511

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20040527

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20040720

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20040818

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313113

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20070827

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20080827

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20080827

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20090827

Year of fee payment: 5

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20090827

Year of fee payment: 5

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20100827

Year of fee payment: 6

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20100827

Year of fee payment: 6

S533 Written request for registration of change of name

Free format text: JAPANESE INTERMEDIATE CODE: R313533

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20100827

Year of fee payment: 6

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110827

Year of fee payment: 7

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120827

Year of fee payment: 8

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120827

Year of fee payment: 8

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130827

Year of fee payment: 9

LAPS Cancellation because of no payment of annual fees