JPH0642255B2 - Terminal position determination method of functional block in IC - Google Patents
Terminal position determination method of functional block in ICInfo
- Publication number
- JPH0642255B2 JPH0642255B2 JP62220608A JP22060887A JPH0642255B2 JP H0642255 B2 JPH0642255 B2 JP H0642255B2 JP 62220608 A JP62220608 A JP 62220608A JP 22060887 A JP22060887 A JP 22060887A JP H0642255 B2 JPH0642255 B2 JP H0642255B2
- Authority
- JP
- Japan
- Prior art keywords
- terminal
- blocks
- wiring
- terminal position
- terminals
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Lifetime
Links
- 238000000034 method Methods 0.000 title claims description 29
- 238000013461 design Methods 0.000 description 15
- 238000012545 processing Methods 0.000 description 15
- 238000010586 diagram Methods 0.000 description 10
- 230000000694 effects Effects 0.000 description 3
- XAGFODPZIPBFFR-UHFFFAOYSA-N aluminium Chemical compound [Al] XAGFODPZIPBFFR-UHFFFAOYSA-N 0.000 description 1
- 229910052782 aluminium Inorganic materials 0.000 description 1
- 238000005452 bending Methods 0.000 description 1
- 238000007796 conventional method Methods 0.000 description 1
- 238000012937 correction Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 229910021420 polycrystalline silicon Inorganic materials 0.000 description 1
- 229920005591 polysilicon Polymers 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
Description
【発明の詳細な説明】 〔産業上の利用分野〕 本発明はコンピュータエイデットデザイン(CAD)の
ための方式に関し、特に、ICの機能ブロックにおける
入出力端子の位置を決定する方式に関する。The present invention relates to a method for computer edit design (CAD), and more particularly to a method for determining the position of input / output terminals in a functional block of an IC.
近年、半導体集積回路装置の集積度の向上にともない、
特に、機能ブロック(CPU,レジスタ,カウンタ等、
いくつもの素子が結合して、あるまとまりをもった大き
なブロック)をチップの最適位置に配置するというチッ
プフロアプランが必要不可欠になっており、CADを利用
したレイアウト設計が、この分野においても適用されつ
つある。チップフロアプランにおいて重要な問題の一つ
は、機能ブロック間を結ぶ配線を接続するための入出力
端子を機能ブロックの辺上の最適位置に配置することで
ある。この端子位置が不適切であると、機能ブロック間
を結ぶ配線が不必要に曲折し、配線領域が増大して機能
ブロック間の間隔が大きくなりチップ面積の増大を招
く。In recent years, with the improvement in the degree of integration of semiconductor integrated circuit devices,
In particular, functional blocks (CPU, registers, counters, etc.
A chip floor plan in which a large number of elements are combined and a certain large block is placed at the optimum position of the chip is indispensable, and layout design using CAD is also applied in this field. It's starting. One of the important problems in the chip floor plan is to arrange the input / output terminals for connecting the wirings connecting the functional blocks at optimal positions on the sides of the functional blocks. If this terminal position is improper, the wiring connecting the functional blocks is unnecessarily bent, the wiring area is increased, the interval between the functional blocks is increased, and the chip area is increased.
従来の機能ブロックの端子位置を決定する方法の一例を
第9図,第10図,第11図を用いて説明する。An example of a conventional method for determining the terminal position of a functional block will be described with reference to FIGS. 9, 10 and 11.
第9図はCADを利用したICレイアウト設計の手順の
概略を示すフローチャートである。FIG. 9 is a flowchart showing the outline of the procedure of IC layout design using CAD.
まず、機能ブロックを概略的に配置し(ステップ130
0)、機能ブロック辺上に仮端子位置を決定する(ステ
ップ1400)。仮端子とは、各機能ブロックの辺上に配置
される複数の端子を代表して集約して表す仮の端子であ
り、以後の処理は、この仮端子を目印として行なわれ
る。この仮端子位置の決定方法の従来例を第10図に示
す。すなわち、機能ブロックの中心間を結ぶ線分と機能
ブロックの境界辺(実際には存在しないが、機能ブロッ
クが占有しているとみなされる領域の境界を定めた仮想
辺、以下、ブロック辺ともいう)との交点に端子を配置
する方法である(情報処理学会第30回(昭和60年前期)
全国大講演論文集(III)P、2077スタンダードセルLSI
のフロアプランシステム作成支援−システム概要−)。
ブロックAとブロックB,C,Dとをそれぞれ接続する
場合、それぞれのブロックの中心O1,O2,O3,O4とを結
び、この線分と各機能ブロックの境界辺との交点に仮端
子Q1〜Q6を配置する。次に、各機能ブロック間をグロー
バル配線で接続する(ステップ1500)。グローバル配線
とは、チップ全体の配線密度の均一化を図るために、各
配線を機能ブロック間の配線チャネルに割当てる。仮端
子に対応する、ある一定の幅をもった仮想的な配線であ
る。次に、機能ブロック間の配線領域を算出し(ステッ
プ1600)、この結果に基づいて、機能ブロック間隔を修
正する(ステップ1700)。次に、仮端子位置の近傍に、
実際に必要な数の入出力端子を第11図に示すように配置
して端子位置を決定し(ステップ1800)、その後、チャ
ネル配線または機能ブロック内の設計を行なう(ステッ
プ1900)、第11図は上述のフローに従って設計されたレ
イアウトの一例である。図中、ブロックAとブロックB
とを接続するための端子P18,P19,P24,25は白丸で
示され、それ以外の端子P16,P17,P20,P21,
P22,P23,P27,P26は黒丸で示されている。First, the functional blocks are arranged roughly (step 130).
0), the temporary terminal position is determined on the functional block side (step 1400). The temporary terminal is a temporary terminal that collectively represents a plurality of terminals arranged on the sides of each functional block, and subsequent processing is performed by using this temporary terminal as a mark. FIG. 10 shows a conventional example of the method of determining the position of the temporary terminal. That is, a line connecting the centers of the functional blocks and a boundary side of the functional block (a virtual side that defines a boundary of an area that does not actually exist but is considered to be occupied by the functional block, hereinafter also referred to as a block side. ) Is the method of arranging the terminal at the intersection (with IPSJ 30th (first half of 1985))
Nationwide Lecture Collection (III) P, 2077 Standard Cell LSI
Floor plan system creation support-system outline-).
When connecting the block A and the blocks B, C, and D, respectively, connect the centers O 1 , O 2 , O 3 , and O 4 of the respective blocks to the intersection of this line segment and the boundary side of each functional block. Place the temporary terminals Q 1 to Q 6 . Next, the functional blocks are connected by global wiring (step 1500). The global wiring is to allocate each wiring to a wiring channel between the functional blocks in order to make the wiring density of the entire chip uniform. It is a virtual wiring having a certain width corresponding to the temporary terminal. Next, the wiring area between the functional blocks is calculated (step 1600), and the functional block interval is corrected based on this result (step 1700). Next, in the vicinity of the temporary terminal position,
Arrange the required number of input / output terminals as shown in Figure 11 to determine the terminal position (step 1800), and then design the channel wiring or functional block (step 1900). Is an example of a layout designed according to the above flow. Block A and block B in the figure
The terminals P 18 , P 19 , P 24 , 25 for connecting to and are shown by white circles, and the other terminals P 16 , P 17 , P 20 , P 21 ,
P 22 , P 23 , P 27 , and P 26 are indicated by black circles.
上述した従来の入出力端子位置決定方法は、機能ブロッ
クの中心の位置関係を考慮して仮端子を決定し、この仮
端子位置の近傍に入出力端子を配置するため、結果的
に、機能ブロックの中心の位置関係しか考慮されておら
ず、機能ブロックの大きさや機能ブロック間の向いにあ
った辺の重なり等の他の要因は何ら考慮されていないた
め、第11図のように、隣接する機能ブロックA,Bの向
いあった辺同士を結ぶ配線L11,L12とがそれぞれ接続
される端子P16とP22,P17とP23とが対向する位置に
なく、配線L11,L12が折れ曲がって配線領域が増大
し、最小の間隔を持って配置することが必要な隣接する
機能ブロック間の間隔が広がり、結果的にチップ面積が
増大するという欠点がある。In the above-described conventional input / output terminal position determining method, the temporary terminals are determined in consideration of the positional relationship of the centers of the functional blocks, and the input / output terminals are arranged in the vicinity of the temporary terminal positions. Since only the positional relationship of the centers of the functional blocks is taken into consideration, and other factors such as the size of the functional blocks and the overlap of the sides that were in the opposite direction between the functional blocks are not considered, the adjacent blocks as shown in FIG. functional blocks a, wiring L 11 connecting the sides each other that had opposite the B, L 12 and is not in the terminal P 16 to be connected respectively P 22, P 17 and P 23 are opposed position, the wiring L 11, L 12 has a drawback that the wiring area is increased and the distance between adjacent functional blocks that need to be arranged with a minimum distance is increased, resulting in an increase in the chip area.
本発明のICにおける機能ブロックの端子位置決定方式
は、 各機能ブロックの境界辺上に位置する各端子について、
その境界辺における好ましい配置位置の指標となる配置
優先方向を決定する配置優先方向決定手段と、 隣接し、かつ相互接続関係を有する一組の機能ブロック
について、それぞれの機能ブロックの境界辺をX軸また
はY軸に投影し、重なりが生じる場合に、その一組の機
能ブロックの相対位置関係を第1の位置関係と判別し、
重なりが生じない場合に第2の位置関係と判別する隣接
機能ブロック相対位置関係判別手段と、 第1の位置関係にある一組の機能ブロックにおける、少
なくともその一部が対向する各境界辺上において配置さ
れるべき端子のうち、前記一組のブロック間を結ぶ配線
が接続される端子以外の端子の位置を、前記配置優先方
向に基づいて決定する第1の端子位置割当て手段と、 前記各境界辺における端子の配置されていない部分をX
軸またはY軸に投影し、重なり部分の長さLaを求め、
この長さLaが前記一組のブロック間を接続する配線の
数と配線ピッチとの積以上のときは、前記一組の機能ブ
ロック間を接続する配線と接続される端子を、その配線
ができるだけ直線となるように、前記各境界辺における
端子の配置されない部分において配置する第2の端子位
置割当て手段と、 前記長さLaが、前記一組のブロック間を接続する配線
の数と配線ピッチとの積より小さいときは、すでに位置
が決定された前記一組のブロック間を結ぶ配線が接続さ
れる端子以外の端子を、前記長さLaが配線の数と配線
ピッチとの積以上になるように移動させ、次に、前記一
組のブロック間を結ぶ配線が接続される端子を、該配線
ができるだけ直線となるように各境界辺における端子の
配置されない部分において配置する第3の端子位置割当
て手段とを有している。The terminal position determination method of the functional block in the IC of the present invention is, for each terminal located on the boundary side of each functional block,
Arrangement priority direction determining means for determining an arrangement priority direction that serves as an index of a preferable arrangement position on the boundary side, and a pair of adjacent functional blocks having an interconnection relationship, the boundary side of each functional block is defined by the X-axis. Alternatively, when the projection is performed on the Y axis and the overlap occurs, the relative positional relationship of the pair of functional blocks is determined as the first positional relationship,
The adjacent functional block relative positional relationship discriminating unit that discriminates the second positional relationship when no overlap occurs, and at least each part of the pair of functional blocks having the first positional relationship faces each other on each boundary side. First terminal position assigning means for deciding positions of terminals to be arranged other than terminals to which wirings connecting the pair of blocks are connected, based on the arrangement priority direction; X on the side where no terminals are placed
The length L a of the overlapping portion by projecting onto the axis or the Y axis,
When the length L a is equal to or larger than the product of the number of wirings connecting between the set of blocks and the wiring pitch, the wiring is connected to the terminal connecting between the set of functional blocks. Second terminal position assigning means arranged in a portion where no terminals are arranged in each of the boundary sides so as to be as straight as possible, and the length L a is the number of wirings connecting the one set of blocks and wiring. When it is smaller than the product of the pitch and the terminals other than the terminals to which the wires connecting between the set of blocks whose positions have already been determined are connected, the length L a is equal to or more than the product of the number of wires and the wire pitch. And a terminal to which a wire connecting between the pair of blocks is connected is arranged in a portion where no terminal is arranged on each boundary side so that the wire is as straight as possible. Terminal position assignment It has a hitting means.
隣接機能ブロックの相対位置関係判別手段により位置関
係1と判別されたものについて、まず、向い合わない辺
同士を結ぶ配線の端子位置を決め、残余の部分の重なり
部分において、向い合う辺同士を結ぶ配線の端子が対向
するようにその位置を決定し、それらの端子を配置する
ための領域が足りないときは、上述の向い合わない辺同
士を結ぶ配線の端子位置を適宜移動させ、端子配置領域
を確実に確保するため、隣接機能ブロック間を結ぶ配線
は、可能な限り直線となり、それらのブロック間の間隔
を最小にすることができ、最適のチップフロアプランを
達成することができる。With respect to the one determined to have the positional relationship 1 by the relative positional relationship determining means of the adjacent functional blocks, first, the terminal position of the wiring that connects the sides that do not face each other is determined, and the facing sides are connected in the overlapping portion of the remaining portions. Determine the positions of the wiring terminals so that they face each other, and if the area for arranging those terminals is insufficient, move the terminal positions of the wiring that connects the sides that do not face each other as described above, and In order to ensure the above, the wiring connecting the adjacent functional blocks should be as straight as possible, the interval between these blocks can be minimized, and the optimum chip floor plan can be achieved.
次に、本発明の実施例について図面を参照して説明す
る。Next, embodiments of the present invention will be described with reference to the drawings.
第1図は本発明の一実施例である機能ブロックの端子位
置決定手段13を用いたレイアウト設計方式の構成を示す
ブロック図、第2図は端子の配置優先方向を説明するた
めの図、第3図〜第5図は本実施例を用いてレイアウト
設計をした場合の主要な工程におけるレイアウト状態を
示す図、第6図は本実施例のレイアウト設計の手順を示
すフローチャートである。FIG. 1 is a block diagram showing a configuration of a layout design method using a terminal position determining means 13 of a functional block which is an embodiment of the present invention, and FIG. 2 is a diagram for explaining a terminal arrangement priority direction. 3 to 5 are diagrams showing the layout state in the main steps when the layout design is performed using this embodiment, and FIG. 6 is a flow chart showing the layout design procedure of this embodiment.
本実施例のレイアウト設計方式は、入力される機能ブロ
ックの種類や配線接続関係等を示す種々の情報および制
御情報に基づき、機能ブロックの概略的配置を決定する
ブロック配置決定手段2と、前述の方法により仮端子位
置を決定する仮端子位置決定手段3と、グローバル配線
を施こし、配線領域を算出する配線領域算出手段4と、
この算出結果に基いて機能ブロック(以下,単にブロッ
クともいう)間隔を修正するブロック間隔修正手段5
と、端子位置決定手段13と、レイアウトパターン出力手
段11とからなっている。The layout design method of the present embodiment is based on various information indicating the type of functional block, wiring connection relationship, and the like, which are input, and the block layout determining means 2 for determining the schematic layout of the functional block, and the aforementioned A temporary terminal position determining means 3 for determining a temporary terminal position by a method; a wiring area calculating means 4 for applying a global wiring and calculating a wiring area;
Block interval correction means 5 for correcting the interval between functional blocks (hereinafter, also simply referred to as a block) based on the calculation result.
And a terminal position determination means 13 and a layout pattern output means 11.
さらに、端子位置決定手段13は、端子の配置優先方向を
決定する端子の配置優先方向決定手段6と、隣接機能ブ
ロック間の位置関係が位置関係1か位置関係2(後述)
かを判別する隣接機能ブロックの相対位置関係判別手段
7と、入力情報,端子の配置優先方向決定手段6および
隣接機能ブロックの相対位置関係判別手段7の出力等に
基き、後述する所定の処理を行ない端子位置を決定する
第1,第2,第3および第4の端子位置決定手段8,
9,10,11とからなっている。Further, the terminal position determining means 13 and the terminal arrangement priority direction determining means 6 for determining the terminal arrangement priority direction and the positional relationship between the adjacent functional blocks are the positional relationship 1 or the positional relationship 2 (described later).
Based on the output of the relative positional relationship determining means 7 of the adjacent functional block for determining whether or not, the input information, the terminal arrangement priority direction determining means 6 and the relative positional relationship determining means 7 of the adjacent functional block, etc., predetermined processing described later is performed. First, second, third and fourth terminal position determining means 8 for determining the operating terminal position,
It consists of 9, 10, and 11.
次に、レイアウト設計手順について説明する。Next, the layout design procedure will be described.
本実施例による設計手順の概要は第9図の従来例の手順
と同じであるが、本実施例では、端子位置を決定するス
テップ1800の内容が従来例と異なるので、以下、主とし
てステップ1800の内容に関する部分について説明する。The outline of the design procedure according to this embodiment is the same as the procedure of the conventional example shown in FIG. 9, but since the content of step 1800 for determining the terminal position is different from that of the conventional example in the present embodiment, the following mainly describes step 1800. The part related to the contents will be described.
ブロック配置決定手段2からブロック間隔修正手段5ま
での各手段により、第9図におけるステップ1300からス
テップ1700までの処理は、すでに終了しているものとす
る。It is assumed that the processing from step 1300 to step 1700 in FIG. 9 has already been completed by each means from the block arrangement determining means 2 to the block interval correcting means 5.
まず、本実施例の端子位置決定手段13では、端子の配置
優先方向決定手段6により、各端子について配置優先方
向を決定する。例えば、第2図に示すようにブロックA
とブロックBおよびDとの間に、それぞれ配線L1,L2に
よる接続関係がある場合、配線L1の距離lを短縮し、配
線領域を小さくするには、端子P12,P14はそれぞれブ
ロック辺の上方向,下方向に配置したほうがよいので、
端子P12についての優先方向は「上」であり、端子P14
についての優先方向は「下」と決定される。端子P13,
P15についても同様であり、それぞれの優先方向は
「下」,「上」と決定される(ステップ100)。First, in the terminal position determining means 13 of the present embodiment, the terminal placement priority direction determining means 6 determines the placement priority direction for each terminal. For example, as shown in FIG.
When there is a connection relationship between the blocks B and D by the wirings L 1 and L 2 , respectively, in order to shorten the distance l of the wiring L 1 and reduce the wiring area, the terminals P 12 and P 14 are respectively set. Since it is better to place the block side up and down,
The priority direction for the terminal P 12 is “up”, and the terminal P 14
The preferred direction for is determined to be "down." Terminal P 13 ,
The same is true for P 15, respective priority direction is determined as "lower", "above" (step 100).
次に、隣接機能ブロックの相対位置関係判別手段7によ
り、隣接機能ブロック間の相対位置関係が、ブロック辺
をX軸あるいはY軸に投影した場合に重なりが生じる位
置関係(位置関係1)であるか、重なりが生じない間係
(位置関係2)であるかを判別する(ステップ200)。
例えば、第3図において、ブロックAとブロックBの辺
をY軸に投影すると重なり部分16が生じるので、ブロッ
クAとブロックBとは、Y軸に平行な辺に関して位置関
係1にある。一方、ブロックAとブロックBとの間には
Y軸に投影した場合の重なりが生じないので位置関係2
にある。なお、X軸方向についても同様の処理が行なわ
れるのであるが、本実施例では説明は省略する。Next, the relative positional relationship between the adjacent functional blocks is determined by the relative positional relationship determining means 7 of the adjacent functional blocks to be a positional relationship (positional relationship 1) in which overlapping occurs when the block sides are projected on the X axis or the Y axis. It is determined whether or not there is an overlap (positional relationship 2) in which no overlap occurs (step 200).
For example, in FIG. 3, when the sides of the block A and the block B are projected on the Y axis, an overlapping portion 16 is generated, so that the block A and the block B have a positional relationship 1 with respect to the side parallel to the Y axis. On the other hand, since there is no overlap between the block A and the block B when projected on the Y axis, the positional relationship 2
It is in. It should be noted that although similar processing is performed in the X-axis direction as well, description thereof will be omitted in this embodiment.
次に、第1の端子位置割当て手段8により、端子の配置
が行なわれる。この場合、位置関係2にあるブロック間
での接続関係しかない場合は、第1の端子位置割当て手
段8による処理は行なわれず、その情報は、第2、第3
の端子位置割当て手段9,10を介して第4の端子位置
割当て手段11に送られ、この第4の端子位置割当て手
段11により、従来と同様の手法により各端子位置が決
定され(ステップ1000)、端子位置決定手段13による処
理は終了する。一方、位置関係1にある隣接ブロックが
存在する場合は、このブロックの対向する2辺を結ぶ配
線が接続される端子と、このブロックの対向する2辺を
結ぶ配線以外の配線が接続される端子とが区別され、ま
ず、対向する2辺を結ぶ配線以外の配線が接続される端
子の配置を、上述の優先方向や実際にその端子に接続さ
れる配線の数(多重度)等を考慮して決定する(ステッ
プ300)。ブロックA,Bについて、この処理が終了し
た状態が第4図に示される。Next, the terminals are arranged by the first terminal position allocating means 8. In this case, if there is only the connection relationship between the blocks in the positional relationship 2, the processing by the first terminal position allocation means 8 is not performed, and the information is the second and third information.
Is sent to the fourth terminal position allocating means 11 via the terminal position allocating means 9 and 10, and each terminal position is determined by the fourth terminal position allocating means 11 by a method similar to the conventional one (step 1000). The processing by the terminal position determining means 13 ends. On the other hand, when there is an adjacent block in the positional relationship 1, a terminal to which a wiring connecting the two opposing sides of this block is connected and a terminal other than the wiring connecting the two opposing sides of this block are connected. First, the arrangement of terminals to which wirings other than the wirings that connect the opposite two sides are connected, considering the above-mentioned priority direction and the number of wirings (multiplicity) actually connected to the terminals. (Step 300). FIG. 4 shows a state in which this process is completed for blocks A and B.
次に、第2の端子位置割当て手段9は、対向する2辺に
おける端子が配置されない部分をX軸あるいはY軸に投
影し、重なり部分をaとし、その長さをLaとする(ス
テップ400)。次に、その長さLaと、対向する2辺を
結ぶ配線の数Nと配線ピッチMとの積の関係がLa>N
・Mであるかどうか、あるいはLa=N・Mであるかど
うかを決定する(ステップ500,600)。Next, a second terminal position assignment means 9, projecting portions terminals in two opposing sides are not arranged in the X-axis or Y-axis, the overlap portion is a, that the length as L a (step 400 ). Next, the relationship between the length L a and the product of the wiring pitch M and the number N of wirings that connect two opposing sides is La a > N.
It is determined whether M or L a = N · M (steps 500 and 600).
La>N・Mの関係が成立するときは、対向する2辺を
結ぶ配線が直線となるように、a部分に対応するブロッ
ク辺の中央部分において端子位置を決定し(ステップ80
0)、La=N・Mの関係が成立する場合は、対向する
2辺を結ぶ配線が直線となるように、a部分に対応する
ブロック辺において端子位置を決定する(ステップ90
0)。次に、第4の端子位置割当て手段10で位置関係2
にある辺のみと接続される辺上の端子位置を決定し(ス
テップ1000)、上述の場合は、これで端子位置決定装置
13による処理は終了する。When the relation of L a > N · M is established, the terminal position is determined in the central part of the block side corresponding to the part a so that the wiring connecting the two opposite sides becomes a straight line (step 80).
0) and L a = N · M, the terminal position is determined on the block side corresponding to part a so that the wiring connecting the two opposing sides becomes a straight line (step 90).
0). Next, the positional relationship 2 is calculated by the fourth terminal position assigning means 10.
The terminal position determination device determines the terminal position on the side that is connected only to the side (step 1000).
The process by 13 ends.
一方、上述した第2の端子位置決定手段の判定の結果、
La<N・Mの関係が成立する場合は、第3の端子位置
割当て手段10は、まず、La≧N・Mの関係にするため
に、すでに配置が決定された対向する2辺以外を結ぶ配
線が接続される端子(第4図の端子P1〜P7)のうち、上
述の配置優先方向と実際にその端子に接続される配線数
とを考慮して移動させる(ステップ700)。配置優先方
向が同じ場合は、その端子に接続される配線数が少ない
端子を優先して移動させる。第5図では、端子P2を下方
に移動させている。この後、対向する2辺におけるa部
分に対応する部分に、この2辺間を結ぶ配線が直線とな
るように端子(第5図の端子P8〜P11)の位置を決定す
る(ステップ800またはステップ900)。次に、第4の端
子位置割当て手段11は、位置関係2にある辺のみと接続
される辺上の端子位置を決定し(ステップ1000)、端子
位置決定装置13による処理は終了する。On the other hand, as a result of the determination by the second terminal position determining means described above,
When the relationship of L a <N · M is satisfied, the third terminal position assigning means 10, first, in order to relationship L a ≧ N · M, except two opposing sides already placed has been determined of the terminals of the wiring connecting the are connected (Figure 4 of the terminal P 1 to P 7), it is moved in consideration of the number of wires to be connected to the fact that pin placement priority direction described above (step 700) . When the arrangement priority direction is the same, the terminal having a smaller number of wires connected to the terminal is preferentially moved. In FIG. 5, the terminal P 2 is moved downward. After that, the positions of the terminals (terminals P 8 to P 11 in FIG. 5) are determined so that the wiring connecting the two sides is a straight line at the portion corresponding to the portion a on the two sides facing each other (step 800). Or step 900). Next, the fourth terminal position allocating means 11 determines the terminal position on the side connected to only the side having the positional relationship 2 (step 1000), and the processing by the terminal position determining device 13 ends.
以上の処理により配置が決定された端子に、レイアウト
パターン出力手段11により所定の配線が付加され、構成
されたレイアウトパターンが出力され、プロッタ,CRT
(不図示)により図面化、あるいは表示される。なお、
第5図のレイアウトパターンにおいて、ブロックA,B
間を結ぶ配線L4,L5とブロックA,D間を結ぶ配線L6と
が交差しているが、配線L4,L5または配線L6のいずれか
一方が、例えば、ポリシリコンで形成され、他方が、例
えば、一層目アルミニュウム配線で形成されている。The layout pattern output means 11 adds a predetermined wiring to the terminals whose layout has been determined by the above processing, and outputs the constructed layout pattern.
It is made into a drawing or displayed by (not shown). In addition,
In the layout pattern of FIG. 5, blocks A and B
The wirings L 4 and L 5 connecting between the wirings and the wiring L 6 connecting the blocks A and D intersect each other, but either one of the wirings L 4 , L 5 or the wiring L 6 is formed of, for example, polysilicon. The other is formed of, for example, a first layer aluminum wiring.
以上説明したように本実施例では、隣接するブロック間
を結ぶ配線を直線化することを最優先させ、他の端子位
置を適宜移動させ、これを確実に実行することにより、
対向する辺を有する隣接する機能ブロック間隔を最小に
でき、結果的に最適のチップフロアプランを達成するこ
とが可能となる。As described above, in the present embodiment, the linearization of the wiring connecting the adjacent blocks is given the highest priority, the other terminal positions are appropriately moved, and this is surely executed,
The distance between adjacent functional blocks having opposite sides can be minimized, and as a result, an optimum chip floor plan can be achieved.
第7図は本発明の他の実施例が適用されるICにおける
ブロック間の位置関係の一例を示すレイアウト図、第8
図は本他の実施例における処理手順を示すフローチャー
トである。FIG. 7 is a layout diagram showing an example of a positional relationship between blocks in an IC to which another embodiment of the present invention is applied, and FIG.
The figure is a flow chart showing the processing procedure in the other embodiment.
上述の実施例では、対象となるICは一層配線のICであっ
たが、本実施例は二層(あるいはそれ以上)の配線のIC
について本発明を適用したものである。In the above-described embodiment, the target IC is a one-layer wiring IC, but this embodiment is a two-layer (or more) wiring IC.
The present invention is applied to.
多層配線のICでは、上述した実施例の場合と異なり、隣
接するブロック上を通過して他のブロックと電気的接続
をとることが可能であり、このような場合は、次の処理
を行ない上述の実施例と同様の処理を実行する。すなわ
ち第7図に示すように、ブロックEとブロックGとを二
層目の配線L12で接続する場合には、この配線L12はブ
ロックF上を通過するが、このような場合は、この配線
L12とブロックFの辺とが、上面からみて交差する点
K1,L2(図中、三角形で示される。)を仮想端子とし、
入出力端子と同等の取り扱いをして処理する。このた
め、ブロックEとブロックGとを結ぶ配線を接続する端
子P32,P33の位置を決定するときは、ブロックEとブ
ロックF,およびブロックFとブロックGとの位置関係
を考慮して仮想端子K1,K2をなかだちとしてそれらの位
置を決定する。In the case of the multilayer wiring IC, unlike the case of the above-described embodiment, it is possible to pass through the adjacent block and make an electrical connection with another block. In such a case, the following processing is performed and The same processing as that in the above embodiment is executed. That is, as shown in FIG. 7, when connecting the block E and block G the wiring L 12 of the second layer is the wiring L 12 passes through the upper block F, such a case, the A point where the wiring L 12 and the side of the block F intersect with each other when viewed from above.
K 1 , L 2 (indicated by triangles in the figure) are virtual terminals,
Handle it in the same way as an input / output terminal. Therefore, when deciding the positions of the terminals P 32 and P 33 that connect the wirings connecting the block E and the block G, the positional relationships between the block E and the block F and between the block F and the block G are considered in consideration of the virtual position. The positions of the terminals K 1 and K 2 are determined by using them as a medium.
なお、同一層の同種の配線は交差できない、あるいは、
設計上、あるブロックの特定領域上には配線を通過させ
ることができない等の禁則情報は、あらかじめ入力端末
1を介して入力されている。次に、本実施例の処理手順
を説明する。Wiring of the same type in the same layer cannot intersect, or
By design, prohibition information such that a wiring cannot be passed over a specific area of a certain block is input in advance through the input terminal 1. Next, the processing procedure of this embodiment will be described.
本実施例における処理手順のは、上述した実施例の処理
手順とほぼ同じであるが、ステップ1100が新規に付加さ
れ、ステップ100に代ってステップ1200が設けられてい
る点が異なる。The processing procedure in the present embodiment is almost the same as the processing procedure in the above-described embodiment, except that step 1100 is newly added and step 1200 is provided instead of step 100.
ステップ1100は、グローバル配線時に、ブロック上を通
過した配線が、そのブロックの辺と交差する点を求めて
仮想端子とするステップであり、ステップ1200は、各端
子のみならず各仮想端子についても配置優先方向を決定
するステップである。以後のステップは上述の実施例と
同様である。本実施例では、本発明の効果と多層配線を
用いた効果とが相乗され、チップサイズが最小のチップ
フロアプランを達成することができる。Step 1100 is a step in which, when global wiring is performed, the wiring that has passed through the block is determined as a virtual terminal by finding a point where the wiring intersects the side of the block, and step 1200 is arranged not only for each terminal but also for each virtual terminal. This is the step of determining the priority direction. The subsequent steps are the same as those in the above-described embodiment. In this embodiment, the effect of the present invention and the effect of using the multi-layer wiring are synergized, and a chip floor plan with a minimum chip size can be achieved.
以上説明したよう本発明は、X軸あるいはY軸に投影し
たとき重なりが生じる機能ブロック間を結ぶ配線が接続
される端子の位置を、この配線が可能な限り直線となる
よう優先して決定すことにより、配線の折れ曲がりによ
る配線領域の増加を抑制でき、最適のチップフロアプラ
ンを達成できる効果がある。As described above, the present invention preferentially determines the position of the terminal to which the wiring that connects the functional blocks that overlap when projected onto the X axis or the Y axis is connected so that the wiring is as straight as possible. As a result, it is possible to suppress an increase in the wiring area due to bending of the wiring, and it is possible to achieve an optimum chip floor plan.
第1図は本発明の一実施例である機能ブロックの端子位
置決定手段13を用いたレイアウト設計方式の構成を示す
ブロック図、第2図は端子の配置優先方向を説明するた
めの図、第3図〜第5図は本実施例を用いてレイアウト
設計をした場合の主要な工程におけるレイアウト状態を
示す図、第6図は本実施例のレイアウト設計の手順を示
すフローチャート、第7図は本発明の他の実施例が適用
されるICにおけるブロック間の位置関係の一例を示す
レイアウト図、第8図は本他の実施例における処理手順
を示すフローチャート、第9図はCADを利用したIC
レイアウト設計の手順の概略を示すフローチャート、第
10図は仮端子位置の決定方法の従来例を説明するための
図、第11図は従来例により決定されたレイアウトパター
ンの一例を示すレイアウト図である。 2……ブロック配置決定手段、 3……仮端子位置決定手段、 4……配線領域算出手段、 5……ブロック間隔修正手段、 6……端子の配置優先方向決定手段、 7……隣接機能ブロックの相対位置関係判別手段、 8……第1の端子位置割当て手段、 9……第2の端子位置割当て手段、 10……第3の端子位置割当て手段、 11……第4の端子位置割当て手段、 12……レイアウトパターン出力手段、 13……端子位置決定手段、 16……重なり部分、 100〜1200……ステップ、 L1〜L12……配線、 A〜G……機能ブロック、 P1〜P7,P28,P29……対向する2辺を結ぶ配線以外の
配線と接続される入出力端子、 P8〜P11,P32,P33……対向する2辺を結ぶ配線と接
続される入出力端子、 K1,K2……仮想端子、 a……隣接する機能ブロックの対向する2辺における端
子が配置されない部分をX軸あるいはY軸に投影した場
合の重なり部分、 La……aの部分の長さ。FIG. 1 is a block diagram showing a configuration of a layout design method using a terminal position determining means 13 of a functional block which is an embodiment of the present invention, and FIG. 2 is a diagram for explaining a terminal arrangement priority direction. 3 to 5 are diagrams showing the layout state in the main steps when the layout design is performed using this embodiment, FIG. 6 is a flowchart showing the layout design procedure of this embodiment, and FIG. 7 is the book. A layout diagram showing an example of a positional relationship between blocks in an IC to which another embodiment of the invention is applied, FIG. 8 is a flowchart showing a processing procedure in the other embodiment, and FIG. 9 is an IC using CAD.
Flow chart showing the outline of the layout design procedure,
FIG. 10 is a diagram for explaining a conventional example of a method of determining the temporary terminal position, and FIG. 11 is a layout diagram showing an example of a layout pattern determined by the conventional example. 2 ... Block placement determining means, 3 ... Temporary terminal position determining means, 4 ... Wiring area calculating means, 5 ... Block spacing correcting means, 6 ... Terminal placement priority direction determining means, 7 ... Adjacent function block Relative position relationship determining means, 8 ... first terminal position assigning means, 9 ... second terminal position assigning means, 10 ... third terminal position assigning means, 11 ... fourth terminal position assigning means , 12 …… Layout pattern output means, 13 …… Terminal position determining means, 16 …… Overlapping part, 100 to 1200 …… steps, L 1 to L 12 … wiring, A to G …… Function block, P 1 to P 7 , P 28 , P 29 ...... Input / output terminals connected to wirings other than the wiring connecting the two opposite sides, P 8 to P 11 , P 32 , P 33 ...... Connected to wiring connecting the two opposite sides output terminals being, K 1, K 2 ...... virtual terminal, a ...... adjacent functional blocks Overlapping portions in the case of projecting the portions where the terminal in two sides toward is not placed in the X-axis or Y-axis, the length of the portion of the L a ...... a.
Claims (1)
タ等の機能ブロックの端子位置を決定する端子位置決定
方式であって、 各機能ブロックの境界辺上に位置する各端子について、
その境界辺における好ましい配置位置の指標となる配置
優先方向を決定する配置優先方向決定手段と、 隣接し、かつ相互接続関係を有する一組の機能ブロック
について、それぞれの機能ブロックの境界辺をX軸また
はY軸に投影し、重なりが生じる場合に、その一組の機
能ブロックの相対位置関係を第1の位置関係と判別し、
重なりが生じない場合に第2の位置関係と判別する隣接
機能ブロック相対位置関係判別手段と、 第1の位置関係にある一組の機能ブロックにおける、少
なくともその一部が対向する各境界辺上において配置さ
れるべき端子のうち、前記一組のブロック間を結ぶ配線
が接続される端子以外の端子の位置を、前記配置優先方
向に基づいて決定する第1の端子位置割当て手段と、 前記各境界辺における端子の配置されていない部分をX
軸またはY軸に投影し、重なり部分の長さLaを求め、
この長さLaが前記一組のブロック間を接続する配線の
数と配線ピッチとの積以上のときは、前記一組の機能ブ
ロック間を接続する配線と接続される端子を、その配線
ができるだけ直線となるように、前記各境界辺における
端子の配置されない部分において配置する第2の端子位
置割当て手段と、 前記長さLaが、前記一組のブロック間を接続する配線
の数と配線ピッチとの積より小さいときは、すでに位置
が決定された前記一組のブロック間を結ぶ配線が接続さ
れる端子以外の端子を、前記長さLaが配線の数と配線
ピッチとの積以上になるように移動させ、次に、前記一
組のブロック間を結ぶ配線が接続される端子を、該配線
ができるだけ直線となるように各境界辺における端子の
配置されない部分において配置する第3の端子位置割当
て手段とを有するICにおける機能ブロックの端子位置決
定方式。1. A terminal position deciding method for deciding a terminal position of a functional block such as a CPU and a register arranged on an XY plane, wherein each terminal located on a boundary side of each functional block is:
Arrangement priority direction determining means for determining an arrangement priority direction that serves as an index of a preferable arrangement position on the boundary side, and a pair of adjacent functional blocks having an interconnection relationship, the boundary side of each functional block is defined by the X-axis. Alternatively, when the projection is performed on the Y axis and the overlap occurs, the relative positional relationship of the pair of functional blocks is determined as the first positional relationship,
The adjacent functional block relative positional relationship discriminating unit that discriminates the second positional relationship when no overlap occurs, and at least each part of the pair of functional blocks having the first positional relationship faces each other on each boundary side. First terminal position assigning means for deciding positions of terminals to be arranged other than terminals to which wirings connecting the pair of blocks are connected, based on the arrangement priority direction; X on the side where no terminals are placed
The length L a of the overlapping portion by projecting onto the axis or the Y axis,
When the length L a is equal to or larger than the product of the number of wirings connecting between the set of blocks and the wiring pitch, the wiring is connected to the terminal connecting between the set of functional blocks. Second terminal position assigning means arranged in a portion where no terminals are arranged in each of the boundary sides so as to be as straight as possible, and the length L a is the number of wirings connecting the one set of blocks and wiring. When it is smaller than the product of the pitch and the terminals other than the terminals to which the wires connecting between the set of blocks whose positions have already been determined are connected, the length L a is equal to or more than the product of the number of wires and the wire pitch. And a terminal to which a wire connecting between the pair of blocks is connected is arranged in a portion where no terminal is arranged on each boundary side so that the wire is as straight as possible. Terminal position assignment Terminal position deciding method of functional block in IC having contact means.
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP62220608A JPH0642255B2 (en) | 1987-09-02 | 1987-09-02 | Terminal position determination method of functional block in IC |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP62220608A JPH0642255B2 (en) | 1987-09-02 | 1987-09-02 | Terminal position determination method of functional block in IC |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JPS6462772A JPS6462772A (en) | 1989-03-09 |
| JPH0642255B2 true JPH0642255B2 (en) | 1994-06-01 |
Family
ID=16753636
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP62220608A Expired - Lifetime JPH0642255B2 (en) | 1987-09-02 | 1987-09-02 | Terminal position determination method of functional block in IC |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JPH0642255B2 (en) |
Families Citing this family (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US10997350B1 (en) * | 2020-07-02 | 2021-05-04 | International Business Machines Corporation | Semiconductor circuit design and unit pin placement |
-
1987
- 1987-09-02 JP JP62220608A patent/JPH0642255B2/en not_active Expired - Lifetime
Also Published As
| Publication number | Publication date |
|---|---|
| JPS6462772A (en) | 1989-03-09 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| KR900003832B1 (en) | Wiring method of semiconductor integrated circuit device | |
| JP3786398B2 (en) | Wiring method of semiconductor package | |
| JPH0969568A (en) | Placement and wiring method of flip-chip type semiconductor device | |
| JPH0750817B2 (en) | Wiring interconnection structure | |
| JPH05120373A (en) | Design verifying device | |
| JPS63107041A (en) | Improving method for arrangement in design of layout | |
| US6567954B1 (en) | Placement and routing method in two dimensions in one plane for semiconductor integrated circuit | |
| JPH0642255B2 (en) | Terminal position determination method of functional block in IC | |
| US5532501A (en) | Semiconductor device having wiring take-out cells | |
| JP3064925B2 (en) | Layout method | |
| JP2566788B2 (en) | Printed circuit board wiring method | |
| JP2001216341A (en) | Automatic placement and routing method | |
| JP2921454B2 (en) | Wiring method of integrated circuit | |
| JPH06349947A (en) | Method and apparatus for designing mask pattern of semiconductor integrated circuit device | |
| JP2003249591A (en) | Method for designing wiring board of area IO type semiconductor device | |
| JP2009130228A (en) | Layout designing method, layout design program, and layout design apparatus | |
| JPH0410555A (en) | Integrated circuit wiring device | |
| JP3123953B2 (en) | Layout method of semiconductor integrated circuit | |
| JP2001147954A (en) | Method for creating floor plan of semiconductor integrated circuit | |
| JPH10340959A (en) | Layout method | |
| JP3180968B2 (en) | Wiring method in IC | |
| CN119623404A (en) | Automatic wiring method, device, equipment and storage medium for flip chip | |
| JPH06216249A (en) | IC chip automatic layout design system | |
| JP2914025B2 (en) | LSI automatic placement and routing processing method | |
| JPH0212857A (en) | Wiring process of semiconductor integrated circuit |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| EXPY | Cancellation because of completion of term | ||
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20080601 Year of fee payment: 14 |