JP5309538B2 - 半導体集積回路の設計方法 - Google Patents
半導体集積回路の設計方法 Download PDFInfo
- Publication number
- JP5309538B2 JP5309538B2 JP2007304590A JP2007304590A JP5309538B2 JP 5309538 B2 JP5309538 B2 JP 5309538B2 JP 2007304590 A JP2007304590 A JP 2007304590A JP 2007304590 A JP2007304590 A JP 2007304590A JP 5309538 B2 JP5309538 B2 JP 5309538B2
- Authority
- JP
- Japan
- Prior art keywords
- cell
- wiring
- circuit block
- arrangement
- net
- 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
Links
Images
Landscapes
- Design And Manufacture Of Integrated Circuits (AREA)
Description
始めにチップの電源配線を行い(ステップS80)、次に、回路ブロック(以下セルと呼ぶ)の配置を行う(ステップS81)。その後、電源ノイズ対策にデカップリング容量を配置する(ステップS82)。そして、必要なデカップリング容量値を満足しているかの検証を行う(ステップS83)。ここで、エラーがある場合には、ステップS81の処理に戻りセルの配置の修正やデカップリング容量値や配置の修正、検証を、エラーがなくなるまで繰り返す。次に、信号配線を行う(ステップS84)。次にクロストークノイズ解析を行う(ステップS85)。ここで、エラーがある場合には、ステップS84(場合によってはステップS81)に戻り、配線の修正(場合によってはセル配置の修正まで戻る)、クロストークノイズ解析を、エラーがなくなるまで繰り返していく。
図1は、ノイズを考慮したセル配置を行う本実施の形態の設計装置における主要部の機能ブロック図である。
平均動作回数算出部12は、回路情報記憶部11に格納されたネットリストや、セルの単位時間当たりの動作変化確率(以下動作率)、動作周波数をもとに、個々のセルの単位時間当たりの平均動作回数を算出する。
セル配置部14は、決定された最低セル配置間隔を満たすように、セルを配置していく。
以下、図1の設計装置10の動作を説明する。
その後、最低セル配置間隔決定部13は、配置しようとするセルの平均動作回数と使用電圧をもとに、最低セル配置間隔を決定する。
セル配置部14は、前に配置したセルの最低セル配置間隔を満たすようにセルを配置していく。なお、セルの配置は、最低セル配置間隔が広いセルから優先的に配置する。後に配置するセルの最低セル配置間隔が、前に配置したセルのものよりも広いと、前に配置したセルが、後に配置したセルの最低セル配置間隔を満たさなくなる可能性があるからである。
最低セル配置間隔d1のセル20を配置した場合、他のセル21,22は、最低セル配置間隔d1を満たすように配置される。なお、セル21,22のように、最低セル配置間隔d2,d3で規定される領域同士をオーバーラップさせて配置してもよい。このように配置することで、省スペース化が期待できる。
設計装置30は、回路情報記憶部31、平均変化回数算出部32、ネット配線長算出部33、最低配線間隔決定部34、配線配置部35、ノイズ検証部36を有している。
最低配線間隔決定部34は、個々のネットの平均変化回数、使用電圧及びネット配線長をもとに、ネットごとに最低配線間隔を決定する。平均変化回数が多く、使用電圧が高く、配線長が長いネットほどノイズが増加しやすいため、最低配線間隔を広げる。たとえば、クロストークノイズにおいて、相手との間隔、平行配線長が同じなど電圧以外の条件が同じなら、電圧が1.2Vのネットと電圧が1.0Vのネットでは、1.2Vのネットのほうがより大きなノイズ源となりうる。よって、1.0Vのネットより1.2Vのネットのほうが、より自身のネットと他のネットとの間隔を離す必要がある。
配線配置部35は、決定された最低配線間隔を満たすように、ネットを配置していく。
以下、図3の設計装置30の動作を説明する。
図示しない構成によって、セルの配置が終わると、平均変化回数算出部32は、各セル間を接続するネットにおける単位時間当たりの信号の平均変化回数を算出する。そして、ネット配線長算出部33は、ネットの配線長を算出する。その後、最低配線間隔決定部34は、平均変化回数と、使用電圧、ネット配線長をもとに、ネットの最低配線間隔を決定する。
配線配置部35は、前に配置したネットの最低配線間隔を満たすようにネットを配置していく。なお、ネットの配置は、最低配線間隔が広いネットから優先的に配置する。後に配置するネットの最低配線間隔が、前に配置したネットのものよりも広いと、前に配置したネットが、後に配置したネットの最低配線間隔を満たさなくなる可能性があるからである。
セル40−1,40−2,40−3,40−4を接続する最低配線間隔d5のネット41を配置し、セル40−5,40−6,40−7を接続する他の最低配線間隔d6のネット42を、ネット41の最低セル配置間隔d5を満たすように配置した場合について示している。なお、最低配線間隔d5,d6で規定される領域同士をオーバーラップさせて配置してもよい。このように配置することで、省スペース化が期待できる。
図5は、半導体集積回路の設計装置のハードウェア構成例である。
設計装置50は、CPU(Central Processing Unit)51、ROM(Read Only Memory)52、RAM(Random Access Memory)53、HDD(Hard Disk Drive)54、グラフィック処理部55、入力I/F(Interface)56などによって構成され、これらはバス57を介して相互に接続されている。
ROM52は、CPU51が実行する基本的なプログラムやデータを格納している。
HDD54は、CPU51が実行するOS(Operation System)や、半導体集積回路の設計のためのCAD(Computer-Aided Design)プログラムや、ノイズ検証プログラムなど各種アプリケーションプログラム、各種データを格納する。また、図1や図3の回路情報記憶部11,31として機能するようにしてもよい。
以下に示す機能ブロック群の各機能は、CPU51の制御のもと図5の各ハードウェア構成を用いて実行されるソフトウェア(論理合成ツール、自動レイアウトツール、検証ツールなど)により実現可能な機能である。
フロアプラン設計部62は、半導体集積回路の各機能ブロック(マクロ)やセルの大まかな配置を決定する。
マクロ配置部64は、フロアプラン設計部62で決定された位置にマクロを配置する。
ノイズ検証部65は、図1のノイズ対策/検証部15、図3のノイズ検証部36と同様に、デカップリング容量の検証や、クロストークノイズの検証を行う。
配置優先度決定手段66bは、平均動作回数が多く、使用電圧が低いセルほど先に配置されるようにセルの配置優先度(配置順)を算出し、記憶する。
配置禁止幅決定手段66dは、前述した最低セル配置間隔を、配置禁止幅として求め、記憶する。
セル拡張幅決定手段66fは、前述した最低セル配置間隔を、セル拡張幅として求め、記憶する。
信号配線部67は、平均変化回数算出手段67a、ネット配線長算出手段67b、配線優先度決定手段67c、配線手段67d、配線禁止幅決定手段67e、配線禁止領域設定手段67fを有している。
ネット配線長算出手段67bは、図3のネット配線長算出部33に対応しており、ネットの配線長を算出し、記憶する。
配線手段67dは、配線優先度をもとに、ネットを配置する。
配線禁止領域設定手段67fは、ネットの周囲を配線禁止幅分広げた配線禁止領域を設定する。
図7及び図8は、本実施の形態の設計方法の流れを示すフローチャートである。
ここで示すレイアウトでは、VDD電源線70とVSS電源線71が縦方向に配置されており、それぞれにコンタクト70a,71aによって、横方向に配置されたサブ電源線72,73が接続されている。セル74−1は、このサブ電源線72,73のそれぞれに接続されている。セル74−1の周囲には、セル74−1を配置禁止幅だけ広げた大きさの配置禁止領域75−1が設定されている。
図10は、配置禁止幅と、平均動作回数及び使用電圧との関係を示す図である。
図のように、配置禁止幅は、平均動作回数が多く、使用電圧が低いほど広くなるようにしている。このようなグラフを、テーブルデータまたは算出式で表し、記憶しておき、たとえば、図9のようにセル74−1が配置された際に読み出して、配置したセル74−1の平均動作回数及び使用電圧に応じた配置禁止幅をテーブルデータまたは算出式から求め、配置禁止領域75−1を設定する。
図11は、2つのセルを配置したときのレイアウトの例を示す図である。
デカップリング容量76は、電源ノイズを抑制するために、セル74−1,…,74−n間のすきまに設けられる。
配線工程では、まず、ネットを伝送する信号の単位時間当たりの平均変化回数を算出する(ステップS19)。
図13は、セル間を接続するネットの例を示す図である。
また、それぞれ複数のセル間を接続するネット77−1,77−2,77−3は、配置位置が確定していないことを示し、点線で示している。
なお、配線優先度を決定するのに、平均変化回数、使用電圧、ネット配線長のいずれを優先するのかは適宜設定可能である。たとえば、使用電圧が等しいネット77−2,77−3があった場合、平均変化回数はネット77−2のほうが多いが、ネット配線長はネット77−3のほうが長い場合、その度合いに応じて、いずれを優先するか予め設定情報として記憶しておく。この情報は、適宜変更するようにしてもよい。
図14は、配置が確定したネットの例を示す図である。
また、図15は、セルの回路とネットの接続例を示す図である。
図16は、ネットの周りに配線禁止領域を設定したレイアウトの例を示す図である。
配線禁止幅は、ネット77−1における信号の平均変化回数、使用電圧及びネット配線長をもとに決定される。
図のように、配線禁止幅は、平均変化回数が多く、使用電圧が高く、ネット配線長が長いほど広くなるようにしている。このようなグラフを、テーブルデータまたは算出式で表し、記憶しておき、たとえば、図14のようにネット77−1が配線された際に読み出して、配線したネット77−1の平均変化回数、使用電圧及びネット配線長に応じた配線禁止幅を求め、配線禁止領域78−1を設定する。
図18は、2つのネットを配置したときのレイアウトの例を示す図である。
配線レイアウト処理は、図8と同様であるので図示を省略している。
ステップS30〜S32は、図7のステップS10〜S12の処理と同じである。ステップS32の処理で、配置優先度が決定すると、前述のように配置禁止領域を設定するのではなく、元のセルをセル拡張幅分広げた面積以上の広さのセルに入れ替える(ステップS33)。このセルは、既存のセルでもよいし、一時的に生成するようにしてもよい。セル拡張幅は、前述した配置禁止幅(すなわち最低セル配置間隔)と同じであり、図10のようなグラフで表される。このようなグラフを、テーブルデータまたは算出式で表し、記憶しておき、セルごとの平均動作回数及び使用電圧をもとにセル拡張幅を決定する。
図20(A)では、10個のセル80−1〜80−10を示している。各セル80−1〜80−10内に付された数字は、配置優先度を示している。“1”のセル80−8が最も優先度が高く、“10”のセル80−1が最も優先度が低い。
図21は、セル拡張幅に応じて入れ替えたセルを配置した例を示す図である。
なお、電源線などは図9などと同一符号としている。
セル配置が完了すると、置き換えたセルを元のセルに戻す(ステップS35)。
セル拡張幅=最低セル配置間隔であるため、セル80d−1〜80d−10を、元のセル80−1〜80−10に戻すと、全てのセル80−1〜80−10は、自動的に最低セル配置間隔を満たすことになる。
配置部が、前記第1配置禁止領域に第2回路ブロックが配置されないように、前記第1回路ブロック及び前記第2回路ブロックを配置する工程と、
を有することを特徴とする半導体集積回路の設計方法。
配線配置部が前記最低配線間隔を満たすように、前記第1配線及び前記第2配線を配置することを特徴とする半導体集積回路の設計方法。
前記第1配置禁止領域に第2回路ブロックが配置されないように、前記第1回路ブロック及び前記第2回路ブロックを配置する配置部と、
を有することを特徴とする半導体集積回路の設計装置。
前記最低配線間隔を満たすように、前記第1配線及び前記第2配線を配置する配線配置部と、
を有することを特徴とする半導体集積回路の設計装置。
11 回路情報記憶部
12 平均動作回数算出部
13 最低セル配置間隔決定部(配置禁止領域決定部)
14 セル配置部
15 ノイズ対策/検証部
Claims (3)
- 配置禁止領域決定部が、第1回路ブロックの単位時間当たりの平均動作回数または使用電圧をもとに、前記第1回路ブロックの周辺に第1配置禁止領域を決定する工程と、
配置部が、前記第1配置禁止領域に第2回路ブロックが配置されないように、前記第1回路ブロック及び前記第2回路ブロックを配置する工程と、を有し、
前記第1回路ブロックの前記平均動作回数が同じ場合に、前記使用電圧が低いほど前記第1配置禁止領域が広く設定される、
ことを特徴とする半導体集積回路の設計方法。 - 前記配置禁止領域決定部は、前記第1回路ブロックの周囲を所定幅広げた前記第1配置禁止領域を設定することを特徴とする請求項1に記載の半導体集積回路の設計方法。
- 前記第1回路ブロックを、前記第1配置禁止領域以上の広さの第3回路ブロックに置き換え、前記第2回路ブロックを、前記第2回路ブロックの前記平均動作回数または前記使用電圧をもとに決定される第2配置禁止領域以上の広さの第4回路ブロックに置き換え、前記第3回路ブロック及び前記第4回路ブロックを互いに重ならないように配置し、前記第3回路ブロック及び前記第4回路ブロックの配置後に、前記第3回路ブロックを前記第1回路ブロックに置き換え、前記第4回路ブロックを前記第2回路ブロックに置き換えることを特徴とする請求項1または2に記載の半導体集積回路の設計方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2007304590A JP5309538B2 (ja) | 2007-11-26 | 2007-11-26 | 半導体集積回路の設計方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2007304590A JP5309538B2 (ja) | 2007-11-26 | 2007-11-26 | 半導体集積回路の設計方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2009130191A JP2009130191A (ja) | 2009-06-11 |
JP5309538B2 true JP5309538B2 (ja) | 2013-10-09 |
Family
ID=40820796
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2007304590A Expired - Fee Related JP5309538B2 (ja) | 2007-11-26 | 2007-11-26 | 半導体集積回路の設計方法 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP5309538B2 (ja) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9824174B2 (en) * | 2015-09-11 | 2017-11-21 | Qualcomm Incorporated | Power-density-based clock cell spacing |
JP7218666B2 (ja) * | 2019-04-26 | 2023-02-07 | 富士通株式会社 | 設計方法、および設計プログラム |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2007258215A (ja) * | 2006-03-20 | 2007-10-04 | Fujitsu Ltd | セル配置プログラム、セル配置装置、及びセル配置方法 |
-
2007
- 2007-11-26 JP JP2007304590A patent/JP5309538B2/ja not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JP2009130191A (ja) | 2009-06-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4501728B2 (ja) | クロストークエラー制御装置、クロストークエラー制御方法およびクロストークエラー制御プログラム | |
JP3615191B2 (ja) | 半導体集積回路装置の設計方法、設計装置、及び設計プログラム | |
US10713410B2 (en) | Method for legalizing mixed-cell height standard cells of IC | |
CN109086468B (zh) | 用于设计集成电路芯片的方法、系统及电脑程序产品 | |
JP2009163655A (ja) | 半導体装置の製造方法、半導体装置の製造プログラムおよび半導体装置の製造システム | |
EP1465088A2 (en) | Hierarchical evaluation of cells | |
EP2529283A2 (en) | Zone-based leakage power optimization | |
EP3239865A1 (en) | Method for analyzing ir drop and electromigration of ic | |
US8762919B2 (en) | Circuit macro placement using macro aspect ratio based on ports | |
JP2010257164A (ja) | 半導体集積回路装置の設計方法およびプログラム | |
US11574101B2 (en) | Techniques for providing optimizations based on categories of slack in timing paths | |
JP5309538B2 (ja) | 半導体集積回路の設計方法 | |
US8875075B2 (en) | Generating pattern-based estimated RC data with analysis of route information | |
US7418675B2 (en) | System and method for reducing the power consumption of clock systems | |
US7191416B2 (en) | System and method for modifying integrated circuit hold times | |
US10540463B1 (en) | Placement of delay circuits for avoiding hold violations | |
JP2003281212A (ja) | 自動配置配線方法、装置及びプログラム | |
US20080209368A1 (en) | Layout design method, layout design apparatus, and computer product | |
JP5929367B2 (ja) | 半導体設計装置および半導体設計方法 | |
JP2008123458A (ja) | 半導体集積回路の設計方法 | |
JP4778339B2 (ja) | 自動配置方法、装置、及びプログラム | |
JP2003058594A (ja) | 半導体集積回路の設計方法及び設計装置 | |
JP4973561B2 (ja) | 半導体集積回路の設計方法。 | |
JP2021077000A (ja) | 自動配置配線装置、自動配置配線方法、自動配置配線プログラム、自動配置配線プログラムを格納した記憶媒体および半導体集積回路 | |
JP6428207B2 (ja) | 設計方法、設計装置及びプログラム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20100723 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20121218 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20121220 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20130215 |
|
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: 20130604 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20130617 |
|
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: R313111 |
|
R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |
|
LAPS | Cancellation because of no payment of annual fees |