JPH03225941A - Designing method for layout - Google Patents

Designing method for layout

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
Japanese (ja)
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/en
Publication of JPH03225941A publication Critical patent/JPH03225941A/en
Pending legal-status Critical Current

Links

Landscapes

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

Abstract

PURPOSE:To concurrently process disposing and wiring steps in designing a layout by dividing a chip region into several small areas, concurrently disposing and wiring in detail of circuit elements from left to right columns of the small regions, and completing the layout of an entire chip. CONSTITUTION:The chip region of an integrated circuit is formed of N pieces of cell columns in which circuit elements are disposed in a stripe state. (M-1) pieces of vertical cutting lines 13v (k)k=1-(M-1) and (N-1) pieces of horizontal cutting lines h(I), I=1-(N-1) are written on the region to divide the region into rectangular regions called 'small regions of (MXN) pieces. A window 10 is formed of the small regions g(i, j), j=1-N. Cell positions are corrected and wired concurrently while moving the window from the left end to the right end of the region. The positions and wirings of the cells are determined in the left region from the window, called 'a deterministic region 11'. The positions and wirings of the cells in the right region of the window are undetermined, called 'non-deterministic region 12'. The cell position in the non- deterministic region is corrected by the wiring result of the deterministic region, and the window is wired by the disposing result.

Description

【発明の詳細な説明】 〔発明の目的〕 (産業上の利用分野) 本発明は、集積回路におけるレイアウト設計方法に関す
る。
DETAILED DESCRIPTION OF THE INVENTION [Object of the Invention] (Field of Industrial Application) The present invention relates to a layout design method in an integrated circuit.

(従来の技術) 集積回路のレイアウト設計処理の技術として、例えば配
置処理としては、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。
(Prior Art) As a technology for layout design processing of integrated circuits, for example, for placement processing, M, A, Breyer “Min-Cu”
tP1acew+ent”, Journal of D
eSing Automation and Fault
-Tolerant Computinq, 0ctob
er 1977, pp. 343-362. As for wiring processing, Hasimoto, A., and J.

5teavens、“Wire routing by
 oprimizing channelassign
ment whithis large apertu
res、”in Proc。
5tavens, “Wire routing by
primizing channel lassign
ment with this large apertu
res, “in Proc.

8th Design Automation Wor
kshop 1971.pp、155−163、などが
知られている。従来技術におけるレイアウト設計では、
これらの配置処理、配線処理が個々に独立した方法とし
て、明確に分離されている。それらの処理はたいへん優
れているものであるが、従来技術による処理フローでは
、各処理が独立しているため、個別の問題に対する解を
ただ積み重ねていくだけとなり、たとえ個々の処理が最
適な解を算出するものであっても最終的な結果で最適な
レイアウト結果を得ることができない。
8th Design Automation Work
kshop 1971. pp, 155-163, etc. are known. In layout design in conventional technology,
These placement processing and wiring processing are clearly separated as independent methods. Although these processes are very good, in the processing flow of conventional technology, each process is independent, so the solutions to individual problems are simply accumulated, and even if each individual process does not produce the optimal solution. Even if it is calculated, it is not possible to obtain the optimal layout result in the final result.

例えば、スタンダードセル方式による集積回路の自動設
計方式では、回路素子の配置が終了した後に、回路素子
を移動させることによって配線が通過できる領域を確保
することを行なう。この処理は、場合によっては、配置
処理によって得られた回路素子の最適な位置関係を壊す
ことになる。
For example, in an automatic integrated circuit design method using the standard cell method, after the placement of circuit elements is completed, the circuit elements are moved to secure an area through which wiring can pass. In some cases, this process destroys the optimal positional relationship of the circuit elements obtained by the placement process.

レイアウト設計における目的の一つに集積度の向上が上
げられるが、この目的を達することと、単にチップ領域
の面積が最小になるように回路素子を配置することとは
異なる。最終的にはチップ領域内には回路素子端子間を
接続する配線を構成する必要があるため、配置処理にお
いては端子間の配線を十分考慮したものでなければなら
ない。
One of the objectives in layout design is to improve the degree of integration, but achieving this objective is different from simply arranging circuit elements so that the area of the chip area is minimized. Ultimately, it is necessary to configure wiring connecting circuit element terminals within the chip area, so the wiring between the terminals must be sufficiently considered in the placement process.

上に挙げた例では、配線処理において回路素子を移動さ
せる必要が生じたならば、本来ならば、配置処理を再び
行なわなければならない。しかし、3− 各処理が完全に独立している処理フローでは配置と配線
の2つの処理を繰り返し行なうとは困難である。従来技
術では、配置、配線に処理を融合し、繰り返し行ないな
がらレイアウト設計を進めて行く方法は明示されていな
い。
In the above-mentioned example, if it becomes necessary to move a circuit element during the wiring process, the placement process would normally have to be performed again. However, in a process flow in which each process is completely independent, it is difficult to repeatedly perform the two processes of placement and wiring. In the prior art, there is no explicit method of integrating processing with placement and wiring and repeatedly performing layout design.

(発明が解決しようとする課題) 集積回路の集積度を向上させるために様々な技術が提案
されている。しかし、従来技術によるレイアウト設計の
処理フローは、配置、概略配線、詳細配線の各処理が個
々に独立したものであった。
(Problems to be Solved by the Invention) Various techniques have been proposed to improve the degree of integration of integrated circuits. However, in the layout design process flow according to the conventional technology, each process of placement, general wiring, and detailed wiring is performed independently.

このような処理フローでは、たとえ個々の処理が最適な
解を導出する方法であっても最終的なレイアウト結果に
おいて最適な解を得ることは困難である。本発明は、従
来独立して行なわれてきた処理を平行して行なうレイア
ウト設計方法を提案することを目的としている。
In such a processing flow, even if each process is a method for deriving an optimal solution, it is difficult to obtain an optimal solution in the final layout result. An object of the present invention is to propose a layout design method in which processes that have conventionally been performed independently are performed in parallel.

〔発明の構成〕[Structure of the invention]

(課題を解決するための手段) 本発明は上記事情に鑑みて為されたもので、回路素子を
チップ領域内の複数の帯状領域に配置4− し回路素子端子の結線要求を満たす配線を決定する際に
、前記チップ領域内に回路素子の配置・配線が決定され
た配置・配線決定領域と未だ回路素子の配置・配線が決
定されていない配置・配線未決定領域を持ち、配置・配
線決定領域の配置・配線情報をもとにして配置・配線未
決定領域の回路素子の概略配置を修正し、配置・配線未
決定領域内に帯状領域の長手方向と直交する方向に複数
の帯状領域に渡る配置・配線予定領域を決定し、この配
置・配線予定領域内の回路素子の詳細配置を決定すると
共に、配置・配線予定領域内の回路素子間の配線を決定
し、配置・配線決定領域及び詳細配置及び配線が決定さ
れた配置・配線予定領域を新たに配置・配線決定領域と
して登録更新することを特徴とするレイアウト設計方法
を提供するものである。
(Means for Solving the Problem) The present invention has been made in view of the above circumstances, and includes 4- arranging circuit elements in a plurality of band-shaped areas within a chip area and determining wiring that satisfies connection requirements for circuit element terminals. When doing so, the chip area has a placement/routing determined area where the placement/routing of circuit elements has been determined and a placement/routing undetermined area where the placement/routing of circuit elements has not yet been determined. The rough layout of the circuit elements in the undetermined placement/routing area is corrected based on the area's placement/routing information, and multiple strip areas are created in the undetermined placement/routing area in a direction perpendicular to the longitudinal direction of the band. Determine a planned placement/routing area to cross, determine detailed placement of circuit elements within this planned placement/routing area, determine wiring between circuit elements within the planned placement/routing area, The present invention provides a layout design method characterized by registering and updating a planned placement/routing area for which detailed placement and wiring has been determined as a new placement/routing determination area.

(作用) この発明はレイアウト設計を行なう際にチップ領域を幾
つかの小領域に分割し、この小領域の左の列から右の列
へと回路素子の詳細な配置と配線を同時に進め、チップ
全体のレイアラ1〜処理を完成させて行くことでレイア
ウト設計における配置、配線処理を平行処理が可能とな
る。
(Operation) This invention divides a chip area into several small areas when designing a layout, and simultaneously advances the detailed placement and wiring of circuit elements from the left column to the right column of these small areas, and By completing the entire layerer 1~ process, parallel processing of placement and wiring processing in layout design becomes possible.

(実施例) 以下、本発明の実施例を図面を交えながら説明していく
(Embodiments) Hereinafter, embodiments of the present invention will be described with reference to the drawings.

まず、本実施例で用いる言葉の定義を行なう。First, the terms used in this embodiment will be defined.

・セル:チップ上に配置されたセル間を配線することで
目的の回路を構成する。配線とセルを接続する端子は配
線層の第2層目におかれる。セル上の配線層は、第2層
目だけを利用することができ、配線を通過させることが
できる領域とできない領域を含む。
・Cell: Configure the target circuit by wiring between cells placed on a chip. Terminals that connect the wiring and cells are placed in the second wiring layer. Only the second layer of the wiring layer on the cell can be used, and includes regions where wiring can pass and regions where it cannot.

・チップ領域:集積回路のチップ領域は回路素子が帯状
に配置されたN個のセル行から構成する。
- Chip area: The chip area of an integrated circuit consists of N cell rows in which circuit elements are arranged in a strip.

・小領域二本発明では、第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は
、チップ領域のセル行数である。
・Small area 2 In the present invention, as shown in FIG. 4, (1) vertical cut lines 13V(k),
The chip area is divided into MXN rectangular areas by drawing k=1 to M-1 and (N-1) horizontal cut lines h(I), I=t to N-1. This rectangular area is represented by g(i,j), i=1 to M, j=1 to N, and is called a small area, where i is a column number and j is a row number. Here, N is the number of cell rows in the chip area.

小領域には、分割されたセル行を含む。そのセル行を構
成するセル集合を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)が含む分割
されたセル行である。
The small area includes divided cell rows. The cell set that constitutes that cell row is represented by s (i, j). However, since cell positions change every moment due to the processing according to the present invention, the cell row referred to here does not mean that the detailed positions of individual cells have been determined. A detailed explanatory diagram of the small area is shown in FIG. The left cut line 17 of the small region g (itj) is v (i, j), and the right cut line 18 is v (
i, j+1), cut the upper cut line 19 by h (i, j+
1), and let the lower cut line 20 be h(i, j). r (itj) is a divided cell row included in the small region 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)のセル上
を通過する。
・Through wiring: Pass through h b+J) and s (i, j)
h(ilj+IL v (II
j) + v baj+ Wiring passing through 1). The relaxation of the through wiring passing through the small region g(IIj) is expressed as th(xt
j). The through wiring passes over the cell r (IIj).

・スル一端子:セル上にスルー配線を通過させ7− るために、処理の便宜上、セル上にスルー配線を通過さ
せることができる領域に仮想的に設けた端子。本発明に
おける処理では、スルー配線はセル上を通過するときに
、−度この仮想的な端子に接続してから通過する。スル
一端子は常に1本のスルー配線とのみ接続し、他の配線
と接続することはない。
-Through terminal: A terminal virtually provided in an area where the through wiring can pass over the cell for processing convenience, in order to allow the through wiring to pass over the cell. In the processing according to the present invention, when a through wiring passes over a cell, it connects to this virtual terminal once before passing through. A through terminal is always connected to only one through wiring, and is never connected to any other wiring.

・スルーセル:スルー配線を通過させるための仮想的な
セル。スルー配線を通過させる領域を確保するために、
セル行の任意の位置に挿入する。
-Through cell: A virtual cell for passing through wiring. To secure an area for passing through wiring,
Insert at any position in the cell row.

スルーセルは、スル一端子を1個だけもつセルで、集積
回路の電気的構成には、なにも関与しない。
A through cell is a cell that has only one through terminal, and is not involved in the electrical configuration of the integrated circuit.

・スルー容量:小領域g(i、j)を通過することので
きるスルー配線の本数の上限。セル集合s(i。
-Through capacity: Upper limit on the number of through wiring that can pass through the small area g(i, j). Cell set s(i.

j)のセルのスル一端子の総和で表わされる。j) is expressed as the sum of all terminals of the cell.

・チャネル配線:小領域g(i、j)を通過する配線で
スルー配線以外の配線、g(i、j)を通過するチャネ
ル配線の総和をch(x、j)で表わす。
- Channel wiring: The total sum of wiring that passes through the small region g (i, j) other than through wiring and channel wiring that passes through g (i, j) is expressed as ch (x, j).

・ウィンドウ、確定領域、不確定領域二本発明による方
法では、配線ステップとセル位置の修正8− のステップを同時に行なうためにウィンドウと言う概念
を用いる。ウィンドウは、チップ領域をセル行と垂直に
設けられた長方形の領域であり、M個の小領域から構成
される。第4図に示す例では、ウィンドウ10は小領域
g (11j) + j= 1〜Nで構成されている。
- Window, Determined Area, Undetermined Area Two In the method according to the present invention, a concept called a window is used in order to perform the wiring step and the cell position correction step 8- at the same time. The window is a rectangular area provided in the chip area perpendicular to the cell rows, and is composed of M small areas. In the example shown in FIG. 4, the window 10 is composed of small areas g (11j) + j=1 to N.

このウィンドウを第2図、第3図に示すように、チップ
領域の左端から右端に移動させながらセル位置の修正と
配線を平行して行なう。ウィンドウより左の領域ではセ
ルの位置、配線が決定されている。この領域を確定領域
11とよぶ。ウィンドウより右の領域ではセルの位置、
配線は未定の状態である。この領域を不確定領域12と
よぶ。確定領域の配線結果により不確定領域内のセル位
置の修正を行ない、この配置結果よりウィンドウ内の配
線を行なう。
As shown in FIGS. 2 and 3, cell position correction and wiring are performed in parallel while moving this window from the left end to the right end of the chip area. In the area to the left of the window, cell positions and wiring are determined. This area is called a confirmed area 11. In the area to the right of the window, the cell position,
The wiring is in an undetermined state. This area is called an uncertain area 12. Cell positions in the uncertain area are corrected based on the wiring results in the confirmed area, and wiring within the window is performed based on the placement results.

第1図は、本発明の一実施例を示す処理フローを示した
図である。
FIG. 1 is a diagram showing a processing flow showing an embodiment of the present invention.

本発明では、まず集積回路を構成するセルの接続データ
ー(ネットリスト)及び規定セル行数Nを入力として受
は取り初期データーを作成する。
In the present invention, first, connection data (netlist) of cells constituting an integrated circuit and a specified number N of cell rows are inputted and initial data is created.

次に、この初期データーの作成方法の一例(ω〜■)を
示す。
Next, an example of how to create this initial data (ω to ■) will be shown.

■ 従来技術による配置処理によりN行のセル行からな
る、配置データーを作成する。
(2) Create placement data consisting of N cell rows by placement processing using conventional technology.

■ チップ領域に、(ト1)本の垂直方向のカットライ
ン、及び(N−1)本の水平方向のカットラインを入れ
ることによりMXN個の小領域g (iej) ri=
1〜M、j=1〜Nに分割する。
■ By inserting (G1) vertical cut lines and (N-1) horizontal cut lines in the chip area, MXN small areas g (iej) ri=
Divide into 1 to M, j=1 to N.

■ これらの小領域g (IIj)に含まれたセルをセ
ル集合s (IIj)とする。
(2) Let the cells included in these small areas g (IIj) be a cell set s (IIj).

この初期データーを受けてチップ領域のレイアウト設計
を幾つかのレベルに分けて行なう。なお、本実施例にお
ける例では、処理は1からMレベルの処理に分けてレイ
アウト設計を行なうことになる。それぞれのレベルの処
理において次に示すプロセスを実行する。
In response to this initial data, the layout design of the chip area is divided into several levels. In the example of this embodiment, the layout design is performed by dividing the processing into 1 to M level processing. The following processes are executed at each level of processing.

■ 不確定領域内の小領域に含まれるセル集合の再構成
を行なう2゜(配置修正) ■ 不確定領域の左端の一列の小領域を覆うウィンドウ
を形成する。
■ Reconfigure the cell set included in the small area within the uncertain area 2° (placement correction) ■ Form a window that covers a row of small areas at the left end of the uncertain area.

■ ウィンドウを通過する配線をウィンドウ内の小領域
に割り当てる3゜(概略配線)(へ) ウィンドウ内の
セル行を構成する4゜(詳細配置) ■ ウィンドウ内のチャネルの配線を行なう5゜(詳細
配線) 0 ウィンドウより右の領域を不確定領域とする6゜不
確定領域が存在しなければ処理を終了する。
■ Allocate the wiring that passes through the window to a small area within the window 3゜ (General wiring) (Go) 4゜ Configure cell rows within the window (Detailed placement) ■ 5゜ (Detailed placement) to route the channels within the window Wiring) 0 If there is no 6° uncertain area with the area to the right of the window as the uncertain area, the process ends.

以下、各ステップの詳細な説明を行なう。なお、ここで
にレベルまで処理が進んでいるものとして説明する。す
なわち、・カットラインV (k)より左の領域が確定
領域であり、右の領域が不確定領域である。確定領域は
小領域g (i、j)+ i = 1〜に−1゜j=1
〜Nで構成され、不確定領域は小領域g(baj) v
 1 = k−M t j= 1〜Nで構成されている
A detailed explanation of each step will be given below. Note that the explanation here assumes that the processing has progressed to this level. That is, the area to the left of the cut line V (k) is a definite area, and the area to the right is an uncertain area. The determined area is a small area g (i, j) + i = 1 to -1° j = 1
~N, and the uncertain region is a small region g(baj) v
1 = k-M t j = 1 to N.

また確定領域内の配置、配線は完了している。ウィンド
ウW(k)は小領域g(k+j)、j = 1〜Nで構
成されている。
Additionally, placement and wiring within the defined area have been completed. The window W(k) is composed of a small area g(k+j), j = 1 to N.

く配置修正〉 1− このプロセスでは不確定領域内の配置修正を行なう。Adjust the layout> 1- In this process, the placement within the uncertain region is corrected.

今、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
)とする。
Suppose now that k-level processing is to be performed. At this time lk)
The area to the right of 15 becomes the uncertain area 12. The uncertain region is composed of a small region g(iJ, 1=−Ml, j=1 to N. Let s(i, j) be a cell set allocated to the small region g (1+j). g baj) *i
= 1~M, s (i, I), i = 1~
The total sum of wiring that is not connected to any cell in M is TH(I
).

TI((I)=  Σth(i、I) i=1 である。g (xsI) v i= 1〜Nを通過する
配線の総和をCH(I)とする。
TI((I)=Σth(i,I) i=1. g (xsI) v i= Let the sum of the wiring passing through 1 to N be CH(I).

CH(I)= Σoh(I、j) −1 である。この2つの値を減少させるように不確定領域内
のセルの配置修正を行なう。確定領域の配線は完了して
いるので、確定領域の配線情報を不確定領域の配置修正
に反映させることができる。
CH(I)=Σoh(I,j)-1. The arrangement of cells within the uncertain region is corrected so as to decrease these two values. Since the wiring of the definite area has been completed, the wiring information of the definite area can be reflected in the layout correction of the uncertain area.

12− 配置修正プロセスの処理のフローを第21図に示す。こ
のプロセスは、次の[配線修正操作1]と[配線修正操
作2]からなる。
12- The processing flow of the placement correction process is shown in FIG. This process consists of the following [Wiring modification operation 1] and [Wiring modification operation 2].

[配置修正操作1] ■ 小領域g (irj)のセル集合S(i、j)と小
領域g (baj + 1)のs(i、j+1)とを合
成し1つのセル集合s (i、j)(baj +1)を
つくる。
[Placement correction operation 1] ■ Combine cell set S(i, j) of small region g (irj) and s(i, j+1) of small region g (baj + 1) to form one cell set 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)としている。
(2) Divide the cell set s (xyj) (Lj+1) into two cell sets s'(baj) and s(i, j+1). Here, s (itj) is a cell set newly included in the small region g (iyj), and s' (lyj+1) is a cell set newly included in the small region g (19j+1). The division index is the evaluation function: TH(i)+TH(j+1)→win(TH(i)+
Minimize TH(j+1). ) len(i,j)-1en(i,j+1)l-+min
(llen(i,j) −1On(i+j+ 1)l
minimize. ) is used. Note that Jan(i, j) is the sum of the lengths of cells included in g(xyj).

■ セル集合s’ (11j)をs baj)として登
録する。
■ Register the cell set s' (11j) as s baj).

セル集合s’(i、j+1)をs(i、j+1)として
登録する。
The cell set s'(i, j+1) is registered as 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)をつくる。
[Placement correction operation 2] ■ Combine cell set S (X+j) of small area g(i, j) and s(i, j+1) of small area g(i+1.j) and 1
Create a cell set 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を用いる。
■ Divide the cell set s (xtj) (1+1.j) into two cell sets "(xtj) and s'(i+1.j).Here, s'(1°j) is divided into the small area g(Lj). The newly included cell set s'(i+1.j) is the small area g(
This is a cell set newly included in i+1−j). The division index is the evaluation function: CH(i) +CH(i+ 1) → win11en(i
, j)-1en(i+1.j)→llll1n.

■ セル集合s’ (baj)をs (1rj)として
登録する。
■ Register the cell set s' (baj) as s (1rj).

セル集合s’ (i+ 1.J)をs(i+1tj)と
して登録する。
Register the cell set s' (i+1.J) as s(i+1tj).

配置修正プロセスは、第21図に示すように上記の[配
置修正操作1]と[配置修正操作2]を評価関数の改善
が無くなるまでi = k−M、 j = 1〜Nの小
領域に対し繰り返し行なう。
As shown in FIG. 21, the placement correction process involves performing the above [Placement correction operation 1] and [Placement correction operation 2] in a small area of i = k-M, j = 1 to N until there is no improvement in the evaluation function. Do this repeatedly.

〈概略配線〉 このプロセスでは、配線の概略の経路を決定する。kレ
ベルの処理では、小領域g (x、j) i=に−M、
j=1〜Nで構成される不確定領域を対象にして概略配
線処理を行なう。ここで言うところの概略図配線処理と
は、セルがどの小領域に属しているか、と言う情報のみ
にもとづいて、各配線が通過する小領域(概略経路)を
決定する処理である。
<General wiring> In this process, the general route of the wiring is determined. In k-level processing, the small region g (x, j) i=−M,
Rough wiring processing is performed for the uncertain region composed of j=1 to N. The schematic wiring process referred to here is a process that determines the small area (schematic route) through which each wire passes based only on information about which small area a cell belongs to.

kレベルの概略配線処理にでは、k−ルベルまでの処理
によって確定領域内の配置、配線は完了している。従っ
て、V (k)を通過して確定領域から不確定領域に入
力してくる配線は、求められている。これらの配線のな
かで、V(klj)を通過して小領域g(Lj)に入力
してくる配線の集合をd(k、j)とする。
In the k-level rough wiring process, the placement and wiring within the defined area are completed by the process up to the k-level. Therefore, the wiring that passes through V (k) and inputs from the definite area to the uncertain area is required. Among these wirings, a set of wirings passing through V(klj) and inputting into the small region g(Lj) is defined as 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。
In this process, a small region gci*J) within the uncertainty region
d(k, j), j=1 to N so that the number of wires passing through y 1 ” k-M p J = 1 to N is uniform.
and 5(LJLi = k −M, j = i =
5-schematic paths between cells included in N, and s(i, j), i = k = M, j
The purpose is to find a rough route between cells included in = i −N. However, in the processing flow according to the present invention, gci+j), i
Cell set s (
i.

j)は変動する。そのため、kレベルの概略配線処理で
構成した概略経路は、k+ルベル以降の処理により崩れ
てしまうものである。従って、不確定領域内の全てのセ
ル間の概略経路を、このプロセスで求めることは、処理
効率の点から必ずしも得策ではない。以下に示す概略配
線処理方法の一例は、ウィンドウW(k)にのみ注力し
たものである。
j) varies. Therefore, the rough route constructed by the k-level rough wiring process is destroyed by the k+level and subsequent processes. Therefore, it is not necessarily advisable from the point of view of processing efficiency to obtain approximate routes between all cells within the uncertain region through this process. An example of the general wiring processing method shown below focuses only on window W(k).

第22図に本実施例における概略配線処理のフローを示
す。このプロセスは、[概略配線操作1]と[概略配線
操作2]の2つの操作から構成される。第23図に[概
略配線処理2]の処理フローを示す。
FIG. 22 shows a schematic flow of wiring processing in this embodiment. This process consists of two operations: [General wiring operation 1] and [General wiring operation 2]. FIG. 23 shows the processing flow of [schematic wiring processing 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に含まれるセル間の概略経路は求めない。
In the k-level rough wiring process, d (klj) t J = 1~N and S(k, j)
, the approximate path between cells included in j=1 to N, 16- d(k, j), j=1 to N and 5 (+1 to LjL i=
~N + J = Approximate route to cells included in 1 to N, ・s (k, j) l j = Approximate route to cells included in 1 to N, ・s (ktjL j = 1−N and s (1+J)
An approximate route between cells included in t x = 1 to +1 to M and j = 1 to N is determined. s (i, j), i = +1 ~ M, j
= A rough route between cells included in 1 to N is not determined.

すなわち、1個以上のセルが5(LjL j=1〜Nに
属しているネットと、1個以上のセルが5(lyjL 
l=1〜に−1に属し、かつ、1個以上のセルがs(i
In other words, nets with one or more cells belonging to 5(LjL j=1 to N) and nets with one or more cells belonging to 5(lyjL
l=1 to −1, and one or more cells are s(i
.

jL i=に−M、j=1〜Nに属しているネットが、
kレベルにおける処理の対象となる。
The net belonging to jL i=−M and j=1 to N is
It is subject to processing at the k level.

また、対象となるネットにおいて、2個以上のセルが5
(LjL j=に+1〜Mに含まれている場合(すなわ
ち、2個以上のセルが不確定領域からウィンドウを除い
た領域に含まれている場合)は、これらのセルの中から
1個だけ選んでd (k、j)及TJ’s(k、j)の
セルとの間の概略経路を求める。セルを選ぶ場合の指標
としてはマンハッタン長を用い、s (k、j) t 
j= 1〜Nに属するセル(すなわち、ウィンドウに含
まれるセル)とマンハッタン長が最も近いセルを選ぶ。
Also, in the target net, two or more cells are 5
(If LjL j= is included in +1 to M (that is, if two or more cells are included in the area excluding the window from the uncertain area), only one of these cells Find the approximate route between the cells d (k, j) and TJ's (k, j). Use the Manhattan length as an index when selecting cells, and s (k, j) t
The cell whose Manhattan length is closest to the cell belonging to j=1 to N (that is, the cell included in the window) is selected.

ここで言うマンハッタン長とは、2個のセルを頂点に持
つ矩形の縦、横の辺の長さの和で表わす長さである。マ
ンハッタン長が同じセルが2個以上存在するときは、こ
れらのセルの中から水平方向の距離が最も短い小領域に
属するセルを選ぶ。
The Manhattan length referred to here is the length expressed as the sum of the lengths of the vertical and horizontal sides of a rectangle that has two cells at its vertices. When there are two or more cells with the same Manhattan length, the cell belonging to the small region with the shortest horizontal distance is selected from among these cells.

次にこのプロセスの各操作の詳細を述べる。Next, details of each operation in this process will be described.

[概略配線操作1] この操作で対象とする概略経路は接続するセルの位置関
係で一意的に定まるものである。次に概略経路が一意的
に決まる。セルの位置関係を示す。
[Rough wiring operation 1] The rough route targeted by this operation is uniquely determined by the positional relationship of the cells to be connected. Next, a rough route is uniquely determined. Indicates the positional relationship of cells.

d(k、I)。d(k, I).

満たすもの。Something that satisfies.

(イ)I>nかつm=k。(a) I>n and m=k.

(ロ)Innかつm=k。(b) Inn and m=k.

(ハ)I=nかつm≧に0 I=1−Nとs(m、n)が次の関係を・s (k、、
:+)とs (k、n)が次の関係を満たすもの。
(c) I=n and m≧0 I=1-N and s(m, n) have the following relationship ・s(k,,
:+) and s (k, n) satisfy the following relationship.

(ニ)I<n。(d) I<n.

(ホ)I)n。(E)I)n.

上記の条件を満たすセルについて、下記に示すパターン
の概略経路を割り当てる。概略経路の例を第6図から第
8図に示す。
For cells that meet the above conditions, a rough route of the pattern shown below is assigned. Examples of rough routes are shown in FIGS. 6 to 8.

(a) d (k、I)とs (m、n)との概略配線
(a) Schematic wiring between d (k, I) and s (m, n).

I)n、m=にの場合:v(k、I)およびh(k+j
Lj=n+1〜工を経過する経路。
I) For n, m=: v(k, I) and h(k+j
A route passing through Lj=n+1~.

I<n、m≦にの場合:v(k、I)およびh(k、j
)。
For I<n, m≦: v(k, I) and h(k, j
).

j=I+1〜nを経過する経路(第7図)。A route passing through j=I+1 to n (FIG. 7).

I=n、m=にの場合: v(itIL i=に−nを
経過する経路(第8図)。
For I=n, m=: v(itIL Path passing through i=-n (FIG. 8).

(b) s (k、I)とs (k、n)との概略配線
(第6図)。
(b) Schematic wiring between s (k, I) and s (k, n) (Fig. 6).

I > nの場合” h (k、j) l j=n +
 1〜Iを通過する経路。
If I > n, h (k, j) l j=n +
A route passing through 1-I.

I < nの場合:h(k、j)、j=■+1〜nを通
過する経路。
When I < n: h(k, j), path passing through j=■+1 to n.

[概略配線操作2コ この操作では[概略配線処理1]で未処理と19− したセルを対象とする。概略経路は一意的には定まらず
、幾つかのパターンを持つ。下にそのパターンを示す。
[Outline wiring operation 2] This operation targets cells that were marked as unprocessed in [Outline wiring processing 1]. The rough route is not uniquely determined and has several patterns. The pattern is shown below.

第9図から第13図に概略経路の例を示す。Examples of schematic routes are shown in FIGS. 9 to 13.

(a)  d (k、I)とs (i、n)+  i 
=に+1〜Mとの概略配線。
(a) d (k, I) and s (i, n) + i
Schematic wiring between = and +1 to M.

・I > nの場合(第11図): V(LIL v(k+1.I)+ ”・l V(1+I
L11(1+ILh (ilI−1)、−1h(1,n
+1)を通過する経路。
・In the case of I > n (Figure 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, 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)種類の概略配線のパタ
ーンがある。
v(k+1.n),..., a path passing through v(i,n). Generally, there are (n-1+1) types of general wiring patterns.

・I < nの場合: V(ktIL v(k+1.I)l−I V(itIL
 h(ilILh bt’r + LL”’th(1+
n)を通過する経路。
・When 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。
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)を通過する経路。I+3), ... A route passing through t h (ien).

20 v(k、I)、  h(k、III)、  h(k、I
+2)、・=、h(k、n)。
20 v(k, I), h(k, III), h(k, I
+2), ·=, h(k, n).

v (k +1 + n) +・・・、 v (i、n
)を通過する経路。一般的に(I−n+ 1 )種類の
概略配線のパターンがある。
v (k +1 + n) +..., v (i, n
). Generally, there are (I-n+1) types of general wiring patterns.

(d)  s (k、I)とs (itnL i =に
+t−M との概略配線。
(d) Schematic wiring between s (k, I) and 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)を通過する経路。
In the case of I>m (Fig. 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), v(k+1.l-1), v(k+2
.. l-1), -, v(i, l-1), h(i, l-1
)l h(ill-2)l-=route passing through lh(iln+1).

h(k、I)、 h(k、l−1)、・=、h(k、m
+1)、 v(k+1゜nL・・・l V (iln)
を通過する経路。一般的に(n−1+1)種類の概略配
線のパターンがある。
h(k, I), h(k, l-1), ・=, h(k, m
+1), v(k+1゜nL...l V (iln)
A route that passes through. Generally, there are (n-1+1) types of general wiring patterns.

・I < nの場合: v(k+1. IL”’t v(4J)y h(x、I
)、 h(x+工+1)、・・・、 h (i、n)を
通過する経路。
・If I < n: v(k+1.IL"'t v(4J)y h(x, I
), h (x + engineering + 1), ..., h A route passing through (i, n).

h(k、III)、v(k+1.III)、v(k+2
.III)。
h(k, III), v(k+1.III), v(k+2
.. III).

−、v(i、III)、h(i、1+2)、h(LI+
3)、・、h(i、n)を通過する経路。
−, v(i, III), h(i, 1+2), h(LI+
3), ·, a path passing through h(i, n).

h (k、I +1)−h (k、I + 2L□=−
h (k9m)、v (k+1、n)、・・・、 v 
(i、n)を通過する経路。一般的に(1−n+1)種
類の概略配線のパターンがある。
h (k, I +1)-h (k, I + 2L□=-
h (k9m), v (k+1, n), ..., v
A path passing through (i, n). Generally, there are (1-n+1) types of general wiring patterns.

・I=nの場合(第9図) : v(k+1.I)、 v(k+2.I)、−、v(i、
I)を通過する経路。
・When I=n (Figure 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
)を通過する経路。
h(k, I), v(k+1.l-1), v(k+2
.. l-1), -, v(i, l-1), h(i, l-1
).

上記の2種類のパターンがある。There are two types of patterns mentioned above.

(c) s(k、I)とs(k、I)との概略配線。(c) Schematic wiring between s(k, I) and s(k, I).

小領域g(k、I) 21内で配線する(第12図)。Wiring is done within the small region g(k, I) 21 (FIG. 12).

小領域g(k、l−1) 22を経由して配線する(第
13図)。
Wiring is done via the small area g(k, l-1) 22 (FIG. 13).

[概略配線操作2]では、次の評価関数を最小にするよ
うに概略経路の繰り返し改善を行なう。
In [Rough wiring operation 2], the rough route is iteratively improved so as to minimize the following evaluation function.

評価関数の改善が行なわれなくなれば処理は終了する。The process ends when the evaluation function is no longer improved.

概略配線の評価関数: th(k、j) : h(Lj)を通過しs (k、j
)のセルと接続しない配線の総数。
Rough wiring evaluation function: th (k, j): passes through h (Lj) and s (k, j
) total number of wires that do not connect to cells.

ch(ktj) : g (k、j)を通過する配線の
総数。
ch(ktj): Total number of wires passing through g(k,j).

く詳細配置〉 このプロセスでは、セル集合s (ktjL j=1〜
N(すなわち、ウィンドウW(k)内のセル集合)の詳
細な配置、スルーセルの挿入、スルー配線へのスル一端
子の割り付けを行なう。ここでの目的は、各チャネルに
おいて配線に使用するトラック数が最小になるようなセ
ル行をウィンドウW(k)内に構成することである。こ
のプロセスの処理フローを第24図に示す。詳細配置の
プロセスは、[詳細配置操作1]、[詳細配置操作2]
、[詳細配置操作3]の3つの操作からなる。
Detailed placement〉 In this process, cell set s (ktjL j=1~
The detailed arrangement of N (that is, the set of cells within window W(k)), the insertion of through cells, and the assignment of through terminals to through wiring are performed. The purpose here is to configure cell rows within window W(k) that minimize the number of tracks used for wiring in each channel. The processing flow of this process is shown in FIG. The process of detailed placement is [Detailed placement operation 1], [Detailed placement operation 2]
, [Detailed arrangement operation 3].

今、kレベルの処理を行なう場合を考える。各操作の詳
細を以下に示す。
Now, let us consider the case of performing k-level processing. Details of each operation are shown below.

[詳細配置操作1] この操作では、後の処理の初期配置を行なう。[Detailed placement operation 1] This operation performs initial placement for later processing.

処理は、ウィンドウ内の各セル行ごとに独立に行ない、
セル行間の相関関係は考慮しない。
Processing is performed independently for each cell row in the window,
Correlation between cell rows is not considered.

23− セル集合s(klj)を下記に示す3個の集合に分けて
セル行に配置する。
23- Divide the cell set s(klj) into the following three sets and arrange them in cell rows.

(a)セル集合s(k、j)において、v (k)を通
過する配線とのみ接続するセルの集合を5(klj)と
する。
(a) In the cell set s(k, j), let 5(klj) be the set of cells that are connected only to the wiring passing through v (k).

(b)セル集合5(klj)において、v(k+1)を
通過する配線とのみ接続するセルの集合を5r(k、j
)とする。
(b) In cell set 5(klj), the set of cells that are connected only to the wiring passing through v(k+1) is 5r(k,j
).

(c)セル集合s(k、j)から5i(k+xL 5r
(ktj)を除いた集合をsm(k、j)とする。
(c) From cell set s(k, j) 5i(k+xL 5r
Let the set excluding (ktj) be sm(k,j).

上記の3個の集合を次のように配置する。The above three sets are arranged as follows.

(a) 5l(k、j)のセルは、セル行33r(k、
j)の左に位置するように配置する。
(a) Cell 5l(k,j) is in cell row 33r(k,
Place it to the left of j).

(b) 5r(k、j)のセルは、セル行r(Lj)の
右に位置するように配置する。
(b) Cell 5r(k,j) is arranged to the right of cell row r(Lj).

(c) sm(k、j)のセルは、セル行r(Lj)の
中央に位置するように配置する。
(c) Cell sm(k,j) is arranged so as to be located at the center of cell row r(Lj).

第14図に、これらのセル集合の配置位置の相対的な関
係を示す。5l(k、j)は30の位置に、5r(k、
j)は31の位置に、sm(Lj)は32の位置に配置
される。
FIG. 14 shows the relative positional relationship of these cell sets. 5l(k,j) is at position 30, 5r(k,
j) is placed at position 31, and sm(Lj) is placed at position 32.

ただし、後の[詳細配置操作3]で配置改善を24 行なうので、それぞれのセルの詳細なX座標は簡単に決
める。
However, since the arrangement will be improved in the later [Detailed arrangement operation 3], the detailed X coordinate of each cell is easily determined.

[詳細配置操作2] この操作では、スルー配線40に対してスルー端子41
を割り当る処理、及びスルーセルの挿入の処理を行なう
。ここでの目的は、詳細な配線を行なったときに使用す
るトラック数が少なくなるようなセル配置が得られるよ
うに、スル一端子をスルー配線に割り当てること、及び
、必要に応じてスルーセルをセル行に対して挿入するこ
とである。
[Detailed placement operation 2] In this operation, the through terminal 41 is connected to the through wiring 40.
and inserting through cells. The purpose here is to assign through terminals to through wiring so that a cell arrangement that uses fewer tracks when detailed wiring is done, and to assign through cells to through wiring as necessary. Insert into a row.

従来技術では、セルの詳細な配置が終了してからスルー
配線がその上に通過するセルを決定する処理や、スルー
セルの挿入の処理を行なう。しかし、本発明では、スル
ー配線がどのセル上を通過するか、と言うこと、及び、
スルーセルの挿入するか否か、と言うことをあらかじめ
決定しておいてからセルの詳細な配置を行なう。このこ
とによりスルーセルの挿入によるセル位置のずれによる
弊害を防ぐことができ、また、スルー配線を考慮したセ
ル配置が可能となる。
In the prior art, after the detailed arrangement of cells is completed, the process of determining the cell over which the through wiring passes and the process of inserting the through cell are performed. However, in the present invention, it is difficult to determine which cell the through wiring passes over, and
After determining in advance whether or not to insert through cells, detailed cell placement is performed. This makes it possible to prevent problems caused by shifts in cell positions due to the insertion of through cells, and also to enable cell arrangement that takes through wiring into consideration.

ここで、次の条件を満たすセルからなる集合をsn+’
(k、j)とする。セル集合S(k、j)に属するセル
において、セル上にスルー配線を通過させることができ
る領域を持ち、接続する配線がV (k)とV(k+1
)を通過するものだけであり、かつ、V (k)を通過
する配線の総数とV(k+1)を通過する配線の総数が
同一である。
Here, the set consisting of cells satisfying the following condition is sn+'
(k, j). A cell belonging to the cell set S(k,j) has an area on the cell where a through wiring can pass, and the connecting wiring is V(k) and V(k+1
), and the total number of wires passing through V(k) is the same as the total number of wires passing through V(k+1).

sm’ (k、j)のセル上のスル一端子を゛′優先ス
ルー端子42”と呼ぶことにする。スルー配線には、″
優先スル一端子″を優先して割り当てる。なぜなら、s
m’ (k、j)に属するセルは、セル行r (klj
)のどの位置に配置されても、ウィンドウ内で使用する
トラック長に変化を与えない。従って、スル一端子に接
続したスルー配線が使用するトラック長のみを最小にす
るようにセルを配置すればよいことになる。簡単な例を
第17図、第18図に示す。
The through terminal on the cell of sm' (k, j) will be referred to as ``'priority through terminal 42''.
The priority s
Cells belonging to m' (k, j) are in cell row r (klj
) does not change the track length used within the window. Therefore, it is only necessary to arrange the cells so that only the track length used by the through wiring connected to the through terminal is minimized. Simple examples are shown in FIGS. 17 and 18.

これらはウィンドウ内の隣接する2つのセル行表わした
概略図である。この図において42は優先スル一端子、
40はスルー配線である。この場合、44のセル位置を
第17図に示す位置から第18図に示す位置に移動させ
ることだけで、ウィンドウ内で使用するトラック長を削
減することができる。第15図、第16図にスルー配線
を優先スル一端子以外のスル一端子に接続した場合の例
を示す。この場合、43のセルを第15図に示す位置か
ら第16図に示す位置へと移動することだけではウィン
ドウ内で使用するトラック長の削減には必ずしも貢献し
ない。
These are schematic diagrams representing two adjacent cell rows within a window. In this figure, 42 is a priority through terminal;
40 is a through wiring. In this case, the track length used within the window can be reduced simply by moving the cell position of 44 from the position shown in FIG. 17 to the position shown in FIG. FIGS. 15 and 16 show examples in which the through wiring is connected to the through terminal other than the priority through terminal. In this case, simply moving the 43 cells from the position shown in FIG. 15 to the position shown in FIG. 16 does not necessarily contribute to reducing the track length used within the window.

この例で示すように優先スル一端子以外のスルー端子を
スルー配線に割り当てた場合、ウィンドウ内の使用トラ
ック長を削減する処理の手間が複雑になる。
As shown in this example, when through terminals other than the priority through terminal are assigned to through wiring, the process of reducing the track length used within the window becomes complicated.

次の(ト)〜(3)のステップで処理を行なう。Processing is performed in the following steps (g) to (3).

■ スルー配線を1本選ぶ。■ Select one through wire.

■ スルー配線が通過するセル行から1個ずつスル一端
子を取りだし、割り当てる。
■ Extract through terminals one by one from the cell rows through which the through wiring passes and assign them.

割り当ては、次の条件下で行なう。The allocation will be made under the following conditions:

(a)優先スル一端子の中で未使用のものがあれば、そ
れを優先して割り当てる。もし未使用ものがなければ、
slI′(k、j)以外のセル上のスルーセルを割り当
てる。もし未使用のスル一端子7− が全くなければセル行r (k、j)にスルーセルを挿
入し、スルーセル上のスル一端子を割り当てる。後の[
詳細配置操作3]で配置位置の改善を行なうのでスルー
セルのX座標は簡単に決める。
(a) Priority - If there is an unused terminal among the terminals, it is assigned with priority. If there are no unused ones,
Allocate through cells on cells other than slI'(k,j). If there are no unused through terminals 7-, a through cell is inserted into the cell row r (k, j), and the through terminals on the through cells are assigned. After[
Since the placement position is improved in [Detailed placement operation 3], the X coordinate of the through cell is easily determined.

(b)セル行r (ktj−1)又はr(k、j+1)
に割り当てられたスル一端子が優先スル一端子でなく、
かつ、r (k、j)に未詳の優先スル一端子がなけれ
ば、r(k、j)にスルーセルを挿入し、スルーセル上
のスル一端子を割り当てる。後の[詳細配置操作3]で
配置位置の改善を行なうのでスルーセルのX座標は簡単
に決める。
(b) Cell row r (ktj-1) or r(k, j+1)
The through terminal assigned to is not the priority through terminal,
If there is no unknown priority through terminal in r (k, j), a through cell is inserted into r (k, j), and the through terminal on the through cell is assigned. Since the placement position will be improved in the later [Detailed placement operation 3], the X coordinate of the through cell is easily determined.

(3)スルー配線に割り付けられたスル一端子は使用済
みとして登録し、他のスルー配線には割り付けない・ 以上の処理を全てのスルー配線に対し行なう。
(3) Register the through terminals assigned to through wiring as used and do not assign them to other through wiring. Perform the above process for all through wiring.

[詳細配置操作3] この操作では、ウィンドウ内のセル行の仮装配線長を最
小にするようにセル配置の改善を行なう。
[Detailed placement operation 3] In this operation, cell placement is improved so as to minimize the virtual wiring length of the cell row within the window.

ここで言う仮想配線長とは、第19図、第20図に示2
8− す如く配線1本に対してトラック1本を割り当てた時の
トラック長である。また、スルー配線は、[詳細配置処
理2]で仮想端子に割り当てられているので、一般の配
線と同一に扱う。
The virtual wiring length referred to here is 2 as shown in Figures 19 and 20.
8- This is the track length when one track is assigned to one wiring. Furthermore, since the through wiring is assigned to a virtual terminal in [Detailed placement processing 2], it is treated in the same way as general wiring.

配置改善の評価関数として次のものを用いる。The following is used as an evaluation function for placement improvement.

I (i、x)  :チャネルiに属する配線Xの仮想
線長・ 配置改善の処理は、この評価関数が最小になるようにセ
ルを移動することで行なう。ただしセルは同一のセル行
内のみで移動可能とする。異なるセル行に移動すること
はしない。また、セルの移動は、ウィンドウ内で閉じて
いる。
I (i, x): The process of improving the virtual line length and arrangement of the wiring X belonging to channel i is performed by moving cells so that this evaluation function is minimized. However, cells can only be moved within the same cell row. It does not move to a different cell row. Also, cell movement is closed within the window.

例えば文献二゛′標準セル方式VLSIの配置手法とそ
の評価″″、小沢時典他、電子通信学会論文誌、’84
/10 Vol、J67  D N+110. pp、
1123−1130に示されているような従来行なわれ
ている配置改善では、各セル行を独立に処理するために
、セル行間の配線を評価することができない。本来なら
ば、全てのセル行を一度に扱いセル行間の配線も含めた
評価でセル配置を行なった方が良好な配置結果を得るこ
とができるはずだが、問題が大きくなりすぎるために全
てのセル行を一度に扱うことは困難である。しかし、本
発明に示す方法では一度に扱うセルはウィンドウに含ま
れているものだけなので、セル行を全て同時に処理して
も問題が大きくなりすぎることはない。このためセル行
間の配線も考慮することができる。
For example, Reference 2: ``Standard Cell VLSI Placement Method and Its Evaluation'', Tokinori Ozawa et al., Journal of the Institute of Electronics and Communication Engineers, '84
/10 Vol, J67 D N+110. pp,
In conventional placement improvements such as those shown in 1123-1130, each cell row is processed independently, and therefore wiring between cell rows cannot be evaluated. Normally, it would be possible to obtain better cell placement results by treating all cell rows at once and evaluating the wiring between cell rows, but since the problem becomes too large, It is difficult to handle rows at once. However, in the method of the present invention, only cells included in the window are handled at one time, so the problem does not become too great even if all cell rows are processed at the same time. Therefore, wiring between cell rows can also be taken into consideration.

本発明では、次のω〜(0に示すペア交換法を利用した
方法で配置改善を行なう。第25図にその処理フローを
示す。なお、第19図、第20図に処理の例を示す。第
20図は、第19図に示すセルA50とセルB51を交
換することにより評価関数が減少したことを示す例の図
である。
In the present invention, the arrangement is improved by a method using the pair exchange method shown in the following ω~(0. The processing flow is shown in Fig. 25. Examples of the processing are shown in Figs. 19 and 20. 20 is a diagram showing an example in which the evaluation function is reduced by exchanging cell A50 and cell B51 shown in FIG.

■ ウィンドウ内のセル列の中から、セル列をランダム
に選ぶ。今選ばれたセル列をr (klj)とする。
■ Select a random cell column from among the cell columns in the window. Let the currently selected cell column be r (klj).

(21r(k、j)の中からランダムにセルを2個選ぶ
。そのセルをsl、 s2とする。
(21R Select two cells at random from (k, j). Let these cells be sl and s2.

■ sl、 s2の位置を交換する。交換後のセル行を
r′(ktj)とする79゜ (イ) セルの交換後の評価関数を計算する。
■ Swap the positions of sl and s2. 79° (a) Calculate the evaluation function after cell exchange, assuming that the cell row after exchange is r'(ktj).

■ セルの交換によって評価関数が減少していればr 
’ (klj)→r(k、j)とする。増大していれば
slと82の位置を元にもどす。
■ If the evaluation function decreases due to cell exchange, r
'(klj)→r(k,j). If it has increased, the positions of sl and 82 are returned to their original positions.

0(1)〜0の処理を評価関数の改善が見られなくなる
まで繰り返す。
Processing from 0(1) to 0 is repeated until no improvement in the evaluation function is observed.

〈詳細配線〉 このプロセスではウィンドウ内のセル間の配線を行なう
。ウィンドウ内のスルー位置は“スルーの位置決めプロ
セス”で決定されているので、配線は各チャネルごとに
独立して行なうことができる。ただしウィンドウの左端
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個のチャネル
を対象にし、チャネルを左から右ヘスイープラインを移
動させながら(スイープラインより左の領域の配線を完
了させながら)配線をおこなう。
<Detailed wiring> In this process, wiring between cells within the window is performed. Since the through position within the window is determined by a "through positioning process," wiring can be performed independently for each channel. However, since the wiring to the left end of the window V(k) has been completed, channel wiring will be continued from V(k) to the right end of the window V(k+1). As a model, this is a wiring problem for an area where the terminal positions in three directions are fixed and the terminal positions in one direction are not fixed. Various wiring methods can be considered for such a region, but in this embodiment, a method called 1-'greedy' router is used. Details of this method can be found in Revest, R.L., an
d C, M, Fiduccia, A'greedy'
channel router in Proc,
19th Design Automation Con
f,, pp, 475-481. June 1982
.. is shown. The method in the above document targets one channel and performs wiring while moving the channel from left to right along a sweep line (while completing wiring in the area to the left of the sweep line).

従って、本発明のウィンドウ内の配線では、チャネルの
配線がlk) 15まで完了している。すなわちV (
k)までスイープラインが移動し終わっていると考え、
さらにV(k+1)16までスイープラインを移動させ
ると考えることによって’greedy’router
を利用することができる。
Therefore, in the wiring within the window of the present invention, channel wiring is completed up to lk)15. That is, V (
Considering that the sweep line has finished moving up to k),
By considering moving the sweep line further up to V(k+1)16, we can create a 'greedy' router.
can be used.

〔発明の効果〕〔Effect of the invention〕

以上説明したように、本発明によれば配置、配線処理を
平行して行なうことが可能となり、より集積度の高いレ
イアウト結果を得ることができる。
As described above, according to the present invention, placement and wiring processing can be performed in parallel, and a layout result with a higher degree of integration can be obtained.

【図面の簡単な説明】 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・・・優先スル一端子。
[Brief Description of the Drawings] 32- Fig. 1 is a diagram showing a processing flow of an embodiment of the present invention;
The figure is a diagram for explaining the layout design according to the present invention,
Figure 3 is a diagram showing a state in which the processing has progressed further than in Figure 2;
FIG. 4 is a diagram for explaining the division of the chip area, FIG. 5 is a diagram for explaining the small area, FIGS. 6 to 13 are diagrams for explaining the schematic wiring route, and FIG. is a diagram for explaining the initial arrangement, Figures 15 to 18 are diagrams for explaining the process of assigning through terminals to through wiring, and Figure 1 is a diagram for explaining the initial arrangement.
Figures 9 and 20 are diagrams for explaining virtual wiring between cells and cell placement improvement processing, Figure 21 is a diagram showing the processing flow of placement correction processing, and Figure 22 is a diagram showing the processing flow of general wiring processing. 23 is a diagram showing the processing flow of the iterative improvement unit in the general wiring process, FIG. 24 is a diagram showing the processing flow of the detailed placement process, and FIG. 25 is a diagram showing the processing flow of the iterative improvement unit in the detailed wiring process. FIG. In the figure, 10... Window, 11... Determined area, 1
2... Uncertain area, 13... Cut line,
14...Small area, 40...Through wiring, 41...Through one terminal, 42...Priority through one terminal.

Claims (1)

【特許請求の範囲】[Claims] 回路素子をチップ領域内の複数の帯状領域に配置し回路
素子端子の結線要求を満たす配線を決定する際に、前記
チップ領域内に前記回路素子の配置・配線が決定された
配置・配線決定領域と未だ回路素子の配置・配線が決定
されていない配置・配線未決定領域を持ち、前記配置・
配線決定領域の配置・配線情報をもとにして前記配置・
配線未決定領域の回路素子の概略配置を修正し、前記配
置・配線未決定領域内に前記帯状領域の長手方向と直交
する方向に前記複数の帯状領域に渡る配置・配線予定領
域を決定し、この配置・配線予定領域内の前記回路素子
の詳細配置を決定すると共に、前記配置・配線予定領域
内の前記回路素子間の配線を決定し、配置・配線決定領
域及び詳細配置及び配線が決定された前記配置・配線予
定領域を新たに配置・配線決定領域として登録更新する
ことを特徴とするレイアウト設計方法。
A placement/routing determination area in which the placement/routing of the circuit element is determined within the chip area when placing circuit elements in a plurality of band-shaped areas within the chip area and determining wiring that satisfies connection requirements of circuit element terminals. and has an undetermined placement/routing area where the placement/wiring of circuit elements has not yet been determined, and
The placement/routing information is based on the placement/routing information of the wiring determination area.
modifying the general arrangement of circuit elements in the undetermined wiring area, and determining a planned placement/routing area that spans the plurality of strip areas in a direction perpendicular to the longitudinal direction of the strip area in the undetermined placement/routing area; The detailed placement of the circuit elements within this planned placement/routing area is determined, and the wiring between the circuit elements within the planned placement/routing area is determined, and the placement/routing determination area and detailed placement and wiring are determined. A layout design method characterized by registering and updating the planned placement/routing area as a new placement/routing determination area.
JP2019281A 1990-01-31 1990-01-31 Designing method for layout Pending JPH03225941A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2019281A JPH03225941A (en) 1990-01-31 1990-01-31 Designing method for layout

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2019281A JPH03225941A (en) 1990-01-31 1990-01-31 Designing method for layout

Publications (1)

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

Family

ID=11995062

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2019281A Pending JPH03225941A (en) 1990-01-31 1990-01-31 Designing method for layout

Country Status (1)

Country Link
JP (1) JPH03225941A (en)

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
US3603771A (en) Input/output signal point assignment
US20020170029A1 (en) Method and apparatus for accurate crosspoint allocation in vlsi area routing
CN109684731B (en) Efficient detailed wiring driving track distribution method
US6397375B1 (en) Method for managing metal resources for over-the-block routing in integrated circuits
CN112989749B (en) Pin access method and device in layout wiring of integrated circuit
CN113987996A (en) Analog chip circuit winding method
Patyal et al. Pole-aware analog layout synthesis considering monotonic current flows and wire crossings
Kao et al. Cross point assignment with global rerouting for general-architecture designs
JP2002318827A (en) Integrated circuit manufacturing system
JPH08274179A (en) Method and device for designing wiring
US5475611A (en) Circuit structure, semiconductor integrated circuit and path routing method and apparatus therefor
JPH03225941A (en) Designing method for layout
JPH10173058A (en) Method for arrangement and interconnection
US5825659A (en) Method for local rip-up and reroute of signal paths in an IC design
KR20010024944A (en) A method for manufacturing and designing an electronic device and electronic apparatus
JP3641209B2 (en) Automatic placement and routing apparatus and automatic placement and routing method
Sarrafzadeh Hierarchical approaches to VLSI circuit layout
Chang et al. A robust over-the-cell channel router
JPH06209043A (en) Automatically arranging method and device for functional cell in designing digital lsi
JP2948932B2 (en) Semiconductor automatic wiring method
JPH06236419A (en) Parts arrangement studying device for wiring board
JPH0212856A (en) Wiring process of semiconductor integrated circuit device