(57)【特許請求の範囲】
【請求項１】
記憶手段を備えたコンピュータが、
該記憶手段に格納されているネットリスト及びセルライブラリを用いたセル自動配置によりセル配置データを該記憶手段上に生成し、セル間自動配線前に、
（ａ）該記憶手段に生成したセル配置データ上で、同一ノードのセル端子間にマンハッタン長経路の仮配線を接続してできる並行配線の長さが所定値以上であるクロストークエラーを検出し、かつ、該仮配線を接続してできる自己配線の長さが所定値以上である自己配線長エラーを検出し、これら検出したエラーの合計をカウントするステップと、
（ｂ）クロストークエラーが検出された仮配線に接続されている、所定値以内の間隔に接近したセルを移動させて該クロストークエラーを解消させ、かつ、自己配線長エラーが検出された仮配線に接続されている、所定値以上離れたセルを移動させて該自己配線長エラーを解消させ、これらのセル移動データを該記憶手段に格納しておくステップと、
を有する組を複数回繰り返し実行し、
（ｃ）全回の合計エラーカウントの最小値に対応する組のステップ（ｂ）のセル移動データに基づいて、該記憶手段に生成したセル配置データを修正する、
ことを特徴とする自動配置配線方法。
【請求項２】
上記コンピュータが、
（ｄ）上記合計エラーカウントの最小値が０でなければ、エラーが検出された仮配線にバッファセルが挿入されるように、上記記憶手段のネットリスト及びセル配置データを修正する、
ステップをさらに有することを特徴とする請求項１記載の自動配置配線方法。
【請求項３】
上記コンピュータが、
（ｅ）セル間のマンハッタン長経路仮配線密度を求め、該密度が所定値以上であれば、設計対象フレームを拡大して上記セル自動配置の処理に戻る、
ステップをさらに有することを特徴とする請求項２記載の自動配置配線方法。
【請求項４】
上記コンピュータが、
上記ステップ（ａ）の前に、
（ｆ）一対の上記仮配線に接続された一対のセル端子が互いに上記所定値以内に接近していることを検出する、
ステップをさらに有し、検出された該一対のセルに対し上記ステップ（ａ）が実行されることを特徴とする請求項１乃至３記載の自動配置配線方法。
【請求項５】
コンピュータに、請求項１乃至４に記載のいずれか一つの自動配置配線方法を実現させることを特徴とするプログラム。
【請求項６】
請求項５に記載のプログラムが記録されていることを特徴とするコンピュータ読み取り可能な記録媒体。
【請求項７】
請求項６に記載の記録媒体を備えていることを特徴とする情報処理装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、自動配置配線方法、装置及びプログラムに関する。
【０００２】
【従来の技術】
信号配線間の結合容量及び結合インダクタンスにより相互干渉（クロストーク）が生じて信号波形が変形し、誤った信号となる。ＬＳＩの素子微細化によりクロストークが生じ易くなり、自動配置配線においてレイアウト修正時間が長くなる傾向にある。
【０００３】
図９及び図１０は、従来の自動配置配線処理を示すフローチャートである。
【０００４】
（Ｓ１）評価関数が最適値になるように、ネットリスト及びセルライブラリのデータに基づいてセルをフレーム内に自動配置する。
【０００５】
（Ｓ２）ネットリスト及びセルライブラリのデータに基づいてセル間を自動配線する。
【０００６】
（Ｓ３）レイアウトされた配線の抵抗値及び容量値を求める。
【０００７】
（Ｓ４）各セルの信号入力端において、これに接続された配線の抵抗及び容量並びにセルの入出力容量により信号が鈍り過ぎていないかどうか、すなわち入力信号のスルーレートが所定値より小さいというスルーレートエラーであるかどうかをチェックする。
【０００８】
（Ｓ５）スルーレートエラーであると判定されたものがあればステップＳ８へ進み、そうでなければステップＳ６へ進む。
【０００９】
（Ｓ６）各フリップフロップについて、スタティックタイミング解析（ＳＴＡ）を行なう。
【００１０】
（Ｓ７）このＳＴＡにおいてタイミングエラーが検出されたならばステップＳ８へ進み、そうでなければ図１０のステップＳ９へ進む。
【００１１】
（Ｓ８）エラーが検出されたセルの信号入力端に接続されている配線に、バッファセルを挿入する。この際、バッファセル挿入スペースが足りない場合には、その付近のセル又は配線を移動させてスペースを確保する。セルの挿入やセル又は配線の移動の影響を受ける部分について再度エラーチェックするために、ステップＳ３へ戻る。
【００１２】
（Ｓ９）所定間隔より狭い並行配線の長さが所定値より大きいという並行配線長エラーが存在するかどうかをチェックする。
【００１３】
（Ｓ１０）このエラーが存在すればステップＳ１３へ進み、そうでなければステップＳ１１へ進む。
【００１４】
（Ｓ１１）並行配線の一方又は両方に接続された各フリップフロップについて、並行配線間の結合容量及び結合インダクタンスにより生ずる信号伝播遅延を考慮したＳＴＡを行なう。
【００１５】
（Ｓ１２）このＳＴＡにおいてタイミングエラーが検出されたならばステップＳ１３へ進み、そうでなければ処理を終了する。
【００１６】
（Ｓ１３）エラーが検出されたセルに接続されている並行配線の各々にバッファセルを挿入し又は並行配線の間隔を広げる（スペーシング）。この際、バッファセル挿入スペースが不足していれば、その付近のセル又は配線を移動させてスペースを確保する。
【００１７】
（Ｓ１４）ステップＳ１３でレイアウトが変更された配線の抵抗値及び容量値を算出する。エラーが検出された部分及びその影響を受ける部分について再度ステップＳ９及びＳ１１のチェックを行なうために、ステップＳ９へ戻る。
【００１８】
【発明が解決しようとする課題】
しかしながら、クロストークエラーを解消するため、例えばその一方の配線を移動させれば、これと隣の配線との間で新たにクロストークエラーが発生することも有り得るので、図１０のステップＳ９〜Ｓ１４の処理が通常数回繰り返され、開発ＴＡＴが長くなるという問題があった。
【００１９】
また、バッファセル挿入や並行配線間のスペーシングによるレイアウトスペース増加を予め考慮してチップのフレームサイズを決定する必要があるので、結果として無駄な領域が生じ、チップサイズが大きめになる傾向があった。
【００２０】
このような問題は、自己配線長エラーについても同様に生ずる。
【００２１】
本発明の目的は、このような問題点に鑑み、クロストークエラー対策に要する時間を低減して開発ＴＡＴを短縮することが可能な自動配置配線方法、装置及びプログラムを提供することにある。
【００２２】
本発明の他の目的は、自己配線長エラー対策に要する時間を低減して開発ＴＡＴを短縮することが可能な自動配置配線方法、装置及びプログラムを提供することにある。
【００２３】
本発明のさらに他の目的は、無駄なスペースを削減してチップサイズをより小さくすることが可能な自動配置配線方法、装置及びプログラムを提供することにある。
【００２４】
【課題を解決するための手段及びその作用効果】
本発明による自動配置配線方法の第１態様では、
セル自動配置によりセル配置データを取得し、セル間自動配線前に、
（ａ）同一ノードのセル端子間にマンハッタン長経路の仮配線を接続してできる並行配線の長さが所定値以上であるクロストークエラーを検出し、
（ｂ）クロストークエラーが検出された仮配線に接続されている、所定値以内の間隔に接近したセルを移動させて該クロストークエラーを解消させる。
【００２５】
このような処理は自動配線前の処理であるので、比較的容易迅速に行うことができ、この前処理により、自動配線後に発生するであろうクロストークエラーが減少するので、自動配置配線全体として、クロストークエラー対策に要する時間が低減され、開発ＴＡＴを短縮することが可能となる。
【００２６】
また、配線後のバッファセル挿入やスペーシングを考慮してマージンを確保した設計対象フレームの面積を、従来よりも狭くして無駄な領域を低減することが可能となる。
【００２７】
本発明による自動配置配線方法の第２態様では、上記ステップ（ａ）において、検出されたクロストークエラーをカウントし、上記ステップ（ｂ）において、セル移動データを記憶装置に格納しておき、
該ステップ（ａ）と上記ステップ（ｂ）との組を複数回繰り返し実行し、
（ｃ）全回のエラーカウントの最小値に対応する該組のステップ（ｂ）のセル移動データに基づいて上記セル配置データを修正する、
ステップをさらに有する。
【００２８】
セルの移動により新たなクロストークエラーが生ずる可能性があるが、この構成によれば、前処理においてより多くのクロストークエラーを解消することができる。
【００２９】
本発明による自動配置配線方法の第３態様では、
（ｄ）上記エラーカウントの最小値が０でなければ、エラーが検出された仮配線にバッファセルが挿入されるようにネットリスト及び上記セル配置データを修正する、
ステップをさらに有する。
【００３０】
セル移動により新たなエラーが発生する場合があるが、バッファセルを挿入しても新たなエラーは殆ど発生せずエラー数が減少するので、この構成によれば、必要以上にバッファセルを挿入せずにエラー数を効率よく減少させることができる。
【００３１】
本発明による自動配置配線方法の第４態様では、
（ｅ）セル間のマンハッタン長経路仮配線密度を求め、該密度が所定値以上であれば、設計対象フレームを拡大して上記セル自動配置の処理に戻る、
ステップをさらに有する。
【００３２】
この構成によれば、前処理後に生ずるであろうエラーに対処するための適当な予備領域が確保される。
【００３３】
本発明の他の目的、構成及び効果は以下の説明から明らかになる。
【００３４】
【発明の実施の形態】
以下、図面を参照して本発明の実施形態を説明する。
【００３５】
図１は、本発明の一実施形態の自動配置配線装置のハードウェア構成を示す概略ブロック図である。
【００３６】
この装置では、コンピュータ１に入力装置２、表示装置３及び外部記憶装置が接続されており、この外部記憶装置にはネットリスト４及びセルライブラリ５が格納されている。
【００３７】
コンピュータ１は、これにインストールされたプログラムに従って、ネットリスト４及びセルライブラリ５のデータを用いセルを自動配置してそのセルレイアウトデータ６を外部記憶装置に格納し、
（１）自動配線の前処理として、配線に関係した後述のエラーチェックを行い、その結果に基づいてセル配置を修正し、
（２）次に、上述した図９のステップＳ２以降の処理及びこれに続く図１０の処理を行う。すなわち、ネットリスト４及びセルレイアウトデータ６を用いてセル間配線を行ない、その配線レイアウトデータ７を外部記憶装置に格納する。次に、レイアウトされた配線に関するエラーチェックを行なってセル及び配線のレイアウトを修正することにより、エラーを解消する。
【００３８】
図２は、コンピュータ１による上記処理（１）の詳細を示す。
【００３９】
（Ｓ２１）ネットリスト４及びセルライブラリ５のデータに基づいてセルを初期配置する。この処理は、図９のステップＳ１と同一である。本実施形態の特徴は、この自動配置と図９のステップＳ２の自動配線との間に以下のステップＳ２２〜Ｓ２９の処理を行なう点にある。
【００４０】
本実施形態でレイアウト設計される回路は、例えば図３のチップフレーム１０内のフレーム１１内に配置される。
【００４１】
（Ｓ２２）配線長が長くなるほど信号波形が鈍り、タイミングがずれて誤った信号になり易い。そこで、自己配線長が所定値、例えば１ｍｍ以上であればエラーが生ずるとみなす。
【００４２】
まだ配線のレイアウトが行なわれていないので、該自己配線長についてはマンハッタン長をチェックする。ネットリスト４から、例えば図４に示すようにセル１２の出力端子１２Ｏとセル１３の入力端子１３Ｉとが同一ノードである場合、セルレイアウトデータ６を参照して出力端子１２Ｏの位置座標（Ｘ２，Ｙ２）と入力端子１３Ｉの位置座標（Ｘ３，Ｙ３）を読み取り、Ｘ軸に並行で出力端子１２Ｏを通る直線と、Ｙ軸に並行で入力端子１３Ｉを通る直線との交点の座標Ｐ１（Ｘ３，Ｙ２）を求め、出力端子１２Ｏと点Ｐ１とを結ぶ仮配線１５Ｘの長さと、点Ｐ１と入力端子１３Ｉとを結ぶ仮配線１５Ｙの長さの和であるマンハッタン長を計算し、これが１ｍｍ以上であるかどうかを判定し、１ｍｍ以上であれば端子１２Ｏと端子１３Ｉの組を自己配線長エラー箇所として記憶する。セル１３の出力端子１３Ｏとセル１４の入力端子１４Ｉとの間についても同様である。ネットリスト４中の各ノードについてこのようなチェックが行なわれる。
【００４３】
また、並行配線長が長いほどクロストークにより信号波形が変形して信号伝播遅延が生ずる場合がある。そこで、並行配線長が所定値、例えば０．５ｍｍ以上であればエラーが生ずるとみなす。
【００４４】
この場合も配線がまだ行なわれていないので、マンハッタン長により並行配線長をチェックする。例えば図６に示すように、セル２０の出力端子２０Ｏとセル２１の入力端子２１Ｉとが同一ノードであり、セル２２の出力端子２２Ｏとセル２３の入力端子２３Ｉとが同一ノードであり、出力端子２０Ｏと２２Ｏとの間隔及び入出力端子２０Ｉと２３Ｉとの間隔がいずれも所定値以内である場合、並行配線長のチェック対象とする。図４の場合と同様にして、出力端子２０Ｏと入力端子２１Ｉとの間の仮配線２４Ｘと２４Ｙの長さの和であるマンハッタン長を求める。概略エラーであるのでこのマンハッタン長を並行配線長とみなし、これが０．５ｍｍ以上であれば端子２０Ｏと２１Ｉの組及び端子２２Ｏと２３Ｉの組を並行配線長エラー箇所として記憶する。このマンハッタン長の替わりに、出力端子２２Ｏと入力端子２３Ｉとの間の仮配線２５Ｘと２５Ｙの長さの和であるマンハッタン長を並行配線長として求めてもよく、また、仮配線２４Ｘと２５Ｘの値の小さい方と、仮配線２４Ｙと２５Ｙの値の小さい方との和を並行配線長としてもよい。
【００４５】
自己配線長エラー及び並行配線長エラーの数の合計ＥＮ０を求める。
【００４６】
（Ｓ２３）ステップＳ２２でエラーが検出された場合には、このエラーを解消するためにセルを移動させる。すなわち、セルレイアウトデータ６を修正する。配線がレイアウトされていないので、この移動は比較的容易である。
【００４７】
例えば、図４のセル１２と１３との間が自己配線長エラーである場合、図５（Ａ）に示すようにセル１２を移動させてセル１３に接近させる。また、図６に示すような並行配線長エラーである場合、セル２２及び２３を移動させてそれぞれセル２０及び２１から離す。
【００４８】
セル移動によりセルが重なる場合には、重なったセルも移動させる。重なりが生じたため移動させるセル数が所定数を越えた場合には、全てのセルを再配置する。この処理は、ステップＳ２１と同じプログラムにより実行される。ただし、自己配線長エラーがある場合には、その配線で接続されるセルが互いに接近して配置されるように制限を付し、並行配線長エラーがある場合には、例えば図６においてセル２０と２２との間及びセル２１と２３との間の距離が所定値を越えるように制限を付す。
【００４９】
ステップＳ２３の処理は１回のみでもよいが、配線前の処理であるので比較的容易迅速に行うことができ、また、セルの移動または再配置により新たな自己配線長エラー又は並行配線長エラーが生ずる可能性があるので、セルの移動又は再配置を複数通り行い、自己配線長チェック及び並行配線長チェックを行い、その中でエラー数が最も少ないものをセルの移動又は再配置の最適解として選択してもよい。
【００５０】
図７は、後者の場合のステップＳ２３の詳細を示すフローチャートである。以下、これを詳説する。
【００５１】
（Ｓ３１）繰り返し変数Ｊに初期値０を代入する。また、エラー数最小値変数ＥＮminに、ステップＳ２２で検出されたエラー数ＥＮ０を初期値として代入する。セル配置修正箇所データの最適解ＲＤを空集合φとする。
【００５２】
（Ｓ３２）上述のセル移動又は再配置を行って、セルレイアウトデータ６に対するセル配置修正箇所データＲＤＸを記憶する。
【００５３】
（Ｓ３３）図２のステップＳ２２と同一の処理を行なって、エラー数の合計を求め、これを変数ＥＮに代入する。
【００５４】
（Ｓ３４）ＥＮ＜ＥＮminであればステップＳ３５へ進み、そうでなければステップＳ３７へ進む。
【００５５】
（Ｓ３５）ＥＮminにＥＮを代入して更新し、また、セル配置修正箇所データ最適解ＲＤをステップＳ３２のデータＲＤＸで置き換えて更新する。
【００５６】
（Ｓ３６）ＥＮmin＝０であれば図２のステップＳ２４へ進み、そうでなければステップＳ３７へ進む。
【００５７】
（Ｓ３７）Ｊの値を１だけインクリメントする。
【００５８】
（Ｓ３８）Ｊ＜ＮであればステップＳ３２へ戻り、そうでなければステップＳ３９へ進む。ここにＮは定数である。なお、繰り返し回数Ｎを用いる替わりに、処理時間が所定値を越えたらステップＳ３９へ進むようにしてもよい。
【００５９】
（Ｓ３９）ＥＮmin≠ＥＮ０であればステップＳ４０へ進み、そうでなければ図２のステップＳ２４へ進む。
【００６０】
（Ｓ４０）セル配置修正箇所データ最適解ＲＤでセルレイアウトデータ６を修正する。次に図２のステップＳ２４へ進む。
【００６１】
（Ｓ２４）ＥＮmin＞０であればステップＳ２５へ進み、そうでなければステップＳ２７へ進む。
【００６２】
（Ｓ２５）自己配線長エラー又は並行配線長エラーの配線にバッファセルを挿入する。例えば図４の出力端子１２Ｏと入力端子１３Ｉの間が自己配線長エラーである場合、図５（Ｂ）に示すようにこの間にインバータ１７及び１８を挿入する。すなわち、この挿入に対応するように、ネットリスト４及びセルレイアウトデータ６を修正する。図６のような並行配線長についても同様にその各々にバッファセルを挿入する。
【００６３】
セル移動を行うと新たなエラーが発生する場合があるが、バッファセルを挿入しても新たなエラーは殆ど発生せずエラー数が減少するので、最初にステップＳ２３の処理を行い次にステップＳ２５の処理を行うことにより、必要以上にバッファセルを挿入せずにエラー数を効率よく減少させることができる。
【００６４】
（Ｓ２６）ステップＳ２５においてバッファセル挿入領域が不足している場合にはステップＳ２９へ進み、そうでなければステップＳ２７へ進む。
【００６５】
本実施形態によれば、セル間配線を行なう前に、上述のように配線後のエラー発生を予測して対処するという前処理を行うので、セル配線後においてエラー発生数を従来よりも低減することができ、セル間配線後の混み入った状態でのバッファセル挿入や並行配線間のスペーシング処理の繰り返し数を低減することができるので、配置配線全体の処理時間が従来よりも短縮される。
【００６６】
また、この前処理により、配線後のバッファセル挿入やスペーシングを考慮してマージンを確保した設計対象フレーム１１の面積を、従来よりも狭くして無駄な領域を低減することができる。
【００６７】
このような効果をより確実なものにするために、さらに次のような処理が行なわれる。
【００６８】
（Ｓ２７）仮配線密度を算出する。
【００６９】
例えば図８に示すように、同一ノードのセル端子間に対し、マンハッタン長経路の仮配線を行う。例えば、端子２６と２７の間をＸ軸に平行な仮配線２８とＹ軸に平行な仮配線２９とで接続する。Ｘ軸に平行な配線は、Ｙ軸に平行な配線と異なる層に配置される。
【００７０】
（ａ）仮配線のＸ軸に並行な部分（実線）に対し、Ｙ軸に並行なライン３０Ｙとの交点の数を求め、
（ｂ）ライン３０ＹをＸ軸方向に所定ピッチ移動させ、
（ａ）と（ｂ）の処理を繰り返して、交点数の最大値ＣＰＹmaxを求める。
【００７１】
設計対象フレーム１１のＹ方向の長さをＹ０とし、また、配線間隔の許容最小値をｄとし、仮配線密度σyを、
σy＝ＣＰＹmax／（Ｙ０／ｄ）
と定義する。図８中の仮配線のうち一点鎖線で示すＹ軸に並行な部分についてもライン３０Ｘを想定し同様にして仮配線密度σxを求める。仮配線密度σxとσyの値の大きい方を仮配線密度σとする。
【００７２】
（Ｓ２８）σ＜σmaxであれば図９のステップＳ２へ進み、そうでなければステップＳ２９へ進む。ここにσmaxは、経験的に設定された値である。
【００７３】
（Ｓ２９）仮配線密度σx及びσyの値に応じてそれぞれ設計対象フレーム１１のＸ方向及びＹ方向の長さを増加させ、次にステップＳ２１へ戻る。これにより以上の処理が再度行われて、図９及び図１０の処理で生ずるであろうエラーに対処するための適当な予備領域が確保される。
【００７４】
以上の説明から明らかなように、本発明には以下の付記が含まれる。
【００７５】
（付記１）セル自動配置によりセル配置データを取得し、セル間自動配線前に、
（ａ）同一ノードのセル端子間にマンハッタン長経路の仮配線を接続してできる並行配線の長さが所定値以上であるクロストークエラーを検出し、
（ｂ）クロストークエラーが検出された仮配線に接続されている、所定値以内の間隔に接近したセルを移動させて該クロストークエラーを解消させる、
ことを特徴とする自動配置配線方法。（１）
（付記２）上記ステップ（ａ）において、検出されたクロストークエラーをカウントし、上記ステップ（ｂ）において、セル移動データを記憶装置に格納しておき、
該ステップ（ａ）と（ｂ）との組を複数回繰り返し実行し、
（ｃ）全回のエラーカウントの最小値に対応する該組のステップ（ｂ）のセル移動データに基づいて上記セル配置データを修正する、
ステップをさらに有することを特徴とする付記１記載の自動配置配線方法。（２）
（付記３）（ｄ）上記エラーカウントの最小値が０でなければ、エラーが検出された仮配線にバッファセルが挿入されるようにネットリスト及び上記セル配置データを修正する、
ステップをさらに有することを特徴とする付記２記載の自動配置配線方法。（３）
（付記４）（ｅ）セル間のマンハッタン長経路仮配線密度を求め、該密度が所定値以上であれば、設計対象フレームを拡大して上記セル自動配置の処理に戻る、
ステップをさらに有することを特徴とする付記３記載の自動配置配線方法。（４）
（付記５）上記ステップ（ａ）の前に、
（ｆ）一対の上記仮配線に接続された一対のセル端子が互いに上記所定値以内に接近していることを検出する、
ステップをさらに有し、検出された該一対のセルに対し上記ステップ（ａ）が実行されることを特徴とする付記１乃至４記載の自動配置配線方法。（５）
（付記６）セル自動配置によりセル配置データを取得し、セル間自動配線前に、
（ａ）同一ノードのセル端子間にマンハッタン長経路の仮配線を接続してできる自己配線の長さが所定値以上である自己配線長エラーを検出し、
（ｂ）自己配線長エラーが検出された仮配線に接続されている、所定値以上離れたセルを移動させて該自己配線長エラーを解消させる、
ことを特徴とする自動配置配線方法。（６）
（付記７）上記ステップ（ａ）において、検出された自己配線長エラーをカウントし、上記ステップ（ｂ）において、セル移動データを記憶装置に格納しておき、
該ステップ（ａ）と（ｂ）との組を複数回繰り返し実行し、
（ｃ）全回のエラーカウントの最小値に対応する該組のステップ（ｂ）のセル移動データに基づいて上記セル配置データを修正する、
ステップをさらに有することを特徴とする付記６記載の自動配置配線方法。（７）
（付記８）（ｄ）上記エラーカウントの最小値が０でなければ、エラーが検出された仮配線にバッファセルが挿入されるようにネットリスト及び上記セル配置データを修正する、
ステップをさらに有することを特徴とする付記７記載の自動配置配線方法。（８）
（付記９）（ｅ）セル間のマンハッタン長経路仮配線密度を求め、該密度が所定値以上であれば、設計対象フレームを拡大して上記セル自動配置の処理に戻る、
ステップをさらに有することを特徴とする付記８記載の自動配置配線方法。（９）
（付記１０）自動配置配線プログラムにおいて、コンピュータに対し、セル配置によりセル配置データを取得させ、セル間配線前に、
（ａ）同一ノードのセル端子間にマンハッタン長経路の仮配線を接続してできる並行配線の長さが所定値以上であるクロストークエラーを検出させ、
（ｂ）クロストークエラーが検出された仮配線に接続されている、所定値以内の間隔に接近したセルを移動させて該クロストークエラーを解消させる、
ことを特徴とする自動配置配線プログラム。
【００７６】
（付記１１）上記コンピュータに対し、
上記ステップ（ａ）において、検出されたクロストークエラーをカウントさせ、上記ステップ（ｂ）において、セル移動データを記憶装置に格納させておき、
該ステップ（ａ）と（ｂ）との組を複数回繰り返し実行させ、
（ｃ）全回のエラーカウントの最小値に対応する該組のステップ（ｂ）のセル移動データに基づいて上記セル配置データを修正させる、
ステップをさらに有することを特徴とする付記１０記載の自動配置配線プログラム。
【００７７】
（付記１２）上記コンピュータに対し、
（ｄ）上記エラーカウントの最小値が０でなければ、エラーが検出された仮配線にバッファセルが挿入されるようにネットリスト及び上記セル配置データを修正させる、
ステップをさらに有することを特徴とする付記１１記載の自動配置配線プログラム。
【００７８】
（付記１３）上記コンピュータに対し、
（ｅ）セル間のマンハッタン長経路仮配線密度を求めさせ、該密度が所定値以上であれば、設計対象フレームを拡大させて上記セル自動配置の処理に戻らせる、
ステップをさらに有することを特徴とする付記１２記載の自動配置配線プログラム。
【００７９】
（付記１４）付記１０乃至１３のいずれか１つに記載の自動配置配線プログラムが記録されていることを特徴とするコンピュータ読み取り可能な記録媒体。
【図面の簡単な説明】
【図１】本発明の一実施形態の自動配置配線装置のハードウェア構成を示す概略ブロック図である。
【図２】図１のコンピュータ１によるセル配置後配線前の処理の詳細を示すフローチャートである。
【図３】設計対象フレームを含むチップフレームを示す図である。
【図４】自己配線長エラー説明図である。
【図５】（Ａ）及び（Ｂ）はそれぞれ自己配線長エラーを解消するためのセル移動及びバッファセル挿入の説明図である。
【図６】並行配線長エラー説明図である。
【図７】図２のステップＳ２３の詳細を示すフローチャートである。
【図８】図２のステップＳ２７の仮配線密度計算説明図である。
【図９】従来の自動配置配線処理の一部を示すフローチャートである。
【図１０】図９の続きを示すフローチャートである。
【符号の説明】
１  コンピュータ
２  入力装置
３  表示装置
４  ネットリスト
５  セルライブラリ
６  セルレイアウトデータ
７  配線レイアウトデータ
１０  チップ
１１  設計対象フレーム
１２〜１４、２０〜２３  セル
１２Ｏ、１３Ｏ、２０Ｏ、２２Ｏ  出力端子
１３Ｉ、１４Ｉ、２１Ｉ、２３Ｉ  入力端子
１５Ｘ、１５Ｙ、２４Ｘ、２４Ｙ、２５Ｘ、２５Ｙ、２８、２９  仮配線
１７、１８  インバータ
２６、２７  端子
【図１】
0004224541.tif 000002
【図２】
0004224541.tif 000003
【図３】
0004224541.tif 000004
【図４】
0004224541.tif 000005
【図５】
0004224541.tif 000006
【図６】
0004224541.tif 000007
【図７】
0004224541.tif 000008
【図８】
0004224541.tif 000009
【図９】
0004224541.tif 000010
【図１０】
0004224541.tif 000011