レイアウト設計方法、および、レイアウト設計プログラム
【課題】チップサイズを縮小する。
【解決手段】レイアウト設計方法は、レイアウト設計装置が、半導体集積回路のレイアウト設計を階層別に行う階層レイアウト設計における上位階層において、上位階層の下の階層で配置配線が行われる所定の機能を備えた階層ブロックが配置される領域であって、空きユニットセル配置領域3と階層ブロック用のユニットセル配置領域4とを含む階層ブロック配置領域2を、チップ領域1に設定し、チップ領域1における階層ブロック配置領域2を包囲する周辺領域5のユニットセル配置領域、および、階層ブロック配置領域2内の空きユニットセル配置領域3を用いて、配置配線を行う。
【解決手段】レイアウト設計方法は、レイアウト設計装置が、半導体集積回路のレイアウト設計を階層別に行う階層レイアウト設計における上位階層において、上位階層の下の階層で配置配線が行われる所定の機能を備えた階層ブロックが配置される領域であって、空きユニットセル配置領域3と階層ブロック用のユニットセル配置領域4とを含む階層ブロック配置領域2を、チップ領域1に設定し、チップ領域1における階層ブロック配置領域2を包囲する周辺領域5のユニットセル配置領域、および、階層ブロック配置領域2内の空きユニットセル配置領域3を用いて、配置配線を行う。
【発明の詳細な説明】
【技術分野】
【0001】
本件は、半導体集積回路のレイアウト設計方法、および、レイアウト設計プログラムに関する。
【背景技術】
【0002】
半導体集積回路のレイアウト設計の手法の1つとして、半導体集積回路を機能毎に複数のブロックに分けて設計を行う階層レイアウト設計が存在する。この複数のブロックは、それぞれ、階層ブロックと称される。
【0003】
この手法によれば、一度に設計する回路の規模を小さくすることができるため、回路情報の量を小さくできる。これにより、設計に用いられるコンピュータへの負荷(例えば、使用メモリ容量の増大や、CPU(Central Processing Unit)への負荷等)を低減することが可能となる。また、この手法によれば、階層ブロック毎に並行して設計作業を進めることができるため、設計期間を短縮することが可能となる。
【0004】
また、階層レイアウト設計では、設計が階層別に行われ、上位階層では、階層ブロックが配置される階層ブロック配置領域を配置禁止領域としてチップ領域に設定した状態で、配置配線が行われる。ここで、上位階層における配置配線は、階層ブロック配置領域を避けて行われる。
【先行技術文献】
【特許文献】
【0005】
【特許文献1】特開平4−333260号公報
【特許文献2】特開平5−151313号公報
【特許文献3】特開2000−156414号公報
【特許文献4】特開2005−235804号公報
【発明の概要】
【発明が解決しようとする課題】
【0006】
しかしながら、階層レイアウト設計では、上述したように、上位階層における配置配線は、階層ブロック配置領域を避けて行われるため、階層ブロックの規模が大きい場合には、配線を大きく迂回させる必要がある。
【0007】
配線を大きく迂回させると、配線距離が長くなり、また、これに伴い配線に設けられるバッファ素子等の回路素子の数が多くなる。これにより、配線、および、バッファ素子等の回路素子に用いられるユニットセルによって占有されるチップ領域の面積が増大し、チップサイズが大きくなってしまう可能性がある。
【課題を解決するための手段】
【0008】
発明の一観点によれば、以下のようなレイアウト設計方法が提供される。
このレイアウト設計方法は、レイアウト設計装置が、半導体集積回路のレイアウト設計を階層別に行う階層レイアウト設計における上位階層において、上位階層の下の階層で配置配線が行われる所定の機能を備えた階層ブロックが配置される領域であって、空きユニットセル配置領域と階層ブロック用のユニットセル配置領域とを含む階層ブロック配置領域を、チップ領域に設定し、チップ領域における階層ブロック配置領域を包囲する周辺領域のユニットセル配置領域、および、階層ブロック配置領域内の空きユニットセル配置領域を用いて、配置配線を行う。
【発明の効果】
【0009】
開示のレイアウト設計方法、および、レイアウト設計プログラムによれば、チップサイズを縮小することが可能となる。
【図面の簡単な説明】
【0010】
【図1】第1の実施の形態に係るレイアウト設計手順の一例を示す図である。
【図2】第2の実施の形態に係るレイアウト設計装置のハードウェアの一例を示す図である。
【図3】第2の実施の形態に係るレイアウト設計手順の一例を示すフローチャートである。
【図4】第2の実施の形態に係る上位階層において設計される回路の一例を示すブロック図である。
【図5】第2の実施の形態に係る上位階層における配線配置の手順の一例を示すフローチャートである。
【図6】第2の実施の形態に係るチップレイアウトの一例を示す図である。
【図7】第2の実施の形態に係るチップレイアウトの一例を示す図である。
【図8】第2の実施の形態に係るチップレイアウトの一例を示す図である。
【図9】第2の実施の形態に係る階層ブロックの配線配置の手順の一例を示すフローチャートである。
【図10】第2の実施の形態に係るチップレイアウトの一例を示す図である。
【図11】第2の実施の形態に係るチップレイアウトの一例を示す図である。
【図12】第2の実施の形態に係るチップレイアウトの一例を示す図である。
【図13】上位階層において設計される回路の参考例を示すブロック図である。
【発明を実施するための形態】
【0011】
以下、実施の形態を図面を参照して説明する。
[第1の実施の形態]
第1の実施の形態は、階層レイアウト設計に関するものである。階層レイアウト設計では、半導体集積回路を機能毎に複数のブロックに分けて設計を行う。この複数のブロックは、それぞれ、階層ブロックと称される。また、階層レイアウト設計では、設計が階層別に行われる。
【0012】
上位階層では、階層ブロックが配置される階層ブロック配置領域を、チップ領域に設定した状態で、配置配線が行われる。階層ブロックの配置配線は、上位階層の下の階層で行われる。なお、上位階層のうち最も上位の階層を、最上位階層(トップ階層)と称する。第1の実施の形態は、上位階層におけるレイアウト設計方法に関するものである。
【0013】
図1は、第1の実施の形態に係るレイアウト設計手順の一例を示す図である。
まず、図1(A)に示すように、階層ブロックが配置される階層ブロック配置領域2を、チップ領域1に設定する。階層ブロック配置領域2には、空きユニットセル配置領域3と階層ブロック用のユニットセル配置領域4とが含まれている。なお、チップ領域1における階層ブロック配置領域2を包囲する領域は、周辺領域5とされる。周辺領域5には、複数のユニットセル配置領域が設定されている。
【0014】
次に、図1(B)に示すように、周辺領域5のユニットセル配置領域、および、階層ブロック配置領域2内の空きユニットセル配置領域3を用いて、配置配線を行う。ここで、階層ブロック用のユニットセル配置領域4は、配置禁止領域に設定されている。なお、図1(B)では、上位階層において配置されたユニットセル6、および、上位階層において引かれた配線7が図示されている。
【0015】
このように、第1の実施の形態によれば、上位階層においてチップ領域1に設定された階層ブロック配置領域2が空きユニットセル配置領域3を含み、この空きユニットセル配置領域3を用いて上位階層における配置配線が行われる。この構成によれば、配線に設けられるバッファ素子等の回路素子に用いられるユニットセルを、空きユニットセル配置領域3に配置させることが可能となる。
【0016】
これにより、配線を階層ブロック配置領域2上に通すことができ、配線距離を短くすることができる。このため、配線、および、バッファ素子等の回路素子に用いられるユニットセルが占有するチップ領域1の面積を小さくすることができ、チップサイズを縮小することが可能となる。
【0017】
また、配線距離を短くできることで、配線遅延の影響が低減されるため、タイミング収束を容易にすることが可能となる。また、配線距離を短くでき、バッファ素子等の回路素子に用いられるユニットセルを少なくできることで、半導体集積回路の消費電力を低減することも可能となる。
【0018】
[第2の実施の形態]
次に、第1の実施の形態のレイアウト設計方法をより具体的にした実施の形態を、第2の実施の形態として説明する。
【0019】
第2の実施の形態のレイアウト設計は、レイアウト設計装置によって行われる。
図2は、第2の実施の形態に係るレイアウト設計装置のハードウェアの一例を示す図である。
【0020】
レイアウト設計装置10は、CPU11によって装置全体が制御されている。CPU11には、バス18を介してRAM(Random Access Memory)12と複数の周辺機器が接続されている。
【0021】
RAM12は、レイアウト設計装置10の主記憶装置として使用される。RAM12には、CPU11に実行させるOS(Operating System)のプログラムやアプリケーションプログラムの少なくとも一部が一時的に格納される。また、RAM12には、CPU11による処理に必要な各種データが格納される。
【0022】
バス18に接続されている周辺機器としては、ハードディスクドライブ(HDD:Hard Disk Drive)13、グラフィック処理装置14、入力インタフェース15、光学ドライブ装置16、および通信インタフェース17がある。
【0023】
HDD13は、内蔵したディスクに対して、磁気的にデータの書き込みおよび読み出しを行う。HDD13は、レイアウト設計装置10の二次記憶装置として使用される。HDD13には、OSのプログラム、アプリケーションプログラム、および各種データが格納される。なお、二次記憶装置としては、フラッシュメモリなどの半導体記憶装置を使用することもできる。
【0024】
グラフィック処理装置14には、モニタ14aが接続されている。グラフィック処理装置14は、CPU11からの命令に従って、画像をモニタ14aの画面に表示させる。モニタ14aとしては、CRT(Cathode Ray Tube)を用いた表示装置や液晶表示装置などがある。
【0025】
入力インタフェース15には、キーボード15aとマウス15bとが接続されている。入力インタフェース15は、キーボード15aやマウス15bから送られてくる信号をCPU11に送信する。なお、マウス15bは、ポインティングデバイスの一例であり、他のポインティングデバイスを使用することもできる。他のポインティングデバイスとしては、タッチパネル、タブレット、タッチパッド、トラックボールなどがある。
【0026】
光学ドライブ装置16は、レーザ光などを利用して、光ディスク16aに記録されたデータの読み取りを行う。光ディスク16aは、光の反射によって読み取り可能なようにデータが記録された可搬型の記録媒体である。光ディスク16aには、DVD(Digital Versatile Disc)、DVD−RAM、CD−ROM(Compact Disc Read Only Memory)、CD−R(Recordable)/RW(ReWritable)などがある。
【0027】
通信インタフェース17は、ネットワーク19に接続されている。通信インタフェース17は、ネットワーク19を介して、他のコンピュータまたは通信機器との間でデータの送受信を行う。
【0028】
以上のようなハードウェアによって、第2の実施の形態の処理機能を実現することができる。
次に、第2の実施の形態のレイアウト設計の手順について説明する。
【0029】
図3は、第2の実施の形態に係るレイアウト設計手順の一例を示すフローチャートである。
[ステップS10]レイアウト設計装置10が、上位階層における配置配線を行う。
【0030】
[ステップS20]レイアウト設計装置10が、階層ブロックの配置配線を行う。
[ステップS30]レイアウト設計装置10が、階層ブロックに対して、タイミング解析や物理検証等の検証を行う。
【0031】
[ステップS40]レイアウト設計装置10が、上位階層に対して、タイミング解析や物理検証等の検証を行う。なお、ステップS40は、ステップS30と並行して行われる。
【0032】
[ステップS50]レイアウト設計装置10が、階層ブロックと上位階層とを合成した状態で、最終検証を行って処理を終了する。
なお、上記のステップS10〜S50は、それぞれ、異なるレイアウト設計装置によって行うこととしてもよい。すなわち、レイアウト設計装置10の処理機能を、複数のレイアウト設計装置によって実現するようにしてもよい。
【0033】
次に、上記ステップS10に示される上位階層における配線配置の詳細について説明する。まず、上位階層において設計される回路の概要について説明する。
図4は、第2の実施の形態に係る上位階層において設計される回路の一例を示すブロック図である。チップ領域21には、階層ブロック配置領域22が設定されている。この状態で、フリップフロップ(FF:Flip Flop)回路23,24の配置配線が行われ、さらに、フリップフロップ回路23とフリップフロップ回路24との間を接続する配線25が引かれる。
【0034】
配線25には、一定間隔毎にバッファ素子26が設けられる。ここで、配線25は、階層ブロック配置領域22上を通って引かれる。また、バッファ素子26は、階層ブロック配置領域22内にも配置される。なお、配線25には、バッファ素子26の他に、抵抗素子やキャパシタ素子等の他の回路素子が設けられる場合もある。
【0035】
次に、上位階層における配線配置の手順について図5〜図8を用いて説明する。
図5は、第2の実施の形態に係る上位階層における配線配置の手順の一例を示すフローチャートである。図6〜図8は、第2の実施の形態に係るチップレイアウトの一例を示す図である。以下、図5のフローチャートに沿って、図6〜図8を参照しながら説明を行う。
【0036】
[ステップS11]図6に示すように、レイアウト設計装置10が、チップ領域21に階層ブロック配置領域22を設定する。このステップは、例えば、チップのフロアプランと称される。階層ブロック配置領域22は、X方向の辺と、X方向と交差するY方向の辺とで囲まれた矩形を備える。
【0037】
階層ブロック配置領域22には、複数の空きユニットセル配置領域と、階層ブロック用の複数のユニットセル配置領域とが含まれている。空きユニットセル配置領域は、X方向およびY方向において、一定間隔毎に配置されている。すなわち、空きユニットセル配置領域は、階層ブロック配置領域22内において格子状に設定される。
【0038】
また、空きユニットセル配置領域は、階層ブロック配置領域22の一端から対向する他端まで、一定間隔を空けて設定されている。図6に示す例では、空きユニットセル配置領域は、間に1つの階層ブロック用のユニットセル配置領域を挟んで設定されている。階層ブロック配置領域22における空きユニットセル配置領域の割合は、例えば、25%程度である。この割合は、例えば、設計する半導体集積回路の規模等に応じて適宜設定することができる。
【0039】
なお、図6に示す例では、チップ領域21に設定される階層ブロック配置領域は1つであるが、他の複数の階層ブロック配置領域を設定してもよい。また、チップ領域21における階層ブロック配置領域22を包囲する領域は、周辺領域21aとされる。周辺領域21aには、複数のユニットセル配置領域が設定されている。
【0040】
[ステップS12]図7に示すように、レイアウト設計装置10が、階層ブロック配置領域22内の階層ブロック用のユニットセル配置領域を、配置禁止領域に設定する。すなわち、階層ブロック配置領域22内の空きユニットセル配置領域と、周辺領域21aのユニットセル配置領域とが、配置許可領域とされる。
【0041】
[ステップS13]図8に示すように、レイアウト設計装置10が、周辺領域21aのユニットセル配置領域、および、階層ブロック配置領域22内の空きユニットセル配置領域を用いて、上位階層におけるユニットセルの配置を行う。ここで、ユニットセルの配置は固定される。
【0042】
[ステップS14]図8に示すように、レイアウト設計装置10が、上位階層における配線を行って処理を終了する。これにより、上位階層において配置されたユニットセル間が結線される。ここで、配線の配置は固定される。
【0043】
以上のようにして、上位階層における配置配線が行われる。
次に、図3のステップS20に示される階層ブロックの配線配置の詳細な手順について図9〜図12を用いて説明する。
【0044】
図9は、第2の実施の形態に係る階層ブロックの配線配置の手順の一例を示すフローチャートである。図10〜図12は、第2の実施の形態に係るチップレイアウトの一例を示す図である。以下、図9のフローチャートに沿って、図10〜図12を参照しながら説明を行う。
【0045】
[ステップS21]図10に示すように、レイアウト設計装置10が、上記ステップS12で設定された、階層ブロック用のユニットセル配置領域に対する配置禁止領域の設定を解除する。
【0046】
[ステップS22]図10に示すように、レイアウト設計装置10が、階層ブロック配置領域22内の空きユニットセル配置領域を、配置禁止領域に設定する。すなわち、階層ブロック配置領域22内の階層ブロック用のユニットセル配置領域が配置許可領域とされる。
【0047】
[ステップS23]図11に示すように、レイアウト設計装置10が、階層ブロック配置領域22内の階層ブロック用のユニットセル配置領域を用いて、階層ブロックのユニットセルの配置を行う。ここで、上記ステップS13において上位階層において階層ブロック配置領域22内に配置されたユニットセルは、階層ブロックのユニットセルとして同じ位置に再配置される。
【0048】
[ステップS24]図11に示すように、レイアウト設計装置10が、階層ブロック配置領域22内において階層ブロックの配線を行う。ここで、上記ステップS14において上位階層において階層ブロック配置領域22内に引かれた配線は、階層ブロックの配線として同じ位置に再配置される。
【0049】
[ステップS25]図12に示すように、レイアウト設計装置10が、空きユニットセル配置領域に対する配置禁止領域の設定を解除する。すなわち、階層ブロック配置領域22内の空きユニットセル配置領域、および、階層ブロック用のユニットセル配置領域が配置許可領域とされる。
【0050】
[ステップS26]レイアウト設計装置10が、階層ブロック配置領域22内に配置されたユニットセルおよび配線の最適化を行って処理を終了する。
以上のようにして、階層ブロックの配置配線が行われる。
【0051】
なお、以上の手順に基づいて設計され、生成された半導体集積回路では、半導体基板上に、階層ブロックにより実現される機能モジュールが配置された機能モジュール配置領域と、機能モジュール配置領域上を横切る配線と、この配線に設けられたバッファ素子等の回路素子とが配置される。
【0052】
そして、機能モジュール配置領域には、使用されていないユニットセル配置領域、および、バッファ素子等の回路素子用のユニットセルが配置されるユニットセル配置領域が、格子状に配置される。そして、機能モジュール配置領域のうち、その他のユニットセル配置領域に、機能モジュールの機能を実現するためのユニットセルが配置される。
【0053】
以上、説明してきたように、第2の実施の形態によれば、上位階層においてチップ領域21に設定された階層ブロック配置領域22が空きユニットセル配置領域を含み、この空きユニットセル配置領域を用いて上位階層における配置配線が行われる。この構成によれば、配線に設けられるバッファ素子等の回路素子に用いられるユニットセルを、空きユニットセル配置領域に配置させることが可能となる。
【0054】
これにより、配線を階層ブロック配置領域22上に通すことができ、配線距離を短くすることができる。このため、配線、および、バッファ素子等の回路素子に用いられるユニットセルが占有するチップ領域21の面積を小さくすることができ、チップサイズを縮小することが可能となる。
【0055】
また、配線距離を短くできることで、配線遅延の影響が低減されるため、タイミング収束を容易にすることが可能となる。また、配線距離を短くでき、バッファ素子等の回路素子に用いられるユニットセルを少なくできることで、半導体集積回路の消費電力を低減することも可能となる。
【0056】
なお、ここで、配線を階層ブロック配置領域22を迂回するように配置した場合について、図4に示した例を用いて説明する。
図13は、上位階層において設計される回路の参考例を示すブロック図である。
【0057】
フリップフロップ回路23とフリップフロップ回路24とを接続する配線25を、階層ブロック配置領域22を迂回するように配置した場合、図13に示すように、配線25の配線距離が長くなり、バッファ素子26の数も増大する。
【0058】
これに対して、第2の実施の形態では、図4に示すように、配線25を、階層ブロック配置領域22上を通して引くことができるため、配線距離を短くでき、さらに、バッファ素子26の数を少なくすることができる。
【0059】
さらに、第2の実施の形態によれば、チップ領域21に設定された階層ブロック配置領域22内の空きユニットセル配置領域を、配置禁止領域に設定して、階層ブロックの配置配線を行う。すなわち、階層ブロックの配置配線において、階層ブロック配置領域22内の空きユニットセル配置領域は使用されない。
【0060】
このため、上位階層に設計変更があり、ユニットセルが配置される空きユニットセル配置領域の位置が変更したとしても、階層ブロックのユニットセルの配置位置(上位階層において配置されたユニットセルを再配置したものは除く)は変更する必要がない。これにより、階層ブロックの設計を容易にすることが可能となる。
【0061】
さらに、第2の実施の形態によれば、空きユニットセル配置領域は、階層ブロック配置領域22内において格子状に設定されている。このため、上位階層において配置されるユニットセルを、階層ブロック配置領域22内において分散させることが可能となる。これにより、階層ブロックの配線が一部に密集することを抑制でき、配線が複雑化することを抑制できる。これにより、例えば、配線層の数を抑制したり、配線間容量に起因する信号ノイズの影響を抑制することができる。
【0062】
さらに、第2の実施の形態によれば、空きユニットセル配置領域は、階層ブロック配置領域22の一端から対向する他端まで、一定間隔を空けて設定されている。この構成によれば、上位階層において、バッファ素子等の回路素子用のユニットセルを階層ブロック配置領域22を横切るようにして一定間隔で配置することが可能となる。
【0063】
これにより、上位階層において引かれる階層ブロック配置領域22を横切る配線に、一定間隔でバッファ素子等の回路素子を設けることができる。このため、階層ブロック配置領域22の規模が大きい場合であっても、上位階層において階層ブロック配置領域22を横切るように配線を引くことが可能となる。
【0064】
なお、上記の処理機能は、コンピュータによって実現することができる。その場合、レイアウト設計装置10が有すべき機能の処理内容を記述したプログラムが提供される。そのプログラムをコンピュータで実行することにより、上記処理機能がコンピュータ上で実現される。処理内容を記述したプログラムは、コンピュータで読み取り可能な記録媒体に記録しておくことができる。コンピュータで読み取り可能な記録媒体としては、磁気記憶装置、光ディスク、光磁気記録媒体、半導体メモリなどがある。磁気記憶装置には、ハードディスク装置(HDD)、フレキシブルディスク(FD)、磁気テープなどがある。光ディスクには、DVD、DVD−RAM、CD−ROM/RWなどがある。光磁気記録媒体には、MO(Magneto-Optical disk)などがある。
【0065】
プログラムを流通させる場合には、例えば、そのプログラムが記録されたDVD、CD−ROMなどの可搬型記録媒体が販売される。また、プログラムをサーバコンピュータの記憶装置に格納しておき、ネットワークを介して、サーバコンピュータから他のコンピュータにそのプログラムを転送することもできる。
【0066】
プログラムを実行するコンピュータは、例えば、可搬型記録媒体に記録されたプログラムもしくはサーバコンピュータから転送されたプログラムを、自己の記憶装置に格納する。そして、コンピュータは、自己の記憶装置からプログラムを読み取り、プログラムに従った処理を実行する。なお、コンピュータは、可搬型記録媒体から直接プログラムを読み取り、そのプログラムに従った処理を実行することもできる。また、コンピュータは、ネットワークを介して接続されたサーバコンピュータからプログラムが転送されるごとに、逐次、受け取ったプログラムに従った処理を実行することもできる。
【0067】
また、上記の処理機能の少なくとも一部を、DSP(Digital Signal Processor)、ASIC(Application Specific Integrated Circuit)、PLD(Programmable Logic Device)などの電子回路で実現することもできる。
【0068】
以上説明した第1および第2の実施の形態を含む実施の形態に関し、さらに以下の付記を開示する。
(付記1) レイアウト設計装置が、
半導体集積回路のレイアウト設計を階層別に行う階層レイアウト設計における上位階層において、
前記上位階層の下の階層で配置配線が行われる所定の機能を備えた階層ブロックが配置される領域であって、空きユニットセル配置領域と前記階層ブロック用のユニットセル配置領域とを含む階層ブロック配置領域を、チップ領域に設定し、
前記チップ領域における前記階層ブロック配置領域を包囲する周辺領域のユニットセル配置領域、および、前記階層ブロック配置領域内の前記空きユニットセル配置領域を用いて、配置配線を行う、
ことを特徴とするレイアウト設計方法。
【0069】
(付記2) 前記レイアウト設計装置が、
前記上位階層の下の階層において、
前記チップ領域に設定された前記階層ブロック配置領域内の前記空きユニットセル配置領域を、配置禁止領域に設定して、前記階層ブロックの配置配線を行う、
ことを特徴とする付記1記載のレイアウト設計方法。
【0070】
(付記3) 前記階層ブロック配置領域は、複数の空きユニットセル配置領域を含み、前記複数の空きユニットセル配置領域は、前記階層ブロック配置領域内において格子状に設定されている、
ことを特徴とする付記1または2記載のレイアウト設計方法。
【0071】
(付記4) 前記階層ブロック配置領域は、複数の空きユニットセル配置領域を含み、前記複数の空きユニットセル配置領域は、前記階層ブロック配置領域の一端から対向する他端まで、一定間隔を空けて設定されている、
ことを特徴とする付記1〜3のいずれか1つに記載のレイアウト設計方法。
【0072】
(付記5) レイアウト設計装置が、
前記空きユニットセル配置領域に対する配置禁止領域の設定を解除して、配置配線が行われた階層ブロック内の最適化を行う、
ことを特徴とする付記2記載のレイアウト設計方法。
【0073】
(付記6) コンピュータに、
半導体集積回路のレイアウト設計を階層別に行う階層レイアウト設計における上位階層において、
前記上位階層の下の階層で配置配線が行われる所定の機能を備えた階層ブロックが配置される領域であって、空きユニットセル配置領域と前記階層ブロック用のユニットセル配置領域とを含む階層ブロック配置領域を、チップ領域に設定し、
前記チップ領域における前記階層ブロック配置領域を包囲する周辺領域のユニットセル配置領域、および、前記階層ブロック配置領域内の前記空きユニットセル配置領域を用いて、配置配線を行う、
処理を実行させることを特徴とするレイアウト設計プログラム。
【0074】
(付記7) 半導体基板上に、所定の機能を備えた機能モジュールが配置された機能モジュール配置領域と、前記機能モジュール配置領域上を横切る配線と、前記配線に設けられた回路素子とが配置され、
前記機能モジュール配置領域には、使用されていないユニットセル配置領域、および、前記回路素子用のユニットセルが配置されるユニットセル配置領域が、格子状に設定されていること、
を特徴とする半導体集積回路。
【符号の説明】
【0075】
1,21 チップ領域
2,22 階層ブロック配置領域
3 空きユニットセル配置領域
4 階層ブロック用のユニットセル配置領域
5,21a 周辺領域
6 上位階層で配置されたユニットセル
7 上位階層で引かれた配線
23,24 フリップフロップ回路
25 配線
26 バッファ素子
【技術分野】
【0001】
本件は、半導体集積回路のレイアウト設計方法、および、レイアウト設計プログラムに関する。
【背景技術】
【0002】
半導体集積回路のレイアウト設計の手法の1つとして、半導体集積回路を機能毎に複数のブロックに分けて設計を行う階層レイアウト設計が存在する。この複数のブロックは、それぞれ、階層ブロックと称される。
【0003】
この手法によれば、一度に設計する回路の規模を小さくすることができるため、回路情報の量を小さくできる。これにより、設計に用いられるコンピュータへの負荷(例えば、使用メモリ容量の増大や、CPU(Central Processing Unit)への負荷等)を低減することが可能となる。また、この手法によれば、階層ブロック毎に並行して設計作業を進めることができるため、設計期間を短縮することが可能となる。
【0004】
また、階層レイアウト設計では、設計が階層別に行われ、上位階層では、階層ブロックが配置される階層ブロック配置領域を配置禁止領域としてチップ領域に設定した状態で、配置配線が行われる。ここで、上位階層における配置配線は、階層ブロック配置領域を避けて行われる。
【先行技術文献】
【特許文献】
【0005】
【特許文献1】特開平4−333260号公報
【特許文献2】特開平5−151313号公報
【特許文献3】特開2000−156414号公報
【特許文献4】特開2005−235804号公報
【発明の概要】
【発明が解決しようとする課題】
【0006】
しかしながら、階層レイアウト設計では、上述したように、上位階層における配置配線は、階層ブロック配置領域を避けて行われるため、階層ブロックの規模が大きい場合には、配線を大きく迂回させる必要がある。
【0007】
配線を大きく迂回させると、配線距離が長くなり、また、これに伴い配線に設けられるバッファ素子等の回路素子の数が多くなる。これにより、配線、および、バッファ素子等の回路素子に用いられるユニットセルによって占有されるチップ領域の面積が増大し、チップサイズが大きくなってしまう可能性がある。
【課題を解決するための手段】
【0008】
発明の一観点によれば、以下のようなレイアウト設計方法が提供される。
このレイアウト設計方法は、レイアウト設計装置が、半導体集積回路のレイアウト設計を階層別に行う階層レイアウト設計における上位階層において、上位階層の下の階層で配置配線が行われる所定の機能を備えた階層ブロックが配置される領域であって、空きユニットセル配置領域と階層ブロック用のユニットセル配置領域とを含む階層ブロック配置領域を、チップ領域に設定し、チップ領域における階層ブロック配置領域を包囲する周辺領域のユニットセル配置領域、および、階層ブロック配置領域内の空きユニットセル配置領域を用いて、配置配線を行う。
【発明の効果】
【0009】
開示のレイアウト設計方法、および、レイアウト設計プログラムによれば、チップサイズを縮小することが可能となる。
【図面の簡単な説明】
【0010】
【図1】第1の実施の形態に係るレイアウト設計手順の一例を示す図である。
【図2】第2の実施の形態に係るレイアウト設計装置のハードウェアの一例を示す図である。
【図3】第2の実施の形態に係るレイアウト設計手順の一例を示すフローチャートである。
【図4】第2の実施の形態に係る上位階層において設計される回路の一例を示すブロック図である。
【図5】第2の実施の形態に係る上位階層における配線配置の手順の一例を示すフローチャートである。
【図6】第2の実施の形態に係るチップレイアウトの一例を示す図である。
【図7】第2の実施の形態に係るチップレイアウトの一例を示す図である。
【図8】第2の実施の形態に係るチップレイアウトの一例を示す図である。
【図9】第2の実施の形態に係る階層ブロックの配線配置の手順の一例を示すフローチャートである。
【図10】第2の実施の形態に係るチップレイアウトの一例を示す図である。
【図11】第2の実施の形態に係るチップレイアウトの一例を示す図である。
【図12】第2の実施の形態に係るチップレイアウトの一例を示す図である。
【図13】上位階層において設計される回路の参考例を示すブロック図である。
【発明を実施するための形態】
【0011】
以下、実施の形態を図面を参照して説明する。
[第1の実施の形態]
第1の実施の形態は、階層レイアウト設計に関するものである。階層レイアウト設計では、半導体集積回路を機能毎に複数のブロックに分けて設計を行う。この複数のブロックは、それぞれ、階層ブロックと称される。また、階層レイアウト設計では、設計が階層別に行われる。
【0012】
上位階層では、階層ブロックが配置される階層ブロック配置領域を、チップ領域に設定した状態で、配置配線が行われる。階層ブロックの配置配線は、上位階層の下の階層で行われる。なお、上位階層のうち最も上位の階層を、最上位階層(トップ階層)と称する。第1の実施の形態は、上位階層におけるレイアウト設計方法に関するものである。
【0013】
図1は、第1の実施の形態に係るレイアウト設計手順の一例を示す図である。
まず、図1(A)に示すように、階層ブロックが配置される階層ブロック配置領域2を、チップ領域1に設定する。階層ブロック配置領域2には、空きユニットセル配置領域3と階層ブロック用のユニットセル配置領域4とが含まれている。なお、チップ領域1における階層ブロック配置領域2を包囲する領域は、周辺領域5とされる。周辺領域5には、複数のユニットセル配置領域が設定されている。
【0014】
次に、図1(B)に示すように、周辺領域5のユニットセル配置領域、および、階層ブロック配置領域2内の空きユニットセル配置領域3を用いて、配置配線を行う。ここで、階層ブロック用のユニットセル配置領域4は、配置禁止領域に設定されている。なお、図1(B)では、上位階層において配置されたユニットセル6、および、上位階層において引かれた配線7が図示されている。
【0015】
このように、第1の実施の形態によれば、上位階層においてチップ領域1に設定された階層ブロック配置領域2が空きユニットセル配置領域3を含み、この空きユニットセル配置領域3を用いて上位階層における配置配線が行われる。この構成によれば、配線に設けられるバッファ素子等の回路素子に用いられるユニットセルを、空きユニットセル配置領域3に配置させることが可能となる。
【0016】
これにより、配線を階層ブロック配置領域2上に通すことができ、配線距離を短くすることができる。このため、配線、および、バッファ素子等の回路素子に用いられるユニットセルが占有するチップ領域1の面積を小さくすることができ、チップサイズを縮小することが可能となる。
【0017】
また、配線距離を短くできることで、配線遅延の影響が低減されるため、タイミング収束を容易にすることが可能となる。また、配線距離を短くでき、バッファ素子等の回路素子に用いられるユニットセルを少なくできることで、半導体集積回路の消費電力を低減することも可能となる。
【0018】
[第2の実施の形態]
次に、第1の実施の形態のレイアウト設計方法をより具体的にした実施の形態を、第2の実施の形態として説明する。
【0019】
第2の実施の形態のレイアウト設計は、レイアウト設計装置によって行われる。
図2は、第2の実施の形態に係るレイアウト設計装置のハードウェアの一例を示す図である。
【0020】
レイアウト設計装置10は、CPU11によって装置全体が制御されている。CPU11には、バス18を介してRAM(Random Access Memory)12と複数の周辺機器が接続されている。
【0021】
RAM12は、レイアウト設計装置10の主記憶装置として使用される。RAM12には、CPU11に実行させるOS(Operating System)のプログラムやアプリケーションプログラムの少なくとも一部が一時的に格納される。また、RAM12には、CPU11による処理に必要な各種データが格納される。
【0022】
バス18に接続されている周辺機器としては、ハードディスクドライブ(HDD:Hard Disk Drive)13、グラフィック処理装置14、入力インタフェース15、光学ドライブ装置16、および通信インタフェース17がある。
【0023】
HDD13は、内蔵したディスクに対して、磁気的にデータの書き込みおよび読み出しを行う。HDD13は、レイアウト設計装置10の二次記憶装置として使用される。HDD13には、OSのプログラム、アプリケーションプログラム、および各種データが格納される。なお、二次記憶装置としては、フラッシュメモリなどの半導体記憶装置を使用することもできる。
【0024】
グラフィック処理装置14には、モニタ14aが接続されている。グラフィック処理装置14は、CPU11からの命令に従って、画像をモニタ14aの画面に表示させる。モニタ14aとしては、CRT(Cathode Ray Tube)を用いた表示装置や液晶表示装置などがある。
【0025】
入力インタフェース15には、キーボード15aとマウス15bとが接続されている。入力インタフェース15は、キーボード15aやマウス15bから送られてくる信号をCPU11に送信する。なお、マウス15bは、ポインティングデバイスの一例であり、他のポインティングデバイスを使用することもできる。他のポインティングデバイスとしては、タッチパネル、タブレット、タッチパッド、トラックボールなどがある。
【0026】
光学ドライブ装置16は、レーザ光などを利用して、光ディスク16aに記録されたデータの読み取りを行う。光ディスク16aは、光の反射によって読み取り可能なようにデータが記録された可搬型の記録媒体である。光ディスク16aには、DVD(Digital Versatile Disc)、DVD−RAM、CD−ROM(Compact Disc Read Only Memory)、CD−R(Recordable)/RW(ReWritable)などがある。
【0027】
通信インタフェース17は、ネットワーク19に接続されている。通信インタフェース17は、ネットワーク19を介して、他のコンピュータまたは通信機器との間でデータの送受信を行う。
【0028】
以上のようなハードウェアによって、第2の実施の形態の処理機能を実現することができる。
次に、第2の実施の形態のレイアウト設計の手順について説明する。
【0029】
図3は、第2の実施の形態に係るレイアウト設計手順の一例を示すフローチャートである。
[ステップS10]レイアウト設計装置10が、上位階層における配置配線を行う。
【0030】
[ステップS20]レイアウト設計装置10が、階層ブロックの配置配線を行う。
[ステップS30]レイアウト設計装置10が、階層ブロックに対して、タイミング解析や物理検証等の検証を行う。
【0031】
[ステップS40]レイアウト設計装置10が、上位階層に対して、タイミング解析や物理検証等の検証を行う。なお、ステップS40は、ステップS30と並行して行われる。
【0032】
[ステップS50]レイアウト設計装置10が、階層ブロックと上位階層とを合成した状態で、最終検証を行って処理を終了する。
なお、上記のステップS10〜S50は、それぞれ、異なるレイアウト設計装置によって行うこととしてもよい。すなわち、レイアウト設計装置10の処理機能を、複数のレイアウト設計装置によって実現するようにしてもよい。
【0033】
次に、上記ステップS10に示される上位階層における配線配置の詳細について説明する。まず、上位階層において設計される回路の概要について説明する。
図4は、第2の実施の形態に係る上位階層において設計される回路の一例を示すブロック図である。チップ領域21には、階層ブロック配置領域22が設定されている。この状態で、フリップフロップ(FF:Flip Flop)回路23,24の配置配線が行われ、さらに、フリップフロップ回路23とフリップフロップ回路24との間を接続する配線25が引かれる。
【0034】
配線25には、一定間隔毎にバッファ素子26が設けられる。ここで、配線25は、階層ブロック配置領域22上を通って引かれる。また、バッファ素子26は、階層ブロック配置領域22内にも配置される。なお、配線25には、バッファ素子26の他に、抵抗素子やキャパシタ素子等の他の回路素子が設けられる場合もある。
【0035】
次に、上位階層における配線配置の手順について図5〜図8を用いて説明する。
図5は、第2の実施の形態に係る上位階層における配線配置の手順の一例を示すフローチャートである。図6〜図8は、第2の実施の形態に係るチップレイアウトの一例を示す図である。以下、図5のフローチャートに沿って、図6〜図8を参照しながら説明を行う。
【0036】
[ステップS11]図6に示すように、レイアウト設計装置10が、チップ領域21に階層ブロック配置領域22を設定する。このステップは、例えば、チップのフロアプランと称される。階層ブロック配置領域22は、X方向の辺と、X方向と交差するY方向の辺とで囲まれた矩形を備える。
【0037】
階層ブロック配置領域22には、複数の空きユニットセル配置領域と、階層ブロック用の複数のユニットセル配置領域とが含まれている。空きユニットセル配置領域は、X方向およびY方向において、一定間隔毎に配置されている。すなわち、空きユニットセル配置領域は、階層ブロック配置領域22内において格子状に設定される。
【0038】
また、空きユニットセル配置領域は、階層ブロック配置領域22の一端から対向する他端まで、一定間隔を空けて設定されている。図6に示す例では、空きユニットセル配置領域は、間に1つの階層ブロック用のユニットセル配置領域を挟んで設定されている。階層ブロック配置領域22における空きユニットセル配置領域の割合は、例えば、25%程度である。この割合は、例えば、設計する半導体集積回路の規模等に応じて適宜設定することができる。
【0039】
なお、図6に示す例では、チップ領域21に設定される階層ブロック配置領域は1つであるが、他の複数の階層ブロック配置領域を設定してもよい。また、チップ領域21における階層ブロック配置領域22を包囲する領域は、周辺領域21aとされる。周辺領域21aには、複数のユニットセル配置領域が設定されている。
【0040】
[ステップS12]図7に示すように、レイアウト設計装置10が、階層ブロック配置領域22内の階層ブロック用のユニットセル配置領域を、配置禁止領域に設定する。すなわち、階層ブロック配置領域22内の空きユニットセル配置領域と、周辺領域21aのユニットセル配置領域とが、配置許可領域とされる。
【0041】
[ステップS13]図8に示すように、レイアウト設計装置10が、周辺領域21aのユニットセル配置領域、および、階層ブロック配置領域22内の空きユニットセル配置領域を用いて、上位階層におけるユニットセルの配置を行う。ここで、ユニットセルの配置は固定される。
【0042】
[ステップS14]図8に示すように、レイアウト設計装置10が、上位階層における配線を行って処理を終了する。これにより、上位階層において配置されたユニットセル間が結線される。ここで、配線の配置は固定される。
【0043】
以上のようにして、上位階層における配置配線が行われる。
次に、図3のステップS20に示される階層ブロックの配線配置の詳細な手順について図9〜図12を用いて説明する。
【0044】
図9は、第2の実施の形態に係る階層ブロックの配線配置の手順の一例を示すフローチャートである。図10〜図12は、第2の実施の形態に係るチップレイアウトの一例を示す図である。以下、図9のフローチャートに沿って、図10〜図12を参照しながら説明を行う。
【0045】
[ステップS21]図10に示すように、レイアウト設計装置10が、上記ステップS12で設定された、階層ブロック用のユニットセル配置領域に対する配置禁止領域の設定を解除する。
【0046】
[ステップS22]図10に示すように、レイアウト設計装置10が、階層ブロック配置領域22内の空きユニットセル配置領域を、配置禁止領域に設定する。すなわち、階層ブロック配置領域22内の階層ブロック用のユニットセル配置領域が配置許可領域とされる。
【0047】
[ステップS23]図11に示すように、レイアウト設計装置10が、階層ブロック配置領域22内の階層ブロック用のユニットセル配置領域を用いて、階層ブロックのユニットセルの配置を行う。ここで、上記ステップS13において上位階層において階層ブロック配置領域22内に配置されたユニットセルは、階層ブロックのユニットセルとして同じ位置に再配置される。
【0048】
[ステップS24]図11に示すように、レイアウト設計装置10が、階層ブロック配置領域22内において階層ブロックの配線を行う。ここで、上記ステップS14において上位階層において階層ブロック配置領域22内に引かれた配線は、階層ブロックの配線として同じ位置に再配置される。
【0049】
[ステップS25]図12に示すように、レイアウト設計装置10が、空きユニットセル配置領域に対する配置禁止領域の設定を解除する。すなわち、階層ブロック配置領域22内の空きユニットセル配置領域、および、階層ブロック用のユニットセル配置領域が配置許可領域とされる。
【0050】
[ステップS26]レイアウト設計装置10が、階層ブロック配置領域22内に配置されたユニットセルおよび配線の最適化を行って処理を終了する。
以上のようにして、階層ブロックの配置配線が行われる。
【0051】
なお、以上の手順に基づいて設計され、生成された半導体集積回路では、半導体基板上に、階層ブロックにより実現される機能モジュールが配置された機能モジュール配置領域と、機能モジュール配置領域上を横切る配線と、この配線に設けられたバッファ素子等の回路素子とが配置される。
【0052】
そして、機能モジュール配置領域には、使用されていないユニットセル配置領域、および、バッファ素子等の回路素子用のユニットセルが配置されるユニットセル配置領域が、格子状に配置される。そして、機能モジュール配置領域のうち、その他のユニットセル配置領域に、機能モジュールの機能を実現するためのユニットセルが配置される。
【0053】
以上、説明してきたように、第2の実施の形態によれば、上位階層においてチップ領域21に設定された階層ブロック配置領域22が空きユニットセル配置領域を含み、この空きユニットセル配置領域を用いて上位階層における配置配線が行われる。この構成によれば、配線に設けられるバッファ素子等の回路素子に用いられるユニットセルを、空きユニットセル配置領域に配置させることが可能となる。
【0054】
これにより、配線を階層ブロック配置領域22上に通すことができ、配線距離を短くすることができる。このため、配線、および、バッファ素子等の回路素子に用いられるユニットセルが占有するチップ領域21の面積を小さくすることができ、チップサイズを縮小することが可能となる。
【0055】
また、配線距離を短くできることで、配線遅延の影響が低減されるため、タイミング収束を容易にすることが可能となる。また、配線距離を短くでき、バッファ素子等の回路素子に用いられるユニットセルを少なくできることで、半導体集積回路の消費電力を低減することも可能となる。
【0056】
なお、ここで、配線を階層ブロック配置領域22を迂回するように配置した場合について、図4に示した例を用いて説明する。
図13は、上位階層において設計される回路の参考例を示すブロック図である。
【0057】
フリップフロップ回路23とフリップフロップ回路24とを接続する配線25を、階層ブロック配置領域22を迂回するように配置した場合、図13に示すように、配線25の配線距離が長くなり、バッファ素子26の数も増大する。
【0058】
これに対して、第2の実施の形態では、図4に示すように、配線25を、階層ブロック配置領域22上を通して引くことができるため、配線距離を短くでき、さらに、バッファ素子26の数を少なくすることができる。
【0059】
さらに、第2の実施の形態によれば、チップ領域21に設定された階層ブロック配置領域22内の空きユニットセル配置領域を、配置禁止領域に設定して、階層ブロックの配置配線を行う。すなわち、階層ブロックの配置配線において、階層ブロック配置領域22内の空きユニットセル配置領域は使用されない。
【0060】
このため、上位階層に設計変更があり、ユニットセルが配置される空きユニットセル配置領域の位置が変更したとしても、階層ブロックのユニットセルの配置位置(上位階層において配置されたユニットセルを再配置したものは除く)は変更する必要がない。これにより、階層ブロックの設計を容易にすることが可能となる。
【0061】
さらに、第2の実施の形態によれば、空きユニットセル配置領域は、階層ブロック配置領域22内において格子状に設定されている。このため、上位階層において配置されるユニットセルを、階層ブロック配置領域22内において分散させることが可能となる。これにより、階層ブロックの配線が一部に密集することを抑制でき、配線が複雑化することを抑制できる。これにより、例えば、配線層の数を抑制したり、配線間容量に起因する信号ノイズの影響を抑制することができる。
【0062】
さらに、第2の実施の形態によれば、空きユニットセル配置領域は、階層ブロック配置領域22の一端から対向する他端まで、一定間隔を空けて設定されている。この構成によれば、上位階層において、バッファ素子等の回路素子用のユニットセルを階層ブロック配置領域22を横切るようにして一定間隔で配置することが可能となる。
【0063】
これにより、上位階層において引かれる階層ブロック配置領域22を横切る配線に、一定間隔でバッファ素子等の回路素子を設けることができる。このため、階層ブロック配置領域22の規模が大きい場合であっても、上位階層において階層ブロック配置領域22を横切るように配線を引くことが可能となる。
【0064】
なお、上記の処理機能は、コンピュータによって実現することができる。その場合、レイアウト設計装置10が有すべき機能の処理内容を記述したプログラムが提供される。そのプログラムをコンピュータで実行することにより、上記処理機能がコンピュータ上で実現される。処理内容を記述したプログラムは、コンピュータで読み取り可能な記録媒体に記録しておくことができる。コンピュータで読み取り可能な記録媒体としては、磁気記憶装置、光ディスク、光磁気記録媒体、半導体メモリなどがある。磁気記憶装置には、ハードディスク装置(HDD)、フレキシブルディスク(FD)、磁気テープなどがある。光ディスクには、DVD、DVD−RAM、CD−ROM/RWなどがある。光磁気記録媒体には、MO(Magneto-Optical disk)などがある。
【0065】
プログラムを流通させる場合には、例えば、そのプログラムが記録されたDVD、CD−ROMなどの可搬型記録媒体が販売される。また、プログラムをサーバコンピュータの記憶装置に格納しておき、ネットワークを介して、サーバコンピュータから他のコンピュータにそのプログラムを転送することもできる。
【0066】
プログラムを実行するコンピュータは、例えば、可搬型記録媒体に記録されたプログラムもしくはサーバコンピュータから転送されたプログラムを、自己の記憶装置に格納する。そして、コンピュータは、自己の記憶装置からプログラムを読み取り、プログラムに従った処理を実行する。なお、コンピュータは、可搬型記録媒体から直接プログラムを読み取り、そのプログラムに従った処理を実行することもできる。また、コンピュータは、ネットワークを介して接続されたサーバコンピュータからプログラムが転送されるごとに、逐次、受け取ったプログラムに従った処理を実行することもできる。
【0067】
また、上記の処理機能の少なくとも一部を、DSP(Digital Signal Processor)、ASIC(Application Specific Integrated Circuit)、PLD(Programmable Logic Device)などの電子回路で実現することもできる。
【0068】
以上説明した第1および第2の実施の形態を含む実施の形態に関し、さらに以下の付記を開示する。
(付記1) レイアウト設計装置が、
半導体集積回路のレイアウト設計を階層別に行う階層レイアウト設計における上位階層において、
前記上位階層の下の階層で配置配線が行われる所定の機能を備えた階層ブロックが配置される領域であって、空きユニットセル配置領域と前記階層ブロック用のユニットセル配置領域とを含む階層ブロック配置領域を、チップ領域に設定し、
前記チップ領域における前記階層ブロック配置領域を包囲する周辺領域のユニットセル配置領域、および、前記階層ブロック配置領域内の前記空きユニットセル配置領域を用いて、配置配線を行う、
ことを特徴とするレイアウト設計方法。
【0069】
(付記2) 前記レイアウト設計装置が、
前記上位階層の下の階層において、
前記チップ領域に設定された前記階層ブロック配置領域内の前記空きユニットセル配置領域を、配置禁止領域に設定して、前記階層ブロックの配置配線を行う、
ことを特徴とする付記1記載のレイアウト設計方法。
【0070】
(付記3) 前記階層ブロック配置領域は、複数の空きユニットセル配置領域を含み、前記複数の空きユニットセル配置領域は、前記階層ブロック配置領域内において格子状に設定されている、
ことを特徴とする付記1または2記載のレイアウト設計方法。
【0071】
(付記4) 前記階層ブロック配置領域は、複数の空きユニットセル配置領域を含み、前記複数の空きユニットセル配置領域は、前記階層ブロック配置領域の一端から対向する他端まで、一定間隔を空けて設定されている、
ことを特徴とする付記1〜3のいずれか1つに記載のレイアウト設計方法。
【0072】
(付記5) レイアウト設計装置が、
前記空きユニットセル配置領域に対する配置禁止領域の設定を解除して、配置配線が行われた階層ブロック内の最適化を行う、
ことを特徴とする付記2記載のレイアウト設計方法。
【0073】
(付記6) コンピュータに、
半導体集積回路のレイアウト設計を階層別に行う階層レイアウト設計における上位階層において、
前記上位階層の下の階層で配置配線が行われる所定の機能を備えた階層ブロックが配置される領域であって、空きユニットセル配置領域と前記階層ブロック用のユニットセル配置領域とを含む階層ブロック配置領域を、チップ領域に設定し、
前記チップ領域における前記階層ブロック配置領域を包囲する周辺領域のユニットセル配置領域、および、前記階層ブロック配置領域内の前記空きユニットセル配置領域を用いて、配置配線を行う、
処理を実行させることを特徴とするレイアウト設計プログラム。
【0074】
(付記7) 半導体基板上に、所定の機能を備えた機能モジュールが配置された機能モジュール配置領域と、前記機能モジュール配置領域上を横切る配線と、前記配線に設けられた回路素子とが配置され、
前記機能モジュール配置領域には、使用されていないユニットセル配置領域、および、前記回路素子用のユニットセルが配置されるユニットセル配置領域が、格子状に設定されていること、
を特徴とする半導体集積回路。
【符号の説明】
【0075】
1,21 チップ領域
2,22 階層ブロック配置領域
3 空きユニットセル配置領域
4 階層ブロック用のユニットセル配置領域
5,21a 周辺領域
6 上位階層で配置されたユニットセル
7 上位階層で引かれた配線
23,24 フリップフロップ回路
25 配線
26 バッファ素子
【特許請求の範囲】
【請求項1】
レイアウト設計装置が、
半導体集積回路のレイアウト設計を階層別に行う階層レイアウト設計における上位階層において、
前記上位階層の下の階層で配置配線が行われる所定の機能を備えた階層ブロックが配置される領域であって、空きユニットセル配置領域と前記階層ブロック用のユニットセル配置領域とを含む階層ブロック配置領域を、チップ領域に設定し、
前記チップ領域における前記階層ブロック配置領域を包囲する周辺領域のユニットセル配置領域、および、前記階層ブロック配置領域内の前記空きユニットセル配置領域を用いて、配置配線を行う、
ことを特徴とするレイアウト設計方法。
【請求項2】
前記レイアウト設計装置が、
前記上位階層の下の階層において、
前記チップ領域に配置された前記階層ブロック配置領域内の前記空きユニットセル配置領域を、配置禁止領域に設定して、前記階層ブロックの配置配線を行う、
ことを特徴とする請求項1記載のレイアウト設計方法。
【請求項3】
前記階層ブロック配置領域は、複数の空きユニットセル配置領域を含み、前記複数の空きユニットセル配置領域は、前記階層ブロック配置領域内において格子状に設定されている、
ことを特徴とする請求項1または2記載のレイアウト設計方法。
【請求項4】
前記階層ブロック配置領域は、複数の空きユニットセル配置領域を含み、前記複数の空きユニットセル配置領域は、前記階層ブロック配置領域の一端から対向する他端まで、一定間隔を空けて設定されている、
ことを特徴とする請求項1〜3のいずれか1項に記載のレイアウト設計方法。
【請求項5】
コンピュータに、
半導体集積回路のレイアウト設計を階層別に行う階層レイアウト設計における上位階層において、
前記上位階層の下の階層で配置配線が行われる所定の機能を備えた階層ブロックが配置される領域であって、空きユニットセル配置領域と前記階層ブロック用のユニットセル配置領域とを含む階層ブロック配置領域を、チップ領域に設定し、
前記チップ領域における前記階層ブロック配置領域を包囲する周辺領域のユニットセル配置領域、および、前記階層ブロック配置領域内の前記空きユニットセル配置領域を用いて、配置配線を行う、
処理を実行させることを特徴とするレイアウト設計プログラム。
【請求項1】
レイアウト設計装置が、
半導体集積回路のレイアウト設計を階層別に行う階層レイアウト設計における上位階層において、
前記上位階層の下の階層で配置配線が行われる所定の機能を備えた階層ブロックが配置される領域であって、空きユニットセル配置領域と前記階層ブロック用のユニットセル配置領域とを含む階層ブロック配置領域を、チップ領域に設定し、
前記チップ領域における前記階層ブロック配置領域を包囲する周辺領域のユニットセル配置領域、および、前記階層ブロック配置領域内の前記空きユニットセル配置領域を用いて、配置配線を行う、
ことを特徴とするレイアウト設計方法。
【請求項2】
前記レイアウト設計装置が、
前記上位階層の下の階層において、
前記チップ領域に配置された前記階層ブロック配置領域内の前記空きユニットセル配置領域を、配置禁止領域に設定して、前記階層ブロックの配置配線を行う、
ことを特徴とする請求項1記載のレイアウト設計方法。
【請求項3】
前記階層ブロック配置領域は、複数の空きユニットセル配置領域を含み、前記複数の空きユニットセル配置領域は、前記階層ブロック配置領域内において格子状に設定されている、
ことを特徴とする請求項1または2記載のレイアウト設計方法。
【請求項4】
前記階層ブロック配置領域は、複数の空きユニットセル配置領域を含み、前記複数の空きユニットセル配置領域は、前記階層ブロック配置領域の一端から対向する他端まで、一定間隔を空けて設定されている、
ことを特徴とする請求項1〜3のいずれか1項に記載のレイアウト設計方法。
【請求項5】
コンピュータに、
半導体集積回路のレイアウト設計を階層別に行う階層レイアウト設計における上位階層において、
前記上位階層の下の階層で配置配線が行われる所定の機能を備えた階層ブロックが配置される領域であって、空きユニットセル配置領域と前記階層ブロック用のユニットセル配置領域とを含む階層ブロック配置領域を、チップ領域に設定し、
前記チップ領域における前記階層ブロック配置領域を包囲する周辺領域のユニットセル配置領域、および、前記階層ブロック配置領域内の前記空きユニットセル配置領域を用いて、配置配線を行う、
処理を実行させることを特徴とするレイアウト設計プログラム。
【図1】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【公開番号】特開2012−227376(P2012−227376A)
【公開日】平成24年11月15日(2012.11.15)
【国際特許分類】
【出願番号】特願2011−94046(P2011−94046)
【出願日】平成23年4月20日(2011.4.20)
【出願人】(308014341)富士通セミコンダクター株式会社 (2,507)
【Fターム(参考)】
【公開日】平成24年11月15日(2012.11.15)
【国際特許分類】
【出願日】平成23年4月20日(2011.4.20)
【出願人】(308014341)富士通セミコンダクター株式会社 (2,507)
【Fターム(参考)】
[ Back to top ]