JPH03225941A - レイアウト設計方法 - Google Patents

レイアウト設計方法

Info

Publication number
JPH03225941A
JPH03225941A JP2019281A JP1928190A JPH03225941A JP H03225941 A JPH03225941 A JP H03225941A JP 2019281 A JP2019281 A JP 2019281A JP 1928190 A JP1928190 A JP 1928190A JP H03225941 A JPH03225941 A JP H03225941A
Authority
JP
Japan
Prior art keywords
wiring
placement
area
cell
region
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.)
Pending
Application number
JP2019281A
Other languages
English (en)
Inventor
Takatetsu Aoki
孝哲 青木
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.)
Toshiba Corp
Original Assignee
Toshiba Corp
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 Toshiba Corp filed Critical Toshiba Corp
Priority to JP2019281A priority Critical patent/JPH03225941A/ja
Publication of JPH03225941A publication Critical patent/JPH03225941A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Semiconductor Integrated Circuits (AREA)
  • Design And Manufacture Of Integrated Circuits (AREA)

Abstract

(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。

Description

【発明の詳細な説明】 〔発明の目的〕 (産業上の利用分野) 本発明は、集積回路におけるレイアウト設計方法に関す
る。
(従来の技術) 集積回路のレイアウト設計処理の技術として、例えば配
置処理としては、M、A、Breyer“Min−Cu
tP1acew+ent”、Journal of D
eSing Automation andFault
−Tolerant Computinq、0ctob
er 1977、pp、343−362.配線処理とし
てはHasimoto、 A、、 and J。
5teavens、“Wire routing by
 oprimizing channelassign
ment whithis large apertu
res、”in Proc。
8th Design Automation Wor
kshop 1971.pp、155−163、などが
知られている。従来技術におけるレイアウト設計では、
これらの配置処理、配線処理が個々に独立した方法とし
て、明確に分離されている。それらの処理はたいへん優
れているものであるが、従来技術による処理フローでは
、各処理が独立しているため、個別の問題に対する解を
ただ積み重ねていくだけとなり、たとえ個々の処理が最
適な解を算出するものであっても最終的な結果で最適な
レイアウト結果を得ることができない。
例えば、スタンダードセル方式による集積回路の自動設
計方式では、回路素子の配置が終了した後に、回路素子
を移動させることによって配線が通過できる領域を確保
することを行なう。この処理は、場合によっては、配置
処理によって得られた回路素子の最適な位置関係を壊す
ことになる。
レイアウト設計における目的の一つに集積度の向上が上
げられるが、この目的を達することと、単にチップ領域
の面積が最小になるように回路素子を配置することとは
異なる。最終的にはチップ領域内には回路素子端子間を
接続する配線を構成する必要があるため、配置処理にお
いては端子間の配線を十分考慮したものでなければなら
ない。
上に挙げた例では、配線処理において回路素子を移動さ
せる必要が生じたならば、本来ならば、配置処理を再び
行なわなければならない。しかし、3− 各処理が完全に独立している処理フローでは配置と配線
の2つの処理を繰り返し行なうとは困難である。従来技
術では、配置、配線に処理を融合し、繰り返し行ないな
がらレイアウト設計を進めて行く方法は明示されていな
い。
(発明が解決しようとする課題) 集積回路の集積度を向上させるために様々な技術が提案
されている。しかし、従来技術によるレイアウト設計の
処理フローは、配置、概略配線、詳細配線の各処理が個
々に独立したものであった。
このような処理フローでは、たとえ個々の処理が最適な
解を導出する方法であっても最終的なレイアウト結果に
おいて最適な解を得ることは困難である。本発明は、従
来独立して行なわれてきた処理を平行して行なうレイア
ウト設計方法を提案することを目的としている。
〔発明の構成〕
(課題を解決するための手段) 本発明は上記事情に鑑みて為されたもので、回路素子を
チップ領域内の複数の帯状領域に配置4− し回路素子端子の結線要求を満たす配線を決定する際に
、前記チップ領域内に回路素子の配置・配線が決定され
た配置・配線決定領域と未だ回路素子の配置・配線が決
定されていない配置・配線未決定領域を持ち、配置・配
線決定領域の配置・配線情報をもとにして配置・配線未
決定領域の回路素子の概略配置を修正し、配置・配線未
決定領域内に帯状領域の長手方向と直交する方向に複数
の帯状領域に渡る配置・配線予定領域を決定し、この配
置・配線予定領域内の回路素子の詳細配置を決定すると
共に、配置・配線予定領域内の回路素子間の配線を決定
し、配置・配線決定領域及び詳細配置及び配線が決定さ
れた配置・配線予定領域を新たに配置・配線決定領域と
して登録更新することを特徴とするレイアウト設計方法
を提供するものである。
(作用) この発明はレイアウト設計を行なう際にチップ領域を幾
つかの小領域に分割し、この小領域の左の列から右の列
へと回路素子の詳細な配置と配線を同時に進め、チップ
全体のレイアラ1〜処理を完成させて行くことでレイア
ウト設計における配置、配線処理を平行処理が可能とな
る。
(実施例) 以下、本発明の実施例を図面を交えながら説明していく
まず、本実施例で用いる言葉の定義を行なう。
・セル:チップ上に配置されたセル間を配線することで
目的の回路を構成する。配線とセルを接続する端子は配
線層の第2層目におかれる。セル上の配線層は、第2層
目だけを利用することができ、配線を通過させることが
できる領域とできない領域を含む。
・チップ領域:集積回路のチップ領域は回路素子が帯状
に配置されたN個のセル行から構成する。
・小領域二本発明では、第4図に示すようにチップ領域
に(ト1)本の垂直方向のカットライン13V(k)、
 k=1〜M−1と(N−1)本の水平方向のカットラ
インh(I)、I=t〜N−1を引くことによりチップ
領域をMXN個の矩形領域に分割する。この矩形領域を
g(i、j)、i=1〜M、j=1〜Nで表わし、小領
域と呼ぶ、iは列番号、jは行番号である。ここでNは
、チップ領域のセル行数である。
小領域には、分割されたセル行を含む。そのセル行を構
成するセル集合をs (i、j)で表わす。ただし、本
発明による処理によってセル位置は刻々と変動するため
、ここで言うところのセル行は個々のセルの詳細な位置
が決定されているものではない。小領域の詳細な説明図
を第5図に示す。小領域g (itj)の左のカットラ
イン17をv(i、j)、右のカットライン18をv(
i、j+1)、上のカットライン19をh (i、j+
 1 )、下のカットライン20をh(i、j)とする
。r (itj)は、小領域g (tej)が含む分割
されたセル行である。
・スルー配線: h b+J)を通過しs (i、j)
のセルと接続せずにh(ilj+ I L v (II
j) + v baj+ 1)を通過する配線。小領域
g(IIj)を通過するスルー配線の緩和をth(xt
j)で表わす。スルー配線は、r (IIj)のセル上
を通過する。
・スル一端子:セル上にスルー配線を通過させ7− るために、処理の便宜上、セル上にスルー配線を通過さ
せることができる領域に仮想的に設けた端子。本発明に
おける処理では、スルー配線はセル上を通過するときに
、−度この仮想的な端子に接続してから通過する。スル
一端子は常に1本のスルー配線とのみ接続し、他の配線
と接続することはない。
・スルーセル:スルー配線を通過させるための仮想的な
セル。スルー配線を通過させる領域を確保するために、
セル行の任意の位置に挿入する。
スルーセルは、スル一端子を1個だけもつセルで、集積
回路の電気的構成には、なにも関与しない。
・スルー容量:小領域g(i、j)を通過することので
きるスルー配線の本数の上限。セル集合s(i。
j)のセルのスル一端子の総和で表わされる。
・チャネル配線:小領域g(i、j)を通過する配線で
スルー配線以外の配線、g(i、j)を通過するチャネ
ル配線の総和をch(x、j)で表わす。
・ウィンドウ、確定領域、不確定領域二本発明による方
法では、配線ステップとセル位置の修正8− のステップを同時に行なうためにウィンドウと言う概念
を用いる。ウィンドウは、チップ領域をセル行と垂直に
設けられた長方形の領域であり、M個の小領域から構成
される。第4図に示す例では、ウィンドウ10は小領域
g (11j) + j= 1〜Nで構成されている。
このウィンドウを第2図、第3図に示すように、チップ
領域の左端から右端に移動させながらセル位置の修正と
配線を平行して行なう。ウィンドウより左の領域ではセ
ルの位置、配線が決定されている。この領域を確定領域
11とよぶ。ウィンドウより右の領域ではセルの位置、
配線は未定の状態である。この領域を不確定領域12と
よぶ。確定領域の配線結果により不確定領域内のセル位
置の修正を行ない、この配置結果よりウィンドウ内の配
線を行なう。
第1図は、本発明の一実施例を示す処理フローを示した
図である。
本発明では、まず集積回路を構成するセルの接続データ
ー(ネットリスト)及び規定セル行数Nを入力として受
は取り初期データーを作成する。
次に、この初期データーの作成方法の一例(ω〜■)を
示す。
■ 従来技術による配置処理によりN行のセル行からな
る、配置データーを作成する。
■ チップ領域に、(ト1)本の垂直方向のカットライ
ン、及び(N−1)本の水平方向のカットラインを入れ
ることによりMXN個の小領域g (iej) ri=
1〜M、j=1〜Nに分割する。
■ これらの小領域g (IIj)に含まれたセルをセ
ル集合s (IIj)とする。
この初期データーを受けてチップ領域のレイアウト設計
を幾つかのレベルに分けて行なう。なお、本実施例にお
ける例では、処理は1からMレベルの処理に分けてレイ
アウト設計を行なうことになる。それぞれのレベルの処
理において次に示すプロセスを実行する。
■ 不確定領域内の小領域に含まれるセル集合の再構成
を行なう2゜(配置修正) ■ 不確定領域の左端の一列の小領域を覆うウィンドウ
を形成する。
■ ウィンドウを通過する配線をウィンドウ内の小領域
に割り当てる3゜(概略配線)(へ) ウィンドウ内の
セル行を構成する4゜(詳細配置) ■ ウィンドウ内のチャネルの配線を行なう5゜(詳細
配線) 0 ウィンドウより右の領域を不確定領域とする6゜不
確定領域が存在しなければ処理を終了する。
以下、各ステップの詳細な説明を行なう。なお、ここで
にレベルまで処理が進んでいるものとして説明する。す
なわち、・カットラインV (k)より左の領域が確定
領域であり、右の領域が不確定領域である。確定領域は
小領域g (i、j)+ i = 1〜に−1゜j=1
〜Nで構成され、不確定領域は小領域g(baj) v
 1 = k−M t j= 1〜Nで構成されている
また確定領域内の配置、配線は完了している。ウィンド
ウW(k)は小領域g(k+j)、j = 1〜Nで構
成されている。
く配置修正〉 1− このプロセスでは不確定領域内の配置修正を行なう。
今、kレベルの処理を行なうとする。このときlk) 
15より右の領域が不確定領域12となる。不確定領域
は、小領域g(iJ、1=に−Ml 、j=1〜Nから
構成されている。小領域g (1+j)に割り付けられ
たセル集合をs(i、j)とする。g baj) *i
=1〜Mを通過し、s (i、I) 、 i = 1〜
M内のどのセルにも接続されない配線の総和をTH(I
)とする。
TI((I)=  Σth(i、I) i=1 である。g (xsI) v i= 1〜Nを通過する
配線の総和をCH(I)とする。
CH(I)= Σoh(I、j) −1 である。この2つの値を減少させるように不確定領域内
のセルの配置修正を行なう。確定領域の配線は完了して
いるので、確定領域の配線情報を不確定領域の配置修正
に反映させることができる。
12− 配置修正プロセスの処理のフローを第21図に示す。こ
のプロセスは、次の[配線修正操作1]と[配線修正操
作2]からなる。
[配置修正操作1] ■ 小領域g (irj)のセル集合S(i、j)と小
領域g (baj + 1)のs(i、j+1)とを合
成し1つのセル集合s (i、j)(baj +1)を
つくる。
■ セル集合s (xyj) (Lj+ 1)を2つの
セル集合s’(baj)とs(i、j+1)に分割する
。ここでs (itj)は小領域g (iyj)に新た
に含まれるセル集合、s’ (lyj+ 1)は小領域
g (19j+ 1)に新たに含まれるセル集合である
。分割の指標は、 評価関数: TH(i)+TH(j+1)→win (TH(i)+
TH(j+1)  を最小にする。) len(i、j)−1en(i、j+1)l−+min
 (llen(i、j) −1On(i+j+ 1)l
を最小にする。)を用いる。なお、g(xyj)に含ま
れるセルの長さの総和をJan(i、j)としている。
■ セル集合s’ (11j)をs baj)として登
録する。
セル集合s’(i、j+1)をs(i、j+1)として
登録する。
[配置修正操作2] ■ 小領域g(i、j)のセル集合S (X+j)と小
領域g(i+1.j)のs(i、j+1)とを合成し1
つのセル集合s (i、j)(i+Lj)をつくる。
■ セル集合s (xtj) (1+1.j)を2つの
セル集合” (xtj)とs’(i+1.j)に分割す
る。ここでs’(1゜j)は小領域g (Lj)に新た
に含まれるセル集合、s’(i+1.j)は小領域g(
i+1−j)に新たに含まれるセル集合である。分割の
指標は、 評価関数: CH(i) +CH(i+ 1)→win11en(i
、j)−1en(i+1.j)→lll1nを用いる。
■ セル集合s’ (baj)をs (1rj)として
登録する。
セル集合s’ (i+ 1.J)をs(i+1tj)と
して登録する。
配置修正プロセスは、第21図に示すように上記の[配
置修正操作1]と[配置修正操作2]を評価関数の改善
が無くなるまでi = k−M、 j = 1〜Nの小
領域に対し繰り返し行なう。
〈概略配線〉 このプロセスでは、配線の概略の経路を決定する。kレ
ベルの処理では、小領域g (x、j) i=に−M、
j=1〜Nで構成される不確定領域を対象にして概略配
線処理を行なう。ここで言うところの概略図配線処理と
は、セルがどの小領域に属しているか、と言う情報のみ
にもとづいて、各配線が通過する小領域(概略経路)を
決定する処理である。
kレベルの概略配線処理にでは、k−ルベルまでの処理
によって確定領域内の配置、配線は完了している。従っ
て、V (k)を通過して確定領域から不確定領域に入
力してくる配線は、求められている。これらの配線のな
かで、V(klj)を通過して小領域g(Lj)に入力
してくる配線の集合をd(k、j)とする。
このプロセスでは、不確定領域内の小領域gci*J)
 y 1 ” k−M p J = 1〜Nを通過する
配線数が均一になるように、d(k、j)、j=1〜N
と5(LJLi = k −M 、 j = i = 
Nに含まれるセルとの間の5− 概略経路、及びs(i、j)、 i = k=M、 j
 = i −Nに含まれるセル間の概略経路を求めるこ
とを目的としている。しかし、本発明による処理フロー
では、k+ルベル以降の処理により、gci+j)、i
=に+1〜M、j=1〜Nの各小領域のセル集合s (
i。
j)は変動する。そのため、kレベルの概略配線処理で
構成した概略経路は、k+ルベル以降の処理により崩れ
てしまうものである。従って、不確定領域内の全てのセ
ル間の概略経路を、このプロセスで求めることは、処理
効率の点から必ずしも得策ではない。以下に示す概略配
線処理方法の一例は、ウィンドウW(k)にのみ注力し
たものである。
第22図に本実施例における概略配線処理のフローを示
す。このプロセスは、[概略配線操作1]と[概略配線
操作2]の2つの操作から構成される。第23図に[概
略配線処理2]の処理フローを示す。
kレベルの概略配線処理では、 ・d (klj) t J = 1〜NとS(k、j)
、j=1〜Nに含まれるセルとの間の概略経路、 16− ・d(k、j)、j=1〜Nと5(LjL i=に+1
〜N + J = 1〜Nに含まれるセルとの概略経路
、・s(k、j) l j= 1〜Nに含まれるセルと
の間の概略経路、 ・s (ktjL j = 1−Nとs (1+J) 
t x = 1〜に+1〜M、j=1〜Nに含まれるセ
ル間の概略経路、 を求める。s (i、j)、 i =に+1〜M、 j
 = 1〜Nに含まれるセル間の概略経路は求めない。
すなわち、1個以上のセルが5(LjL j=1〜Nに
属しているネットと、1個以上のセルが5(lyjL 
l=1〜に−1に属し、かつ、1個以上のセルがs(i
jL i=に−M、j=1〜Nに属しているネットが、
kレベルにおける処理の対象となる。
また、対象となるネットにおいて、2個以上のセルが5
(LjL j=に+1〜Mに含まれている場合(すなわ
ち、2個以上のセルが不確定領域からウィンドウを除い
た領域に含まれている場合)は、これらのセルの中から
1個だけ選んでd (k、j)及TJ’s(k、j)の
セルとの間の概略経路を求める。セルを選ぶ場合の指標
としてはマンハッタン長を用い、s (k、j) t 
j= 1〜Nに属するセル(すなわち、ウィンドウに含
まれるセル)とマンハッタン長が最も近いセルを選ぶ。
ここで言うマンハッタン長とは、2個のセルを頂点に持
つ矩形の縦、横の辺の長さの和で表わす長さである。マ
ンハッタン長が同じセルが2個以上存在するときは、こ
れらのセルの中から水平方向の距離が最も短い小領域に
属するセルを選ぶ。
次にこのプロセスの各操作の詳細を述べる。
[概略配線操作1] この操作で対象とする概略経路は接続するセルの位置関
係で一意的に定まるものである。次に概略経路が一意的
に決まる。セルの位置関係を示す。
d(k、I)。
満たすもの。
(イ)I>nかつm=k。
(ロ)Innかつm=k。
(ハ)I=nかつm≧に0 I=1−Nとs(m、n)が次の関係を・s (k、、
:+)とs (k、n)が次の関係を満たすもの。
(ニ)I<n。
(ホ)I)n。
上記の条件を満たすセルについて、下記に示すパターン
の概略経路を割り当てる。概略経路の例を第6図から第
8図に示す。
(a) d (k、I)とs (m、n)との概略配線
I)n、m=にの場合:v(k、I)およびh(k+j
Lj=n+1〜工を経過する経路。
I<n、m≦にの場合:v(k、I)およびh(k、j
)。
j=I+1〜nを経過する経路(第7図)。
I=n、m=にの場合: v(itIL i=に−nを
経過する経路(第8図)。
(b) s (k、I)とs (k、n)との概略配線
(第6図)。
I > nの場合” h (k、j) l j=n +
 1〜Iを通過する経路。
I < nの場合:h(k、j)、j=■+1〜nを通
過する経路。
[概略配線操作2コ この操作では[概略配線処理1]で未処理と19− したセルを対象とする。概略経路は一意的には定まらず
、幾つかのパターンを持つ。下にそのパターンを示す。
第9図から第13図に概略経路の例を示す。
(a)  d (k、I)とs (i、n)+  i 
=に+1〜Mとの概略配線。
・I > nの場合(第11図): V(LIL v(k+1.I)+ ”・l V(1+I
L11(1+ILh (ilI−1)、−1h(1,n
+1)を通過する経路。
v(k、I)、 h(k、I)、 v(k+1. l−
1)、 v(k+2゜■−1) l ”’ t V (
III−ILh(1*l−1)t h (1+l−2)
+ ”’v(k、I)、  h(k;I)、  h(k
、III)、−、h(k、n+1)。
v(k+1.n)、・・・、 v (i、n)を通過す
る経路。一般的に(n−1+1)種類の概略配線のパタ
ーンがある。
・I < nの場合: V(ktIL v(k+1.I)l−I V(itIL
 h(ilILh bt’r + LL”’th(1+
n)を通過する経路。
v(k、I)、 h(k、III)、 v(k+’l、
 III)、 v(k+2. III)、・・・、 v
(i、III)、 h(i、I+2)、 h(i。
I+3)、・・・t h (ien)を通過する経路。
20 v(k、I)、  h(k、III)、  h(k、I
+2)、・=、h(k、n)。
v (k +1 + n) +・・・、 v (i、n
)を通過する経路。一般的に(I−n+ 1 )種類の
概略配線のパターンがある。
(d)  s (k、I)とs (itnL i =に
+t−M との概略配線。
I>mの場合(第10図): v(k+1. ■)l”’t V(1,IL h(x、
I)、 h(x、l−1)、・・・e h (i、n+
1)を通過する経路。
h(k、I)、 v(k+1.l−1)、 v(k+2
.l−1)、−、v(i、l−1)、 h(i、l−1
)l h(ill−2)l−=lh(iln+1)を通
過する経路。
h(k、I)、 h(k、l−1)、・=、h(k、m
+1)、 v(k+1゜nL・・・l V (iln)
を通過する経路。一般的に(n−1+1)種類の概略配
線のパターンがある。
・I < nの場合: v(k+1. IL”’t v(4J)y h(x、I
)、 h(x+工+1)、・・・、 h (i、n)を
通過する経路。
h(k、III)、v(k+1.III)、v(k+2
.III)。
−、v(i、III)、h(i、1+2)、h(LI+
3)、・、h(i、n)を通過する経路。
h (k、I +1)−h (k、I + 2L□=−
h (k9m)、v (k+1、n)、・・・、 v 
(i、n)を通過する経路。一般的に(1−n+1)種
類の概略配線のパターンがある。
・I=nの場合(第9図) : v(k+1.I)、 v(k+2.I)、−、v(i、
I)を通過する経路。
h(k、I)、 v(k+1.l−1)、 v(k+2
.l−1)、−、v(i、l−1)、 h(i、l−1
)を通過する経路。
上記の2種類のパターンがある。
(c) s(k、I)とs(k、I)との概略配線。
小領域g(k、I) 21内で配線する(第12図)。
小領域g(k、l−1) 22を経由して配線する(第
13図)。
[概略配線操作2]では、次の評価関数を最小にするよ
うに概略経路の繰り返し改善を行なう。
評価関数の改善が行なわれなくなれば処理は終了する。
概略配線の評価関数: th(k、j) : h(Lj)を通過しs (k、j
)のセルと接続しない配線の総数。
ch(ktj) : g (k、j)を通過する配線の
総数。
く詳細配置〉 このプロセスでは、セル集合s (ktjL j=1〜
N(すなわち、ウィンドウW(k)内のセル集合)の詳
細な配置、スルーセルの挿入、スルー配線へのスル一端
子の割り付けを行なう。ここでの目的は、各チャネルに
おいて配線に使用するトラック数が最小になるようなセ
ル行をウィンドウW(k)内に構成することである。こ
のプロセスの処理フローを第24図に示す。詳細配置の
プロセスは、[詳細配置操作1]、[詳細配置操作2]
、[詳細配置操作3]の3つの操作からなる。
今、kレベルの処理を行なう場合を考える。各操作の詳
細を以下に示す。
[詳細配置操作1] この操作では、後の処理の初期配置を行なう。
処理は、ウィンドウ内の各セル行ごとに独立に行ない、
セル行間の相関関係は考慮しない。
23− セル集合s(klj)を下記に示す3個の集合に分けて
セル行に配置する。
(a)セル集合s(k、j)において、v (k)を通
過する配線とのみ接続するセルの集合を5(klj)と
する。
(b)セル集合5(klj)において、v(k+1)を
通過する配線とのみ接続するセルの集合を5r(k、j
)とする。
(c)セル集合s(k、j)から5i(k+xL 5r
(ktj)を除いた集合をsm(k、j)とする。
上記の3個の集合を次のように配置する。
(a) 5l(k、j)のセルは、セル行33r(k、
j)の左に位置するように配置する。
(b) 5r(k、j)のセルは、セル行r(Lj)の
右に位置するように配置する。
(c) sm(k、j)のセルは、セル行r(Lj)の
中央に位置するように配置する。
第14図に、これらのセル集合の配置位置の相対的な関
係を示す。5l(k、j)は30の位置に、5r(k、
j)は31の位置に、sm(Lj)は32の位置に配置
される。
ただし、後の[詳細配置操作3]で配置改善を24 行なうので、それぞれのセルの詳細なX座標は簡単に決
める。
[詳細配置操作2] この操作では、スルー配線40に対してスルー端子41
を割り当る処理、及びスルーセルの挿入の処理を行なう
。ここでの目的は、詳細な配線を行なったときに使用す
るトラック数が少なくなるようなセル配置が得られるよ
うに、スル一端子をスルー配線に割り当てること、及び
、必要に応じてスルーセルをセル行に対して挿入するこ
とである。
従来技術では、セルの詳細な配置が終了してからスルー
配線がその上に通過するセルを決定する処理や、スルー
セルの挿入の処理を行なう。しかし、本発明では、スル
ー配線がどのセル上を通過するか、と言うこと、及び、
スルーセルの挿入するか否か、と言うことをあらかじめ
決定しておいてからセルの詳細な配置を行なう。このこ
とによりスルーセルの挿入によるセル位置のずれによる
弊害を防ぐことができ、また、スルー配線を考慮したセ
ル配置が可能となる。
ここで、次の条件を満たすセルからなる集合をsn+’
(k、j)とする。セル集合S(k、j)に属するセル
において、セル上にスルー配線を通過させることができ
る領域を持ち、接続する配線がV (k)とV(k+1
)を通過するものだけであり、かつ、V (k)を通過
する配線の総数とV(k+1)を通過する配線の総数が
同一である。
sm’ (k、j)のセル上のスル一端子を゛′優先ス
ルー端子42”と呼ぶことにする。スルー配線には、″
優先スル一端子″を優先して割り当てる。なぜなら、s
m’ (k、j)に属するセルは、セル行r (klj
)のどの位置に配置されても、ウィンドウ内で使用する
トラック長に変化を与えない。従って、スル一端子に接
続したスルー配線が使用するトラック長のみを最小にす
るようにセルを配置すればよいことになる。簡単な例を
第17図、第18図に示す。
これらはウィンドウ内の隣接する2つのセル行表わした
概略図である。この図において42は優先スル一端子、
40はスルー配線である。この場合、44のセル位置を
第17図に示す位置から第18図に示す位置に移動させ
ることだけで、ウィンドウ内で使用するトラック長を削
減することができる。第15図、第16図にスルー配線
を優先スル一端子以外のスル一端子に接続した場合の例
を示す。この場合、43のセルを第15図に示す位置か
ら第16図に示す位置へと移動することだけではウィン
ドウ内で使用するトラック長の削減には必ずしも貢献し
ない。
この例で示すように優先スル一端子以外のスルー端子を
スルー配線に割り当てた場合、ウィンドウ内の使用トラ
ック長を削減する処理の手間が複雑になる。
次の(ト)〜(3)のステップで処理を行なう。
■ スルー配線を1本選ぶ。
■ スルー配線が通過するセル行から1個ずつスル一端
子を取りだし、割り当てる。
割り当ては、次の条件下で行なう。
(a)優先スル一端子の中で未使用のものがあれば、そ
れを優先して割り当てる。もし未使用ものがなければ、
slI′(k、j)以外のセル上のスルーセルを割り当
てる。もし未使用のスル一端子7− が全くなければセル行r (k、j)にスルーセルを挿
入し、スルーセル上のスル一端子を割り当てる。後の[
詳細配置操作3]で配置位置の改善を行なうのでスルー
セルのX座標は簡単に決める。
(b)セル行r (ktj−1)又はr(k、j+1)
に割り当てられたスル一端子が優先スル一端子でなく、
かつ、r (k、j)に未詳の優先スル一端子がなけれ
ば、r(k、j)にスルーセルを挿入し、スルーセル上
のスル一端子を割り当てる。後の[詳細配置操作3]で
配置位置の改善を行なうのでスルーセルのX座標は簡単
に決める。
(3)スルー配線に割り付けられたスル一端子は使用済
みとして登録し、他のスルー配線には割り付けない・ 以上の処理を全てのスルー配線に対し行なう。
[詳細配置操作3] この操作では、ウィンドウ内のセル行の仮装配線長を最
小にするようにセル配置の改善を行なう。
ここで言う仮想配線長とは、第19図、第20図に示2
8− す如く配線1本に対してトラック1本を割り当てた時の
トラック長である。また、スルー配線は、[詳細配置処
理2]で仮想端子に割り当てられているので、一般の配
線と同一に扱う。
配置改善の評価関数として次のものを用いる。
I (i、x)  :チャネルiに属する配線Xの仮想
線長・ 配置改善の処理は、この評価関数が最小になるようにセ
ルを移動することで行なう。ただしセルは同一のセル行
内のみで移動可能とする。異なるセル行に移動すること
はしない。また、セルの移動は、ウィンドウ内で閉じて
いる。
例えば文献二゛′標準セル方式VLSIの配置手法とそ
の評価″″、小沢時典他、電子通信学会論文誌、’84
/10 Vol、J67  D N+110. pp、
1123−1130に示されているような従来行なわれ
ている配置改善では、各セル行を独立に処理するために
、セル行間の配線を評価することができない。本来なら
ば、全てのセル行を一度に扱いセル行間の配線も含めた
評価でセル配置を行なった方が良好な配置結果を得るこ
とができるはずだが、問題が大きくなりすぎるために全
てのセル行を一度に扱うことは困難である。しかし、本
発明に示す方法では一度に扱うセルはウィンドウに含ま
れているものだけなので、セル行を全て同時に処理して
も問題が大きくなりすぎることはない。このためセル行
間の配線も考慮することができる。
本発明では、次のω〜(0に示すペア交換法を利用した
方法で配置改善を行なう。第25図にその処理フローを
示す。なお、第19図、第20図に処理の例を示す。第
20図は、第19図に示すセルA50とセルB51を交
換することにより評価関数が減少したことを示す例の図
である。
■ ウィンドウ内のセル列の中から、セル列をランダム
に選ぶ。今選ばれたセル列をr (klj)とする。
(21r(k、j)の中からランダムにセルを2個選ぶ
。そのセルをsl、 s2とする。
■ sl、 s2の位置を交換する。交換後のセル行を
r′(ktj)とする79゜ (イ) セルの交換後の評価関数を計算する。
■ セルの交換によって評価関数が減少していればr 
’ (klj)→r(k、j)とする。増大していれば
slと82の位置を元にもどす。
0(1)〜0の処理を評価関数の改善が見られなくなる
まで繰り返す。
〈詳細配線〉 このプロセスではウィンドウ内のセル間の配線を行なう
。ウィンドウ内のスルー位置は“スルーの位置決めプロ
セス”で決定されているので、配線は各チャネルごとに
独立して行なうことができる。ただしウィンドウの左端
V(k)までの配線は終了しているのでV(k)からチ
ャネル配線を続行し、ウィンドウ右端V(k+1)まで
行なうことになる。モデルとしては、3方向の端子の位
置が固定で1方向の端子位置が不固定の領域に対する配
線問題となる。このような領域に対する配線手法として
種々のものが考えられるが、本実施例では1− ’greedy’ routerと呼ばれる手法を用い
る。この手法の詳細はRevest、 R,L、、an
d C,M、Fiduccia、 A’greedy’
 channel router in Proc、 
19th DesignAutomation Con
f、、 pp、475−481. June 1982
.に示されている。上記文献の手法は、1個のチャネル
を対象にし、チャネルを左から右ヘスイープラインを移
動させながら(スイープラインより左の領域の配線を完
了させながら)配線をおこなう。
従って、本発明のウィンドウ内の配線では、チャネルの
配線がlk) 15まで完了している。すなわちV (
k)までスイープラインが移動し終わっていると考え、
さらにV(k+1)16までスイープラインを移動させ
ると考えることによって’greedy’router
を利用することができる。
〔発明の効果〕
以上説明したように、本発明によれば配置、配線処理を
平行して行なうことが可能となり、より集積度の高いレ
イアウト結果を得ることができる。
【図面の簡単な説明】 32− 第1図は本発明の一実施例の処理フローを示す図、第2
図は本発明によるレイアウト設計を説明するための図、
第3図は第2図よりさらに処理が進んだ状態を示す図、
第4図はチップ領域の分割を説明するための図、第5図
は小領域を説明するための図、第6図〜第13図は概略
配線の経路を説明するための図、第14図は初期配置を
説明するための図、第15図〜第18図はスルー配線に
スルー端子を割り付ける処理を説明するための図、第1
9図、第20図はセル間の仮想配線及びセルの配置改善
処理を説明するための図、第21図は配置修正処理の処
理フローを示す図、第22図は概略配線処理の処理フロ
ーを示す図、第23図は概略配線処理における繰り返し
改善部の処理フローを示す図、第24図は詳細配置処理
の処理フローを示す図、第25図は詳細配線処理の繰り
返し改善部の処理フローを示す図である。 図において、 10・・・ウィンドウ、   11・・・確定領域、1
2・・・不確定領域、   13・・・カットライン、
14・・・小領域、 40・・・スルー配線、 41・・・スル一端子、 42・・・優先スル一端子。

Claims (1)

    【特許請求の範囲】
  1. 回路素子をチップ領域内の複数の帯状領域に配置し回路
    素子端子の結線要求を満たす配線を決定する際に、前記
    チップ領域内に前記回路素子の配置・配線が決定された
    配置・配線決定領域と未だ回路素子の配置・配線が決定
    されていない配置・配線未決定領域を持ち、前記配置・
    配線決定領域の配置・配線情報をもとにして前記配置・
    配線未決定領域の回路素子の概略配置を修正し、前記配
    置・配線未決定領域内に前記帯状領域の長手方向と直交
    する方向に前記複数の帯状領域に渡る配置・配線予定領
    域を決定し、この配置・配線予定領域内の前記回路素子
    の詳細配置を決定すると共に、前記配置・配線予定領域
    内の前記回路素子間の配線を決定し、配置・配線決定領
    域及び詳細配置及び配線が決定された前記配置・配線予
    定領域を新たに配置・配線決定領域として登録更新する
    ことを特徴とするレイアウト設計方法。
JP2019281A 1990-01-31 1990-01-31 レイアウト設計方法 Pending JPH03225941A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2019281A JPH03225941A (ja) 1990-01-31 1990-01-31 レイアウト設計方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2019281A JPH03225941A (ja) 1990-01-31 1990-01-31 レイアウト設計方法

Publications (1)

Publication Number Publication Date
JPH03225941A true JPH03225941A (ja) 1991-10-04

Family

ID=11995062

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2019281A Pending JPH03225941A (ja) 1990-01-31 1990-01-31 レイアウト設計方法

Country Status (1)

Country Link
JP (1) JPH03225941A (ja)

Similar Documents

Publication Publication Date Title
US5375069A (en) Wiring routes in a plurality of wiring layers
US4593363A (en) Simultaneous placement and wiring for VLSI chips
CA1275508C (en) Hierarchical top-down method for physical vlsi-chip design
US4852015A (en) Automatic circuit layout router
US3603771A (en) Input/output signal point assignment
US20020170029A1 (en) Method and apparatus for accurate crosspoint allocation in vlsi area routing
CN112989749B (zh) 一种集成电路版图布线中引脚访问方法及装置
US6397375B1 (en) Method for managing metal resources for over-the-block routing in integrated circuits
CN113987996B (zh) 模拟芯片电路绕线方法
Kao et al. Cross point assignment with global rerouting for general-architecture designs
JP2002318827A (ja) 集積回路製造システム
US5475611A (en) Circuit structure, semiconductor integrated circuit and path routing method and apparatus therefor
JPH08274179A (ja) 配線設計方法および配線設計装置
Patyal et al. Pole-aware analog layout synthesis considering monotonic current flows and wire crossings
CN117113920B (zh) 一种集成电路版图的总体布线方法、装置及存储介质
JPH03225941A (ja) レイアウト設計方法
US5825659A (en) Method for local rip-up and reroute of signal paths in an IC design
Sarrafzadeh Hierarchical approaches to VLSI circuit layout
JP3641209B2 (ja) 自動配置配線装置および自動配置配線方法
Xiang et al. An algorithm for simultaneous pin assignment and routing
CN121093892B (zh) 印刷电路板的布线方法及电子设备
Chen et al. Performance-driven pre-assignment routing for high-speed package designs
CN118395936B (zh) 一种基于动态规划的vlsi分层布线方法和系统
JP3548398B2 (ja) 概略経路決定方法および概略経路決定方式
JP2948932B2 (ja) 半導体自動配線方法