JP2836434B2 - Multi-layer channel wiring device - Google Patents

Multi-layer channel wiring device

Info

Publication number
JP2836434B2
JP2836434B2 JP5089017A JP8901793A JP2836434B2 JP 2836434 B2 JP2836434 B2 JP 2836434B2 JP 5089017 A JP5089017 A JP 5089017A JP 8901793 A JP8901793 A JP 8901793A JP 2836434 B2 JP2836434 B2 JP 2836434B2
Authority
JP
Japan
Prior art keywords
horizontal line
horizontal
wiring
line segment
track
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Lifetime
Application number
JP5089017A
Other languages
Japanese (ja)
Other versions
JPH06302695A (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.)
NEC Corp
Original Assignee
Nippon Electric Co 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 Nippon Electric Co Ltd filed Critical Nippon Electric Co Ltd
Priority to JP5089017A priority Critical patent/JP2836434B2/en
Publication of JPH06302695A publication Critical patent/JPH06302695A/en
Application granted granted Critical
Publication of JP2836434B2 publication Critical patent/JP2836434B2/en
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Landscapes

  • Design And Manufacture Of Integrated Circuits (AREA)

Description

【発明の詳細な説明】DETAILED DESCRIPTION OF THE INVENTION

【0001】[0001]

【産業上の利用分野】本発明は、集積回路の多層チャネ
ル配線装置に関する。
BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to a multilayer channel wiring device for an integrated circuit.

【0002】[0002]

【従来の技術】集積回路の配線法の一つであるチャネル
配線法とは、図13に示すように多数の端子が一列に並
んだ端子列が二つ平行して置かれている場合に、各々の
端子に番号が与えられており同じ番号(ネット番号)を
もった端子の間に配線を施すという配線要求を、二つの
端子列の間の領域を用いて配線する方法である。同じ番
号を持った端子の集合のことをネットと呼び、ネットは
端子列に平行な線分(水平線分)と垂直な線分(垂直線
分)とで配線される。配線領域は2以上のある定まった
数の配線層を持っており、一つの層に注目した場合、平
行線分のみの配線、または垂直線分のみの配線を行う。
水平線分の配線が行われる層を水平配線層といい、垂直
線分の配線が行われる層を垂直配線層という。水平線分
と垂直線分の接続は、ビアによって行う。配線領域には
格子が切られており、水平線分および垂直線分は格子線
上に配線し、ビアは格子点に置く。端子列と平行な格子
線をトラックといい、垂直な格子線をコラムという。端
子が置かれているところには必ずコラムが通過してい
る。また、端子は垂直配線層に置かれていて、第2層の
端子と第4層の端子というように、同一コラム上に層を
かえて、複数の端子が存在する場合がある。配線要求
は、ネット(同じネット番号を持った端子の集合)の集
合として与えられる。
2. Description of the Related Art A channel wiring method, which is one of the wiring methods of an integrated circuit, is a method in which, as shown in FIG. This is a method in which a wiring request for wiring between terminals having the same number (net number) in which each terminal is given a number is provided by using an area between two terminal rows. A set of terminals having the same number is called a net, and the net is wired by a line segment (horizontal line segment) parallel to the terminal row and a vertical line segment (vertical line segment). The wiring area has a fixed number of wiring layers of two or more, and when focusing on one layer, wiring with only parallel lines or wiring with only vertical lines is performed.
The layer where the horizontal line is wired is called a horizontal wiring layer, and the layer where the vertical line is wired is called a vertical wiring layer. The horizontal and vertical line segments are connected by vias. A grid is cut in the wiring area, horizontal and vertical line segments are wired on grid lines, and vias are placed at grid points. Grid lines parallel to the terminal rows are called tracks, and vertical grid lines are called columns. The column always passes where the terminal is located. Further, the terminals are placed on a vertical wiring layer, and there are cases where a plurality of terminals are present on the same column by changing layers, such as a terminal on the second layer and a terminal on the fourth layer. The wiring request is given as a set of nets (a set of terminals having the same net number).

【0003】図13に示すように、2端子間のネットの
配線は、一つの水平線分と二つの垂直線分によって配線
を行う。各ネットの配線を複数の水平線分と複数の垂直
線分によって行うことも考えられるが、この場合配線が
非常に複雑になり全体の配線を終わらせるまでに莫大な
時間がかかってしまう。各ネットの配線を一つの水平線
分と二つの垂直線分に限ることで比較的容易に全体の配
線を行うことができる。
As shown in FIG. 13, the wiring of a net between two terminals is performed by one horizontal line segment and two vertical line segments. It is conceivable that the wiring of each net is performed by a plurality of horizontal line segments and a plurality of vertical line segments. However, in this case, the wiring becomes very complicated, and it takes an enormous amount of time to complete the entire wiring. By limiting the wiring of each net to one horizontal line segment and two vertical line segments, the entire wiring can be performed relatively easily.

【0004】図1を用いて、従来の多層チャネル配線装
置を説明する。図3は多層チャネル配線装置での配線手
順を示すフローチャートである。
A conventional multi-layer channel wiring device will be described with reference to FIG. FIG. 3 is a flowchart showing a wiring procedure in the multilayer channel wiring device.

【0005】水平線分生成装置102は、配線要求10
1を入力とし、配線要求の各々のネットから、水平線分
を作り出す。作業内容は、ネットが2個のみの端子を含
んでいる時には、x座標上で左側にある端子のx座標を
始点とし、x座標上で右側にある端子のx座標を終点と
する様な水平線分を生成する。また、ネットが3個以上
の端子を含んでいる時、それぞれの端子のx座標が、左
からx1,x2,x3,x4,…であるとすると、水平
線分[x1,x2],[x2,x3],[x3,x
4],…というように、複数の水平線分を生成する。
[0005] The horizontal line segment generation device 102 generates a wiring request 10
With 1 as an input, a horizontal line segment is created from each net of the wiring request. The work content is such that when the net contains only two terminals, the starting point is the x coordinate of the terminal on the left on the x coordinate, and the end point is the x coordinate of the terminal on the right on the x coordinate Generate minutes. When the net includes three or more terminals and the x-coordinate of each terminal is x1, x2, x3, x4,... From the left, horizontal line segments [x1, x2], [x2, x3], [x3, x
4],..., A plurality of horizontal line segments are generated.

【0006】水平線分の一つの端点と端子の間、もう一
つの端点と端子の間をそれぞれ垂直線分一つを用いて配
線が行われるが、接続される水平線分と垂直線分は、2
層以上離れた層に存在することができない。そのため、
先に生成されたそれぞれの水平成分は配線できる配線層
が限定されている。例えば、第2層の端子と第2層の端
子を結ぶネットの場合、二つの垂直線分は両方とも第2
層に配線されそれらの端点も両方とも第2層に現れ、そ
の二つの端点を結ぶ水平線分は、第1層または第3層に
配線することができる。しかし、第2層の端子と第4層
の端子を結ぶネットの場合、二つの垂直線分の端点がそ
れぞれ、第2層および第4層に現れるため、その水平線
分は第3層にしか配線できない。
Wiring is performed between one end point and a terminal of the horizontal line segment and between the other end point and the terminal using one vertical line segment.
It cannot exist in layers separated by more than one layer. for that reason,
Each of the previously generated horizontal components has a limited wiring layer that can be wired. For example, in the case of a net connecting the terminals of the second layer and the terminals of the second layer, both of the two vertical segments are the second lines.
Both end points are wired in the layer, and both end points also appear in the second layer, and a horizontal line connecting the two end points can be wired in the first layer or the third layer. However, in the case of a net connecting the terminal of the second layer and the terminal of the fourth layer, the end points of two vertical line segments appear on the second and fourth layers, respectively, so that the horizontal line segment is wired only to the third layer. Can not.

【0007】水平線分生成装置102では、水平線分の
生成と同時に、各水平線分にたいして配線が可能な水平
配線層の番号が水平線分にその属性として付加される。
水平線分生成装置102で生成された、配線可能な水平
配線層番号が付加された水平線分の集合は、垂直制約グ
ラフ管理装置103に出力される。
In the horizontal line segment generator 102, at the same time as the generation of the horizontal line segment, the number of the horizontal wiring layer that can be wired for each horizontal line segment is added to the horizontal line segment as its attribute.
Wiringable horizontal generated by the horizontal line generator 102
The set of horizontal line segments to which the wiring layer number is added is the vertical constraint group.
Output to the rough management device 103.

【0008】水平線分どうしが同一トラック同一層で重
なることは許されないし、垂直線分どうしが同一コラム
同一層で重なることは許されない。図14に示す様に、
二つのネットにおいて、同一コラム同一層に配線される
垂直線分が必要な場合、それらのネットの水平線分の間
には上下関係に制約が生じる。図14の例では、ネット
2の水平線分は、ネット1の水平線分よりも上側のトラ
ックに配線されなければならない。そこで、水平線分ど
うしの上下関係の制約を垂直制約グラフを用いて表現す
る。垂直制約グラフとは、各頂点が水平線分に対応し、
水平線分Aが水平線分Bよりも上側のトラックに配線さ
れなければならないとき、水平線分Aに対応する頂点か
ら水平線分Bに対応する頂点への有向辺を設けたグラフ
である。
It is not allowed that horizontal line segments overlap in the same track and the same layer, and vertical line segments are not allowed to overlap in the same column and the same layer. As shown in FIG.
When two nets require vertical line segments that are wired in the same column and the same layer, there is a restriction on the vertical relationship between the horizontal line segments of those nets. In the example of FIG. 14, the horizontal line segment of the net 2 must be routed to a track above the horizontal line segment of the net 1. Therefore, the constraint of the vertical relationship between the horizontal line segments is expressed using a vertical constraint graph. With a vertical constraint graph, each vertex corresponds to a horizontal line segment,
5 is a graph in which a directed edge from a vertex corresponding to the horizontal line segment A to a vertex corresponding to the horizontal line segment B is provided when the horizontal line segment A must be wired to a track above the horizontal line segment B.

【0009】垂直制約グラフ管理装置103では、水平
線分の集合を入力とし、すべてのコラムのすべての層
で、そのコラムのx座標を端点に持つ水平線分どうしの
上下制約関係を調べることによって、垂直制約グラフが
生成される。生成された垂直制約グラフは、垂直制約グ
ラフ保持手段104によって保持される。また、垂直制
約グラフ管理装置103は垂直制約グラフ保持手段10
4に保持されている垂直制約グラフを読みだし、垂直制
約グラフを以下に述べる操作により変形し、変形後の垂
直制約グラフを再び垂直制約グラフ保持手段104に出
力し保持させる。
The vertical constraint graph management device 103 receives a set of horizontal line segments as input, and examines the vertical constraint relationship between horizontal line segments having the x-coordinate of the column as an end point in all layers of all columns. A constraint graph is generated. The generated vertical constraint graph is held by the vertical constraint graph holding unit 104. Also, vertical system
About the graph management device 103, the vertical constraint graph holding means 10
4. Read the vertical constraint graph stored in
The graph is deformed by the operation described below, and the vertical
The direct constraint graph is output to the vertical constraint graph holding means 104 again.
Force and hold.

【0010】垂直制約グラフ上において有向閉路存在し
ている場合、配線要求はいくつかのネットの水平線分を
分割しない限りみたすことができない。例えば、有向閉
路A→B→C→D→Aは、Aがそれ自身よりも上側のト
ラックに配線されなければならないことを意味する。
When a directed cycle exists on a vertical constraint graph, a wiring requirement cannot be satisfied unless horizontal lines of some nets are divided. For example, a directed cycle A → B → C → D → A means that A must be wired to a track above itself.

【0011】垂直制約グラフ管理装置103では、垂直
制約グラフを生成した後にグラフ上に有向閉路が存在す
る場合、有向閉路上の任意の頂点に対応する水平線分を
二つの水平線分に分割する。水平線分を二つに分割した
後、垂直制約グラフに水平線分の分割に伴う更新を行う
と、一つの有向閉路が解消される。垂直制約グラフ管理
装置103では、垂直制約グラフ上に、有向閉路が存在
しなくなるまで、水平線分の分割という操作を行なう。
When a directed cycle exists on the graph after the vertical constraint graph is generated, the vertical constraint graph management device 103 divides a horizontal line segment corresponding to an arbitrary vertex on the directed cycle into two horizontal line segments. . After the horizontal line segment is divided into two, if the vertical constraint graph is updated by dividing the horizontal line segment, one directed cycle is eliminated. The vertical constraint graph management device 103 performs an operation of dividing a horizontal line segment until a directed cycle no longer exists on the vertical constraint graph.

【0012】垂直制約グラフ上において、頂点Aから頂
点Bへの有向路があるとき、頂点Aは頂点Bの先祖と呼
ばれ、頂点Bは頂点Aの子孫と呼ばれる。最上位トラッ
ク(上側の端子列に最も近いトラック)に配線すること
ができる水平線分は、垂直制約グラフ上で先祖を持たな
い頂点に対応する水平線分に限られる。同様に、最下位
トラック(下側の端子列に最も近いトラック)に配線す
ることができる水平線分は、垂直制約グラフ上で子孫を
持たない頂点に対応する水平線分に限られる。
When there is a directed path from vertex A to vertex B on the vertical constraint graph, vertex A is called an ancestor of vertex B, and vertex B is called a descendant of vertex A. The horizontal line segment that can be wired to the highest track (the track closest to the upper terminal row) is limited to a horizontal line segment corresponding to a vertex having no ancestor on the vertical constraint graph. Similarly, a horizontal line segment that can be wired to the lowest track (the track closest to the lower terminal row) is limited to a horizontal line segment corresponding to a vertex having no descendants on the vertical constraint graph.

【0013】配線操作は、第1トラック、第2トラッ
ク、第3トラックと順に行われる。まず第1トラックに
注目すると、第1トラックの水平配線層に配線できる水
平線分の候補は、垂直制約グラフ上で先祖を持たない頂
点に対応する水平線分の集合である。垂直制約グラフ管
理装置103は、後述する方法で水平線分の集合を抽出
しそれをトラック配線装置105に出力する。トラック
配線装置105は水平線分の集合を入力とし、配線した
水平線分だけを垂直制約グラフ管理装置103に戻す。
The wiring operation is performed in the order of the first track, the second track, and the third track. First, focusing on the first track, the horizontal line candidates that can be wired in the horizontal wiring layer of the first track are a set of horizontal line segments corresponding to vertices having no ancestors on the vertical constraint graph. Vertical constraint graph tube
The processing device 103 extracts a set of horizontal line segments by a method described later.
Then, it is output to the track wiring device 105. truck
The wiring device 105 receives a set of horizontal line segments as input and performs wiring.
Only the horizontal line segment is returned to the vertical constraint graph management device 103.

【0014】垂直制約グラフ管理装置103は、垂直制
約グラフ上で先祖を持たない頂点に対応する水平線分の
集合を抽出する(306)。水平線分同士が同一トラッ
ク同一配線層で重なってはならないため、候補となった
水平線分の全てが同時に一つのトラックに配線できると
は限らない。そこで抽出された水平線分の候補は、トラ
ック配線装置105に渡される。トラック配線装置10
5では、どの水平線分をそのトラックに配線するかを選
択し、同時にどの水平配線層に配線するかも決定する。
トラック配線装置の詳細についてはあとで説明する。
The vertical constraint graph management device 103 extracts a set of horizontal line segments corresponding to vertices having no ancestors on the vertical constraint graph (306). Since the horizontal line segments must not overlap in the same wiring layer on the same track, not all candidate horizontal line segments can be simultaneously wired to one track. The extracted horizontal line segment candidates are transferred to the track wiring device 105. Track wiring device 10
In step 5, which horizontal line segment is to be wired to the track is selected, and at the same time, which horizontal wiring layer is to be wired is also determined.
Details of the track wiring device will be described later.

【0015】トラック配線装置105は一トラックに配
線を行った(307)のち、配線した水平線分の集合を
垂直制約グラフ管理装置103に知らせてやる。垂直制
約グラフ管理装置103は、配線された水平線分に対応
する頂点を垂直制約グラフ保持手段104が保持してい
る垂直制約グラフから削除する(308)。
The track wiring device 105 performs wiring on one track (307), and then notifies the vertical constraint graph management device 103 of a set of wired horizontal lines. The vertical constraint graph management device 103 deletes vertices corresponding to the wired horizontal line segments from the vertical constraint graph held by the vertical constraint graph holding unit 104 (308).

【0016】そして、図3の304に戻り、垂直制約グ
ラフが空でない(すなわちまだ配線していない水平線分
が存在する)場合、次のトラックへの配線を行う。例え
ば第2トラックの場合、垂直制約グラフから第1トラッ
クに配線した水平線分に対応する頂点が削除された垂直
制約グラフ上において、先祖を持たない頂点に対応する
水平線分の集合が、第2トラックの水平配線層に配線さ
れる水平線分の候補となる。
Referring back to 304 in FIG. 3, if the vertical constraint graph is not empty (ie, there is a horizontal line segment that has not been wired yet), wiring to the next track is performed. For example, in the case of the second track, on the vertical constraint graph in which the vertices corresponding to the horizontal line segment wired to the first track are deleted from the vertical constraint graph, a set of horizontal line segments corresponding to the vertices having no ancestor is formed on the second track. Is a candidate for a horizontal line segment to be wired in the horizontal wiring layer.

【0017】図3のループ内の操作を、垂直制約グラフ
が空になるまで、すなわち、すべての水平線分が配線さ
れるまで繰り返す。繰り返しの回数だけトラックが必要
ということになる。
The operation in the loop of FIG. 3 is repeated until the vertical constraint graph becomes empty, that is, until all the horizontal segments are wired. This means that tracks are required as many times as the number of repetitions.

【0018】次にトラック配線装置105について説明
する。図11は従来のトラック配線装置の構成を示した
図であり、図12は従来のトラック配線装置の配線手順
を示すフローチャートである。
Next, the track wiring device 105 will be described. FIG. 11 is a diagram showing a configuration of a conventional track wiring device, and FIG. 12 is a flowchart showing a wiring procedure of the conventional track wiring device.

【0019】各トラックへの配線は、第1水平配線層、
第2水平配線層、第3水平配線層と順に行われる。配線
候補としてトラック配線装置に渡された水平線分の集合
をVとおく。各水平線分は、それらが配線できる水平配
線層が限定されている。各水平配線層iについて、Vの
なかで第i水平配線層に配線することができる水平線分
の集合をVi とおく。一つの水平線分が配線できる水平
配線層は一つとは限らないので、
The wiring to each track is formed by a first horizontal wiring layer,
The process is performed in the order of the second horizontal wiring layer and the third horizontal wiring layer. A set of horizontal line segments passed to the track wiring apparatus as wiring candidates is denoted by V. Each horizontal line segment has limited horizontal wiring layers on which they can be wired. For each horizontal wiring layers i, is denoted by V i the set of horizontal segments that can be wired to the i-th horizontal wiring layer among V. Since the number of horizontal wiring layers to which one horizontal line can be routed is not limited to one,

【0020】[0020]

【数1】 (Equation 1)

【0021】とはかぎらない。第1水平配線層への配線
候補である水平線分の集合V1 がすべてが同時に、第1
水平配線層に配線できるとは限らない。
This is not necessarily the case. The set V 1 of horizontal line segments that are wiring candidates to the first horizontal wiring layer are all
Wiring to the horizontal wiring layer is not always possible.

【0022】まず、水平線分管理装置1101は、トラ
ック配線装置に渡された水平線分の集合Vを水平線分保
持手段1102で保持し、そのなかから、第1水平配線
層に配線することができる水平線分の集合V1 を抽出し
(1203)、一行配線選択装置1103に渡す。一行
配線選択装置1103では、どの水平線分をそのトラッ
クのその水平配線層に配線するかを選択し、選択された
水平線分の集合は一行配線装置1104に渡される。一
行配線装置1104では、渡された水平線分の集合を、
一トラック一水平配線層に配線する。水平線分が配線さ
れた後、垂直線分が配線されることになるが、ネットの
水平線分が配線されたことによって、垂直線分の端点の
座標は決定しているので、垂直線分の配線は容易に行え
る。この垂直線分の配線作業も一行配線装置1104で
あわせて行われる。一行配線選択装置1103の詳細に
ついてはあとで説明する。
First, the horizontal line segment management device 1101 holds a set V of horizontal line segments passed to the track wiring device by the horizontal line segment holding means 1102, and from among them, a horizontal line segment that can be wired to the first horizontal wiring layer. extracts the partial set V 1 (1203), and passes the row wire selection apparatus 1103. The one-line wiring selection device 1103 selects which horizontal line is to be wired to the horizontal wiring layer of the track, and a set of the selected horizontal lines is passed to the one-line wiring device 1104. In the one-row wiring device 1104, the set of passed horizontal lines is
Wiring is performed on one track and one horizontal wiring layer. After the horizontal line is wired, the vertical line is wired.However, since the horizontal line of the net is wired, the coordinates of the end points of the vertical line are determined. Can be done easily. The wiring work of the vertical line is also performed by the single-row wiring device 1104. Details of the one-row wiring selection device 1103 will be described later.

【0023】第2水平配線層へ配線される水平線分の候
補は、もともと第2水平配線層への配線が可能な水平線
分の集合V2 から、第1水平配線層へ配線された水平線
分の集合U1 をとり除いたものである。
A candidate for a horizontal line segment wired to the second horizontal wiring layer is obtained from a set V 2 of horizontal line segments that can be wired to the second horizontal wiring layer from the horizontal line segment originally wired to the first horizontal wiring layer. in which removal of the set U 1.

【0024】一行配線選択装置1103は、選択された
水平線分の集合を一行配線装置1104にだけでなく、
水平線分管理装置1101にも知らせてやる。水平線分
管理装置1101は、一行配線選択装置1103から知
らされた水平線分を、水平線分保持手段1102で保持
している水平線分の集合から取り除く。
The one-line wiring selecting device 1103 not only transfers the selected horizontal line set to the one-line wiring device 1104 but also
The horizontal line segment management device 1101 is also notified. The horizontal line segment management device 1101 removes the horizontal line segment notified from the one-line wiring selection device 1103 from the horizontal line segment set held by the horizontal line segment holding unit 1102.

【0025】そして、図12の1202に戻り、次の水
平配線層への配線作業にうつる。次の水平配線層では、
現在、水平線分保持手段1102に保持されている水平
線分の集合から、水平線分管理装置1101により、そ
の水平配線層に配線できる水平線分の集合が抽出され、
一行配線選択装置1103により、次の水平配線層に配
線すべき水平線分の集合が選択される。図12のループ
内の操作は、水平配線層の数だけ繰り返えされる。
Then, returning to 1202 in FIG. 12, the operation for wiring to the next horizontal wiring layer is started. In the next horizontal wiring layer,
From the set of horizontal segments currently held in the horizontal segment holding means 1102, a set of horizontal segments that can be wired to the horizontal wiring layer is extracted by the horizontal segment management device 1101.
A set of horizontal lines to be wired to the next horizontal wiring layer is selected by the one-row wiring selection device 1103. The operation in the loop of FIG. 12 is repeated by the number of horizontal wiring layers.

【0026】トラック配線装置では、水平配線層の数だ
け一行配線選択装置1103が使われることになる。
In the track wiring device, one row wiring selection device 1103 is used by the number of horizontal wiring layers.

【0027】次に、一行配線選択装置について説明す
る。一行配線線選装置は、水平線分の集合を入力とし、
一トラック一水平配線層に配線できる水平線分の集合を
出力とする。入力された水平線分の集合をSとすると、
Sに属する各水平線分
Next, a one-line wiring selection device will be described. The one-line wiring line selection device receives a set of horizontal line segments as input,
A set of horizontal lines that can be wired on one track and one horizontal wiring layer is output. Let S be a set of input horizontal segments.
Each horizontal line segment belonging to S

【0028】 [0028]

【0029】には、重み関数w(s)が与えられている
ものとする。重み関数w(s)は、水平線分sが現在配
線を行っているトラックに配線されることの望ましさを
表す。重み関数w(s)は、水平線分sの長さをl、垂
直制約グラフ上で水平線分sに対応する頂点を始点とす
る有向路のうち最も経路の長いものの経路長をm、その
頂点につながる有向辺の数をcとし、ある3つの定数を
α,β,γとしたとき、w(s)=αl+βm+γcで
与えられる。水平線分に重みを与えることの意義は、あ
る水平線分を配線することによって、垂直制約グラフ上
で先祖を持たない頂点をできるだけ増やし、次のトラッ
クで配線候補となる水平線分がより多くなるような水平
線分を優先して配線することにある。このことは、配線
に必要なトラック数を少なくすることにつながる。一行
配線選択装置によって出力される水平線分の集台は、一
トラック一水平配線層に互いに重ならないで配線できる
水平線分の集合のうち、選択された水平線分の重み関数
の総和が最大となる水平線分の集合とする。このこと
は、一トラック一水平配線層に、重み関数の大きな水平
線分を優先して、できるだけ多くの水平線分を配線する
ことを意味する。一行配線選択装置が、一トラック一水
平配線層に互いに重ならないで配線できる水平線分の集
合のうち、選択された水平線分の重み関数の総和が最大
となる水平線分を選択する方法に関しては、文献[Ta
keshi Yoshimura,AnEfficie
nt Channel Router’’,Proc.
21stDA conf.pp.38−44,(198
4)]に記載されている。
It is assumed that a weighting function w (s) is given to. The weight function w (s) represents the desirability that the horizontal line segment s is wired to the track where the current wiring is performed. The weighting function w (s) is represented by the length l of the horizontal line segment s, the path length of the longest route among the directed paths starting from the vertex corresponding to the horizontal line segment s on the vertical constraint graph m, and the vertex thereof. Let c be the number of directed sides leading to, and α, β, γ be given by w (s) = αl + βm + γc. The significance of giving weight to horizontal line segments is that by wiring a certain horizontal line segment, the number of vertices that have no ancestors on the vertical constraint graph is increased as much as possible, and the next track will have more horizontal line segments that are wiring candidates. The purpose is to prioritize the horizontal line. This leads to a reduction in the number of tracks required for wiring. The collection of horizontal lines output by the one-line wiring selection device is a horizontal line having the maximum sum of the weight functions of the selected horizontal lines among a set of horizontal lines that can be wired without overlapping each other on one track and one horizontal wiring layer. Set of minutes. This means that as many horizontal line segments as possible are wired in one track and one horizontal wiring layer, with priority given to horizontal line segments having a large weighting function. Regarding a method for selecting a horizontal line segment in which a total sum of weight functions of selected horizontal line segments is maximum among a set of horizontal line segments that can be wired without overlapping each other on one track and one horizontal wiring layer by a one-row wiring selection device, [Ta
keshi Yoshimura, AnEfficie
nt Channel Router ", Proc.
21st DA conf. pp. 38-44, (198
4)].

【0030】[0030]

【発明が解決しようとする課題】従来の多層チャネル配
線装置のトラック配線装置は、一行配線選択装置を繰り
返して使用している。図7のような水平線分が、あるト
ラックへの配線候補であるとする。第1水平配線層、第
2水平配線層、第3水平配線層と順に一行配線選択装置
で選択した場合の水平線分の集合を図8に示す。第1水
平配線層に配線された水平線分は、第1水平配線層に重
ならないで配線できる水平線分のうち重み関数の総和が
最大となっている。同様に、第2水平配線層に配線され
た水平線分は、第1水平配線層に配線された水平線分を
取り除いた水平線分を配線候補とし、第2水平配線層に
重ならないで配線できる水平線分のうち重み関数の総和
が最大となっている。第3水平配線層に配線された水平
線分に関しても同様である。ここで、三つの水平配線層
に配線された水平線分の重み関数の総和は、28であ
る。しかし、図9のように第1水平配線層、第2水平配
線層、第3水平配線層に対して配線する水平線分を選択
した場合、その水平線分の重み関数の総和は、32とな
る。この例が示すように、一トラック一水平配線層に対
して順次、重み関数の総和が最大となるような水平線分
を選択していっても、一トラックに配線できる水平線分
の集合で重み関数の総和が最大になるようなものを、必
ずしも選択できないというこである。
The track wiring device of the conventional multi-layer channel wiring device repeatedly uses a one-line wiring selection device. It is assumed that a horizontal line segment as shown in FIG. 7 is a wiring candidate to a certain track. FIG. 8 shows a set of horizontal lines when the first horizontal wiring layer, the second horizontal wiring layer, and the third horizontal wiring layer are sequentially selected by the one-row wiring selection device. The horizontal line segment wired in the first horizontal wiring layer has the largest sum of the weighting functions among the horizontal line segments that can be wired without overlapping the first horizontal wiring layer. Similarly, a horizontal line segment wired in the second horizontal wiring layer is a horizontal line segment obtained by removing the horizontal line segment wired in the first horizontal wiring layer as a wiring candidate, and a horizontal line segment that can be wired without overlapping the second horizontal wiring layer. Among them, the sum of the weight functions is the largest. The same applies to the horizontal line segment wired in the third horizontal wiring layer. Here, the sum of the weighting functions of the horizontal line segments wired in the three horizontal wiring layers is 28. However, when a horizontal line segment to be wired to the first horizontal wiring layer, the second horizontal wiring layer, and the third horizontal wiring layer is selected as shown in FIG. 9, the sum of the weight functions of the horizontal line segments is 32. As shown in this example, even if a horizontal line segment that maximizes the sum of the weighting functions is sequentially selected for one track and one horizontal wiring layer, the weight function is determined by a set of horizontal line segments that can be wired to one track. That is, it is not always possible to select the one that maximizes the sum of

【0031】従来のトラック配線装置は、一行配線選択
装置を繰り返して使用するため、一トラックに配線され
た水平線分は、必ずしも重み関数の総和が最大であるよ
うな水平線分の集合ではないという欠点がある。また、
このトラック配線装置を持つ従来の多層チャネル配線装
置には、最終的な配線結果において、必要とするトラッ
ク数が必ずしも最小なものではないという欠点がある。
Since the conventional track wiring device repeatedly uses the one-line wiring selection device, the horizontal line segment wired in one track is not necessarily a set of horizontal line segments in which the sum of the weighting functions is maximum. There is. Also,
The conventional multilayer channel wiring device having this track wiring device has a disadvantage that the number of required tracks is not always minimum in the final wiring result.

【0032】本発明の目的は、必要とするトラック数が
最小であるような配線を行う、多層チャネル配線装置を
提供することにある。
An object of the present invention is to provide a multi-layer channel wiring apparatus for performing wiring such that the required number of tracks is minimized.

【0033】[0033]

【課題を解決するための手段】本発明の多層チャネル配
線装置は、ネットの集合である配線要求を入力とし、配
線要求の各々のネットから水平線分の集合を作り出す水
平線分生成装置と、水平線分の集合から垂直制約グラフ
を作る機能と、垂直制約グラフの更新をする機能をもっ
た垂直制約グラフ管理装置と、垂直制約グラフを保持す
る垂直制約グラフ保持手段と、一トラックに配線できる
水平線分の集合で重み関数の総和が最大になるようなも
のを選択し、選択された水平線分を配線するトラック配
線装置を有することを特徴とする。
According to the present invention, there is provided a multi-layer channel wiring apparatus which receives a wiring request as a set of nets and generates a horizontal line segment set from each net of the wiring request. , A vertical constraint graph management device having a function of updating the vertical constraint graph, a vertical constraint graph holding means for holding the vertical constraint graph, and a horizontal line segment that can be wired on one track. It is characterized by having a track wiring device for selecting a set that maximizes the sum of the weight functions in the set and wiring the selected horizontal line segment.

【0034】また、本発明の多層チャネル配線装置は、
水平線分の集合を入力とし、各水平線分sが現在配線を
行っているトラックに配線されることの望ましさを表す
重み関数w(s)を計算する重み関数計算装置と、前記
計算された重み関数w(s)を記憶する重み関数保持手
段と、各水平線分sの左端点よりも左に右端点を持つ第
i水平配線層に配線できる水平線分のうち右端点のx座
標が最も大き水平線分を示す写像Li (s)と、各水平
線分sの右端点よりも左に右端点を持つ第i水平配線層
に配線できる水平線分のうち右端点のx座標が最も大き
水平線分を示す写像Ri (s)を求める写像計算装置
と、写像Li (s),Ri (s)を記憶する写像保持手
段と、前記計算された重み関数w(s)および写像Li
(s),Ri (s)を用いて、トラックの部分的な区間
に配線できる水平線分の集合の重み関数の総和の最大値
Mを計算する部分区間最大重み計算装置と、トラックの
各部分区間に対する、前記計算されたMの値を記憶する
部分区間最大重み保持手段と、重み関数w(s)と写像
i (s),Ri (s)とトラックの全区間に配線でき
る水平線分の集合の重み関数の総和の最大値Mからその
トラックに配線できる重み関数の総和が最大な水平線分
の集合を求める水平線分探索装置と、水平線分探索装置
によって求められた水平線分の集合を配線する水平線分
配線装置と、水平線分探索装置によって求められた水平
線分に接続している垂直線分を配線する垂直線分配線装
置を有することを特徴とする。
Further, the multilayer channel wiring device of the present invention
A weighting function calculating device that receives a set of horizontal line segments as input, and calculates a weighting function w (s) representing the desirability that each horizontal line segment s is wired to the track currently being wired; Weight function holding means for storing the function w (s), and a horizontal line having the largest x-coordinate of the right end point among the horizontal line segments which can be wired to the i-th horizontal wiring layer having a right end point to the left of the left end point of each horizontal line segment s shows a map L i indicating the minutes (s), the most size horizontal line segment x coordinate of the rightmost point of the horizontal line segments can be wired to the i-th horizontal wiring layer having a rightmost point to the left of the right end point of each horizontal line s a mapping computing device for determining a mapping R i (s), mapping L i (s), and mapping the holding means for storing R i (s), the calculated weighting function w (s) and the mapping L i
(S) and R i (s), a partial section maximum weight calculation device for calculating the maximum value M of the sum of weight functions of a set of horizontal line segments that can be wired in partial sections of the track, and each part of the track Means for storing a maximum value of a partial section, which stores the calculated value of M for the section, a weighting function w (s), mappings L i (s), R i (s), and a horizontal line segment that can be wired to all sections of the track A horizontal line search device for obtaining a set of horizontal line segments having the maximum sum of weight functions that can be wired to the track from the maximum value M of the sum of the weight functions of the sets of the set, and wiring the set of horizontal line segments obtained by the horizontal line search device And a vertical line wiring device for wiring a vertical line connected to the horizontal line obtained by the horizontal line search device.

【0035】[0035]

【作用】本発明におけるトラック配線装置について説明
する。
The track wiring device according to the present invention will be described.

【0036】トラック配線装置に、配線候補として渡さ
れる水平線分の集合をVとおき、水平線部の数はnであ
るとする。また、一トラックにk個の水平配線層がある
とする。Vのなかで第i水平配線層に配線することがで
きる水平線分の集合をVi とおく。Vに属する水平線分
を、その右端点のx座標の小さい順にs1 ,s2
3 ,…,sn と名前をつける。便宜上、どの水平配線
層にも配線できる水平線分s0 =[0,0]を設ける。
Vに属する水平線分sにおいて、水平線分から水平線分
への写像を二種類定義する。写像Li (s)は、水平線
分sの左端点よりも左に右端点を持つVi 内の水平線分
のうち、右端点のx座標が最も大きい水平線分を表す。
写像Ri (s)は、水平線分sの右端点よりも左に右端
点を持つVi内の水平線分のうち、右端点のx座標が最
も大きい水平線分を表す。水平線分sの右端点のx座標
をs+ で表す。図7のような水平線分の集合の場合、水
平線分s1 1 の第2水平配線層の写像L,Rは、図10
に示されるように、R2 (s11 )=s1 0 ,L2 (s
1 1 )=s8 となる。
It is assumed that a set of horizontal line segments passed as wiring candidates to the track wiring device is V, and the number of horizontal line portions is n. Further, it is assumed that there are k horizontal wiring layers in one track. Put and V i the set of horizontal segments that can be wired to the i-th horizontal wiring layer among V. The horizontal line segments belonging to V are represented by s 1 , s 2 ,
s 3, ..., give a s n and name. For convenience, a horizontal line segment s 0 = [0,0] that can be wired to any horizontal wiring layer is provided.
In the horizontal line segment s belonging to V, two types of mapping from the horizontal line segment to the horizontal line segment are defined. Mapping L i (s), of the horizontal segments in V i with the right edge points to the left than the left end point of the horizontal line segment s, represents the x coordinate of the rightmost point largest horizontal segments.
Mapping R i (s), of the horizontal segments in V i with the right edge points to the left than the right end point of the horizontal line segment s, represents the x coordinate of the rightmost point largest horizontal segments. The x coordinate of the right end point of the horizontal line segment s is represented by s + . In the case of a set of horizontal line segments as shown in FIG. 7, the mappings L and R of the second horizontal wiring layer of the horizontal line segment s 11 are shown in FIG.
, R 2 (s 11 ) = s 10 , L 2 (s
1 1 ) = s 8 .

【0037】v1 ,v2 ,…,vk をそれぞれ水平線分
としたとき、M(v1 ,v2 ,…,vk )を、一トラッ
ク内の第1水平配線層の区間[0,v1 + ]、第2水平
配線層の区間[0,v2 + ]、…、第k水平配線層の区
間[0,vk + ]に配線することができる水平線分の集
合のうち、重み関数の総和が最大であるような水平線分
の集合の、重み関数の総和と定義する。
When v 1 , v 2 ,..., V k are each a horizontal line segment, M (v 1 , v 2 ,..., V k ) is defined as a section [0, v 1 + ], the section [0, v 2 + ] of the second horizontal wiring layer,..., of the set of horizontal segments that can be wired in the section [0, v k + ] of the k-th horizontal wiring layer, It is defined as the sum of the weighting functions of the set of horizontal line segments where the sum of the functions is the largest.

【0038】重み関数の総和が最大であるような水平線
分の集合のことを、最大重み水平線分集合と呼ぶ。
A set of horizontal line segments in which the sum of the weighting functions is maximum is called a maximum weight horizontal line segment set.

【0039】例えばM(s1 ,s0 ,s0 ,…,s0
の場合、第1水平配線層の区間[0,s1 + ]、第2水
平配線層の区間[0,0]、…、第k水平配線層の区間
[0,0]には、第1水平配線層へ水平線分s1 を配線
することしかできないので、M(s1 ,s0 ,s0
…,s0 )=w(s1 )となる。また、V内で最も右端
点のx座標が大きい水平線分vn の場合、区間[0,v
n + ]は一トラックの全区間を表し、M(vn ,vn
…,vn )は一トラックに配線できる最大重み水平線分
集合の重みの値を表す。水平線分s0 は[0,0]であ
り、M(s0 ,s0 ,…,s0 )の場合、長さ0の区間
にあたるのでM(s0 ,s0 ,…,s0 )=0となる。
For example, M (s 1 , s 0 , s 0 ,..., S 0 )
, The section [0, s 1 + ] of the first horizontal wiring layer, the section [0, 0] of the second horizontal wiring layer,..., The section [0, 0] of the k-th horizontal wiring layer include the first Since only the horizontal line segment s 1 can be wired to the horizontal wiring layer, M (s 1 , s 0 , s 0 ,
.., S 0 ) = w (s 1 ). Also, for the most x-coordinate of the rightmost point greater horizontal segments v n in V, the interval [0, v
n + ] represents the entire section of one track, and M (v n , v n ,
.., V n ) represent weight values of the maximum weight horizontal line set that can be wired in one track. Horizontal segments s 0 is a [0,0], M (s 0 , s 0, ..., s 0) For, since corresponds to a section of length 0 M (s 0, s 0 , ..., s 0) = It becomes 0.

【0040】v1 ,v2 ,…,vk をそれぞれ水平線分
としたとき、M(…)に関して次の式が成立する。
When v 1 , v 2 ,..., V k are each a horizontal line segment, the following equation holds for M (...).

【0041】[0041]

【数2】 (Equation 2)

【0042】例えば、図7のような水平線分が入力され
た水平線分の集台Vで、一トラックに3つの水平配線層
がある場合、 となる。また、M(s12,s12,s12)=32と
なる。M(s,s,…,s)は一トラックに配線
できる最大重み水平線分集合の重みの値を表しているだ
けであるが、M(s,s,…,s)の値から各M
(…)と、R(s),L(s)の値を利用して実際
の一トラックに配線で最大重み水平線分集合を求めるこ
とができる。
For example, in the case of a collection V of horizontal lines to which horizontal lines are input as shown in FIG. 7, when one track has three horizontal wiring layers, Becomes M (s 12 , s 12 , s 12 ) = 32. M (s n, s n, ..., s n) but is merely representative of the value of the weight of the maximum weight horizontal segments set can be routed to one track, M (s n, s n , ..., s n) From the value of
By using (...) and the values of R i (s) and L i (s), the maximum weight horizontal line set can be obtained by wiring in one actual track.

【0043】[0043]

【実施例】図1を用いて、本発明の多層チャネル配線装
置の実施例を説明する。図3は多層チャネル配線装置で
の配線手順を示すフローチャートである。
DESCRIPTION OF THE PREFERRED EMBODIMENTS Referring to FIG. 1, an embodiment of a multilayer channel wiring device according to the present invention will be described. FIG. 3 is a flowchart showing a wiring procedure in the multilayer channel wiring device.

【0044】水平線分生成装置102は、配線要求10
1を入力とし、配線要求の各々のネットから、水平線分
を作り出す。ネットが2個のみの端子を含んでいる時に
は、x座標上で左側にある端子のx座標を始点とし、x
座標上で右側にある端子のx座標を終点とする様な水平
線分を生成する。また、ネットが3個以上の端子を含ん
でいる時、それぞれの端子のx座標が、左からx1,x
2,x3,x4,…であるとすると、水平線分[x1,
x2],[x2,x3],[x3,x4],…というよ
うに、複数の水平線分を生成する。水平線分の生成と同
時に、各水平線分にたいして配線が可能な水平配線層の
番号が水平線分にその属性として付加される。
The horizontal line segment generator 102 generates the wiring request 10
With 1 as an input, a horizontal line segment is created from each net of the wiring request. When the net includes only two terminals, the starting point is the x coordinate of the terminal on the left side on the x coordinate, and x
A horizontal line segment is generated such that the end point is the x coordinate of the terminal on the right side on the coordinates. When the net includes three or more terminals, the x-coordinate of each terminal is x1, x from the left.
2, x3, x4, ..., a horizontal line segment [x1,
x2], [x2, x3], [x3, x4],... At the same time as the generation of the horizontal line segment, the number of the horizontal wiring layer that can be wired to each horizontal line segment is added to the horizontal line segment as an attribute.

【0045】垂直制約グラフ管理装置103は、水平線
分の集合を入力とし、すべてのコラムのすべての層で、
そのコラムのx座標を端点に持つ水平線分どうしの上下
制約関係を調べることによって、垂直制約グラフを生成
する。垂直制約グラフを生成した後にグラフ上に有向閉
路が存在する場合、有向閉路上の任意の頂点に対応する
水平線分を二つの水平線分に分割し、垂直制約グラフ上
の有向閉路を除去する。生成された垂直制約グラフは、
垂直制約グラフ保持手段104によって保持される。
The vertical constraint graph management device 103 receives a set of horizontal line segments as input, and in all layers of all columns,
A vertical constraint graph is generated by examining the vertical constraint relationship between horizontal line segments having the x coordinate of the column as an end point. If a directed cycle exists on the graph after generating the vertical constraint graph, the horizontal line segment corresponding to any vertex on the directed cycle is divided into two horizontal line segments, and the directed cycle on the vertical constraint graph is removed. I do. The generated vertical constraint graph is
It is held by the vertical constraint graph holding unit 104.

【0046】垂直制約グラフ管理装置103は、垂直制
約グラフ上で先祖を持たない頂点に対応する水平線分の
集合を抽出する機能と(306)、水平線分に対応する
頂点を垂直制約グラフから削除する機能を持っている
(308)。
The vertical constraint graph management device 103 has a function of extracting a set of horizontal line segments corresponding to vertices having no ancestors on the vertical constraint graph (306), and deletes vertices corresponding to horizontal line segments from the vertical constraint graph. It has a function (308).

【0047】トラック配線装置105は、従来で説明し
たトラック配線装置と異なり、垂直制約グラフ管理装置
103によって抽出された水平線分の集合を入力とし、
一トラックに配線できる水平線分の集合で重み関数の総
和が最大になるようなものを配線し、配線された水平線
分の集合を垂直制約グラフ管理装置103に知らせる。
The track wiring device 105 is different from the track wiring device described above in that the set of horizontal segments extracted by the vertical constraint graph management device 103 is input,
A set of horizontal line segments that can be wired in one track is wired such that the sum of the weighting functions is maximum, and the set of wired horizontal line segments is notified to the vertical constraint graph management device 103.

【0048】図3のフローチャートが示すように、一ト
ラック毎にトラック配線装置105を用いて配線を行
う。垂直制約グラフ保持手段104によって保持されて
いる垂直制約グラフが空になるまで、すなわちすべての
水平線分がトラックに配線されるまで、トラックを増や
しながら配線操作が繰り返される。この繰り返しの回数
分のトラックが配線要求を満たすために必要となる。
As shown in the flowchart of FIG. 3, wiring is performed using the track wiring device 105 for each track. The wiring operation is repeated while increasing the number of tracks until the vertical constraint graph held by the vertical constraint graph holding unit 104 becomes empty, that is, until all the horizontal line segments are wired to the tracks. Tracks for the number of repetitions are required to satisfy the wiring requirements.

【0049】図2は、本発明のトラック配線装置の実施
例を説明するための図である。図4はトラック配線装置
での配線手順を示すフローチャートである。
FIG. 2 is a diagram for explaining an embodiment of the track wiring apparatus of the present invention. FIG. 4 is a flowchart showing a wiring procedure in the track wiring device.

【0050】トラック配線装置は、水平線分の集合を入
力とし、一トラックに配線できる最大重み水平線分集合
を一トラックに配線する装置である。トラック配線装置
の入力となる水平線分の集合をSとし、Sの水平線分に
は、その右端点のx座標の小さい順にs,s
,…,sと名前がつけられる。図4、図5及び図
6では、水平線分の名前は整数として参照する。すなわ
ち、整数1は水平線分s を示し、整数2は水平線分s
を示し、整数kは水平線分s を示す。添字付きi
は、水平線分を示す整数とする。写像R (i )及び
(i )は、水平線分を示す整数i を入力とし、
水平線分を示す整数を出力とする。重み関数w(i
は水平線分を示す整数i を入力とし実数を出力する。
関数M(i ,i ,…,i )は、水平線分を示す整
数i ,i ,…,i を入力とし関数値は実数値を取
る。
The track wiring device is a device that receives a set of horizontal line segments as input and routes a set of maximum weighted horizontal line segments that can be wired in one track to one track. A set of horizontal line segments that are input to the track wiring device is denoted by S, and the horizontal line segments of S include s 1 , s 2 ,.
s 3, ..., s n and are named. FIG. 4, FIG. 5 and FIG.
In 6, the name of the horizontal line is referred to as an integer. Sand
Chi, integer 1 indicates the horizontal segments s 1, integer 2 horizontal line s
2 shows the integer k is an horizontal segments s k. Subscript i
Is an integer indicating a horizontal line segment. The mappings R i ( ik ) and
L i (i k) inputs the integer i k indicating the horizontal line,
Output an integer indicating the horizontal line segment. Weight function w ( ik )
Outputs the real inputs the integer i k that indicates the horizontal line.
The function M (i 1 , i 2 ,..., Ik ) is an integer indicating a horizontal line segment.
The number i 1, i 2, ..., function value as input i k is taken a real value
You.

【0051】図4のフローチャート中の401の処理
は、水平線分の集合201を入力とする重み関数計算装
置202で行われ、重み関数計算装置202で計算結果
は重み関数保持手段203に出力される。重み関数計算
装置202は、水平線分の集合を入力とし各水平線分s
が現在配線を行っているトラックに配線されることの望
ましさを表す重み関数w(s)を計算する。重み関数w
(s)は、水平線分sの長さをl、垂直制約グラフ上で
水平線分sに対応する頂点を始点とする有向路のうち最
も経路の長いものの経路長をm、その頂点につながる有
向辺の数をcとし、ある3つの定数を数をα,β,γと
したとき、w(s)=αl+βm+γcで与えられる。
計算された重み関数w(s)は、重み関数保持手段20
3により記憶される。
Step 401 in the flowchart of FIG .
Is a weight function calculator that receives a set 201 of horizontal segments as an input.
The calculation result is calculated by the weight function calculator 202.
Is output to the weight function holding means 203. The weighting function calculation device 202 receives a set of horizontal line segments as input, and
Calculates a weighting function w (s) that represents the desirability of being wired to the track currently being wired. Weight function w
(S) indicates that the length of the horizontal line segment s is l, the path length of the longest one of the directed paths starting from the vertex corresponding to the horizontal line segment s on the vertical constraint graph is m, and is connected to the vertex. When the number of sides is c and three constants are α, β, and γ, w (s) = αl + βm + γc.
The calculated weight function w (s) is stored in the weight function holding unit 20.
3 is stored.

【0052】図4のフローチャート中の402の処理
は、水平線分の集合201を入力とする写像計算装置2
04で行われ、写像計算装置204での計算結果は写像
保持手段205に出力される。写像計算装置204は、
各水平配線層iと各水平線分sに関して、水平線分sの
左端点よりも左に右端点を持つV内の水平線分のう
ち、右端点のx座標が最も大きい水平線分を表す写像L
(s)と、水平線分sの右端点よりも左に右端点を持
つV内の水平線分のうち、右端点のx座標が最も大き
い水平線分を表す写像R(s)を求める。求められた
写像R(s),L(s)は、写像保持手段205に
よって記憶される。
Process 402 in the flowchart of FIG .
Is a mapping calculation device 2 which receives a set 201 of horizontal line segments as an input.
04, and the result of the calculation by the mapping calculation device 204 is a mapping.
It is output to the holding means 205. The mapping calculation device 204
For each horizontal wiring layers i and the horizontal line segment s, of the horizontal segments in V i with the right edge points to the left than the left end point of the horizontal line segment s, mapping L representing the x coordinate of the rightmost point has the largest horizontal segments
i and (s), of the horizontal segments in V i with the right edge points to the left than the right end point of the horizontal line segment s, obtaining the mapping R i (s) that the x coordinate of the rightmost point represents the highest horizontal segments. The obtained mappings R i (s) and L i (s) are stored by the mapping holding means 205.

【0053】図4のフローチャート中の403から41
3の処理は、重み関数保持手段203に保持されている
重み関数と、写像保持手段205に保持されている写像
と、部分区間最大重み保持手段207に保持されている
部分区間最大重み値M(…)を入力とする部分区間最大
重み計算装置206で行われ、部分区間最大重み計算装
置206での計算結果は、部分区間最大重み保持手段2
07に出力される。部分区間最大重み計算装置206
は、前記計算された重み関数w(s)および写像L
(s),R(s)を用いて、トラックの部分的な区
間に配線できる最大重み水平線分集合の重みMを計算す
る。v,v,…,vをそれぞれ水平線分とし、水
平線分vの右端点のx座標をv(募)で表したとき、一
トラック内の第1水平配線層の区間[0,v ]、第
2水平配線層の区間[0,v ]、…、第k水平配線
層の区間[0,v ]をあわせたトラックの部分的区
間に配線することができる最大重み水平線分集合の重み
M(v,v,… v)を計算する。M(v,v
,…,v)は次の計算式によって計算される。
In the flowchart of FIG .
The processing of No. 3 is held in the weight function holding means 203.
Weight function and mapping held in mapping holding means 205
And held in the partial section maximum weight holding means 207.
Partial section maximum with partial section maximum weight value M (...) as input
This is performed by the weight calculation device 206,
The result of the calculation in the unit 206 is the
07. Subsection maximum weight calculator 206
Is the calculated weight function w (s) and the mapping L
Using i (s) and R i (s), the weight M of the maximum weight horizontal line segment set that can be wired in a partial section of the track is calculated. When v 1 , v 2 ,..., v k are each a horizontal line segment and the x coordinate of the right end point of the horizontal line segment v is represented by v (recruitment), the section [0, v] of the first horizontal wiring layer in one track 1 + ], the section [0, v 2 + ] of the second horizontal wiring layer,..., The maximum that can be wired in a partial section of the track including the section [0, v k + ] of the k-th horizontal wiring layer. The weight M (v 1 , v 2 ,... V k ) of the weight horizontal line set is calculated. M (v 1 , v
2, ..., v k) is calculated by the following formula.

【0054】[0054]

【数3】 (Equation 3)

【0055】部分区間最大重み計算装置206を使っ
て、図4のフローチャートの順番に組{v1 ,v2
…,vk }のすべての可能性の組み合わせに関して、M
(v1 ,v2 ,…,vk )の値を計算する。図4のフロ
ーチャートの順番にM(…)を計算すれば、あるM(v
1 ,v2 ,…,vk )の値を計算するために必要な別の
M(…)は、既に計算されていることになる。一度、計
算されたM(…)の値は、部分区間最大重み保持装置2
07により記憶される。部分区間最大重み保持装置20
7に記憶されているM(…)の値は、部分区間最大重み
計算装置が別のM(…)の値を計算する際に適宜参照さ
れる。図5のフローチャートは前述の式を計算する手順
を示したものである。
Using the partial section maximum weight calculator 206, the sets {v 1 , v 2 ,.
.., V k } for all possible combinations of M
The value of (v 1 , v 2 ,..., V k ) is calculated. By calculating M (...) In the order of the flowchart of FIG.
1, v 2, ..., v k) Another required to calculate the value of M (...) would have already been computed. Once calculated, the value of M (...)
07 is stored. Subsection maximum weight holding device 20
The value of M (...) stored in 7 is referred to when the partial section maximum weight calculation device calculates another value of M (...). The flowchart of FIG. 5 shows a procedure for calculating the above-described equation.

【0056】図4のフローチャート中の414の処理
は、重み関数保持手段203に保持されている重み関数
と、写像保持手段205に保持されている写像と、部分
区間最大重み保持手段207に保持されている部分区間
最大重み値M(…)を入力とする水平線分探索装置20
8で行われ、水平線分探索装置208で探索された水平
線分の集合は、水平線分配線装置209に出力される。
水平線分探索装置208は、重み関数w(s)と写像L
(s),R(s)とトラックの部分区間に配線でき
る最大重み水平線分集合の重みMからそのトラックに配
線できる最大重み水平線分集合自体を求める。
Step 414 in the flowchart of FIG .
Is the weight function held in the weight function holding means 203
And the mapping held by the mapping holding means 205
Partial section held in section maximum weight holding means 207
Horizontal line segment search device 20 that receives maximum weight value M (...) as input
8 performed by the horizontal line segment search device 208.
The set of line segments is output to the horizontal line segment wiring device 209.
The horizontal line segment search device 208 calculates the weight function w (s) and the mapping L
From i (s), R i (s) and the weight M of the maximum weight horizontal line set that can be wired in a subsection of the track, the maximum weight horizontal line set that can be wired to that track is itself obtained.

【0057】図6のフローチャートは水平線分探索装2
08が、一トラックに配線できる最大重み水平線分集合
を求める作業手順を示したものである。この作業は部分
区間最大重み計算装置206が、最後に計算したM(s
n ,sn ,…,sn )から、M(sn ,sn ,…,
n )が計算された過程を逆順にたどることによって行
われている。水平線分探索装208内の操作手順の図6
の608の作業は部分区間最大重み計算装置の操作手順
の図5の503と506の作業が行われた場合に対応す
る後戻りで、以下、609には503と507の作業、
612には504と506の作業、613には504と
507の作業がそれぞれ対応する。図5のフローチャー
トで503と506の作業が行われたということは、そ
の時点で重み関数の引数となった水平線分を含むよう
な、最大重み水平線分集合が存在することを意味する。
503と506の作業に対応する、図6の608の前に
607でその水平線分にマークが付けられる。水平線分
探索装置208は、逆順にたどる操作が終了したとき
に、マークが付けられている水平線分の集合を最大重み
水平線分集合として出力する。
The flowchart of FIG.
Reference numeral 08 denotes an operation procedure for obtaining a maximum weight horizontal line segment set that can be wired in one track. This work is performed by the partial section maximum weight calculation unit 206 using the last calculated M (s
n, s n, ..., from the s n), M (s n , s n, ...,
s n ) is performed by following the calculation process in reverse order. FIG. 6 of an operation procedure in the horizontal line segment search unit 208
The operation 608 is a regression corresponding to the case where the operations 503 and 506 in FIG. 5 of the operation procedure of the partial section maximum weight calculating apparatus are performed. Hereinafter, the operations 503 and 507 are described in 609.
612 corresponds to the operations 504 and 506, and 613 corresponds to the operations 504 and 507, respectively. The fact that the operations 503 and 506 are performed in the flowchart of FIG. 5 means that a set of maximum weighted horizontal line segments that includes the horizontal line segment which became the argument of the weight function at that time exists.
The horizontal line is marked at 607 before 608 in FIG. 6, corresponding to the operations of 503 and 506. When the operation of following the reverse order is completed, the horizontal line segment search device 208 outputs a set of marked horizontal line segments as a maximum weighted horizontal line segment set.

【0058】水平線分配線装置209は、水平線分探索
装置208により出力された最大重み水平線分集合を入
力とし、それらの配線を行う。
The horizontal line segment wiring device 209 receives the maximum weighted horizontal line segment set output from the horizontal line segment search device 208 as an input, and routes them.

【0059】垂直線分配線装置210は、水平線分配線
装置209によって配線された水平線分に接続する垂直
線分を配線する。
The vertical segment wiring device 210 wires a vertical segment connected to the horizontal segment wired by the horizontal segment wiring device 209.

【0060】[0060]

【発明の効果】本発明の多層チャネル配線装置によれ
ば、トラックごとに最大重み水平線分集合を配線するの
で、もっとも望ましい水平線分の集合が各トラックに配
線される。このため、最終的な配線結果において使用ト
ラック数が最小なものを得ることができる。また、一ト
ラックに配線できる水平線分の集合で重み関数の総和が
最大なものをみつけだすことができる。
According to the multilayer channel wiring apparatus of the present invention, the maximum weight horizontal line set is wired for each track, so that the most desirable horizontal line set is wired to each track. For this reason, a track with the smallest number of tracks used in the final wiring result can be obtained. In addition, a set of horizontal line segments that can be wired in one track can be found with the largest sum of weight functions.

【図面の簡単な説明】[Brief description of the drawings]

【図1】本発明の多層チャネル配線装置の実施例の構成
FIG. 1 is a configuration diagram of an embodiment of a multilayer channel wiring device of the present invention.

【図2】本発明のトラック配線装置の実施例の構成図FIG. 2 is a configuration diagram of an embodiment of a track wiring device of the present invention.

【図3】本発明の多層チャネル配線装置での配線手順を
示した図
FIG. 3 is a diagram showing a wiring procedure in the multilayer channel wiring device of the present invention.

【図4】本発明のトラック配線装置での配線手順を示し
た図
FIG. 4 is a diagram showing a wiring procedure in the track wiring device of the present invention.

【図5】部分区間最大重みの計算の手順を示した図FIG. 5 is a diagram showing a procedure of calculating a partial section maximum weight.

【図6】最大重み水平線分集合を探索する手順を示した
FIG. 6 is a diagram showing a procedure for searching for a set of maximum weighted horizontal line segments;

【図7】水平線分の集合の例を示した図FIG. 7 is a diagram showing an example of a set of horizontal line segments;

【図8】従来のトラック配線装置の配線結果を示した図FIG. 8 is a diagram showing a wiring result of a conventional track wiring device.

【図9】最適なトラック配線の結果を示した図FIG. 9 is a diagram showing a result of an optimum track wiring;

【図10】写像L、Rを説明する図FIG. 10 is a diagram illustrating mappings L and R.

【図11】従来のトラック配線装置の構成図FIG. 11 is a configuration diagram of a conventional track wiring device.

【図12】従来のトラック配線装置での配線手順を示し
た図
FIG. 12 is a diagram showing a wiring procedure in a conventional track wiring device.

【図13】チャネル配線領域の図FIG. 13 is a diagram of a channel wiring region.

【図14】水平線分の垂直制約を説明するための図FIG. 14 is a diagram for explaining a vertical constraint on a horizontal line segment;

【符合の説明】[Description of sign]

102 水平線分生成装置 103 垂直制約グラフ管理装置 104 垂直制約グラフ保持手段 105 トラック配線装置 202 重み関数計算装置 203 重み関数保持手段 204 写像計算装置 205 写像保持手段 206 部分区間最大重み計算装置 207 部分区間最大重み保持手段 208 水平線分探索装置 209 水平線分配線装置 210 垂直線分配線装置 1101 水平線分管理装置 1102 水平線分保持手段 1103 一行配線選択装置 1104 一行配線装置 Reference Signs List 102 horizontal line segment generator 103 vertical constraint graph management device 104 vertical constraint graph holding means 105 track wiring device 202 weight function calculation device 203 weight function holding device 204 mapping calculation device 205 mapping holding device 206 partial section maximum weight calculation device 207 partial section maximum Weight holding means 208 Horizontal line segment search device 209 Horizontal line segment wiring device 210 Vertical line segment wiring device 1101 Horizontal line segment management device 1102 Horizontal line segment holding device 1103 Single line selection device 1104 Single line wiring device

Claims (1)

(57)【特許請求の範囲】(57) [Claims] 【請求項1】ネットの集合である配線要求を入力とし、
配線要求の各々のネットから水平線分の集合を作り出す
水平線分生成装置と、水平線分の集合から垂直制約グラ
フを作る機能と、垂直制約グラフの更新をする機能をも
った垂直制約グラフ管理装置と、垂直制約グラフを保持
する垂直制約グラフ保持手段と、一トラックに配線でき
る水平線分の集合で重み関数の総和が最大になるものを
選択し選択された水平線分を配線するトラック配線装置
有し、 前記トラック配線装置が、水平線分の集合を入力とし、
各水平線分sが現在配線を行っているトラックに配線さ
れることの望ましさを表す重み関数w(s)を計算する
重み関数計算装置と、前記計算された重み関数w(s)
を記憶する重み関数保持手段と、各水平線分sの左端点
よりも左に右端点を持つ第i水平配線層に配線できる水
平線分のうち右端点のx座標が最も大き水平線分を示す
写像L i (s)と、各水平線分sの右端点よりも左に右
端点を持つ第i水平配線層に配線できる水平線分のうち
右端点のx座標が最も大き水平線分を示す写像R i
(s)を求める写像計算装置と、写像L i (s),R i
(s)を記憶する写像保持手段と、前記計算された重み
関数w(s)および写像L i (s),R i (s)を用い
て、トラックの部分的な区間に配線できる水平線分の集
合の重み関数の総和の最大値Mを計算する部分区間最大
重み計算装置と、トラックの各部分区間に対する、前記
計算されたMの値を記憶する部分区間最大重み保持手段
と、重み関数w(s)と写像L i (s),R i (s)と
トラックの全区間に配線できる水平線分の集合の重み関
数の総和の最大値Mからそのトラックに配線できる重み
関数の総和が最大な水平線分の集合を求める水平線分探
索装置と、水平線分探索装置によって求められた水平線
分の集合を配線する水平線分配線装置と、水平線分探索
装置によって求められた水平線分に接続している垂直線
分を配線する垂直線分配線装置を有することを特徴とす
る、多層チャネル配線装置。
1. A wiring request as a set of nets is inputted.
A horizontal line segment generating device that generates a set of horizontal line segments from each net of the wiring request, a function of creating a vertical constraint graph from the set of horizontal line segments, and a vertical constraint graph management device having a function of updating the vertical constraint graph, A vertical constraint graph holding means for holding a vertical constraint graph, and a track wiring device for selecting a set of horizontal segments that can be wired in one track and having a maximum sum of weighting functions and wiring the selected horizontal segment , The track wiring device receives a set of horizontal line segments as input,
Each horizontal line segment s is routed to the track currently being routed.
A weighting function w (s) representing the desirability of
A weight function calculating device, and the calculated weight function w (s)
And a left end point of each horizontal line segment s
Water that can be wired to the i-th horizontal wiring layer having the right end point to the left of
The x coordinate of the right end point of the flat line segment indicates the largest horizontal line segment
The mapping L i (s) and the right to the left of the right end point of each horizontal line segment s
Of the horizontal line segments that can be wired to the i-th horizontal wiring layer having an end point
Mapping R i where x coordinate of the rightmost point shows the most size horizontal segments
A mapping calculation device for calculating (s) and mappings L i (s) and R i
Mapping holding means for storing (s), and the calculated weights
Using the function w (s) and the mappings L i (s), R i (s)
Collection of horizontal lines that can be routed in partial sections of the truck
Of the sub-interval for calculating the maximum value M of the sum of the weight functions
A weight calculation device, and for each partial section of the track,
Subsection maximum weight holding means for storing the calculated value of M
And weighting function w (s) and mappings L i (s), R i (s)
Weight function of a set of horizontal line segments that can be routed to all sections of the track
Weight that can be wired to the track from the maximum value M of the sum of numbers
A horizontal line search for finding the set of horizontal lines with the largest sum of functions
Horizons and the horizon determined by the horizon searcher
Line segment wiring device to wire a set of minutes and horizontal line segment search
Vertical line connected to the horizontal line determined by the device
Having a vertical line segment wiring device for wiring segments.
Multi-layer channel wiring device.
JP5089017A 1993-04-16 1993-04-16 Multi-layer channel wiring device Expired - Lifetime JP2836434B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP5089017A JP2836434B2 (en) 1993-04-16 1993-04-16 Multi-layer channel wiring device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP5089017A JP2836434B2 (en) 1993-04-16 1993-04-16 Multi-layer channel wiring device

Publications (2)

Publication Number Publication Date
JPH06302695A JPH06302695A (en) 1994-10-28
JP2836434B2 true JP2836434B2 (en) 1998-12-14

Family

ID=13959145

Family Applications (1)

Application Number Title Priority Date Filing Date
JP5089017A Expired - Lifetime JP2836434B2 (en) 1993-04-16 1993-04-16 Multi-layer channel wiring device

Country Status (1)

Country Link
JP (1) JP2836434B2 (en)

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2656840B2 (en) * 1989-12-22 1997-09-24 松下電器産業株式会社 Channel wiring device

Also Published As

Publication number Publication date
JPH06302695A (en) 1994-10-28

Similar Documents

Publication Publication Date Title
JP4227304B2 (en) Outline wiring method and apparatus, and recording medium storing outline wiring program
Sun et al. Efficient and effective placement for very large circuits
JP3544422B2 (en) Article placement device
US6349403B1 (en) Interative, gridless, cost-based layer assignment coarse router for computer controlled IC design
US6066178A (en) Automated design method and system for synthesizing digital multipliers
JPH0785249B2 (en) Design support device
US6223328B1 (en) Wire processing method, wire processing equipment, and recording medium for wire processing program used in designing a large scale integrated circuit
CN112332306A (en) Automatic cable laying method and storage medium
JP4376670B2 (en) Steiner tree processing apparatus, Steiner tree processing method, and Steiner tree processing program
JP2836434B2 (en) Multi-layer channel wiring device
JP3579613B2 (en) Guide map summarizing method, guide map summarizing apparatus, and program recording medium for guide map summarization
JP2004240751A (en) Picture retrieval device
US10424096B1 (en) Technique for orthogonal edge routing of directed layered graphs with edge crossings reduction
JP3530025B2 (en) Schematic wiring determination method and storage medium
JP3280771B2 (en) Fan-out disassembly method
JP3165180B2 (en) Graph figure automatic layout device
JP2000268046A (en) Information processor
JP2858328B2 (en) Network diagram automatic generation method and system
JPH07244689A (en) Device and method for route determination
JPH10294380A (en) Method for hierarchical layout and recording medium
JPH06236419A (en) Parts arrangement studying device for wiring board
JP2982874B1 (en) Line drawing processing method, recording medium recording line drawing processing program, halftone vector data creation method, and recording medium recording halftone vector data creation program
JPH09160961A (en) Method for optimally searching route
JP3111081B2 (en) Data retrieval device
Eschbach et al. Interactive circuit diagram visualization