JPH04141778A - Hierarchical arrangement processing system - Google Patents
Hierarchical arrangement processing systemInfo
- Publication number
- JPH04141778A JPH04141778A JP2265405A JP26540590A JPH04141778A JP H04141778 A JPH04141778 A JP H04141778A JP 2265405 A JP2265405 A JP 2265405A JP 26540590 A JP26540590 A JP 26540590A JP H04141778 A JPH04141778 A JP H04141778A
- Authority
- JP
- Japan
- Prior art keywords
- group
- external terminal
- block
- blocks
- net
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000003672 processing method Methods 0.000 claims description 13
- 238000000034 method Methods 0.000 description 14
- 238000010586 diagram Methods 0.000 description 2
- 230000000694 effects Effects 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
Landscapes
- Design And Manufacture Of Integrated Circuits (AREA)
- Semiconductor Integrated Circuits (AREA)
Abstract
Description
【発明の詳細な説明】
〔産業上の利用分野〕
本発明は階層的配置処理方式に関し、特にLSIやプリ
ント基板等に部品や回路を階層的に配置する階層的配置
処理方式に関する。DETAILED DESCRIPTION OF THE INVENTION [Field of Industrial Application] The present invention relates to a hierarchical placement processing method, and particularly to a hierarchical placement processing method for hierarchically arranging components and circuits on LSIs, printed circuit boards, and the like.
従来の階層的配置処理方式は、マクロに対応付けたグル
ープの外部端子位置をグループ間の接続関係とグループ
の位置する方向とを基にして設定し、グループの外部端
子に接続しているそのグループ内のブロックを、そのグ
ループ内に既配置のブロックとグループの外部端子との
接続関係およびそれらの配置位置を基にして配置してい
く方式%式%
〔発明が解決しようとする課題〕
上述した従来の階層的配置処理方式は、グループの外部
端子位置を設定するときに、グループ間の接続関係とマ
クロの位置する方向とを考慮しているが、グループの外
部端子位置間の距離を考慮していないので、同一の方向
にあり、且つグループ間の距離が違う場合であっても、
グループの外部端子に接続しているそのグループ内のブ
ロックの配置やグループの外部端子位置の設定が同等に
行われるために、グループ間の距離が長い場合にも、そ
のグループの外部端子に接続しているグループ内のブロ
ックが優先的にグループの外部端子に近づけて配置され
ることもなく、結果としてグループ間の配線長が長くな
ったり、配線経路が複雑になったりして、配線性の悪化
を招くことがあるという欠点を有している。The conventional hierarchical placement processing method sets the external terminal position of a group associated with a macro based on the connection relationship between the groups and the direction in which the group is located, and then [Problem to be solved by the invention] A method for arranging blocks in a group based on the connection relationship between blocks already placed in the group and the external terminals of the group and their arrangement positions [Problem to be solved by the invention] The above-mentioned Conventional hierarchical placement processing methods consider the connection relationships between groups and the direction in which macros are located when setting the external terminal positions of groups, but they do not consider the distance between the external terminal positions of groups. Therefore, even if the groups are in the same direction and the distance between the groups is different,
Because the placement of blocks within a group that are connected to the external terminals of a group and the settings of the external terminal positions of the groups are performed equally, even if the distance between groups is long, the blocks connected to the external terminals of that group cannot be connected. Blocks within groups that are connected to each other are not placed preferentially close to the group's external terminals, and as a result, the wiring length between groups becomes long and the wiring route becomes complicated, resulting in poor wiring performance. It has the disadvantage that it can lead to
本発明の階層的配置処理方式は、LSIやプリント基板
等に部品や回路を階層的に配置する階層的配置処理方式
において、
マクロに対応付けたグループの各々の中心位置を求める
中心位置計算手段と、
前記中心位置計算手段で求めたグループの各々の中心位
置およびグループ間の接続関係を基にして、グループの
各々の外部端子位置を設定するグループ外部端子位置設
定手段と、
前記グループ外部端子位置設定手段で設定したグループ
の外部端子位置の間の各々の距離を計算するグループ外
部端子間距離計算手段と、前記グループ外部端子間距離
計算手段で計算した各々のグループ外部端子間距離を基
にして、グループ内でそのグループの外部端子に接続す
るネットに重み付けをするグループ内ネット重み付け手
段と、
グループ内に配置されるブロックが、グループの外部端
子に接続していない場合には、そのグループ内の既配置
のブロックに対する接続関係の強度であるネットの重み
およびそれらの配置位置を基にして当該ブロックを配置
するとともに、グループの外部端子に接続している場合
には、そのブロック内の既配置のブロック及びグループ
の外部端子に対する接続関係の強度であるネ・ノドの重
みおよびそれらの配置位置を基にして当該ブロックを配
置するブロック配置手段と、
を備えて構成されている。The hierarchical placement processing method of the present invention is a hierarchical placement processing method for hierarchically arranging components and circuits on LSIs, printed circuit boards, etc., and includes a center position calculation means for calculating the center position of each group associated with a macro. , a group external terminal position setting means for setting the external terminal position of each group based on the center position of each group and the connection relationship between the groups calculated by the center position calculating means; and the group external terminal position setting means. a group external terminal distance calculation means for calculating each distance between the external terminal positions of the group set by the means, and a distance between each group external terminal calculated by the group external terminal distance calculation means, An intra-group net weighting means that weights nets connected to the external terminals of the group within a group, and if a block placed within the group is not connected to the external terminal of the group, the existing nets within the group The block is placed based on the net weight, which is the strength of the connection relationship to the block, and its placement position, and if it is connected to the external terminal of the group, the already placed block within that block is placed. and block placement means for arranging the block based on the weight of the connection relationship to the external terminal of the group and the placement position thereof.
次に、本発明の実施例について図面を参照して説明する
。Next, embodiments of the present invention will be described with reference to the drawings.
第1図(A)、CB)、(C)は本発明の階層的配置処
理方式の一実施例を示す流れ図である。FIGS. 1(A), CB), and (C) are flowcharts showing an embodiment of the hierarchical arrangement processing method of the present invention.
第1図(A)に示すように、処理ボックス1では、グル
ープ及びグループに属さないブロックを配置する。なお
、この時にグループ及びグループに属さないブロックが
1つも無ければ、この階層的配置処理を終了する。次の
処理ボックス2では、各々のグループの中心位置を計算
する。As shown in FIG. 1(A), in processing box 1, groups and blocks that do not belong to groups are arranged. Note that if there is no group or block that does not belong to the group at this time, this hierarchical arrangement process is ended. In the next processing box 2, the center position of each group is calculated.
また、処理ボックス3では、ネットを一つ取り出し、判
断ボックス4では、グループの外部端子を構成要素に持
つか否かを判定する。グループの外部端子がある場合に
は、処理ボックス5に行き、グループの外部端子が無い
場合には、処理ボックス3に行く。Further, in processing box 3, one net is taken out, and in judgment box 4, it is determined whether or not the net has an external terminal of the group as a component. If there is an external terminal for the group, it goes to processing box 5; if there is no external terminal for the group, it goes to processing box 3.
そして、処理ボックス5では、処理ボックス2で求めた
各々のグループの中心位置、あるいは、同一のネット内
のブロックの端子位置を基にして、グループの外部端子
位置を設定する。Then, in the processing box 5, the external terminal positions of the groups are set based on the center position of each group found in the processing box 2 or the terminal positions of blocks in the same net.
次に、判断ボックス6では、全てのネットについて処理
したか否かを判定する。全てのネットが処理済みの場合
には、第1図(B)の処理ボックス7に行き、未処理の
ネットがある場合には、処理ボックス3に行く。Next, in decision box 6, it is determined whether all nets have been processed. If all the nets have been processed, the process goes to processing box 7 in FIG. 1(B), and if there are unprocessed nets, the process goes to process box 3.
そこで、処理ボックス7では、ネットを一つ取り出し、
判断ボックス8でグループの外部端子を構成要素に持つ
か否かを判定する。グループの外部端子がある場合には
、処理ボックス9に行き、グループの外部端子が無い場
合には、処理ボックス7に行く。Therefore, in processing box 7, one net is taken out,
In decision box 8, it is determined whether the group has an external terminal as a component. If there is an external terminal for the group, the process goes to processing box 9; if there is no external terminal for the group, it goes to process box 7.
そして、処理ボックス9では、処理ボックス5で設定し
たグループの外部端子位置間の距離、または、ブロック
の端子位置からグループの外部端子位置までの距離をグ
ループ間距離として計算する。Then, in processing box 9, the distance between the external terminal positions of the groups set in processing box 5, or the distance from the terminal position of the block to the external terminal position of the group, is calculated as the inter-group distance.
また、処理ボックス10では、処理ボックス8で求めた
グループ間距離を基にして、グループ内における外部端
子に接続するネットに重みを付けける。Further, in the processing box 10, based on the inter-group distance determined in the processing box 8, weights are given to the nets connected to the external terminals within the group.
次の判断ボックス11では、全てのネットについて処理
したか否かを判定する。全てのネットが処理済みの場合
には、第1図(C)の処理ボックス12に行き、未処理
をネットがある場合には、処理ボックス7に行く。In the next decision box 11, it is determined whether all nets have been processed. If all the nets have been processed, the process goes to the processing box 12 in FIG. 1(C), and if there are unprocessed nets, the process goes to the process box 7.
そこで、処理ボックス12では、グループ内の配置処理
を行っていないグループを一つ取り出して、判断ボック
ス13では、配置するブロックがグループの外部端子に
接続しているか否かを判定する。グループの外部端子に
接続している場合には、処理ボックス14に行き、グル
ープの外部端子に接続していない場合には、処理ボック
ス15に行く。Therefore, in the processing box 12, one group that has not been subjected to placement processing is selected, and in the judgment box 13, it is determined whether or not the block to be placed is connected to the external terminal of the group. If it is connected to the external terminal of the group, it goes to the processing box 14, and if it is not connected to the external terminal of the group, it goes to the processing box 15.
そして、処理ボックス14では、ブロックをグループの
外部端子、及び既配置のブロックとの接続関係の強さ(
ネットの重み)と配置位置とを基にして配置する。Then, in the processing box 14, the strength of the connection relationship between the block and the external terminal of the group and the already placed blocks (
The placement is based on the weight of the net) and the placement position.
また、処理ボックス15ては、ブロックを既配置のブロ
ックとの接続関係の強さ(ネットの重み)と配置位置と
を基にして配置する。Further, in the processing box 15, blocks are arranged based on the strength of connection with already arranged blocks (net weight) and the arrangement position.
次の判断ボックス16では、グループ内のブロックを全
て配置したか否かを判定する。グループ内の配置処理を
終了した場合には、判断ボックス17に行き、未配置の
ブロックがある場合には、判断ボックス13に行く。In the next decision box 16, it is determined whether all blocks in the group have been placed. If the placement process within the group has been completed, the process goes to decision box 17, and if there is an unplaced block, the process goes to decision box 13.
さらに、判断ボックス17では、全てのグループのグル
ープ内の配置処理を終了したか否かを判定する。グルー
プ内の配置処理を行っていないグループがある場合には
、処理ボックス12に行き、全てのグループのグループ
内の配置処理を終了した場合には、本実施例の階層的配
置処理を終了する。Further, in a decision box 17, it is determined whether or not the intra-group arrangement processing for all groups has been completed. If there is a group for which intra-group placement processing has not been performed, the process goes to processing box 12, and if intra-group placement processing has been completed for all groups, the hierarchical placement processing of this embodiment is ended.
第2図(A)、(B)、(C)は本実施例の階層的配置
処理方式によるグループとブロックとの配置の一例を示
す配置説明図である。FIGS. 2A, 2B, and 2C are explanatory diagrams showing an example of the arrangement of groups and blocks according to the hierarchical arrangement processing method of this embodiment.
第2図(A)は、グループ21.22の中心点24.2
5の間あるいはブロック23の端子26.27の位置と
グループ21.22の中心点24.25の位置とを結ん
でグループ21.22の周囲辺上の交点の外部端子28
.29,30゜31を求めて、グループ21.22やブ
ロック23の間の距離32,33.34を求めた状態を
示している。FIG. 2(A) shows the center point 24.2 of group 21.22.
5 or connect the position of terminals 26, 27 of block 23 and the position of center point 24, 25 of group 21, 22, and connect the external terminal 28 at the intersection on the peripheral side of group 21, 22.
.. 29, 30° 31 are calculated, and distances 32, 33, 34 between groups 21, 22 and blocks 23 are calculated.
また、第2図(B)は求められた距離32,33.34
を基にして第2図(C)のネット39゜40.41の重
みを考慮して、グループ21゜22内の外部端子28,
29,30.31に接続するブロック35,36.37
.38の配置状態を示している。Also, Figure 2 (B) shows the determined distances 32, 33.34
Based on the weight of the net 39°40.41 in FIG. 2(C), the external terminals 28,
Blocks 35, 36.37 connected to 29, 30.31
.. 38 is shown.
さらに、第2図(C)は、第2図(B)の配置結果を基
にして、配線処理を行った結果のネット39.40.4
1を示している。Furthermore, FIG. 2(C) shows the net 39.40.4 as a result of wiring processing based on the placement result of FIG. 2(B).
1 is shown.
以上説明したように、本発明の階層的配置処理方式は、
グループ内の配置処理を行う前に、ネットに接続したブ
ロックの出力端子位置と各々のグループ内の外部端子に
接続しているネ・ントに重みを付け、当該グループ内の
配置処理に際して、グループ外部端子間の距離の長いネ
ットに接続したブロックはど、そのグループの外部端子
位置に近づくように配置させることにより、ブロック間
距離の平均化及び配線経路の容易化を実現することがで
きるという効果を何している。As explained above, the hierarchical arrangement processing method of the present invention is
Before performing placement processing within a group, weights are given to the output terminal positions of blocks connected to nets and nets connected to external terminals within each group. By arranging blocks connected to a net with long distances between terminals closer to the external terminal position of the group, the distance between the blocks can be averaged and the wiring route can be made easier. what are you doing.
第1図(A)、(B)、(C)は本発明の階層的配置処
理方式の一実施例を示す流れ図、第2図(A)、(B)
、(C)は本実施例の階層的配置処理方式によるグルー
プとブロックとの配置の一例を示す配置説明図である。
21.22・・・ブロック。FIGS. 1(A), (B), and (C) are flowcharts showing an embodiment of the hierarchical arrangement processing method of the present invention, and FIGS. 2(A), (B)
, (C) is an explanatory diagram showing an example of the arrangement of groups and blocks according to the hierarchical arrangement processing method of this embodiment. 21.22...Block.
Claims (1)
する階層的配置処理方式において、 マクロに対応付けたグループの各々の中心位置を求める
中心位置計算手段と、 前記中心位置計算手段で求めたグループの各々の中心位
置およびグループ間の接続関係を基にして、グループの
各々の外部端子位置を設定するグループ外部端子位置設
定手段と、前記グループ外部端子位置設定手段で設定し
たグループの外部端子位置の間の各々の距離を計算する
グループ外部端子間距離計算手段と、 前記グループ外部端子間距離計算手段で計算した各々の
グループ外部端子間距離を基にして、グループ内でその
グループの外部端子に接続するネットに重み付けをする
グループ内ネット重み付け手段と、 グループ内に配置されるブロックが、グループの外部端
子に接続していない場合には、そのグループ内の既配置
のブロックに対する接続関係の強度であるネットの重み
およびそれらの配置位置を基にして当該ブロックを配置
するとともに、グループの外部端子に接続している場合
には、そのブロック内の既配置のブロック及びグループ
の外部端子に対する接続関係の強度であるネットの重み
およびそれらの配置位置を基にして当該ブロックを配置
するブロック配置手段と、 を備えることを特徴とする階層的配置処理方式。[Claims] In a hierarchical placement processing method for hierarchically arranging components and circuits on an LSI, a printed circuit board, etc., there is provided a center position calculating means for calculating the center position of each group associated with a macro; a group external terminal position setting means for setting the external terminal position of each group based on the center position of each group and the connection relationship between the groups determined by the calculation means; a group external terminal distance calculating means for calculating each distance between the external terminal positions of the group; Intra-group net weighting means that weights nets connected to the external terminals of the group, and when blocks placed within the group are not connected to the external terminals of the group, The relevant block is placed based on the weight of the net, which is the strength of the connection relationship, and their placement position, and if it is connected to the external terminal of the group, the blocks already placed within that block and the external terminal of the group are placed. A hierarchical placement processing method comprising: block placement means for placing blocks based on net weights, which are strength of connections to terminals, and their placement positions;
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2265405A JPH04141778A (en) | 1990-10-03 | 1990-10-03 | Hierarchical arrangement processing system |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2265405A JPH04141778A (en) | 1990-10-03 | 1990-10-03 | Hierarchical arrangement processing system |
Publications (1)
Publication Number | Publication Date |
---|---|
JPH04141778A true JPH04141778A (en) | 1992-05-15 |
Family
ID=17416712
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2265405A Pending JPH04141778A (en) | 1990-10-03 | 1990-10-03 | Hierarchical arrangement processing system |
Country Status (1)
Country | Link |
---|---|
JP (1) | JPH04141778A (en) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2008129725A (en) * | 2006-11-17 | 2008-06-05 | Toshiba Corp | Semiconductor layout design device |
-
1990
- 1990-10-03 JP JP2265405A patent/JPH04141778A/en active Pending
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2008129725A (en) * | 2006-11-17 | 2008-06-05 | Toshiba Corp | Semiconductor layout design device |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JPH03173471A (en) | Wiring structure of master slice system lsi | |
JPH02215148A (en) | Placement processing system | |
JPH04141778A (en) | Hierarchical arrangement processing system | |
JPH055379B2 (en) | ||
JP2987919B2 (en) | Wiring processing equipment for printed wiring boards | |
JPH0417354A (en) | Automatic placement wiring system of semiconductor integrated circuit | |
JPH04290170A (en) | Automatic wiring system using labeling | |
JP2848097B2 (en) | Layout design method | |
JPH05120380A (en) | Wiring processing system | |
JPH05136263A (en) | Arrangement of function blocks | |
JP2853660B2 (en) | Wiring processing equipment | |
JPS62122145A (en) | Lsi of master slice system | |
JPH0296278A (en) | Automatic wiring processing system | |
JPH0423452A (en) | Improving method of disposition of vlsi | |
JP2620005B2 (en) | Placement and wiring decision method | |
JPS59148949A (en) | Branch discriminating circuit of electronic computer | |
JPH02213153A (en) | Block arrangement processing method | |
JPH04324581A (en) | Wiring route searching system | |
JPH02207377A (en) | Arrangement design supporting device | |
JPH02298048A (en) | Automatic layout system | |
JPH05283521A (en) | Fabrication of semiconductor device | |
JPS62175869A (en) | Processing system for deciding module arrangement | |
JPH04174076A (en) | Arrangement system for component on printed board | |
JPS6136947A (en) | Semiconductor device | |
JPH04290171A (en) | Automatic wiring system |