JP3068492B2 - 自動配置配線方法 - Google Patents
自動配置配線方法Info
- Publication number
- JP3068492B2 JP3068492B2 JP9103093A JP10309397A JP3068492B2 JP 3068492 B2 JP3068492 B2 JP 3068492B2 JP 9103093 A JP9103093 A JP 9103093A JP 10309397 A JP10309397 A JP 10309397A JP 3068492 B2 JP3068492 B2 JP 3068492B2
- Authority
- JP
- Japan
- Prior art keywords
- priority
- unwired
- wiring
- channels
- line segment
- 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 - Lifetime
Links
Landscapes
- Semiconductor Integrated Circuits (AREA)
- Design And Manufacture Of Integrated Circuits (AREA)
Description
【0001】
【発明の属する技術分野】本発明は自動配置配線方法に
関し、特にゲートアレイやセルベースIC等の特定用途
向け半導体集積回路(ASIC)の自動配置配線方法に
関する。
関し、特にゲートアレイやセルベースIC等の特定用途
向け半導体集積回路(ASIC)の自動配置配線方法に
関する。
【0002】
【従来の技術】ゲートアレイやセルベースIC等のAS
ICのレイアウトはコンピュータ支援設計(CAD)の
1つである自動配置配線により実施され、配置、概略配
線、詳細配線及び検証のフローで処理されていた。
ICのレイアウトはコンピュータ支援設計(CAD)の
1つである自動配置配線により実施され、配置、概略配
線、詳細配線及び検証のフローで処理されていた。
【0003】ASICの自動配置配線において、効率の
良いLSIレイアウトの実行とは、未配線に対し最短時
間で配線領域を確保すると共に、未配線を無くすことで
ある。しかし、初期配置や配置アルゴリズムに起因し
て、配線対象のLSI内の一部の領域で配線可能領域が
不足して局部的に配線が混雑し、未配線を生ずることが
ある。この未配線が発生すると、再度レイアウトを試行
するためターンアラウンドタイム(TAT)が増加する
という問題が生ずる。
良いLSIレイアウトの実行とは、未配線に対し最短時
間で配線領域を確保すると共に、未配線を無くすことで
ある。しかし、初期配置や配置アルゴリズムに起因し
て、配線対象のLSI内の一部の領域で配線可能領域が
不足して局部的に配線が混雑し、未配線を生ずることが
ある。この未配線が発生すると、再度レイアウトを試行
するためターンアラウンドタイム(TAT)が増加する
という問題が生ずる。
【0004】従来は未配線が生じた場合、再レイアウト
試行等の時間損失を回避し処理のTATを所定時間内に
維持するために使用しているLSI用マスタスライスの
サイズを単位機能回路(セル)当たりの面積が大きい上
位のものに変更し再レイアウトするということも行って
いた。このため、LSIの集積度に大きな影響を与えて
いた。
試行等の時間損失を回避し処理のTATを所定時間内に
維持するために使用しているLSI用マスタスライスの
サイズを単位機能回路(セル)当たりの面積が大きい上
位のものに変更し再レイアウトするということも行って
いた。このため、LSIの集積度に大きな影響を与えて
いた。
【0005】自動配置配線におけるLSIの集積度を改
善する代表的な従来技術として、特開平6−97282
号公報記載の従来の第1の自動配線方法や特開平4−3
69248号公報記載の従来の第2の自動配線方法があ
る。
善する代表的な従来技術として、特開平6−97282
号公報記載の従来の第1の自動配線方法や特開平4−3
69248号公報記載の従来の第2の自動配線方法があ
る。
【0006】従来の第1の自動配置配線方法を模式的に
平面図で示す図4(A),(B)を参照すると、この図
に示すハッチングした矩形はセルを、黒丸の点は端子
を、端子間を結ぶ線は配線を、セル間の領域はチャネル
領域をそれぞれ示す。
平面図で示す図4(A),(B)を参照すると、この図
に示すハッチングした矩形はセルを、黒丸の点は端子
を、端子間を結ぶ線は配線を、セル間の領域はチャネル
領域をそれぞれ示す。
【0007】次に、図4を参照して、従来の自動配置配
線方法の動作について説明すると、まず図4(A)のよ
うに、予めセルを隙間なく配置して各セル間を自動配置
した状態で自動配線を行う。セル内のみで引けなかった
配線があった場合には、各セル位置において存在する未
配線の本数を調べ、その最大数に応じたセル間配線領域
を確保して図4(B)のように再配置・再配線を行う。
線方法の動作について説明すると、まず図4(A)のよ
うに、予めセルを隙間なく配置して各セル間を自動配置
した状態で自動配線を行う。セル内のみで引けなかった
配線があった場合には、各セル位置において存在する未
配線の本数を調べ、その最大数に応じたセル間配線領域
を確保して図4(B)のように再配置・再配線を行う。
【0008】従来の第1の配線方法は、最初にチャネル
数が0の状態にコンパクションをしておいた状態から自
動配線行い、未配線があった場合に必要なチャネル数を
確保するレイアウト配線方法であり、チャネルが無い状
態からレイアウトするので、一般的に配線が混雑するL
SIチップ中央部の配線チャネルは増大し、チップ全体
では均等に配線されないことが予想できる。また、未配
線の調査の方法や再配置移動の方向決め方等の詳細なこ
とは何も記述されていない。
数が0の状態にコンパクションをしておいた状態から自
動配線行い、未配線があった場合に必要なチャネル数を
確保するレイアウト配線方法であり、チャネルが無い状
態からレイアウトするので、一般的に配線が混雑するL
SIチップ中央部の配線チャネルは増大し、チップ全体
では均等に配線されないことが予想できる。また、未配
線の調査の方法や再配置移動の方向決め方等の詳細なこ
とは何も記述されていない。
【0009】次に、従来の第2の自動配置配線方法を模
式的に平面図で示す図5を参照すると、U1〜U4は自
動レイアウトの実行中に移動可能な4つの自由端子を、
T1〜T7は自由端子U1〜U4と接続される各機能ブ
ロックの7つの端子をそれぞれ示す。
式的に平面図で示す図5を参照すると、U1〜U4は自
動レイアウトの実行中に移動可能な4つの自由端子を、
T1〜T7は自由端子U1〜U4と接続される各機能ブ
ロックの7つの端子をそれぞれ示す。
【0010】この従来の第2の自動配置配線方法は、自
動レイアウトの実行中に移動可能な入出力端子のうちの
自由端子を移動させることによって半導体集積回路の面
積を可能な限り小さくする端子決定方法において、入出
力端子と各機能ブロック間のマンハッタン距離を最小に
させ、かつ、上記自由端子をグローバル配線(概略配
線)工程で得られたグローバル配線結果に基づいて配線
密度の低いエリアに再移動させるというものである。
動レイアウトの実行中に移動可能な入出力端子のうちの
自由端子を移動させることによって半導体集積回路の面
積を可能な限り小さくする端子決定方法において、入出
力端子と各機能ブロック間のマンハッタン距離を最小に
させ、かつ、上記自由端子をグローバル配線(概略配
線)工程で得られたグローバル配線結果に基づいて配線
密度の低いエリアに再移動させるというものである。
【0011】この場合、端子と各機能ブロックとの間の
配線長を短くすることは可能であるが、未配線が無くな
るとは言えない。
配線長を短くすることは可能であるが、未配線が無くな
るとは言えない。
【0012】
【発明が解決しようとする課題】上述した従来の自動配
置配線方法は、マスタのセル使用率が高くまた回路接続
情報にピンペア数が多い場合に、初期配置及び配置アル
ゴリズムに起因してLSI内の一部の領域で局部的に配
線が混雑し配線可能領域が無くなってしまうため未配線
が生じるというという欠点があった。
置配線方法は、マスタのセル使用率が高くまた回路接続
情報にピンペア数が多い場合に、初期配置及び配置アル
ゴリズムに起因してLSI内の一部の領域で局部的に配
線が混雑し配線可能領域が無くなってしまうため未配線
が生じるというという欠点があった。
【0013】また、上記原因で未配線が生じた時は、L
SIのフロアプラン等を変えて再度自動配置配線を実行
するためレイアウトのTAT増加してしまうという欠点
があった。
SIのフロアプラン等を変えて再度自動配置配線を実行
するためレイアウトのTAT増加してしまうという欠点
があった。
【0014】さらに、フロアプラン等の変更でも対応不
可能な場合はマスタスライスのサイズを大きなものに変
更し、そのサイズの大きいマスタスライスで自動配置配
線を実行するため、LSIの集積度が低下するという欠
点があった。
可能な場合はマスタスライスのサイズを大きなものに変
更し、そのサイズの大きいマスタスライスで自動配置配
線を実行するため、LSIの集積度が低下するという欠
点があった。
【0015】本発明の目的は、LSI内の低チャネル占
有率部分を有効に利用することにより、高集積度のレイ
アウトを短いTATで生成する自動配置配線方法を提供
することにある。
有率部分を有効に利用することにより、高集積度のレイ
アウトを短いTATで生成する自動配置配線方法を提供
することにある。
【0016】
【課題を解決するための手段】本発明の自動配置配線方
法は、複数の機能ブロックから成る半導体集積回路の前
記機能ブロックをLSIチップ上に配置する配置ステッ
プと、前記ブロック内及び前記ブロック相互間の主要配
線を実施する概略配線ステップと、前記ブロック内及び
前記ブロック相互間の全ての配線を実施する詳細配線ス
テップとを含む自動配置配線方法において、前記詳細配
線後に発生した未配線の数とその場所である座標とこの
未配線の不足チャネル数との調査を行う未配線調査ステ
ップと、前記LSIチップ内の前記未配線の箇所を通過
するように前記LSIチップのX軸又はY軸方向にこの
LSIチップの辺に平行な任意の線分を引きこの線分と
交差するチャネルの空きチャネル数の調査を行う空きチ
ャネル数調査ステップと、前記未配線を除去するために
必要なチャネル数を前記線分と交差する前記空きチャネ
ル数の合計と個々のエリアの空きチャネルの比率で前記
LSIチップの前記X軸又は前記Y軸方向に配分する必
要チャネル数の配分ステップと、移動すべきブロックの
優先順位を決定する移動ブロックの優先順位決定ステッ
プと、前記移動ブロックの再配置場所の優先順位を決定
する再配置場所の優先順位決定ステップと、前記移動ブ
ロックの優先順位決定ステップと前記再配置場所の優先
順位決定ステップとで決定した優先順位にしたがい前記
ブロックを再配置する再配置ステップと、前記再配置の
結果予め定めた配線条件に違反している配線を引き剥が
す配線条件違反ネット引き剥がしステップと、前記未配
線と前記配線条件違反ネット引き剥がしステップによる
引き剥がされたネットを再配置する未配線箇所の再配線
ステップとを含むことを特徴とするものである。
法は、複数の機能ブロックから成る半導体集積回路の前
記機能ブロックをLSIチップ上に配置する配置ステッ
プと、前記ブロック内及び前記ブロック相互間の主要配
線を実施する概略配線ステップと、前記ブロック内及び
前記ブロック相互間の全ての配線を実施する詳細配線ス
テップとを含む自動配置配線方法において、前記詳細配
線後に発生した未配線の数とその場所である座標とこの
未配線の不足チャネル数との調査を行う未配線調査ステ
ップと、前記LSIチップ内の前記未配線の箇所を通過
するように前記LSIチップのX軸又はY軸方向にこの
LSIチップの辺に平行な任意の線分を引きこの線分と
交差するチャネルの空きチャネル数の調査を行う空きチ
ャネル数調査ステップと、前記未配線を除去するために
必要なチャネル数を前記線分と交差する前記空きチャネ
ル数の合計と個々のエリアの空きチャネルの比率で前記
LSIチップの前記X軸又は前記Y軸方向に配分する必
要チャネル数の配分ステップと、移動すべきブロックの
優先順位を決定する移動ブロックの優先順位決定ステッ
プと、前記移動ブロックの再配置場所の優先順位を決定
する再配置場所の優先順位決定ステップと、前記移動ブ
ロックの優先順位決定ステップと前記再配置場所の優先
順位決定ステップとで決定した優先順位にしたがい前記
ブロックを再配置する再配置ステップと、前記再配置の
結果予め定めた配線条件に違反している配線を引き剥が
す配線条件違反ネット引き剥がしステップと、前記未配
線と前記配線条件違反ネット引き剥がしステップによる
引き剥がされたネットを再配置する未配線箇所の再配線
ステップとを含むことを特徴とするものである。
【0017】
【発明の実施の形態】次に、本発明の実施の形態をフロ
ーチャートで示す図1を参照すると、この図に示す本実
施の形態の自動配置配線方法は、未配線の判定ステップ
T1と、未配線の不足チャネル数とその方向の調査を行
う未配線の調査ステップT2と、空きチャネル数の調査
を行う空きチャネル数の調査ステップT3と、LSIチ
ップの2方向に未配線を除去するために必要なチャネル
数を空きチャネル数比で配分する必要チャネル数の配分
ステップT4と、移動すべきブロックに優先順位を決定
させる移動ブロックの優先順位の決定ステップT5と、
上記移動ブロックの優先順位を決定する再配置場所の優
先順位の決定ステップT6と、再配置場所の優先順位決
定ステップT6で決定した優先順位に従いブロックを再
配置する再配置ステップT7と、配線条件に違反してい
る配線を引き剥がすネットの引き剥がしステップT8
と、未配線と引き剥がされたネットを再配置させる再配
線ステップT9と、検証ステップT10と、出力ステッ
プT11とを含む。
ーチャートで示す図1を参照すると、この図に示す本実
施の形態の自動配置配線方法は、未配線の判定ステップ
T1と、未配線の不足チャネル数とその方向の調査を行
う未配線の調査ステップT2と、空きチャネル数の調査
を行う空きチャネル数の調査ステップT3と、LSIチ
ップの2方向に未配線を除去するために必要なチャネル
数を空きチャネル数比で配分する必要チャネル数の配分
ステップT4と、移動すべきブロックに優先順位を決定
させる移動ブロックの優先順位の決定ステップT5と、
上記移動ブロックの優先順位を決定する再配置場所の優
先順位の決定ステップT6と、再配置場所の優先順位決
定ステップT6で決定した優先順位に従いブロックを再
配置する再配置ステップT7と、配線条件に違反してい
る配線を引き剥がすネットの引き剥がしステップT8
と、未配線と引き剥がされたネットを再配置させる再配
線ステップT9と、検証ステップT10と、出力ステッ
プT11とを含む。
【0018】次に、図1,従来の一般的な自動配線でレ
イアウトした詳細配線後のLSIチップの例を平面図で
示す図2及びその一部である本実施の形態の自動配線の
実施対象部分を平面図で示す図3を参照して本実施の形
態の動作について説明すると、まず、従来の自動配線の
配置、概略配線、詳細配線のフローでレイアウト処理
し、その後、本実施の形態のフローを実行する。
イアウトした詳細配線後のLSIチップの例を平面図で
示す図2及びその一部である本実施の形態の自動配線の
実施対象部分を平面図で示す図3を参照して本実施の形
態の動作について説明すると、まず、従来の自動配線の
配置、概略配線、詳細配線のフローでレイアウト処理
し、その後、本実施の形態のフローを実行する。
【0019】図2を参照すると、LSIチップ1上の矩
形はそれぞれファンクションブロック2を示し、×印で
示す未配線箇所3A,3C,3Cの各々を示す。点線で
示すLSIチップ1のX軸方向の線分4はLSIチップ
上の未配線箇所3A,3C,3Cを通過する任意の線分
を示す。
形はそれぞれファンクションブロック2を示し、×印で
示す未配線箇所3A,3C,3Cの各々を示す。点線で
示すLSIチップ1のX軸方向の線分4はLSIチップ
上の未配線箇所3A,3C,3Cを通過する任意の線分
を示す。
【0020】線分4の近傍を抽出した図3を参照する
と、この図にはファンクションブロックF1〜F12
と、空きチャネルS1〜S11とを示す。
と、この図にはファンクションブロックF1〜F12
と、空きチャネルS1〜S11とを示す。
【0021】次に、未配線がLSIチップ1上の未配線
箇所3A,3C,3Cの3箇所の各々にそれぞれA本,
B本,C本発生していた場合の処理について説明する
と、まず、ステップT1で、自動配置配線後のLSIチ
ップ上に未配線が生じていた場合は、未配線調査ステッ
プT2で、自動配置配線後の要約(サマリ)等の出力フ
ァイルから未配線の本数とその場所(座標)を調査す
る。
箇所3A,3C,3Cの3箇所の各々にそれぞれA本,
B本,C本発生していた場合の処理について説明する
と、まず、ステップT1で、自動配置配線後のLSIチ
ップ上に未配線が生じていた場合は、未配線調査ステッ
プT2で、自動配置配線後の要約(サマリ)等の出力フ
ァイルから未配線の本数とその場所(座標)を調査す
る。
【0022】未配線の数と場所が抽出できたら、空きチ
ャネル数を調査するステップT3に移り、LSIチップ
上の未配線箇所を通過するようにLSIチップ1のX軸
方向にLSIチップ辺に平行な任意の線分4を引く。次
に、LSIチップをX軸方向に横切る線分4と交差する
チャネルの空きチャネルの数を数える。未配線が生じる
ということは配線用の空きチャネルが存在しないことを
意味するので、したがって、空きチャネルの存在箇所は
点3A,3C,3Cの未配線の発生箇所以外である。
ャネル数を調査するステップT3に移り、LSIチップ
上の未配線箇所を通過するようにLSIチップ1のX軸
方向にLSIチップ辺に平行な任意の線分4を引く。次
に、LSIチップをX軸方向に横切る線分4と交差する
チャネルの空きチャネルの数を数える。未配線が生じる
ということは配線用の空きチャネルが存在しないことを
意味するので、したがって、空きチャネルの存在箇所は
点3A,3C,3Cの未配線の発生箇所以外である。
【0023】線分4と交差する配線チャネルにおいて、
空きチャネルS1〜S11がそれぞれ空きチャネル数を
示すとするとその合計は次式で表される。
空きチャネルS1〜S11がそれぞれ空きチャネル数を
示すとするとその合計は次式で表される。
【0024】LSIチップの左端から右端までの空きチ
ャネル数=S1+S2+S3+S4+S5+S6+S7
+S8+S9+S10+S11 未配線箇所でチャネルを区切り、区切られたエリアの個
々の空きチャネル数は次式で表される。
ャネル数=S1+S2+S3+S4+S5+S6+S7
+S8+S9+S10+S11 未配線箇所でチャネルを区切り、区切られたエリアの個
々の空きチャネル数は次式で表される。
【0025】LSIチップの左端から未配線箇所3Aま
での空きチャネル数=S1+S2+S3+S4 未配線箇所3Aから未配線箇所3Bまでの空きチャネル
数=S5 未配線箇所3Bから未配線箇所3Cまでの空きチャネル
数=S6+S7 未配線箇所3CからLSIチップの右端までの空きチャ
ネル数=S8+S9+S10+S11 空きチャネルの調査が終了したら、必要チャネル数の配
分ステップT4に移り、必要チャネル数の配分を決定す
る。
での空きチャネル数=S1+S2+S3+S4 未配線箇所3Aから未配線箇所3Bまでの空きチャネル
数=S5 未配線箇所3Bから未配線箇所3Cまでの空きチャネル
数=S6+S7 未配線箇所3CからLSIチップの右端までの空きチャ
ネル数=S8+S9+S10+S11 空きチャネルの調査が終了したら、必要チャネル数の配
分ステップT4に移り、必要チャネル数の配分を決定す
る。
【0026】未配線を均等に配線するための前述した個
々のエリアの配分は、線分4と交差する配線チャネルと
個々のエリアの空きチャネルの比率に未配線の合計本数
の積で示すことができる。
々のエリアの配分は、線分4と交差する配線チャネルと
個々のエリアの空きチャネルの比率に未配線の合計本数
の積で示すことができる。
【0027】配分は、3A,3B,3Cの未配線数、
A,B,Cの合計を全未配線数、線分4と交差する空き
チャネル数の合計(S1〜S11)を全空きチャネル数
とすると次式で表される。
A,B,Cの合計を全未配線数、線分4と交差する空き
チャネル数の合計(S1〜S11)を全空きチャネル数
とすると次式で表される。
【0028】LSIチップ1の左端から未配線箇所3A
までの配分=(全未配線数)×(S1+S2+S3+S
4)/(全空きチャネル数) 未配線箇所3Aから未配線箇所3Bまでの配分=(全未
配線数)×(S5)/(全空きチャネル数) 未配線箇所3Bから未配線箇所3Bまでの配分=(全未
配線数)×(S6+S7)/(全空きチャネル数) 未配線箇所3BからLSIチップ1の右端までの配分=
(全未配線数)×(S8+S9+S10+S11)/
(全空きチャネル数) 空きチャネルが抽出できたら、移動ブロックの優先順位
決定ステップT5に移り、移動ブロックの優先順位を決
定する。
までの配分=(全未配線数)×(S1+S2+S3+S
4)/(全空きチャネル数) 未配線箇所3Aから未配線箇所3Bまでの配分=(全未
配線数)×(S5)/(全空きチャネル数) 未配線箇所3Bから未配線箇所3Bまでの配分=(全未
配線数)×(S6+S7)/(全空きチャネル数) 未配線箇所3BからLSIチップ1の右端までの配分=
(全未配線数)×(S8+S9+S10+S11)/
(全空きチャネル数) 空きチャネルが抽出できたら、移動ブロックの優先順位
決定ステップT5に移り、移動ブロックの優先順位を決
定する。
【0029】まず、未配線箇所を基点として、X軸方向
に線分を引く。本実施の形態では、線分4に該当する。
に線分を引く。本実施の形態では、線分4に該当する。
【0030】ステップT5は以下の3つの優先順位設定
ステップT51〜T53で移動すべきブロック優先順位
を決定する。
ステップT51〜T53で移動すべきブロック優先順位
を決定する。
【0031】優先順位設定ステップT51は、未配線箇
所を通過する線分が横断するファンクションブロックに
対して線分の基点となる未配線箇所からの距離によって
グループ化し、未配線箇所に近い順番に優先順位を設定
する。
所を通過する線分が横断するファンクションブロックに
対して線分の基点となる未配線箇所からの距離によって
グループ化し、未配線箇所に近い順番に優先順位を設定
する。
【0032】LSIチップ1の左端から未配線箇所3A
までの間では、未配線箇所3Aに近い順にファンクショ
ンブロックF4,F3をグループ1、ファンクションブ
ロックF2,F1をグループ2とする。未配線箇所3A
から未配線箇所3Bまでの間では、ファンクションブロ
ックF5,F6をグループ3とする。未配線箇所3Bか
ら未配線箇所3Cまでの間では、ファンクションブロッ
クF7,F8をグループ4とする。未配線箇所3Bから
LSIチップ1の右端までの間では、未配線箇所3Bに
近い順にファンクションブロックF9,F10をグルー
プ5、ファンクションブロックF11,F12をグルー
プ6とする。
までの間では、未配線箇所3Aに近い順にファンクショ
ンブロックF4,F3をグループ1、ファンクションブ
ロックF2,F1をグループ2とする。未配線箇所3A
から未配線箇所3Bまでの間では、ファンクションブロ
ックF5,F6をグループ3とする。未配線箇所3Bか
ら未配線箇所3Cまでの間では、ファンクションブロッ
クF7,F8をグループ4とする。未配線箇所3Bから
LSIチップ1の右端までの間では、未配線箇所3Bに
近い順にファンクションブロックF9,F10をグルー
プ5、ファンクションブロックF11,F12をグルー
プ6とする。
【0033】そして、グループ1からグループ6までを
未配線箇所に近い順に優先順位を付けると、グループ
1,グループ3,グループ4,グループ5は優先順位が
高く、グループ2,グループ6は優先順位が低くなる。
未配線箇所に近い順に優先順位を付けると、グループ
1,グループ3,グループ4,グループ5は優先順位が
高く、グループ2,グループ6は優先順位が低くなる。
【0034】優先順位設定ステップT52は、未配線箇
所を通過する線分が横断するファンクションブロックに
対して優先順位設定ステップ51で分けたグループ内で
ピンペア数の比較を行い、ピンペア数の小さい順番に優
先順位を設定する。
所を通過する線分が横断するファンクションブロックに
対して優先順位設定ステップ51で分けたグループ内で
ピンペア数の比較を行い、ピンペア数の小さい順番に優
先順位を設定する。
【0035】ここでは説明の便宜上以下のように仮定す
る グループ1:F4<F3 グループ2:F1<F2 グループ3:F6=F5 グループ4:F8<F7 グループ5:F10<F9 グループ6:F11<F12 優先順位設定ステップT53は、優先順位設定ステップ
52で設定したピンペア数が同数の場合に、未配線箇所
を通過する線分が横断するファンクションブロックに対
して上記線分のファンクションブロック横断長の短い順
番で優先順位を設定する。
る グループ1:F4<F3 グループ2:F1<F2 グループ3:F6=F5 グループ4:F8<F7 グループ5:F10<F9 グループ6:F11<F12 優先順位設定ステップT53は、優先順位設定ステップ
52で設定したピンペア数が同数の場合に、未配線箇所
を通過する線分が横断するファンクションブロックに対
して上記線分のファンクションブロック横断長の短い順
番で優先順位を設定する。
【0036】図示の各グループにおける線分4のファン
クションブロックを横断する長さは以下のようになる。
クションブロックを横断する長さは以下のようになる。
【0037】 グループ1:F4<F3 グループ2:F1<F2 グループ3:F6<F5 グループ4:F8<F7 グループ5:F10<F9 グループ6:F11<F12 したがって移動すべきファンクションブロックの優先順
位は、LSIチップ1の左端から未配線箇所3Aまで
は、F4,F3,F1,F2の順番、未配線箇所3Aか
ら未配線箇所3Bまでは、F6,F5の順番、未配線箇
所3Bから未配線箇所3Bまでは、F8,F7の順番、
未配線箇所3BからLSIチップ1の右端までは、F1
0,F9,F11,F12の順番となる。
位は、LSIチップ1の左端から未配線箇所3Aまで
は、F4,F3,F1,F2の順番、未配線箇所3Aか
ら未配線箇所3Bまでは、F6,F5の順番、未配線箇
所3Bから未配線箇所3Bまでは、F8,F7の順番、
未配線箇所3BからLSIチップ1の右端までは、F1
0,F9,F11,F12の順番となる。
【0038】移動すべきファンクションブロックの優先
順位が決定したら、再配置場所の優先順位決定ステップ
T6に移る。
順位が決定したら、再配置場所の優先順位決定ステップ
T6に移る。
【0039】線分4上の個々の空きチャネルのチャネル
数とその位置を認識する。
数とその位置を認識する。
【0040】空きチャネル領域S1〜S11に対して、
次の優先順位設定ステップT61で優先順位を設定す
る。
次の優先順位設定ステップT61で優先順位を設定す
る。
【0041】すなわち優先順位設定ステップT61は、
空きチャネル領域が未配線箇所に近い順番に優先順位を
設定する。
空きチャネル領域が未配線箇所に近い順番に優先順位を
設定する。
【0042】本実施の形態の例では、LSIチップ1の
左端から未配線箇所3Aまでは、S4,S3,S2,S
1の順番、未配線箇所3A〜3BまではS5、未配線箇
所3B〜3CまではS7,S6の順番、未配線箇所3C
からLSIチップ1の右端まではS9,S10,S11
の順番となる。
左端から未配線箇所3Aまでは、S4,S3,S2,S
1の順番、未配線箇所3A〜3BまではS5、未配線箇
所3B〜3CまではS7,S6の順番、未配線箇所3C
からLSIチップ1の右端まではS9,S10,S11
の順番となる。
【0043】移動すべきファンクションブロックの順位
が決定したら、再配置ステップT7に移る。
が決定したら、再配置ステップT7に移る。
【0044】移動ブロックの優先順位決定ステップT5
で設定された優先順位の最も高いファンクションブロッ
クから順番にファンクションブロックを空きチャネルの
優先順位が高く、かつ、移動対象ファンクションブロッ
クのサイズ以上の領域に再配置する。
で設定された優先順位の最も高いファンクションブロッ
クから順番にファンクションブロックを空きチャネルの
優先順位が高く、かつ、移動対象ファンクションブロッ
クのサイズ以上の領域に再配置する。
【0045】ステップT7を、未配線の配線用に必要な
チャネル数を確保するまで繰り返す。
チャネル数を確保するまで繰り返す。
【0046】この例では、LSIチップ1の左端から未
配線箇所3Aまでの間で、最も優先順位の高い移動すべ
きファンクションブロックはファンクションブロックF
4であり、このファンクションブロックF4のブロック
サイズと空きチャネル数S4,S3,S2,S1の優先
順位で空きチャネル領域の大きさを比較し、空きチャネ
ル数S4の領域≧ファンクションブロックF4のブロッ
クサイズならばファンクションブロックF4を未配線数
S4を有する領域に再配置する。
配線箇所3Aまでの間で、最も優先順位の高い移動すべ
きファンクションブロックはファンクションブロックF
4であり、このファンクションブロックF4のブロック
サイズと空きチャネル数S4,S3,S2,S1の優先
順位で空きチャネル領域の大きさを比較し、空きチャネ
ル数S4の領域≧ファンクションブロックF4のブロッ
クサイズならばファンクションブロックF4を未配線数
S4を有する領域に再配置する。
【0047】再配置場所は、空きチャネル数S4を有す
る領域内の未配線箇所に最も近い場所に配置する。
る領域内の未配線箇所に最も近い場所に配置する。
【0048】また、空きチャネルS4の領域<ファンク
ションブロックF4のブロックサイズならば、次の空き
チャネルの優先順位である空きチャネル数S3が有る領
域とファンクションブロックF4のブロックサイズを同
様に比較し、再配置場所を決定し、再配置を行う。
ションブロックF4のブロックサイズならば、次の空き
チャネルの優先順位である空きチャネル数S3が有る領
域とファンクションブロックF4のブロックサイズを同
様に比較し、再配置場所を決定し、再配置を行う。
【0049】この処理をLSIチップ1の左端から未配
線箇所3Aまでの間に割り振られた必要チャネル数を確
保するまでブロックを再配置する。
線箇所3Aまでの間に割り振られた必要チャネル数を確
保するまでブロックを再配置する。
【0050】その他の未配線箇所である未配線箇所3A
〜3Bの間、未配線箇所3B〜3Cの間、未配線箇所3
B〜LSIチップ右端の間も同様の処理を行い、再配置
を行う。
〜3Bの間、未配線箇所3B〜3Cの間、未配線箇所3
B〜LSIチップ右端の間も同様の処理を行い、再配置
を行う。
【0051】以上までの処理で未配線の配線用に必要な
チャネル数を確保し、配線条件違反ネット引き剥がしス
テップT8に移る。
チャネル数を確保し、配線条件違反ネット引き剥がしス
テップT8に移る。
【0052】ステップT8では、移動すべきファンクシ
ョンブロックを再配置したことによる配線条件の違反箇
所のネットの引き剥がしを行う。
ョンブロックを再配置したことによる配線条件の違反箇
所のネットの引き剥がしを行う。
【0053】次に、再配線ステップT9で、未配線と引
き剥がしたネットの再配線を行う。
き剥がしたネットの再配線を行う。
【0054】再度、未配線箇所の有無を調べ、未配線箇
所が存在しない場合はステップT10,T11に進み終
了するが、未配線箇所が存在する場合は、再び未配線調
査ステップT2の処理を反復する。
所が存在しない場合はステップT10,T11に進み終
了するが、未配線箇所が存在する場合は、再び未配線調
査ステップT2の処理を反復する。
【0055】なお、以上の説明は、LSIチップのX軸
方向に対して示したものであるが、Y軸方向に対しても
同様な処理を行えることは、いうまでもない。
方向に対して示したものであるが、Y軸方向に対しても
同様な処理を行えることは、いうまでもない。
【0056】
【発明の効果】以上説明したように、本発明の自動配置
配線方法は、未配線調査ステップと、空きチャネル数調
査ステップと、上記未配線の除去のための所要チャネル
数を空きチャネル数比で配分する必要チャネル数の配分
ステップと、移動ブロックの優先順位決定ステップと、
再配置場所の優先順位決定ステップとを有するので、空
きチャネルが存在する場合には空きチャネルにブロック
を移動できるので、均等に配置配線でき、したがって局
部的な配線混雑による未配線が発生しないという効果が
ある。
配線方法は、未配線調査ステップと、空きチャネル数調
査ステップと、上記未配線の除去のための所要チャネル
数を空きチャネル数比で配分する必要チャネル数の配分
ステップと、移動ブロックの優先順位決定ステップと、
再配置場所の優先順位決定ステップとを有するので、空
きチャネルが存在する場合には空きチャネルにブロック
を移動できるので、均等に配置配線でき、したがって局
部的な配線混雑による未配線が発生しないという効果が
ある。
【0057】また、未配線の発生のために行っていたL
SIのフロアプラン等の変更による再実行が不要となる
のでレイアウトTATを短縮できるという効果がある。
SIのフロアプラン等の変更による再実行が不要となる
のでレイアウトTATを短縮できるという効果がある。
【0058】さらに、空きチャネルを利用し、LSIチ
ップ全体に均等に配置配線できるので、未配線発生を防
止するための処理であるマスタスライスのサイズを大き
くして再レイアウトする必要がなくなり、最適なマスタ
スライスで所望の回路をレイアウトできるため、LSI
の集積度を向上することができるという効果がある。
ップ全体に均等に配置配線できるので、未配線発生を防
止するための処理であるマスタスライスのサイズを大き
くして再レイアウトする必要がなくなり、最適なマスタ
スライスで所望の回路をレイアウトできるため、LSI
の集積度を向上することができるという効果がある。
【図1】本発明の自動配置配線方法の一実施の形態を示
すフローチャートである。
すフローチャートである。
【図2】本実施の形態の自動配置配線方法の対象とする
詳細配線後のLSIチップの一例を示す平面図である。
詳細配線後のLSIチップの一例を示す平面図である。
【図3】図2のLSIチップの一部である本実施の形態
の対象部分を示す平面図である。
の対象部分を示す平面図である。
【図4】従来の第1の自動配置配線方法を示す模式平面
図である。
図である。
【図5】従来の第2の自動配置配線方法を示す模式平面
図である。
図である。
1 LSIチップ 3A〜3C 未配線箇所 4 線分 2,F1〜F12 ファンクションブロック S1〜S11 空きチャネル U1〜U4 自由端子 T1〜T7 機能ブロックの端子
───────────────────────────────────────────────────── フロントページの続き (58)調査した分野(Int.Cl.7,DB名) H01L 21/82,21/822 H01L 27/118,27/04
Claims (3)
- 【請求項1】 複数の機能ブロックから成る半導体集積
回路の前記機能ブロックをLSIチップ上に配置する配
置ステップと、前記ブロック内及び前記ブロック相互間
の主要配線を実施する概略配線ステップと、前記ブロッ
ク内及び前記ブロック相互間の全ての配線を実施する詳
細配線ステップとを含む自動配置配線方法において、 前記詳細配線後に発生した未配線の数とその場所である
座標とこの未配線の不足チャネル数との調査を行う未配
線調査ステップと、 前記LSIチップ内の前記未配線の箇所を通過するよう
に前記LSIチップのX軸又はY軸方向にこのLSIチ
ップの辺に平行な任意の線分を引きこの線分と交差する
チャネルの空きチャネル数の調査を行う空きチャネル数
調査ステップと、前 記未配線を除去するために必要なチャネル数を前記線
分と交差する前記空きチャネル数の合計と個々のエリア
の空きチャネルの比率で前記LSIチップの前記X軸又
は前記Y軸方向に配分する必要チャネル数の配分ステッ
プと、 移動すべきブロックの優先順位を決定する移動ブロック
の優先順位決定ステップと、 前記移動ブロックの再配置場所の優先順位を決定する再
配置場所の優先順位決定ステップと、 前記移動ブロックの優先順位決定ステップと前記再配置
場所の優先順位決定ステップとで決定した優先順位にし
たがい前記ブロックを再配置する再配置ステップと、 前記再配置の結果予め定めた配線条件に違反している配
線を引き剥がす配線条件違反ネット引き剥がしステップ
と、 前記未配線と前記配線条件違反ネット引き剥がしステッ
プによる引き剥がされたネットを再配置する未配線箇所
の再配線ステップとを含むことを特徴とする自動配置配
線方法。 - 【請求項2】 前記移動ブロックの優先順位決定ステッ
プが、未配線箇所を通過する線分を設定しこの線分が横
断する前記機能ブロックに対し前記未配線箇所からの距
離によってグループ分けし前記未配線箇所に近い順番に
優先順位を設定する第1の優先順位設ステップと、 前記線分が横断する前記機能ブロックに対して前記第1
の優先順位設定ステップで設定したグループ内でピンペ
ア数の小さい順番に優先順位を設定する第2の優先順位
設定ステップと、 前記第2の優先順位設定ステップでピンペア数が同数の
場合に前記線分とこの線分が横断する機能ブロックに対
して前記線分の前記横断長さの短い順番で優先順位を設
定する第3の優先順位設定ステップとを含むことを特徴
とする請求項1記載の自動配置配線方法。 - 【請求項3】 前記再配置場所の優先順位決定ステップ
が、前記移動ブロックの優先順位決定ステップで設定し
た前記未配線箇所を通過する線分上の空きチャネル領域
の各々毎に空きチャネル数とその位置を認識し、前記移
動ブロックの前記空きチャネル領域の各々への再配置の
優先順位をこの空きチャネル領域の前記未配線個所に近
い順番に設定する再配置優先順位設定ステップで決定す
ることを特徴とする請求項1記載の自動配置配線方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP9103093A JP3068492B2 (ja) | 1997-04-21 | 1997-04-21 | 自動配置配線方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP9103093A JP3068492B2 (ja) | 1997-04-21 | 1997-04-21 | 自動配置配線方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH10294376A JPH10294376A (ja) | 1998-11-04 |
JP3068492B2 true JP3068492B2 (ja) | 2000-07-24 |
Family
ID=14345029
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP9103093A Expired - Lifetime JP3068492B2 (ja) | 1997-04-21 | 1997-04-21 | 自動配置配線方法 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP3068492B2 (ja) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111709205B (zh) * | 2020-05-29 | 2023-05-16 | 成都华微电子科技股份有限公司 | Fpga布线方法 |
-
1997
- 1997-04-21 JP JP9103093A patent/JP3068492B2/ja not_active Expired - Lifetime
Also Published As
Publication number | Publication date |
---|---|
JPH10294376A (ja) | 1998-11-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP3564295B2 (ja) | セル配置装置及び方法並びにセル配置プログラムを記録したコンピュータ読取り可能な記録媒体 | |
US5623420A (en) | Method and apparatus to distribute spare cells within a standard cell region of an integrated circuit | |
Das et al. | Design tools for 3-D integrated circuits | |
US6378121B2 (en) | Automatic global routing device for efficiently determining optimum wiring route on integrated circuit and global routing method therefor | |
US6598206B2 (en) | Method and system of modifying integrated circuit power rails | |
JP3219500B2 (ja) | 自動配線方法 | |
US5224057A (en) | Arrangement method for logic cells in semiconductor IC device | |
US4890238A (en) | Method for physical VLSI-chip design | |
US5483461A (en) | Routing algorithm method for standard-cell and gate-array integrated circuit design | |
US4839821A (en) | Automatic cell-layout arranging method and apparatus for polycell logic LSI | |
US20100050140A1 (en) | Layout Method for a Chip | |
US6397375B1 (en) | Method for managing metal resources for over-the-block routing in integrated circuits | |
CN112949248A (zh) | 一种芯片顶层狭长通道的自动布线方法、装置及存储介质 | |
JP3068492B2 (ja) | 自動配置配線方法 | |
US6615401B1 (en) | Blocked net buffer insertion | |
US5825659A (en) | Method for local rip-up and reroute of signal paths in an IC design | |
JP3705737B2 (ja) | 半導体集積回路のレイアウト方法 | |
JP3548398B2 (ja) | 概略経路決定方法および概略経路決定方式 | |
CN112287631A (zh) | 电源金属线规划方法 | |
Donze et al. | PHILO-a VLSI design system | |
JP2735257B2 (ja) | 半導体集積回路装置の論理セルの配置方法 | |
JPH06349947A (ja) | 半導体集積回路装置のマスクパターン設計方法および設計装置 | |
JP3396874B2 (ja) | スタンダードセル方式の半導体集積回路設計装置 | |
JPH0945776A (ja) | 半導体論理集積回路のレイアウト設計法 | |
JPH05121546A (ja) | 半導体集積回路のレイアウト方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20000425 |