JP5309538B2 - 半導体集積回路の設計方法 - Google Patents

半導体集積回路の設計方法 Download PDF

Info

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
Application number
JP2007304590A
Other languages
English (en)
Other versions
JP2009130191A (ja
Inventor
哲哉 穴沢
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fujitsu Semiconductor Ltd
Original Assignee
Fujitsu Semiconductor Ltd
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 Fujitsu Semiconductor Ltd filed Critical Fujitsu Semiconductor Ltd
Priority to JP2007304590A priority Critical patent/JP5309538B2/ja
Publication of JP2009130191A publication Critical patent/JP2009130191A/ja
Application granted granted Critical
Publication of JP5309538B2 publication Critical patent/JP5309538B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Design And Manufacture Of Integrated Circuits (AREA)

Description

本発明は半導体集積回路の設計方法に関し、特に半導体集積回路で発生するノイズの影響を考慮した半導体集積回路の設計方法に関する。
半導体集積回路(以下チップと呼ぶ)の微細化、高周波数化、低電圧化に伴い、チップのノイズ対策はますます重要になってきている。ノイズの種類はいくつか存在するが、ここでは電源ノイズとクロストークノイズをあげる。
電源ノイズとは電源配線の不足や、クロックバッファなどの同期セルが同時に動作することで発生するノイズ(VDD(高電源電圧)側では電圧低下、VSS(低電源電圧)側では電源上昇)のことで、このノイズが大きいと、信号反転、誤ラッチが発生する危険性がある。電源ノイズを低減させるには電源配線を増やす、同期セルの分散配置、電源間にデカップリング容量セルを配置するなどがあげられる。
一方、クロストークノイズとは、平行して走る信号線同士が影響しあうことで発生するノイズのことで、信号線が接近している、平行配線長が長い、動作周波数(信号の変化回数)が高い、使用電圧が高いものほどクロストークノイズは大きくなる。クロストークノイズを低減させるには配線間隔を広げる、平行配線を減らすなどがあげられる。
図23は、従来の半導体装置の概略の設計フローを示す図である。
始めにチップの電源配線を行い(ステップS80)、次に、回路ブロック(以下セルと呼ぶ)の配置を行う(ステップS81)。その後、電源ノイズ対策にデカップリング容量を配置する(ステップS82)。そして、必要なデカップリング容量値を満足しているかの検証を行う(ステップS83)。ここで、エラーがある場合には、ステップS81の処理に戻りセルの配置の修正やデカップリング容量値や配置の修正、検証を、エラーがなくなるまで繰り返す。次に、信号配線を行う(ステップS84)。次にクロストークノイズ解析を行う(ステップS85)。ここで、エラーがある場合には、ステップS84(場合によってはステップS81)に戻り、配線の修正(場合によってはセル配置の修正まで戻る)、クロストークノイズ解析を、エラーがなくなるまで繰り返していく。
ノイズを考慮した配置配線手法として、従来、動作回数の多いセルもしくはセル群同士をできるだけ分散して配置、配線を行う手法があった(たとえば、特許文献1,2参照)。
特開平9−269958号公報 特開平10−91675号公報
しかし、従来の技術では、事前に電源ノイズ及びクロストークノイズを十分考慮して配置、配線を実施していないため、必要なデカップリング容量の検証、クロストークノイズ解析で繰り返し回数が増加し、TAT(Turn Around Time)が非常に長くなってしまう問題がある。
従来、事前に動作回数の多いセルやセル群同士を分散して配置、配線を行う手法はあったが、それ以外のセルについては考慮されていなかった。たとえば、使用する電圧値の異なるセルが混在しているチップの場合、ノイズの影響度は電圧値によって異なるが、そのような影響については考慮されていなかった。
上記の点を鑑みて、本発明者は、半導体集積回路のノイズが抑制可能で、設計期間が短縮可能な半導体集積回路の設計方法を提供することを目的とする。
上記目的を達成するために、以下のような工程を有する半導体集積回路の設計方法が提供される。この半導体集積回路の設計方法は、配置禁止領域決定部が、第1回路ブロックの単位時間当たりの平均動作回数または使用電圧をもとに、前記第1回路ブロックの周辺に第1配置禁止領域を決定する工程と、配置部が、前記第1配置禁止領域に第2回路ブロックが配置されないように、前記第1回路ブロック及び前記第2回路ブロックを配置する工程と、を有する。
また、以下のような半導体集積回路の設計方法が提供される。この半導体集積回路の設計方法は、最低配線間隔決定部が、複数の回路ブロック間を接続する第1配線における単位時間当たりの信号の平均変化回数、使用電圧または配線長をもとに、前記第1配線と第2配線との間の最低配線間隔を決定し、配線配置部が前記最低配線間隔を満たすように、前記第1配線及び前記第2配線を配置する。
ノイズを抑制可能な半導体集積回路が設計できるとともに、TATを短くでき、設計期間を短縮できる。
以下、本実施の形態の半導体集積回路の設計方法及び半導体集積回路の設計装置を図面を参照して詳細に説明する。
図1は、ノイズを考慮したセル配置を行う本実施の形態の設計装置における主要部の機能ブロック図である。
設計装置10は、回路情報記憶部11、平均動作回数算出部12、最低セル配置間隔決定部(配置禁止領域決定部)13、セル配置部14、ノイズ対策/検証部15を有している。
回路情報記憶部11は、ネットリストやセルの使用電圧や動作周波数などの回路情報を記憶している。
平均動作回数算出部12は、回路情報記憶部11に格納されたネットリストや、セルの単位時間当たりの動作変化確率(以下動作率)、動作周波数をもとに、個々のセルの単位時間当たりの平均動作回数を算出する。
最低セル配置間隔決定部13は、個々のセルの平均動作回数と、使用電圧からセルごとに最低セル配置間隔を決定することで配置禁止領域を決定する。平均動作回数が多いほどノイズが増加しやすいため、最低セル配置間隔を広げる。また、使用電圧が低いほど、ノイズの影響を受けやすくなるため、最低セル配置間隔を広げる。たとえば、電圧が1.2Vのセルと電圧が1.0Vのセルが混在し、電源ノイズにより両方のセルに0.1Vの電圧降下が発生した場合、1.0Vのセルのほうが、より自身のセルと他のセルとを分散して配置する必要がある。
なお、最低セル配置間隔の決定の際には、平均動作回数、使用電圧及び最低セル配置間隔の関係を予め規定したテーブルデータを利用してもよいし、算出式を用いてもよい。
セル配置部14は、決定された最低セル配置間隔を満たすように、セルを配置していく。
ノイズ対策/検証部15は、全てのセル配置の完了後に、デカップリング容量を配置し、その容量値を検証する。
以下、図1の設計装置10の動作を説明する。
セル配置を行う際に、平均動作回数算出部12は、個々のセルの平均動作回数を算出する。
その後、最低セル配置間隔決定部13は、配置しようとするセルの平均動作回数と使用電圧をもとに、最低セル配置間隔を決定する。
なお、平均動作回数や最低セル配置間隔は、セルごとに予め求めておき回路情報記憶部11に記憶するようにしてもよい。
セル配置部14は、前に配置したセルの最低セル配置間隔を満たすようにセルを配置していく。なお、セルの配置は、最低セル配置間隔が広いセルから優先的に配置する。後に配置するセルの最低セル配置間隔が、前に配置したセルのものよりも広いと、前に配置したセルが、後に配置したセルの最低セル配置間隔を満たさなくなる可能性があるからである。
図2は、セル配置の様子を示す図である。
最低セル配置間隔d1のセル20を配置した場合、他のセル21,22は、最低セル配置間隔d1を満たすように配置される。なお、セル21,22のように、最低セル配置間隔d2,d3で規定される領域同士をオーバーラップさせて配置してもよい。このように配置することで、省スペース化が期待できる。
セルの配置が全て終わると、ノイズ対策/検証部15は、ノイズ除去のためのデカップリング容量を配置し、その容量値が適正か検証する。検証の結果、エラーがあればセル配置を修正するが、エラーがなければ、次に配線レイアウト処理に進む。
本実施の形態の設計装置10では、全てのセルについて、ノイズの影響を考慮した配置が行われるので、デカップリング容量値の検証の際にエラーとなる可能性を少なくでき、TATを短くできるので、設計期間を短縮することができる。
図3は、ノイズを考慮した配線を行う本実施の形態の設計装置における主要部の機能ブロック図である。
設計装置30は、回路情報記憶部31、平均変化回数算出部32、ネット配線長算出部33、最低配線間隔決定部34、配線配置部35、ノイズ検証部36を有している。
回路情報記憶部31は、ネットリストや、複数のセル間を接続する信号配線(クロック信号線、データ信号線、制御信号線、アドレス信号線など)であるネットの使用電圧などの回路情報を記憶している。
平均変化回数算出部32は、回路情報記憶部31に格納された回路情報を参照して、ネットに伝達される信号の周波数や、データ信号などの場合はデータの変化率などから単位時間当たりの信号の平均変化回数を算出する。
ネット配線長算出部33は、ネットの配線長を算出する。ネットの配線長は、たとえば、ネットの始点と終点の座標から、マンハッタン長を算出して求めることができる。
最低配線間隔決定部34は、個々のネットの平均変化回数、使用電圧及びネット配線長をもとに、ネットごとに最低配線間隔を決定する。平均変化回数が多く、使用電圧が高く、配線長が長いネットほどノイズが増加しやすいため、最低配線間隔を広げる。たとえば、クロストークノイズにおいて、相手との間隔、平行配線長が同じなど電圧以外の条件が同じなら、電圧が1.2Vのネットと電圧が1.0Vのネットでは、1.2Vのネットのほうがより大きなノイズ源となりうる。よって、1.0Vのネットより1.2Vのネットのほうが、より自身のネットと他のネットとの間隔を離す必要がある。
なお、最低配線間隔の決定の際には、平均変化回数、使用電圧及び最低配線間隔の関係を予め規定したテーブルデータを利用してもよいし、算出式を用いてもよい。
配線配置部35は、決定された最低配線間隔を満たすように、ネットを配置していく。
ノイズ検証部36は、全てのネットの配置後に、クロストークノイズを検証する。
以下、図3の設計装置30の動作を説明する。
図示しない構成によって、セルの配置が終わると、平均変化回数算出部32は、各セル間を接続するネットにおける単位時間当たりの信号の平均変化回数を算出する。そして、ネット配線長算出部33は、ネットの配線長を算出する。その後、最低配線間隔決定部34は、平均変化回数と、使用電圧、ネット配線長をもとに、ネットの最低配線間隔を決定する。
なお、平均変化回数、ネット配線長、最低配線間隔は予め求めておき、回路情報記憶部31に記憶するようにしてもよい。
配線配置部35は、前に配置したネットの最低配線間隔を満たすようにネットを配置していく。なお、ネットの配置は、最低配線間隔が広いネットから優先的に配置する。後に配置するネットの最低配線間隔が、前に配置したネットのものよりも広いと、前に配置したネットが、後に配置したネットの最低配線間隔を満たさなくなる可能性があるからである。
図4は、ネットの配置の様子を示す図である。
セル40−1,40−2,40−3,40−4を接続する最低配線間隔d5のネット41を配置し、セル40−5,40−6,40−7を接続する他の最低配線間隔d6のネット42を、ネット41の最低セル配置間隔d5を満たすように配置した場合について示している。なお、最低配線間隔d5,d6で規定される領域同士をオーバーラップさせて配置してもよい。このように配置することで、省スペース化が期待できる。
ネットの配置が全て終わると、ノイズ検証部36は、クロストークノイズを検証する。ここでエラーがある場合には、配置を修正するか、場合によって、セル配置まで戻って修正する。
本実施の形態の設計装置30では、全てのネットについて、ノイズの影響を考慮し配置が行われるので、クロストークノイズの検証の際にエラーとなる可能性が少なく、TATを短くできるので、設計期間を短縮することができる。
次に、本実施の形態の半導体集積回路の設計装置及び設計方法の詳細を説明する。
図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を介して相互に接続されている。
ここで、CPU51は、ROM52や、HDD54に格納されているプログラムや、各種データに応じて各部を制御し、図1や図3に示した各部の機能を行う。
ROM52は、CPU51が実行する基本的なプログラムやデータを格納している。
RAM53は、CPU51が実行途中のプログラムや、演算途中のデータを格納している。
HDD54は、CPU51が実行するOS(Operation System)や、半導体集積回路の設計のためのCAD(Computer-Aided Design)プログラムや、ノイズ検証プログラムなど各種アプリケーションプログラム、各種データを格納する。また、図1や図3の回路情報記憶部11,31として機能するようにしてもよい。
グラフィック処理部55には、表示装置として、たとえば、ディスプレイ55aが接続されており、CPU51からの描画命令に従って、ディスプレイ55a上に、CAD画面などを表示する。
入力I/F56には、マウス56aやキーボード56bなどの入力装置が接続されており、回路設計者などのユーザにより入力された情報を受信し、バス57を介してCPU51に伝送する。
図6は、半導体集積回路の設計に用いる機能ブロック群を示す図である。
以下に示す機能ブロック群の各機能は、CPU51の制御のもと図5の各ハードウェア構成を用いて実行されるソフトウェア(論理合成ツール、自動レイアウトツール、検証ツールなど)により実現可能な機能である。
機能設計部60は、たとえばVHDL(Very high-speed integrated circuit Hard-ware Description Language)などのハードウェア記述言語により、製品に必要な機能の設計を行う。
論理自動設計部61は、設計された機能を実現する論理回路(ネットリスト)を、論理合成ツールにより自動設計する。
フロアプラン設計部62は、半導体集積回路の各機能ブロック(マクロ)やセルの大まかな配置を決定する。
電源配線部63は、電源線の配線を行う。
マクロ配置部64は、フロアプラン設計部62で決定された位置にマクロを配置する。
ノイズ検証部65は、図1のノイズ対策/検証部15、図3のノイズ検証部36と同様に、デカップリング容量の検証や、クロストークノイズの検証を行う。
セル配置部66は、平均動作回数算出手段66a、配置優先度決定手段66b、セル配置手段66c、配置禁止幅決定手段66d、配置禁止領域設定手段66e、セル拡張幅決定手段66f、セル入れ替え手段66gを有している。
平均動作回数算出手段66aは、図1の平均動作回数算出部12に対応しており、セルの平均動作回数を算出し、記憶する。
配置優先度決定手段66bは、平均動作回数が多く、使用電圧が低いセルほど先に配置されるようにセルの配置優先度(配置順)を算出し、記憶する。
セル配置手段66cは、フロアプラン情報と配置優先度をもとに、セルの配置を行う。
配置禁止幅決定手段66dは、前述した最低セル配置間隔を、配置禁止幅として求め、記憶する。
配置禁止領域設定手段66eは、セルの周囲を配置禁止幅分広げた配置禁止領域を設定する。
セル拡張幅決定手段66fは、前述した最低セル配置間隔を、セル拡張幅として求め、記憶する。
セル入れ替え手段66gは、元のセルを、セル拡張幅に応じた他のセルに入れ替えたり、他のセルを元のセルに戻したりする。
信号配線部67は、平均変化回数算出手段67a、ネット配線長算出手段67b、配線優先度決定手段67c、配線手段67d、配線禁止幅決定手段67e、配線禁止領域設定手段67fを有している。
平均変化回数算出手段67aは、図3の平均変化回数算出部32に対応しており、信号線を伝送する信号の単位時間当たりの平均変化回数を算出する。
ネット配線長算出手段67bは、図3のネット配線長算出部33に対応しており、ネットの配線長を算出し、記憶する。
配線優先度決定手段67cは、平均変化回数、使用電圧及びネット配線長からネットの配線優先度を算出し、記憶する。
配線手段67dは、配線優先度をもとに、ネットを配置する。
配線禁止幅決定手段67eは、前述した最低配線間隔を、配線禁止幅として求め、記憶する。
配線禁止領域設定手段67fは、ネットの周囲を配線禁止幅分広げた配線禁止領域を設定する。
以下、図5、図6で示したようなハードウェア及び機能を用いた設計方法をフローチャートで説明する。
図7及び図8は、本実施の形態の設計方法の流れを示すフローチャートである。
まず、フロアプラン情報をもとに配置されたマクロに対して電源配線を行う(ステップS10)。次に、個々のセルの単位時間当たりの平均動作回数を算出する(ステップS11)。そして、平均動作回数が多く、使用電圧が低いセルほど先に配置されるように、セルの配置優先度を決定する(ステップS12)。
なお、配置優先度を決定するのに、平均動作回数と使用電圧のいずれを優先するかは適宜設定可能である。たとえば、平均動作回数はセルAのほうが多いが、使用電圧はセルBの方が低いといった場合、その度合いによって、いずれを優先するか予め設定情報として記憶しておく。この情報は、適宜変更するようにしてもよい。
その後、フロアプラン情報と配置優先度をもとに、セルの配置を行う(ステップS13)。そして、1つのセルの配置を行うたびに、セルを囲むような配置禁止領域を設定する(ステップS14)。
図9は、セルの周りに配置禁止領域を設定したレイアウトの例を示す図である。
ここで示すレイアウトでは、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を設定する。
次に、全てのセル配置が完了したか否かを判定し(ステップS15)、完了していなければ、ステップS13の処理に戻り、配置優先度の高い順にセルの配置を続ける。
図11は、2つのセルを配置したときのレイアウトの例を示す図である。
2番目に配置するセル74−2は、前に配置したセル74−1に設定された配置禁止領域75−1内に入らないように配置される。ただし、図のように、セル74−2に設定される配置禁止領域75−2と、配置禁止領域75−1とはオーバーラップさせてもよい。
優先度の高いセル74−1(すなわち、配置禁止幅の広いセル)ほど先に配置されるので、後から配置するセル74−2の配置禁止領域75−2が、先に配置されたセル74−1にかかることはない。
ステップS15の処理で、全てのセル配置が完了したと判定された場合には、設定した配置禁止領域を削除し(ステップS16)、デカップリング容量の配置を行う(ステップS17)。
図12は、デカップリング容量を配置したときのレイアウトの例を示す図である。
デカップリング容量76は、電源ノイズを抑制するために、セル74−1,…,74−n間のすきまに設けられる。
次に、必要なデカップリング容量値を満足しているか検証を行う(ステップS18)。検証の結果、エラーがあればステップS13の処理に戻ってセル配置を修正する。しかしながら、本実施の形態の設計方法では、全てのセルについて、ノイズの影響を考慮した配置が行われるので、デカップリング容量値の検証の際にエラーとなる可能性を少なくできる。
エラーがなければ、次に配線レイアウト処理に進む。
配線工程では、まず、ネットを伝送する信号の単位時間当たりの平均変化回数を算出する(ステップS19)。
次に、ネットの配線長を算出する(ステップS20)。ネットの配線長は、たとえば、ネットの始点と終点の座標から、マンハッタン長を算出して求めることができる。トータルな配線長で求めてもよい。
その後、平均変化回数が多く、使用電圧が高く、配線長の長いネットほど先に配置されるように配線優先度を決定する(ステップS21)。
図13は、セル間を接続するネットの例を示す図である。
図12で示したデカップリング容量76は図示を簡略化するため省いている。
また、それぞれ複数のセル間を接続するネット77−1,77−2,77−3は、配置位置が確定していないことを示し、点線で示している。
ここで、たとえば、ネット77−1が平均変化回数、使用電圧及び配線長がともにネット77−2,77−3よりも上回っている場合には、配線優先度が一番高く設定される。
なお、配線優先度を決定するのに、平均変化回数、使用電圧、ネット配線長のいずれを優先するのかは適宜設定可能である。たとえば、使用電圧が等しいネット77−2,77−3があった場合、平均変化回数はネット77−2のほうが多いが、ネット配線長はネット77−3のほうが長い場合、その度合いに応じて、いずれを優先するか予め設定情報として記憶しておく。この情報は、適宜変更するようにしてもよい。
配線優先度が決まると、配線優先度の高いネットから配置を行う(ステップS22)。
図14は、配置が確定したネットの例を示す図である。
また、図15は、セルの回路とネットの接続例を示す図である。
図14では、配置が確定したネット77−1を実線で示している。ネット77−1より配線優先度の低いネット77−2,77−3は配線が確定しておらず、点線で示してある。図15では、ネット77−1と、セル74−i,74−jとの接続例を示している。セル74−iはインバータ回路、セル74−jはNAND回路の例を示している。
上記のように、ネットを配置すると、そのネットのまわりに配線禁止領域を設定する(ステップS23)。
図16は、ネットの周りに配線禁止領域を設定したレイアウトの例を示す図である。
たとえば、配置が確定したネット77−1の周りに、配線禁止幅だけ広げた大きさの配線禁止領域78−1が設定されている。
配線禁止幅は、ネット77−1における信号の平均変化回数、使用電圧及びネット配線長をもとに決定される。
図17は、配線禁止幅と、平均変化回数、使用電圧及びネット配線長との関係を示す図である。
図のように、配線禁止幅は、平均変化回数が多く、使用電圧が高く、ネット配線長が長いほど広くなるようにしている。このようなグラフを、テーブルデータまたは算出式で表し、記憶しておき、たとえば、図14のようにネット77−1が配線された際に読み出して、配線したネット77−1の平均変化回数、使用電圧及びネット配線長に応じた配線禁止幅を求め、配線禁止領域78−1を設定する。
次に、全てのネットの配置が完了したか判定し(ステップS24)、完了していなければ、ステップS22の処理に戻り、配線優先度の高い順にネットの配置を続ける。
図18は、2つのネットを配置したときのレイアウトの例を示す図である。
2番目に配置するネット77−2は、前に配置したネット77−1に設定された配線禁止領域78−1内に入らないように配置される。ただし、ネット77−2に設定される配線禁止領域78−2と、配線禁止領域78−1とは、オーバーラップさせてもよい。
優先度の高いネット77−1(すなわち、配線禁止幅の広いネット)ほど先に配置されるので、後から配置するネット77−2の配線禁止領域78−2が、先に配置されたネット77−1にかかることはない。
ステップS24の処理で、全てのネットの配置が完了したと判定された場合には、設定した配線禁止領域を削除し(ステップS25)、クロストークノイズの解析を行う(ステップS26)。検証の結果、エラーがあればステップS22の処理に戻ってネットの配置を修正する。また、場合によってはステップS13まで戻り、セル配置を修正する。しかしながら、本実施の形態の設計方法では、全てのネットについて、ノイズの影響を考慮した配置が行われるので、クロストークノイズの解析の際にエラーとなる可能性を少なくできる。
このように、本実施の形態の設計方法では、ノイズの影響を考慮した配置配線が行われるので、ステップS18のデカップリング容量値の検証や、ステップS26のクロストークノイズの解析の際に、エラーとなる可能性が少なく、セル配置やネット配線を修正する回数が少なくなるのでTATを短くできる。これによって、設計期間を短縮することが可能になる。
ところで、上記の説明では、図6の配置禁止幅決定手段66d、配置禁止領域設定手段66eを用いて、セル配置の際に、セルの周囲に、前述の最低セル配置間隔として配置禁止幅分だけ広げた配置禁止領域を設定した場合について説明したが、最低セル配置間隔を満たすようにセルを配置するために、図6のセル拡張幅決定手段66f、セル入れ替え手段66gの機能を用いてもよい。以下、その場合の設計方法を説明する。
図19は、本実施の形態の他の設計方法の流れを示すフローチャートである。
配線レイアウト処理は、図8と同様であるので図示を省略している。
ステップS30〜S32は、図7のステップS10〜S12の処理と同じである。ステップS32の処理で、配置優先度が決定すると、前述のように配置禁止領域を設定するのではなく、元のセルをセル拡張幅分広げた面積以上の広さのセルに入れ替える(ステップS33)。このセルは、既存のセルでもよいし、一時的に生成するようにしてもよい。セル拡張幅は、前述した配置禁止幅(すなわち最低セル配置間隔)と同じであり、図10のようなグラフで表される。このようなグラフを、テーブルデータまたは算出式で表し、記憶しておき、セルごとの平均動作回数及び使用電圧をもとにセル拡張幅を決定する。
図20は、セルの入れ替えの様子を示す図である。
図20(A)では、10個のセル80−1〜80−10を示している。各セル80−1〜80−10内に付された数字は、配置優先度を示している。“1”のセル80−8が最も優先度が高く、“10”のセル80−1が最も優先度が低い。
図20(B)では、セル拡張幅に応じて入れ替えたセル80d−1〜80d−10を示している。図では配置優先度の高いセル順に並べてある。図20(A)のような一定の大きさのセル80−1〜80−10の場合、配置優先度の高いセルほど、大きなセルに入れ替わる。
次に、入れ替えたセルの配置を行う(ステップS34)。
図21は、セル拡張幅に応じて入れ替えたセルを配置した例を示す図である。
なお、電源線などは図9などと同一符号としている。
セル80d−1〜80d−10の配置は、たとえば、優先度の高いものから順に行う。このとき、セル同士が接するように配置してもよい。
セル配置が完了すると、置き換えたセルを元のセルに戻す(ステップS35)。
図22は、入れ替えたセルを元のセルに戻したときのレイアウトの様子を示す図である。
セル拡張幅=最低セル配置間隔であるため、セル80d−1〜80d−10を、元のセル80−1〜80−10に戻すと、全てのセル80−1〜80−10は、自動的に最低セル配置間隔を満たすことになる。
その後は、図7のステップS17,S18と同様に、デカップリング容量を配置し(ステップS36)、デカップリング容量値が適正な値か検証する(ステップS37)。エラーがあれば、ステップS33の処理に戻り、入れ替えるセルの大きさを変更するなどの修正を行う。しかしながら、本実施の形態の設計方法では、セル拡張幅だけ大きいセルに入れ替えて配置したのちに、元のセルに戻すことで、各セルは、最低セル配置間隔を満たすことになるのでエラーとなる可能性を少なくできる。
このように、セルの周りに配置禁止領域を設ける代わりに、配置禁止幅に対応したセル拡張幅分、元のセルを大きくしたセルに入れ替えて配置しても、同様に、全てのセルに対してノイズ対策が行われるので、TATを短くでき、設計期間を短縮できるという効果が得られる。
なお、上記では、入れ替えたセルを優先度順に配置すると説明したが、これに限定されない。セルを入れ替えて配置する手法を用いた場合、配置禁止領域を用いた場合のように、後に配置したセルの配置禁止領域が、前に配置したセルの配置禁止領域よりも広いことにより、前に配置したセルが後に配置したセルの配置禁止領域内にかかることはないので、配置の順番は適宜自由に行うことができる。
(付記1) 配置禁止領域決定部が、第1回路ブロックの単位時間当たりの平均動作回数または使用電圧をもとに、前記第1回路ブロックの周辺に第1配置禁止領域を決定する工程と、
配置部が、前記第1配置禁止領域に第2回路ブロックが配置されないように、前記第1回路ブロック及び前記第2回路ブロックを配置する工程と、
を有することを特徴とする半導体集積回路の設計方法。
(付記2) 前記第1回路ブロックの前記平均動作回数が多く、前記使用電圧が低いほど前記第1配置禁止領域が広く設定されることを特徴とする付記1記載の半導体集積回路の設計方法。
(付記3) 前記配置禁止領域決定部は、前記第1回路ブロックの周囲を所定幅広げた前記第1配置禁止領域を設定することを特徴とする付記1または2に記載の半導体集積回路の設計方法。
(付記4) 自身の単位時間当たりの平均動作回数または使用電圧をもとに決定される第2配置禁止領域が広い前記第2回路ブロックほど、先に配置することを特徴とする付記1乃至3の何れか一項に記載の半導体集積回路の設計方法。
(付記5) 前記第1回路ブロックの前記第1配置禁止領域以上の広さの第3回路ブロックを前記第1回路ブロックの代わりに配置し、前記第2回路ブロックの単位時間当たりの平均動作回数または使用電圧をもとに決定される第2配置禁止領域以上の広さの第4回路ブロックを、前記第2回路ブロックの代わりに配置し、前記第3回路ブロック及び前記第4回路ブロックの配置後に、前記第3回路ブロックを前記第1回路ブロックに、前記第4回路ブロックを前記第2回路ブロックに入れ替えて配置することを特徴とする付記1乃至4の何れか1項に記載の半導体集積回路の設計方法。
(付記6) 最低配線間隔決定部が、複数の回路ブロック間を接続する第1配線における単位時間当たりの信号の平均変化回数、使用電圧または配線長をもとに、前記第1配線と第2配線との間の最低配線間隔を決定し、
配線配置部が前記最低配線間隔を満たすように、前記第1配線及び前記第2配線を配置することを特徴とする半導体集積回路の設計方法。
(付記7) 前記平均変化回数が多く、前記使用電圧が高く、前記配線長が長い第1配線ほど前記最低配線間隔を広げることを特徴とする付記6記載の半導体集積回路の設計方法。
(付記8) 自身の単位時間当たりの信号の平均変化回数、使用電圧または配線長をもとに決定される他の最低配線間隔が広い前記第2配線ほど先に配置することを特徴とする付記6または7に記載の半導体集積回路の設計方法。
(付記9) 第1回路ブロックの単位時間当たりの平均動作回数または使用電圧をもとに、前記第1回路ブロックの周辺に第1配置禁止領域を決定する配置禁止領域決定部と、
前記第1配置禁止領域に第2回路ブロックが配置されないように、前記第1回路ブロック及び前記第2回路ブロックを配置する配置部と、
を有することを特徴とする半導体集積回路の設計装置。
(付記10) 複数の回路ブロック間を接続する第1配線における単位時間当たりの信号の平均変化回数、使用電圧または配線長をもとに、前記第1配線と第2配線との間の最低配線間隔を決定する最低配線間隔決定部と、
前記最低配線間隔を満たすように、前記第1配線及び前記第2配線を配置する配線配置部と、
を有することを特徴とする半導体集積回路の設計装置。
ノイズを考慮したセル配置を行う本実施の形態の設計装置における主要部の機能ブロック図である。 セル配置の様子を示す図である。 ノイズを考慮した配線を行う本実施の形態の設計装置における主要部の機能ブロック図である。 ネットの配置の様子を示す図である。 半導体集積回路の設計装置のハードウェア構成例である。 半導体集積回路の設計に用いる機能ブロック群を示す図である。 本実施の形態の設計方法の流れを示すフローチャートである(その1)。 本実施の形態の設計方法の流れを示すフローチャートである(その2)。 セルの周りに配置禁止領域を設定したレイアウトの例を示す図である。 配置禁止幅と、平均動作回数及び使用電圧との関係を示す図である。 2つのセルを配置したときのレイアウトの例を示す図である。 デカップリング容量を配置したときのレイアウトの例を示す図である。 セル間を接続するネットの例を示す図である。 配置が確定したネットの例を示す図である。 セルの回路とネットの接続例を示す図である。 ネットの周りに配線禁止領域を設定したレイアウトの例を示す図である。 配線禁止幅と、平均変化回数、使用電圧及びネット配線長との関係を示す図である。 2つのネットを配置したときのレイアウトの例を示す図である。 本実施の形態の他の設計方法の流れを示すフローチャートである。 セルの入れ替えの様子を示す図である。 セル拡張幅に応じて入れ替えたセルを配置した例を示す図である。 入れ替えたセルを元のセルに戻したときのレイアウトの様子を示す図である。 従来の半導体装置の概略の設計フローを示す図である。
符号の説明
10 設計装置
11 回路情報記憶部
12 平均動作回数算出部
13 最低セル配置間隔決定部(配置禁止領域決定部)
14 セル配置部
15 ノイズ対策/検証部

Claims (3)

  1. 配置禁止領域決定部が、第1回路ブロックの単位時間当たりの平均動作回数または使用電圧をもとに、前記第1回路ブロックの周辺に第1配置禁止領域を決定する工程と、
    配置部が、前記第1配置禁止領域に第2回路ブロックが配置されないように、前記第1回路ブロック及び前記第2回路ブロックを配置する工程と、を有し、
    前記第1回路ブロックの前記平均動作回数が同じ場合に、前記使用電圧が低いほど前記第1配置禁止領域が広く設定される、
    ことを特徴とする半導体集積回路の設計方法。
  2. 前記配置禁止領域決定部は、前記第1回路ブロックの周囲を所定幅広げた前記第1配置禁止領域を設定することを特徴とする請求項1に記載の半導体集積回路の設計方法。
  3. 前記第1回路ブロックを、前記第1配置禁止領域以上の広さの第3回路ブロックに置き換え、前記第2回路ブロックを、前記第2回路ブロックの前記平均動作回数または前記使用電圧をもとに決定される第2配置禁止領域以上の広さの第4回路ブロックに置き換え、前記第3回路ブロック及び前記第4回路ブロックを互いに重ならないように配置し、前記第3回路ブロック及び前記第4回路ブロックの配置後に、前記第3回路ブロックを前記第1回路ブロックに置き換え、前記第4回路ブロックを前記第2回路ブロックに置き換えることを特徴とする請求項1または2に記載の半導体集積回路の設計方法。
JP2007304590A 2007-11-26 2007-11-26 半導体集積回路の設計方法 Expired - Fee Related JP5309538B2 (ja)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007258215A (ja) * 2006-03-20 2007-10-04 Fujitsu Ltd セル配置プログラム、セル配置装置、及びセル配置方法

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