JP4224541B2 - 自動配置配線方法、装置及びプログラム - Google Patents
自動配置配線方法、装置及びプログラム Download PDFInfo
- Publication number
- JP4224541B2 JP4224541B2 JP2002079086A JP2002079086A JP4224541B2 JP 4224541 B2 JP4224541 B2 JP 4224541B2 JP 2002079086 A JP2002079086 A JP 2002079086A JP 2002079086 A JP2002079086 A JP 2002079086A JP 4224541 B2 JP4224541 B2 JP 4224541B2
- Authority
- JP
- Japan
- Prior art keywords
- cell
- wiring
- error
- placement
- automatic
- 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
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F30/00—Computer-aided design [CAD]
- G06F30/30—Circuit design
- G06F30/39—Circuit design at the physical level
- G06F30/392—Floor-planning or layout, e.g. partitioning or placement
Landscapes
- Engineering & Computer Science (AREA)
- Computer Hardware Design (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Architecture (AREA)
- Evolutionary Computation (AREA)
- Geometry (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Design And Manufacture Of Integrated Circuits (AREA)
Description
【発明の属する技術分野】
本発明は、自動配置配線方法、装置及びプログラムに関する。
【0002】
【従来の技術】
信号配線間の結合容量及び結合インダクタンスにより相互干渉(クロストーク)が生じて信号波形が変形し、誤った信号となる。LSIの素子微細化によりクロストークが生じ易くなり、自動配置配線においてレイアウト修正時間が長くなる傾向にある。
【0003】
図9及び図10は、従来の自動配置配線処理を示すフローチャートである。
【0004】
(S1)評価関数が最適値になるように、ネットリスト及びセルライブラリのデータに基づいてセルをフレーム内に自動配置する。
【0005】
(S2)ネットリスト及びセルライブラリのデータに基づいてセル間を自動配線する。
【0006】
(S3)レイアウトされた配線の抵抗値及び容量値を求める。
【0007】
(S4)各セルの信号入力端において、これに接続された配線の抵抗及び容量並びにセルの入出力容量により信号が鈍り過ぎていないかどうか、すなわち入力信号のスルーレートが所定値より小さいというスルーレートエラーであるかどうかをチェックする。
【0008】
(S5)スルーレートエラーであると判定されたものがあればステップS8へ進み、そうでなければステップS6へ進む。
【0009】
(S6)各フリップフロップについて、スタティックタイミング解析(STA)を行なう。
【0010】
(S7)このSTAにおいてタイミングエラーが検出されたならばステップS8へ進み、そうでなければ図10のステップS9へ進む。
【0011】
(S8)エラーが検出されたセルの信号入力端に接続されている配線に、バッファセルを挿入する。この際、バッファセル挿入スペースが足りない場合には、その付近のセル又は配線を移動させてスペースを確保する。セルの挿入やセル又は配線の移動の影響を受ける部分について再度エラーチェックするために、ステップS3へ戻る。
【0012】
(S9)所定間隔より狭い並行配線の長さが所定値より大きいという並行配線長エラーが存在するかどうかをチェックする。
【0013】
(S10)このエラーが存在すればステップS13へ進み、そうでなければステップS11へ進む。
【0014】
(S11)並行配線の一方又は両方に接続された各フリップフロップについて、並行配線間の結合容量及び結合インダクタンスにより生ずる信号伝播遅延を考慮したSTAを行なう。
【0015】
(S12)このSTAにおいてタイミングエラーが検出されたならばステップS13へ進み、そうでなければ処理を終了する。
【0016】
(S13)エラーが検出されたセルに接続されている並行配線の各々にバッファセルを挿入し又は並行配線の間隔を広げる(スペーシング)。この際、バッファセル挿入スペースが不足していれば、その付近のセル又は配線を移動させてスペースを確保する。
【0017】
(S14)ステップS13でレイアウトが変更された配線の抵抗値及び容量値を算出する。エラーが検出された部分及びその影響を受ける部分について再度ステップS9及びS11のチェックを行なうために、ステップS9へ戻る。
【0018】
【発明が解決しようとする課題】
しかしながら、クロストークエラーを解消するため、例えばその一方の配線を移動させれば、これと隣の配線との間で新たにクロストークエラーが発生することも有り得るので、図10のステップS9〜S14の処理が通常数回繰り返され、開発TATが長くなるという問題があった。
【0019】
また、バッファセル挿入や並行配線間のスペーシングによるレイアウトスペース増加を予め考慮してチップのフレームサイズを決定する必要があるので、結果として無駄な領域が生じ、チップサイズが大きめになる傾向があった。
【0020】
このような問題は、自己配線長エラーについても同様に生ずる。
【0021】
本発明の目的は、このような問題点に鑑み、クロストークエラー対策に要する時間を低減して開発TATを短縮することが可能な自動配置配線方法、装置及びプログラムを提供することにある。
【0022】
本発明の他の目的は、自己配線長エラー対策に要する時間を低減して開発TATを短縮することが可能な自動配置配線方法、装置及びプログラムを提供することにある。
【0023】
本発明のさらに他の目的は、無駄なスペースを削減してチップサイズをより小さくすることが可能な自動配置配線方法、装置及びプログラムを提供することにある。
【0024】
【課題を解決するための手段及びその作用効果】
本発明による自動配置配線方法の第1態様では、
セル自動配置によりセル配置データを取得し、セル間自動配線前に、
(a)同一ノードのセル端子間にマンハッタン長経路の仮配線を接続してできる並行配線の長さが所定値以上であるクロストークエラーを検出し、
(b)クロストークエラーが検出された仮配線に接続されている、所定値以内の間隔に接近したセルを移動させて該クロストークエラーを解消させる。
【0025】
このような処理は自動配線前の処理であるので、比較的容易迅速に行うことができ、この前処理により、自動配線後に発生するであろうクロストークエラーが減少するので、自動配置配線全体として、クロストークエラー対策に要する時間が低減され、開発TATを短縮することが可能となる。
【0026】
また、配線後のバッファセル挿入やスペーシングを考慮してマージンを確保した設計対象フレームの面積を、従来よりも狭くして無駄な領域を低減することが可能となる。
【0027】
本発明による自動配置配線方法の第2態様では、上記ステップ(a)において、検出されたクロストークエラーをカウントし、上記ステップ(b)において、セル移動データを記憶装置に格納しておき、
該ステップ(a)と上記ステップ(b)との組を複数回繰り返し実行し、
(c)全回のエラーカウントの最小値に対応する該組のステップ(b)のセル移動データに基づいて上記セル配置データを修正する、
ステップをさらに有する。
【0028】
セルの移動により新たなクロストークエラーが生ずる可能性があるが、この構成によれば、前処理においてより多くのクロストークエラーを解消することができる。
【0029】
本発明による自動配置配線方法の第3態様では、
(d)上記エラーカウントの最小値が0でなければ、エラーが検出された仮配線にバッファセルが挿入されるようにネットリスト及び上記セル配置データを修正する、
ステップをさらに有する。
【0030】
セル移動により新たなエラーが発生する場合があるが、バッファセルを挿入しても新たなエラーは殆ど発生せずエラー数が減少するので、この構成によれば、必要以上にバッファセルを挿入せずにエラー数を効率よく減少させることができる。
【0031】
本発明による自動配置配線方法の第4態様では、
(e)セル間のマンハッタン長経路仮配線密度を求め、該密度が所定値以上であれば、設計対象フレームを拡大して上記セル自動配置の処理に戻る、
ステップをさらに有する。
【0032】
この構成によれば、前処理後に生ずるであろうエラーに対処するための適当な予備領域が確保される。
【0033】
本発明の他の目的、構成及び効果は以下の説明から明らかになる。
【0034】
【発明の実施の形態】
以下、図面を参照して本発明の実施形態を説明する。
【0035】
図1は、本発明の一実施形態の自動配置配線装置のハードウェア構成を示す概略ブロック図である。
【0036】
この装置では、コンピュータ1に入力装置2、表示装置3及び外部記憶装置が接続されており、この外部記憶装置にはネットリスト4及びセルライブラリ5が格納されている。
【0037】
コンピュータ1は、これにインストールされたプログラムに従って、ネットリスト4及びセルライブラリ5のデータを用いセルを自動配置してそのセルレイアウトデータ6を外部記憶装置に格納し、
(1)自動配線の前処理として、配線に関係した後述のエラーチェックを行い、その結果に基づいてセル配置を修正し、
(2)次に、上述した図9のステップS2以降の処理及びこれに続く図10の処理を行う。すなわち、ネットリスト4及びセルレイアウトデータ6を用いてセル間配線を行ない、その配線レイアウトデータ7を外部記憶装置に格納する。次に、レイアウトされた配線に関するエラーチェックを行なってセル及び配線のレイアウトを修正することにより、エラーを解消する。
【0038】
図2は、コンピュータ1による上記処理(1)の詳細を示す。
【0039】
(S21)ネットリスト4及びセルライブラリ5のデータに基づいてセルを初期配置する。この処理は、図9のステップS1と同一である。本実施形態の特徴は、この自動配置と図9のステップS2の自動配線との間に以下のステップS22〜S29の処理を行なう点にある。
【0040】
本実施形態でレイアウト設計される回路は、例えば図3のチップフレーム10内のフレーム11内に配置される。
【0041】
(S22)配線長が長くなるほど信号波形が鈍り、タイミングがずれて誤った信号になり易い。そこで、自己配線長が所定値、例えば1mm以上であればエラーが生ずるとみなす。
【0042】
まだ配線のレイアウトが行なわれていないので、該自己配線長についてはマンハッタン長をチェックする。ネットリスト4から、例えば図4に示すようにセル12の出力端子12Oとセル13の入力端子13Iとが同一ノードである場合、セルレイアウトデータ6を参照して出力端子12Oの位置座標(X2,Y2)と入力端子13Iの位置座標(X3,Y3)を読み取り、X軸に並行で出力端子12Oを通る直線と、Y軸に並行で入力端子13Iを通る直線との交点の座標P1(X3,Y2)を求め、出力端子12Oと点P1とを結ぶ仮配線15Xの長さと、点P1と入力端子13Iとを結ぶ仮配線15Yの長さの和であるマンハッタン長を計算し、これが1mm以上であるかどうかを判定し、1mm以上であれば端子12Oと端子13Iの組を自己配線長エラー箇所として記憶する。セル13の出力端子13Oとセル14の入力端子14Iとの間についても同様である。ネットリスト4中の各ノードについてこのようなチェックが行なわれる。
【0043】
また、並行配線長が長いほどクロストークにより信号波形が変形して信号伝播遅延が生ずる場合がある。そこで、並行配線長が所定値、例えば0.5mm以上であればエラーが生ずるとみなす。
【0044】
この場合も配線がまだ行なわれていないので、マンハッタン長により並行配線長をチェックする。例えば図6に示すように、セル20の出力端子20Oとセル21の入力端子21Iとが同一ノードであり、セル22の出力端子22Oとセル23の入力端子23Iとが同一ノードであり、出力端子20Oと22Oとの間隔及び入出力端子20Iと23Iとの間隔がいずれも所定値以内である場合、並行配線長のチェック対象とする。図4の場合と同様にして、出力端子20Oと入力端子21Iとの間の仮配線24Xと24Yの長さの和であるマンハッタン長を求める。概略エラーであるのでこのマンハッタン長を並行配線長とみなし、これが0.5mm以上であれば端子20Oと21Iの組及び端子22Oと23Iの組を並行配線長エラー箇所として記憶する。このマンハッタン長の替わりに、出力端子22Oと入力端子23Iとの間の仮配線25Xと25Yの長さの和であるマンハッタン長を並行配線長として求めてもよく、また、仮配線24Xと25Xの値の小さい方と、仮配線24Yと25Yの値の小さい方との和を並行配線長としてもよい。
【0045】
自己配線長エラー及び並行配線長エラーの数の合計EN0を求める。
【0046】
(S23)ステップS22でエラーが検出された場合には、このエラーを解消するためにセルを移動させる。すなわち、セルレイアウトデータ6を修正する。配線がレイアウトされていないので、この移動は比較的容易である。
【0047】
例えば、図4のセル12と13との間が自己配線長エラーである場合、図5(A)に示すようにセル12を移動させてセル13に接近させる。また、図6に示すような並行配線長エラーである場合、セル22及び23を移動させてそれぞれセル20及び21から離す。
【0048】
セル移動によりセルが重なる場合には、重なったセルも移動させる。重なりが生じたため移動させるセル数が所定数を越えた場合には、全てのセルを再配置する。この処理は、ステップS21と同じプログラムにより実行される。ただし、自己配線長エラーがある場合には、その配線で接続されるセルが互いに接近して配置されるように制限を付し、並行配線長エラーがある場合には、例えば図6においてセル20と22との間及びセル21と23との間の距離が所定値を越えるように制限を付す。
【0049】
ステップS23の処理は1回のみでもよいが、配線前の処理であるので比較的容易迅速に行うことができ、また、セルの移動または再配置により新たな自己配線長エラー又は並行配線長エラーが生ずる可能性があるので、セルの移動又は再配置を複数通り行い、自己配線長チェック及び並行配線長チェックを行い、その中でエラー数が最も少ないものをセルの移動又は再配置の最適解として選択してもよい。
【0050】
図7は、後者の場合のステップS23の詳細を示すフローチャートである。以下、これを詳説する。
【0051】
(S31)繰り返し変数Jに初期値0を代入する。また、エラー数最小値変数ENminに、ステップS22で検出されたエラー数EN0を初期値として代入する。セル配置修正箇所データの最適解RDを空集合φとする。
【0052】
(S32)上述のセル移動又は再配置を行って、セルレイアウトデータ6に対するセル配置修正箇所データRDXを記憶する。
【0053】
(S33)図2のステップS22と同一の処理を行なって、エラー数の合計を求め、これを変数ENに代入する。
【0054】
(S34)EN<ENminであればステップS35へ進み、そうでなければステップS37へ進む。
【0055】
(S35)ENminにENを代入して更新し、また、セル配置修正箇所データ最適解RDをステップS32のデータRDXで置き換えて更新する。
【0056】
(S36)ENmin=0であれば図2のステップS24へ進み、そうでなければステップS37へ進む。
【0057】
(S37)Jの値を1だけインクリメントする。
【0058】
(S38)J<NであればステップS32へ戻り、そうでなければステップS39へ進む。ここにNは定数である。なお、繰り返し回数Nを用いる替わりに、処理時間が所定値を越えたらステップS39へ進むようにしてもよい。
【0059】
(S39)ENmin≠EN0であればステップS40へ進み、そうでなければ図2のステップS24へ進む。
【0060】
(S40)セル配置修正箇所データ最適解RDでセルレイアウトデータ6を修正する。次に図2のステップS24へ進む。
【0061】
(S24)ENmin>0であればステップS25へ進み、そうでなければステップS27へ進む。
【0062】
(S25)自己配線長エラー又は並行配線長エラーの配線にバッファセルを挿入する。例えば図4の出力端子12Oと入力端子13Iの間が自己配線長エラーである場合、図5(B)に示すようにこの間にインバータ17及び18を挿入する。すなわち、この挿入に対応するように、ネットリスト4及びセルレイアウトデータ6を修正する。図6のような並行配線長についても同様にその各々にバッファセルを挿入する。
【0063】
セル移動を行うと新たなエラーが発生する場合があるが、バッファセルを挿入しても新たなエラーは殆ど発生せずエラー数が減少するので、最初にステップS23の処理を行い次にステップS25の処理を行うことにより、必要以上にバッファセルを挿入せずにエラー数を効率よく減少させることができる。
【0064】
(S26)ステップS25においてバッファセル挿入領域が不足している場合にはステップS29へ進み、そうでなければステップS27へ進む。
【0065】
本実施形態によれば、セル間配線を行なう前に、上述のように配線後のエラー発生を予測して対処するという前処理を行うので、セル配線後においてエラー発生数を従来よりも低減することができ、セル間配線後の混み入った状態でのバッファセル挿入や並行配線間のスペーシング処理の繰り返し数を低減することができるので、配置配線全体の処理時間が従来よりも短縮される。
【0066】
また、この前処理により、配線後のバッファセル挿入やスペーシングを考慮してマージンを確保した設計対象フレーム11の面積を、従来よりも狭くして無駄な領域を低減することができる。
【0067】
このような効果をより確実なものにするために、さらに次のような処理が行なわれる。
【0068】
(S27)仮配線密度を算出する。
【0069】
例えば図8に示すように、同一ノードのセル端子間に対し、マンハッタン長経路の仮配線を行う。例えば、端子26と27の間をX軸に平行な仮配線28とY軸に平行な仮配線29とで接続する。X軸に平行な配線は、Y軸に平行な配線と異なる層に配置される。
【0070】
(a)仮配線のX軸に並行な部分(実線)に対し、Y軸に並行なライン30Yとの交点の数を求め、
(b)ライン30YをX軸方向に所定ピッチ移動させ、
(a)と(b)の処理を繰り返して、交点数の最大値CPYmaxを求める。
【0071】
設計対象フレーム11のY方向の長さをY0とし、また、配線間隔の許容最小値をdとし、仮配線密度σyを、
σy=CPYmax/(Y0/d)
と定義する。図8中の仮配線のうち一点鎖線で示すY軸に並行な部分についてもライン30Xを想定し同様にして仮配線密度σxを求める。仮配線密度σxとσyの値の大きい方を仮配線密度σとする。
【0072】
(S28)σ<σmaxであれば図9のステップS2へ進み、そうでなければステップS29へ進む。ここにσmaxは、経験的に設定された値である。
【0073】
(S29)仮配線密度σx及びσyの値に応じてそれぞれ設計対象フレーム11のX方向及びY方向の長さを増加させ、次にステップS21へ戻る。これにより以上の処理が再度行われて、図9及び図10の処理で生ずるであろうエラーに対処するための適当な予備領域が確保される。
【0074】
以上の説明から明らかなように、本発明には以下の付記が含まれる。
【0075】
(付記1)セル自動配置によりセル配置データを取得し、セル間自動配線前に、
(a)同一ノードのセル端子間にマンハッタン長経路の仮配線を接続してできる並行配線の長さが所定値以上であるクロストークエラーを検出し、
(b)クロストークエラーが検出された仮配線に接続されている、所定値以内の間隔に接近したセルを移動させて該クロストークエラーを解消させる、
ことを特徴とする自動配置配線方法。(1)
(付記2)上記ステップ(a)において、検出されたクロストークエラーをカウントし、上記ステップ(b)において、セル移動データを記憶装置に格納しておき、
該ステップ(a)と(b)との組を複数回繰り返し実行し、
(c)全回のエラーカウントの最小値に対応する該組のステップ(b)のセル移動データに基づいて上記セル配置データを修正する、
ステップをさらに有することを特徴とする付記1記載の自動配置配線方法。(2)
(付記3)(d)上記エラーカウントの最小値が0でなければ、エラーが検出された仮配線にバッファセルが挿入されるようにネットリスト及び上記セル配置データを修正する、
ステップをさらに有することを特徴とする付記2記載の自動配置配線方法。(3)
(付記4)(e)セル間のマンハッタン長経路仮配線密度を求め、該密度が所定値以上であれば、設計対象フレームを拡大して上記セル自動配置の処理に戻る、
ステップをさらに有することを特徴とする付記3記載の自動配置配線方法。(4)
(付記5)上記ステップ(a)の前に、
(f)一対の上記仮配線に接続された一対のセル端子が互いに上記所定値以内に接近していることを検出する、
ステップをさらに有し、検出された該一対のセルに対し上記ステップ(a)が実行されることを特徴とする付記1乃至4記載の自動配置配線方法。(5)
(付記6)セル自動配置によりセル配置データを取得し、セル間自動配線前に、
(a)同一ノードのセル端子間にマンハッタン長経路の仮配線を接続してできる自己配線の長さが所定値以上である自己配線長エラーを検出し、
(b)自己配線長エラーが検出された仮配線に接続されている、所定値以上離れたセルを移動させて該自己配線長エラーを解消させる、
ことを特徴とする自動配置配線方法。(6)
(付記7)上記ステップ(a)において、検出された自己配線長エラーをカウントし、上記ステップ(b)において、セル移動データを記憶装置に格納しておき、
該ステップ(a)と(b)との組を複数回繰り返し実行し、
(c)全回のエラーカウントの最小値に対応する該組のステップ(b)のセル移動データに基づいて上記セル配置データを修正する、
ステップをさらに有することを特徴とする付記6記載の自動配置配線方法。(7)
(付記8)(d)上記エラーカウントの最小値が0でなければ、エラーが検出された仮配線にバッファセルが挿入されるようにネットリスト及び上記セル配置データを修正する、
ステップをさらに有することを特徴とする付記7記載の自動配置配線方法。(8)
(付記9)(e)セル間のマンハッタン長経路仮配線密度を求め、該密度が所定値以上であれば、設計対象フレームを拡大して上記セル自動配置の処理に戻る、
ステップをさらに有することを特徴とする付記8記載の自動配置配線方法。(9)
(付記10)自動配置配線プログラムにおいて、コンピュータに対し、セル配置によりセル配置データを取得させ、セル間配線前に、
(a)同一ノードのセル端子間にマンハッタン長経路の仮配線を接続してできる並行配線の長さが所定値以上であるクロストークエラーを検出させ、
(b)クロストークエラーが検出された仮配線に接続されている、所定値以内の間隔に接近したセルを移動させて該クロストークエラーを解消させる、
ことを特徴とする自動配置配線プログラム。
【0076】
(付記11)上記コンピュータに対し、
上記ステップ(a)において、検出されたクロストークエラーをカウントさせ、上記ステップ(b)において、セル移動データを記憶装置に格納させておき、
該ステップ(a)と(b)との組を複数回繰り返し実行させ、
(c)全回のエラーカウントの最小値に対応する該組のステップ(b)のセル移動データに基づいて上記セル配置データを修正させる、
ステップをさらに有することを特徴とする付記10記載の自動配置配線プログラム。
【0077】
(付記12)上記コンピュータに対し、
(d)上記エラーカウントの最小値が0でなければ、エラーが検出された仮配線にバッファセルが挿入されるようにネットリスト及び上記セル配置データを修正させる、
ステップをさらに有することを特徴とする付記11記載の自動配置配線プログラム。
【0078】
(付記13)上記コンピュータに対し、
(e)セル間のマンハッタン長経路仮配線密度を求めさせ、該密度が所定値以上であれば、設計対象フレームを拡大させて上記セル自動配置の処理に戻らせる、
ステップをさらに有することを特徴とする付記12記載の自動配置配線プログラム。
【0079】
(付記14)付記10乃至13のいずれか1つに記載の自動配置配線プログラムが記録されていることを特徴とするコンピュータ読み取り可能な記録媒体。
【図面の簡単な説明】
【図1】本発明の一実施形態の自動配置配線装置のハードウェア構成を示す概略ブロック図である。
【図2】図1のコンピュータ1によるセル配置後配線前の処理の詳細を示すフローチャートである。
【図3】設計対象フレームを含むチップフレームを示す図である。
【図4】自己配線長エラー説明図である。
【図5】(A)及び(B)はそれぞれ自己配線長エラーを解消するためのセル移動及びバッファセル挿入の説明図である。
【図6】並行配線長エラー説明図である。
【図7】図2のステップS23の詳細を示すフローチャートである。
【図8】図2のステップS27の仮配線密度計算説明図である。
【図9】従来の自動配置配線処理の一部を示すフローチャートである。
【図10】図9の続きを示すフローチャートである。
【符号の説明】
1 コンピュータ
2 入力装置
3 表示装置
4 ネットリスト
5 セルライブラリ
6 セルレイアウトデータ
7 配線レイアウトデータ
10 チップ
11 設計対象フレーム
12〜14、20〜23 セル
12O、13O、20O、22O 出力端子
13I、14I、21I、23I 入力端子
15X、15Y、24X、24Y、25X、25Y、28、29 仮配線
17、18 インバータ
26、27 端子
Claims (7)
- 記憶手段を備えたコンピュータが、
該記憶手段に格納されているネットリスト及びセルライブラリを用いたセル自動配置によりセル配置データを該記憶手段上に生成し、セル間自動配線前に、
(a)該記憶手段に生成したセル配置データ上で、同一ノードのセル端子間にマンハッタン長経路の仮配線を接続してできる並行配線の長さが所定値以上であるクロストークエラーを検出し、かつ、該仮配線を接続してできる自己配線の長さが所定値以上である自己配線長エラーを検出し、これら検出したエラーの合計をカウントするステップと、
(b)クロストークエラーが検出された仮配線に接続されている、所定値以内の間隔に接近したセルを移動させて該クロストークエラーを解消させ、かつ、自己配線長エラーが検出された仮配線に接続されている、所定値以上離れたセルを移動させて該自己配線長エラーを解消させ、これらのセル移動データを該記憶手段に格納しておくステップと、
を有する組を複数回繰り返し実行し、
(c)全回の合計エラーカウントの最小値に対応する組のステップ(b)のセル移動データに基づいて、該記憶手段に生成したセル配置データを修正する、
ことを特徴とする自動配置配線方法。 - 上記コンピュータが、
(d)上記合計エラーカウントの最小値が0でなければ、エラーが検出された仮配線にバッファセルが挿入されるように、上記記憶手段のネットリスト及びセル配置データを修正する、
ステップをさらに有することを特徴とする請求項1記載の自動配置配線方法。 - 上記コンピュータが、
(e)セル間のマンハッタン長経路仮配線密度を求め、該密度が所定値以上であれば、設計対象フレームを拡大して上記セル自動配置の処理に戻る、
ステップをさらに有することを特徴とする請求項2記載の自動配置配線方法。 - 上記コンピュータが、
上記ステップ(a)の前に、
(f)一対の上記仮配線に接続された一対のセル端子が互いに上記所定値以内に接近していることを検出する、
ステップをさらに有し、検出された該一対のセルに対し上記ステップ(a)が実行されることを特徴とする請求項1乃至3記載の自動配置配線方法。 - コンピュータに、請求項1乃至4に記載のいずれか一つの自動配置配線方法を実現させることを特徴とするプログラム。
- 請求項5に記載のプログラムが記録されていることを特徴とするコンピュータ読み取り可能な記録媒体。
- 請求項6に記載の記録媒体を備えていることを特徴とする情報処理装置。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2002079086A JP4224541B2 (ja) | 2002-03-20 | 2002-03-20 | 自動配置配線方法、装置及びプログラム |
US10/331,513 US6968521B2 (en) | 2002-03-20 | 2002-12-31 | Method, apparatus and program product for automatic placement and routing of integrated circuit |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2002079086A JP4224541B2 (ja) | 2002-03-20 | 2002-03-20 | 自動配置配線方法、装置及びプログラム |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2003281212A JP2003281212A (ja) | 2003-10-03 |
JP4224541B2 true JP4224541B2 (ja) | 2009-02-18 |
Family
ID=28035626
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2002079086A Expired - Fee Related JP4224541B2 (ja) | 2002-03-20 | 2002-03-20 | 自動配置配線方法、装置及びプログラム |
Country Status (2)
Country | Link |
---|---|
US (1) | US6968521B2 (ja) |
JP (1) | JP4224541B2 (ja) |
Families Citing this family (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4530731B2 (ja) | 2004-06-16 | 2010-08-25 | 富士通セミコンダクター株式会社 | レイアウト設計装置、レイアウト設計方法、レイアウト設計プログラム、および記録媒体 |
US7536664B2 (en) | 2004-08-12 | 2009-05-19 | International Business Machines Corporation | Physical design system and method |
JP2006155120A (ja) * | 2004-11-29 | 2006-06-15 | Fujitsu Ltd | 配線方法、プログラム及び装置 |
JP4803078B2 (ja) * | 2007-03-07 | 2011-10-26 | 富士通セミコンダクター株式会社 | 半導体集積回路のレイアウト設計方法およびレイアウト設計用プログラム |
US20090064068A1 (en) * | 2007-08-31 | 2009-03-05 | Ibm Corporation | Method and Apparatus for Evaluating the Timing Effects of Logic Block Location Changes in Integrated Circuit Design |
JP4998561B2 (ja) * | 2007-12-27 | 2012-08-15 | 富士通株式会社 | マクロ用レイアウト検証装置及び検証方法 |
US20110061898A1 (en) * | 2009-09-15 | 2011-03-17 | International Business Machines Corporation | Reducing cross-talk in high speed ceramic packages using selectively-widened mesh |
Family Cites Families (30)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US3621208A (en) * | 1969-07-15 | 1971-11-16 | Texas Instruments Inc | Signal point interconnection routing |
JPH05243383A (ja) | 1992-03-02 | 1993-09-21 | Hitachi Ltd | 自動配線方法 |
JPH07249065A (ja) | 1994-03-10 | 1995-09-26 | Fujitsu Ltd | 配線経路探索方法 |
JP2785710B2 (ja) * | 1994-09-30 | 1998-08-13 | 日本電気株式会社 | 集積回路の配線設計方法 |
US5822214A (en) * | 1994-11-02 | 1998-10-13 | Lsi Logic Corporation | CAD for hexagonal architecture |
JPH09269958A (ja) | 1996-04-02 | 1997-10-14 | Sharp Corp | 自動レイアウト装置 |
JP3175653B2 (ja) * | 1997-07-18 | 2001-06-11 | 日本電気株式会社 | クロストークエラー改善方式及び方法 |
US6202194B1 (en) * | 1997-12-11 | 2001-03-13 | Intrinsity, Inc. | Method and apparatus for routing 1 of N signals |
JP3070678B2 (ja) * | 1998-03-24 | 2000-07-31 | 日本電気株式会社 | 図形レイアウト変更システム及び図形レイアウト変更方法 |
JP3530025B2 (ja) * | 1998-06-16 | 2004-05-24 | 富士通株式会社 | 概略配線決定方法及び記憶媒体 |
JP2000082089A (ja) * | 1998-09-07 | 2000-03-21 | Matsushita Electric Ind Co Ltd | Lsiの設計におけるタイミング検証方法 |
US6553338B1 (en) * | 1999-04-27 | 2003-04-22 | Magma Design Automation, Inc. | Timing optimization in presence of interconnect delays |
US6353917B1 (en) * | 1999-07-16 | 2002-03-05 | Silicon Graphics, Inc. | Determining a worst case switching factor for integrated circuit design |
JP3676130B2 (ja) * | 1999-07-26 | 2005-07-27 | 松下電器産業株式会社 | 半導体集積回路の設計方法 |
JP2001093982A (ja) * | 1999-09-22 | 2001-04-06 | Hitachi Ltd | 配線容量計算方法、クロストークディレイ計算方法、およびそれらのデータを記憶したコンピュータ読み取り可能な記憶媒体 |
US6615395B1 (en) * | 1999-12-20 | 2003-09-02 | International Business Machines Corporation | Method for handling coupling effects in static timing analysis |
US6507935B1 (en) * | 2000-02-25 | 2003-01-14 | Sun Microsystems, Inc. | Method of analyzing crosstalk in a digital logic integrated circuit |
JP2001267427A (ja) | 2000-03-16 | 2001-09-28 | Kawasaki Steel Corp | 配置配線方法 |
JP4887552B2 (ja) * | 2000-07-04 | 2012-02-29 | 富士通セミコンダクター株式会社 | Lsiチップのレイアウト設計方法 |
US6834380B2 (en) * | 2000-08-03 | 2004-12-21 | Qualcomm, Incorporated | Automated EMC-driven layout and floor planning of electronic devices and systems |
US6601222B1 (en) * | 2000-10-13 | 2003-07-29 | International Business Machines Corporation | Coupled noise estimation and avoidance of noise-failure using global routing information |
JP2002124572A (ja) * | 2000-10-18 | 2002-04-26 | Mitsubishi Electric Corp | 自動配置配線装置及びそれを用いる配置配線方法 |
JP4031905B2 (ja) * | 2000-11-09 | 2008-01-09 | 富士通株式会社 | 回路設計装置及び回路設計方法 |
US6858935B1 (en) * | 2000-12-07 | 2005-02-22 | Cadence Design Systems, Inc. | Simulating euclidean wiring directions using manhattan and diagonal directional wires |
US6467069B2 (en) * | 2000-12-15 | 2002-10-15 | International Business Machines Corporation | Timing closure and noise avoidance in detailed routing |
US6601227B1 (en) * | 2001-06-27 | 2003-07-29 | Xilinx, Inc. | Method for making large-scale ASIC using pre-engineered long distance routing structure |
US6571380B2 (en) * | 2001-07-12 | 2003-05-27 | Micron Technology, Inc. | Integrated circuit with layout matched high speed lines |
US6907590B1 (en) * | 2001-10-02 | 2005-06-14 | Lsi Logic Corporation | Integrated circuit design system and method for reducing and avoiding crosstalk |
US6594805B1 (en) * | 2001-11-13 | 2003-07-15 | Lsi Logic Corporation | Integrated design system and method for reducing and avoiding crosstalk |
US6701505B1 (en) * | 2001-11-30 | 2004-03-02 | Sequence Design, Inc. | Circuit optimization for minimum path timing violations |
-
2002
- 2002-03-20 JP JP2002079086A patent/JP4224541B2/ja not_active Expired - Fee Related
- 2002-12-31 US US10/331,513 patent/US6968521B2/en not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
US6968521B2 (en) | 2005-11-22 |
JP2003281212A (ja) | 2003-10-03 |
US20030182648A1 (en) | 2003-09-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4314162B2 (ja) | ノイズチェック方法および装置並びにノイズチェックプログラムおよび同プログラムを記録したコンピュータ読取可能な記録媒体 | |
US5724250A (en) | Method and apparatus for performing drive strength adjust optimization in a circuit design | |
US20110145775A1 (en) | Cell library, layout method, and layout apparatus | |
US9372955B1 (en) | Method, system, and computer program product for implementing repetitive track patterns for electronic circuit designs | |
CN112069763B (zh) | 修正电路的方法 | |
US8239797B1 (en) | Congestion aware block placement | |
US8255851B1 (en) | Method and system for timing design | |
US8701064B2 (en) | Timing error removing method and design support apparatus | |
US20060242613A1 (en) | Automatic floorplanning approach for semiconductor integrated circuit | |
JP2006251933A (ja) | クロストークエラー制御装置、クロストークエラー制御方法およびクロストークエラー制御プログラム | |
US10929587B2 (en) | Chip design method of optimizing circuit performance according to change in PVT operation conditions | |
JP4224541B2 (ja) | 自動配置配線方法、装置及びプログラム | |
Papa et al. | RUMBLE: an incremental, timing-driven, physical-synthesis optimization algorithm | |
US7082587B2 (en) | Method of estimating path delays in an IC | |
US11574101B2 (en) | Techniques for providing optimizations based on categories of slack in timing paths | |
JP3256597B2 (ja) | 自動配置設計方法および自動配置設計装置 | |
KR102611888B1 (ko) | 스위칭 액티비티에 기초한 반도체 장치의 배치 방법 및 이에 의해 제조된 반도체 장치 | |
US7076754B2 (en) | Functional block design method and apparatus | |
JP4361838B2 (ja) | Lsi設計方法 | |
US20090144687A1 (en) | Layout design method of semiconductor integrated circuit by using soft macro | |
US20080184186A1 (en) | Integrated circuit design for reducing coupling between wires of an electronic circuit | |
JP4340592B2 (ja) | スラック値設定方法,スラック値設定装置,スラック値設定プログラムおよび同プログラムを記録したコンピュータ読取可能な記録媒体 | |
JP4778339B2 (ja) | 自動配置方法、装置、及びプログラム | |
JP4946655B2 (ja) | 設計支援プログラム、該プログラムを記録した記録媒体、設計支援装置および設計支援方法 | |
CN117933156B (zh) | 基于门级网表的毛刺功耗优化方法、电子设备和介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20050307 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20071207 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20071218 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20080214 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20080520 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20080617 |
|
A711 | Notification of change in applicant |
Free format text: JAPANESE INTERMEDIATE CODE: A712 Effective date: 20080728 |
|
A911 | Transfer to examiner for re-examination before appeal (zenchi) |
Free format text: JAPANESE INTERMEDIATE CODE: A911 Effective date: 20080728 |
|
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: 20080930 |
|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20080930 |
|
AA92 | Notification of invalidation |
Free format text: JAPANESE INTERMEDIATE CODE: A971092 Effective date: 20081014 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20111205 Year of fee payment: 3 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20111205 Year of fee payment: 3 |
|
S531 | Written request for registration of change of domicile |
Free format text: JAPANESE INTERMEDIATE CODE: R313531 |
|
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: 20111205 Year of fee payment: 3 |
|
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: 20111205 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20121205 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20121205 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20131205 Year of fee payment: 5 |
|
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 |