[go: up one dir, main page]

JPH06223134A - Automatic wiring method for integrated circuit - Google Patents

Automatic wiring method for integrated circuit

Info

Publication number
JPH06223134A
JPH06223134A JP5008932A JP893293A JPH06223134A JP H06223134 A JPH06223134 A JP H06223134A JP 5008932 A JP5008932 A JP 5008932A JP 893293 A JP893293 A JP 893293A JP H06223134 A JPH06223134 A JP H06223134A
Authority
JP
Japan
Prior art keywords
wiring
path
delay
wiring width
width
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.)
Granted
Application number
JP5008932A
Other languages
Japanese (ja)
Other versions
JP3251686B2 (en
Inventor
Fumihiro Minami
文裕 南
Naohito Kojima
直仁 小島
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Toshiba Corp
Original Assignee
Toshiba Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Toshiba Corp filed Critical Toshiba Corp
Priority to JP00893293A priority Critical patent/JP3251686B2/en
Publication of JPH06223134A publication Critical patent/JPH06223134A/en
Application granted granted Critical
Publication of JP3251686B2 publication Critical patent/JP3251686B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Landscapes

  • Design And Manufacture Of Integrated Circuits (AREA)

Abstract

PURPOSE:To determine the path branch point and wiring width of a clock wiring path which has a branch so that the delay is minimized while the skew is minimized. CONSTITUTION:A processing for determining the path branch point where the skew is minimized by fixing the wiring width and a processing for determining the wiring width with which the skew is minimized while the path branch point is fixed are repeated alternately to find a convergence solution. In the processing for determining the wiring width, the delay is represented as a function of the wiring width of the path of branch points, a partial derivative for the wiring width of the function is found, and the wiring width is found so that its absolute value becomes minimum.

Description

【発明の詳細な説明】Detailed Description of the Invention

【0001】[0001]

【産業上の利用分野】この発明は、半導体集積回路のレ
イアウトにおいて、コンピュータを用いた処理による自
動配線方法に関する。
BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to an automatic wiring method in a layout of a semiconductor integrated circuit by processing using a computer.

【0002】[0002]

【従来の技術】デジタル論理集積回路においては、フリ
ップフロップに代表される順序回路が必ずと言っていい
ほど使用されており、位相・周期の異なる複数のクロッ
ク信号と同期をとりながら回路全体が動作するようにな
っている。クロック信号は、チップ内部で作られたり外
部から供給されたりするが、通常幾段かのバッファセル
を介して回路ブロックに供給され、バッファセル間およ
びバッファセルとフリップフロップ間は、一般的にCA
D技術によって自動的に結線される。
2. Description of the Related Art In digital logic integrated circuits, sequential circuits represented by flip-flops are almost always used, and the entire circuit operates while synchronizing with a plurality of clock signals having different phases and periods. It is supposed to do. The clock signal is generated inside the chip or supplied from the outside, but is usually supplied to the circuit block via some stages of buffer cells, and between the buffer cells and between the buffer cells and the flip-flops is generally CA.
Wired automatically by D technology.

【0003】フリップフロップに供給されるクロック信
号の伝搬遅延時間(以下、ディレイという)は、各フリ
ップフロップ毎で異なるのがふつうであり、その位相差
のことをクロックスキュー(以下、スキューと略す)と
呼ぶが、このスキューが大きすぎると、所望のクロック
周波数で回路の同期動作をとることができなくなる。従
って、チップ上のすべてのフリップフロップに対してな
るべく同じタイミングでクロック信号が到着するよう
に、バッファセルの位置や配線径路を決めることが大切
である。
The propagation delay time (hereinafter referred to as a delay) of a clock signal supplied to a flip-flop is usually different for each flip-flop, and the phase difference is a clock skew (hereinafter referred to as a skew). However, if this skew is too large, it becomes impossible to synchronize the circuits at a desired clock frequency. Therefore, it is important to determine the positions of the buffer cells and the wiring paths so that the clock signals arrive at all the flip-flops on the chip at the same timing as possible.

【0004】フリップフロップまでのディレイとして
は、中継するバッファセルの内部ディレイ、バッファセ
ルが結線用配線の配線容量・配線抵抗および被駆動セル
の入力端子容量を充放電するためにかかるディレイ、が
含まれる。このうち、配線抵抗に関しては、近年の半導
体微細加工技術の進歩によるトランジスタサイズ・配線
断面積の減少のため、無視できなくなってきた。これに
より、ディレイの予測精度上、回路を分布定数回路とし
て扱うことが必要となっている。
The delay up to the flip-flop includes an internal delay of the buffer cell to be relayed, a delay required for the buffer cell to charge / discharge the wiring capacitance / wiring resistance of the wiring for connection and the input terminal capacitance of the driven cell. Be done. Among them, the wiring resistance cannot be ignored because of the decrease in transistor size and wiring cross-sectional area due to the recent progress in semiconductor fine processing technology. Therefore, in terms of delay prediction accuracy, it is necessary to treat the circuit as a distributed constant circuit.

【0005】例えば、図18(a)のような回路は、
(b)のような分布定数回路としてディレイを予測しな
ければならない。
For example, a circuit as shown in FIG.
The delay must be predicted as a distributed constant circuit as shown in (b).

【0006】さて、このスキューを減少させる主な方法
としては、メッシュ方式とツリー方式が挙げられる。メ
ッシュ方式は、チップを格子状に巡る配線径路を布設
し、その格子径路のそばにバッファセルを接続し、さら
にバッファセルを介してフリップフロップに接続するも
ので、特開昭63−107316がその例である。
As a main method for reducing the skew, there are a mesh method and a tree method. In the mesh method, a wiring path that circulates a chip in a grid pattern is laid, a buffer cell is connected beside the grid path, and a flip-flop is connected through the buffer cell, which is disclosed in Japanese Patent Laid-Open No. 63-107316. Here is an example.

【0007】この方式の長所は、構成が簡単なこと、配
線径路がリング状のため配線の等価抵抗が下がりディレ
イを小さくできること、レイアウト処理前にディレイの
予測が可能なこと、などである。
The advantages of this method are that the structure is simple, that the wiring path is ring-shaped, the equivalent resistance of the wiring is reduced and the delay can be reduced, and the delay can be predicted before the layout processing.

【0008】しかし、回路が超大規模になると、ルート
ドライバーに近いフリップフロップと遠いものとのスキ
ューが無視できなくなること、格子の切り方を細かくし
なければならないので配線長が増加すること、が問題と
なる。
However, when the circuit becomes extremely large, the problem is that the skew between the flip-flop close to the root driver and the one far from the root driver cannot be ignored, and the wiring length increases because the grid must be cut finely. Becomes

【0009】一方、ツリー方式は、各段毎にバッファを
並列接続したものを多段構成にし、各バッファ毎にはツ
リー状の配線径路をとるものである。バッファの挿入に
関する従来例としては、特開昭61−82455、特開
平1−157115などがあり、ツリー状の配線径路の
典型例としては、文献「H.B.Bakoglu,et al:A symmetri
c clock-distribution tree and optimized high-speed
interconnections for reduced clock skew in ulsi a
nd wsi circuits.,IEEE Int.Conf.on Computer Design,
1986」 のHツリーが知られている。
On the other hand, in the tree system, a buffer in which each stage is connected in parallel has a multi-stage configuration, and a tree-shaped wiring path is provided for each buffer. Japanese Patent Laid-Open No. 61-82445 and Japanese Patent Laid-Open No. 1-157115 are known as conventional examples of buffer insertion, and a typical example of a tree-shaped wiring path is the document “HBBakoglu, et al: A symmetri”.
c clock-distribution tree and optimized high-speed
interconnections for reduced clock skew in ulsi a
nd wsi circuits., IEEE Int.Conf.on Computer Design,
The 1986 "H-tree is known.

【0010】この方式の長所は、スキューを小さくでき
ること、メガセル混載チップにも対応が容易なことであ
る。反面、バッファ段数が深すぎるとスキューは小さく
できてもディレイが大きくなってしまうこと、レイアウ
ト処理が詳細化しないとディレイ予測が難しいこと、が
短所として挙げられる。
The advantage of this method is that the skew can be reduced and that it can be easily applied to a megacell mixed chip. On the other hand, if the number of buffer stages is too deep, the skew becomes small but the delay becomes large, and it is difficult to predict the delay unless the layout process is detailed.

【0011】どちらの方法も長所と短所はあるが、回路
の大規模化に対応するにはツリー方式のほうが望ましい
といえる。以下、ツリー方式による従来技術について説
明する。
Although both methods have advantages and disadvantages, it can be said that the tree method is preferable in order to cope with the large scale of the circuit. The conventional technique using the tree method will be described below.

【0012】ツリー方式の典型的な配線形状であるHツ
リーは、Hの形の配線径路を再帰的に比例縮小しながら
繰り返すもので、その対称性ゆえに等配線長・等ディレ
イを保つことができる。しかし、供給される素子・素子
群が2のべき乗個で、かつ素子配置が対称形で素子容量
も等しくないと、この等ディレイは達成できず、実際の
回路では適用がむずかしい。
The H-tree, which is a typical wiring shape of the tree system, repeats the H-shaped wiring path while recursively proportionally reducing it. Due to its symmetry, equal wiring length and equal delay can be maintained. . However, if the supplied elements / element groups are powers of 2, the elements are arranged symmetrically, and the element capacities are not equal, this equal delay cannot be achieved, and it is difficult to apply in an actual circuit.

【0013】これを改善したものとしては、文献「Mich
ael A.B.Jackson,et al:Clock Routing for High-Perfo
mance ICs.,27th ACM/IEEE Design Automation Conf.,1
990」のMMMアルゴリズムがある。
As an improvement of this, the document "Mich
ael ABJackson, et al: Clock Routing for High-Perfo
mance ICs., 27th ACM / IEEE Design Automation Conf., 1
There are 990 "MMM algorithms.

【0014】この方法はフリップフロップ(バッファセ
ルでもよい)をトップダウンに等個数分割していきなが
ら、同時に分割した領域にあるフリップフロップの重心
位置に配線径路の分岐点を設定していくもので、単純な
処理にもかかわらず比較的スキューを小さくできる特徴
を持つ。しかし、トップダウンな処理なので、ディレイ
の見積もり精度によっては満足のいくスキュー値が得ら
れないという欠点もある。
According to this method, the equal number of flip-flops (or buffer cells) may be divided from top to bottom, and at the same time, the branch point of the wiring path is set at the center of gravity of the flip-flops in the divided regions. Despite the simple processing, it has a feature that the skew can be made relatively small. However, since it is a top-down process, there is a drawback that a satisfactory skew value cannot be obtained depending on the delay estimation accuracy.

【0015】また、バッファセルの最適挿入方法に関し
ては、文献「S.Boon,et al:High performance clock di
stribution for cmos asic’s.,IEEE Custom Integrate
dCircuit Conf.,1989」の方法があるが、配線方法自体
は一般信号用に使用するアルゴリズムと同じなので、配
線する領域が広い場合、信号パスごとの配線抵抗の違い
によるスキューが問題となる。
Regarding the optimum insertion method of the buffer cell, the document "S. Boon, et al: High performance clock di
stribution for cmos asic's., IEEE Custom Integrate
dCircuit Conf., 1989 ”, but since the wiring method itself is the same as the algorithm used for general signals, if the wiring area is large, skew due to the difference in wiring resistance between signal paths poses a problem.

【0016】一方、スキューが大きくなりすぎて所望の
クロック周波数で回路の同期動作をとることができなく
なる問題を解決するため、最近、チップ内クロックスキ
ュー低減手法が提案されている。特開平3-137851がその
例である。
On the other hand, in order to solve the problem that the circuit becomes unsynchronized at a desired clock frequency due to too large a skew, an on-chip clock skew reduction method has been recently proposed. Japanese Patent Laid-Open No. 3-137851 is an example.

【0017】この方法は、2分木型の配線構造において
各径路分岐点の位置をそれより下流側のディレイが釣り
合うように決定している点が特徴であり、また、チップ
内ディレイを最小化するようにバッファセルの最適位置
を決定している。チップ内のディレイを最小化すること
により、複数のチップが散在するボード上に生じるクロ
ックスキューをも低減している。
This method is characterized in that in the binary tree type wiring structure, the position of each path branch point is determined so that the delays on the downstream side are balanced, and the on-chip delay is minimized. The optimum position of the buffer cell is determined so that By minimizing the delay in the chip, the clock skew generated on the board where the chips are scattered is also reduced.

【0018】しかし、配線の最小線幅がどんどん狭まっ
ていく最近の傾向にあっては、配線抵抗の増大に伴うデ
ィレイ増加が大きく、バッファセルの最適位置設定だけ
では不十分になりつつある。
However, in the recent tendency that the minimum line width of the wiring is becoming narrower and narrower, the increase of the delay due to the increase of the wiring resistance is large, and the optimum position setting of the buffer cell is becoming insufficient.

【0019】配線抵抗が大きいことによるディレイ増加
を解決する方法としては、特開平2-194545、特開昭63-5
1656、が提案されている。前者は、配線幅を通常線幅の
2倍以上にする方法であるが、定量的に最適線幅を決定
していないという問題がある。また、後者は、一筆書き
状の配線径路について、配線抵抗と配線負荷容量を考慮
してディレイ最小となる配線幅を決定しているが、分岐
のある径路については適用できないという問題がある。
As a method for solving the delay increase due to the large wiring resistance, Japanese Patent Laid-Open No. 2-194545 and Japanese Patent Laid-Open No. 63-5 have been proposed.
1656, is proposed. The former is a method of making the wiring width twice or more the normal line width, but there is a problem that the optimum line width is not quantitatively determined. Further, the latter determines the wiring width that minimizes the delay in consideration of the wiring resistance and the wiring load capacitance for the one-stroke writing wiring path, but has a problem that it cannot be applied to the branching path.

【0020】ところで、集積回路の配線においては、信
号の伝搬遅延を小さくするため、信号の送端から受端へ
向かって配線幅を小さくする考え方が提案されており、
このような配線をテーパ配線と呼ぶ。
By the way, in the wiring of the integrated circuit, the idea of reducing the wiring width from the signal sending end to the signal receiving end has been proposed in order to reduce the signal propagation delay.
Such wiring is called taper wiring.

【0021】従来より提案されている、集積回路の自動
配線手法としては、迷路法や、線分展開法などがある。
迷路法に関する参考文献としては、T.Ohtsuki, Ed., La
youtDesign and Verification. Amsterdam : North Hol
land, 1986.が、線分展開法に関する論文としては、小
島、山田、佐藤、大附著「線分展開法の2層配線への拡
張とその評価」情報処理学会設計自動化研究会 研究報
告、vol.91、No.58-3、pp 1-8(1991年)がある。しか
し、これら従来配線手法におけるテーパ配線の有効な実
現手法は現在まで発表されていなかった。
Conventionally proposed automatic wiring methods for integrated circuits include a maze method and a line segment expansion method.
For references on the maze method, see T. Ohtsuki, Ed., La.
youtDesign and Verification. Amsterdam: North Hol
land, 1986. is a paper on line segment expansion method by Kojima, Yamada, Sato, and Otsuki, "Expansion of line segment expansion method to two-layer wiring and its evaluation", Research Report of Information Processing Society of Japan, Design Automation Workshop, vol. .91, No.58-3, pp 1-8 (1991). However, the effective realization method of taper wiring in these conventional wiring methods has not been announced until now.

【0022】テーパ配線を実現する手法としては、配線
中の最大幅をもって径路探索を行い、径路発見後に必要
に応じて配線幅を小さくしていくことが考えられる。こ
の手法は単純ではあるが、幅の小さな隙間を見付けるこ
とができないため、幅の小さい配線部分を有効に活かす
ことができないことがあり、また場合によっては径路を
発見できないことがある。
As a method for realizing the tapered wiring, it is conceivable to perform a path search with the maximum width in the wiring and reduce the wiring width as needed after finding the path. Although this method is simple, since it is not possible to find a gap having a small width, it may not be possible to effectively utilize a wiring portion having a small width, and in some cases, a path may not be found.

【0023】さらに、径路を発見した場合でも、配線領
域を無駄に使ってしまい、後の配線がしにくくなること
がある。
Further, even if a path is found, the wiring area may be wasted, and it may be difficult to carry out subsequent wiring.

【0024】[0024]

【発明が解決しようとする課題】このように、従来のツ
リー方式による自動配線方法では、スキューを小さくす
る目的は同じでも、バッファセルの挿入と配線径路の決
定とを別々に取り扱っており、また配線径路については
詳細なディレイ見積もりに基づいて決定するのではない
ため、きめ細かなスキューバランスをとることはできな
かった。
As described above, in the conventional automatic wiring method by the tree method, the insertion of the buffer cell and the determination of the wiring path are handled separately, even though the purpose of reducing the skew is the same. Since the wiring path is not determined based on the detailed delay estimation, it is not possible to achieve a fine skew balance.

【0025】また、従来の自動配線方法では、分岐のあ
る一般的なクロック配線径路に対して、ディレイを最小
化するような最適配線幅を決定する方法が確立されてい
なかった。
Further, in the conventional automatic wiring method, no method has been established for determining the optimum wiring width that minimizes the delay with respect to a general clock wiring path having a branch.

【0026】さらに、従来の自動配線方法では、テーパ
配線を行う際に、幅の小さい配線部分を有効に活かした
径路を発見できなかったり、配線領域を無駄に使用して
しまうという問題があった。
Further, in the conventional automatic wiring method, there is a problem that, when performing tapered wiring, it is not possible to find a path that effectively utilizes a wiring portion having a small width, or the wiring area is wasted. .

【0027】この発明は、そのような事情を鑑みてなさ
れたものであり、第1の発明の目的とするところは、バ
ッファセル挿入処理と配線径路決定処理とを協調させな
がら、より正確なディレイ見積もりに基づいて配線径路
の分岐点を決定していくことで、フリップフロップ等の
素子位置が均一・不均一にかかわらず、スキューを飛躍
的に低減できる集積回路の自動配線方法を提供すること
にある。
The present invention has been made in view of such circumstances, and an object of the first invention is to make a more accurate delay while coordinating the buffer cell insertion processing and the wiring path determination processing. By deciding the branch point of the wiring path based on the estimation, it is possible to provide an automatic wiring method for an integrated circuit that can drastically reduce the skew regardless of whether the element positions such as flip-flops are uniform or non-uniform. is there.

【0028】また、第2の発明の目的とするところは、
分岐のある一般的なクロック配線径路においても、ディ
レイを最小化する最適配線幅を決定することができる集
積回路の自動配線方法を提供することにある。
The object of the second invention is as follows.
An object of the present invention is to provide an automatic wiring method for an integrated circuit that can determine an optimum wiring width that minimizes delay even in a general clock wiring path having a branch.

【0029】さらに、第3の発明の目的とするところ
は、テーパ配線の際に、径路探索の過程で、必要な配線
幅を随時計算することにより配線領域を無駄にせず、し
かも高速なテーパ配線処理を実現可能な集積回路の自動
配線方法を提供することにある。
Further, an object of the third invention is that, in the case of taper wiring, a necessary wiring width is calculated at any time in the course of a path search, so that the wiring area is not wasted, and the taper wiring is fast. An object of the present invention is to provide an automatic wiring method of an integrated circuit capable of realizing processing.

【0030】[0030]

【課題を解決するための手段】上記目的を達成するた
め、第1の発明は、半導体基板上に置かれたルートドラ
イバーセルから中継用バッファセルを経由して複数個の
末端セルにクロック信号を供給する際に、当該末端セル
を少なくとも1個以上含むクラスタを生成し前記末端セ
ルを複数のグループに分け、前記ルートドライバーセル
をルートノードとし前記クラスタをリーフノードとする
バイナリツリー状の配線径路を生成し、中継用バッファ
セルが駆動するサブツリーの深さにおいて、ある深さ以
上になると後段に別の中継用バッファセルを挿入した場
合の方が、当該サブツリー深さより下流側のあらゆる地
点での遅延時間を小さくできる前記サブツリーの深さを
求め、当該サブツリーの深さを上限として前記バイナリ
ツリー上のクロック信号伝搬遅延時間が最小化される部
位に当該中継用バッファセルを挿入したのち、バイナリ
ツリーの下位分岐ノードから順に、当該分岐ノードより
前記リーフノードにいたる径路のRC遅延量を計算して
その差が最小となるように当該分岐ノードの物理的位置
を設定し、前記中継用バッファセルの挿入に伴う回路接
続情報の更新およびこのバッファセル近傍のセル配置情
報を修正してセル同士の重なりを除去し、確定した配置
情報にもとづいて各クラスタ内の詳細な配線径路を決定
し、決定された配線径路から求まるクラスタ内の正確な
遅延量にもとづいて各分岐ノードの位置を決定し、その
分岐ノード間の詳細な配線径路を決定することを特徴と
している。
In order to achieve the above object, the first invention is to provide a clock signal from a route driver cell placed on a semiconductor substrate to a plurality of terminal cells via a relay buffer cell. At the time of supplying, a cluster including at least one of the terminal cells is generated, the terminal cells are divided into a plurality of groups, and the root driver cell is used as a root node and the cluster is used as a leaf node to form a binary tree-like wiring path. When the depth of the subtree that is generated and driven by the relay buffer cell exceeds a certain depth, the delay at any point on the downstream side of the depth of the subtree is more delayed when another relay buffer cell is inserted in the subsequent stage. The depth of the subtree that can reduce the time is obtained, and the clock on the binary tree is set with the depth of the subtree as the upper limit. After inserting the relay buffer cell in a portion where the signal propagation delay time is minimized, the RC delay amount of the path from the branch node to the leaf node is calculated in order from the lower branch node of the binary tree, and the difference is calculated. The physical position of the branch node is set so as to minimize, and the circuit connection information is updated due to the insertion of the relay buffer cell and the cell arrangement information near the buffer cell is corrected to eliminate the overlap between cells. Then, the detailed wiring path in each cluster is determined based on the determined placement information, and the position of each branch node is determined based on the accurate delay amount in the cluster obtained from the determined wiring path. The feature is that a detailed wiring path between them is determined.

【0031】また、第2の発明は、2分木型の配線径路
構造において、隣接する分岐点間の径路の配線幅をパラ
メータとする配線ディレイ関数を求め、さらに各配線幅
パラメータに対する当該ディレイの偏導関数をそれぞれ
求め、各配線幅パラメータが標準配線幅以上という制約
範囲において、前記偏導関数の絶対値がそれぞれ最小と
なるように各配線幅を決定することを特徴としている。
According to a second aspect of the present invention, in a binary tree type wiring path structure, a wiring delay function having a wiring width of a path between adjacent branch points as a parameter is obtained, and further, the wiring delay function for each wiring width parameter is calculated. Partial derivatives are obtained, and each wiring width is determined so that the absolute value of the partial derivative is minimized within a constraint range in which each wiring width parameter is equal to or larger than the standard wiring width.

【0032】あるいは、第2の発明は、クロック信号の
2分木型配線径路のトポロジー構造が予め決定されてい
るとき、隣接する分岐点間の径路の各配線幅を固定して
各分岐点から下流側のディレイが釣り合うように分岐点
を決定する処理をツリーの下位部から上位に向かって再
帰的に繰り返すことでスキューを最小化する第1の処理
と、各径路分岐点の位置を固定して前述した方法により
各配線幅を決定してディレイを最小化する第2の処理
と、これら第1及び第2の処理を交互に繰り返した後の
ディレイ変化量が許容値以内に到達したかどうかを判定
する第3の処理とからなり、ディレイ変化量が許容値以
内に到達した状態の径路をクロック配線径路とすること
を特徴としている。
Alternatively, in the second invention, when the topology structure of the binary tree type wiring path of the clock signal is predetermined, each wiring width of the path between the adjacent branch points is fixed and each branch point is separated from each branch point. The first process that minimizes skew by recursively repeating the process of determining branch points so that the delays on the downstream side are balanced from the lower part of the tree to the upper part, and the position of each path branch point is fixed. The second process for determining each wiring width by the method described above and minimizing the delay, and whether or not the delay change amount after alternately repeating the first and second processes has reached within the allowable value It is characterized in that the path in the state where the delay change amount reaches within the allowable value is set as the clock wiring path.

【0033】さらに、第2の発明は、2分木型配線径路
構造において隣接する分岐点間の径路の平均配線幅が、
2分木型配線径路構造上で当該径路よりひとつ上位階層
側の径路の平均配線幅の0.4倍の数値と一般信号用の
標準配線幅とを比べたときの大きい方の数値以下となる
ように配線幅を決定することを特徴としている。
Further, in the second invention, the average wiring width of the path between the adjacent branch points in the binary tree type wiring path structure is
The value is 0.4 times the average wiring width of the path one level higher than the path on the binary tree type wiring path structure and the standard wiring width for general signals is less than or equal to the larger value. The feature is that the wiring width is determined as described above.

【0034】さらに、第3の発明は、信号の送端から受
端へ向かって配線幅が小さくなる配線の径路探索を、配
線領域の逐次探索によって行う集積回路の自動配線方法
であって、配線幅の小さい端から大きい端へ向かって配
線領域を探索し、新たな配線領域を探索する度にその配
線領域において理想的な配線幅を求めながら探索を進め
ることを特徴としている。
Further, a third invention is an automatic wiring method for an integrated circuit, wherein a path search for a wiring whose wiring width becomes smaller from a signal sending end to a receiving end is carried out by sequentially searching a wiring region. It is characterized in that a wiring area is searched from an edge having a small width to an edge having a large width, and each time a new wiring area is searched, an ideal wiring width is obtained in the wiring area.

【0035】また、第3の発明は、前記新たな配線領域
において理想的な配線幅を、前記配線幅の小さい端から
この新たな配線領域までの、既に得られている正確な配
線径路長と、この新たな配線領域から前記配線幅の大き
い端までの、水平径路及び垂直径路のみを用いた最短径
路長とを基に求めることを特徴としている。
In the third invention, the ideal wiring width in the new wiring area is set to the already obtained accurate wiring path length from the end of the small wiring width to this new wiring area. It is characterized in that it is obtained based on the shortest path length using only the horizontal path and the vertical path from the new wiring area to the end with the large wiring width.

【0036】[0036]

【作用】第1の発明は、クロック信号を受け取るフリッ
プフロップ等の末端セルに対して、近接するもの同士を
複数個まとめてクラスタとし、クラスタ内は一般信号用
の配線径路決定アルゴリズムにより配線する。ルートド
ライバーセルからクラスタまではバイナリツリー(2分
木)状となるように配線径路を布設する。
According to the first aspect of the present invention, a plurality of terminal cells, such as flip-flops which receive a clock signal, which are close to each other are grouped together to form a cluster, and the clusters are wired by a wiring route determination algorithm for general signals. The wiring path is laid from the root driver cell to the cluster in a binary tree shape.

【0037】このとき、各クラスタの大きさは、クラス
タ内の配線抵抗による遅延時間があまり大きくならない
よう上限をもたせ、加えてクラスタ内の負荷容量は均一
となるようにクラスタリングをする。
At this time, the size of each cluster has an upper limit so that the delay time due to the wiring resistance in the cluster does not become too large, and in addition, clustering is performed so that the load capacity in the cluster is uniform.

【0038】また、クラスタの入口部位、およびバイナ
リツリーのディレイが最小化できるような部位に、中継
用のバッファセルを複数個自動挿入し、ルートドライバ
ーまたは中継用バッファセルを起点とするサブツリーの
多段階層構造を形成する。
In addition, a plurality of relay buffer cells are automatically inserted at the entrance of the cluster and the portion where the delay of the binary tree can be minimized, and the root driver or the relay buffer cell is used as the starting point for the multi-stage subtree. Form a hierarchical structure.

【0039】各サブツリー内における分岐ノードの位置
すなわち配線径路上の分岐点は、2つの子ノード以降の
RCディレイを計算してその差が最小となるような位置
に設定し、この処理をボトムアップに繰り返すことでサ
ブツリーの配線形状を決定する。
The position of the branch node in each subtree, that is, the branch point on the wiring path is set at a position where the difference between the two child nodes and the subsequent RC delays is calculated to minimize the difference, and this process is bottomed up. The wiring shape of the subtree is determined by repeating the above.

【0040】さらに、階層サブツリーの配線形状をボト
ムアップに形成する過程において、同一階層のサブツリ
ー以降のディレイが均一となるように、バッファセルの
位置を微調整する。
Further, in the process of forming the wiring shape of the hierarchical sub-tree in a bottom-up manner, the positions of the buffer cells are finely adjusted so that the delays after the sub-trees of the same hierarchy become uniform.

【0041】また、第2の発明は、2分木型の配線ツリ
ー構造において、隣接する分岐点間の径路上の配線幅を
一定とし、またツリー上の同一深さにある枝径路の配線
幅は同一の線幅を持つとしたとき、各配線幅をパラメー
タとして配線ディレイをElmoreの式で表現する。
The second aspect of the present invention is that in a binary tree type wiring tree structure, the wiring width on the path between adjacent branch points is constant, and the wiring width of branch paths at the same depth on the tree. Assumes that they have the same line width, the wiring delay is expressed by the Elmore equation using each wiring width as a parameter.

【0042】次に、当該ディレイの各配線幅パラメータ
に対する偏微分関数を求め、各配線幅パラメータが標準
配線幅以上という制約範囲において、前記偏微分関数の
絶対値がそれぞれ最小となるよう各配線幅を決定するこ
とにより、ディレイを最小化する。
Next, a partial differential function for each wiring width parameter of the delay is calculated, and each wiring width is minimized in the constraint range that each wiring width parameter is equal to or larger than the standard wiring width. The delay is minimized by determining

【0043】また、配線幅を固定してスキュー最小とな
る径路分岐点を決定する処理と、径路分岐点を固定して
ディレイ最小となる配線幅を決定する処理とを、交互に
繰り返し、ディレイが収束したときの径路をクロック配
線径路の最終解とすることにより、複雑な問題を簡単化
しながら実用的な時間内でスキューとディレイの最小化
が実現できる。
Further, the process of fixing the wiring width to determine the path branch point at which the skew is minimized and the process of fixing the path branch point to determine the wiring width at which the delay is minimized are alternately repeated. By using the path when converged as the final solution of the clock wiring path, the skew and the delay can be minimized within a practical time while simplifying a complicated problem.

【0044】さらに、第3の発明は、テーパ配線の際
に、配線幅の小さい端から大きい端へ向かって径路探索
を行い、新たな配線領域を探索する度にその領域におい
て理想的な配線幅を、マンハッタン距離(水平径路及び
垂直径路のみを用いた最短径路長)を用いて計算しなが
ら探索を進めることにより、設計規則を犯さずに配線幅
を考慮した径路を得ることができる。これにより、配線
領域を一度探索するのみで、配線領域を有効に活かした
テーパ配線を効率的に実現可能である。
Further, in the third aspect of the invention, when the tapered wiring is used, a path search is performed from an end having a small wiring width to an end having a large wiring width, and every time a new wiring area is searched, an ideal wiring width in that area is obtained. By advancing the search using the Manhattan distance (the shortest path length using only the horizontal path and the vertical path), the path in consideration of the wiring width can be obtained without violating the design rule. As a result, it is possible to efficiently realize a tapered wiring that effectively utilizes the wiring area by only searching the wiring area once.

【0045】[0045]

【実施例】【Example】

第1の発明 第1実施例 図1は、第1の発明の第1実施例による自動配線処理手
順を示すフローチャートである。第1の発明の自動配線
処理は、スペックデータの入力(ステップ1)、ツリー
分岐点の仮決定(ステップ2からステップ5)、エンジ
ニアリングチェンジ(ステップ6,7)、実配線径路の
決定(ステップ8からステップ11)の4つに大きく分
けられる。
First Invention First Embodiment FIG. 1 is a flowchart showing an automatic wiring processing procedure according to a first embodiment of the first invention. The automatic wiring processing according to the first aspect of the present invention includes specification data input (step 1), provisional determination of tree branch points (steps 2 to 5), engineering change (steps 6 and 7), and determination of actual wiring paths (step 8). To step 11).

【0046】なお、当処理は、セルの配置位置が決定し
た後で、かつ一般信号の配線径路を決定する前に行われ
るものとする。以下、図1に従って第1の発明の配線処
理を説明する。
It is assumed that this processing is performed after the cell arrangement position is determined and before the general signal wiring path is determined. The wiring process of the first invention will be described below with reference to FIG.

【0047】まず、ステップ1において、スペックデー
タの入力を行う。このスペックデータとは、ルートドラ
イバーに入力されるクロック信号名、バッファセルの挿
入段数、使用バッファセルの種類、ディレイとスキュー
の目標値のことを指す。
First, in step 1, specification data is input. The specification data refers to a clock signal name input to the root driver, the number of buffer cell insertion stages, the type of buffer cell used, and target values of delay and skew.

【0048】次のステップ2では、指定されたクロック
信号毎に、駆動されるフリップフロップ等のセル(以
下、末端セル)のクラスタ化を行う。
In the next step 2, the cells such as flip-flops to be driven (hereinafter, terminal cells) are clustered for each designated clock signal.

【0049】クラスタ生成にあたっては、末端セルの存
在する領域を格子状に分割し、その格子内に配置されて
いる末端セル同士を同一クラスタに所属するように初期
設定し、次いで、クラスタ内の予想配線長から算出する
配線容量と末端セルの入力負荷容量との容量和が均一と
なるように、隣接クラスタ間で所属している末端セルの
移動交換を行う。
In generating a cluster, the region in which the end cells are present is divided into a grid shape, and the end cells arranged in the grid are initialized so that they belong to the same cluster. The end cells belonging to the adjacent clusters are moved and exchanged so that the sum of the line capacity calculated from the wire length and the input load capacity of the end cells becomes uniform.

【0050】格子の大きさは、クラスタ内の負荷容量
が、駆動するバッファセルの駆動能力の範囲内にあり、
かつ配線抵抗によるディレイ効果があまり大きくない範
囲内であることを基準に設定する。
The size of the grid is such that the load capacity in the cluster is within the drive capacity of the buffer cell to be driven,
Also, it is set on the basis that the delay effect due to the wiring resistance is not so large.

【0051】ステップ3では、クラスタをリーフノード
とした親子関係だけが示された全体バイナリツリーの形
成を行う。すなわち、ツリーの各ノード毎にリーフノー
ドを2分割する処理を、ルートノード(ルートドライバ
ーセル)からはじめてその子ノードに対して再帰的に繰
り返す。
In step 3, an entire binary tree is formed in which only parent-child relationships with clusters as leaf nodes are shown. That is, the process of dividing the leaf node into two for each node of the tree is recursively repeated for the child node starting from the root node (root driver cell).

【0052】2分割の際には、それぞれのリーフノード
個数の差が高々1個以内となるようにし、最終的に各リ
ーフノードにおけるルートノードからの深さ(階層)の
差が1レベル以内となるようにする。なお、バイナリツ
リーの階層は、許容されるディレイに応じて予め決定さ
れている。
When dividing into two, the difference in the number of leaf nodes is set to be within 1 at most, and finally the difference in depth (hierarchy) from the root node in each leaf node is within 1 level. To be The hierarchy of the binary tree is determined in advance according to the allowable delay.

【0053】ステップ4では、ステップ3で決定したツ
リーにおいて、ルートノードとリーフノードを除く各ノ
ードの物理的な位置を仮決定する。このノードの位置
は、配線径路を決定する際の分岐点となるものであり、
分岐先以降のディレイ差を最小化するような位置に設定
する。
In step 4, the physical positions of the nodes other than the root node and the leaf nodes in the tree determined in step 3 are provisionally determined. The position of this node is a branch point when determining the wiring path,
Set the position so that the delay difference after the branch destination is minimized.

【0054】なお、この時点では、リーフノードの位置
はクラスタの中心にあると仮定する。加えて、ステップ
4では、入力されたスペックデータに基づき、中継用バ
ッファセルを仮決定されたツリーノードの物理的な位置
に挿入する。その際、バッファセルの挿入段ごとに、全
体ツリー上の深さ・セル種類を同一にする。
It is assumed that the position of the leaf node is at the center of the cluster at this point. In addition, in step 4, the relay buffer cell is inserted into the tentatively determined physical position of the tree node based on the input spec data. At that time, the depth and cell type on the entire tree are made the same for each insertion stage of the buffer cells.

【0055】次のステップ5の判定処理では、ステップ
2からステップ4までの処理をしていないクロック信号
が残っているかを調べ、残っていればステップ2からス
テップ4までの処理を繰り返し、残っていなければ、ス
テップ6へ進む。
In the next judgment processing of step 5, it is checked whether or not there is a clock signal which has not been processed from step 2 to step 4. If it remains, the processing from step 2 to step 4 is repeated and it remains. If not, go to Step 6.

【0056】ステップ6では、バッファセルの挿入によ
って変化した回路接続情報を更新する。すなわち、新規
ネットとその接続端子の追加、旧クロックネットの接続
端子の接続ネット変更をする。
In step 6, the circuit connection information changed by inserting the buffer cell is updated. That is, a new net and its connection terminal are added, and the connection net of the connection terminal of the old clock net is changed.

【0057】ステップ7では、挿入されたバッファセル
の近傍にこのセルと重なるパターンがあれば、それを除
去するように近傍セルの位置修正を行う。このように、
バッファセルの位置を、ステップ4で決定した挿入すべ
き分岐点の位置になるべく近くなるように、詳細な配置
位置を決定する。
In step 7, if there is a pattern in the vicinity of the inserted buffer cell that overlaps this cell, the position of the neighboring cell is corrected so as to remove it. in this way,
The detailed arrangement position is determined so that the position of the buffer cell is as close as possible to the position of the branch point to be inserted determined in step 4.

【0058】ステップ8では、クラスタ内の実配線径路
を、なるべく配線長が短くなるように一般信号用の配線
経路決定アルゴリズムで決定する。
In step 8, the actual wiring path in the cluster is determined by a general signal wiring path determination algorithm so that the wiring length is as short as possible.

【0059】ステップ9では、ツリーの分岐点の位置の
修正を行う。これは、クラスタ内の配線容量が確定した
ことを受けて、正確なディレイバランスをとるように分
岐点の位置修正をするものである。位置決定は、ステッ
プ4に準じて行う。
In step 9, the position of the branch point of the tree is corrected. This is to correct the position of the branch point so that accurate delay balance can be obtained in response to the confirmation of the wiring capacity in the cluster. Position determination is performed according to step 4.

【0060】ステップ10では、ツリーのノード間の実
配線径路を決定する。基本的には、ツリー上の親子関係
にあるノード同士を最短径路で結ぶ。また、ここで使用
する配線層は、ディレイ最小化の観点から抵抗や容量の
小さいクロック専用層を使うのが望ましい。
In step 10, the actual wiring route between the nodes of the tree is determined. Basically, nodes having a parent-child relationship on the tree are connected by the shortest path. Further, as the wiring layer used here, it is desirable to use a dedicated clock layer having a small resistance and a small capacitance from the viewpoint of delay minimization.

【0061】ステップ11の判定処理では、実配線径路
の求まっていないクロック信号があるかどうかを調べ、
あった場合はステップ8からステップ10までの処理を
繰り返し、なかった場合は全処理を終了する。
In the judgment processing of step 11, it is checked whether or not there is a clock signal for which the actual wiring path has not been obtained,
If there is, the processing from step 8 to step 10 is repeated, and if not, all processing is ended.

【0062】続いて、上記ステップ4の詳細について、
図2に従って説明する。
Next, regarding the details of step 4 above,
It will be described with reference to FIG.

【0063】まず、ステップ12では、挿入するバッフ
ァセルの種類と挿入レベルを挿入段毎に設定する。バッ
ファセルの種類は、スペックデータに指定してあるもの
を使用可能範囲とし、挿入レベルは、当該バッファセル
が駆動するサブツリーの深さが、ある深さ以上になると
後段に別の中継用バッファセルを挿入した場合の方が、
当該サブツリー深さより下流側のあらゆる地点でのクロ
ック信号伝搬遅延時間を小さくできるサブツリーまでの
深さを上限とする。また、同一レベルには同一種類のバ
ッファセルが挿入される。
First, in step 12, the type of buffer cell to be inserted and the insertion level are set for each insertion stage. As for the type of buffer cell, the one specified in the spec data is within the usable range, and the insertion level is such that when the depth of the subtree driven by the buffer cell reaches a certain depth or more, another buffer cell for relay is provided in the subsequent stage. If you insert
The upper limit is the depth to the subtree that can reduce the clock signal propagation delay time at any point downstream of the subtree depth. Also, buffer cells of the same type are inserted at the same level.

【0064】ステップ13では、ステップ12で設定し
た条件で、全体ツリーに対してバッファセルを挿入し、
階層的ツリーをつくる。
In step 13, buffer cells are inserted into the entire tree under the conditions set in step 12,
Create a hierarchical tree.

【0065】ステップ14では、分岐点の位置の決定お
よび分岐点からリーフノードまでのディレイ計算を行
う。
In step 14, the position of the branch point is determined and the delay from the branch point to the leaf node is calculated.

【0066】分岐点は、2個の子ノード毎に、それより
下位レベルにある配線の配線抵抗によるディレイと後段
バッファセル以降のディレイとの和を求め、その差を当
該分岐点から子ノードまでの配線抵抗によるディレイの
差によって相殺するように決定する。この詳細は後で述
べるが、このような分岐点の決定を全体ツリーのリーフ
ノードからルートノードに向かってボトムアップに行
う。
For each branch point, the sum of the delay due to the wiring resistance of the wiring at the lower level and the delay after the subsequent buffer cell is calculated for every two child nodes, and the difference is calculated from the branch point to the child node. It is decided to cancel by the difference in delay due to the wiring resistance of. Although the details will be described later, such a branch point is determined bottom-up from the leaf node of the entire tree toward the root node.

【0067】ステップ15の判定処理では、現時点のル
ートノードからリーフノードまでのディレイ・スキュー
がスペックを満足しているかどうか、あるいはその数値
が最小かどうかということを調べ、既計算のなかで最良
の結果であれば、ステップ16に進み、そうでなければ
ステップ17へ進む。
In the judgment processing of step 15, it is checked whether or not the delay skew from the root node to the leaf node at the present time satisfies the specifications, or the numerical value thereof is the minimum, and the best calculation among the already calculated is performed. If the result is yes, go to step 16, otherwise go to step 17.

【0068】ステップ16では、現時点のツリー構造と
ディレイ値が最良データであるとしてこのデータを保存
する。もし、既に保存されているデータがあったとき
は、古いデータを削除し、新しいデータに置き換える。
In step 16, this data is saved assuming that the current tree structure and the delay value are the best data. If there is already saved data, delete the old data and replace it with new data.

【0069】ステップ17の判定処理では、まだ試行し
ていないバッファセルの種類・挿入レベルの組み合わせ
があるかどうかを調べ、あればステップ18に進み、な
ければ、ステップ12からステップ18までの一連の処
理を終了する。
In the judgment processing of step 17, it is checked whether or not there is a combination of buffer cell type and insertion level which has not been tried, and if there is a combination, the procedure proceeds to step 18, and if there is no combination, a series of steps from 12 to 18 The process ends.

【0070】ステップ18では、現時点のツリーデータ
構造上で挿入されているバッファセルのデータを削減
し、未挿入の状態を復元する。その後、異なる種類のバ
ッファセルや挿入レベルを設定するため、ステップ12
に戻る。
In step 18, the data of the buffer cell inserted in the tree data structure at the present time is reduced and the uninserted state is restored. Then, to set different types of buffer cells and insertion levels, step 12
Return to.

【0071】以下に、ステップ12で行う、サブツリー
深さの上限値を設定するためのディレイ見積り方法、上
限値の設定方法について説明する。
The delay estimation method for setting the upper limit value of the subtree depth and the setting method of the upper limit value, which are performed in step 12, will be described below.

【0072】まず、サブツリー深さの上限値を求めるた
めのディレイ見積りについて述べる。
First, the delay estimation for obtaining the upper limit value of the subtree depth will be described.

【0073】ディレイは配線形状によって変化するが、
ここでは平均的なディレイ値を求めるためにH字型の径
路が再帰的に繰り返される完全対称径路を仮定し、バッ
ファセルまたはルートドライバーセルの配置位置をH字
部分の中心と仮定する。このとき、バッファセルまたは
ルートドライバーセルが直接駆動するサブツリーでのデ
ィレイtn は、
The delay varies depending on the wiring shape,
Here, in order to obtain an average delay value, a completely symmetrical path in which an H-shaped path is recursively repeated is assumed, and the arrangement position of the buffer cell or the root driver cell is assumed to be the center of the H-shaped portion. At this time, the delay tn in the subtree directly driven by the buffer cell or the root driver cell is

【数1】 k =4Ck+1 +3cD・21-k /2 で計算できる。[Equation 1] It can be calculated by C k = 4 C k + 1 +3 cD · 21 -k / 2.

【0074】ここに、 I:バッファセルまたはルートドライバーセルの内部デ
ィレイ R0 :バッファセルまたはルートドライバーセルのオン
抵抗 r:単位長さあたりの配線抵抗値 c:単位長さあたりの配線負荷容量値 D:サブツリー領域の一辺の長さ n:サブツリーの深さ(H字径路の繰り返し回数) Ck :部分ツリーの負荷容量を表わし、k段目のH字径
路よりも下流側のもの W1 ,W2 :時間重み定数 とし、配線抵抗と配線負荷容量はXY両方向で同一(平
均値)と近似し、サブツリー領域は正方形と仮定した。
Where: I: internal delay of buffer cell or root driver cell R 0 : on-resistance of buffer cell or root driver cell r: wiring resistance value per unit length c: wiring load capacitance value per unit length D: Length of one side of subtree area n: Depth of subtree (number of repetitions of H-shaped path) C k : Load capacity of partial tree, downstream of k-th H-shaped path W 1 , W 2 : time weight constant, the wiring resistance and the wiring load capacitance were approximated to be the same (average value) in both XY directions, and the subtree region was assumed to be square.

【0075】Ck の漸化式より Ck +3cD21-k /2 =4{Ck+1 +3cD・21-(k+1) /2} =4n+1-k (Cn+1 +3cD・2-n/2) ここで、リーフノードの負荷容量Cn+1 をCg とおく
と、 Ck =(Cg +3cD・2-n/2)・4n+1-k −3cD・2-k となる。
[0075] C C than recurrence formula k k + 3cD2 1-k / 2 = 4 {C k + 1 + 3cD · 2 1- (k + 1) / 2} = 4 n + 1-k (C n + 1 + 3cD · 2 −n / 2) Here, if the load capacity C n + 1 of the leaf node is Cg, then C k = (Cg +3 cD · 2 −n / 2) · 4 n + 1 −k −3 cD · 2 -k .

【0076】このCk を数1に代入すると、ディレイt
n は、
Substituting this C k into Equation 1, the delay t
n is

【数2】 となる。[Equation 2] Becomes

【0077】さらに W2 =W1 /2 ,1−8-n=1
,1−4-n=1 という近似をすると、 tn =I+W1 ( R0 +3rD/14) (3cD・2n /2+Cg ・4n ) −3W1 ( R0 +rD/3) cD/2 が得られる。
[0077] Furthermore, W 2 = W 1/2, 1-8 -n = 1
, 1-4 −n = 1, tn = I + W 1 (R 0 + 3rD / 14) (3cD · 2 n / 2 + Cg · 4 n ) -3W 1 (R 0 + rD / 3) cD / 2 is obtained. To be

【0078】次に、この式を用いて、バッファセル挿入
の有無によるディレイの差を導く。今、注目バッファセ
ル(ルートドライバーセル)の駆動しているサブツリー
の深さをn1 、その後段にあるバッファセルの駆動して
いるサブツリーの深さをn2とおくと、後段のバッファ
セルがないときとのディレイ差Δtは、 Δt=(1) n1+n2 −((1) n1(2) n2) =2n21 {((1) 0 +3rD/14)・3cD2n1
2−((2) 0 +3rD2-n1 /14)・3cD2-n1
2} +4n2・W1 {((1) 0 +3rD/14)・Cg ・4n1
−((2) 0 +3rD2-n1 /14) Cg } −W1 ((1) 0 +3rD/14)・(3cD2n1/2+
Cg 4n1) −(2) I+W1 (2) 0 +rD2-n1 /3)・3rD2
-n1 /2 >W1 (1) 0 +3rD/14)・(3cD・2n1/2
+3Cg 4n1) −W1 (2) 0 +3rD/28)・(3cD/2+4C
g )−(2) I となる。ここに変数の左肩にあるかっこつき添字は、バ
ッファセル段を表す。
Next, using this equation, the difference in delay depending on the presence / absence of buffer cell insertion is derived. If the depth of the subtree driven by the buffer cell of interest (root driver cell) is n1 and the depth of the subtree driven by the buffer cell in the subsequent stage is n2, there is no buffer cell in the subsequent stage. And the delay difference Δt between Δt = (1) t n1 + n2 − ( (1) t n1 + (2) t n2 ) = 2 n2 W 1 {( (1) R 0 + 3rD / 14) · 3cD2 n1 /
2- ((2) R 0 + 3rD2 -n1 / 14) · 3cD2 -n1 /
2} +4 n2 · W 1 {( (1) R 0 + 3rD / 14) · Cg · 4 n1
- ((2) R 0 + 3rD2 -n1 / 14) Cg} -W1 ((1) R 0 + 3rD / 14) · (3cD2 n1 / 2 +
Cg 4 n1) - (2) I + W 1 ((2) R 0 + rD2 -n1 / 3) · 3rD2
-n1 / 2> W 1 ( (1) R 0 + 3rD / 14) · (3cD · 2 n1 / 2)
+ 3Cg 4 n1) -W 1 ( (2) R 0 + 3rD / 28) · (3cD / 2 + 4C
g)- (2) I. The parenthesized subscript on the left shoulder of the variable represents the buffer cell column.

【0079】さて、上の不等式の右辺をf(n1) とおく
と、 f(n1* −1)≦0≦f(n1* ) を満たす解n1* は、注目バッファセルの駆動するサブツ
リー深さの上限となる。なぜなら、n1≧n1* のときは、 Δt>f(n1)≧f(n1* )≧0 すなわち後段バッファセルを挿入した方がn2によらず常
にディレイを小さくできるからである。
Now, letting f (n1) be the right side of the above inequality, the solution n1 * satisfying f (n1 * -1) ≤0≤f (n1 * ) is the subtree depth driven by the buffer cell of interest. Is the upper limit of. This is because when n1 ≧ n1 * , Δt> f (n1) ≧ f (n1 * ) ≧ 0, that is, the delay can be always reduced by inserting the subsequent buffer cell regardless of n2.

【0080】このように、バッファセルの駆動力,内部
ディレイ,サブツリー領域の大きさが与えられれば、駆
動するサブツリー深さの上限値n1* が求められる。
Thus, given the driving force of the buffer cell, the internal delay, and the size of the subtree region, the upper limit value n1 * of the depth of the driven subtree can be obtained.

【0081】このような処理を、ステップ12におい
て、バッファセル挿入段ごとのバッファセル種類、挿入
レベルの組に対して前記のサブツリー深さの上限値以内
かどうか調べ、その範囲内にある組み合わせだけを選択
すればよい。こうすることで、不要な組み合わせに対す
る配線径路決定処理を省くことができ、処理時間を節約
することができる。
Such processing is checked in step 12 for a combination of the buffer cell type and the insertion level for each buffer cell insertion stage, within the upper limit value of the subtree depth, and only the combinations within the range are checked. Should be selected. By doing so, it is possible to omit the wiring route determination processing for unnecessary combinations and save the processing time.

【0082】次に、図3に示すような、上記ステップ1
4における分岐点位置決定方法の詳細について、位置を
決定する際の前提となるディレイ計算モデルの説明の
後、まずひとつのサブツリー内での分岐点位置決定方法
を説明し、最後に全体ツリーに対する処理方法を説明す
る。
Next, the above step 1 as shown in FIG.
Regarding the details of the branch point position deciding method in 4), after explaining the delay calculation model which is a prerequisite for deciding the position, first, the branch point locating method in one subtree is explained, and finally the processing for the whole tree The method will be described.

【0083】(1) ディレイ計算モデル ここでは、ひとつのサブツリーでの計算、すなわちルー
トドライバーセル(バッファセル)の入力端子から次段
バッファセルの入力端子までの間のディレイを対象とし
て説明する。
(1) Delay Calculation Model Here, the calculation in one subtree, that is, the delay between the input terminal of the root driver cell (buffer cell) and the input terminal of the next-stage buffer cell will be described.

【0084】説明の都合上、サブツリー上の最初の分岐
点をノード番号1とし、kが偶数の時はノード番号k/
2の分岐点に対する2つの子ノード番号をkとk+1と
し、kが奇数の時はノード番号k/2の分岐点に対する
2つの子ノード番号をkとk−1にするようにノード番
号付けがされているものとする(図4参照)。
For convenience of explanation, the first branch point on the subtree is the node number 1, and when k is an even number, the node number k /
Two child node numbers for the branch point of 2 are k and k + 1. When k is an odd number, the node numbering is set so that the two child node numbers for the branch point of the node number k / 2 are k and k-1. It has been done (see FIG. 4).

【0085】また、ルートドライバーセルの入力端と出
力端が、それぞれ−1、0、というノード番号であると
拡張設定しておく。
Further, it is set in advance that the input end and the output end of the root driver cell have node numbers of -1, 0, respectively.

【0086】このときのノード番号0からノード番号e
のリーフノードまでの、配線抵抗によるディレイt(1,
e)は、次の漸化式によって近似計算される。
At this time, node number 0 to node number e
Delay t (1,
e) is approximately calculated by the following recurrence formula.

【0087】t(e,e) =0 t(k/2,e) =t(k,e) +d(k/2,k) k≧1 d(k/2,k) = w1 *rx *Lx (k/2,k) *C(k) +w1 *ry *Ly (k/2,k) *C(k) +w1 *αxy*Lx (k/2,k) *Ly (k/2,k) +w2 *αxx*Lx (k/2,k) *Lx (k/2,k) +w2 *αyy*Ly (k/2,k) *Ly (k/2,k) C(e) =Ce C(k) = C(2*k) +cx *Lx (k,2*k) +cy *Ly (k,2*k) +C(2*k+1) +cx *Lx (k,2*k+1) +cy *Ly (k,2*k+1) αxx=rx *cx αyy=ry *cy αxy=0.5*(rx *cy +ry *cx ) ここに、t(a,b) はノード番号aからノード番号bまで
の配線抵抗によるディレイ、Ce はリーフノードeの入
力端子容量、C(a) はノード番号aより下流側の配線容
量とリーフノードの入力端子容量の総和、rx ,ry
それぞれX方向・Y方向の配線の単位長さあたりの配線
抵抗値、cx ,cy はそれぞれX方向・Y方向の配線の
単位長さあたりの配線容量値、Lx (k/2,k) ,Ly (k/
2,k) は、親ノードk/2と子ノードkとの間を結ぶX
方向・Y方向の配線長である。
T (e, e) = 0 t (k / 2, e) = t (k, e) + d (k / 2, k) k ≧ 1 d (k / 2, k) = w 1 * r x * L x (k / 2 , k) * C (k) + w 1 * r y * L y (k / 2, k) * C (k) + w 1 * α xy * L x (k / 2, k ) * L y (k / 2, k) + w 2 * α xx * L x (k / 2, k) * L x (k / 2, k) + w 2 * α yy * L y (k / 2, k) ) * L y (k / 2, k) C (e) = C e C (k) = C (2 * k) + c x * L x (k, 2 * k) + c y * L y (k, 2) * k) + C (2 * k + 1) + c x * L x (k, 2 * k + 1) + c y * L y (k, 2 * k + 1) α xx = r x * c x α yy = r y * c y α xy = 0.5 * (r x * c y + r y * c x ) where t (a, b) is the delay due to the wiring resistance from node number a to node number b, and C e Is the input terminal capacitance of the leaf node e, C (a) is the sum of the wiring capacitance on the downstream side of the node number a and the input capacitance of the leaf node, and r x and r y are the unit lengths of the wiring in the X and Y directions, respectively. Wiring resistance per unit, c x , c y Are the wiring capacitance values per unit length of the wiring in the X and Y directions, L x (k / 2, k) and L y (k /
2, k) is an X connecting the parent node k / 2 and the child node k.
The wiring length in the direction and Y direction.

【0088】この式の本質的な点は、各抵抗毎にそれよ
り下流側にある負荷容量を充放電するとしたときのRC
遅延を順次加算していることであり、集中定数的に扱う
ところでは乗数w1 を、分布定数的に扱うところでは乗
数w2 を時間重みとしている。
The essential point of this expression is RC when the load capacity on the downstream side of each resistor is charged and discharged.
The delays are sequentially added, and the multiplier w 1 is used as a lumped constant and the multiplier w 2 is used as a distributed constant.

【0089】また、配線長としては、親ノードと子ノー
ドを結ぶマンハッタン距離、すなわち最短径路であるこ
とを仮定して計算し、折れ曲がりの形状によるディレイ
の差は無視している。これは折れ曲りの形状によるディ
レイの最大と最小との差 w1 *(rx *cy −ry *cx ) *Lx (k/2,k) *Ly (k/2,k) が実用上はd(k/2,k) 定義式内の他項に比べて非常に小
さいためである。なお、上式においては、ディレイの最
大・最小となるパターン(図5(a),(c) のパターンに相
当する)のディレイ中央値を採用している。
The wiring length is calculated assuming that it is the Manhattan distance connecting the parent node and the child node, that is, the shortest path, and the difference in delay due to the bent shape is ignored. This is the difference between the broken maximum and minimum delay due to the shape of the bending w 1 * (r x * c y -r y * c x) * L x (k / 2, k) * L y (k / 2, k ) Is practically much smaller than other terms in the d (k / 2, k) definition formula. In the above equation, the median delay value of the maximum and minimum delay patterns (corresponding to the patterns of FIGS. 5A and 5C) is adopted.

【0090】さらに、ルートドライバーセルの内部ディ
レイ,オン抵抗を各々I,R0 とすると、ノード番号−
1からノード番号eのリーフノードまでの全ディレイt
(-1,e)は、次のように計算される。
Further, assuming that the internal delay and on-resistance of the root driver cell are I and R 0 , respectively, the node number −
Total delay t from 1 to the leaf node with node number e
(-1, e) is calculated as follows.

【0091】 t(-1,e)=I+w1 *R0 *C(0) +t(0,e) C(0) =C(1) +cx *Lx (0,1) +cy *Ly (0,1) 以上から、ノードkからリーフノードへのディレイの最
大値TL (K) 、最小値TS (k) は、 TL (K) =max(TL (2*k) +d(k,2*k) ,TL (2*k
+1) +d(k,2*k+1) ) TS (K) =min(TS (2*k) +d(k,2*k) ,TS (2*k
+1) +d(k,2*k+1) ) のように求められ、ノードkからリーフノードまでのデ
ィレイに対するスキューS(k) は、 S(k) =TL (k) −TS (k) と表される。
T (-1, e) = I + w 1 * R 0 * C (0) + t (0, e) C (0) = C (1) + c x * L x (0,1) + c y * L From y (0,1) and above, the maximum value T L (K) and the minimum value T S (k) of the delay from the node k to the leaf node are: T L (K) = max (T L (2 * k) + D (k, 2 * k), TL (2 * k
+1) + d (k, 2 * k + 1)) T S (K) = min (T S (2 * k) + d (k, 2 * k), T S (2 * k)
+1) + d (k, 2 * k + 1) skew S (k) is determined, from node k for delay to the leaf node as) is, S (k) = T L (k) -T S ( It is expressed as k).

【0092】ルートドライバーの入力端子(ノード番号
−1)、出力端子(ノード番号0)の地点においては、 TS (0) =TS (1) +d(0,1) +w1 *R0 *C(0) TL (0) =TL (1) +d(0,1) +w1 *R0 *C(0) TS (-1)=TS (0) +I TL (-1)=TL (0) +I S(-1)=S(0) =S(1) =TL (1) −TS (1) となる。
At the input terminal (node number -1) and output terminal (node number 0) of the route driver, T S (0) = T S (1) + d (0,1) + w 1 * R 0 * C (0) T L (0) = T L (1) + d (0,1) + w 1 * R 0 * C (0) T S (-1) = T S (0) + I T L (-1) = T L (0) + I S (-1) = S (0) = S (1) = T L (1) a -T S (1).

【0093】なお、サブツリーのリーフノードeにおけ
るTL (e) ,TS (e) は、そのリーフノードより下位に
あるサブツリー以降のディレイが設定されるものとす
る。
It is assumed that the leaf nodes e of the subtree have delays set for the subtrees below the leaf node T L (e) and T S (e).

【0094】以上のように、ディレイ計算モデルを考え
ることができ、以下にこのモデルを用いて分岐点位置決
定方法を説明する。
As described above, the delay calculation model can be considered, and the branch point position determining method will be described below using this model.

【0095】 (2)サブツリー内での分岐点位置決定方法 今、ノードkより下流のノードの位置が決定済みである
として、ノードkの位置すなわち分岐点の位置を、スキ
ューが最小化できるように決定する方法について説明す
る。ただし、迂回配線による不必要なディレイ増加を避
け、かつ計算の単純化のため、2つの子ノード位置を結
ぶ直線線分上の点から選ぶこととする。さて、ノードk
でのスキューS(k) は、 σ(k) =d(k,2*k) −d(k,2*k+1) ε(k) =0.5*(TL (2*k+1) +TS (2*k+1)−T
L (2*k) −TS (2*k) ) λ(k) =σ(k) −ε(k) μ(k) =0.5*(TL (2*k+1) −TS (2*k+1)+T
L (2*k) −TS (2*k) ) =0.5*(S(2*k+1) +S(2*k) ) と定義したとき、 S(k) =TL (k) −TS (k) =max(S(2*k) ,S(2*k+1) , TL (2*k)+d(k,2*k)-TS (2*k+1)-d(k,2*k+1) , TL (2*k+1)+d(k,2*k+1)-TS (2*k)-d(k,2*k) ) =max (S(2*k) ,μ(k) −ε(k) +σ(k) ,S(2*k+
1) ,μ(k) +ε(k) −σ(k) ) =max (S(2*k) ,S(2*k+1) ,μ(k) +|λ(k) |) と表される。
(2) Method for deciding branch point position in subtree Now, assuming that the position of the node downstream from the node k has already been determined, the position of the node k, that is, the position of the branch point, can be minimized. A method of determining will be described. However, in order to avoid an unnecessary increase in delay due to the bypass wiring and to simplify the calculation, it is selected from the points on the straight line segment connecting the two child node positions. Now, node k
The skew S (k) at is σ (k) = d (k, 2 * k) -d (k, 2 * k + 1) ε (k) = 0.5 * (T L (2 * k + 1) + T S (2 * k + 1) −T
L (2 * k) −T S (2 * k)) λ (k) = σ (k) −ε (k) μ (k) = 0.5 * (T L (2 * k + 1) −T S (2 * k + 1) + T
When L (2 * k) -T S (2 * k)) = 0.5 * (S (2 * k + 1) + S (2 * k)) is defined, S (k) = TL (k ) −T S (k) = max (S (2 * k), S (2 * k + 1), TL (2 * k) + d (k, 2 * k) -T S (2 * k + 1) -d (k, 2 * k + 1), T L (2 * k + 1) + d (k, 2 * k + 1) -T S (2 * k) -d (k, 2 * k )) = Max (S (2 * k), μ (k) -ε (k) + σ (k), S (2 * k +
1), μ (k) + ε (k) −σ (k)) = max (S (2 * k), S (2 * k + 1), μ (k) + | λ (k) |) To be done.

【0096】処理順序に関する前提条件から、この式の
中でノードkの分岐点の位置によって変えられるもの
は、λ(k) あるいはσ(k) であり、その他の項は既知で
ある。従って|λ(k) |を最小化することが、スキュー
を最小化することになる。
From the preconditions regarding the processing order, the one that can be changed by the position of the branch point of the node k in this equation is λ (k) or σ (k), and the other terms are known. Therefore, minimizing | λ (k) | will minimize skew.

【0097】ここで、ノードkの位置がノード(2*k) と
ノード(2*k+1) をZ:(1-Z) に内分する点(0≦Z≦
1)であるとし、この2つの子ノードを結ぶ直線とX軸
との交角をθとし、2つの子ノード間の直線距離をL、
すなわち L=((Lx (k,2*k)+Lx (k,2*k+1))2 +(Ly (k,2*k)+Ly (k,2*k+1))2 1/2 とすると(図6
参照)、 Lx (k,2*k)=L*Z*|COS(θ)| Ly (k,2*k)=L*Z*|SIN(θ)| Lx (k,2*k+1)=L*(1-Z) *|COS(θ)| Ly (k,2*k+1)=L*(1-Z) *|SIN(θ)| であるから、 β1 =w1 *L*(C(2*k)+C(2*k+1))* (rx *|COS(θ)|+ ry *|SIN(θ)|) β2 =(w2 *αxx* COS2 (θ) +w2 *αyy* SIN2 (θ) +w1 *αxy*|COS(θ)|) *|SIN(θ)|) *2*L2 γ=C(2*k+1) /(C(2*k) +C(2*k+1) ) 0<γ<1 と定義すると、 σ(k) =d(k,2*k) −d(k,2*k+1) =w1 *rx *L*|COS(θ)| *(Z *C(2*k)-(1-Z) *C(2*k+1)) +w1 *ry *L*|SIN(θ)| *(Z *C(2*k)-(1-Z) *C(2*k+1)) +w1 *αxy*L2 *(2*Z −1) *|COS(θ)|*|SIN(θ)| +w2 *αxx*L2 *(2*Z −1) * COS2 (θ) +w2 *αyy*L2 *(2*Z−1) * SIN2 (θ) =w1 *L* (Z*(C(2*k)+C(2*k+1))- C(2*k+1))* (rx *|COS(θ)|+ry *|SIN(θ)|) +L2 *2*(Z-0.5 )* (w1 *αxy*|COS(θ)|*|SIN(θ)|+w2 *αxx
COS2 (θ)+w2 *αyy* SIN2 (θ)) =β1 *(Z−γ)+β2 *(Z−0.5 ) λ(k) =(β1 +β2 )*Z −(β1 *γ+β2 *0.5 )−ε(k) を得る。
Here, a point (0≤Z≤ where the position of the node k internally divides the node (2 * k) and the node (2 * k + 1) into Z: (1-Z).
1), the intersection angle between the X axis and the straight line connecting the two child nodes is θ, and the straight line distance between the two child nodes is L,
That is, L = ((L x (k, 2 * k) + L x (k, 2 * k + 1)) 2 + (L y (k, 2 * k) + L y (k, 2 * k + 1) )) 2 ) 1/2 (Fig. 6
L x (k, 2 * k) = L * Z * | COS (θ) | L y (k, 2 * k) = L * Z * | SIN (θ) | L x (k, 2 *) k + 1) = L * (1-Z) * | COS (θ) | L y (k, 2 * k + 1) = L * (1-Z) * | SIN (θ) | 1 = w 1 * L * (C (2 * k) + C (2 * k + 1)) * (r x * | COS (θ) | + r y * | SIN (θ) |) β 2 = ( w 2 * α xx * COS 2 (θ) + w 2 * α yy * SIN 2 (θ) + w 1 * α xy * | COS (θ) |) * | SIN (θ) |) * 2 * L 2 γ = If C (2 * k + 1) / (C (2 * k) + C (2 * k + 1)) 0 <γ <1 is defined, σ (k) = d (k, 2 * k) −d ( k, 2 * k + 1) = w 1 * r x * L * | COS (θ) | * (Z * C (2 * k)-(1-Z) * C (2 * k + 1)) + w 1 * r y * L * | SIN (θ) | * (Z * C (2 * k)-(1-Z) * C (2 * k + 1)) + w 1 * α xy * L 2 * (2 * Z -1) * | COS (θ) | * | SIN (θ) | + w 2 * α xx * L 2 * (2 * Z -1) * COS 2 (θ) + w 2 * α yy * L 2 * (2 * Z-1) * SIN 2 (θ) = w 1 * L * (Z * (C (2 * k) + C (2 * k + 1)) -C (2 * k + 1)) * (r x * | COS (θ) | + r y * | SIN (θ) |) + L 2 * 2 * (Z-0.5) * (w 1 * α xy * | COS (θ) | * | SIN (θ) | + w 2 * α xx *
COS 2 (θ) + w 2 * α yy * SIN 2 (θ)) = β 1 * (Z-γ) + β 2 * (Z-0.5) λ (k) = (β 1 + β 2 ) * Z- (β 1 * γ + β 2 * 0.5 ) to obtain -ε a (k).

【0098】λ(k) は、Zの一次関数となっているの
で、0≦Z≦1で|λ(k) |を最小化するZ(分岐点位
置を決めるパラメータ)としては、次のように選べば良
い。
Since λ (k) is a linear function of Z, the following is a Z (parameter for determining the branch point position) that minimizes │λ (k) │ when 0≤Z≤1. You can choose

【0099】[0099]

【数3】 このとき、ノードkでのスキューは、各ケースにおい
て、
[Equation 3] At this time, the skew at node k is

【数4】 となる。[Equation 4] Becomes

【0100】このような、Zで内分される位置kに分岐
点を決定する。
A branch point is determined at the position k internally divided by Z.

【0101】以上が、サブツリー内での分岐点位置決定
方法の詳細であるが、この方法における最大の特徴は、
スキューが非常に小さくなりうる点にある。なぜなら、
β1,β2 は、ツリーの深さが一段上がる毎に2倍から
4倍程度の増加をするので、リーフノード付近でのε
(k) が比較的小さければ、各ツリー深さのノードに対し
てほとんど上記(ハ)のケース、すなわちλ(k) =0と
でき、ルートノードでのスキューはリーフノード付近の
スキューと同程度とできるからである。特に、リーフノ
ードでのスキューを0にできれば、ルートノードでのス
キューも0にしうる。
The above is the details of the method for deciding the branch point in the subtree. The greatest feature of this method is that
The point is that the skew can be very small. Because
β 1 and β 2 increase about 2 to 4 times each time the depth of the tree increases, so ε near the leaf node
If (k) is relatively small, the above case (c) can be set for each tree depth node, that is, λ (k) = 0, and the skew at the root node is almost the same as the skew near the leaf node. Because you can In particular, if the skew at the leaf node can be set to 0, the skew at the root node can also be set to 0.

【0102】(3)全体ツリーに対する処理方法 最後に、図7のようにバッファセル26が多段挿入され
た階層的バイナリツリーにおける分岐点位置27の決定
方法について説明する。この処理は、図2のステップ1
4に相当し、そのフローチャートは図3に示してある。
説明の都合上、この階層ツリーにおいて、ルートドライ
バーセル31が駆動するツリーの階層を第1階層とし
て、信号の伝搬する方向に第2階層、第3階層と順次数
えることにし、クラスタを直接駆動しているバッファセ
ル26をリーフノードとするツリーの階層を第m階層と
する。
(3) Processing Method for Whole Tree Finally, a method for determining the branch point position 27 in the hierarchical binary tree in which the buffer cells 26 are inserted in multiple stages as shown in FIG. 7 will be described. This process is step 1 in FIG.
4 and its flowchart is shown in FIG.
For convenience of explanation, in this hierarchical tree, the hierarchy of the tree driven by the root driver cell 31 is defined as the first hierarchy, and the second hierarchy and the third hierarchy are sequentially counted in the signal propagating direction to directly drive the clusters. The hierarchy of the tree having the buffer cell 26 that is a leaf node as the leaf node is the m-th hierarchy.

【0103】まず、ステップ19において、処理するサ
ブツリーの階層を最下位階層、すなわち第m階層に設定
する。
First, in step 19, the hierarchy of the subtree to be processed is set to the lowest hierarchy, that is, the mth hierarchy.

【0104】ステップ20では、当該階層での複数のサ
ブツリーに対して、上述したサブツリー内の分岐点位置
決定処理を施す。このとき、サブツリーのルートとなる
バッファセルの位置は、図8のようにサブツリー上の2
つの子ノード位置をもとに決定されたディレイバランス
点27に、一旦設定する。
In step 20, the branch point position determining process in the subtree is performed on the plurality of subtrees in the hierarchy. At this time, the position of the buffer cell that is the root of the subtree is 2 on the subtree as shown in FIG.
The delay balance point 27 determined based on the positions of the two child nodes is once set.

【0105】ステップ21の判定処理では、当該処理階
層での未処理サブツリーがあるか調べ、あればステップ
20の処理を繰り返し、なければステップ22に進む。
In the judgment processing of step 21, it is checked whether or not there is an unprocessed subtree in the processing hierarchy, and if there is, the processing of step 20 is repeated, and if not, the processing proceeds to step 22.

【0106】ステップ22の判定処理では、当該階層が
最上位階層かどうかを調べ、そうであればこれらの処理
全体から抜け出し、そうでなければステップ23に進
む。
In the judgment processing of step 22, it is checked whether or not the hierarchy is the top hierarchy, and if so, the process is exited from the whole of the processing, and if not so, the routine proceeds to step 23.

【0107】ステップ23では、当該同一階層のサブツ
リーのなかで最大ディレイを持つものを前述したモデル
を用いて調べ、そのディレイ値をとりだす。
In step 23, the subtree having the maximum delay among the subtrees of the same hierarchy is examined using the model described above, and the delay value is extracted.

【0108】続くステップ24では、最大ディレイを持
つサブツリー以外のサブツリーにおいて、図9のように
ルートノードであるバッファセル35の位置をずらし、
各ツリーのディレイ値が揃うようにしむける。ずらす方
向は、ずらすノードと兄弟関係にあるノードの位置に近
づく方向にとる。
In the following step 24, the position of the buffer cell 35, which is the root node, is shifted as shown in FIG. 9 in subtrees other than the subtree having the maximum delay.
Make sure that the delay values of each tree are aligned. The shift direction is set so as to approach the position of a node having a sibling relationship with the shift node.

【0109】ステップ25では、処理階層をひとつ上に
繰り上げたのち、ステップ20の処理に戻り、以降の処
理を繰り返す。
At step 25, the process hierarchy is moved up by one, and then the process returns to step 20 to repeat the subsequent processes.

【0110】この処理のうち、ステップ24の実施例を
以下に述べる。
An example of step 24 in this processing will be described below.

【0111】たとえば、当該階層で最も大きなディレイ
を持つサブツリーQでのディレイ最大値・ディレイ最小
値を (Q)L (Q)S とし、処理対象サブツリーPで
のディレイ最大値・ディレイ最小値を (P)L (P)
S とし、サブツリーPと兄弟関係にあるサブツリーのル
ートノード34の位置27とサブツリーPのルートノー
ド35の位置(バッファセルの仮位置)27とを結ぶ直
線線分(図9の一点鎖線)上において、後者と前者を
Z:(1-Z) に内分する点(0≦Z≦1)を当該バッファ
セル35の新しい位置に選ぶこととし、その直線とX軸
との交角をθ、ルートノード間の直線距離をLとする
と、位置をずらしたことによるディレイ増加量δは、 δ=w1 *L*Z* (P)C(0) *(rx *|COS(θ) |+ry *|SIN(θ) |) +L2 *Z2 *(w1 *αxy*|COS(θ) |*|SIN(θ) | +w2 *αxx* COS2 (θ) +w2 *αyy* SIN2 (θ)) +w1 *R0 *L*Z *(cx *|COS(θ) |+cy *|SIN(θ) |) =ζ1 *Z+ζ2 *Z2 である。
[0111] For example, the most delay maximum delay minimum value of the subtree Q with large delay (Q) T L, (Q ) and T S, the delay maximum delay smallest in processed subtree P in the hierarchy The value is (P) TL , (P) T
Let S be a straight line segment (dashed line in FIG. 9) connecting the position 27 of the root node 34 of the subtree sibling to the subtree P and the position 27 of the root node 35 of the subtree P (temporary buffer cell position) 27. , A point (0 ≦ Z ≦ 1) that internally divides the latter and the former into Z: (1-Z) is selected as a new position of the buffer cell 35, and the intersection angle between the straight line and the X axis is θ and the root node is Assuming that the linear distance between them is L, the delay increase amount δ due to the position shift is: δ = w 1 * L * Z * (P) C (0) * (r x * | COS (θ) | + r y * | SIN (θ) |) + L 2 * Z 2 * (w 1 * α xy * | COS (θ) | * | SIN (θ) | + w 2 * α xx * COS 2 (θ) + w 2 * α yy * SIN 2 (θ)) + w 1 * R 0 * L * Z * is a) = ζ 1 * Z + ζ 2 * Z 2 | (c x * | COS (θ) | + c y * | SIN (θ).

【0112】さて、サブツリーPのディレイをサブツリ
ーQのディレイに揃えるには、双方のディレイの中央値
の差 τ=0.5 *((Q) L (Q) S(P) L
(P) S ) が、δと等しくなればよいので、 ζ2 *Z2 +ζ1 *Z−τ=0 の解で正値の方、すなわち、
Now, in order to align the delay of the subtree P with the delay of the subtree Q, the difference τ = 0.5 * ( (Q) T L + (Q) T S(P) T L
(P) T S ) should be equal to δ, so the solution of ζ 2 * Z 2 + ζ 1 * Z−τ = 0 has a positive value, that is,

【数5】 となるように、移動位置を決定すれば良い。[Equation 5] The moving position may be determined so that

【0113】ここに、 ζ1 =w1 *L*((P) C(0) * (rx *|COS(θ) |+ry *|SIN(θ) |) +(cx *|COS(θ) |+cy *|SIN(θ)|)*R0 ) ζ2 =L2 *(w2 *αxx* COS2 (θ) +w1 *αxy*|COS(θ) |*|SIN(θ) | +w2 *αyy* SIN2 (θ)) である。[0113] Here, ζ 1 = w 1 * L * ((P) C (0) * (r x * | COS (θ) | + r y * | SIN (θ) |) + (c x * | COS (θ) | + cy * | SIN (θ) |) * R 0 ) ζ 2 = L 2 * (w 2 * α xx * COS 2 (θ) + w 1 * α xy * | COS (θ) | * | SIN (θ) | + w 2 * α yy * SIN 2 (θ)).

【0114】このようにすると、当該階層の各サブツリ
ーのディレイ中央値が同一となり、従って、当該階層の
サブツリーでのスキュー最大値が、当該階層以下の全体
としての最大スキュー値となる。なお、この階層でのデ
ィレイの最大値・最小値は、ひとつ上位の階層のサブツ
リーでのリーフノードの初期ディレイ値として設定され
る。
By doing so, the median delay values of the subtrees of the hierarchy become the same, and therefore, the maximum skew value in the subtree of the hierarchy becomes the maximum skew value of the entire hierarchy below the hierarchy. The maximum and minimum delay values in this hierarchy are set as the initial delay values of the leaf nodes in the subtree of the next higher hierarchy.

【0115】以上、第1の発明による第1実施例を詳述
したが、クラスタ内のディレイが全クラスタで同一であ
れば、全バイナリツリーにおいてスキューを限りなく0
に近くすることができる。また、もしクラスタ内のディ
レイにばらつきがあるとしても、第m階層のサブツリー
におけるリーフノードの初期ディレイを計算上0として
上記の処理を行えば、クラスタ内を除く部分でのスキュ
ーを限りなく0に近くできるので、トータルのスキュー
としては、クラスタ内スキューの最大値近傍に抑えるこ
とが可能である。
The first embodiment according to the first invention has been described above in detail. If the delays in a cluster are the same in all clusters, the skew will be infinitely 0 in all binary trees.
Can be close to. Even if the delays in the cluster vary, if the initial delay of the leaf node in the subtree of the m-th layer is calculated as 0 and the above process is performed, the skew in parts other than in the cluster will be infinitely 0. Since they can be close to each other, the total skew can be suppressed near the maximum value of the intra-cluster skew.

【0116】第2実施例 第1実施例では、バッファセル挿入段数が予め指定して
あることを前提にしていたが、最適な挿入段数を求める
ことも可能である。
Second Embodiment In the first embodiment, it was assumed that the number of buffer cell insertion stages was specified in advance, but it is also possible to find the optimum number of insertion stages.

【0117】それにはまず、各バッファセル種類ごとに
駆動させるサブツリーの深さの上限値の最大値aを求
め、このaをもとにバッファセル挿入段数の最小値NI
を求める。今、全体ツリーの深さをhとすると、NI は NI =h/a で与えられ、この計算は図1のステップ1で行なう。
First, the maximum value a of the upper limit values of the depth of the subtree to be driven is obtained for each buffer cell type, and the minimum value N I of the number of buffer cell insertion stages is calculated based on this a.
Ask for. Now, assuming that the depth of the entire tree is h, N I is given by N I = h / a, and this calculation is performed in step 1 of FIG.

【0118】次に、図1、図2のフローチャートに沿っ
て処理していくが、ステップ17では、第1実施例で述
べた判断処理のあと、バッファセル挿入段数が一段少な
かったときと比べてディレイ減少があるかどうかを調
べ、あればバッファセル挿入段数を一段ふやして以降の
処理を繰り返し、減少がなければステップ12から18
の処理を抜け出す、という判断処理を追加する。
Next, the processing is carried out in accordance with the flowcharts of FIGS. 1 and 2. In step 17, after the judgment processing described in the first embodiment, the number of buffer cell insertion steps is smaller than that when the number of steps is one. Whether or not there is a delay decrease is checked, and if there is a decrease, the number of buffer cell insertion steps is increased by one and the subsequent processing is repeated.
A judgment process of exiting the process of is added.

【0119】このように修正することで、ディレイ最小
となるバッファセル挿入段数を求めることができる。し
かも、バッファセル挿入段数は1段からしらみつぶしに
調べるのではなく、NI 段から始めるため、処理時間上
も効率が良い。
By making such a correction, the number of buffer cell insertion stages that minimizes the delay can be obtained. Moreover, the buffer cell insertion stages rather than examining the exhaustive from one stage to start from N I stage, the processing time efficient.

【0120】第2の発明 以下に、第2の発明による配線幅最適化手法について説
明する。説明のわかりやすさを考慮して、最初に完全対
称な径路における配線幅決定方法を述べ、次に一般的な
径路における配線幅決定方法を述べ、最後に実際のクロ
ック配線処理フローを述べる。
Second Invention The wiring width optimizing method according to the second invention will be described below. Considering the clarity of the explanation, the wiring width determination method in the completely symmetrical path will be described first, then the wiring width determination method in the general path will be described, and finally the actual clock wiring processing flow will be described.

【0121】(1)完全対称な径路の配線幅最適化 完全対称な径路とは、図10に示されるようなH字型径
路を再帰的に繰り返す形状を指す。
(1) Optimization of Wiring Width of Perfectly Symmetrical Path The completely symmetrical path means a shape in which an H-shaped path as shown in FIG. 10 is recursively repeated.

【0122】配線幅は、隣接する分岐点間径路上で一定
とし、分岐点は固定されているとする。理想としては、
配線幅を径路上の任意の地点で異なるように考えるほう
が良いが、それでは計算をいたずらに複雑にするだけで
あるので、ここでは前記の仮定をして近似最適解を求め
る。
It is assumed that the wiring width is constant on the path between adjacent branch points and the branch points are fixed. Ideally,
It is better to consider the wiring width to be different at any point on the path, but this only complicates the calculation unnecessarily, so here, the above-mentioned assumption is used to obtain an approximate optimal solution.

【0123】また、分岐点間径路においてHツリー上の
同一深さにある枝に対応するものは、同一の線幅を持つ
ものとする。これは、Hツリーの各リーフノードまでの
ディレイを揃えるため、すなわちクロックスキューを最
小化するための仮定である。このとき、このHツリーを
駆動しているドライバーセルの出力端子からツリーのリ
ーフノードまでのディレイTは、Elmoreの式により次の
ように表される。ただし、定係数部分は省略してある。
Further, in the inter-branch path, the branches corresponding to the same depth on the H-tree have the same line width. This is an assumption to make the delays to each leaf node of the H-tree uniform, that is, to minimize clock skew. At this time, the delay T from the output terminal of the driver cell driving the H-tree to the leaf node of the tree is expressed by the Elmore equation as follows. However, the constant coefficient part is omitted.

【0124】[0124]

【数6】 C(i) =2 * (C(i+1) + ci+1 *li+1 ) l2j-1=l2j=D * (1/2)j+1i =Hツリー上でルートからの深さがiである枝径路
の単位長あたりの抵抗 ci =Hツリー上でルートからの深さがiである枝径路
の単位長あたりの容量 li =Hツリー上でルートからの深さがiである枝径路
の配線長 C(i) =Hツリー上でルートからの深さがiである枝径
路より下流の容量和 Ron=ドライバーセルのオン抵抗 D =ツリー配線の対象となる正方形領域の一辺の長さ なおリーフノードには、通常、被駆動セルの入力端子容
量がつくが、配線容量に比べて小さいので、C(n) =0
とみなす。
[Equation 6] C (i) = 2 * (C (i + 1) + c i + 1 * l i + 1 ) l 2j-1 = l 2j = D * (1/2) j + 1 r i = H On tree Resistance per unit length of branch path having depth i from root c i = capacity per unit length of branch path having depth i from root l i = from root on H tree The wiring length of the branch path whose depth is i is C (i) = the capacitance sum on the H tree downstream from the branch path whose depth is i is Ron = the on resistance of the driver cell D = the target of the tree wiring The length of one side of the square area is usually equal to the input terminal capacitance of the driven cell at the leaf node, but since it is smaller than the wiring capacitance, C (n) = 0
To consider.

【0125】今、配線の厚みと層間絶縁膜厚が一定で、
隣接する並行配線間の容量が小さい(そのように充分な
スペーシングルールをとる)とすると、深さiにおける
単位長あたりの配線抵抗・容量は、 ri =ρ/Wi ρ:抵抗に関する定数 ci =ζ*(Wi +f) ζ:容量に関する定数 と表される。ここに、Wi は、深さiの配線幅とし、f
はフリンジ効果を表す。この式を数6に代入すると、T
は、Wi (i=1,2,…,n) の関数となる。従って、Tを最
小とする各Wi を求めるには、TのWi に対する偏微分
を求め、それらの連立方程式がゼロとなる解を求めれば
良い。
Now, if the wiring thickness and the interlayer insulating film thickness are constant,
Assuming that the capacitance between adjacent parallel wirings is small (taking such a sufficient spacing rule), the wiring resistance / capacitance per unit length at the depth i is r i = ρ / W i ρ: constant related to resistance c i = ζ * (W i + f) ζ: A constant related to the capacity. Here, W i is the wiring width of depth i, and f
Represents the fringe effect. Substituting this equation into Equation 6, T
Is a function of W i (i = 1,2, ..., n). Therefore, in order to determine each W i to minimize T, calculated partial derivatives with respect to W i T, then it may be determined a solution thereof simultaneous equations become zero.

【0126】この偏微分は、次のようになる。The partial differentiation is as follows.

【0127】[0127]

【数7】 よって、Gi =0(i=1,2,…, n)という連立方程式の解
を求めれば良いのだが、Gi =0とならない場合や、そ
の解Wi が標準線幅sより小さくなる場合もありうる。
しかし、C(i) がWi の一次関数であることから、Gi
は、 Gi = −A1*( Wi +A2 ) /W i 2 +A3 A1,A2,A3 :Wj (j ≠i)の関数で正値 と表され、しかも、 G i’=A1*( 1/W i 2 +2* A2 /W i 3 )>0 すなわち、Gi はWi に対して単調増加関数になってい
るので、Gi =0となる極小解Wi は高々ひとつしかな
い。意味のある解が得られるのは、Wi =sのときにG
i ≦0となる場合であり、逆に、Wi =sのときにGi
>0となる場合は、Wi ≧sでGi =0となる解が存在
せずTが単調増加となるので、Tの最小値はWi =sの
ときとなる。
[Equation 7] Therefore, the solution of the simultaneous equation G i = 0 (i = 1,2, ..., n) should be obtained, but when G i = 0 is not satisfied or the solution W i becomes smaller than the standard line width s. There may be cases.
However, since C (i) is a linear function of W i , G i
Is expressed as a positive value by a function of G i = -A1 * (W i + A2) / W i 2 + A3 A1, A2, A3: W j (j ≠ i), and G i '= A1 * (1 / W i 2 + 2 * A2 / W i 3)> 0 in other words, since the G i is in a monotonically increasing function with respect to W i, G i = 0 to become a local minimum W i is only at most one. A meaningful solution can be obtained by G when W i = s
This is the case where i ≦ 0, and conversely, when W i = s, G i
When> 0, there is no solution that satisfies W i ≧ s and G i = 0, and T increases monotonically, so the minimum value of T is when W i = s.

【0128】これらのことから、Tの最小値を求める問
題は、厳密には次のように定式化される。
From these facts, the problem of finding the minimum value of T is rigorously formulated as follows.

【0129】minimize|Gi | for all i subject to Wi ≧s すなわち、どの深さiの配線幅をとっても、ディレイ最
小となる配線幅を求める。このときの制約条件は、標準
配線幅以上である。
Minimize | G i | for all i subject to W i ≧ s That is, the wiring width that minimizes the delay is obtained regardless of the wiring width of any depth i. The constraint condition at this time is not less than the standard wiring width.

【0130】次に、この問題の解を具体例をあげて説明
する。
Next, the solution to this problem will be described with a specific example.

【0131】今、n=3、f=s、sRon/ ρD=0.
0537、とすると、上記問題の解は、 W1 =4.6
5*s、W2 =1.4*s、W3 =sとなる。このとき
のTは、 T=0.693*ρζD2 となる。
Now, n = 3, f = s, sRon / ρD = 0.
0537, the solution to the above problem is W 1 = 4.6
5 * s, W 2 = 1.4 * s, and W 3 = s. At this time, T is T = 0.693 * ρζD 2 .

【0132】ちなみに、配線幅が一定という条件、すな
わちW1 =W2 =W3 のときのTの最小値は、 T=0.97*ρζD2 となるので、第2の発明のように分岐点間を結ぶ枝配線
径路毎に配線幅を決定した方が、ディレイをより小さく
できる。
By the way, the condition that the wiring width is constant, that is, the minimum value of T when W 1 = W 2 = W 3 is T = 0.97 * ρζD 2 The delay can be made smaller by determining the wiring width for each branch wiring path connecting the points.

【0133】 (2)一般的な径路における配線幅決定方法 一般的な2分木型径路は非対称な径路であるが、この場
合の最適配線幅の決定も前述の方法にならって行うこと
ができる。ただし、ここでも配線幅は隣接する分岐点間
径路上で一定とし、分岐点は固定とする。また、分岐点
間径路においてツリー上の同一深さにある枝に対応する
ものは、同一の線幅をもつものとする。ツリーを駆動し
ているドライバーセルの出力端子からツリーのリーフノ
ードまでのディレイは、ツリーが非対称形であるのでリ
ーフノード毎に異なる。そこで、ディレイ最小とするに
は、最大のディレイをもつ径路パスを見つけ、そのパス
ディレイを最小化するように配線幅を決定し、他の経路
の配線幅はこれに合せる。
(2) Wiring Width Determining Method in General Pathway Although a general binary tree type path is an asymmetrical path, the optimum wiring width in this case can also be determined according to the method described above. . However, also here, the wiring width is fixed on the path between the adjacent branch points, and the branch points are fixed. Further, in the path between the branch points, the branches corresponding to the branches at the same depth on the tree have the same line width. The delay from the output terminal of the driver cell driving the tree to the leaf node of the tree is different for each leaf node because the tree is asymmetric. Therefore, in order to minimize the delay, a path path having the maximum delay is found, the wiring width is determined so as to minimize the path delay, and the wiring widths of the other paths are matched with this.

【0134】今、そのディレイをTmax とすると、Tma
x は、前述と同様にして Tmax =Tmax (W1 ,W2 ,…,Wn ) のように、Wi の関数となる。よって、Tmax の最小値
を求める問題は、前述と同様にして以下のように定式化
される。
Now, assuming that delay is Tmax, Tma
x becomes a function of W i like Tmax = Tmax (W 1 , W 2 , ..., W n ) in the same manner as described above. Therefore, the problem of finding the minimum value of Tmax can be formulated as follows in the same manner as described above.

【0135】 minimize |∂Tmax /∂Wi | for all i subject to Wi ≧s この解の求める方法については、前述と同じである。な
お、もしも図11のように径路ツリーの最初の分岐点4
5からドライバーセル46まで長い径路が存在する場合
は、この部分の配線幅をWO として上記と同様にTmax
の計算式を求め、上記の定式化をそのまま利用して最適
配線幅を計算することができる。
Minimize | ∂Tmax / ∂W i | for all i subject to W i ≧ s The method for obtaining this solution is the same as described above. In addition, if the first branch point 4 of the path tree as shown in FIG.
When there is a long path from 5 to the driver cell 46, the wiring width of this portion is set to W O and Tmax is the same as above.
Then, the optimum wiring width can be calculated by using the above formula as it is.

【0136】(3)クロック配線処理フロー 以下では、実際のクロック配線をするための処理フロー
について説明する。
(3) Clock Wiring Processing Flow A processing flow for actual clock wiring will be described below.

【0137】クロック配線では、スキューを小さくする
ように径路分岐点を決定するが、その際には配線幅がわ
かっている必要があり、また、ディレイを小さくするよ
うに配線幅を決定するためには径路分岐点がわかってい
る必要がある。このことから、スキューおよびディレイ
の最小となる径路分岐点と配線幅を同時に決定すること
は難しい。そこで、一方を固定して他方を最適化する処
理を繰り返し、ディレイが収束したときの径路を採用す
る。
In the clock wiring, the path branch point is determined so as to reduce the skew, but the wiring width needs to be known at that time, and the wiring width is determined so as to reduce the delay. Needs to know the path bifurcation. For this reason, it is difficult to simultaneously determine the path branch point and the wiring width that minimize the skew and the delay. Therefore, the process of fixing one and optimizing the other is repeated, and the path when the delay converges is adopted.

【0138】図12は、この処理を示すフローチャート
である。ただし、径路のトポロジー(ツリー構造)は、
予め別の方法により決定されているとする。
FIG. 12 is a flow chart showing this processing. However, the topology of the path (tree structure) is
It is assumed that it is determined in advance by another method.

【0139】まず、ステップ41において、対称径路と
仮定したときの分岐点を求める。これは、配線径路の初
期解を意味する。
First, in step 41, a branch point is calculated assuming a symmetrical path. This means the initial solution of the wiring path.

【0140】次のステップ42では、径路分岐点の位置
を固定して配線幅を最適化する。これには、前述の最適
化方法を用いる。
In the next step 42, the position of the path branch point is fixed and the wiring width is optimized. For this, the above-described optimization method is used.

【0141】ステップ43では、径路ツリーの各枝の配
線幅をステップ42で決定した値に固定して、スキュー
最小となるように径路分岐点を求め直す。この方法につ
いては、特開平3-137851の手法を基本とする。
In step 43, the wiring width of each branch of the path tree is fixed to the value determined in step 42, and the path branch point is recalculated so as to minimize the skew. This method is based on the method disclosed in Japanese Patent Laid-Open No. 3-137851.

【0142】次のステップ44の判定処理では、配線幅
の変化分が許容誤差範囲内にあり、かつ最大パスディレ
イの変化分も許容誤差範囲内にあるか、という収束判定
を行う。収束していなければステップ42の処理に戻
り、収束していれば処理を終了する。
In the next judgment processing of step 44, a convergence judgment is made as to whether the variation of the wiring width is within the allowable error range and the variation of the maximum path delay is also within the allowable error range. If it has not converged, the process returns to step 42, and if it has converged, the process ends.

【0143】なお、初期解としては、別の方法で設定す
ることも可能である。たとえば、最初に配線幅を初期設
定して、その条件でスキュー最小の径路分岐点を求め、
これを初期解としても良い。この際、s≦Wi ≦max (
s,Wi-1 /2.5) となるように、すなわち当該経路より
ひとつ上位階層側の経路の平均配線幅Wi-1 の0.4倍
の数値と一般信号用の標準配線幅sとを比べたときの大
きい方の数値以下となるように配線幅を決定すれば、収
束するまでの処理時間を短くすることができる。
The initial solution may be set by another method. For example, first set the wiring width first, and find the path branch point with the minimum skew under that condition.
This may be used as the initial solution. At this time, s ≦ W i ≦ max (
s, W i-1 /2.5), that is, a value that is 0.4 times the average wiring width W i-1 of the route one level higher than the route and the standard wiring width s for general signals. If the wiring width is determined so as to be less than or equal to the larger value when compared, the processing time until convergence can be shortened.

【0144】また、この配線幅の決定方法は、今回の実
施例に拘らず、2分木型配線径路構造における配線幅決
定の際に適用可能である。
Further, this wiring width determining method can be applied to the wiring width determination in the binary tree type wiring path structure regardless of the present embodiment.

【0145】第3の発明以下に第3の発明による自動配
線方法を集積回路の自動配線の計算機プログラムに適用
した実施例を説明する。
Third Invention An embodiment in which the automatic wiring method according to the third invention is applied to a computer program for automatic wiring of an integrated circuit will be described below.

【0146】配線領域の輪郭は全て垂直及び水平の線分
からなる。但し斜め線分を用いる場合でも本発明は適用
可能である。また、本発明は逐次配線を前提としてお
り、既に配線がなされていて新規な配線が禁止されてい
る領域は、配線禁止領域として登録されているものとす
る。この実施例では配線領域は1層であるが、もちろん
多層配線領域においても本発明は有効である。
The outline of the wiring area is composed of vertical and horizontal line segments. However, the present invention can be applied even when an oblique line segment is used. Further, the present invention is premised on sequential wiring, and an area where wiring has already been made and new wiring is prohibited is registered as a wiring prohibited area. In this embodiment, the wiring area is one layer, but the present invention is of course effective in a multilayer wiring area.

【0147】各配線要求は探索開始点(以後単に開始点
と記す)と探索終了点(以後単に終了点と記す)の2点
で与えられる。以降では、与えられた2点間のテーパ配
線径路の探索に注目して説明をする。
Each wiring request is given at two points: a search start point (hereinafter simply referred to as a start point) and a search end point (hereinafter simply referred to as an end point). In the following, the search will be focused on the search for the tapered wiring path between two given points.

【0148】まず、新たな配線領域を探索する際の、配
線幅の求め方を以下に説明する。
First, how to obtain the wiring width when searching for a new wiring area will be described below.

【0149】この発明においては、図13に示すよう
に、テーパ配線81の配線幅の小さい端が開始点Sであ
り、配線幅の大い端が終了点Tである。径路探索はSか
らTに向けて行われる。
In the present invention, as shown in FIG. 13, the end of the tapered wiring 81 with the smaller wiring width is the starting point S, and the end with the larger wiring width is the ending point T. The route search is performed from S to T.

【0150】S,Tにおける配線幅を各々Ws ,Wt
する。
The wiring widths in S and T are W s and W t , respectively.

【0151】ここで、径路長を軸にとり、Sを0、Tを
1とした時、S〜T間の点X(0≦X≦1)における配
線幅(Wx )を決定できる特定の関数(Width
(X))が与えられているものとする。さらに、配線中
にくびれは存在しないものとする。つまり、次の式が成
り立つ。
Here, with a path length as an axis, and S is 0 and T is 1, a specific function that can determine the wiring width (W x ) at a point X (0 ≦ X ≦ 1) between S and T (Width
(X)) is given. Furthermore, it is assumed that there is no constriction in the wiring. In other words, the following equation holds.

【0152】S〜T間の任意の点A,B(0≦A≦B≦
1)について、常に Wa ≦Wb (1) S〜T間の点Xについて、S〜X間の径路長をLsx,X
〜T間の径路長をLxtとすると、Xの値は次の式で表さ
れる。
Arbitrary points A and B between S and T (0≤A≤B≤
For 1), always W a ≦ W b (1) For the point X between S and T, the path length between S and X is L sx , X
When the path length between T and T is L xt , the value of X is expressed by the following equation.

【0153】X=Lsx/(Lsx+Lxt) (2) 従ってXにおける配線幅Wx (=Width(X))も
求められる。
X = L sx / (L sx + L xt ) (2) Therefore, the wiring width W x (= Width (X)) at X can also be obtained.

【0154】しかし、この時Lsxは既に探索した領域内
で求められるので正確な値が得られるが、Lxtについて
はX〜T間の径路が決定していないので正確な値を計算
することができない。そこで、Lxtについては、X〜T
間のマンハッタン距離(水平径路及び垂直径路のみを用
いた最短径路長)Mxtを用いることにすれば、結果とし
てWx の近似値が求められる。
However, at this time, L sx is obtained within the already searched area, so an accurate value can be obtained, but since the path between X and T has not been determined for L xt , an accurate value must be calculated. I can't. Therefore, for L xt , X to T
If the Manhattan distance between them (the shortest path length using only the horizontal path and the vertical path) M xt is used, an approximate value of W x can be obtained as a result.

【0155】LxtとMxtの間には常に以下の式が成り立
つ。
The following formula always holds between L xt and M xt .

【0156】Lxt≧Mxt (3) Mxtを用いて求められたXの値をXm とすると、Xm
以下の式で表される。 Xm =Lsx/(Lsx+Mxt) (4) この時、式(3)より以下の式が成り立つ。
[0156] When L xt ≧ M xt (3) the value of X obtained by using the M xt and X m, X m is expressed by the following equation. X m = L sx / (L sx + M xt ) (4) At this time, the following equation holds from the equation (3).

【0157】Xm =Lsx/(Lsx+Mxt) ≧Lsx/(Lsx+Lxt)=X (5) 式(5)より、常に以下の式が成り立つ。X m = L sx / (L sx + M xt ) ≧ L sx / (L sx + L xt ) = X (5) From the expression (5), the following expression is always satisfied.

【0158】Xm ≧X (6) ここで式(1),(6)より、 Width(Xm )≧Width(X) (7) であるから、配線の際にWidth(Xm )を保証して
いれば、最終的に得られた配線が設計規則を犯すことは
ない。また、Lxt=Mxtの場合はXm =Xであるから、
最適な配線幅が得られることになる。以後、Width
(Xm )を“必要配線幅”と呼ぶことにする。
X m ≧ X (6) Here, from Expressions (1) and (6), Width (X m ) ≧ Width (X) (7), so that Width (X m ) is guaranteed at the time of wiring. If so, the finally obtained wiring does not violate the design rules. Further, when L xt = M xt , X m = X.
The optimum wiring width can be obtained. After that, Width
(X m ) will be referred to as a “required wiring width”.

【0159】既に述べた通りSからTへの探索の際には
Width(Xm )をもとに径路探索を行う。径路発見
後の逆追跡の段階ではLsx,Lxtともに正確な値が計算
可能であるから、Width(X)を用いて正確な配線
幅を決定し、最終的な配線径路が得られることになる。
As described above, when searching from S to T, a path search is performed based on Width (X m ). Since accurate values for both L sx and L xt can be calculated in the step of reverse tracing after finding the path, it is necessary to determine the accurate wiring width using Width (X) and obtain the final wiring path. Become.

【0160】また、2層以上の配線ではビアが存在する
が、Lsxに関してはビアを相当する径路長に換算して計
算を行い、一方Mxtには必要最小限のビアに相当する径
路長を加算することにより、ビアを考慮した必要配線幅
が得られる。
Although there are vias in the wiring of two or more layers, L sx is calculated by converting the vias into the corresponding path lengths, while M xt has the path lengths corresponding to the minimum required vias. By adding, the required wiring width considering the via can be obtained.

【0161】第1実施例 第3の発明による配線方法を迷路法に適用した場合の実
施例を、図14,15を参照しながら説明する。本実施
例では、格子に区切られた矩形ひとつひとつを“セル”
と呼ぶ。開始点、終了点は1個ないし複数のセルから構
成される。
First Embodiment An embodiment in which the wiring method according to the third invention is applied to the maze method will be described with reference to FIGS. In this embodiment, each rectangle divided into a grid is a "cell".
Call. The start point and the end point are composed of one or a plurality of cells.

【0162】図14は第3の発明による配線方法を迷路
法に適用した場合のフローチャートである。図中、開始
点を含むセルをヒープに挿入するステップ51、ヒープ
からセルを1個取り出すステップ52、終了点を発見し
たか否かを確認するステップ55、新しくラベル付けし
たセルをヒープへ挿入するステップ56、逆追跡をして
径路を得るステップ57は、従来の迷路法と同じ手順で
ある。
FIG. 14 is a flow chart when the wiring method according to the third invention is applied to the maze method. In the figure, step 51 of inserting a cell including the start point into the heap, step 52 of extracting one cell from the heap, step 55 of checking whether the end point has been found, and insertion of a newly labeled cell into the heap. Step 56 and step 57 of performing reverse tracking to obtain a path are the same procedures as in the conventional maze method.

【0163】一方、取り出されたセルにおける必要配線
幅を計算するステップ53、取り出されたセルと必要配
線幅を満たして隣接するセルを認識するステップ54が
第3の発明の特徴であり、この手順により、テーパ配線
を効率的に行うことが可能である。
On the other hand, the step 53 of calculating the necessary wiring width in the taken out cell and the step 54 of recognizing the adjoining cell satisfying the necessary wiring width with the taken out cell are the features of the third invention. Thus, taper wiring can be efficiently performed.

【0164】実際の配線例を図15によって示す。ここ
で、開始点をS、終了点をTとし、配線幅は関数Wid
th(X)={1(1−X)+3Xの四捨五入}で表さ
れるものとする。配線領域内において、Sはセル1×1
の大きさを、Tはセル3×3の大きさを占める。また、
必要配線幅を求める際の径路132の長さはセルの数を
元にしたマンハッタン距離とし、Tとの間の距離はTの
中心のセルとの距離であるものとする。なお、配線領域
内には、配線禁止領域141があるものとする。
An actual wiring example is shown in FIG. Here, the starting point is S, the ending point is T, and the wiring width is the function Wid.
th (X) = {1 (1-X) + 3X rounding}. In the wiring area, S is a cell 1 × 1
, T occupies the size of the cell 3 × 3. Also,
It is assumed that the length of the path 132 when obtaining the required wiring width is the Manhattan distance based on the number of cells, and the distance to T is the distance to the cell at the center of T. It is assumed that there is a wiring prohibited area 141 in the wiring area.

【0165】配線領域内に設定された格子内を、図15
(a)中の網掛けのように、SからTへ探索していく。
ここで探索途中の点Xを考え、この点Xを含む新たな配
線領域(この実施例の場合は各セル)における必要配線
幅の求め方を説明する。
The inside of the grid set in the wiring area is shown in FIG.
As in the shaded area in (a), the search is performed from S to T.
Here, considering a point X in the middle of the search, a method of obtaining a necessary wiring width in a new wiring area (each cell in this embodiment) including this point X will be described.

【0166】図15(a)では、既に得られている配線
径路131の径路長はLsx=7、XからTまでの径路1
33の径路長はLxt=20であるが、探索がXまでしか
行われていない状態では正しいLxtの値を求めることは
不可能である。そこでMxt=18の値を使用し、これを
基にXm を計算すると、Xm =7/(7+18)=0.
28となる。よってWidth(Xm )の値は、1(1
−Xm )+3Xm =1.56の四捨五入で2となるか
ら、Xにおける必要配線幅は2となる。
In FIG. 15A, the path length of the wiring path 131 already obtained is L sx = 7, and the path 1 from X to T is 1.
The path length of 33 is L xt = 20, but it is impossible to find the correct value of L xt when the search is performed up to X. Therefore, when the value of M xt = 18 is used and X m is calculated based on this, X m = 7 / (7 + 18) = 0.
28. Therefore, the value of Width (X m ) is 1 (1
The required wiring width at X is 2 because the value is rounded to -X m ) + 3X m = 1.56.

【0167】よって、Xにおける必要配線幅がセル2つ
分であるから、X以降のラベル付けはセル2つを単位と
して行うことになる。
Therefore, since the required wiring width in X is two cells, labeling after X is performed in units of two cells.

【0168】SからTまでの探索終了後、Tからの逆追
跡の過程で正しい配線幅を決定し、最終的な径路134
が得られる(図15(b)参照)。
After the search from S to T is completed, the correct wiring width is determined in the process of reverse tracing from T, and the final path 134 is obtained.
Is obtained (see FIG. 15 (b)).

【0169】第2実施例 第3の発明による配線方法を線分展開法に適用した場合
の実施例を図16,17を参照しながら説明する。
Second Embodiment An embodiment in which the wiring method according to the third invention is applied to the line segment expansion method will be described with reference to FIGS.

【0170】図16は第3の発明による配線方法を線分
展開法に適用した場合のフローチャートである。図中、
開始点を含む補助線分を配線領域内に発生しヒープに挿
入するステップ61、ヒープから補助線分を1個取り出
し、配線領域内で展開するステップ62、終了点を発見
したか否かを確認するステップ63、逆追跡をして径路
を得るステップ66は、従来の線分展開法と同じ手順で
ある。
FIG. 16 is a flow chart when the wiring method according to the third invention is applied to the line segment expansion method. In the figure,
Step 61 of generating an auxiliary line segment including the start point in the wiring area and inserting it into the heap, step 62 of extracting one auxiliary line segment from the heap and expanding it in the wiring area, and confirming whether the end point has been found The step 63 to perform and the step 66 to obtain the path by performing the reverse tracking are the same procedures as the conventional line segment expansion method.

【0171】一方、展開された領域における必要配線幅
を計算するステップ64、新しい補助線分のうち必要配
線幅を満たすもののみヒープに挿入するステップ65が
第3の発明の特徴であり、この手順により、テーパ配線
を効率的に行うことが可能である。
On the other hand, the step 64 of calculating the required wiring width in the expanded area and the step 65 of inserting only the new auxiliary line segment satisfying the required wiring width into the heap are the features of the third invention. Thus, taper wiring can be efficiently performed.

【0172】実際の配線例を図17によって示す。開始
点をS、終了点をTとし、双方における配線幅は各々W
s ,Wt とする。S〜T間の点Xにおける配線幅は式W
idth(X)=Ws (1−X)+Wt Xで求めること
ができるものとする。
An actual wiring example is shown in FIG. The starting point is S and the ending point is T, and the wiring widths of both are W respectively.
Let s and W t . The wiring width at the point X between S and T is expressed by the formula W
idth (X) = W s ( 1-X) + W be assumed that can be obtained by t X.

【0173】配線領域内で補助線分を展開し、太い矢印
で示したようにSからTへ探索していく。ここで探索途
中の点Xを考え、この点Xを含む新たな配線領域(この
実施例の場合は各線分展開領域)における必要配線幅を
求め、新しい補助線分を発生させる方法を説明する。
Auxiliary line segments are expanded in the wiring area and searched from S to T as indicated by a thick arrow. Here, a method of generating a new auxiliary line segment by considering a point X in the middle of a search and obtaining a necessary wiring width in a new wiring area including the point X (in this embodiment, each line segment development area) will be described.

【0174】図17(a)で、142で示される線分展
開によって既に配線径路131が得られており、新たに
発生できる補助線分の候補は図中のX1 ,X2 である。
In FIG. 17A, the wiring path 131 has already been obtained by the line segment expansion indicated by 142, and the candidate auxiliary line segments that can be newly generated are X 1 and X 2 in the figure.

【0175】X1 ,X2 における必要配線幅を、マンハ
ッタン径路132を用いて見積った時、ST間において
1 はSに近いが、X2 はむしろTに近くなっている。
テーパ配線が、Sに近いほど必要配線幅が小さくなるこ
とを考えると、X1 における必要配線幅はX2 での必要
配線幅よりも小さくなる。
When the required wiring widths at X 1 and X 2 are estimated using the Manhattan path 132, X 1 is close to S between ST, but X 2 is close to T.
Considering that the required wiring width becomes smaller as the tapered wiring becomes closer to S, the required wiring width at X 1 becomes smaller than the required wiring width at X 2 .

【0176】ここで、図17(a)のように、X1 の位
置へは新しい補助線分を発生できるが、X2 へは新しい
補助線分を設計規則上発生できないものとすれば、これ
により、X1 を通過してS→Tの径路探索が行われる。
Here, as shown in FIG. 17A, assuming that a new auxiliary line segment can be generated at the position of X 1 , but a new auxiliary line segment cannot be generated at X 2 , according to the design rule, this is Thus, a path search of S → T is performed through X 1 .

【0177】SからTまでの探索終了後、正しい配線幅
を決定しながらTから逆追跡し、最終的な径路134が
得られる(図17(b)参照)。図の135で示される
径路はX2 を通過させた際のテーパ配線径路の例である
が、電気信号の伝搬遅延の最小化を第一に考えてテーパ
配線の形状を決定すると、X2 の位置で配線禁止領域4
1との間の最小間隔が守れなくなってしまう。
After the search from S to T is completed, the trace is traced back from T while determining the correct wiring width, and the final path 134 is obtained (see FIG. 17B). Path indicated by 135 in the figure is an example of a tapered wire path when passed through the X 2 but, when determining the shape of the tapered wire to minimize the propagation delay of the electrical signal to think first, the X 2 Wiring prohibited area 4 at the position
The minimum interval between 1 and 1 cannot be kept.

【0178】[0178]

【発明の効果】以上詳細したように第1の発明によれ
ば、等ディレイとなるようにバランスをとる分岐点を各
階層のサブツリーにおいて求めることができ、階層間に
またがるディレイの差もバッファセルの位置の調整およ
び当該セル近傍での迂回配線の追加によりバランスさせ
られる。このため、高精度にかつ最小にスキューを抑え
たクロック信号を分配することができると共に、ディレ
イの最小化も達成できる。また、第2の発明によれば、
ゼロに近いスキュー値、および最小のディレイ値を持つ
ようなクロック配線径路を得ることができる。特に、デ
ィレイについては、同一ネット内で単一の配線幅を使用
してディレイを最小化する場合に比べて、配線によるデ
ィレイを20から30%程度削減することができる。
As described above in detail, according to the first aspect of the present invention, branch points for balancing so as to have equal delays can be obtained in the subtrees of each layer, and the difference in delays between layers can be obtained in the buffer cell. It is balanced by adjusting the position of and the addition of bypass wiring near the cell. Therefore, it is possible to distribute the clock signal with high accuracy and minimize the skew, and also to minimize the delay. According to the second invention,
It is possible to obtain a clock wiring path having a skew value close to zero and a minimum delay value. In particular, regarding the delay, the delay due to the wiring can be reduced by about 20 to 30% as compared with the case where the delay is minimized by using a single wiring width within the same net.

【0179】さらに、第3の発明によれば、テーパ配線
を行う際に、配線幅の小さい端から大きい端への径路探
索の過程で配線幅を随時計算しながら配線している。こ
れにより、配線領域を一度探索するのみで、設計規則を
犯さずに配線幅を考慮したテーパ配線を短時間で得るこ
とが可能である。
Further, according to the third invention, when the tapered wiring is performed, the wiring width is calculated while the wiring width is calculated at any time in the process of searching the path from the end having the small wiring width to the end having the large wiring width. As a result, it is possible to obtain the tapered wiring in consideration of the wiring width in a short time without violating the design rule by only searching the wiring area once.

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

【図1】第1の発明の第1実施例における全体処理手順
を示すフローチャートである。
FIG. 1 is a flowchart showing an overall processing procedure in a first embodiment of the first invention.

【図2】第1の発明の第1実施例におけるバイナリツリ
ー形成の処理手順を示すフローチャートである。
FIG. 2 is a flowchart showing a processing procedure for forming a binary tree in the first embodiment of the first invention.

【図3】第1の発明の第1実施例におけるツリー内の分
岐点位置決定の処理手順を示すフローチャートである。
FIG. 3 is a flowchart showing a processing procedure for determining a branch point position in a tree in the first embodiment of the first invention.

【図4】サブツリーの構造例を示す簡略図である。FIG. 4 is a simplified diagram showing an example of the structure of a subtree.

【図5】折れ曲り形状の異なる配線パターン例を示す経
路図である。
FIG. 5 is a route diagram showing an example of a wiring pattern having different bent shapes.

【図6】サブツリー内の分岐点位置決定方法を説明する
ための概念図である。
FIG. 6 is a conceptual diagram for explaining a branch point position deciding method in a subtree.

【図7】バッファセルが多段挿入されたツリー構造例を
示す簡略図である。
FIG. 7 is a simplified diagram showing an example of a tree structure in which buffer cells are inserted in multiple stages.

【図8】バッファセル配置位置の初期設定状態を示す配
置図である。
FIG. 8 is a layout diagram showing an initial setting state of buffer cell layout positions.

【図9】バッファセル配置位置の修正後の状態を示す配
置図である。
FIG. 9 is a layout diagram showing a state after the buffer cell layout position is corrected.

【図10】第2の発明に係わるHツリーの配線構造例を
示す図である。
FIG. 10 is a diagram showing an example of an H-tree wiring structure according to a second invention.

【図11】第2の発明に係わる一般的なクロックのツリ
ー配線構造を示す図である。
FIG. 11 is a diagram showing a general clock tree wiring structure according to a second invention.

【図12】第2の発明の処理フローを示す図である。FIG. 12 is a diagram showing a processing flow of the second invention.

【図13】一般的なテーパ配線の形状例及び、配線幅、
径路長の定義を表す図である。
FIG. 13 shows a typical taper wiring shape example, wiring width,
It is a figure showing the definition of a path length.

【図14】第3の発明による自動配線方法を迷路法に適
用した一実施例の処理手順を表したフローチャートであ
る。
FIG. 14 is a flowchart showing a processing procedure of an embodiment in which the automatic wiring method according to the third invention is applied to the maze method.

【図15】第3の発明による自動配線を迷路法に適用し
た際に径路が得られる様子を表す図である。
FIG. 15 is a diagram showing how a path is obtained when the automatic wiring according to the third invention is applied to the maze method.

【図16】第3の発明による自動配線方法を線分展開法
に適用した一実施例の処理手順を表したフローチャート
である。
FIG. 16 is a flowchart showing a processing procedure of an embodiment in which the automatic wiring method according to the third invention is applied to the line segment expansion method.

【図17】第3の発明による自動テーパ配線を線分展開
法に適用した際に径路が得られる様子を表す図である。
FIG. 17 is a diagram showing how a path is obtained when the automatic taper wiring according to the third invention is applied to the line segment expansion method.

【図18】第1の発明に関する、配線抵抗を分布定数的
に扱うときの等価回路を表す図である。
FIG. 18 is a diagram illustrating an equivalent circuit when the wiring resistance is treated in a distributed constant manner according to the first invention.

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

26 バッファセル 27 サブツリーの分岐ノード 28 サブツリーのリーフノード 29 サブツリーの親ノード 30 サブツリーの子ノード 31 ルートドライバーセル 32 チップ領域 33 第m段のバッファセル 34 第(m−1)段で最大ディレイをもつバッファセ
ル 35 第(m−1)段で最大ディレイではないバッファ
セル 45 ドライバーセル 46 分岐点 81 テーパ配線の形状例 131 S,X間の既に得られた径路 132 マンハッタン径路 133 X,T間の径路 134 最終的に得られた径路 135 設計規則違反の径路 141 配線禁止領域 142 既に探索した領域
26 buffer cell 27 branch node of subtree 28 leaf node of subtree 29 parent node of subtree 30 child node of subtree 31 root driver cell 32 chip area 33 buffer cell at m-th stage 34 having maximum delay at the (m-1) -th stage Buffer cell 35 Buffer cell that is not the maximum delay at the (m-1) th stage 45 Driver cell 46 Branching point 81 Tapered wiring shape example 131 Already obtained path between S and X 132 Manhattan path 133 Path between X and T 134 finally obtained path 135 path of design rule violation 141 wiring prohibited area 142 already searched area

Claims (6)

【特許請求の範囲】[Claims] 【請求項1】 半導体基板上に置かれたルートドライバ
ーセルから中継用バッファセルを経由して複数個の末端
セルにクロック信号を供給する際に、 当該末端セルを少なくとも1個以上含むクラスタを生成
し前記末端セルを複数のグループに分け、 前記ルートドライバーセルをルートノードとし前記クラ
スタをリーフノードとするバイナリツリー状の配線径路
を生成し、 中継用バッファセルが駆動するサブツリーの深さにおい
て、ある深さ以上になると後段に別の中継用バッファセ
ルを挿入した場合の方が、当該サブツリー深さより下流
側のあらゆる地点での遅延時間を小さくできる前記サブ
ツリーの深さを求め、当該サブツリーの深さを上限とし
て前記バイナリツリー上のクロック信号伝搬遅延時間が
最小化される部位に当該中継用バッファセルを挿入した
のち、 バイナリツリーの下位分岐ノードから順に、当該分岐ノ
ードより前記リーフノードにいたる径路のRC遅延量を
計算してその差が最小となるように当該分岐ノードの物
理的位置を設定し、 前記中継用バッファセルの挿入に伴う回路接続情報の更
新およびこのバッファセル近傍のセル配置情報を修正し
てセル同士の重なりを除去し、確定した配置情報にもと
づいて各クラスタ内の詳細な配線径路を決定し、 決定された配線径路から求まるクラスタ内の正確な遅延
量にもとづいて各分岐ノードの位置を決定し、その分岐
ノード間の詳細な配線径路を決定することを特徴とする
集積回路の自動配線方法。
1. When a clock signal is supplied from a root driver cell placed on a semiconductor substrate to a plurality of end cells via a relay buffer cell, a cluster including at least one end cell is generated. Then, the terminal cells are divided into a plurality of groups, a binary tree-like wiring path is generated with the root driver cell as a root node and the cluster as a leaf node, and at a depth of a subtree driven by a relay buffer cell, When the depth is more than the depth, the case of inserting another relay buffer cell in the subsequent stage is to find the depth of the subtree that can reduce the delay time at any point on the downstream side of the subtree depth, and the depth of the subtree. With the upper limit as the upper limit, the relay buffer is located at a portion of the binary tree where the clock signal propagation delay time is minimized. After inserting the cell, calculate the RC delay amount of the path from the branch node to the leaf node in order from the lower branch node of the binary tree, and set the physical position of the branch node so that the difference is minimized. Then, the circuit connection information is updated with the insertion of the relay buffer cell and the cell placement information in the vicinity of this buffer cell is corrected to remove the overlap between cells, and detailed information in each cluster based on the determined placement information. An integrated circuit characterized by deciding the wiring path, deciding the position of each branch node based on the accurate delay amount in the cluster obtained from the decided wiring path, and deciding the detailed wiring path between the branch nodes. Circuit automatic wiring method.
【請求項2】 2分木型の配線径路構造において、隣接
する分岐点間の径路の配線幅をパラメータとする配線デ
ィレイ関数を求め、さらに各配線幅パラメータに対する
当該ディレイの偏導関数をそれぞれ求め、各配線幅パラ
メータが標準配線幅以上という制約範囲において、前記
偏導関数の絶対値がそれぞれ最小となるように各配線幅
を決定することを特徴とする集積回路の自動配線方法。
2. In a binary tree type wiring path structure, a wiring delay function having a wiring width of a path between adjacent branch points as a parameter is obtained, and partial derivatives of the delay with respect to each wiring width parameter are further obtained. An automatic wiring method for an integrated circuit, wherein each wiring width is determined so that the absolute value of the partial derivative is minimized within a constraint range in which each wiring width parameter is equal to or larger than the standard wiring width.
【請求項3】 2分木型配線径路のトポロジー構造が予
め決定されているとき、隣接する分岐点間の径路の各配
線幅を固定して各分岐点から下流側のディレイが釣り合
うように分岐点を決定する処理をツリーの下位部から上
位に向かって再帰的に繰り返すことでスキューを最小化
する第1の処理と、 各径路分岐点の位置を固定して請求項2記載の方法によ
り各配線幅を決定してディレイを最小化する第2の処理
と、 これら第1及び第2の処理を交互に繰り返した後のディ
レイ変化量が許容値以内に到達したかどうかを判定する
第3の処理とからなり、ディレイ変化量が許容値以内に
到達した状態の径路を最終配線径路とすることを特徴と
する集積回路の自動配線方法。
3. When the topological structure of the binary tree type wiring path is determined in advance, each wiring width of the path between the adjacent branch points is fixed and branching is performed so that the delay on the downstream side is balanced from each branch point. The first process for minimizing the skew by recursively repeating the process of determining the points from the lower part of the tree to the upper part, and fixing the position of each path branch point by the method according to claim 2. A second process for determining the wiring width to minimize the delay, and a third process for determining whether or not the delay change amount after repeating the first and second processes alternately reaches within an allowable value. An automatic wiring method for an integrated circuit, comprising: a path in which a delay change amount reaches within an allowable value as a final wiring path.
【請求項4】 2分木型配線径路構造において隣接する
分岐点間の径路の平均配線幅が、2分木型配線径路構造
上で当該径路よりひとつ上位階層側の径路の平均配線幅
の0.4倍の数値と一般信号用の標準配線幅とを比べた
ときの大きい方の数値以下となるように配線幅を決定す
ることを特徴とする集積回路の自動配線方法。
4. An average wiring width of a path between adjacent branch points in a binary tree type wiring path structure is 0 of an average wiring width of a path one layer higher than the path in the binary tree type wiring path structure. An automatic wiring method for an integrated circuit, characterized in that the wiring width is determined so as to be equal to or less than the larger one of the four times the numerical value and the standard wiring width for general signals.
【請求項5】 信号の送端から受端へ向かって配線幅が
小さくなる配線の径路探索を、配線領域の逐次探索によ
って行う集積回路の自動配線方法であって、 配線幅の小さい端から大きい端へ向かって配線領域を探
索し、新たな配線領域を探索する度にその配線領域にお
いて理想的な配線幅を求めながら探索を進めることを特
徴とする集積回路の自動配線方法。
5. An automatic wiring method for an integrated circuit, wherein a route search for a wiring whose wiring width becomes smaller from a signal sending end to a receiving end is performed by sequentially searching a wiring region, and the wiring is made larger from a small wiring width end. An automatic wiring method for an integrated circuit, characterized in that a wiring area is searched toward an edge, and each time a new wiring area is searched, an ideal wiring width in the wiring area is searched for while proceeding with the search.
【請求項6】 前記新たな配線領域において理想的な配
線幅を、 前記配線幅の小さい端からこの新たな配線領域までの、
既に得られている正確な配線径路長と、この新たな配線
領域から前記配線幅の大きい端までの、水平径路及び垂
直径路のみを用いた最短径路長とを基に求めることを特
徴とする請求項5記載の集積回路の自動配線方法。
6. The ideal wiring width in the new wiring area is defined as follows:
It is characterized in that it is obtained based on an accurate wiring path length that has already been obtained and the shortest path length from this new wiring area to the end with the large wiring width using only the horizontal path and the vertical path. Item 6. An automatic wiring method for an integrated circuit according to item 5.
JP00893293A 1993-01-22 1993-01-22 Automatic wiring method for integrated circuits Expired - Fee Related JP3251686B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP00893293A JP3251686B2 (en) 1993-01-22 1993-01-22 Automatic wiring method for integrated circuits

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP00893293A JP3251686B2 (en) 1993-01-22 1993-01-22 Automatic wiring method for integrated circuits

Publications (2)

Publication Number Publication Date
JPH06223134A true JPH06223134A (en) 1994-08-12
JP3251686B2 JP3251686B2 (en) 2002-01-28

Family

ID=11706444

Family Applications (1)

Application Number Title Priority Date Filing Date
JP00893293A Expired - Fee Related JP3251686B2 (en) 1993-01-22 1993-01-22 Automatic wiring method for integrated circuits

Country Status (1)

Country Link
JP (1) JP3251686B2 (en)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH07183778A (en) * 1993-12-22 1995-07-21 Nec Corp Semiconductor integrated circuit and wiring method therefor
US6574785B1 (en) 2000-07-07 2003-06-03 Mitsubishi Denki Kabushiki Kaisha Wiring method for semiconductor integrated circuit and computer product using maximum gap between times
US6704916B1 (en) 1999-10-05 2004-03-09 Mitsubishi Denki Kabushiki Kaisha Method and apparatus for optimizing placement and routing and recording medium for recording program for optimizing placement and routing
CN110335282A (en) * 2018-12-25 2019-10-15 广州启明星机器人有限公司 A Raster-Based Algorithm for Contour Segment Feature Extraction
CN113255284A (en) * 2021-05-30 2021-08-13 上海立芯软件科技有限公司 Rapid local disconnection redistribution method in global wiring
CN117454832A (en) * 2023-10-10 2024-01-26 北京市合芯数字科技有限公司 Method, device, equipment and medium for wiring data channel in circuit chip

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006119838A (en) * 2004-10-20 2006-05-11 Hitachi Cable Ltd Pattern extraction calculation algorithm, design program and simulator

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH07183778A (en) * 1993-12-22 1995-07-21 Nec Corp Semiconductor integrated circuit and wiring method therefor
US6704916B1 (en) 1999-10-05 2004-03-09 Mitsubishi Denki Kabushiki Kaisha Method and apparatus for optimizing placement and routing and recording medium for recording program for optimizing placement and routing
US6574785B1 (en) 2000-07-07 2003-06-03 Mitsubishi Denki Kabushiki Kaisha Wiring method for semiconductor integrated circuit and computer product using maximum gap between times
CN110335282A (en) * 2018-12-25 2019-10-15 广州启明星机器人有限公司 A Raster-Based Algorithm for Contour Segment Feature Extraction
CN110335282B (en) * 2018-12-25 2023-04-18 广州启明星机器人有限公司 Contour line segment feature extraction method based on grids
CN113255284A (en) * 2021-05-30 2021-08-13 上海立芯软件科技有限公司 Rapid local disconnection redistribution method in global wiring
CN113255284B (en) * 2021-05-30 2023-07-18 上海立芯软件科技有限公司 Quick local disconnecting and re-distributing method in global wiring
CN117454832A (en) * 2023-10-10 2024-01-26 北京市合芯数字科技有限公司 Method, device, equipment and medium for wiring data channel in circuit chip
CN117454832B (en) * 2023-10-10 2024-06-11 北京市合芯数字科技有限公司 Method, device, equipment and medium for wiring data channel in circuit chip

Also Published As

Publication number Publication date
JP3251686B2 (en) 2002-01-28

Similar Documents

Publication Publication Date Title
JP2695078B2 (en) Data processing device clock signal distribution method
US7017132B2 (en) Methodology to optimize hierarchical clock skew by clock delay compensation
US5717229A (en) Method and apparatus for routing a clock tree in an integrated circuit package
US8161442B2 (en) Integrated circuit devices and methods and apparatuses for designing integrated circuit devices
US6477695B1 (en) Methods for designing standard cell transistor structures
JP4227304B2 (en) Outline wiring method and apparatus, and recording medium storing outline wiring program
JP2874628B2 (en) Apparatus and method for optimizing logic circuit
US6480996B1 (en) System and method for transposing wires in a circuit design
US6944840B2 (en) Design method and system for achieving a minimum machine cycle for semiconductor integrated circuits
US7392493B2 (en) Techniques for super fast buffer insertion
JP4037944B2 (en) Wiring route determination method and delay estimation method
JPH06223134A (en) Automatic wiring method for integrated circuit
Hu et al. Taming the complexity of coordinated place and route
Chen et al. A novel framework for multilevel full-chip gridless routing
US6477692B1 (en) Method and apparatus for channel-routing of an electronic device
Kahng et al. Practical bounded-skew clock routing
JP3091568B2 (en) Layout design method
JP3116915B2 (en) Clock net layout design change method
Madhuri et al. Performance Analysis on Skew Optimized Clock Tree Synthesis
JPH08129576A (en) Mask layout designing method for semiconductor device
JP4472193B2 (en) Repeater insertion apparatus, method, recording medium, and program for integrated circuit
JP2000331051A (en) Wiring method for semiconductor integrated circuit
Pandini et al. Design methodologies and architecture solutions for high-performance Interconnects
Minz Physical Design Automation for System-on-Packages and 3D-Integrated Circuits
CN118734787A (en) TDM interconnection wiring method and device for multi-chip system

Legal Events

Date Code Title Description
FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20071116

Year of fee payment: 6

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20081116

Year of fee payment: 7

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20081116

Year of fee payment: 7

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20091116

Year of fee payment: 8

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20101116

Year of fee payment: 9

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20101116

Year of fee payment: 9

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20111116

Year of fee payment: 10

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20121116

Year of fee payment: 11

LAPS Cancellation because of no payment of annual fees