JP2001308188A - Method for automatic placement and routing - Google Patents

Method for automatic placement and routing

Info

Publication number
JP2001308188A
JP2001308188A JP2000124712A JP2000124712A JP2001308188A JP 2001308188 A JP2001308188 A JP 2001308188A JP 2000124712 A JP2000124712 A JP 2000124712A JP 2000124712 A JP2000124712 A JP 2000124712A JP 2001308188 A JP2001308188 A JP 2001308188A
Authority
JP
Japan
Prior art keywords
macro
area
wiring
designated
lattice
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2000124712A
Other languages
Japanese (ja)
Inventor
Yoshinobu Nakajima
嘉伸 中島
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.)
Renesas Micro Systems Co Ltd
Original Assignee
Renesas Micro Systems 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 Renesas Micro Systems Co Ltd filed Critical Renesas Micro Systems Co Ltd
Priority to JP2000124712A priority Critical patent/JP2001308188A/en
Publication of JP2001308188A publication Critical patent/JP2001308188A/en
Pending legal-status Critical Current

Links

Landscapes

  • Design And Manufacture Of Integrated Circuits (AREA)

Abstract

PROBLEM TO BE SOLVED: To suppress increase of fringe capacity by relaxing the congested region of routing associated with non-lattice routing. SOLUTION: In a non-lattice routing region 21 after execution of a non-lattice routing step S6, a congested region of routing is extracted, a macro 22 in the vicinity of the congested region of routing is set as a designation macro of a moving object, peripheral region 24 of the designation macro 22S is divided into eight sub-regions, a decision is made for each sub-region whether a macro other than the designation macro 22S is present or not, an empty region 25 is generated in the congested region by moving the designation macro 22S to a sub-region where other macro is not present, and a modification is made to a routing having an interval sufficient for avoiding the effect of fringe capacity using the empty region 25 according to an optimization step S7.

Description

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

【0001】[0001]

【発明の属する技術分野】本発明は自動配置配線方法に
関し、特に計算機支援設計(CAD)による半導体集積
回路のレイアウト設計における自動配置配線方法に関す
る。
The present invention relates to an automatic placement and routing method, and more particularly, to an automatic placement and routing method in a layout design of a semiconductor integrated circuit by computer aided design (CAD).

【0002】[0002]

【従来の技術】近年の半導体集積回路(LSI)の高機
能化、高集積度化を達成するための製造プロセスの微細
化に伴ない、配線負荷容量の影響によるスピードの低下
の問題が顕著に表れるようになってきている。例えば、
主要能動素子であるトランジスタの動作における立ち上
がり時間は、負荷容量が大きいほど遅くなり、スピード
の低下を招く。
2. Description of the Related Art Along with the recent miniaturization of a manufacturing process for achieving high functionality and high integration of a semiconductor integrated circuit (LSI), the problem of a reduction in speed due to the influence of wiring load capacitance has become remarkable. It is starting to appear. For example,
The rise time in the operation of the transistor, which is the main active element, becomes slower as the load capacitance is larger, which causes a decrease in speed.

【0003】従来からCADにより、この種のLSIの
レイアウト設計における配置配線を自動的に行う自動配
置配線方法が多く開発されている。レイアウト設計にお
ける大きな課題は、如何に所望のレイアウト、一般的に
は面積最小化を実現させるかであり、その中で最重要な
ものは配線領域を可能な限り最小化することである。
Conventionally, many automatic placement and routing methods for automatically placing and routing in this type of LSI layout design by CAD have been developed. A major challenge in layout design is how to achieve a desired layout, typically an area minimization, the most important of which is to minimize the wiring area as much as possible.

【0004】これまで開発された自動配置配線方法に使
われている配線方法を大別すると、格子型配線手法と非
格子型配線手法とがある。
The wiring methods used in the automatic placement and routing methods developed so far are roughly classified into a grid wiring method and a non-grid wiring method.

【0005】前者の格子型配線手法は、J.ソーカッ
プ、「ファスト・メーズ・ルータ」、第15回設計自動
化会議予稿集(J.Soukup,“Fast Maz
e Router”,Proc.15th Desig
n Automation Conference)、
第100〜102頁、1978年、に開示されているよ
うに、配線として使える領域に予め設計基準に基づいて
格子を定義しておき、その格子を配線経路として使用し
て、配置配線対象回路の複数の機能ブロック相互間を接
続する配線パターンを上記格子上に配置する方法であ
る。
The former grid-type wiring method is disclosed in J. Sawcup, “Fast Maze Router”, Proceedings of the 15th Design Automation Conference (J. Soukup, “Fast Maz”
e Router ", Proc. 15th Design
n Automation Conference),
As disclosed in pages 100 to 102, 1978, a grid is defined in advance in a region that can be used as a wiring based on a design standard, and the grid is used as a wiring path to define a circuit to be placed and routed. This is a method of arranging wiring patterns connecting a plurality of functional blocks on the lattice.

【0006】後者の非格子型配線手法は、W.ヘイン
ス、W.サンセン、H.ベーク、「解が保証された一般
経路問題のための配列拡張アルゴリズム」、第17回設
計自動化会議予稿集(W.Heyns,W.Sanse
n,and H.Bake,“Fast Maze R
outer”,Proc.17th Design A
utomation Conference)、第24
3〜249頁、1980年、に開示されているように、
上記の格子を定義せず、設計基準を満たすように、複数
の機能ブロック相互間を接続する配線パターンの配線経
路を決定していく方法である。
[0006] The latter non-grid type wiring method is disclosed in W.K. Heins, W.C. Sansen, H .; Bake, "Array Extension Algorithm for General Path Problems with Guaranteed Solutions," Proceedings of the 17th Design Automation Conference (W. Heyns, W. Sanse)
n, and H .; Bake, “Fast Maze R
outer ", Proc. 17th Design A
automation Conference), 24th
As disclosed on pages 3-249, 1980,
This is a method in which a wiring path of a wiring pattern connecting a plurality of functional blocks is determined so as to satisfy a design standard without defining the grid.

【0007】格子型配線手法は、設計基準を満たした格
子上に配線パターンを生成することにより、配線の短絡
等は生じないので、大規模なLSIでも比較的短時間で
配線設計を終了できる利点がある。一方、非格子型配線
手法は、設計基準の限界を考慮して配線できるので、高
密度で配線でき、従って、配線領域を縮小できる。
The grid-type wiring method generates wiring patterns on a grid that satisfies the design criteria, so that short-circuiting of the wiring does not occur, so that the wiring design can be completed in a relatively short time even in a large-scale LSI. There is. On the other hand, in the non-lattice type wiring method, since wiring can be performed in consideration of the limit of the design standard, high-density wiring can be performed, and therefore, the wiring area can be reduced.

【0008】しかしながら、格子型配線手法は、広い配
線領域を必要とし、このため、高集積度化したLSIに
適用した場合、配線すべき数、すなわちネット数の増大
に対応する配線領域が不足して全てのネットの配線を完
了できないという欠点がある。一方、非格子型配線手法
は、格子のような配線基準位置がなく、また、配線経路
の探索領域が広いため、最適な配線経路の決定に困難が
あるとともに、処理(配線)時間が長時間となるという
欠点がある。
However, the grid-type wiring method requires a large wiring area. Therefore, when applied to a highly integrated LSI, the number of wirings, that is, a wiring area corresponding to an increase in the number of nets is insufficient. Therefore, there is a disadvantage that wiring of all nets cannot be completed. On the other hand, the non-grid type wiring method does not have a wiring reference position like a grid and has a wide search area for a wiring path, so that it is difficult to determine an optimum wiring path, and processing (wiring) time is long. Disadvantage.

【0009】上記欠点の解決を図った特開平6−231
208号公報記載の従来の自動配置配線方法は、まず、
格子型配線手法を用いて格子型配線を行う。配置配線の
進行に伴い未配線が生じた場合、この未配線に対して非
格子型配線手法を用いた非格子型配線を行うというもの
である。
[0009] Japanese Patent Laid-Open No. Hei 6-231 to solve the above disadvantages
The conventional automatic placement and routing method described in Japanese Patent Publication No. 208
Grid-type wiring is performed using a grid-type wiring method. When non-wiring occurs with the progress of placement and routing, non-grid type wiring is performed on the non-wiring using a non-grid type wiring method.

【0010】しかし、この従来の自動配置配線方法での
配置配線結果は、非格子型配線で配線が終了してしまう
ので、配線が混雑して配線間隔が狭くなり、またある領
域に対して多くの配線を配設するので、これら配線間の
容量であるフリンジ容量が大きくなる。このフリンジ容
量の増加により、配線遅延時間が大きくなるという問題
があった。
[0010] However, the result of the placement and routing according to the conventional automatic placement and routing method is that the wiring ends up in a non-lattice type wiring, so that the wiring is congested, the wiring interval is narrowed, and a large amount of data is lost in a certain area. Since these wirings are provided, the fringe capacitance, which is the capacitance between these wirings, increases. Due to the increase in the fringe capacitance, there is a problem in that the wiring delay time increases.

【0011】従来の自動配置配線方法をフローチャート
で示す図6を参照すると、この従来の自動配置配線方法
は、まず、ステップS1で配置対象回路の機能ブロック
の配置を行い、次に、ステップS2で格子型配線手法に
より格子型配線を行う。ステップS3の判断処理で、未
配線が残るかどうかを判断し、未配線が残る場合はステ
ップS4で、配線を引き剥がし再配線を行う。未配線が
ない場合は、処理を終了する。
Referring to FIG. 6 which shows a flow chart of a conventional automatic placement and routing method, the conventional automatic placement and routing method first places a functional block of a circuit to be placed in step S1, and then in step S2. Grid wiring is performed by a grid wiring method. In the determination processing of step S3, it is determined whether or not unwired remains. If unwired remains, in step S4, the wiring is peeled off and rewired. If there is no unwired, the process ends.

【0012】ステップS4の配線引き剥がし再配線結
果、再びステップS5で、未配線が残るかどうかを判断
し、未配線が残る場合はステップP6で、非格子型配線
手法により非格子型配線を行う。
As a result of the wiring stripping and rewiring in step S4, it is again determined in step S5 whether or not unwiring remains. If unwiring remains, non-grid wiring is performed by a non-grid wiring method in step P6. .

【0013】再々度、ステップP7の判断処理で、未配
線が残るかどうかを判断し、未配線が残る場合はステッ
プS1の配置ステップに戻り、未配線がない場合は自動
配置配線を終了する。
Once again, in the determination process of step P7, it is determined whether or not unwired remains. If unwired remains, the process returns to the placement step of step S1, and if there is no unwired, the automatic placement and routing ends.

【0014】従来の自動配置配線方法の配置配線結果の
一例をレイアウト図で示す図7を参照すると、この従来
技術では、非格子型配線で配線が終了してしまうので、
この図に示すように配線が混雑しており、格子10から
逸脱して配設された配線11相互間の間隔である配線間
隔dは設計基準間隔Dと同一まで狭く、またある領域に
対して多くの配線11を配設する。この結果、配線間の
容量であるフリンジ容量が大きくなる。なお、この図に
示すVIA14は、上層、下層の各配線を相互に接続す
る貫通接続端子である。
Referring to FIG. 7, which is a layout diagram showing an example of a placement and routing result of the conventional automatic placement and routing method, in this prior art, the wiring is completed by non-lattice type wiring.
As shown in this figure, the wirings are congested, and the wiring distance d, which is the distance between the wirings 11 arranged so as to deviate from the lattice 10, is as narrow as the design reference distance D. Many wirings 11 are provided. As a result, the fringe capacitance, which is the capacitance between wirings, increases. The VIA 14 shown in this figure is a through connection terminal that connects the upper layer wiring and the lower layer wiring to each other.

【0015】格子型配線及び非格子型配線の各々とフリ
ンジ容量を比較して模式的に示す図8を参照すると、配
線の厚さT、幅Wとしたフリンジ単位容量をCo、長さ
L、配線間隔dとすると、フリンジ容量Cfは次式で表
される。 Cf=Co・L/d・・・・・・・・・・・・・・・・・・・・・(1) このようにフリンジ容量Cfは、長さLを一定とする
と、配線間隔dに逆比例し、配線間隔dが狭くなればな
るほど大きくなる。また、フリンジ容量以外の浮遊容量
をCa、配線の抵抗をRとすると、時定数τは次式で表
される。 τ=R(Ca+Cf)・・・・・・・・・・・・・・・・・・・・・(2) すなわち、時定数τに依存する遅延時間は、フリンジ容
量Cfが大きくなると大きくなるという比例の関係であ
る。
Referring to FIG. 8, which schematically shows the fringe capacitance by comparing each of the lattice type wiring and the non-lattice type wiring, the fringe unit capacitance with the wiring thickness T and width W being Co, length L, Assuming the wiring interval d, the fringe capacitance Cf is expressed by the following equation. Cf = Co · L / d (1) As described above, when the length L is constant, the fringe capacitance Cf is a wiring interval d. And becomes larger as the wiring interval d becomes smaller. Assuming that the stray capacitance other than the fringe capacitance is Ca and the resistance of the wiring is R, the time constant τ is represented by the following equation. τ = R (Ca + Cf) (2) That is, the delay time depending on the time constant τ increases as the fringe capacitance Cf increases. This is a proportional relationship.

【0016】(1)式を(2)式代入すると、時定数τ
は次式で表される。 τ=R(Ca+Co・L/d)・・・・・・・・・・・・・・・・・(3) すなわち、遅延時間τに依存する遅延時間は、長さLを
一定とすると、配線間隔dに逆比例して、配線間隔dが
狭くなればなるほど大きくなる。
Substituting equation (1) into equation (2) yields a time constant τ
Is represented by the following equation. τ = R (Ca + Co · L / d) (3) That is, if the length L is constant, the delay time depending on the delay time τ is In inverse proportion to the wiring distance d, the wiring distance d increases as the wiring distance d decreases.

【0017】図において、配線の厚さT、幅W及び長さ
Lを同一とすると、(1)式より、非格子型配線のフリ
ンジ容量Cfnは、配線間隔dnが格子型配線の配線間
隔dgより小さいので、格子型配線のフリンジ容量Cf
gより大きくなる。また、(3)式から、両者の配線抵
抗Rも同一とすると、非格子型配線の配線間隔dn対応
の遅延時間は格子型配線の配線間隔dgによる遅延時間
より大きくなる。
In the figure, if the thickness T, width W, and length L of the wiring are the same, from equation (1), the fringe capacitance Cfn of the non-lattice-type wiring is expressed as follows: Smaller than the fringe capacitance Cf
g. From the equation (3), if the wiring resistances R are the same, the delay time corresponding to the wiring interval dn of the non-lattice type wiring is larger than the delay time due to the wiring distance dg of the lattice type wiring.

【0018】[0018]

【発明が解決しようとする課題】上述した従来の自動配
置配線方法は、非格子型配線で配線が終了してしまうの
で、配線が混雑して配線間隔が狭くなり、またある領域
に対して多くの配線を配設するので、これら配線間の容
量であるフリンジ容量が増大することにより、配線遅延
時間が大きくなるというという欠点があった。
In the above-described conventional automatic placement and routing method, the wiring is completed by non-lattice type wiring, so that the wiring is congested, the wiring interval is narrowed, and more wiring is required for a certain area. In this case, since the fringe capacitance, which is the capacitance between these wirings, increases, the wiring delay time increases.

【0019】本発明の目的は、上記欠点を解消し、非格
子型配線の実施に伴う配線の混雑領域を緩和させ、フリ
ンジ容量の増大を抑制する自動配置配線方法を提供する
ことにある。
An object of the present invention is to provide an automatic placement and routing method which solves the above-mentioned drawbacks, alleviates a congested area of wiring due to the implementation of non-grid type wiring, and suppresses an increase in fringe capacitance.

【0020】[0020]

【課題を解決するための手段】第1の発明の自動配置配
線方法は、所定の機能を有する複数の機能ブロックを配
置した後要求された接続情報に従って予め定義した格子
上に機能ブロック間の接続用配線パターンを生成する格
子型配線後に、前記格子を定義せず設計基準のみに基づ
く非格子型配線を行う自動配置配線方法において、前記
非格子型配線を行った後の非格子型配線領域内で、配線
が混雑しており配線間フリンジ容量による影響によって
極端に遅延時間が大きくなり得る配線混雑領域を見つけ
出し、その配線混雑領域の近傍に配置されている第1の
マクロを移動指定マクロとして指定し、前記第1のマク
ロの周囲辺領域を予め定めた複数個の分割領域を生成
し、前記複数個の分割領域の各々毎に前記第1のマクロ
以外のマクロである第2のマクロの存在の有無を判断
し、前記第2のマクロが存在しない分割領域へ前記第1
のマクロを移動させることによって前記配線混雑領域に
空き領域を生成し、前記空き領域を用いて配線間フリン
ジ容量の影響を回避出来る十分な配線間隔を有する配線
に修正することを特徴とするものである。
According to a first aspect of the present invention, there is provided an automatic placement and routing method, comprising the steps of arranging a plurality of functional blocks having a predetermined function and connecting the functional blocks on a predefined grid in accordance with required connection information. In the automatic placement and routing method for performing non-grid-type wiring based on only design criteria without defining the grid after the grid-type wiring for generating a wiring pattern for use in the non-grid-type wiring area after performing the non-grid-type wiring, Then, a wiring congested area where the wiring is congested and the delay time becomes extremely large due to the influence of the fringe capacitance between the wirings is found, and a first macro arranged near the wiring congested area is designated as a movement designation macro. Then, a plurality of divided regions in which peripheral regions of the first macro are predetermined are generated, and each of the plurality of divided regions is a macro other than the first macro. Determining the presence or absence of 2 macro said to divided areas having no second macro first
A free area is generated in the wiring congested area by moving the macro, and the wiring is corrected to a wiring having a sufficient wiring interval that can avoid the influence of the fringe capacitance between the wirings by using the free area. is there.

【0021】第2の発明の自動配置配線方法は、所定の
機能を有する複数の機能ブロックを配置した後要求され
た接続情報に従って前記複数の機能ブロック間を接続す
る配線を行う自動配置配線方法において、前記複数の機
能ブロックを配置する機能ブロックの配置ステップと、
前記接続情報に従って設計基準を満たした格子上に機能
ブロック間の接続用配線パターンを生成する格子型配線
を行う格子型配線ステップと、前記格子型配線ステップ
の結果、未配線が残るかどうかを判断をする第1の配線
完了判断ステップと、前記第1の配線完了判断ステップ
で未配線が残った場合配線を引き剥がし再配線を行う配
線引き剥がし再配線ステップと、前記配線引き剥がし再
配線ステップの結果、未配線が残るかどうかを判断をす
る第2の配線完了判断ステップと、前記第2の配線完了
判断ステップで未配線が残った場合格子を定義せず設計
基準を満たすように複数の機能ブロック相互間を接続す
る非格子型配線手法により非格子型配線を行う非格子型
配線ステップと、前記非格子型配線ステップの実施後の
非格子型配線領域内で、配線が混雑し配線間フリンジ容
量により遅延時間が大きくなり得る配線混雑領域を抽出
し、その配線混雑領域の近傍に配置されているマクロを
移動対象の指定マクロとして設定し、この指定マクロの
周囲領域を予め定めた複数個の分割領域に分割し、前記
分割領域の各々毎に前記指定マクロ以外の他のマクロの
存在の有無を判断し、他のマクロが存在しない分割領域
に指定マクロを移動させることによって前記配線混雑領
域に空き領域を生成し、この空き領域を用いてフリンジ
容量の影響を回避出来る十分な配線間隔を有する配線に
修正する最適化ステップとを有することを特徴とするも
のである。
According to a second aspect of the present invention, there is provided an automatic placement and routing method for arranging a plurality of function blocks having a predetermined function and then performing wiring for connecting the plurality of function blocks according to requested connection information. Arranging functional blocks for arranging the plurality of functional blocks;
A grid-type wiring step of performing a grid-type wiring for generating a wiring pattern for connection between functional blocks on a grid that satisfies a design criterion according to the connection information; and, as a result of the grid-type wiring step, determining whether or not unwiring remains. A first wiring completion determining step, a wiring peeling rewiring step of peeling off and rewiring the wiring if no wiring remains in the first wiring completion determining step, and a wiring peeling rewiring step As a result, a second wiring completion judging step for judging whether or not unwiring remains, and a plurality of functions for satisfying design criteria without defining a grid when unwiring remains in the second wiring completion judging step A non-lattice-type wiring step of performing non-lattice-type wiring by a non-lattice-type wiring method for connecting blocks, and a non-lattice-type wiring area after the non-lattice-type wiring step is performed Then, a wiring congestion area where the wiring becomes congested and the delay time becomes large due to the fringe capacitance between the wirings is extracted, and a macro arranged near the wiring congestion area is set as a designated macro to be moved. The surrounding area is divided into a plurality of predetermined divided areas, the presence or absence of a macro other than the designated macro is determined for each of the divided areas, and the designated macro is assigned to the divided area where no other macro exists. An optimizing step of generating an empty area in the wiring congested area by moving the wiring, and correcting the wiring to a wiring having a sufficient wiring interval that can avoid the effect of fringe capacitance using the empty area. It is.

【0022】また、第2の発明における前記最適化ステ
ップが、チップ内の全ての非格子型配線領域である全非
格子型配線領域面積と、前記非格子型配線領域以外のマ
クロの未配置領域である疎領域面積とを算出し対応する
目標面積縮小率を設定する第1のステップと、前記非格
子型配線領域のうちで最も大きい最大非格子型配線領域
と前記疎領域のうちで最も大きい最大疎領域を抽出する
第2のステップと、抽出した前記最大非格子型配線領域
から一番近いマクロを移動対象の指定マクロとして指定
する第3のステップと、前記指定マクロの周囲の領域で
ある周囲領域を設定する第4のステップと、前記周囲領
域を8分割して分割領域を生成し、この分割領域の各々
毎に前記指定マクロを移動させる配置位置を設定する第
5のステップと、前記分割領域の各々毎に前記指定マク
ロの他のマクロが存在するかどうかを判断する第6のス
テップと、前記他のマクロが存在しない前記分割領域に
前記指定マクロを移動する第7のステップと、前記指定
マクロの移動に伴なう配線を前記指定マクロの移動によ
って生じる移動後空き領域近傍の空き領域を使い前記最
大非格子型配線領域の非格子型配線を前記格子型配線に
修正する第8のステップと、前記第8のステップで修正
後の全非格子型配線領域面積である最適化後全非格子型
配線領域面積を算出し、前記第1のステップで算出した
全非格子型配線領域面積と比較して最適化後面積縮少率
を計算する第9のステップとを有することを特徴として
も良い。
The optimizing step according to the second invention is characterized in that the non-lattice-type wiring area, which is all the non-lattice-type wiring areas in the chip, and the macro unplaced area other than the non-lattice-type wiring area A first step of calculating a sparse region area and setting a corresponding target area reduction ratio, and a largest non-lattice-type wiring region among the largest non-lattice-type wiring regions and a largest one among the sparse regions. A second step of extracting a maximum sparse area, a third step of specifying a macro closest to the extracted maximum non-lattice-type wiring area as a specified macro to be moved, and an area surrounding the specified macro. A fourth step of setting a surrounding area, a fifth step of generating a divided area by dividing the surrounding area into eight, and setting an arrangement position for moving the designated macro for each of the divided areas; A sixth step of determining whether or not another macro of the specified macro exists for each of the divided areas; a seventh step of moving the specified macro to the divided area where the other macro does not exist; Correcting the non-lattice-type wiring of the maximum non-lattice-type wiring area to the lattice-type wiring by using a free area in the vicinity of the post-movement free area generated by the movement of the specified macro. Step 8, calculating the optimized non-lattice-type wiring region area, which is the corrected total non-lattice-type wiring region area in the eighth step, and calculating the total non-lattice-type wiring calculated in the first step. A ninth step of calculating the area reduction rate after optimization as compared with the area of the region.

【0023】また、前記第6のステップが、前記8個の
分割領域の各々の内部に前記他のマクロが存在するかど
うかを判断する他のマクロの存在判断ステップと、前記
他のマクロの存在判断ステップで前記8個の分割領域の
全てに他のマクロが存在する場合に前記分割領域の各々
の位置を予め定めた様式で移動する分割領域の位置移動
ステップと、位置が移動していない分割領域があるかど
うかを判断し判断結果位置が移動していない分割領域が
ある場合は前記他のマクロの存在判断ステップに戻る分
割領域の位置移動判断ステップと、分割領域の位置移動
判断ステップで位置が移動していない分割領域が無い場
合は分割領域内に存在するマクロの中で前記第2のステ
ップで抽出した最大疎領域に一番近いマクロを指定マク
ロとして指定する指定マクロ再指定ステップと、前記指
定マクロ再指定ステップで指定できるマクロがあるかど
うかを判断し、マクロを再指定できた場合は前記第4の
ステップに戻る再指定マクロ存在判断ステップと、前記
再指定マクロ存在判断ステップで、指定対象マクロが無
い場合は前記第2のステップで抽出した前記非格子型配
線領域から一番近くのまだ一度も指定していないマクロ
を指定マクロとして指定する指定マクロ再々指定ステッ
プと、前記指定マクロ再々指定ステップで指定できるマ
クロがあるかどうかを判断し、マクロを再々指定できた
場合は前記第4のステップに戻り、指定対象のマクロが
無い場合は終了するる再々指定マクロ存在判断ステップ
とを有することを特徴としても良い。
The sixth step may include a step of determining whether another macro exists in each of the eight divided areas, and a step of determining whether another macro exists. A step of moving the position of each of the divided areas in a predetermined manner when another macro exists in all of the eight divided areas in the determining step; It is determined whether there is an area, and if there is a divided area whose position has not moved, the process returns to the step of determining the presence of another macro. If there is no divided area that has not moved, the macro closest to the maximum sparse area extracted in the second step among the macros existing in the divided area is designated as the designated macro A fixed macro redesignating step; determining whether there is a macro that can be designated in the designated macro redesignating step; if the macro can be designated again, returning to the fourth step; If there is no designated macro in the designated macro existence determining step, the designated macro that designates the closest macro that has not been designated yet as the designated macro from the non-lattice type wiring area extracted in the second step. It is determined whether there is a macro that can be designated in the designation step and the designated macro re-designation step. If the macro can be designated again, the process returns to the fourth step. If there is no macro to be designated, the process ends. It may be characterized by having a designated macro existence determining step.

【0024】さらに、前記第7のステップが、前記第6
のステップの判断結果、前記8個の分割領域のうち他の
マクロが存在しない分割領域がある場合にこのマクロが
存在しない分割領域がいくつあるかを判断する他のマク
ロの非存在分割領域数判断ステップと、前記他のマクロ
の非存在分割領域数判断ステップでマクロが存在しない
分割領域が1つだけの場合は、このマクロが存在しない
分割領域に指定マクロを移動する第1の指定マクロ移動
ステップと、前記他のマクロの非存在分割領域数判断ス
テップでマクロが存在しない分割領域が複数ある場合
は、これら複数の分割領域の中で前記第2のステップで
抽出した最大疎領域に一番近い分割領域に指定マクロを
移動する第2の指定マクロ移動ステップとを有すること
を特徴としても良い。
[0024] Further, the seventh step includes the step of:
As a result of the determination in step (a), if there is a divided area where no other macro exists among the eight divided areas, it is determined how many divided areas where this macro does not exist. A step of moving the designated macro to a divided area where no macro exists in the step and the step of judging the number of non-existing divided areas of the other macros in the case where there is only one divided area where no macro exists. When there are a plurality of divided regions where no macro exists in the step of determining the number of non-existent divided regions of the other macro, the closest one of the plurality of divided regions to the largest sparse region extracted in the second step A second designated macro moving step of moving the designated macro to the divided area.

【0025】またさらに、前記第9のステップが、最適
化処理後の全ての非格子型配線領域面積である最適化後
非格子型配線領域面積を算出し、前記第1のステップで
算出した前記非格子型配線領域面積との比較により最適
化後面積縮少率を求めこの最適化後面積縮少率が前記目
標面積縮小率を満足しているかどうかを判断し満足して
いれば処理を終了する面積縮小率判断ステップと、前記
面積縮小率判断ステップの判断結果前記最適化後面積縮
少率が前記目標面積縮小率を満足しない場合は前記第3
のステップでの指定マクロの配置位置の移動に伴う配線
修正だったかを判断し、前記第3のステップでの指定マ
クロの配置位置の移動に伴う配線修正であった場合は前
記第2のステップに戻る配線修正判断ステップと、前記
配線修正判断ステップで前記第3のステップでの指定マ
クロの配置位置の移動に伴う配線修正と異なる場合は今
回移動させたマクロの1つ前に指定したマクロであり配
置位置を移動していないマクロを指定マクロとして指定
して前記第4のステップに戻る前指定マクロ再指定ステ
ップとを有することを特徴としても良い。
Further, the ninth step is to calculate an optimized non-lattice-type wiring region area, which is the entire non-lattice-type wiring region area after the optimizing process, and calculate the non-lattice-type wiring region area calculated in the first step. The area reduction rate after optimization is obtained by comparing with the area of the non-lattice type wiring region, and it is determined whether or not the area reduction rate after optimization satisfies the target area reduction rate. The area reduction ratio after the optimization does not satisfy the target area reduction ratio.
It is determined whether or not the wiring has been corrected in accordance with the movement of the specified macro arrangement position in the step (3). If the wiring has been corrected in accordance with the movement of the specified macro arrangement position in the third step, the processing proceeds to the second step. If the return wiring correction determining step differs from the wiring correction associated with the movement of the designated macro placement position in the third step in the wiring correction determining step, the macro is a macro designated immediately before the currently moved macro. The method may further include a designated macro re-designating step before designating a macro whose arrangement position has not been moved as the designated macro and returning to the fourth step.

【0026】[0026]

【発明の実施の形態】次に、本発明の実施の形態につい
て図面を参照して詳細に説明する。
Next, embodiments of the present invention will be described in detail with reference to the drawings.

【0027】本実施の形態の自動配置配線方法は、従来
技術で説明したような、予め定義した格子に配線する格
子型配線後に、上記格子を定義せず設計基準のみに基づ
く非格子型配線を行った後の非格子型配線領域内で、配
線が混雑しており、配線間フリンジ容量による影響によ
って極端に遅延時間が遅くなってしまう配線混雑領域を
見つけ出し、その配線混雑領域の近傍に配置されている
マクロを移動対象の指定マクロとして設定し、この指定
マクロの周囲領域を所定数分割して所定数個の分割領域
を生成し、各分割領域の各々毎に指定マクロ以外の他の
マクロの存在の有無を判断し、他のマクロが存在しない
分割領域へ指定マクロを移動させることによって上記配
線混雑領域に空き領域を生成し、この空き領域を用いて
フリンジ容量の影響を回避出来る十分な配線間隔を有す
る配線に修正することを特徴とするものである。
In the automatic placement and routing method according to the present embodiment, as described in the prior art, after the grid-type wiring for wiring to a predefined grid, a non-grid-type wiring based on only the design criteria without defining the above-mentioned grid is provided. In the non-lattice-type wiring area after performing the wiring, the wiring is congested, and a wiring congestion area in which the delay time is extremely delayed due to the influence of the fringe capacitance between the wirings is found, and the wiring congestion area is located near the wiring congestion area. The specified macro is set as a designated macro to be moved, and the surrounding area of the designated macro is divided into a prescribed number to generate a prescribed number of divided areas. The presence or absence of the macro is determined, and the designated macro is moved to the divided area where no other macro exists, thereby generating an empty area in the wiring congestion area. It is characterized in that to fix the wires with sufficient wiring space which can avoid.

【0028】次に、本発明の実施の形態を図6と共通の
構成要素には共通の参照文字/数字を付して同様にフロ
ーチャートで示す図1を参照すると、この図に示す本実
施の形態の自動配置配線方法は、従来と共通の所定の機
能を有する複数の機能ブロックを配置する機能ブロック
の配置ステップS1と、要求された接続情報に従って設
計基準を満たした格子上に機能ブロック間の接続用配線
パターンを生成する格子型配線ステップS2と、ステッ
プS2の結果未配線が残るかどうかを判断する配線完了
判断ステップS3と、ステップS3で未配線が残った場
合配線を引き剥がし再配線を行う配線引き剥がし再配線
ステップS4と、ステップS4の結果未配線が残るかど
うかを判断する配線完了判断ステップS5と、ステップ
S5で未配線が残った場合格子を定義せず設計基準を満
たすように複数の機能ブロック相互間を接続する非格子
型配線手法により非格子型配線を行う非格子型配線ステ
ップS6とに加えて、非格子型配線を行った後の非格子
型配線領域内で、配線が混雑し配線間フリンジ容量によ
り遅延時間が大きくなり得る配線混雑領域を抽出し、そ
の配線混雑領域の近傍に配置されているマクロを移動対
象の指定マクロとして設定し、この指定マクロの周囲領
域を8分割して8つの分割領域を生成し、分割領域の各
々毎に指定マクロ以外の他のマクロの存在の有無を判断
し、他のマクロが存在しない分割領域に指定マクロを移
動させることによって上記配線混雑領域に空き領域を生
成し、この空き領域を用いてフリンジ容量の影響を回避
出来る十分な配線間隔を有する配線に修正する最適化ス
テップS7を有する。
Next, referring to FIG. 1 which shows the embodiment of the present invention in the same manner as in FIG. The automatic placement and routing method according to the embodiment includes a step S1 of arranging a plurality of functional blocks having a predetermined function common to the related art, and a step of arranging the functional blocks on a lattice satisfying a design standard in accordance with required connection information. A grid-type wiring step S2 for generating a connection wiring pattern, a wiring completion determination step S3 for determining whether or not a non-wiring remains as a result of the step S2, and if no wiring remains in the step S3, the wiring is peeled off and re-wired. Wiring peeling and rewiring step S4, a wiring completion determining step S5 for determining whether or not unwiring remains as a result of step S4, and an unwiring remaining in step S5 In addition to the non-lattice-type wiring step S6 of performing non-lattice-type wiring by a non-lattice-type wiring method for connecting a plurality of functional blocks so as to satisfy a design standard without defining a lattice, In the non-lattice type wiring area after the execution, a wiring congestion area where the wiring is congested and the delay time is increased due to the fringe capacitance between the wirings is extracted, and a macro arranged in the vicinity of the wiring congestion area is extracted as a movement target. It is set as a designated macro, and the surrounding area of the designated macro is divided into eight to generate eight divided areas. For each of the divided areas, it is determined whether or not another macro other than the designated macro exists. By moving a designated macro to a non-existing divided area, an empty area is generated in the wiring congested area, and a wiring having a sufficient wiring interval that can avoid the influence of fringe capacitance using the empty area. With optimized step S7 to correct.

【0029】最適化ステップS7は、チップ内の全ての
非格子型配線領域である全非格子型配線領域面積と、非
格子型配線領域以外のマクロの未配置領域(以下疎領
域)面積とを算出し対応する目標面積縮小率を設定する
ステップS71と、最大非格子型配線領域と最大の疎領
域である最大疎領域を抽出するステップS72と、抽出
した最大非格子型配線領域から一番近いマクロを移動対
象の指定マクロとして指定するステップS73と、指定
マクロの周囲の領域である周囲領域を設定するステップ
S74と、周囲領域を8分割して分割領域を生成し、分
割領域の各々毎に指定マクロを移動させる配置位置を設
定するステップS75と、各分割領域の各々毎に指定マ
クロの他のマクロが存在するかどうかを判断するステッ
プS76と、他のマクロが存在しない分割領域に指定マ
クロを移動するステップS77と、指定マクロの移動に
伴なう配線を指定マクロの移動によって生じる移動後空
き領域近傍の空き領域を使い最大非格子型配線領域の配
線を格子型配線に修正するステップS78と、ステップ
S78での修正後の全非格子型配線領域面積、すなわ
ち、最適化後全非格子型配線領域面積を算出し、ステッ
プS71で算出した全非格子型配線領域面積と比較して
面積縮少率を計算するステップS79とを有する。
The optimizing step S7 is to determine the area of the entire non-lattice-type wiring area, which is all the non-lattice-type wiring areas in the chip, and the area of the macro non-arranged area (hereinafter referred to as the sparse area) other than the non-lattice-type wiring area. Step S71 of calculating and setting the corresponding target area reduction ratio, step S72 of extracting the largest non-lattice type wiring region and the largest sparse region which is the largest sparse region, and the closest from the extracted maximum non-lattice type wiring region Step S73 of designating the macro as a designated macro to be moved, step S74 of setting a surrounding area that is a surrounding area of the designated macro, and dividing the surrounding area into eight to generate a divided area. A step S75 of setting an arrangement position at which the designated macro is moved; a step S76 of judging whether or not another designated macro exists for each of the divided areas; Step S77 of moving the designated macro to the divided area where the b does not exist, and wiring of the maximum non-lattice type wiring area using the free area near the free area after the movement caused by the movement of the designated macro. Is corrected to a grid wiring, and the total non-grid wiring area area after correction in step S78, that is, the optimized total non-grid wiring area is calculated, and the total non-grid calculated in step S71 is calculated. Calculating an area reduction ratio in comparison with the area of the pattern wiring region.

【0030】次に、図1を参照して本実施の形態の動作
の概要について説明すると、まず、ステップS1からス
テップS6までは従来と共通の処理を行う。すなわち、
ステップS1で配置対象回路の機能ブロックの配置を行
い、ステップS2で格子型配線手法により格子型配線を
行う。ステップS3の判断処理で、未配線が残るかどう
かを判断し、未配線が残る場合はステップS4で、配線
を引き剥がし再配線を行う。未配線がない場合は、処理
を終了する。ステップS4の配線引き剥がし再配線結
果、再びステップS5で、未配線が残るかどうかを判断
し、未配線が残る場合はステップS6で、非格子型配線
手法により非格子型配線を行う。
Next, the outline of the operation of the present embodiment will be described with reference to FIG. 1. First, steps S1 to S6 perform the same processing as the conventional one. That is,
In step S1, the functional blocks of the circuit to be arranged are arranged, and in step S2, lattice wiring is performed by a lattice wiring method. In the determination processing of step S3, it is determined whether or not unwired remains. If unwired remains, in step S4, the wiring is peeled off and rewired. If there is no unwired, the process ends. As a result of the wiring stripping and rewiring in step S4, it is determined again in step S5 whether or not unwiring remains. If unwiring remains, non-grid wiring is performed in step S6 by a non-grid wiring method.

【0031】この非格子型配線ステップS6の結果生成
した非格子型配線では、配線が混雑し配線間隔も短くな
り、配線間のフリンジ容量が大きくなり、極端に遅延時
間が遅くなってしまう箇所が生じる。特にプロセスが微
細化してゆくに伴ない、この影響はより大きくなってく
る。
In the non-lattice-type wiring generated as a result of the non-lattice-type wiring step S6, there are places where the wiring is congested, the interval between the wirings becomes short, the fringe capacitance between the wirings becomes large, and the delay time becomes extremely long. Occurs. In particular, as the process becomes finer, the effect becomes larger.

【0032】次に、ステップS7の最適化ステップを実
施する。まず、ステップS71でチップ内の全非格子型
配線領域面積と、非格子型配線領域を除くマクロが未配
置の領域の面積、すなわち、疎領域面積とを算出する。
この時に算出した非格子型配線領域面積をどの位の面積
にまで縮小するかの目標面積縮小率を設定する。
Next, an optimization step of step S7 is performed. First, in step S71, the area of all the non-lattice type wiring regions in the chip and the area of the region where no macro is arranged except the non-lattice type wiring regions, that is, the sparse region area, are calculated.
At this time, a target area reduction rate is set to determine the area of the calculated non-lattice type wiring region area.

【0033】次に、ステップS72で、非格子型配線領
域のうちで最も大きい最大非格子型配線領域と疎領域の
うちで最も大きい最大疎領域を抽出する。
Next, in step S72, the largest non-lattice type wiring area and the largest maximum sparse area among the sparse areas are extracted.

【0034】次に、ステップS73で、抽出した最大非
格子型配線領域から一番近いマクロを指定マクロとして
指定する。
Next, in step S73, a macro closest to the extracted maximum non-lattice type wiring area is designated as a designated macro.

【0035】最大非格子型配線領域からのマクロの選択
指定の一例をレイアウト図で示す図3を参照すると、こ
の図には、格子10から逸脱して配設された配線から成
り点線で囲んで示した非格子型配線領域21と、指定マ
クロ22Sを含むマクロ22と、横方向のAL配線を配
設した上層のAL配線層12と、縦方向のAL配線を配
設した下層のAL配線層13と、上層、下層の各配線を
相互に接続する貫通接続端子(VIA)14とを示し、
この例では、複数のマクロ22のうち最大非格子型配線
領域21の下側のマクロ22を移動させる対象の指定マ
クロ22Sとして指定する(詳細は後述)。
Referring to FIG. 3 showing a layout selection example of a macro selection from the maximum non-lattice type wiring area, FIG. The illustrated non-lattice type wiring area 21, the macro 22 including the designated macro 22S, the upper AL wiring layer 12 having the horizontal AL wiring disposed thereon, and the lower AL wiring layer having the vertical AL wiring disposed therein 13 and a through connection terminal (VIA) 14 for interconnecting the upper and lower wirings,
In this example, among the plurality of macros 22, the lower macro 22 of the maximum non-lattice-type wiring area 21 is designated as a designated macro 22S to be moved (details will be described later).

【0036】次に、ステップS74で、指定マクロ22
Sの周囲の領域である周囲領域24を設定する。この周
囲領域24は指定マクロ22Sの面積及び端子数によっ
て範囲を予め設定しておく。
Next, in step S74, the designated macro 22
A surrounding area 24 around S is set. The range of the peripheral region 24 is set in advance according to the area of the designated macro 22S and the number of terminals.

【0037】次に、ステップS75で、設定した周囲領
域24を後述するように8分割し、分割領域241〜2
48を設定し、分割領域の各々毎に移動させる指定マク
ロ22Sの移動先の配置位置を設定する。
Next, in step S75, the set surrounding area 24 is divided into eight as described later, and divided areas 241-2.
48 is set, and the arrangement position of the movement destination of the designated macro 22S to be moved for each of the divided areas is set.

【0038】次に、ステップS76で、分割領域241
〜248の各々の領域内に他のマクロが存在するかどう
かを判断する。
Next, in step S76, the divided area 241
It is determined whether there is another macro in each area of .about.248.

【0039】次に、ステップS77で、分割領域241
〜248の内の他のマクロが存在しない分割領域に指定
マクロ22Sを移動する。
Next, in step S77, the divided area 241
The designated macro 22S is moved to a divided area where no other macro exists among 248.

【0040】次に、ステップS78で、指定マクロ22
Sの移動に伴なう配線をマクロ22Sの移動によって生
じる空き領域である移動後空き領域近傍の空き領域を使
い、最大非格子型配線領域21の非格子型配線を格子上
に配線パターンを生成する格子型配線に修正する。
Next, in step S78, the designated macro 22
A wiring pattern is generated on the grid for the non-lattice type wiring of the maximum non-lattice type wiring area 21 by using a free area near the post-movement free area, which is a free area generated by the movement of the macro 22S, for the wiring accompanying the movement of S. Correct it to a lattice type wiring.

【0041】その後、ステップS79で、修正後の全非
格子型配線領域面積を算出し、この全非格子型配線領域
面積をステップS71で算出した全非格子型配線領域面
積と比較して修正後、すなわち最適化後の面積縮少率を
計算する。この最適化後面積縮少率の値がステップS7
1で設定した目標面積縮少率より小さいかを判断する。
目標面積縮少率より大きい場合はステップS72に戻
り、最適化後面積縮少率が目標面積縮少率を下回るまで
ステップS72〜S79を反復する。最適化後面積縮少
率が目標縮少率を達成した場合は、自動配置配線を終了
する。
Thereafter, in step S79, the corrected total non-lattice type wiring area is calculated, and the total non-lattice type wiring area is compared with the total non-lattice type wiring area calculated in step S71. That is, the area reduction rate after optimization is calculated. The value of the area reduction rate after the optimization is determined in step S7.
It is determined whether it is smaller than the target area reduction rate set in step 1.
If the target area reduction rate is larger than the target area reduction rate, the process returns to step S72, and steps S72 to S79 are repeated until the optimized area reduction rate falls below the target area reduction rate. If the area reduction rate after optimization has reached the target reduction rate, the automatic placement and routing is terminated.

【0042】本実施の形態の自動配置配線方法の対象と
する回路におけるマクロの自動配置移動の一例をレイア
ウト図で示す図2を併せて参照して、配置位置移動対象
のマクロの指定順序の例について具体的に説明すると、
図2(A)はステップS1〜S6による配線後のレイア
ウトを示し、非格子型配線領域21と、配置対象の3つ
のマクロ22A,22B,22Cと、最大疎領域23と
を含む。また、後述するマクロ22Bの周囲領域24B
(点線で示す)と空き分割領域である空き領域25とを
示す。
Referring to FIG. 2 which is a layout diagram showing an example of the automatic placement and movement of macros in a circuit to be subjected to the automatic placement and routing method of this embodiment, an example of the designation order of macros to be placed and moved. To explain more specifically,
FIG. 2A shows a layout after wiring in steps S <b> 1 to S <b> 6, and includes a non-lattice type wiring area 21, three macros 22 </ b> A, 22 </ b> B, 22 </ b> C to be arranged, and a maximum sparse area 23. Also, a surrounding area 24B of a macro 22B described later.
(Shown by a dotted line) and a free area 25 which is a free divided area.

【0043】なお、説明の便宜上、目標面積縮小率は、
全て(100%)の非格子型配線を格子型配線に修正す
ることを達成し得る面積縮小率に設定するものとする。
For convenience of explanation, the target area reduction rate is:
It is assumed that the area reduction ratio is set so that all (100%) non-grid type wirings can be corrected to grid type wirings.

【0044】上述のステップS72では、非格子型配線
領域21を最大非格子型配線領域として抽出し、最大疎
領域23を最大疎領域として抽出する。
In step S72 described above, the non-lattice wiring area 21 is extracted as the maximum non-lattice wiring area, and the maximum sparse area 23 is extracted as the maximum sparse area.

【0045】ステップS73で、抽出した最大非格子型
配線領域21から一番近いマクロ22Aを移動対象の指
定マクロ(以下指定マクロ22A等)として指定する。
In step S73, the macro 22A closest to the extracted maximum non-grid type wiring area 21 is designated as a designated macro to be moved (hereinafter designated macro 22A etc.).

【0046】次に、ステップS74で、指定マクロ22
Aの周囲の領域である周囲領域24Aを設定し、ステッ
プS75で、設定した周囲領域24Aを8分割し、ステ
ップS76で、分割領域241A〜248Aの各々の領
域内に他のマクロが存在するかどうかを判断した結果、
このマクロ22Aの分割領域241A〜248Aの全て
に他のマクロが存在する。このため、マクロ22Aの分
割領域241A〜248Aに存在するマクロの中で最大
疎領域23に近いマクロ22Bを指定マクロ22Bとし
て再度指定する。しかし、指定マクロ22Bの分割領域
241B〜248Bの全てにも他のマクロが存在するた
め、分割領域241B〜248Bに存在するマクロの中
で最大疎領域23に近いマクロ22Cを指定マクロ22
Cとして指定する。
Next, in step S74, the designated macro 22
A surrounding area 24A, which is an area surrounding A, is set. In step S75, the set surrounding area 24A is divided into eight parts. In step S76, whether another macro exists in each of the divided areas 241A to 248A. As a result of judging whether
Another macro exists in all of the divided areas 241A to 248A of the macro 22A. Therefore, the macro 22B close to the maximum sparse area 23 among the macros existing in the divided areas 241A to 248A of the macro 22A is designated again as the designated macro 22B. However, since there are other macros in all of the divided areas 241B to 248B of the designated macro 22B, the macro 22C closer to the maximum sparse area 23 among the macros existing in the divided areas 241B to 248B is designated macro 22C.
Designate as C.

【0047】この指定マクロ22Cの周囲領域24Cに
は、図2(A)に示すように、他のマクロが存在しない
分割領域(空き領域)25Cがあり、ステップS77
で、この指定マクロ22Cの配置位置をこの空き領域2
5Cに移動する。このマクロ22Cの配置位置移動にに
伴なう配線修正により、さらに非格子型配線領域が残る
場合は、マクロ22Cを指定する前に指定したマクロ2
2Bを指定マクロ22Bとして再指定する。
As shown in FIG. 2A, there is a divided area (empty area) 25C in which no other macro exists in the peripheral area 24C of the designated macro 22C.
The location of the designated macro 22C is
Move to 5C. If the non-lattice-type wiring area still remains due to the wiring correction accompanying the movement of the placement position of the macro 22C, the macro 2C specified before the macro 22C is specified.
2B is re-designated as the designated macro 22B.

【0048】マクロ22Cの配置位置が移動したため、
指定マクロ22Bの周囲領域24Bにおいて、図2
(B)に示すように、マクロが存在しない分割領域であ
る空き領域25Bができる。マクロ22Bの配置位置を
この空き領域25Bに移動する。このマクロ22Bの配
置位置移動に伴なう配線修正でも非格子型配線領域が残
る場合は、マクロ22Bの前に指定したマクロ22Aを
指定マクロ22Aとして再指定する。
Since the position of the macro 22C has been moved,
In the surrounding area 24B of the designated macro 22B, FIG.
As shown in (B), a free area 25B, which is a divided area where no macro exists, is created. The arrangement position of the macro 22B is moved to the empty area 25B. If the non-lattice-type wiring area remains even after the wiring correction accompanying the movement of the arrangement position of the macro 22B, the macro 22A specified before the macro 22B is specified again as the specified macro 22A.

【0049】指定マクロ22Aの周囲領域24Aにおい
て、図2(C)に示すように、他のマクロが存在しない
分割領域である空き領域25Aがある。この空き領域2
5Aにマクロ22Aの配置位置を移動する。図2(D)
に示すように、このマクロ22Aの配置位置移動に伴な
う配線修正により非格子型配線領域内の配線は全て格子
型配線に修正され、非格子型配線領域は格子型配線領域
26となる。
In the surrounding area 24A of the designated macro 22A, as shown in FIG. 2C, there is a free area 25A which is a divided area where no other macro exists. This free space 2
The arrangement position of the macro 22A is moved to 5A. FIG. 2 (D)
As shown in (2), all the wirings in the non-lattice type wiring area are corrected to the lattice type wiring by the wiring correction accompanying the movement of the arrangement position of the macro 22A, and the non-lattice type wiring area becomes the lattice type wiring area 26.

【0050】以上のように、マクロの指定順序はマクロ
22A、マクロ22B、マクロ22C、マクロ22B、
マクロ22Aの順番に指定されていく。もしマクロ22
Aの配置位置移動により非格子型配線領域が残る場合
は、チップ内の最大非格子型配線領域を抽出し、この最
大非格子型配線領域に一番近いマクロを指定し、同様
に、マクロの配置位置移動を繰り返していく。移動の指
定対象のマクロが無くなるか、非格子型配線領域が無く
なる場合にマクロの配置位置移動による配線修正フロー
は終了する。
As described above, the designation order of the macros is as follows: macro 22A, macro 22B, macro 22C, macro 22B,
The macros 22A are specified in order. If macro 22
If the non-lattice type wiring area remains due to the movement of the arrangement position of A, the largest non-lattice type wiring area in the chip is extracted, and the macro closest to this largest non-lattice type wiring area is designated. The placement position movement is repeated. When there is no macro to be moved or no non-lattice-type wiring area, the wiring correction flow by moving the macro placement position ends.

【0051】次に、ステップS7の処理の詳細をフロー
チャートで示す図4及び図3を参照して本実施の形態の
動作の詳細について説明すると、まず、ステップS71
で、チップ内の全ての非格子型配線領域の面積である全
非格子型配線領域面積と、疎領域面積とを算出する。こ
の時に算出した非格子型配線領域面積の大きさに応じて
この非格子型配線領域面積の目標面積縮小率を設定す
る。
Next, the details of the operation of this embodiment will be described with reference to FIGS. 4 and 3 which show the details of the processing of step S7 in a flowchart.
Then, the area of the entire non-lattice type wiring region, which is the area of all the non-lattice type wiring regions in the chip, and the area of the sparse region are calculated. The target area reduction rate of the non-lattice-type wiring area is set according to the size of the non-lattice-type wiring area calculated at this time.

【0052】次にステップS72で、非格子型配線領域
21のように、非格子型配線領域が最も大きい最大非格
子型配線領域21を抽出する。また、非格子型配線領域
21以外のマクロの未配置領域である最大疎領域23を
算出する。
Next, in step S72, the largest non-lattice type wiring area 21 having the largest non-lattice type wiring area, such as the non-lattice type wiring area 21, is extracted. In addition, a maximum sparse area 23 which is a non-arranged area of a macro other than the non-lattice type wiring area 21 is calculated.

【0053】次に、ステップS73で、ステップS72
で抽出した最大非格子型配線領域21から一番近いマク
ロを指定マクロ22Sとして指定する。
Next, in step S73, step S72
The macro closest to the maximum non-lattice-type wiring area 21 extracted in the above is designated as the designated macro 22S.

【0054】次に、ステップS74で、指定マクロの周
囲領域24Sを設定する。この周囲領域24Sはマクロ
の面積及び端子数によって範囲を予め設定しておく。
Next, in step S74, a surrounding area 24S of the designated macro is set. The range of the peripheral region 24S is set in advance according to the area of the macro and the number of terminals.

【0055】次に、ステップS75で、設定した周囲領
域24Sを8分割し、分割領域241S〜248Sを設
定し、分割領域毎に移動させる指定マクロ22Sの移動
先の配置位置を設定する。
Next, in step S75, the set surrounding area 24S is divided into eight, divided areas 241S to 248S are set, and the destination position of the designated macro 22S to be moved for each divided area is set.

【0056】マクロの指定、マクロ周辺の設定領域及び
マクロの分割領域の位置の移動方法を示す図5を参照す
ると、図5(A)に示すように、指定マクロ22Sの周
囲領域24Sを8分割し分割領域241S〜248Sを
設定する。分割領域241S〜248Sの各々毎に移動
させる指定マクロ22Sの移動先の配置位置を設定す
る。
Referring to FIG. 5, which shows a method of specifying a macro and moving the positions of a macro setting area and a macro division area, as shown in FIG. 5A, a surrounding area 24S of a specified macro 22S is divided into eight parts. Then, the divided areas 241S to 248S are set. The destination position of the designated macro 22S to be moved for each of the divided areas 241S to 248S is set.

【0057】次に、ステップS761で、分割領域24
1S〜248Sの各々の内部に他のマクロが存在するか
どうかを判断する。ただし、最大非格子型配線領域21
がある分割領域は判断対象から除く。
Next, in step S761, the divided area 24
It is determined whether or not another macro exists inside each of 1S to 248S. However, the maximum non-grid type wiring region 21
Is excluded from the judgment target.

【0058】まず、分割領域241S〜248Sの全て
に他のマクロが存在する場合はステップS762とし
て、図5(B)に示すように、分割領域241S〜24
8Sの各々の位置をそれぞれ予め定めた様式で移動す
る。この図の例では、分割領域241S〜248Sを右
回りに移動する。
First, if another macro exists in all of the divided areas 241S to 248S, the process proceeds to step S762, as shown in FIG.
Each position of 8S is moved in a predetermined manner. In the example of this figure, the divided areas 241S to 248S are moved clockwise.

【0059】次に、ステップS763で、全ての分割領
域の位置の移動が終了したかどうかを、すなわち、位置
が移動していない分割領域があるかどうかを判断する。
Next, in step S763, it is determined whether or not the movement of the positions of all the divided areas has been completed, that is, whether or not there is a divided area whose position has not been moved.

【0060】ステップS763の判断結果、位置が移動
していない分割領域がある場合はステップS761に戻
り、無い場合はステップS764に進み、このステップ
S764で、分割領域内に存在するマクロの中でステッ
プS72で抽出した最大疎領域23に一番近いマクロを
指定マクロとして指定する。
If the result of determination in step S763 is that there is a divided area whose position has not moved, the flow returns to step S761, and if not, the flow proceeds to step S764. The macro closest to the maximum sparse area 23 extracted in S72 is designated as the designated macro.

【0061】次に、ステップS765で、ステップS7
64にて指定できるマクロがあるかどうかを判断する。
ステップS765でマクロが指定できた場合はステップ
S74に戻る。指定対象マクロが無い場合はステップS
766に進み、このステップS766でステップS72
で抽出した非格子型配線領域21から一番近くのまだ一
度も指定していないマクロを指定マクロとして指定す
る。
Next, in step S765, step S7
It is determined whether there is a macro that can be specified at 64.
If a macro has been specified in step S765, the process returns to step S74. Step S if there is no macro to be specified
Proceed to 766, and in this step S766, step S72
The macro closest to the non-lattice-type wiring area 21 extracted in step 1 and which has not been specified yet is specified as the specified macro.

【0062】次に、ステップS767で、ステップS7
66にて指定できるマクロがあるかどうかを判断する。
Next, in step S767, step S7
At 66, it is determined whether there is a macro that can be designated.

【0063】ステップS767でマクロが指定できた場
合はステップS74に戻り、指定対象のマクロが無い場
合は終了する。
If a macro can be specified in step S767, the process returns to step S74, and if there is no macro to be specified, the process ends.

【0064】また、ステップS761で、他のマクロが
存在しない分割領域がある場合はステップS771に進
み、マクロが存在しない分割領域がいくつあるかを判断
する。
If it is determined in step S761 that there is a divided area where no other macro exists, the flow advances to step S771 to determine how many divided areas where no macro exists.

【0065】ステップS771で、マクロが存在しない
分割領域が1つだけの場合は、ステップS772へ進
み、このステップS772で、マクロが存在しない分割
領域に指定マクロを移動する。マクロが存在しない分割
領域が複数ある場合はステップS773で、複数の分割
領域の中で、ステップS72で抽出した最大疎領域23
に一番近い分割領域に指定マクロを移動する。
If it is determined in step S771 that there is only one divided area in which no macro exists, the flow advances to step S772. In step S772, the designated macro is moved to a divided area in which no macro exists. If there are a plurality of divided regions where no macro exists, in step S773, the largest sparse region 23 extracted in step S72 among the plurality of divided regions.
Move the specified macro to the divided area closest to.

【0066】ステップS772,S773の処理に伴な
い移動した指定マクロに接続する配線も移動し、この時
に非格子型配線を格子型配線に修正する(ステップS7
8)。
The wiring connected to the moved designated macro is also moved according to the processing of steps S772 and S773, and at this time, the non-lattice type wiring is corrected to the lattice type wiring (step S7).
8).

【0067】次に、ステップS791で、最適化処理後
の全ての非格子型配線領域面積、すなわち、最適化後非
格子型配線領域面積を算出し、ステップS71で求めた
非格子型配線領域面積との比較により最適化後面積縮少
率を求め、この最適化後面積縮少率が、目標面積縮小率
に達するかどうかを判断する。
Next, in step S791, the area of all the non-lattice type wiring regions after the optimization processing, that is, the area of the non-lattice type wiring region after optimization is calculated, and the non-lattice type wiring region area obtained in step S71 is calculated. Then, the post-optimization area reduction rate is obtained by comparing with the above, and it is determined whether the post-optimization area reduction rate reaches the target area reduction rate.

【0068】最適化後面積縮少率が、目標面積縮小率に
達しない場合は、ステップS792に進み、このステッ
プS792で、ステップS73での指定マクロの配置位
置の移動に伴う配線修正だったかを判断する。
If the area reduction rate after optimization does not reach the target area reduction rate, the flow advances to step S792 to determine in step S792 whether the wiring has been corrected due to the movement of the designated macro arrangement position in step S73. to decide.

【0069】ステップS792の判断結果、ステップS
73での指定マクロの配置位置の移動に伴う配線修正と
異なる場合は、ステップS793に進み、このステップ
S793で、今回移動させたマクロの1つ前に指定した
マクロ、すなわち、配置位置を移動していないマクロを
指定マクロとして指定してステップS74に戻る。
As a result of the determination in step S792,
If it is different from the wiring correction associated with the movement of the specified macro arrangement position in 73, the process advances to step S793, and in this step S793, the macro designated immediately before the currently moved macro, that is, the arrangement position is moved. The macro not specified is specified as the specified macro, and the process returns to step S74.

【0070】ステップS792の判断結果、ステップS
73での指定マクロの配置位置の移動に伴う配線修正で
あった場合は、ステップS72に戻る。ステップS79
1の比較で、最適化後面積縮少率が目標縮小率を満足し
た場合は、配線を終了する。
As a result of the determination in step S792,
If it is a wiring correction associated with the movement of the specified macro arrangement position in 73, the process returns to step S72. Step S79
If the area reduction rate after optimization satisfies the target reduction rate in the comparison of 1, the wiring is terminated.

【0071】従来の技術で説明したように、非格子型配
線が存在するような配線が混雑した領域は、配線間に生
じるフリンジ容量が大きくなる。また、複数の配線層を
有する場合、同様な問題は上下の配線層間にも存在す
る。今後のプロセスの微細化のさらなる進展に伴い、配
線間隔や上下の配線層間隔の縮小により対応するフリン
ジ容量が大きくなり、その影響により極端に遅延時間が
大きくなる箇所が生じるという問題が出てくる。
As described in the background art, in a region where wirings are congested such that non-lattice type wirings exist, fringe capacitance generated between the wirings is large. When a plurality of wiring layers are provided, a similar problem exists between the upper and lower wiring layers. With the further progress of miniaturization of the process in the future, the corresponding fringe capacitance will increase due to the reduction of the wiring interval and the interval between the upper and lower wiring layers, and the problem that the delay time will become extremely large due to the effect will occur. .

【0072】一般に、配置配線終了後の配線データに
は、配線が混雑している領域とそうでない領域があり、
基本的にチップの中心近傍で配線が混雑し非格子型配線
領域が生成されやすく、チップの外側にいくほど配線が
疎となる。特に、チップのコーナ部にはマクロが配置さ
れにくく、配線が配設されていない空き領域が多く存在
する。
Generally, the wiring data after the completion of the placement and routing includes a region where the wiring is congested and a region where the wiring is not.
Basically, the wiring is congested near the center of the chip and a non-lattice type wiring region is easily generated, and the wiring becomes sparser as going to the outside of the chip. In particular, macros are hardly arranged at the corners of the chip, and there are many empty areas where no wiring is arranged.

【0073】本実施の形態では、上記事実を利用し、非
格子型配線領域近傍のマクロの配置位置を移動させ、非
格子型配線領域に空き領域を生み出し、配線の混雑を緩
和させることができるので、配線間のフリンジ容量の増
大を防止し、当該配線部分の極端な遅延時間の増大を防
止することができる。
In the present embodiment, by utilizing the above fact, the arrangement position of the macro in the vicinity of the non-lattice type wiring area can be moved to create an empty area in the non-lattice type wiring area, thereby alleviating the congestion of the wiring. Therefore, it is possible to prevent an increase in fringe capacitance between the wirings, and to prevent an excessive increase in delay time of the wiring portion.

【0074】従来の技術で説明した(1)〜(3)式を
再度引用し、配線の厚さT、幅Wとしたフリンジ単位容
量をCo、長さL、配線間隔dとすると、フリンジ容量
Cfは(1)式で表される。 Cf=Co・L/d・・・・・・・・・・・・・・・・・・・・・(1) フリンジ容量以外の浮遊容量をCa、配線の抵抗をRと
すると、時定数τは(2)式で表される。 τ=R(Ca+Cf)・・・・・・・・・・・・・・・・・・・・・(2) (1)式を(2)式代入すると、時定数τは(3)式で表される。 τ=R(Ca+Co・L/d)・・・・・・・・・・・・・・・・・(3) (1)式で示すように、フリンジ容量Cfは、長さLを
一定とすると、配線間隔dに逆比例し、配線間隔dが狭
くなればなるほど大きくなる。
Referring again to the equations (1) to (3) described in the prior art, if the fringe unit capacitance with the wiring thickness T and width W is Co, length L, and wiring interval d, the fringe capacitance Cf is represented by equation (1). Cf = Co · L / d (1) If the stray capacitance other than the fringe capacitance is Ca and the resistance of the wiring is R, the time constant is τ is expressed by equation (2). τ = R (Ca + Cf) (2) When the equation (1) is substituted into the equation (2), the time constant τ becomes the equation (3) It is represented by τ = R (Ca + Co · L / d) (3) As shown by the equation (1), the fringe capacitance Cf is a constant length L. Then, it is inversely proportional to the wiring interval d, and becomes larger as the wiring interval d becomes smaller.

【0075】(2)式で示すように、抵抗Rと浮遊容量
Caを一定とすると、フリンジ容量Cfが大きいほど遅
延時間τが増大する。
As shown by the equation (2), when the resistance R and the floating capacitance Ca are constant, the delay time τ increases as the fringe capacitance Cf increases.

【0076】すなわち、(3)式で示すように、遅延時
間τに依存する遅延時間は、長さLを一定とすると、配
線間隔dに逆比例して、配線間隔dが狭くなればなるほ
ど大きくなる。
That is, as shown in the equation (3), when the length L is constant, the delay time dependent on the delay time τ is inversely proportional to the wiring interval d, and increases as the wiring interval d decreases. Become.

【0077】実際のチップにおける具体例を示すと、配
線間隔dが0.8μm時のフリンジ容量Cf1=2.3
4e-16(F/μm)に対し、配線間隔dを1.6μm
にした場合フリンジ容量Cf2は1.27e-16(F/
μm)となった。この場合では、間隔dを0.8μm広
げることによりフリンジ容量Cfが1.07e-16(F
/μm)小さくなり、割合で表すと約46%の低減、す
なわち、元の約54%の容量に低減する。
A specific example of an actual chip will be described. The fringe capacitance Cf1 when the wiring interval d is 0.8 μm is 2.3.
4e -16 (F / μm), the wiring interval d is 1.6 μm
In this case, the fringe capacitance Cf2 is 1.27e -16 (F /
μm). In this case, the fringe capacitance Cf is increased to 1.07 e -16 (F
/ Μm), which is reduced by a factor of about 46%, ie to about 54% of the original capacity.

【0078】(Ca+Cf)をCとすると、遅延時間τ
は(C−0.54Cf1)/Cの分だけ小さくなる。
Assuming that (Ca + Cf) is C, the delay time τ
Becomes smaller by (C−0.54Cf1) / C.

【0079】また、本実施の形態の配置配線方法は未配
線が残った場合にも適用でき、人手を介することなく自
動で配置配線を行うことができる。
Further, the placement and routing method of the present embodiment can be applied to a case in which unrouted wiring remains, and placement and routing can be performed automatically without manual intervention.

【0080】以上本発明の実施の形態を述べたが、本発
明は上記実施の形態に限られることなく種々の変形が可
能である。例えば、指定マクロの周囲領域の分割数を8
とする代わりに、この分割数を6や12等任意の数とす
ることも、本発明の主旨を逸脱しない限り可能である。
Although the embodiments of the present invention have been described above, the present invention is not limited to the above embodiments, and various modifications can be made. For example, if the number of divisions around the specified macro is 8
Instead of this, the number of divisions can be set to an arbitrary number such as 6 or 12, without departing from the gist of the present invention.

【0081】[0081]

【発明の効果】以上説明したように、本発明の自動配置
配線方法は、非格子型配線ステップの実施後の非格子型
配線領域内で、配線が混雑し配線間フリンジ容量により
遅延時間が大きくなり得る配線混雑領域を抽出し、その
配線混雑領域の近傍に配置されているマクロを移動対象
の指定マクロとして設定し、この指定マクロの周囲領域
を予め定めた複数個の分割領域に分割し、上記分割領域
の各々毎に上記指定マクロ以外の他のマクロの存在の有
無を判断し、他のマクロが存在しない分割領域に指定マ
クロを移動させることによって上記配線混雑領域に空き
領域を生成し、この空き領域を用いてフリンジ容量の影
響を回避出来る十分な配線間隔を有する配線に修正する
最適化ステップとを有することにより、非格子型配線領
域近傍のマクロの配置位置を移動させ、非格子型配線領
域に空き領域を生み出し、配線の混雑を緩和させること
ができるので、配線間のフリンジ容量の増大を防止し、
当該配線部分の極端な遅延時間の増大を防止することが
できるという効果がある。
As described above, according to the automatic placement and routing method of the present invention, in the non-lattice type wiring area after the non-lattice type wiring step is performed, the wiring is congested and the delay time is increased due to the fringe capacitance between the wirings. A possible wiring congestion area is extracted, a macro arranged near the wiring congestion area is set as a designated macro to be moved, and a surrounding area of the designated macro is divided into a plurality of predetermined divided areas, Determining the presence or absence of a macro other than the specified macro for each of the divided areas, and generating an empty area in the wiring congestion area by moving the specified macro to a divided area where no other macro exists; An optimization step of using the vacant area to correct the wiring to a wiring having a sufficient wiring interval capable of avoiding the effect of the fringe capacitance. Move the location position, create an open area in the non-grid-type interconnect region, since it is possible to reduce congestion of wires, to prevent an increase in fringe capacitance between the interconnects,
There is an effect that an extreme increase in the delay time of the wiring portion can be prevented.

【0082】また、本実施の形態の配置配線方法は未配
線が残った場合にも適用でき、人手を介することなく自
動で配置配線を行うことができるという効果がある。
Further, the placement and routing method of the present embodiment can be applied to a case where unrouted portions remain, and has an effect that placement and routing can be performed automatically without manual intervention.

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

【図1】本発明の自動配置配線方法の一実施の形態を示
すフローチャートである。
FIG. 1 is a flowchart showing one embodiment of the automatic placement and routing method of the present invention.

【図2】本実施の形態の自動配置配線方法の対象とする
回路におけるマクロの自動配置移動の一例を示すレイア
ウト図である。
FIG. 2 is a layout diagram illustrating an example of automatic macro placement and movement in a circuit to be subjected to the automatic placement and routing method according to the embodiment;

【図3】本実施の形態の自動配置配線方法の対象とする
回路における最大非格子型配線領域からのマクロの選択
指定の一例を示すレイアウト図である。
FIG. 3 is a layout diagram showing an example of selection and designation of a macro from a maximum non-lattice type wiring area in a circuit to be subjected to the automatic placement and routing method according to the embodiment;

【図4】本実施の形態の自動配置配線方法の詳細を示す
フローチャートである。
FIG. 4 is a flowchart showing details of an automatic placement and routing method according to the embodiment.

【図5】図2のマクロの指定、マクロ周辺の設定領域及
びマクロの分割領域の位置の移動方法を示す図である。
5 is a diagram showing a method of moving a position of a macro designation, a setting region around the macro, and a division region of the macro in FIG. 2;

【図6】従来の自動配置配線方法の一例を示すフローチ
ャートである。
FIG. 6 is a flowchart illustrating an example of a conventional automatic placement and routing method.

【図7】自動配置配線方法の対象とする回路における非
格子型配線の一例を示すレイアウト図である。
FIG. 7 is a layout diagram showing an example of a non-lattice type wiring in a circuit to be subjected to the automatic placement and routing method.

【図8】格子型配線及び非格子型配線の各フリンジ容量
を比較して模式的に示す模式図である。
FIG. 8 is a schematic diagram schematically showing a comparison between fringe capacitances of a lattice type wiring and a non-lattice type wiring.

【符号の説明】[Explanation of symbols]

10 格子 11 配線 12,13 AL配線層 14 VIA 21 非格子型配線領域 22,22A,22B,22C,22S マクロ 23 最大疎領域 24,24A,24B,24C 周囲領域 25,25A,25B,25C 空き領域 26 格子型配線領域 241〜248,241A〜248B,241C〜24
8C,241S〜248S 分割領域
10 Lattice 11 Wiring 12, 13 AL Wiring Layer 14 VIA 21 Non-Grid Wiring Area 22, 22A, 22B, 22C, 22S Macro 23 Maximum Sparse Area 24, 24A, 24B, 24C Surrounding Area 25, 25A, 25B, 25C Free Area 26 Lattice type wiring regions 241-248, 241A-248B, 241C-24
8C, 241S to 248S divided area

───────────────────────────────────────────────────── フロントページの続き Fターム(参考) 5B046 AA08 BA05 BA06 5F064 AA04 DD07 DD12 DD14 DD20 EE03 EE12 EE14 EE15 EE22 EE26 EE27 EE43 EE47 EE58 HH06  ──────────────────────────────────────────────────続 き Continued on the front page F term (reference) 5B046 AA08 BA05 BA06 5F064 AA04 DD07 DD12 DD14 DD20 EE03 EE12 EE14 EE15 EE22 EE26 EE27 EE43 EE47 EE58 HH06

Claims (7)

【特許請求の範囲】[Claims] 【請求項1】 所定の機能を有する複数の機能ブロック
を配置した後要求された接続情報に従って予め定義した
格子上に機能ブロック間の接続用配線パターンを生成す
る格子型配線後に、前記格子を定義せず設計基準のみに
基づく非格子型配線を行う自動配置配線方法において、 前記非格子型配線を行った後の非格子型配線領域内で、
配線が混雑しており配線間フリンジ容量による影響によ
って極端に遅延時間が大きくなり得る配線混雑領域を見
つけ出し、その配線混雑領域の近傍に配置されている第
1のマクロを移動指定マクロとして指定し、 前記第1のマクロの周囲辺領域を予め定めた複数個の分
割領域を生成し、 前記複数個の分割領域の各々毎に前記第1のマクロ以外
のマクロである第2のマクロの存在の有無を判断し、 前記第2のマクロが存在しない分割領域へ前記第1のマ
クロを移動させることによって前記配線混雑領域に空き
領域を生成し、 前記空き領域を用いて配線間フリンジ容量の影響を回避
出来る十分な配線間隔を有する配線に修正することを特
徴とする自動配置配線方法。
After arranging a plurality of functional blocks having a predetermined function, the grid is defined after grid-type wiring for generating a wiring pattern for connection between the functional blocks on a grid defined in advance according to required connection information. In the automatic placement and routing method of performing non-grid type wiring based only on the design criteria without performing, in the non-grid type wiring area after performing the non-grid type wiring,
A wiring congestion area where the wiring is congested and the delay time can be extremely large due to the influence of the fringe capacitance between the wirings is found, and a first macro arranged near the wiring congestion area is designated as a movement designation macro, Generating a plurality of divided regions in which peripheral regions of the first macro are determined in advance; and for each of the plurality of divided regions, the presence or absence of a second macro other than the first macro And generating an empty area in the wiring congested area by moving the first macro to a divided area where the second macro does not exist, and using the empty area to avoid the influence of fringe capacitance between wirings An automatic placement and routing method, wherein the wiring is corrected to a wiring having a sufficient wiring interval.
【請求項2】 所定の機能を有する複数の機能ブロック
を配置した後要求された接続情報に従って前記複数の機
能ブロック間を接続する配線を行う自動配置配線方法に
おいて、 前記複数の機能ブロックを配置する機能ブロックの配置
ステップと、 前記接続情報に従って設計基準を満たした格子上に機能
ブロック間の接続用配線パターンを生成する格子型配線
を行う格子型配線ステップと、 前記格子型配線ステップの結果、未配線が残るかどうか
を判断をする第1の配線完了判断ステップと、 前記第1の配線完了判断ステップで未配線が残った場合
配線を引き剥がし再配線を行う配線引き剥がし再配線ス
テップと、 前記配線引き剥がし再配線ステップの結果、未配線が残
るかどうかを判断をする第2の配線完了判断ステップ
と、 前記第2の配線完了判断ステップで未配線が残った場合
格子を定義せず設計基準を満たすように複数の機能ブロ
ック相互間を接続する非格子型配線手法により非格子型
配線を行う非格子型配線ステップと、 前記非格子型配線ステップの実施後の非格子型配線領域
内で、配線が混雑し配線間フリンジ容量により遅延時間
が大きくなり得る配線混雑領域を抽出し、その配線混雑
領域の近傍に配置されているマクロを移動対象の指定マ
クロとして設定し、この指定マクロの周囲領域を予め定
めた複数個の分割領域に分割し、前記分割領域の各々毎
に前記指定マクロ以外の他のマクロの存在の有無を判断
し、他のマクロが存在しない分割領域に指定マクロを移
動させることによって前記配線混雑領域に空き領域を生
成し、この空き領域を用いてフリンジ容量の影響を回避
出来る十分な配線間隔を有する配線に修正する最適化ス
テップとを有することを特徴とする自動配置配線方法。
2. An automatic placement and routing method for arranging a plurality of function blocks having a predetermined function and then performing wiring for connecting the plurality of function blocks in accordance with requested connection information, wherein the plurality of function blocks are arranged. A step of arranging the function blocks; a step of performing a grid-type wiring for generating a wiring pattern for connection between the function blocks on a grid satisfying the design criteria according to the connection information; A first wiring completion determination step of determining whether or not wiring remains; a wiring peeling and rewiring step of peeling off wiring and performing rewiring if unwired remains in the first wiring completion determination step; A second wiring completion determining step of determining whether or not unwiring remains as a result of the wiring peeling and rewiring step; A non-grid type wiring step of performing a non-grid type wiring by a non-grid type wiring method for connecting between a plurality of functional blocks so as to satisfy a design standard without defining a grid when unwired remains in the line completion determination step, In the non-lattice-type wiring area after the non-lattice-type wiring step is performed, a wiring congestion area in which the wiring is congested and the delay time can be increased by the fringe capacitance between the wirings is extracted, and the wiring congestion area is arranged near the wiring congestion area. Is set as a designated macro to be moved, the surrounding area of the designated macro is divided into a plurality of predetermined divided areas, and presence / absence of a macro other than the designated macro exists for each of the divided areas. Is determined, and a designated macro is moved to a divided area where no other macro exists, thereby generating an empty area in the wiring congested area, and using the empty area to influence the fringe capacitance. An optimization step of correcting the wiring to a wiring having a sufficient wiring interval capable of avoiding the problem.
【請求項3】 前記複数個の分割領域が8個の分割領域
であることを特徴とする請求項1又は請求項2記載の自
動配置配線方法。
3. The automatic placement and routing method according to claim 1, wherein the plurality of divided areas are eight divided areas.
【請求項4】 前記最適化ステップが、チップ内の全て
の非格子型配線領域である全非格子型配線領域面積と、
前記非格子型配線領域以外のマクロの未配置領域である
疎領域面積とを算出し対応する目標面積縮小率を設定す
る第1のステップと、 前記非格子型配線領域のうちで最も大きい最大非格子型
配線領域と前記疎領域のうちで最も大きい最大疎領域を
抽出する第2のステップと、 抽出した前記最大非格子型配線領域から一番近いマクロ
を移動対象の指定マクロとして指定する第3のステップ
と、 前記指定マクロの周囲の領域である周囲領域を設定する
第4のステップと、 前記周囲領域を8分割して分割領域を生成し、この分割
領域の各々毎に前記指定マクロを移動させる配置位置を
設定する第5のステップと、 前記分割領域の各々毎に前記指定マクロの他のマクロが
存在するかどうかを判断する第6のステップと、 前記他のマクロが存在しない前記分割領域に前記指定マ
クロを移動する第7のステップと、 前記指定マクロの移動に伴なう配線を前記指定マクロの
移動によって生じる移動後空き領域近傍の空き領域を使
い前記最大非格子型配線領域の非格子型配線を前記格子
型配線に修正する第8のステップと、 前記第8のステップで修正後の全非格子型配線領域面積
である最適化後全非格子型配線領域面積を算出し、前記
第1のステップで算出した全非格子型配線領域面積と比
較して最適化後面積縮少率を計算する第9のステップと
を有することを特徴とする請求項2記載の自動配置配線
方法。
4. The method according to claim 1, wherein the optimizing step comprises: determining a non-lattice-type wiring region area which is all non-lattice-type wiring regions in the chip;
A first step of calculating a sparse region area which is an unplaced region of the macro other than the non-lattice type wiring region and setting a corresponding target area reduction rate; A second step of extracting the largest sparse area, which is the largest of the grid-type wiring area and the sparse area, and a third step of specifying a macro closest to the extracted maximum non-grid-type wiring area as a designated macro to be moved And a fourth step of setting a surrounding area that is a surrounding area of the designated macro; and dividing the surrounding area into eight to generate a divided area, and moving the designated macro for each of the divided areas. A fifth step of setting an arrangement position to be set; a sixth step of determining whether or not another macro of the designated macro exists for each of the divided areas; and a step of determining whether the other macro exists. A seventh step of moving the designated macro to the divided area, and using the empty area near the empty area after the movement caused by the movement of the designated macro, for the wiring accompanying the movement of the designated macro, An eighth step of correcting the non-lattice type wiring of the region to the lattice type wiring, and calculating an optimized total non-lattice type wiring area area which is the total non-lattice type wiring area area after the correction in the eighth step A ninth step of calculating an area reduction rate after optimization by comparing the area with the entire non-lattice type wiring region area calculated in the first step. Wiring method.
【請求項5】 前記第6のステップが、前記8個の分割
領域の各々の内部に前記他のマクロが存在するかどうか
を判断する他のマクロの存在判断ステップと、 前記他のマクロの存在判断ステップで前記8個の分割領
域の全てに他のマクロが存在する場合に前記分割領域の
各々の位置を予め定めた様式で移動する分割領域の位置
移動ステップと、 位置が移動していない分割領域があるかどうかを判断し
判断結果位置が移動していない分割領域がある場合は前
記他のマクロの存在判断ステップに戻る分割領域の位置
移動判断ステップと、 分割領域の位置移動判断ステップで位置が移動していな
い分割領域が無い場合は分割領域内に存在するマクロの
中で前記第2のステップで抽出した最大疎領域に一番近
いマクロを指定マクロとして指定する指定マクロ再指定
ステップと、 前記指定マクロ再指定ステップで指定できるマクロがあ
るかどうかを判断し、マクロを再指定できた場合は前記
第4のステップに戻る再指定マクロ存在判断ステップ
と、 前記再指定マクロ存在判断ステップで、指定対象マクロ
が無い場合は前記第2のステップで抽出した前記非格子
型配線領域から一番近くのまだ一度も指定していないマ
クロを指定マクロとして指定する指定マクロ再々指定ス
テップと、 前記指定マクロ再々指定ステップで指定できるマクロが
あるかどうかを判断し、マクロを再々指定できた場合は
前記第4のステップに戻り、指定対象のマクロが無い場
合は終了するる再々指定マクロ存在判断ステップとを有
することを特徴とする請求項4記載の自動配置配線方
法。
5. The method according to claim 6, wherein the sixth step is a step of determining whether another macro exists inside each of the eight divided areas, and the presence of the other macro. A step of moving the position of each of the divided areas in a predetermined manner when another macro exists in all of the eight divided areas in the determining step; It is determined whether or not there is an area, and if there is a divided area whose position has not moved, the process returns to the step of determining the presence of another macro. If there is no divided area that has not been moved, the designation of designating the macro closest to the maximum sparse area extracted in the second step among the macros existing in the divided area as the designated macro A macro re-designating step; determining whether there is a macro that can be designated in the designated macro re-designating step; and, if the macro can be designated again, returning to the fourth step; If there is no macro to be specified in the macro existence determination step, a specified macro re-designated as the specified macro, which is the closest macro that has not yet been specified from the non-lattice-type wiring area extracted in the second step Determining whether there is a macro that can be designated in the designated macro re-designating step, returning to the fourth step if the macro can be designated again, and terminating if there is no designated macro 5. The automatic placement and routing method according to claim 4, further comprising a macro existence determining step.
【請求項6】 前記第7のステップが、前記第6のステ
ップの判断結果、前記8個の分割領域のうち他のマクロ
が存在しない分割領域がある場合にこのマクロが存在し
ない分割領域がいくつあるかを判断する他のマクロの非
存在分割領域数判断ステップと、 前記他のマクロの非存在分割領域数判断ステップでマク
ロが存在しない分割領域が1つだけの場合は、このマク
ロが存在しない分割領域に指定マクロを移動する第1の
指定マクロ移動ステップと、 前記他のマクロの非存在分割領域数判断ステップでマク
ロが存在しない分割領域が複数ある場合は、これら複数
の分割領域の中で前記第2のステップで抽出した最大疎
領域に一番近い分割領域に指定マクロを移動する第2の
指定マクロ移動ステップとを有することを特徴とする請
求項4記載の自動配置配線方法。
6. The method according to claim 7, wherein, as a result of the determination in the sixth step, if there is a divided area in which no other macro exists among the eight divided areas, the number of divided areas in which this macro does not exist is determined. If there is only one divided area where no macro exists in the step of determining the number of non-existent divided areas of another macro, and the step of determining the number of non-existent divided areas of another macro, the macro does not exist. In the first designated macro moving step of moving the designated macro to the divided area, and in the step of determining the number of nonexistent divided areas of the other macro, if there are a plurality of divided areas where no macro exists, among the plurality of divided areas, The method according to claim 4, further comprising a second designated macro moving step of moving the designated macro to a divided area closest to the maximum sparse area extracted in the second step. Automatic placement and routing method.
【請求項7】 前記第9のステップが、最適化処理後の
全ての非格子型配線領域面積である最適化後非格子型配
線領域面積を算出し、前記第1のステップで算出した前
記非格子型配線領域面積との比較により最適化後面積縮
少率を求めこの最適化後面積縮少率が前記目標面積縮小
率を満足しているかどうかを判断し満足していれば処理
を終了する面積縮小率判断ステップと、 前記面積縮小率判断ステップの判断結果前記最適化後面
積縮少率が前記目標面積縮小率を満足しない場合は前記
第3のステップでの指定マクロの配置位置の移動に伴う
配線修正だったかを判断し、前記第3のステップでの指
定マクロの配置位置の移動に伴う配線修正であった場合
は前記第2のステップに戻る配線修正判断ステップと、 前記配線修正判断ステップで前記第3のステップでの指
定マクロの配置位置の移動に伴う配線修正と異なる場合
は今回移動させたマクロの1つ前に指定したマクロであ
り配置位置を移動していないマクロを指定マクロとして
指定して前記第4のステップに戻る前指定マクロ再指定
ステップとを有することを特徴とする請求項4記載の自
動配置配線方法。
7. The ninth step is to calculate an optimized non-lattice-type wiring region area, which is an area of all non-lattice-type wiring regions after the optimization process, and to calculate the non-lattice-type wiring region area calculated in the first step. The area reduction rate after optimization is obtained by comparing with the area of the lattice wiring region, and it is determined whether or not the area reduction rate after optimization satisfies the target area reduction rate. If so, the process is terminated. An area reduction ratio determining step; and a determination result of the area reduction ratio determining step, when the optimized area reduction ratio does not satisfy the target area reduction ratio, the position of the designated macro is moved in the third step. It is determined whether the wiring correction has been made, and if the wiring correction has been made due to the movement of the arrangement position of the designated macro in the third step, the wiring correction determining step returns to the second step. In the above If it is different from the wiring correction accompanying the movement of the specified macro placement position in step 3, specify the macro that was specified immediately before the currently moved macro and whose placement position has not been moved as the specified macro. 5. The automatic placement and routing method according to claim 4, further comprising a step of re-designating the designated macro before returning to the fourth step.
JP2000124712A 2000-04-25 2000-04-25 Method for automatic placement and routing Pending JP2001308188A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2000124712A JP2001308188A (en) 2000-04-25 2000-04-25 Method for automatic placement and routing

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2000124712A JP2001308188A (en) 2000-04-25 2000-04-25 Method for automatic placement and routing

Publications (1)

Publication Number Publication Date
JP2001308188A true JP2001308188A (en) 2001-11-02

Family

ID=18634801

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2000124712A Pending JP2001308188A (en) 2000-04-25 2000-04-25 Method for automatic placement and routing

Country Status (1)

Country Link
JP (1) JP2001308188A (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007072791A (en) * 2005-09-07 2007-03-22 Sanmei Electric Co Ltd Wiring work support system

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007072791A (en) * 2005-09-07 2007-03-22 Sanmei Electric Co Ltd Wiring work support system
JP4575258B2 (en) * 2005-09-07 2010-11-04 三明電機株式会社 Wiring work support system

Similar Documents

Publication Publication Date Title
US7913221B2 (en) Interconnect structure of semiconductor integrated circuit, and design method and device therefor
CN110795908B (en) Bus sensing overall wiring method driven by deviation
US20060101367A1 (en) Design method of semiconductor device and semiconductor device
US20080115093A1 (en) Systems and media to improve manufacturability of semiconductor devices
JP3616611B2 (en) Semiconductor integrated circuit device design apparatus, semiconductor integrated circuit design method, and semiconductor integrated circuit design program
US20070022400A1 (en) Method, program, and apparatus for designing layout of semiconductor integrated circuit
US10936784B2 (en) Planning method for power metal lines
US6971082B2 (en) Method and apparatus for revising wiring of a circuit to prevent electro-migration
JP4195821B2 (en) Semiconductor integrated circuit design method
JP2001308188A (en) Method for automatic placement and routing
US20030028853A1 (en) Wiring layout method of integrated circuit
JP3705737B2 (en) Semiconductor integrated circuit layout method
JP3485311B2 (en) Dummy pattern layout method
JPH11312185A (en) Method for preparing layout data
JP2692608B2 (en) Integrated circuit placement apparatus and method
JP3288336B2 (en) Design method of semiconductor integrated circuit
US20170061063A1 (en) Integrated circuit with reduced routing congestion
JPH08123843A (en) Automatic arranging and wiring method
JP2921454B2 (en) Wiring method of integrated circuit
JP2524424B2 (en) Compaction method for integrated circuits
JP2524423B2 (en) Compaction method for integrated circuits
JP2005107556A (en) Wiring treatment method of semiconductor integrated circuit
Lin et al. A multi-layer obstacles-avoiding router using X-architecture
JP2001189386A (en) Method for laying out semiconductor integrated circuit
JP3199061B2 (en) Layout method of semiconductor integrated circuit

Legal Events

Date Code Title Description
A711 Notification of change in applicant

Free format text: JAPANESE INTERMEDIATE CODE: A711

Effective date: 20060307