JP3766278B2 - Automatic placement and routing equipment - Google Patents

Automatic placement and routing equipment Download PDF

Info

Publication number
JP3766278B2
JP3766278B2 JP2001011390A JP2001011390A JP3766278B2 JP 3766278 B2 JP3766278 B2 JP 3766278B2 JP 2001011390 A JP2001011390 A JP 2001011390A JP 2001011390 A JP2001011390 A JP 2001011390A JP 3766278 B2 JP3766278 B2 JP 3766278B2
Authority
JP
Japan
Prior art keywords
wiring
block
placement
routing
path
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
JP2001011390A
Other languages
Japanese (ja)
Other versions
JP2002217299A (en
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 Ltd
Original Assignee
Fujitsu 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 Ltd filed Critical Fujitsu Ltd
Priority to JP2001011390A priority Critical patent/JP3766278B2/en
Publication of JP2002217299A publication Critical patent/JP2002217299A/en
Application granted granted Critical
Publication of JP3766278B2 publication Critical patent/JP3766278B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Landscapes

  • Design And Manufacture Of Integrated Circuits (AREA)

Description

【0001】
【発明の属する技術分野】
本発明はLSIの自動配置配線装置に係り、何度も手戻りの生じないように、短TAT(Turn Around Time)でタイミング制約を守ることのできるものに関する。
【0002】
【従来の技術】
最近ではLSIチップすなわちセルを基板上に位置決めするとき自動配置配線装置を使用して自動的に位置決め及び配線を行っている。ところで近年では回路の集積度の著しい向上により、従来の手法ではタイミング制約を守ることが難しく、何度も手戻りが起るためにTATが長くなるという問題が生じている。
【0003】
従来の一般的な自動配置配線方式では、図16に示す如く、基板上にセルを配置して概略配線、詳細配線を行い、それからタイミング解析つまり配線が長すぎて信号が所定時間以内に伝達されるか否かチェックし、タイミングが長すぎる場合は配置、配線を再度行っていた。
【0004】
すなわち従来の手法では、セルの位置を細かくきめる配置フェーズと、配線(概略の接続経路を決める概略配線、隣接ブロック間に接続線の通過できる本数や、三次元配線状態を決める詳細配線)フェーズに分かれ、配置が終了してから配線を行う。そして配線が完了してから公知のタイミング解析ツールによりタイミングを解析し、規定時間以内に信号が伝達されない状態となるタイミング制約を違反する場合つまり図16のタイミングNoのときは配置や配線をやり直すという手戻りが起る。
【0005】
最近のように、回路の集積度が向上し、配線遅延による回路のタイミングへの影響が支配的になっている。そのため、前記図16に示す場合では、配置配線の初期段階からタイミングを最適化することが必須となっている。
【0006】
配置フェーズでのタイミング最適化としては、指定されたネットや、配置途中の概略配線長からタイミングクリティカル即ち信号の遅延時間が規定時間を超えるものと判断したネットに対して、そのネットの端子が属するセルを近くに配置したり、ゲートサイジングやバッファ挿入などの処理を行う方法が一般的であった。
【0007】
また概略・詳細配線フェーズにおいても、タイミング制約を違反するタイミングクリティカル・ネットに対して遅延が最小になるようなトポロジーを生成すなわち接続関係を変更したり、バッファ挿入を行うなどの手法がとられている。
【0008】
【発明が解決しようとする課題】
ところで、前記図16に示す如き、従来の自動配置配線方式で、タイミングドリブン配置配線を行う場合、すなわち、タイミングを考慮して配置配線の方向性を決める場合、配置フェーズでは、正確な配線混雑度を見積ることができないため、配線フェーズで得られる経路と異なる経路を出力する場合がある。
【0009】
例えば図17に示す如く、端子T1 −T2 間に配線する場合、ブロック内ではRAMなどの制約により配線することのできない配線不能領域R1 、R2 、R3 が存在し、配線フェーズでは迂回が避けられないネットがある場合について、配置フェーズの概略配線で点線に示す如く、端子T1 −T2 間で最短経路LBを引いてしまうので、この最短経路LBはクリティカルネットとして認識されず、タイミング最適化は行われない。
【0010】
ところが配線フェーズでの経路は、図17の実線に示す経路LAとなり、迂回するため長くなる。もしこの経路LAがタイミング違反していれば、バッファ挿入などの手段が必要となるが、配置が完了していて、他の配線も存在するという制約でのバッファ挿入は難しい問題となり、配置まで手戻りが起きる場合がある。
【0011】
しかし配置フェーズにおいて、上記のようなネットをタイミングクリティカルなネットとして認識し、バッファ挿入を行えば、配線フェーズから配置フェーズでの手戻りを減らせる可能性がある。
【0012】
従って本発明の目的は、前記の如き問題点を改善するための自動配置配線装置を提供することである。
【0013】
【課題を解決するための手段】
本発明の原理図を図1に示す。図1において、1は自動配置配線手段、2はネットリスト、3は配置配線出力保持部、4は概略配置配線手段、5は詳細配置配線手段、6は切換手段である。
【0014】
本発明の前記目的は下記(1)〜(4)により達成することができる。
【0015】
(1)セルの配置にパーティショニングを用いる自動配置配線装置において、パーティショニング配置の各カットレベルでブロックに割り当てられたセルを高速な配置手法で仮配置する手段と、隣接ブロックとの境界を通過できる線分本数Ncを算出する手段と、ブロック内に置くことのできる所定長さ以上の線分数Nbを算出する手段と、前記所定長さ以上の線分数の平均長Lbを算出する手段と、前記境界を通過できる線分本数Ncと、所定長さ以上の線分数Nbと、平均長Lbにもとづき配線混雑度を算出する手段とを具備し、配線混雑度を見積り、概略配線を行うことを特徴とする。
【0016】
(2)セルの配置にパーティショニングを用いる自動配置配線装置において、パーティショニング配置の各カットレベルで、ネットの概略配線経路を保存する手段と、このネットの配線の接続関係を示す配線木を作成する手段と、この配線木の端子またはスタイナーポイントを結ぶ部分配線経路を得る手段と、各部分配線経路について、その配線経路が属していたブロックの領域内で現在のカットレべルでその端子と接続するように経路を配線し直す手段と、各セルをどのブロックに置くのかを決める手段とを有し、カットレベルを変更する指示を受信すると、現在のカットレベルで得られた配線経路を前のカットレベルの配線経路として保持する手段、前記変更内容に基づき次のカットレベルに変更する際に、保持していた前のレベルの配線経路をもとにして概略配線を行い、配線混雑度と、保持していた経路が通過したブロックの領域内を通る経路を保持するように概略配線経路を次のカットレベルに継承する手段、とから構成されることを特徴とする。
【0017】
(3)セルの配置にパーティショニングを用いる自動配置配線装置において、
パーティショニング配置の各カットレベルで、ネットの概略配線経路を保存する手段と、このネットの配線の接続関係を示す配線木を作成する手段と、この配線木の端子またはスタイナーポイントを結ぶ部分経路を得る手段と、各部分配線経路について、その配線経路が属していたブロックの領域内で現在のカットレベルでその端子と接続するように配線経路を配線し直す手段、タイミングクリティカル・ネットを検出する手段とを有し、カットレベルを変更する指示を受信すると、現在のカットレベルで得られた配線経路を前のカットレベルとして保持する手段、前記変更内容に基づき次のカットレベルに変更するとともに、前のカットレベルの配線結果からタイミングクリティカル・ネットを検出し、そのネットについて配線長を短くするように各セルをどのブロックに置くのか決めるとともに、タイミングクリティカル・ネットに対してはバッファを挿入し、パーティショニングの途中で回路のタイミングを考慮した概略配線経路を次のカットレベルに継承する手段、とから構成されることを特徴とする。
【0018】
(4)前記(2)において、概略配置配線を行いその配線結果を保持する手段と、詳細配線を行う手段を具備し、概略配置配線を行い、その配線結果を継承して詳細配線を行うことを特徴とする。
【0020】
これにより下記の作用効果を奏する。
【0021】
(1)隣接ブロックとの境界を通過できる線分本数Ncと、ブロック内に置くことのできる所定長さ以上の線分数Nbと、この所定長さ以上の線分数の平均長Lbにもとづき配線混雑度を求めてこれにもとづき概略配線を行うので、概略配線を精度よく行うことができる。
【0022】
(2)ネットの配線の接続関係を示す配線木を使用し、その接続関係を継承して部分経路を得るので、接続関係を正確に示すとともに、その端子がドライバであるのかを正確に認識できるので、タイミング制約の対処が正しくできる。
【0023】
(3)ブロックの分割レベルを+1したときパーティショニングの途中で前のレベルの配線経路をもとに、配線混雑度を考慮して概略配線を行うことができるので、配線混雑度の大きい領域を避けて概略配線経路を定めることができるので、配線手戻りを避けることができる。
【0024】
(4)前のレベルの配線結果からタイミングクリティカル・ネットを検出し、このネットについては配線長を短くするようにセルの位置を決めたり、バッファの挿入を行うことができるので、配線手戻りを避けることができる。
【0025】
(5)配線混雑度や前回の経路の属していたブロックの領域内に現在のレベルでの端子接続をもとにして概略配線し、詳細配線するので、配線手戻りを避けて、短時間で自動配置配線可能なものを提供することができる。
【0026】
【発明の実施の形態】
本発明の実施の形態を図1を参照し、図2〜図15にもとづき詳述する。図1は本発明の概略構成図、図2は本発明を適用した自動配置配線装置の動作説明図、図3は本発明の配線混雑度算出状態説明図、図4はブロックの境界を通過できる線分の本数説明図、図5は長さがL以上の線分が置かれる領域説明図、図6は配線混雑度を使用した配線状態説明図、図7は本発明の概略配線経路配線手順説明図、図8は本発明の概略配線経路手順の具体的説明図、図9は概略配線経路配線手順を使用した配線状態説明図、図10は本発明の概略配線経路継承手順説明図、図11は配線混雑度を考慮した概略配線経路継承作成状態説明図、図12は本発明のタイミングを考慮した概略配線経路継承手順説明図、図13はタイミング考慮概略配線経路継承作成状態説明図、図14は本発明の詳細配線手順説明図、図15は詳細配線作成状態説明図である。
【0027】
図1において、1は自動配置配線手段、2はネットリスト、3は配置配線出力保持部、4は概略配置配線手段、5は詳細配置配線手段、6は切換手段である。
【0028】
自動配置配線手段1はネットリスト2から入力されたセルサイズ、ブロックサイズ、セルの接続状態、タイミング制約情報等によりブロックに割り当てられたセルを高速な配置による仮配置したり、セルの配置やセル間の接続経路を概略配置したり、バッファを挿入したり、概略配置配線結果から詳細配線を行うものである。自動配置配線手段1は、概略配置配線手段4、詳細配置配線手段5、切換手段6等を具備し、プロセッサにより構成される。
【0029】
ネットリスト2は、基板サイズ、複数のセル毎の物理情報(縦・横のサイズ)、各セルの接続情報、電源やRAM等の配置位置の物理的制約情報、タイミング制約情報等のネットリスト情報を自動配置配線手段1に入力するものである。
【0030】
配置配線出力保持部3は、自動配置配線手段1から出力される詳細配線情報あるいは概略配置配線情報を保持するものである。
【0031】
概略配置配線手段4は、ネットリスト2から入力されたデータにもとづき配線混雑度を算出したり、概略配線経路を算出したり、配線混雑度を考慮した概略配線経路を次のカットレベルに継承したり、回路のタイミングを考慮した概略配線経路を次のカットレベルに継承したりするものである。
【0032】
詳細配置配線手段5は、概略配置配線経路にもとづき詳細配置配線を行うものである。
【0033】
切換手段6は、概略配置配線手段4の出力を、詳細配置配線手段5に出力するのか、配置配線出力保持部3に出力するのか選択切換するものである。
【0034】
図1に示す本発明の自動配置配線装置の動作を図2にもとづき他図を参照して詳述する。
【0035】
本発明の自動配置配線装置は、図2に示す如く、ネットリスト入力ステップ(SA)、配線混雑度算出ステップ(SB)、概略配線経路算出ステップ(SC)、パーティショニングの途中で配線混雑度を考慮した概略配線経路を次のカットレベルに継承するステップ(SD)、パーティショニングの途中で回路のタイミングを考慮した概略配線経路を次のカットレベルに継承するステップ(SE)、配置終了後、配置フェーズで得られた概略配線結果から詳細配線するステップ(SF)等の動作を行う。
【0036】
(1)配線混雑度算出ステップについて、
ネットリスト保持部2よりネットリストが入力される。概略配置手段4では、セルの配置で公知のパーティショニング手法を使用し、配置領域を2、4、8・・・と分割し、それぞれの分割フェーズつまりカットレベルで分割された各ブロックに置くセルを決定し、セルの詳細位置を決めるため、セルを仮配置する。
【0037】
仮配置の手法としては、タイミングの許す範囲で配置移動可能であるという配置制約は守るが最適化を緩めて高速に配置するパーティショニング配置する、例えばミニカット法を使用する。
【0038】
この高速な配置手法によりセルの仮配置が決定したら、配線層毎に各ブロックの配線混雑度を計算する。配線混雑度は次の4つの値の組で表す。
【0039】
▲1▼Nc1 :ブロックの境界(左あるいは上)を通過できる線分の本数
▲2▼Nc2 :ブロックの境界(右あるいは下)を通過できる線分の本数
▲3▼Nb :ブロック内に置ける長さL以上の線分数
▲4▼Lb :ブロック内に置ける長さL以上の線分の平均長
ただし各層で置ける線分の方向は水平/垂直のどちらか一方だけとする。
【0040】
図4に示す如く、配線混雑度を計算する対象となる着目ブロックをB0 とし、隣接ブロックをB1 、B2 とするとき、ブロックの境界からDの領域を見てその領域内で置ける線分数を、前記▲1▼、▲2▼のブロックの境界を通過できる線分の本数Nc1 、Nc2 とする。
【0041】
すなわち、ブロックB0 とB1 の境界には、セルC1 〜C5 、C6 〜C10が配置されており、これらの配置関係により得られる通過可能領域の大きさと通過できる線分の幅より、Nc1 =4となる。同様にNc2 =6となる。このようにして、ブロックB0 とB1 の間にはl1 〜l4 の配線線分を置くことが可能であり、ブロックB0 とB2 の間にはl5 〜l10の配線線分を置くことが可能であることがわかる。またブロックに例えば電源の如き配線不能の領域が存在する場合、当然のことながらこれを除いて通過可能領域を判断する。
【0042】
また図5に示す如く、ブロックB内にセルC1 〜C18が配置されているとき、このブロックBの中で長さL以上の線分l1 〜l12の置ける空き領域を求めて、これに置ける前記線分の数をカウントし、前記▲3▼のNbを求める。図5の例はNb=12である。
【0043】
また、このとき、線分l1 〜l12のそれぞれの長さを調べ、その平均を計算することにより前記▲4▼のLbを求めることができる。
【0044】
以上の4つの値を用いて、配線混雑度を考慮した概略配線(主にブロック間のこと)を行う。概略配線は、配線が混雑しているときには迂回経路も探せるように、迷路法、ラインサーチ法などの既知の配線手法を使用して行う。
【0045】
このとき前記Nc1 、Nc2 、Nb、Lbを用いて次のコスト計算を行う。
【0046】
A.ブロック間の線分を引くコスト
あるブロックから上下、または左右に隣接するブロックに長さl(英字の小文字のエル)の線分を引くコスト、例えば、右に隣接するブロックに水平で長さl(英字の小文字のエル)の線分を引くコストCbは下記の式により得られる。
【0047】
【数1】

Figure 0003766278
【0048】
ただし、Nc1 、Nb、Lbは右の隣接ブロックの値、α、βは定数、l(英字の小文字のエル)は概略配線のとき、実際に与えられる値である。
【0049】
ここでCb<0なら配線可能であり、絶対値が大きいほど配線コストは低い。一方Cb>0又はCb=0なら配線できないと判断する。
【0050】
B.ブロック内の線分を引くコスト
あるブロック内で長さl(英字の小文字のエル)の線分を引くコストCinは下記の式により得られる。
【0051】
【数2】
Figure 0003766278
【0052】
ただし、Nb、Lbはこのブロックの値、γは定数である。
【0053】
ここでCin<0なら配線可能であり、絶対値が大きいほど配線コストは低い。一方Cin>0又はCin=0なら配線できないと判断する。
【0054】
迷路法やラインサーチ法の中でこれらのコストを用いて、より配線コストの低い経路を決定する。
【0055】
図6は、図2の配線混雑度算出ステップ(SB)において、8分割されたブロックb0 〜b7 のブロックb1 、b5 、b3 に配置されたセルA、B、Cについて、セルA−B、セルB−C間に配線するとき、セルA−Bに点線で示す如く、最短距離で配線しようとしたとき、斜線領域で示す配線混雑度の高い領域がブロックb1 、b5 間に存在するため、実線の如く、配線した例を示す。セルB−C間の実線も配線混雑度の高い領域が、斜線領域で示す如く、ブロックb1 、b2 間に存在したことを考慮して実線の如く配線した例を示す。
【0056】
このように配置の初期の段階から、なるべく正確な配線混雑度を見積り、迂回が避けられないネットを予測できる。
【0057】
実際に、図3に示すフローにより、図1の自動配置配線手段1の動作状態を図2の配線混雑度算出ステップ(SB)について説明する。
【0058】
ネットリストとしては、前記の如く、セルサイズ、ブロックサイズ、セルの接続情報、タイミング制約情報等が入力される。これにより、セルがブロックに高速配置され、このセルの接続情報であるネット(セルAの端子Out、セルBの端子In)・・・の如く、接続関係が得られる。また配線経路Pとしてはこれを構成するセグメント(Seg)で示され、配線経路Pが複数のm本の線分で構成されているときは、
P={Seg1、Seg2・・・Segm}
の如く示される。
【0059】
S1.まずネットリスト2よりネットリストが入力される。
【0060】
S2.概略配置配線手段4では、これにより、例えばミニカット法によりブロックに割り当てられたセルを高速配置する。これにより前記セルの接続関係、配線経路P等が得られる。
【0061】
S3.概略配置配線手段4は、ネットi=0を選ぶ
S4.これによりネットi=0を構成する配線経路の候補P0 が選ばれ、P0 を構成する。
【0062】
S5.この配線経路P0 を構成するセグメントSeg0 が選ばれる。
【0063】
S6.このセグメントSeg0 の長さl(英字の小文字のエル)と、その通過ブロックbが抽出される。
【0064】
S7.この通過ブロックに対し、前記▲1▼のブロックの境界(左あるいは上)を通過できる線分本数Nc1 を算出する。
【0065】
S8.同じくこの通過ブロックに対し、前記▲2▼のブロックの境界(右あるいは下)を通過できる線分本数Nc2 を算出する。
【0066】
S9.次にこの通過ブロックに対し、前記▲3▼のブロック内に置ける長さL以上の線分数Nbを算出する。
【0067】
S10.そして前記▲4▼のこの通過ブロック内に置ける長さL以上の前記各線分の平均長Lbを算出する。
【0068】
S11.それから前記Nc1 、Nc2 、Nb、Lbを用い、
右に隣接するブロックに水平で長さl(英字の小文字のエル)の線分を引くコストCb0
【0069】
【数3】
Figure 0003766278
【0070】
で示され、
左に隣接するブロックに水平で長さl(英字の小文字のエル)の線分を引くコストCb1
【0071】
【数4】
Figure 0003766278
【0072】
で示される。
【0073】
S12.そして前記Cb0 、Cb1 がいずれも負であれば、配線可能であると判断する。そして次のS13に移行する。しかもその絶対値が大きい程配線コストは低い。しかし前記Cb0 、Cb1 の少なくとも一方が正または0であれば、その正または0のものに対しては配線できないと判断する。そして前記S4に戻り、他の配線経路の候補Pを選ぶことになる。
【0074】
S13.前記S12において、Cb0 、Cb1 がいずれも負であれば、両隣りのブロックに対し配線可能であると判断し、セグメントの番号を+1して次のセグメントを抽出する。
【0075】
S14.このように各セグメントに対して同様の処理を行う。そして1セグメントに対する処理が終了したとき、全セグメント(セグメント数=m)に対して処理を行ったか否かを判断する。全セグメントに対して処理が終了すれば、そのネットに対する処理が終了したものと判断し、次のネットを抽出する。
【0076】
S15.このようにして配線可能と判断されると、これにもとづきネットの配線が行われる。そして配線情報としてブロックに入るセルと、ネットτがどのブロックを通過するのかを示す配置、配線情報が得られる。
【0077】
S16.このようにして全ネットに対する処理が終了したか否か判断し、処理すべきネットが残っていれば前記S3に戻る。このようにして全ネットに対する処理が終了すれば、図2に示す配線混雑度算出ステップ(S13)が終了する。
【0078】
迷路法やラインサーチ法の中で前記のコストを用いてより配線コストの低い経路を決定することができる。
【0079】
(2)概略配線経路算出ステップについて
パーティショニング配置の各カットレベルで、セルの位置は割り当てられたブロックの中心にあると仮定して、前記の如く、前記(1)の配線混雑度算出ステップにより概略配線する。
【0080】
そしてこの経路を次のカットレベルまで保存する。次のカットレベルでは、前回よりもブロックが細かくなっており、セルの位置が違うので、概略経路を配線し直す必要がある。このとき保存していた経路を用いて次の手順で配線する。
【0081】
a.図8(A)で示す、保存していた前回のカットレベルでの経路を、同(B)に示す如く、ドライバ(図8の例ではAがドライバ)をルートとする配線木で見て、端子あるいはスタイナーポイント(S)間を結ぶ経路に分割する。
【0082】
b.前記aで求めた各経路について、その経路が属していた前回のカットレベルでのブロックの領域内で経路を引き直し、図8(C)に示す如き配線を行う。
【0083】
すなわち図8(A)に対してカットレベルを+1して各ブロックを2分割したとき、同(A)のブロックb1 は同(C)のブロックb11、b12に分割され、同様にブロックb2 はブロックb21、b22に、ブロックb5 はブロックb51、b52に、ブロックb7 はブロックb71、b72に、ブロックb8 はブロックb81、b82に分割される。
【0084】
このとき端子Aがドライバなので、これをルートとして、図8(B)に示す如き配線木を得る。なお図8(B)でSはスタイナーポイントである。そしてこの配線木で得られた各経路について、図8(C)に示す次のカットレベルのブロックに端子やスタイナーポイントの配置、配線経路等が引き直されるが、このとき前回のカットレベルのブロック内で、これらが行われる。
【0085】
すなわち、図8(A)に示す如く、前回のカットレベルでは端子Aはブロックb2 に位置し、端子Bはブロックb8 に位置していたので、この関係は継承され、次のカットレベルでは端子Aはブロックb21、b22のいずれかに位置され、同様に端子Bはブロックb81、b82のいずれかに位置されるものとなる。
【0086】
同様に、図8(A)に示すブロックb1 、b5 、b7 を通る配線は、ブロックb11、b12、b51、b52、b71、b72のいずれかを通過することになる。これらのブロック領域の継承や、最短距離の配線ということから、図8(C)の如く、端子A、Bとその間の配線が引き直されることになる。
【0087】
実際に動作するときは、図8(B)に示す配線木は出力されないので、図9(A)→(B)に示す如く、出力される。すなわち、図9(A)に示す如く、前回のカットレベルでは、部分経路A〜B、A〜S、S〜C、S〜Dが存在するが、次のカットレベルでは、この配線の接続関係を保つのみならず、ブロック関係も継承された新しい端子、配線の位置で、同(B)に示す如く、配線されることになる。
【0088】
次に図7に示すフローにより、図1の自動配置配線手段1の動作状態を、図2の概略配線経路算出ステップ(SC)について説明する。
【0089】
S21.最初にネット抽出用のカウンタを初期化し、カウント値を「0」にする。
【0090】
S22.そしてこれにより、前記図2の配線混雑度算出ステップにもとづき得られた概略配置配線情報の最初のネットを選ぶ、これにより例えば図8(A)に示す如き、概略配置配線図が得られ、これを保持する。
【0091】
S23.このようにして保持した前回のカットレベルの経路を、図8(B)に示す如く、そのネットのドライバ(この図の例では端子A)をルートとする配線木として復元する。
【0092】
S24.この配線木の端子A、B、C、DまたはスタイナーポイントSを結ぶ部分経路を、図8(B)の点線で示す如く得る。
【0093】
S25.各部分経路について、その経路が属していたブロックの領域内で、現在のレベルでの端子と接続するように経路を配線し直す。そして次のネットを選ぶ。
【0094】
S26.そして選ばれたネットに対し前記S23以下の処理が行われる。全ネットに対しこのような経路配線が行われたとき、このステップは終了する。
【0095】
(3)パーティショニングの途中で配線混雑度を考慮した概略配線経路を次のカットレベルに継承するステップについて
前記(1)、(2)を用いて、パーティショニングの各カットレベルで、配線混雑度を考慮した概略配線経路を次のカットレベルに継承させ自動配置配線を行う。
【0096】
図11は、図2のパーティショニングの途中で配線混雑度を考慮した概略配線経路を次のカットレベルに継承した実施例である。すなわち図11(A)に示す如く、ブロックb1 、b2 、b3 、b4 、b5 にセルA、C、B及び配線経路が位置するとき、図11(B)に示す如く、カットレベルを上げて2分割したとき、ブロックb52の配線混雑度が大きく、これを迂回することが必要と判断されると、セルAはブロックb1 に位置し、セルCはブロックb2 に位置し、セルBはブロックb3 に位置したこと、ブロックb1 はブロックb11、b12に、ブロックb2 はブロックb21、b22、ブロックb3 はブロックb31、b32に分割されたこと、及び配線経路がブロックb1 −b3 及びブロックb3 −b4 −b5 −b2 に位置したこと、ブロックb4 はブロックb41、b42に、ブロックb5 はブロックb51、b52に分割されたこと等が継承され、またブロックb52の配線混雑度が大きくこれを迂回することが必要なこと等が判断されて、図11(A)に示す概略配置配線が同(B)に示す状態となる。各セルの位置決めでも前記継承が行われる。
【0097】
次に図10に示すフローにより、図1の自動配置配線手段1の動作状態を、図2のパーティショニングの途中で配線混雑度を考慮した概略配線経路を次のカットレベルに継承するステップ(SD)について説明する。
【0098】
S31.例えば図11(A)に示す概略配置配線状態を保持しているとき、分割つまりカットレベルを1レベル進める。
【0099】
S32.各セル(又は端子)A、B、Cをどのブロックに置くのか決める。これによりセルAはブロックb12に、セルBはブロックb32に、セルCはブロックb22に位置決めされる。
【0100】
S33.ネット毎に、保持していた前のレベルの配線経路をもとに、概略配線を行い得られた経路を保持する。例えば初めセルA−B間の配線経路はブロックb1 −b3 であり、セルB−C間の経路はブロックb3 −b4 −b5 −b2 であったことをもとに、ブロックb1 がブロックb11、b12に分割されたこと、ブロックb2 がブロックb21、b22に分割されたこと、ブロックb3 ブロックb31、b32に分割されたこと、ブロックb4 がブロックb41、b42に分割されたこと、ブロックb5 がブロックb51、b52に分割されたことが継承される。この継承により元のブロックb1 の配線経路は分割後のブロックb11、b12の一方または双方を通過することが必要であり、ブロックb2 の配線経路はブロックb21、b22の一方または双方を通過するこが必要であり、ブロックb3 の配線経路はブロックb31、b32の一方または双方を通過するこが必要である。他のブロックについても同様である。またブロックb52においては配線混雑度が大きく、迂回が必要と判断される。この結果、図11(A)に対しては次のカットレベルで同(B)に示す概略配線経路が得られ、これが保持される。
【0101】
S34.このとき、規定の分割回数は終了していなかったので、再び前記S31に戻り、図11(B)に示す概略配線経路に対し、カットレベルが+1された同様の処理が行われ、図11(C)に示す概略配線経路が得られる。なお、図11(C)ではブロックb321 に大きな配線混雑度が存在したので、これを迂回した状態となる。このような処理があらかじめ規定された分割回数行われたのち終了となる。
【0102】
(4)パーティショニングの途中で回路のタイミングを考慮した概略配線経路を次のカットレベルに継承するステップについて、
前記(1)、(2)、(3)を用いて、パーティショニングの各カットレベルで回路のタイミングを考慮した概略配線経路を次のカットレベルに継承させて自動配置配線を行う。
【0103】
図13は、図2のパーティショニングの途中で回路のタイミングを考慮した概略配線経路を次のカットレベルに継承した実施例である。図13(A)はカットが8分割のときセル(端子)BからセルCへの経路が長くなり、配線遅延が大きくなりタイミング制約に違反するのでこれを防止するために同(B)に示す如く、バッファBFが挿入される。
【0104】
このバッファBFの挿入経路は、8分割以降のカットレベルでも、バッファBFとの接続関係を保つように概略配線される。図13(C)は32分割されたときの概略配線経路を示している。
【0105】
次に図12に示すフローにより、図1の自動配置配線手段1の動作状態を、図2のパーティショニングの途中で回路のタイミングを考慮した概略配線経路を次のカットレベルに継承するステップ(SE)について説明する。
【0106】
S41.分割を1レベル進める。
【0107】
S42.前のカットレベルで、ネットの長さによりタイミングクリティカルと認識されたネットの配線長が短くなるように、各セルを分割されたどのブロックに置くのか決める。
【0108】
S43.ネット毎に保持していた前のレベルの配線経路をもとに、概略配線を行い、得られた経路を保持する。
【0109】
S44.この得られた概略経路からタイミングのクリティカルなネットを認識し、タイミングのクリティカルなネットに対してはバッファを挿入する。
【0110】
S45.このとき規定の分割回数が終了しているか否かを判断し、終了していなければ前記S41に戻り、規定回数に達していれば終了する。
【0111】
(5)配置終了後、配置フェーズで得られた概略配置配線結果から詳細配線するステップについて
前記(1)、(2)、(3)、(4)を用いて得られた概略配置配線結果より詳細配線を行う。例えば図15(A)に示す如く、配置フェーズ終了時点で得られた概略配線に対し、例えば迷路法等の手法により詳細配線を行い、同(B)に示す如き、詳細配線経路を得るものである。
【0112】
次に図14に示すフローにより、図1の自動配置配線手段1の動作状態を、図2の配置終了後、配置フェーズで得られた概略配線結果から詳細配線を行うステップ(SF)について説明する。
【0113】
S51.前記(1)、(2)、(3)、(4)の手法によりセル(端子)を配置し、概略配線する。これにより、例えば図15(A)に示す如き概略配置配線経路が得られる。
【0114】
S52.次にこの概略配置配線経路に対し、例えば迷路法により詳細配線を行い、図15(B)に示す如き、詳細配線経路を得る。
【0115】
S53.それから各ネットに対してタイミング解析を行う。
【0116】
S54.タイミング解析の結果がタイミング制約を満たすものでなければ前記S51、S52に戻り概略配置配線あるいは詳細配線を再び行うことになる。そしてタイミング制約を満たすものであれば、本発明にかかる配置配線処理が終了する。
【0117】
このように本発明によれば、従来の方式でみられた配置フェーズで生成される配線パターンと、配線フェーズで生成される配線パターンが異なるために配置フェーズにおけるタイミング最適化が効率よく行われないという問題点が解決される。
【0118】
また配線経路を継承するために、最適化の方向が安定し、配置配線フローの収束性を高めることができる。
【0119】
本発明では、配置フェーズで行う概略配線において、仮配置を行うことにより混雑度の見積り精度を上げ、また配置初期段階の経路を継承することにより、実際の配線結果とより近いものになるようにする。また、配置の段階でクリティカルネットと認識した場合には、配置の工夫でクリティカルネットの配線長を短くするようにする。これらの処理により、従来方式で問題となっている、詳細配線後のタイミング解析から配線あるいは配置フェーズへの手戻りを減らすことができる。
【0120】
本発明の実施の態様を下記に付記する。
【0121】
(付記1)セルの配置にパーティショニングを用いる自動配置配線装置において、パーティショニング配置の各カットレベルでブロックに割り当てられたセルを高速な配置手法で仮配置する手段と、隣接ブロックとの境界を通過できる線分本数Ncを算出する手段と、ブロック内に置くことのできる所定長さ以上の線分数Nbを算出する手段と、前記所定長さ以上の線分数の平均長Lbを算出する手段と、前記境界を通過できる線分本数Ncと、所定長さ以上の線分数Nbと、平均長Lbにもとづき配線混雑度を算出する手段とを具備し、配線混雑度を見積り、概略配線を行うことを特徴とする。
【0122】
(付記2)セルの配置にパーティショニングを用いる自動配置配線装置において、パーティショニング配置の各レベルで、ネットの概略配線経路を保存する手段と、このネットの配線の接続関係を示す配線木を作成する手段と、この配線木の端子またはスタイナーポイントを結ぶ部分経路を得る手段と、各部分経路について、その経路が属していたブロックの領域内で現在のカットレべルでその端子と接続するように経路を配線し直す手段とを具備し、保存していた経路が通過したブロックの領域内で概略配線を行うことを特徴とする。
【0123】
(付記3)セルの配置にパーティショニングを用いる自動配置配線装置において、前の分割レベルで得られた経路を保持する手段と、分割レベルを+1する手段と、各セルをどのブロックに置くのかを決める手段を具備し、ネット毎に、保持していた前のレベルの配線経路をもとにして概略配線を行い、配線混雑度と、保持していた経路が通過したブロックの領域内を通る経路を保持することを特徴とする。
【0124】
(付記4)セルの配置にパーティショニングを用いる自動配置配線装置において、前の分割レベルで得られた経路を保持する手段と、タイミングクリティカル・ネットを検出する手段と、分割レベルを+1する手段と、前のレベルの配線結果からタイミングクリティカル・ネットを検出し、そのネットについて配線長を短くするように各セルをどのブロックに置くのか決めるとともに、タイミングクリティカル・ネットに対してはバッファを挿入する手段を具備し、ネット毎に、保持していた前のレベルの配線経路をもとに概略配線を行い、配線混雑度と、保持していた経路が通過したブロックの領域内を通る経路を保持することを特徴とする。
【0125】
(付記5)前記(付記3)において、概略配置配線を行いその配線結果を保持する手段と、詳細配線を行う手段を具備し、概略配置配線を行い、その配線結果を継承して詳細配線を行うことを特徴とする。
【0126】
(付記6)前記(付記3)、(付記4)により概略配置配線を行いその結果を保持する手段と、詳細配線を行う手段を具備し、この概略配置配線を継承して詳細配線を行うことを特徴とする。
【0127】
【発明の効果】
本発明により、下記の効果を奏することができる。
【0128】
(1)隣接ブロックとの境界を通過できる線分本数Ncと、ブロック内に置くことのできる所定長さ以上の線分数Nbと、この所定長さ以上の線分数の平均長Lbにもとづき配線混雑度を求めてこれにもとづき概略配線を行うので、概略配線を精度よく行うことができる。
【0129】
(2)ネットの配線の接続関係を示す配線木を使用し、その接続関係を継承して部分経路を得るので、接続関係を正確に示すとともに、その端子がドライバであるのかを正確に認識できるので、タイミング制約の対処が正しくできる。
【0130】
(3)ブロックの分割レベルを+1したときパーティショニングの途中で前のレベルの配線経路をもとに、配線混雑度を考慮して概略配線を行うことができるので、配線混雑度の大きい領域を避けて概略配線経路を定めることができるので、配線手戻りを避けることができる。
【0131】
(4)前のレベルの配線結果からタイミングクリティカル・ネットを検出し、このネットについては配線長を短くするようにセルの位置を決めたり、バッファの挿入を行うことができるので、配線手戻りを避けることができる。
【0132】
(5)配線混雑度や前回の経路の属していたブロックの領域内に現在のレベルでの端子接続をもとにして概略配線し、詳細配線するので、配線手戻りを避けて、短時間で自動配置配線可能なものを提供することができる。
【図面の簡単な説明】
【図1】本発明の概略構成図である。
【図2】本発明を適用した自動配置配線装置の動作説明図である。
【図3】本発明の配線混雑度算出状態説明図である。
【図4】ブロックの境界を通過できる線分の本数説明図である。
【図5】長さL以上の線分が置かれる領域説明図である。
【図6】配線混雑度を使用した配線状態説明図である。
【図7】本発明の概略配線経路配線手順説明図である。
【図8】概略配線経路手順の具体的説明図である。
【図9】概略配線経路配線手順を使用した配線状態説明図である。
【図10】本発明の概略配線経路継承手順説明図である。
【図11】配線混雑度を考慮した概略配線経路継承作成状態説明図である。
【図12】本発明のタイミングを考慮した概略配線経路継承手順説明図である。
【図13】タイミング考慮概略配線経路継承作成状態説明図である。
【図14】詳細配線手順説明図である。
【図15】詳細配線作成状態説明図である。
【図16】従来の自動配置配線方式説明図である。
【図17】迂回発生状態説明図である。
【符号の説明】
1 自動配置配線手段
2 ネットリスト
3 配置配線出力保持部
4 概略配置配線手段
5 詳細配置配線手段
6 切換手段[0001]
BACKGROUND OF THE INVENTION
The present invention relates to an LSI automatic placement and routing apparatus, and more particularly, to an apparatus capable of keeping timing constraints with a short TAT (Turn Around Time) so that rework does not occur many times.
[0002]
[Prior art]
Recently, when an LSI chip, that is, a cell is positioned on a substrate, the automatic placement and routing apparatus is used for automatic positioning and wiring. By the way, in recent years, due to a remarkable improvement in the degree of circuit integration, it is difficult to keep the timing constraint with the conventional method, and there is a problem that TAT becomes long because rework occurs many times.
[0003]
In the conventional general automatic placement and routing method, as shown in FIG. 16, the cells are arranged on the substrate for rough wiring and detailed wiring, and then the timing analysis, that is, the wiring is too long and the signal is transmitted within a predetermined time. If the timing is too long, placement and wiring were performed again.
[0004]
In other words, in the conventional method, there are a placement phase in which the cell positions are finely divided and a wiring (schematic wiring that determines the approximate connection route, the number of connection lines that can pass between adjacent blocks, and detailed wiring that determines the three-dimensional wiring state) phase. Wiring is done after separation and placement. Then, after the wiring is completed, the timing is analyzed by a known timing analysis tool, and when the timing constraint that the signal is not transmitted within the specified time is violated, that is, when the timing No in FIG. Rework occurs.
[0005]
As recently, the degree of circuit integration has improved, and the influence of circuit delay on circuit timing has become dominant. Therefore, in the case shown in FIG. 16, it is essential to optimize the timing from the initial stage of placement and routing.
[0006]
The timing optimization in the placement phase is that the terminal of the net belongs to the specified net or a net that is determined to be timing critical, that is, the signal delay time exceeds the specified time from the approximate wiring length during placement. A common method is to place cells close to each other or perform processing such as gate sizing or buffer insertion.
[0007]
Also, in the rough / detailed routing phase, techniques such as creating a topology that minimizes the delay for timing critical nets that violate timing constraints, that is, changing the connection relationship or inserting a buffer are used. Yes.
[0008]
[Problems to be solved by the invention]
By the way, as shown in FIG. 16, in the case where timing driven placement and routing is performed by the conventional automatic placement and routing method, that is, when the direction of placement and routing is determined in consideration of timing, in the placement phase, an accurate wiring congestion degree is obtained. Therefore, a route different from the route obtained in the wiring phase may be output.
[0009]
For example, as shown in FIG.1-T2In the case of wiring between them, a non-routable area R that cannot be wired due to restrictions such as RAM in the block.1, R2, RThreeWhen there is a net that cannot be avoided in the routing phase, as shown by the dotted line in the schematic routing in the placement phase, the terminal T1-T2Since the shortest path LB is drawn between them, the shortest path LB is not recognized as a critical net, and timing optimization is not performed.
[0010]
However, the route in the wiring phase is a route LA indicated by a solid line in FIG. If this route LA violates the timing, means such as buffer insertion are required, but buffer insertion becomes a difficult problem due to the restriction that the placement is complete and other wirings exist, and the placement is difficult. A return may occur.
[0011]
However, if the above-described net is recognized as a timing critical net in the placement phase and a buffer is inserted, there is a possibility that rework in the placement phase can be reduced from the wiring phase.
[0012]
Accordingly, an object of the present invention is to provide an automatic placement and routing apparatus for improving the above problems.
[0013]
[Means for Solving the Problems]
A principle diagram of the present invention is shown in FIG. In FIG. 1, 1 is an automatic placement and routing unit, 2 is a net list, 3 is a placement and routing output holding unit, 4 is a schematic placement and routing unit, 5 is a detailed placement and routing unit, and 6 is a switching unit.
[0014]
  The object of the present invention is as follows (1) to(4)Can be achieved.
[0015]
(1) In an automatic placement and routing apparatus that uses partitioning for cell placement, the cells assigned to the blocks at each cut level of partitioning placement are temporarily placed by means of a high-speed placement method and the boundary between adjacent blocks. Means for calculating the number of line segments Nc, means for calculating the number of line segments Nb greater than or equal to a predetermined length that can be placed in the block, means for calculating the average length Lb of the number of line segments greater than or equal to the predetermined length, A line segment number Nc that can pass through the boundary, a line segment number Nb that is equal to or longer than a predetermined length, and a means for calculating a wiring congestion degree based on the average length Lb are provided, and the wiring congestion degree is estimated and rough wiring is performed. Features.
[0016]
  (2) In an automatic placement and routing apparatus that uses partitioning for cell placement, a means for preserving the net wiring route at each cut level of the partitioning placement and a wiring tree indicating the connection relation of the net wiring are created. Means for obtaining a partial wiring path connecting terminals or Steiner points of this wiring tree, and for each partial wiring path,Wiring pathMeans to reroute the path to connect to its terminal at the current cut level within the area of the block to whichMeans for determining in which block each cell is placed, and upon receiving an instruction to change the cut level, means for holding the wiring path obtained at the current cut level as the wiring path of the previous cut level, When changing to the next cut level based on the contents of the change, rough wiring is performed based on the previous level wiring route that has been held, the wiring congestion degree, and the block area that the held route has passed And means for inheriting the general wiring path to the next cut level so as to hold the path passing through the inside.
[0017]
  (3) In an automatic placement and routing apparatus that uses partitioning for cell placement,
  At each cut level of the partitioning arrangement, a means for storing the schematic wiring path of the net, a means for creating a wiring tree indicating the connection relation of the wiring of the net, and a partial path connecting the terminals or Steiner points of the wiring tree are provided. Means for obtaining, for each partial wiring path, means for re-wiring the wiring path so as to connect to the terminal at the current cut level within the area of the block to which the wiring path belonged, means for detecting the timing critical net When the instruction to change the cut level is received, the means for holding the wiring route obtained at the current cut level as the previous cut level, the next cut level is changed based on the change contents, and the previous The timing critical net is detected from the result of routing at the cut level and the wiring length is shortened for that net. To determine which block each cell is placed in, and to insert a buffer for the timing critical net, and to inherit the rough wiring path considering the circuit timing during the partitioning to the next cut level, It is comprised from these.
[0018]
  (4)In the above (2), characterized in that it comprises means for carrying out schematic arrangement and holding the result of wiring and means for carrying out detailed wiring, performing schematic arrangement and wiring, and performing detailed wiring by inheriting the wiring result. To do.
[0020]
As a result, the following effects can be obtained.
[0021]
(1) Congestion of wiring based on the number Nc of line segments that can pass through the boundary with an adjacent block, the number of line segments Nb that is greater than or equal to a predetermined length that can be placed in the block, and the average length Lb of the number of line segments that are greater than or equal to this predetermined length Since the degree is determined and the rough wiring is performed based on this, the rough wiring can be performed with high accuracy.
[0022]
(2) Since a partial route is obtained by using a wiring tree indicating the connection relation of the net wiring and inheriting the connection relation, it is possible to accurately indicate the connection relation and accurately recognize whether the terminal is a driver. Therefore, timing constraints can be dealt with correctly.
[0023]
(3) When the division level of the block is incremented by 1, rough wiring can be performed in consideration of the wiring congestion degree based on the wiring path of the previous level in the middle of the partitioning. By avoiding this, it is possible to determine a schematic wiring route, so that wiring rework can be avoided.
[0024]
(4) The timing critical net is detected from the previous level wiring result, and the cell position and buffer insertion can be performed for this net so as to shorten the wiring length. Can be avoided.
[0025]
(5) Wiring is performed roughly in the block area to which the previous route belonged based on the current level terminal connection, and detailed wiring is performed. What can be automatically placed and routed can be provided.
[0026]
DETAILED DESCRIPTION OF THE INVENTION
An embodiment of the present invention will be described in detail with reference to FIG. 1 and based on FIGS. 1 is a schematic configuration diagram of the present invention, FIG. 2 is an operation explanatory diagram of an automatic placement and routing apparatus to which the present invention is applied, FIG. 3 is an explanatory diagram of a wiring congestion degree calculation state of the present invention, and FIG. 4 can pass through a block boundary. FIG. 5 is an explanatory diagram of a region where a line segment having a length of L or more is placed, FIG. 6 is an explanatory diagram of a wiring state using the wiring congestion degree, and FIG. 7 is a schematic wiring route wiring procedure of the present invention. FIG. 8 is a specific explanatory diagram of the schematic wiring route procedure of the present invention, FIG. 9 is an explanatory diagram of the wiring state using the schematic wiring route wiring procedure, and FIG. 10 is an explanatory diagram of the schematic wiring route inheritance procedure of the present invention, FIG. 11 is an explanatory diagram of a schematic wiring route inheritance creation state in consideration of the degree of wiring congestion, FIG. 12 is an explanatory diagram of a schematic wiring route inheritance procedure in consideration of the timing of the present invention, and FIG. 14 is an explanatory diagram of the detailed wiring procedure of the present invention, and FIG. It is a line created state illustration.
[0027]
In FIG. 1, 1 is an automatic placement and routing unit, 2 is a net list, 3 is a placement and routing output holding unit, 4 is a schematic placement and routing unit, 5 is a detailed placement and routing unit, and 6 is a switching unit.
[0028]
The automatic placement and routing means 1 temporarily arranges cells assigned to a block according to the cell size, block size, cell connection state, timing constraint information, etc. input from the netlist 2, The connection path between the two is roughly arranged, a buffer is inserted, and detailed wiring is performed from the result of the roughly arranged wiring. The automatic placement and routing unit 1 includes a schematic placement and routing unit 4, a detailed placement and routing unit 5, a switching unit 6 and the like, and is configured by a processor.
[0029]
The netlist 2 is netlist information such as substrate size, physical information for each of a plurality of cells (vertical / horizontal size), connection information of each cell, physical constraint information of an arrangement position of a power supply or a RAM, timing constraint information, etc. Is input to the automatic placement and routing means 1.
[0030]
The placement and routing output holding unit 3 holds detailed wiring information or schematic placement and routing information output from the automatic placement and routing means 1.
[0031]
The rough placement and routing unit 4 calculates the wiring congestion level based on the data input from the net list 2, calculates the rough wiring route, and inherits the rough wiring route considering the wiring congestion level to the next cut level. In addition, a schematic wiring path considering circuit timing is inherited to the next cut level.
[0032]
The detailed placement and routing means 5 performs detailed placement and routing based on the schematic placement and routing path.
[0033]
The switching means 6 selectively switches whether the output of the general placement and routing means 4 is output to the detailed placement and routing means 5 or to the placement and routing output holding unit 3.
[0034]
The operation of the automatic placement and routing apparatus of the present invention shown in FIG. 1 will be described in detail with reference to FIG.
[0035]
As shown in FIG. 2, the automatic placement and routing apparatus of the present invention is configured so that the net list input step (SA), the wiring congestion degree calculating step (SB), the rough wiring route calculating step (SC), and the wiring congestion degree during the partitioning. A step (SD) of inheriting the considered schematic wiring path to the next cut level (SD), a step of inheriting the schematic wiring path considering the circuit timing during the partitioning to the next cut level (SE), and the placement after the placement An operation such as a step (SF) of performing detailed wiring from the rough wiring result obtained in the phase is performed.
[0036]
(1) About the wiring congestion degree calculation step
A net list is input from the net list holding unit 2. The rough placement means 4 uses a well-known partitioning technique for the placement of cells, divides the placement area into 2, 4, 8,..., And places the cells in each block divided at each division phase, that is, at the cut level. In order to determine the detailed position of the cell, the cell is temporarily arranged.
[0037]
As a temporary placement method, for example, a mini-cut method is used in which partitioning placement is performed such that placement is possible within the range permitted by the timing, but the optimization is relaxed and placement is performed at high speed.
[0038]
When the temporary placement of cells is determined by this high-speed placement method, the wiring congestion degree of each block is calculated for each wiring layer. The wiring congestion degree is represented by a set of the following four values.
[0039]
▲ 1 ▼ Nc1: Number of line segments that can pass through the block boundary (left or top)
(2) Nc2: Number of line segments that can pass through the block boundary (right or bottom)
(3) Nb: Number of line segments longer than length L that can be placed in the block
(4) Lb: Average length of a line segment of length L or more that can be placed in the block
However, the direction of the line segments that can be placed on each layer is either horizontal or vertical.
[0040]
As shown in FIG. 4, the target block for which the degree of wiring congestion is calculated is B0And the adjacent block is B1, B2When the area D is viewed from the boundary of the block, the number of line segments that can be placed in the area is the number Nc of line segments that can pass through the boundary of the blocks (1) and (2).1, Nc2And
[0041]
That is, block B0And B1At the boundary of cell C1~ CFive, C6~ CTenNc is calculated from the size of the passable area obtained by these arrangement relations and the width of the line segment that can pass through.1= 4. Similarly Nc2= 6. In this way, block B0And B1In between1~ LFourIt is possible to place a wire segment of the block B0And B2In betweenFive~ LTenIt can be seen that it is possible to place the wiring line segments. Further, if there is a non-wiring area such as a power source in the block, the passable area is determined by excluding this area.
[0042]
In addition, as shown in FIG.1~ C18Is placed in this block B, the line segment l of length L or more1~ L12Is determined, and the number of the line segments that can be placed thereon is counted to obtain Nb of (3). In the example of FIG. 5, Nb = 12.
[0043]
At this time, line segment l1~ L12By examining the respective lengths of these and calculating the average thereof, Lb of (4) can be obtained.
[0044]
Using the above four values, rough wiring (mainly between blocks) is performed in consideration of wiring congestion. The rough wiring is performed using a known wiring method such as a maze method or a line search method so that a detour route can be searched when the wiring is congested.
[0045]
At this time, the Nc1, Nc2, Nb, and Lb are used to calculate the next cost.
[0046]
A. Cost of drawing line segments between blocks
The cost of drawing a line segment of length l (lowercase letter L) from one block to the adjacent block on the top and bottom or left and right, for example, horizontally to the right adjacent block of length l (letter of lowercase letter L) The cost Cb for drawing a line segment is obtained by the following equation.
[0047]
[Expression 1]
Figure 0003766278
[0048]
However, Nc1, Nb, and Lb are values of the adjacent block on the right, α and β are constants, and l (a letter L in English letters) is a value that is actually given for rough wiring.
[0049]
If Cb <0, wiring is possible, and the larger the absolute value, the lower the wiring cost. On the other hand, if Cb> 0 or Cb = 0, it is determined that wiring is impossible.
[0050]
B. The cost of drawing a line segment in a block
A cost Cin for drawing a line segment having a length l (a lowercase letter L) in a certain block is obtained by the following equation.
[0051]
[Expression 2]
Figure 0003766278
[0052]
However, Nb and Lb are values of this block, and γ is a constant.
[0053]
If Cin <0, wiring is possible, and the larger the absolute value, the lower the wiring cost. On the other hand, if Cin> 0 or Cin = 0, it is determined that wiring is impossible.
[0054]
Using these costs in the maze method and the line search method, a route with a lower wiring cost is determined.
[0055]
FIG. 6 shows the block b divided into eight in the wiring congestion degree calculation step (SB) of FIG.0~ B7Block b1, BFive, BThreeWhen the cells A, B, and C arranged in the cell A-B and the cell B-C are wired between the cells A-B and B-C, as shown by the dotted line, the cells A-B are shown by hatched areas when trying to wire at the shortest distance. Area with high wiring congestion is block b1, BFiveAn example of wiring is shown as a solid line because it exists in between. As shown by the hatched area, the solid line between the cells B and C has a high wiring congestion area.1, B2An example of wiring as shown by a solid line in consideration of the existence between them is shown.
[0056]
In this way, it is possible to estimate the degree of wiring congestion as accurate as possible from the initial stage of placement and predict a net that cannot be avoided.
[0057]
Actually, the operation state of the automatic placement and routing means 1 of FIG. 1 will be described with reference to the flow shown in FIG. 3 in the wiring congestion degree calculation step (SB) of FIG.
[0058]
As described above, the cell size, block size, cell connection information, timing constraint information, and the like are input as the net list. As a result, the cells are arranged at high speed in the block, and a connection relationship is obtained like a net (terminal Out of cell A, terminal In of cell B)... The wiring path P is indicated by a segment (Seg) constituting the wiring path P. When the wiring path P is configured by a plurality of m line segments,
P = {Seg1, Seg2,... Segm}
It is shown as follows.
[0059]
S1. First, a net list is input from net list 2.
[0060]
S2. In this way, the rough placement and routing unit 4 places the cells assigned to the blocks at a high speed by, for example, the mini-cut method. Thereby, the connection relation of the cells, the wiring path P, and the like are obtained.
[0061]
S3. The rough placement and routing unit 4 selects the net i = 0.
S4. As a result, the candidate P of the wiring path constituting the net i = 00Is selected and P0Configure.
[0062]
S5. This wiring path P0Segment Seg that composes0Is selected.
[0063]
S6. This segment Seg0And the passage block b is extracted.
[0064]
S7. The number Nc of line segments that can pass through the boundary (left or top) of the block (1) with respect to this passing block1Is calculated.
[0065]
S8. Similarly, for this passing block, the number Nc of line segments that can pass through the block boundary (right or bottom) of (2) above.2Is calculated.
[0066]
S9. Next, for this passing block, a line segment number Nb having a length L or more that can be placed in the block (3) is calculated.
[0067]
S10. Then, the average length Lb of each line segment that is not less than the length L that can be placed in this passing block of (4) is calculated.
[0068]
S11. Then said Nc1, Nc2, Nb, Lb,
Cost Cb for drawing a line segment of length l (English letter lowercase el) horizontally on the right adjacent block0Is
[0069]
[Equation 3]
Figure 0003766278
[0070]
Indicated by
Cost Cb for drawing a horizontal line segment of length l (English letter lower case el) to the block on the left1Is
[0071]
[Expression 4]
Figure 0003766278
[0072]
Indicated by
[0073]
S12. And Cb0, Cb1If both are negative, it is determined that wiring is possible. Then, the process proceeds to next S13. Moreover, the larger the absolute value, the lower the wiring cost. But the Cb0, Cb1If at least one of these is positive or 0, it is determined that wiring is not possible for that positive or 0. Then, returning to S4, another wiring route candidate P is selected.
[0074]
S13. In S12, Cb0, Cb1If both are negative, it is determined that wiring is possible for both adjacent blocks, and the segment number is incremented by 1 to extract the next segment.
[0075]
S14. In this way, the same processing is performed for each segment. When processing for one segment is completed, it is determined whether or not processing has been performed for all segments (number of segments = m). If the processing is completed for all the segments, it is determined that the processing for the net has been completed, and the next net is extracted.
[0076]
S15. When it is determined that wiring is possible in this way, net wiring is performed based on this. Then, as the wiring information, the arrangement and wiring information indicating the cells entering the block and the block through which the net τ passes are obtained.
[0077]
S16. In this way, it is determined whether or not the processing for all nets has been completed. If there are any nets to be processed, the process returns to S3. When the processing for all nets is completed in this way, the wiring congestion degree calculating step (S13) shown in FIG. 2 is completed.
[0078]
In the maze method or the line search method, a route having a lower wiring cost can be determined by using the cost.
[0079]
(2) About rough wiring route calculation step
Assuming that the cell position is at the center of the assigned block at each cut level of the partitioning arrangement, the wiring is roughly performed by the wiring congestion degree calculating step (1) as described above.
[0080]
This route is then saved to the next cut level. At the next cut level, the block is finer than the previous one, and the position of the cell is different. Therefore, it is necessary to reroute the rough route. Wiring is performed in the following procedure using the route saved at this time.
[0081]
a. As shown in FIG. 8B, the route at the previous cut level stored in FIG. 8A is viewed with a wiring tree rooted at the driver (A in the example of FIG. 8). Divide into routes connecting terminals or Steiner points (S).
[0082]
b. For each route obtained in a, the route is redrawn within the block area at the previous cut level to which the route belonged, and wiring as shown in FIG. 8C is performed.
[0083]
That is, when each block is divided into two by adding +1 to the cut level with respect to FIG. 8A, the block b of FIG.1Is the block b of (C)11, B12And block b as well2Is block btwenty one, Btwenty twoAnd block bFiveIs block b51, B52And block b7Is block b71, B72And block b8Is block b81, B82It is divided into.
[0084]
At this time, since the terminal A is a driver, a wiring tree as shown in FIG. In FIG. 8B, S is a Steiner point. Then, for each path obtained by this wiring tree, the arrangement of terminals and Steiner points, the wiring path, etc. are redrawn to the next cut level block shown in FIG. 8C. These are done within.
[0085]
That is, as shown in FIG. 8A, the terminal A is in the block b at the previous cut level.2And terminal B is in block b8This relationship is inherited because the terminal A is in the block b at the next cut level.twenty one, Btwenty twoSimilarly, the terminal B is connected to the block b.81, B82It will be located in either.
[0086]
Similarly, the block b shown in FIG.1, BFive, B7The wiring that passes through the block b11, B12, B51, B52, B71, B72Will pass either. Since these block areas are inherited and the wiring is the shortest distance, the terminals A and B and the wiring between them are redrawn as shown in FIG.
[0087]
When actually operating, since the wiring tree shown in FIG. 8B is not output, it is output as shown in FIGS. 9A to 9B. That is, as shown in FIG. 9A, partial paths A to B, A to S, S to C, and S to D exist at the previous cut level, but this wiring connection relation at the next cut level. As shown in FIG. 5B, wiring is performed at the position of the new terminal and wiring inheriting the block relationship.
[0088]
Next, the operation state of the automatic placement and routing unit 1 shown in FIG. 1 will be described with reference to the flow shown in FIG. 7 in the schematic wiring path calculation step (SC) shown in FIG.
[0089]
S21. First, a net extraction counter is initialized and the count value is set to “0”.
[0090]
S22. Then, the first net of the schematic layout and wiring information obtained based on the wiring congestion degree calculation step of FIG. 2 is selected, thereby obtaining a schematic layout and wiring diagram as shown in FIG. Hold.
[0091]
S23. As shown in FIG. 8B, the previous cut level path held in this way is restored as a wiring tree whose root is the driver of the net (terminal A in this example).
[0092]
S24. A partial path connecting the terminals A, B, C, D or Steiner point S of the wiring tree is obtained as shown by the dotted line in FIG.
[0093]
S25. For each partial path, reroute the path to connect to the terminal at the current level within the area of the block to which the path belonged. Then select the next net.
[0094]
S26. Then, the processing from S23 onward is performed on the selected net. When such route wiring is performed for all nets, this step ends.
[0095]
(3) About the step of inheriting the rough wiring route considering the degree of wiring congestion during the partitioning to the next cut level
Using the above (1) and (2), at each cut level of partitioning, the automatic wiring is performed by inheriting the rough wiring route considering the wiring congestion degree to the next cut level.
[0096]
FIG. 11 shows an embodiment in which the schematic wiring path considering the wiring congestion degree is inherited to the next cut level during the partitioning of FIG. That is, as shown in FIG.1, B2, BThree, BFour, BFiveWhen the cells A, C, B and the wiring path are located in the block b, when the cut level is increased and divided into two as shown in FIG.52If it is determined that it is necessary to bypass this, the cell A is in block b.1Cell C is in block b2Cell B is in block bThreeLocated in block b1Is block b11, B12And block b2Is block btwenty one, Btwenty two, Block bThreeIs block b31, B32And the wiring route is block b.1-BThreeAnd block bThree-BFour-BFive-B2Located in block bFourIs block b41, B42And block bFiveIs block b51, B52Is inherited, and block b52It is determined that the degree of wiring congestion is large and it is necessary to bypass this, and the schematic layout wiring shown in FIG. 11A is in the state shown in FIG. The inheritance is also performed in positioning of each cell.
[0097]
Next, according to the flow shown in FIG. 10, the operation state of the automatic placement and routing unit 1 in FIG. ).
[0098]
S31. For example, when the schematic arrangement and wiring state shown in FIG. 11A is maintained, the division, that is, the cut level is advanced by one level.
[0099]
S32. Decide on which block each cell (or terminal) A, B, C is to be placed. This causes cell A to block b12Cell B is block b32Cell C is block btwenty twoIs positioned.
[0100]
S33. For each net, a route obtained by performing rough wiring is held based on the previous level wiring route held. For example, the wiring path between the cells A and B is initially a block b.1-BThreeAnd the path between cells B-C is block bThree-BFour-BFive-B2Based on what was, block b1Is block b11, B12Divided into blocks b2Is block btwenty one, Btwenty twoDivided into blocks bThreeBlock b31, B32Divided into blocks bFourIs block b41, B42Divided into blocks bFiveIs block b51, B52It is inherited that it was divided. By this inheritance, the original block b1The wiring path of the block b after the division11, B12Pass through one or both of the blocks b2The wiring route is block btwenty one, Btwenty twoMust pass through one or both of the blocks bThreeThe wiring route is block b31, B32Of one or both of them. The same applies to the other blocks. Block b52In, the degree of wiring congestion is large and it is determined that detouring is necessary. As a result, the schematic wiring path shown in FIG. 11B is obtained at the next cut level with respect to FIG.
[0101]
S34. At this time, since the prescribed number of divisions has not ended, the process returns to S31 again, and the same processing in which the cut level is incremented by 1 is performed on the schematic wiring path shown in FIG. 11B. The schematic wiring path shown in C) is obtained. In FIG. 11C, block b321Since there is a large degree of wiring congestion, the state is bypassed. After such a process is performed a predetermined number of divisions, the process ends.
[0102]
(4) Regarding the step of inheriting the schematic wiring path considering the circuit timing during the partitioning to the next cut level,
Using the above (1), (2), and (3), automatic placement and routing is performed by inheriting a schematic wiring path in consideration of circuit timing at each cut level of partitioning to the next cut level.
[0103]
FIG. 13 shows an embodiment in which the schematic wiring path considering the circuit timing is inherited to the next cut level during the partitioning of FIG. FIG. 13 (A) shows the path from the cell (terminal) B to the cell C when the cut is divided into eight, and the wiring delay becomes large and the timing constraint is violated. Thus, the buffer BF is inserted.
[0104]
The insertion path of the buffer BF is roughly wired so as to maintain the connection relationship with the buffer BF even at cut levels of 8 divisions or later. FIG. 13C shows a schematic wiring path when divided into 32 parts.
[0105]
Next, according to the flow shown in FIG. 12, the operation state of the automatic placement and routing means 1 in FIG. 1 is transferred to the next cut level (SE) in which the schematic wiring path taking the circuit timing into consideration during the partitioning in FIG. ).
[0106]
S41. Advance the division one level.
[0107]
S42. In the previous cut level, it is determined in which block each cell is placed so that the wiring length of the net recognized as timing critical is shortened by the length of the net.
[0108]
S43. Schematic wiring is performed based on the previous level wiring route held for each net, and the obtained route is held.
[0109]
S44. A timing critical net is recognized from the obtained rough path, and a buffer is inserted into the timing critical net.
[0110]
S45. At this time, it is determined whether or not the prescribed number of divisions has been completed. If not, the process returns to S41, and if the prescribed number of divisions has been reached, the process is terminated.
[0111]
(5) About the step of performing detailed wiring from the rough placement and routing result obtained in the placement phase after the placement is completed
Detailed wiring is performed based on the result of the schematic placement and wiring obtained by using (1), (2), (3), and (4). For example, as shown in FIG. 15A, detailed wiring is performed on the schematic wiring obtained at the end of the placement phase by a method such as a labyrinth method to obtain a detailed wiring path as shown in FIG. is there.
[0112]
Next, referring to the flow shown in FIG. 14, the operation state of the automatic placement and routing means 1 in FIG. 1 will be described with reference to the step (SF) of performing detailed routing from the schematic routing result obtained in the placement phase after the placement in FIG. .
[0113]
S51. Cells (terminals) are arranged by the methods (1), (2), (3), and (4), and are roughly wired. Thereby, for example, a schematic placement and routing path as shown in FIG. 15A is obtained.
[0114]
S52. Next, detailed wiring is performed on the schematic layout wiring path by, for example, a maze method, and a detailed wiring path is obtained as shown in FIG.
[0115]
S53. Then perform timing analysis for each net.
[0116]
S54. If the result of the timing analysis does not satisfy the timing constraint, the process returns to S51 and S52 to perform the general placement wiring or the detailed wiring again. If the timing constraint is satisfied, the placement and routing process according to the present invention ends.
[0117]
As described above, according to the present invention, since the wiring pattern generated in the placement phase found in the conventional method is different from the wiring pattern generated in the wiring phase, timing optimization in the placement phase is not efficiently performed. This solves the problem.
[0118]
In addition, since the wiring path is inherited, the optimization direction is stabilized, and the convergence of the placement and routing flow can be improved.
[0119]
In the present invention, in the rough wiring performed in the placement phase, the estimation accuracy of the degree of congestion is improved by performing temporary placement, and the route in the initial stage of placement is inherited so as to be closer to the actual wiring result. To do. Also, when a critical net is recognized at the stage of placement, the wiring length of the critical net is shortened by means of placement. These processes can reduce rework from the timing analysis after detailed wiring to the wiring or placement phase, which is a problem in the conventional method.
[0120]
Embodiments of the present invention will be described below.
[0121]
(Supplementary note 1) In an automatic placement and routing apparatus that uses partitioning for cell placement, a means for temporarily placing cells assigned to blocks at each cut level of partitioning placement by a high-speed placement method and a boundary between adjacent blocks Means for calculating the number of line segments Nc that can be passed; means for calculating the number of line segments Nb greater than or equal to a predetermined length that can be placed in the block; and means for calculating an average length Lb of the number of line segments greater than or equal to the predetermined length And a means for calculating the wiring congestion degree based on the number Nc of line segments that can pass through the boundary, the number Nb of line segments of a predetermined length or more, and the average length Lb, and estimating the wiring congestion degree and performing rough wiring It is characterized by.
[0122]
(Supplementary note 2) In an automatic placement and routing apparatus that uses partitioning for cell placement, a means for storing the net wiring route at each level of the partitioning placement and a wiring tree indicating the connection relation of the net wiring are created. Means for obtaining a partial path connecting terminals or Steiner points of the wiring tree, and connecting each terminal path to the terminal at the current cut level within the block area to which the path belongs. Means for rerouting the route, and performing rough wiring in the area of the block through which the stored route has passed.
[0123]
(Supplementary Note 3) In an automatic placement and routing apparatus that uses partitioning for cell placement, means for holding a path obtained at the previous division level, means for incrementing the division level, and in which block each cell is placed A route is provided for each net based on the previous level wiring route that has been held, and the route that passes through the block area through which the route that has been held passes. It is characterized by holding.
[0124]
(Supplementary Note 4) In an automatic placement and routing apparatus using partitioning for cell placement, means for holding a path obtained at the previous division level, means for detecting a timing critical net, and means for incrementing the division level +1 Detecting the timing critical net from the previous level routing result, determining which block each cell should be placed to shorten the wiring length for that net, and inserting a buffer for the timing critical net For each net, rough wiring is performed based on the previous level wiring route held, and the route passing through the area of the block through which the route that has been held passes is retained. It is characterized by that.
[0125]
(Appendix 5) In the (Appendix 3), there is provided means for performing schematic layout and holding the wiring result and means for performing detailed wiring, performing schematic layout and performing detailed wiring by inheriting the wiring result. It is characterized by performing.
[0126]
(Appendix 6) Provided with means for carrying out schematic wiring according to the above (Appendix 3) and (Appendix 4) and holding the result, and means for performing detailed wiring, and carrying out detailed wiring by inheriting this schematic layout and wiring It is characterized by.
[0127]
【The invention's effect】
According to the present invention, the following effects can be obtained.
[0128]
(1) Congestion of wiring based on the number Nc of line segments that can pass through the boundary with an adjacent block, the number of line segments Nb that is greater than or equal to a predetermined length that can be placed in the block, and the average length Lb of the number of line segments that are greater than or equal to this predetermined length Since the degree is determined and the rough wiring is performed based on this, the rough wiring can be performed with high accuracy.
[0129]
(2) Since a partial route is obtained by using a wiring tree indicating the connection relation of the net wiring and inheriting the connection relation, it is possible to accurately indicate the connection relation and accurately recognize whether the terminal is a driver. Therefore, timing constraints can be dealt with correctly.
[0130]
(3) When the division level of the block is incremented by 1, rough wiring can be performed in consideration of the wiring congestion degree based on the wiring path of the previous level in the middle of the partitioning. By avoiding this, it is possible to determine a schematic wiring route, so that wiring rework can be avoided.
[0131]
(4) The timing critical net is detected from the previous level wiring result, and the cell position and buffer insertion can be performed for this net so as to shorten the wiring length. Can be avoided.
[0132]
(5) Wiring is performed roughly in the block area to which the previous route belonged based on the current level terminal connection, and detailed wiring is performed. What can be automatically placed and routed can be provided.
[Brief description of the drawings]
FIG. 1 is a schematic configuration diagram of the present invention.
FIG. 2 is an operation explanatory diagram of an automatic placement and routing apparatus to which the present invention is applied.
FIG. 3 is an explanatory diagram of a wiring congestion degree calculation state according to the present invention.
FIG. 4 is an explanatory diagram of the number of line segments that can pass through a block boundary.
FIG. 5 is an explanatory diagram of a region where a line segment having a length L or more is placed.
FIG. 6 is an explanatory diagram of a wiring state using a wiring congestion degree.
FIG. 7 is an explanatory diagram of a schematic wiring route wiring procedure of the present invention.
FIG. 8 is a specific explanatory diagram of a schematic wiring route procedure;
FIG. 9 is an explanatory diagram of a wiring state using a schematic wiring route wiring procedure;
FIG. 10 is an explanatory diagram of a schematic wiring route inheritance procedure according to the present invention.
FIG. 11 is an explanatory diagram of a schematic wiring route inheritance creation state in consideration of the degree of wiring congestion.
FIG. 12 is an explanatory diagram of a schematic wiring path inheritance procedure considering the timing of the present invention.
FIG. 13 is an explanatory diagram of a timing-considering schematic wiring path inheritance creation state.
FIG. 14 is an explanatory diagram of a detailed wiring procedure.
FIG. 15 is an explanatory diagram of a detailed wiring creation state.
FIG. 16 is an explanatory diagram of a conventional automatic placement and routing method.
FIG. 17 is an explanatory diagram of a detour occurrence state.
[Explanation of symbols]
1 Automatic placement and routing means
2 Netlist
3 Place and route output holding part
4 Outline placement and routing means
5 Detailed placement and routing means
6 Switching means

Claims (4)

セルの配置にパーティショニングを用いる自動配置配線装置において、パーティショニング配置の各カットレベルでブロックに割り当てられたセルを高速な配置手法で仮配置する手段と、
隣接ブロックとの境界を通過できる線分本数Ncを算出する手段と、
ブロック内に置くことのできる所定長さ以上の線分数Nbを算出する手段と、
前記所定長さ以上の線分数の平均長Lbを算出する手段と、
前記境界を通過できる線分本数Ncと、所定長さ以上の線分数Nbと、平均長Lbにもとづき配線混雑度を算出する手段とを具備し、
配線混雑度を見積り、概略配線を行うことを特徴とする自動配置配線装置。
In an automatic placement and routing apparatus that uses partitioning for cell placement, means for temporarily placing cells assigned to blocks at each cut level of partitioning placement by a high-speed placement method;
Means for calculating the number Nc of line segments that can pass through a boundary with an adjacent block;
Means for calculating a line segment Nb of a predetermined length or longer that can be placed in the block;
Means for calculating an average length Lb of the number of line segments greater than or equal to the predetermined length;
Means for calculating the wiring congestion degree based on the number Nc of line segments that can pass through the boundary, the number Nb of line segments of a predetermined length or more, and the average length Lb;
An automatic placement and routing apparatus characterized by estimating wiring congestion and performing rough wiring.
セルの配置にパーティショニングを用いる自動配置配線装置において、
パーティショニング配置の各カットレベルで、ネットの概略配線経路を保存する手段と、
このネットの配線の接続関係を示す配線木を作成する手段と、
この配線木の端子またはスタイナーポイントを結ぶ部分配線経路を得る手段と、
各部分配線経路について、その配線経路が属していたブロックの領域内で現在のカットレべルでその端子と接続するように経路を配線し直す手段と、
各セルをどのブロックに置くのかを決める手段とを有し、
カットレベルを変更する指示を受信すると、
現在のカットレベルで得られた配線経路を前のカットレベルの配線経路として保持する手段、
前記変更内容に基づき次のカットレベルに変更する際に、保持していた前のレベルの配線経路をもとにして概略配線を行い、配線混雑度と、保持していた経路が通過したブロックの領域内を通る経路を保持するように概略配線経路を次のカットレベルに継承する手段、
とから構成されることを特徴とする自動配置配線装置。
In automatic placement and routing equipment that uses partitioning for cell placement,
Means for saving the net routing path of the net at each cut level of the partitioning arrangement;
Means for creating a wiring tree showing the connection relation of the net wiring;
Means for obtaining a partial wiring path connecting terminals or Steiner points of this wiring tree;
For each partial wiring path, means for rerouting the path to connect to its terminal at the current cut level within the area of the block to which the wiring path belonged,
Means for determining in which block each cell is placed,
When receiving an instruction to change the cut level,
Means for retaining the wiring path obtained at the current cut level as the wiring path of the previous cut level;
When changing to the next cut level based on the contents of the change, rough wiring is performed based on the wiring route of the previous level that has been retained, and the degree of wiring congestion and the block that the retained route has passed Means for inheriting the schematic wiring path to the next cut level so as to maintain the path through the area;
An automatic placement and routing apparatus characterized by comprising:
セルの配置にパーティショニングを用いる自動配置配線装置において、
パーティショニング配置の各カットレベルで、ネットの概略配線経路を保存する手段と、
このネットの配線の接続関係を示す配線木を作成する手段と、
この配線木の端子またはスタイナーポイントを結ぶ部分経路を得る手段と、
各部分配線経路について、その配線経路が属していたブロックの領域内で現在のカットレベルでその端子と接続するように配線経路を配線し直す手段、
タイミングクリティカル・ネットを検出する手段とを有し、
カットレベルを変更する指示を受信すると、
現在のカットレベルで得られた配線経路を前のカットレベルとして保持する手段、
前記変更内容に基づき次のカットレベルに変更するとともに、前のカットレベルの配線結果からタイミングクリティカル・ネットを検出し、そのネットについて配線長を短くするように各セルをどのブロックに置くのか決めるとともに、タイミングクリティカル・ネットに対してはバッファを挿入し、パーティショニングの途中で回路のタイミングを考慮した概略配線経路を次のカットレベルに継承する手段、
とから構成されることを特徴とする自動配置配線装置。
In automatic placement and routing equipment that uses partitioning for cell placement,
Means for saving the net routing path of the net at each cut level of the partitioning arrangement;
Means for creating a wiring tree showing the connection relation of the net wiring;
Means for obtaining a partial path connecting terminals or Steiner points of this wiring tree;
For each partial wiring path, means for re-wiring the wiring path so as to connect to the terminal at the current cut level within the block area to which the wiring path belonged,
Means for detecting a timing critical net,
When receiving an instruction to change the cut level,
Means for retaining the wiring path obtained at the current cut level as the previous cut level;
Change to the next cut level based on the contents of the change, detect the timing critical net from the wiring result of the previous cut level, decide which block to place each cell so as to shorten the wiring length for that net , A means to insert a buffer for the timing critical net, and to inherit the rough wiring path considering the circuit timing during the partitioning to the next cut level,
An automatic placement and routing apparatus characterized by comprising:
請求項2において、In claim 2,
概略配置配線を行いその配線結果を保持する手段と、Means for roughly placing and routing and holding the routing results;
詳細配線を行う手段を具備し、Comprising means for performing detailed wiring;
概略配置配線を行い、その配線結果を継承して詳細配線を行うことを特徴とする自動配置配線装置。An automatic placement and routing apparatus that performs schematic placement and routing and inherits the result of the routing and performs detailed routing.
JP2001011390A 2001-01-19 2001-01-19 Automatic placement and routing equipment Expired - Fee Related JP3766278B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2001011390A JP3766278B2 (en) 2001-01-19 2001-01-19 Automatic placement and routing equipment

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2001011390A JP3766278B2 (en) 2001-01-19 2001-01-19 Automatic placement and routing equipment

Publications (2)

Publication Number Publication Date
JP2002217299A JP2002217299A (en) 2002-08-02
JP3766278B2 true JP3766278B2 (en) 2006-04-12

Family

ID=18878536

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2001011390A Expired - Fee Related JP3766278B2 (en) 2001-01-19 2001-01-19 Automatic placement and routing equipment

Country Status (1)

Country Link
JP (1) JP3766278B2 (en)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2004044791A1 (en) * 2002-11-11 2004-05-27 Fujitsu Limited Automatic arrangement/wiring method, program, and apparatus
JP2006173191A (en) * 2004-12-13 2006-06-29 Matsushita Electric Ind Co Ltd Wiring congestion degree estimation method of semiconductor integrated circuit

Also Published As

Publication number Publication date
JP2002217299A (en) 2002-08-02

Similar Documents

Publication Publication Date Title
EP1889194B1 (en) The use of redundant routes to increase the yield and reliability of a vlsi layout
US6543041B1 (en) Method and apparatus for reducing signal integrity and reliability problems in ICS through netlist changes during placement
KR0153392B1 (en) Lsi connector design method
US6117183A (en) Interactive CAD apparatus for designing packaging of logic circuit design
JPH10163330A (en) Apparatus and method for optimizing delay in taking layout in consideration
US7134112B1 (en) Incremental routing in integrated circuit design
JP3766278B2 (en) Automatic placement and routing equipment
JP2005149273A (en) Apparatus and method for floor planning of semiconductor integrated circuit
US10146902B2 (en) Sharing global route topologies in detailed routing
US6969952B2 (en) System and method for automatically routing power for an integrated circuit
JP2006190062A (en) Floor plan method and computing system for semiconductor integrated circuit
Wu et al. Antenna avoidance in layer assignment
Venkataraman et al. Determination of yield bounds prior to routing
JP3530025B2 (en) Schematic wiring determination method and storage medium
KR20010024944A (en) A method for manufacturing and designing an electronic device and electronic apparatus
Ma et al. A Steiner tree construction method for flexibility and congestion optimization
JP3548398B2 (en) Schematic route determination method and schematic route determination method
JP2009016487A (en) Circuit design method, and circuit design support device
JP2000223578A (en) Interconnection of semiconductor circuit
Zhang et al. Predicted congestion using a density-based fast neural network algorithm in global routing
US20240037311A1 (en) Multi-layer integrated circuit routing tool
JP2005107556A (en) Wiring treatment method of semiconductor integrated circuit
US20040225979A1 (en) Method for identifying removable inverters in an IC design
JP2619007B2 (en) Delay time analyzer
US20100146473A1 (en) Routing system

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20040326

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20040827

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20041012

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20041213

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: 20060124

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20060126

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: 20090203

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20100203

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110203

Year of fee payment: 5

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110203

Year of fee payment: 5

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120203

Year of fee payment: 6

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130203

Year of fee payment: 7

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130203

Year of fee payment: 7

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20140203

Year of fee payment: 8

LAPS Cancellation because of no payment of annual fees