JP3280771B2 - Fan-out disassembly method - Google Patents

Fan-out disassembly method

Info

Publication number
JP3280771B2
JP3280771B2 JP22707793A JP22707793A JP3280771B2 JP 3280771 B2 JP3280771 B2 JP 3280771B2 JP 22707793 A JP22707793 A JP 22707793A JP 22707793 A JP22707793 A JP 22707793A JP 3280771 B2 JP3280771 B2 JP 3280771B2
Authority
JP
Japan
Prior art keywords
coordinate
node
logic
logic element
elements
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP22707793A
Other languages
Japanese (ja)
Other versions
JPH0786410A (en
Inventor
孝哲 青木
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
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 JP22707793A priority Critical patent/JP3280771B2/en
Publication of JPH0786410A publication Critical patent/JPH0786410A/en
Application granted granted Critical
Publication of JP3280771B2 publication Critical patent/JP3280771B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Landscapes

  • Design And Manufacture Of Integrated Circuits (AREA)

Description

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

【0001】[0001]

【産業上の利用分野】本発明は素子のファンアウトを分
解する方法に関する。
BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to a method for decomposing a fan-out of a device.

【0002】[0002]

【従来の技術】半導体集積回路における素子間の配線で
発生する信号遅延(配線遅延)は、素子のオン抵抗と次
段の素子の入力容量および金属配線に寄生する抵抗成分
と容量成分によって発生する。従来の加工技術では、金
属配線に寄生する抵抗成分と容量成分は微量であったた
め、金属配線で発生する信号遅延を無視することが可能
であった。しかしながら近年の加工技術の進歩による金
属配線の微細化、集積度の向上による素子間隔の増大に
より金属配線の寄生成分が増大し、金属配線で発生する
信号遅延を無視することが不可能になってきている。近
年の半導体集積回路の設計では配線遅延の考慮が不可欠
である。以下に配線遅延の計算方法について述べる。
2. Description of the Related Art A signal delay (wiring delay) generated in a wiring between elements in a semiconductor integrated circuit is caused by an on-resistance of an element, an input capacitance of a next-stage element, and a resistance component and a capacitance component parasitic on a metal wiring. . In the conventional processing technology, since the resistance component and the capacitance component parasitic on the metal wiring are very small, it is possible to ignore the signal delay generated in the metal wiring. However, due to recent advances in processing technology, metal wiring has become finer, and the element spacing has increased due to an increase in the degree of integration, thereby increasing the parasitic component of the metal wiring, making it impossible to ignore the signal delay generated in the metal wiring. ing. In the design of semiconductor integrated circuits in recent years, it is essential to consider wiring delay. The method of calculating the wiring delay will be described below.

【0003】金属配線に寄生する成分を無視した場合、
配線遅延は次式のように計算することが出来る。
[0003] When the component parasitic on the metal wiring is ignored,
The wiring delay can be calculated as follows.

【0004】 配線遅延=R(i)×ΣC(j) …(1) j∈O(i) R(i)……素子iのオン抵抗 C(j)……素子jの入力容量 O(i)……素子iが駆動する素子の集合 従来の回路設計時の配線遅延の見積は(1)式によって
行われていた。しかし、この計算方法では誤差が大きい
という問題点があった。そのため、(1)式に金属配線
に寄生する容量成分による影響を加えた配線遅延の計算
方法を取るようになった。この式を以下に示す。
Wiring delay = R (i) × ΣC (j) (1) j∈O (i) R (i): ON resistance of element i C (j): Input capacitance O (i) of element j )... A set of elements driven by the element i The wiring delay in the conventional circuit design has been estimated by equation (1). However, this calculation method has a problem that an error is large. For this reason, a method of calculating a wiring delay in which the effect of the capacitance component parasitic on the metal wiring is added to the equation (1) has been adopted. This equation is shown below.

【0005】 配線遅延=R(i)×[ΣC(j)+Cw(i)] …(2) j∈O(i) R(i)……素子iのオン抵抗 C(j)……素子jの入力容量 O(i)……素子iが駆動する素子の集合 Cw(i)…素子iと素子O(i)を結ぶ金属配線に寄
生する容量成分 金属成分に寄生する容量成分は配線長に比例するため、
Cw(i)の値は配線長を見積もることにより行われ
る。配線長の総和は、O(i)に含まれる素子数に比例
することが経験的に知られているため、一般的には統計
的な配線長の調査によりCw(i)の見積式を作ること
が行われている。この配線遅延見積方式は、式(1)よ
り正確であるが、金属配線に寄生する抵抗成分を無視し
ている為、レイアウト後に見積以上の遅延が発生するこ
とがあった。
Wiring delay = R (i) × [ΣC (j) + Cw (i)] (2) j∈O (i) R (i): On resistance of element i C (j): element j The input capacitance O (i) of the element is a set of elements driven by the element i Cw (i) The capacitance component parasitic on the metal wiring connecting the element i and the element O (i) To be proportional,
The value of Cw (i) is determined by estimating the wiring length. Since it is empirically known that the sum of the wiring lengths is proportional to the number of elements included in O (i), an estimation formula of Cw (i) is generally formed by statistically examining the wiring lengths. That is being done. Although this wiring delay estimation method is more accurate than the equation (1), since the resistance component parasitic on the metal wiring is ignored, a delay more than estimated after layout may occur.

【0006】配線遅延を正確に計算するためには金属配
線の寄生抵抗の成分を無視することは出来ないが、抵抗
成分を考慮するためには配線のトポロジーを見積もる必
要が有るため、レイアウト前にこれを行うことは非常に
困難である。次式に図7に示すような回路及びレイアウ
ト例における、抵抗成分も考慮した場合の配線遅延の計
算式を示す。この例では遅延計算の為のモデルは図8の
ようになり、素子71からの遅延は次のようになる。R
onは素子71のオン抵抗、C(3),C(4)は素子
71,73の入力容量である。
In order to accurately calculate the wiring delay, the parasitic resistance component of the metal wiring cannot be ignored. However, it is necessary to estimate the wiring topology in order to consider the resistance component. This is very difficult to do. The following equation shows a calculation formula of the wiring delay in the circuit and the layout example as shown in FIG. 7 in consideration of the resistance component. In this example, the model for delay calculation is as shown in FIG. 8, and the delay from the element 71 is as follows. R
on is the on-resistance of the element 71, and C (3) and C (4) are the input capacitances of the elements 71 and 73.

【0007】 (素子71から素子72間の配線遅延) =Ron[C(1,2)+C(2,3)+C(2,4) +C(3)+C(4)] +R(1,2)[C(1,2)/2+C(2,3) +C(2,4)+C(3)+C(4)] +R(2,3)[C(2,3)/2+C(3)] (素子71から素子73間の配線遅延) =Ron[C(1,2)+C(2,3)+C(2,4) +C(3)+c(4)] +R(1,2)[C(1,2)/2+C(2,3) +C(2,4)+C(3)+C(4)] +R(2,4)[C(2,4)/2+C(4)] …(3) 式(3)に示すように配線遅延は配線のトポロジーと密
接な関係を持っている。以上示したように、配線遅延を
より正確に見積もりながら回路設計を行うことは非常な
困難が伴う。従って、通常、論理回路設計時の配線遅延
予測は、金属配線の寄生抵抗成分を無視して行われてい
た。このため、論理回路設計時に見積もった遅延時間と
レイアウト処理後に実測した遅延時間が大きく食い違
い、集積回路が動作しないことがあった。
(Wiring delay between element 71 and element 72) = Ron [C (1,2) + C (2,3) + C (2,4) + C (3) + C (4)] + R (1,2) [C (1,2) / 2 + C (2,3) + C (2,4) + C (3) + C (4)] + R (2,3) [C (2,3) / 2 + C (3)] (Element Wiring delay from 71 to element 73) = Ron [C (1,2) + C (2,3) + C (2,4) + C (3) + c (4)] + R (1,2) [C (1, 2) / 2 + C (2,3) + C (2,4) + C (3) + C (4)] + R (2,4) [C (2,4) / 2 + C (4)] (3) As shown in parentheses), the wiring delay is closely related to the wiring topology. As described above, it is extremely difficult to design a circuit while more accurately estimating a wiring delay. Therefore, usually, the wiring delay prediction at the time of designing a logic circuit is performed ignoring the parasitic resistance component of the metal wiring. For this reason, the delay time estimated at the time of logic circuit design and the delay time actually measured after the layout processing are largely different from each other, and the integrated circuit may not operate.

【0008】このような事態に対処するために、ファン
アウト分解処理が行われている。ここでファンアウト分
解処理とは、多出力素子のネットにバッファ素子を挿入
する事により分割し、トータルな配線遅延を減らそうと
するものである。図9にファンアウト分解処理前のネッ
トを図1(C)、図3(C)にファンアウト分解処理後
のネットを示す。
In order to cope with such a situation, a fan-out decomposition process is performed. Here, the fan-out decomposition processing is to reduce the total wiring delay by inserting a buffer element into a net of multiple output elements to divide the net. FIG. 9 shows a net before the fan-out decomposition processing, and FIG. 3C shows a net after the fan-out decomposition processing.

【0009】過去に提案されたファンアウト分解処理に
は、K.J.Singh et al,. “AHeuristic Algorithm for t
he Fanout Problem”,Proc. of the 27th DAC, pp.357-
360,June 1990, S.Lin et al,.“A Fast and Efficient
Algorithm forDetermining Fanout Trees in Large Ne
tworks”,Proc. of the Euro. Dac, pp.539-544,Feb 19
91. が知られている。しかしながら、従来のファンアウ
ト分解処理は寄生容量のみを考慮して行われていたた
め、遅延減少の効果が薄いと言う問題があった。
The fan-out decomposition process proposed in the past includes KJ Singh et al., “AHeuristic Algorithm for t
he Fanout Problem ”, Proc. of the 27th DAC, pp.357-
360, June 1990, S. Lin et al ,. “A Fast and Efficient
Algorithm for Determining Fanout Trees in Large Ne
tworks ”, Proc. of the Euro. Dac, pp.539-544, Feb 19
91. is known. However, the conventional fan-out decomposition processing is performed in consideration of only the parasitic capacitance, and thus has a problem that the effect of delay reduction is small.

【0010】図3に従来方法によるファンアウト分解の
為のモデルを示す。従来方法はネットを図3(A)に示
すような有向グラフで表現する。ここで節0は信号を出
力する素子に対応する節、その他の節は信号が入力する
素子に対応する。グラフ上の枝は全て節0から、その他
の節に向かう。このグラフ上で式(2)を基にした遅延
計算方法を使用し、全ての節への信号遅延が要求値にな
るようにバッファ素子を挿入し、ファンアウトを分解す
る。バッファ素子の挿入およびネットの分解は図3
(B)に示すようなグラフで表現される。g1はバッフ
ァ素子に対応する節である。このような従来方法では、
節0からの距離を枝の重みとして考慮することは可能で
あるが、節間の位置関係を考慮することは出来ない。
FIG. 3 shows a model for fan-out decomposition according to the conventional method. In the conventional method, a net is represented by a directed graph as shown in FIG. Here, the node 0 corresponds to an element that outputs a signal, and the other nodes correspond to elements that input a signal. The branches on the graph all go from node 0 to other nodes. Using a delay calculation method based on equation (2) on this graph, buffer elements are inserted so that the signal delays to all the nodes become the required values, and the fanout is decomposed. Figure 3 shows the buffer element insertion and net disassembly.
It is represented by a graph as shown in FIG. g1 is a node corresponding to the buffer element. In such a conventional method,
Although it is possible to consider the distance from node 0 as the weight of a branch, it is not possible to consider the positional relationship between nodes.

【0011】このような従来方法には、使用するモデル
の為、ネットトポロジーを見積もることが出来ないとい
う問題がある。そのため、寄生抵抗成分を考慮した遅延
予測が出来ず、レイアウト処理後に予測値以上の遅延が
発生する可能性がある。また、素子の配置位置を考慮出
来ないため適応範囲が狭い。すなわち、従来の方法は素
子の配置位置を考慮することが出来ないために配置後の
データに対し適応することが出来ない。例えば、従来方
法を図4に示すような配置後のデータに対し適応した場
合、素子0からの距離だけを考慮しているため、素子4
と素子6のような離れた位置に配置されている素子同士
を同一のネットにまとめてしまう恐れがあった(図3
(C))。これは配線処理を著しく難しくする。以上の
2つの点から、従来方法は金属配線の寄生成分が著明に
現れる近年の半導体集積回路に適応しても十分な考慮が
えられないという問題があった。
Such a conventional method has a problem that the net topology cannot be estimated because of the model used. For this reason, delay prediction in consideration of the parasitic resistance component cannot be performed, and a delay greater than the predicted value may occur after layout processing. Further, since the arrangement position of the elements cannot be considered, the applicable range is narrow. That is, since the conventional method cannot consider the arrangement position of the elements, it cannot be applied to the data after arrangement. For example, when the conventional method is applied to the data after arrangement as shown in FIG. 4, only the distance from the element 0 is taken into consideration.
There is a possibility that elements arranged at a distance from each other such as the element 6 and the element 6 may be combined into the same net (FIG. 3).
(C)). This makes the wiring process extremely difficult. From the above two points, the conventional method has a problem that even if it is applied to a recent semiconductor integrated circuit in which a parasitic component of a metal wiring appears remarkably, it cannot be sufficiently considered.

【0012】[0012]

【発明が解決しようとする課題】以上のように従来のフ
ァンアウト分解方法では、金属配線に寄生する抵抗成分
を考慮出来ないという問題があった。さらに、素子位置
を考慮出来ないため期待した遅延時間の短縮効果が得ら
れない、レイアウトを難しくする問題が有った。
As described above, the conventional fan-out disassembling method has a problem that the resistance component parasitic on the metal wiring cannot be considered. Further, there is a problem that the effect of shortening the expected delay time cannot be obtained because the position of the element cannot be considered, and that the layout becomes difficult.

【0013】そこで本発明は、このような従来の事情に
鑑みてなされたものであり、その目的は金属配線に寄生
する抵抗成分を考慮し、レイアウト後の集積回路に対し
適応し素子位置を考慮することで配線遅延を減少させる
ことが可能なファンアウト分解方法を提案することにあ
る。
Accordingly, the present invention has been made in view of such conventional circumstances, and has as its object to consider a resistance component which is parasitic on a metal wiring, and to apply an integrated circuit after layout to an element position. It is an object of the present invention to propose a fan-out decomposition method capable of reducing a wiring delay.

【0014】[0014]

【課題を解決するための手段】上記目的を達成するため
に、本発明は、論理回路のファンアウト分解を行う際
に、論理素子とバッファ素子を節とする有向グラフを作
成する手段と、前記有向グラフ上で信号を出力する素子
に対応する節を根とする木構造を構築する手段と、前記
木構造上のバッファ素子に対応する節の数と同数のバッ
ファ素子を挿入する手段と、前記木構造上のバッファ素
子に対応する節の位置でネットを分解する手段とを含む
ことを要旨としている。
In order to achieve the above object, the present invention provides a means for creating a directed graph having nodes of logic elements and buffer elements when performing fan-out decomposition of a logic circuit; Means for constructing a tree structure rooted at a node corresponding to an element outputting a signal above, means for inserting the same number of buffer elements as the number of nodes corresponding to buffer elements on the tree structure, Means for decomposing the net at the position of the node corresponding to the buffer element above.

【0015】さらに、本発明は前記論理素子とバッファ
素子を節とする有向グラフを作成する際に、論理素子を
節とする有向グラフを作成し、前記論理素子を節とする
有向グラフの任意の節iから節jに向かう有向枝(i,
j)がある場合、バッファ素子に対応する節gと、前記
節iから前記バッファ素子に対応する節gに向かう有向
枝(i,g)と、
Further, according to the present invention, when creating a directed graph in which the logic element and the buffer element are nodes, a directed graph in which the logic element is a node is created, and an arbitrary graph i of the directed graph in which the logic element is a node is created. Directed branch (i,
j), there is a node g corresponding to the buffer element, a directed branch (i, g) from the node i to the node g corresponding to the buffer element,

【0016】前記バッファ素子に対応する節gから前記
節jに向かう枝(g,j)を前記有向グラフに追加する
ことを特徴としている。
A branch (g, j) from a node g corresponding to the buffer element to the node j is added to the directed graph.

【0017】さらに、本発明は、前記任意の節iから節
jに向かう有向枝(i,j)を張る際に、任意の論理素
子iのX座標と同一のX座標をもち前記論理素子iのY
座標より大きなY座標をもつ論理素子の中で論理素子i
からの距離が最も近い論理素子と、前記論理素子iのX
座標と同一のX座標をもち前記論理素子iのY座標より
小さなY座標をもつ論理素子の中で論理素子iからの距
離が最も近い論理素子と、
Further, according to the present invention, when the directional branch (i, j) is extended from the arbitrary node i to the node j, the X element has the same X coordinate as that of the arbitrary logical element i. Y for i
Logic element i among logic elements having a Y coordinate larger than the coordinate
Logic element closest to the logic element i, and X of the logic element i.
A logic element having the same X coordinate as the coordinates and having a smaller Y coordinate than the Y coordinate of the logic element i, the logic element having the shortest distance from the logic element i;

【0018】前記論理素子iのY座標と同一のY座標を
もち前記論理素子iのX座標より大きなX座標をもつ論
理素子の中で論理素子iからの距離が最も近い論理素子
と、
A logic element having the same Y coordinate as the Y coordinate of the logic element i and having the X coordinate larger than the X coordinate of the logic element i, the logic element having the shortest distance from the logic element i;

【0019】前記論理素子iのY座標と同一のY座標を
もち前記論理素子iのX座標より小さなX座標をもつ論
理素子の中で論理素子iからの距離が最も近い論理素子
と、
A logic element having the same Y coordinate as the Y coordinate of the logic element i and having an X coordinate smaller than the X coordinate of the logic element i, the logic element having the shortest distance from the logic element i;

【0020】前記論理素子iのX座標より大きなX座標
と前記論理素子iのY座標より大きなY座標をもつ論理
素子の中で論理素子iからの距離が最も近い論理素子
と、前記論理素子iのX座標より大きなX座標と前記論
理素子iのY座標より小さなY座標をもつ論理素子の中
で論理素子iからの距離が最も近い論理素子と、前記論
理素子iのY座標より大きなY座標と前記論理素子iの
X座標より大きなX座標をもつ論理素子の中で論理素子
iからの距離が最も近い論理素子と、前記論理素子iの
Y座標より大きなY座標と前記論理素子iのX座標より
小さなX座標をもつ論理素子の中で論理素子iからの距
離が最も近い論理素子の集合をS(i)と定義したとき
に、任意の論理素子iに対応する節から前記論理素子集
合S(i)に含まれる素子に対応する節に向かって有向
枝を張ることを特徴としている。
A logical element having the X coordinate larger than the X coordinate of the logical element i and the Y coordinate larger than the Y coordinate of the logical element i, the logical element having the shortest distance from the logical element i; A logical element having the X coordinate larger than the X coordinate of the logical element i and the Y coordinate smaller than the Y coordinate of the logical element i, the logical element closest to the logical element i, and the Y coordinate larger than the Y coordinate of the logical element i And a logical element having the X coordinate larger than the X coordinate of the logical element i, the logical element closest to the logical element i, the Y coordinate larger than the Y coordinate of the logical element i, and the X of the logical element i. When a set of logic elements having the X coordinate smaller than the coordinates and having the closest distance from the logic element i is defined as S (i), the logic element set is determined from a node corresponding to an arbitrary logic element i. Included in S (i) It is characterized by tensioning a directed edge toward the section corresponding to the element.

【0021】さらに本発明は、前記木構造を構築する際
に、論理素子に対応する有向グラフ上の節点に信号を出
力する素子からの信号伝搬時間の要求値を与える手段
と、信号を出力する素子に対応する節以外の節の集合か
ら目的節を選び出す手段と、信号を出力する素子に対応
する節から目的節に向かい有向グラフ上を有向枝の方向
に沿ってたどる手段と、出力する素子に対応する節から
目的節までの信号伝搬時間の予測値する手段を備え、上
記有向グラフ上を有向枝の方向に沿ってたどる際に信号
伝搬時間の予測値が上記要求値以下になる枝と節とを選
択することを特徴としている。
Further, according to the present invention, when constructing the tree structure, means for giving a required value of a signal propagation time from an element outputting a signal to a node on a directed graph corresponding to a logical element, and an element outputting a signal Means for selecting a target clause from a set of clauses other than the clause corresponding to, means for tracing along the direction of the directed branch from the node corresponding to the element outputting the signal to the target clause along the direction of the directed branch, and Means for predicting the signal propagation time from the corresponding node to the target node, the branch and the node when the predicted value of the signal propagation time becomes less than or equal to the required value when following the directed graph along the direction of the directed branch Is selected.

【0022】さらに本発明は、論理回路のレイアウト処
理を行う際に、論理素子間の配線処理の終了した後タイ
ミング解析を行い、要求する配線遅延以上の遅延時間を
要しているネットを選び出し、選びだしたネットの配線
経路を消去し、前記ネットに前述のファンアウト分解方
法を適応してバッファ素子を挿入し、
Further, according to the present invention, when performing the layout processing of the logic circuit, the timing analysis is performed after the wiring processing between the logic elements is completed, and a net requiring a delay time longer than the required wiring delay is selected. Erase the wiring route of the selected net, insert a buffer element into the net by applying the above-described fan-out decomposition method,

【0023】前記ネットの配線経路を再度求めることを
特徴としている。
It is characterized in that the wiring route of the net is obtained again.

【0024】[0024]

【作用】上記手段により本発明は、素子の配置情報から
素子に対応する節と挿入予定のバッファ素子に対応する
節からなる有向グラフを作成し、配線伝搬遅延を予測し
ながら有向グラフ上を探索し木構造を構築することによ
り、素子の配置位置すなわちネットトポロジーを考慮す
ることが可能となり、金属線分に寄生する抵抗成分を考
慮した遅延時間を評価しながらファンアウト分解を行う
こと、素子の配置位置を考慮するためレイアウト処理を
難しくしないファンアウト分解を行うことが可能とな
る。
According to the above-mentioned means, the present invention creates a directed graph consisting of nodes corresponding to elements and nodes corresponding to buffer elements to be inserted from the arrangement information of the elements, and searches the directed graph while estimating the wiring propagation delay to search the tree. By constructing the structure, it is possible to consider the arrangement position of the element, that is, the net topology, perform the fan-out decomposition while evaluating the delay time in consideration of the resistance component parasitic on the metal line segment, and dispose the arrangement position of the element. Is considered, it is possible to perform fan-out decomposition without making the layout processing difficult.

【0025】さらに、本発明は、有向グラフを作成する
際に有向枝を限定することで木構造の構築を高速に行う
ことが可能となる。
Further, according to the present invention, it is possible to construct a tree structure at high speed by limiting directional branches when creating a directed graph.

【0026】[0026]

【実施例】以下図面を交えながら本発明の一実施例の説
明を行う。本発明は信号出力素子のファンアウトをバッ
ファ素子の挿入により分解するものである。その方法は
先ず、図4に示すようなネットを図1(A)で示すよう
な有向グラフで表現する(9)。グラフ上の節の番号は
対応する素子を表す。節0は信号出力素子0に対応し、
その他は信号入力素子に対応している。節間の枝は対応
する素子の位置の関係から張る。
An embodiment of the present invention will be described below with reference to the drawings. According to the present invention, the fan-out of the signal output element is decomposed by inserting a buffer element. In the method, first, a net as shown in FIG. 4 is represented by a directed graph as shown in FIG. 1A (9). The numbers of the nodes on the graph represent the corresponding elements. Node 0 corresponds to signal output element 0,
Others correspond to signal input elements. Branches between nodes are set up based on the positional relationship of the corresponding elements.

【0027】図5に素子2に対応する節2から出る枝を
張る例を示す。節間の枝は、着目する素子を中心として
4分割した領域内で、マンハッタン長(X方向の距離+
Y方向の距離)の意味でもっとも近い位置に存在する素
子に対応する節に向けて張る。図5の例では、節2から
は、節1,3,5,7に向かう枝を張る。
FIG. 5 shows an example in which a branch from node 2 corresponding to element 2 is set. The branch between the nodes is represented by the Manhattan length (distance in the X direction + distance in the area divided into four around the element of interest).
(A distance in the Y direction) toward the node corresponding to the element that is present at the closest position. In the example of FIG. 5, a branch from node 2 to nodes 1, 3, 5, and 7 is provided.

【0028】次に、有向グラフ上で信号出力素子を根と
する木を生成する(10)。この木の例を図1(B)に
示す。g1は挿入されたバッファ素子に対応する節であ
る。木の構築は、節0から他の節までの遅延時間が最小
に成るような経路をグラフ上で探索することを繰り返す
ことで行う。木の構築の過程を図2に示す。この例では
先ず、節0から節6に到る経路を探索する(図2
(A))。探索は節0からの遅延を計算しながら、常に
遅延が最小となる枝を通過するような経路を選ぶように
する。探索には遅延時間をコストとしたA*アルゴリズ
ムを用いる。
Next, a tree having a signal output element as a root is generated on the directed graph (10). An example of this tree is shown in FIG. g1 is a node corresponding to the inserted buffer element. The tree is constructed by repeatedly searching the graph for a path that minimizes the delay time from node 0 to another node. FIG. 2 shows the process of tree construction. In this example, first, a route from node 0 to node 6 is searched (FIG. 2).
(A)). In the search, while calculating the delay from node 0, a path that always passes through the branch with the minimum delay is selected. The search uses the A * algorithm with delay time as cost.

【0029】経路探索の過程で通過した節、この例では
節1と7、は経路構築済みとし改めて経路探索はしな
い。節1,7,6への経路が探索されたので、次に節0
から節5に到る経路(図2(B))および節0から節4
に到る経路(図2(C))を探索する。経路探索の過程
で目的の遅延時間を達成するのに必要であればバッファ
素子g1を挿入する。
The nodes that have passed in the course of the route search, in this example, nodes 1 and 7, are determined to have already been constructed, and the route search is not performed again. Since the route to nodes 1, 7, and 6 was searched,
To node 5 (FIG. 2B) and nodes 0 to 4
(FIG. 2 (C)). In the course of the route search, a buffer element g1 is inserted if necessary to achieve a target delay time.

【0030】最後に、この木構造から図1(C)に示す
ようなネットトポロジーの生成とバッファ素子の挿入を
行う。この木構造の例ではネットは、素子0,1,6,
7のグループと素子2,3,4,5に分解されバッファ
素子2,3,4,5を駆動するように挿入することを表
す。またその物理的位置は素子1と素子2の間である。
以下、各処理の詳細を述べる。
Finally, from this tree structure, a net topology as shown in FIG. 1 (C) is generated and buffer elements are inserted. In this example of a tree structure, the nets are elements 0, 1, 6,
7 means that the buffer elements 2, 3, 4, and 5 are separated into elements 2, 3, 4, and 5 so as to drive them. The physical position is between the element 1 and the element 2.
Hereinafter, details of each process will be described.

【0031】 FanoutProblem(CELLS) CELLS は多出力素子のネットに含まれる素子の集合; { G(V,E)は有向グラフである; T(TV,TE)は木である; G(V,E)=Generate directed graph(CELLS); …(9) T(TV,TE)=Generate tree (G(V,E)); …(10) Net divide(T(TV,TE)); …(11) } 先ず、図4に示されているような素子の配置位置から、
図1(A)に示すような有向グラフを生成する(9)。
FanoutProblem (CELLS) CELLS is a set of elements included in a multi-output element net; {G (V, E) is a directed graph; T (TV, TE) is a tree; G (V, E) = Generate directed graph (CELLS); ... (9) T (TV, TE) = Generate tree (G (V, E)); ... (10) Net divide (T (TV, TE)); ... (11)} First, from the arrangement position of the elements as shown in FIG.
A directed graph as shown in FIG. 1A is generated (9).

【0032】ネットの有向グラフG(V,E)表現につ
いて説明する。vは有向グラフ上の節の集合、Eは有向
枝の集合である。(i,j)∈Eで、節i∈Vから節j
∈Vに向かう枝を表す。有向グラフ上の節の中で、自分
自身に向かう有向枝が存在しない節を信号出力節と呼
ぶ。また、節iから出た有向枝が入力する節をiの隣接
節と呼び、iの隣接節の集合をADJOIN(i)と表
記する。
A description will be given of the expression of a directed graph G (V, E) of a net. v is a set of nodes on the directed graph, and E is a set of directed edges. (I, j) ∈E, from clause i∈V to clause j
枝 represents a branch toward V. Among the nodes on the directed graph, a node having no directional branch toward itself is called a signal output node. Also, a node input by a directional branch from node i is called an adjacent node of i, and a set of adjacent nodes of i is denoted as ADJOIN (i).

【0033】有向グラフの作成処理のフローを以下に示
す。先ず、与えられたネット情報からネットに含まれる
素子に対応する節と枝を持つ有向グラフを作成する(1
2,13)。次にバッファ素子に対応する節と枝を作成
する(14)。
The flow of the directed graph creation process is shown below. First, a directed graph having nodes and branches corresponding to elements included in a net is created from given net information (1).
2, 13). Next, nodes and branches corresponding to the buffer elements are created (14).

【0034】 Generate directed graph(CELLS) CELLS は多出力素子のネットに含まれる素子の集合; { G(V,E)は有向グラフ、Vは節集合、Eは有向枝集合; V´=Generate vertexes(CELLS); …(12) E´=Generate directed edges(V´); …(13) [V〜,E〜]=Generate buffer vertexes and edges(V',E');…(14) V=V´∪V〜; …(14) E=E´∪E〜; …(14) } return G(V,E) ; } Generate vertexes(CELLS) CELLS は多出力素子のネットに含まれる素子の集合; { CELLS に対応する節を作り、節集合V´に格納する; return V´; } 次に、有向グラフ上の枝を作成する処理を以下に示す。
節iから他の節に向かう枝を作るには、先ず、節集合V
ERTEXES(i) =N(i)∪S(i)∪W(i)
∪E(i)∪NE(i)∪NW(i)∪SE(i)∪S
W(i)を作る15。ここで、節集合N(i),S
(i),W(i),E(i),NE(i),NW
(i),SE(i),SW(i)とは、節iの座標と以
下の関係を持つ節の集合である。
Generate Directed Graph (CELLS) CELLS is a set of elements included in a net of multiple output elements; (G (V, E) is a directed graph, V is a node set, E is a directed branch set; V ′ = Generate vertexes (CELLS); ... (12) E '= Generate directed edges (V'); ... (13) [V ~, E ~] = Generate buffer vertexes and edges (V ', E'); ... (14) V = V'∪V ~; ... (14) E = E'∪E ~; ... (14)} return G (V, E);} Generate vertexes (CELLS) CELLS is a set of elements included in the multi-output element net.作 り Create a clause corresponding to CELLS and store it in the clause set V ′; return V ′;} Next, processing for creating a branch on the directed graph will be described below.
To make a branch from node i to another node, first, a node set V
ERTEXTES (i) = N (i) ∪S (i) ∪W (i)
∪E (i) ∪NE (i) ∪NW (i) ∪SE (i) ∪S
Make W (i) 15. Here, the clause set N (i), S
(I), W (i), E (i), NE (i), NW
(I), SE (i), and SW (i) are a set of clauses having the following relationship with the coordinates of the clause i.

【0035】N(i)はPx(i)=Px(k)かつP
y(i)<Py(k)なる座標関係を持つ素子の中で節
間距離が最も短い素子の集合、S(i)はPx(i)=
Px(k)かつPy(i)>Py(k)なる座標関係を
持つ素子の中で節間距離が最も短い素子の集合、W
(i)はPx(i)>Px(k)かつPy(i)=Py
(k)なる座標関係を持つ素子の中で節間距離が最も短
い素子の集合、E(i)はPx(i)<Px(k)かつ
Py(i)=Py(k)なる座標関係を持つ素子の中で
節間距離が最も短い素子の集合、NW(i)はPx
(i)>Px(k)かつPy(i)<Py(k)なる座
標関係を持つ素子の中で節間距離が最も短い素子の集
合、NE(i)はPx(i)>Px(k)かつPy
(i)>Py(k)なる座標関係を持つ素子の中で節間
距離が最も短い素子の集合、SW(i)はPx(i)<
Px(k)かつPy(i)<Py(k)なる座標関係を
持つ素子の中で節間距離が最も短い素子の集合、SE
(i)はPx(i)>Px(k)かつPy(i)>Py
(k)なる座標関係を持つ素子の中で節間距離が最も短
い素子の集合である。ただし、k∈V´−{i}−
{s}である。節sは、信号を出力する素子に対応する
節である。
N (i) is Px (i) = Px (k) and Px (i)
A set of elements having the shortest internode distance among elements having a coordinate relationship of y (i) <Py (k). S (i) is Px (i) =
A set of elements having the shortest internode distance among elements having a coordinate relationship of Px (k) and Py (i)> Py (k), W
(I) is Px (i)> Px (k) and Py (i) = Py
A set of elements having the shortest internode distance among the elements having the coordinate relationship of (k). E (i) represents the coordinate relationship of Px (i) <Px (k) and Py (i) = Py (k). A set of elements having the shortest internode distance among the elements that have, NW (i) is Px
(I)> Px (k) and a set of elements having the shortest internode distance among elements having a coordinate relationship of Py (i) <Py (k), and NE (i) is Px (i)> Px (k ) And Py
A set of elements having the shortest internode distance among elements having a coordinate relationship of (i)> Py (k), SW (i) is Px (i) <
A set of elements having the shortest internode distance among elements having a coordinate relationship of Px (k) and Py (i) <Py (k), SE
(I) is Px (i)> Px (k) and Py (i)> Py
A set of elements having the shortest internode distance among the elements having the coordinate relationship (k). However, k∈V '-{i}-
{S}. The node s is a node corresponding to an element that outputs a signal.

【0036】また、Px(i)で節iに対応する素子の
X座標、Py(i)で節iに対応する素子のY座標、節
間距離L(i,k)は、 L(i,k)=|Px(i)−Px(k)|+|Py(i)−Py(k)| で定義される値である。
The X coordinate of the element corresponding to the node i in Px (i), the Y coordinate of the element corresponding to the node i in Py (i), and the internode distance L (i, k) are L (i, k). k) = | Px (i) -Px (k) | + | Py (i) -Py (k) |

【0037】次に節iから節集合VERTEXES
(i)に属する節に向かう枝を作る(16)。
Next, from node i to node set VERTEXTES
A branch is made to the node belonging to (i) (16).

【0038】 Generate directed edges (V´) V´は節集合; { E´は有向枝集合; E´=φ; For each vertex i∈V´{ N(i),S(i),W(i),E(i),NE(i),NW(i),SW(i),SW(i)を求める;} VERTEXES(i)=N(i)∪S(i)∪W(i)∪E(i)∪NE(i)∪NW(i) ∪SE(i)∪SW(i);} …(15) For each vertex k∈VERTEXES(i) …(16) E´=E´∪{(i、k)}; …(16) } } return E´; } 図5に有向枝の作成例を示す。この例では節2から節
1,3,5,7に向かう有向枝が作成される。図1
(A)に図4に示す回路例から作成された有向グラフを
例示する。信号を出力する素子0に対応する出力節0と
なる。
Generate directed edges (V ′) V ′ is a node set; E E ′ is a directed branch set; E ′ = φ; For each vertex itexV ′ {N (i), S (i), W ( i), E (i), NE (i), NW (i), SW (i), SW (i);} VERTEXES (i) = N (i) ∪S (i) ∪W (i) ∪E (i) ∪NE (i) ∪NW (i) ∪SE (i) ∪SW (i);}… (15) For each vertex k∈VERTEXES (i)… (16) E ′ = E′∪ {(I, k)}; (16) {return E ′;} FIG. 5 shows an example of creating a directed branch. In this example, directed branches from node 2 to nodes 1, 3, 5, and 7 are created. FIG.
4A illustrates a directed graph created from the circuit example shown in FIG. The output node 0 corresponds to the element 0 that outputs a signal.

【0039】次にバッファ素子に対応する節(バッファ
節)と枝(バッファ枝)を作成する処理を示す。バッフ
ァ節とバッファ枝の作成は、有向枝集合Eに属するそれ
ぞれの有向枝に対して行う。有向枝(i,j)∈E´に
対するバッファ節とバッファ枝の作成は、先ず、バッフ
ァ素子に対応する節gを作り(17)、次に節iからg
に向かう枝とgからjに向かう枝を作る(18)。
Next, processing for creating a node (buffer node) and a branch (buffer branch) corresponding to the buffer element will be described. The creation of the buffer node and the buffer branch is performed for each directional branch belonging to the directional branch set E. To create a buffer node and a buffer branch for the directed edge (i, j) ∈E ′, first, a node g corresponding to the buffer element is created (17), and then nodes i to g
And a branch from g to j (18).

【0040】 Generate buffer vertexes and edges(V´,E´) V´は節集合; E´は有向枝集合; { V〜はバッファ節集合; E〜はバッファ枝集合; V〜=φ; E〜=φ; For each edge (i,j)∈E´{ バッファ素子に対応する節gを作る; …(17) V〜=V〜∪{g}; …(17) E〜=E〜∪{(i,g),(g,j)}; …(18) } Return[V〜,E〜]; } 図6にバッファ節と枝の挿入の例を示す。(1,2)の
枝に対して、一個のバッファ節g1と2本の有向枝
(1,g1),(g1,2)を、(2,1)の枝に対し
て、g2のバッファ節と有向枝(2,g2),(g2,
1)追加する。
Generate buffer vertexes and edges (V ′, E ′) V ′ is a node set; E ′ is a directed edge set; {V {is a buffer node set; E〜 is a buffer branch set; V〜 = φ; E ~ = Φ; For each edge (i, j) {E '} Create a node g corresponding to the buffer element; ... (17) V ~ = V ~ {g}; ... (17) E ~ = E ~ ∪ {(I, g), (g, j)};... (18) {Return [V〜, E〜];} FIG. 6 shows an example of buffer node and branch insertion. For the branch of (1,2), one buffer node g1 and two directional branches (1, g1) and (g1,2) are stored in the buffer of g2 for the branch of (2,1). Knots and directed branches (2, g2), (g2,
1) Add.

【0041】本発明は、上記に示した方法により作成し
た有向グラフ上で、信号出力節を根とする木T[TV,
TE]を求めることで、ファンアウト分解を行う。ここ
で根とは、自分自身に向かう枝を持たない節である。T
Vは木上の節集合TEは有向枝集合である。ただし木と
グラフにはTV=V,TE⊂Eの関係がある。図1
(B)に木構造の一例を示す。この例では節0が根であ
る。
According to the present invention, a tree T [TV,
TE], fan-out decomposition is performed. Here, the root is a node that has no branch toward itself. T
V is a node set TE on the tree is a directed branch set. However, there is a relationship TV = V, TE⊂E between the tree and the graph. FIG.
(B) shows an example of a tree structure. In this example, node 0 is the root.

【0042】次に、木の構築方法の説明時に使用する語
句の定義を行う。木上の節の中で、自分自身から出る有
向枝が2本以上存在する場合、その節を分岐節と呼ぶ。
図1(B)の例では1,2が分岐節である。自分自身か
ら出る枝を持たない節を葉と呼ぶ。図1(B)の例では
節4,5,6が葉である。
Next, terms used in the description of the tree construction method will be defined. If there are two or more directional branches from the node in the tree, the node is called a branch node.
In the example of FIG. 1B, 1 and 2 are branch nodes. A node that has no branch from itself is called a leaf. In the example of FIG. 1B, nodes 4, 5, and 6 are leaves.

【0043】i,j(i≠j)を木上の任意の節とす
る。もし、iからjに向かう有向枝が存在するならば、
iをjの親節と呼び、jをiの子節と呼ぶ。jの親節を
parent(j)と表記し、iの子節の集合をCHI
LDREN(i)と表記する。図1(B)の例ではCL
IMDREN(1)={g1,7}、parent
(1)=0である。
Let i, j (i ≠ j) be any node on the tree. If there is a directed branch from i to j,
i is called the parent clause of j, and j is called the child clause of i. The parent clause of j is denoted as parent (j), and the set of child clauses of i is CHI
Notated as LDREN (i). In the example of FIG.
IMDREN (1) = {g1,7}, parent
(1) = 0.

【0044】i,jを木上の異なる節とする。有向枝に
沿ってiからjに到る経路をPATH[PV(i,
j),PE(i,j)]と表記する。ここで、PV
(i,j)は節iから節jに到る経路上の節の集合、P
E(i,j)は経路上の有向枝の集合であり、pv
(i,j)⊂TV,PE(i,j)⊂TEである。図1
(B)の例ではPV(1,4)={1,g1,2,3,
4},PE(1,4)={(1,g1),(g1,
2),(2,3),(3,4)}である。
Let i and j be different nodes on the tree. The path from i to j along the directed branch is PATH [PV (i,
j), PE (i, j)]. Where PV
(I, j) is a set of nodes on the path from node i to node j, P
E (i, j) is a set of directed edges on the path, and pv
(I, j) ⊂TV, PE (i, j) ⊂TE. FIG.
In the example of (B), PV (1,4) = {1, g1,2,3,
4}, PE (1, 4) = {(1, g1), (g1,
2), (2, 3), (3, 4)}.

【0045】i,j(i≠j)を木上の任意の節とす
る。もし、iからjに向かう経路PATH[PV(i,
j),PE(i,j)]が存在するならばjをiの下流
節と呼び、iをjの上流節と呼ぶ。iの下流節の集合を
DOWNSTREAM(i)と表記し、jの上流節の集
合をUPSTREAM(j)と表記する。もし、jが根
でなければUPSTREAM(j)は根を含む。また、
iが葉でなければDOWNSTREAM(i)は一つ以
上の葉を含む。図1(B)の例ではDOWNSTREA
M(2)={3,4},UPSTREAM(2)=
{0,1,g1}である。
Let i, j (i ≠ j) be any node on the tree. If the path PATH [PV (i,
j), PE (i, j)], j is called the downstream node of i, and i is called the upstream node of j. The set of downstream nodes of i is denoted as DOWNSTREAM (i), and the set of upstream nodes of j is denoted as UPSTREAM (j). If j is not the root, UPSTREAM (j) contains the root. Also,
If i is not a leaf, DOWNSTREAM (i) contains one or more leaves. In the example of FIG. 1B, DOWNSTREA
M (2) = {3,4}, UPSTREAM (2) =
{0, 1, g1}.

【0046】sを根、iを木上の任意の節とする。ただ
し、i≠sである。また、sからiに到る経路PATH
[PV(s,i),PE(s,i)]に含まれるバッフ
ァ節もしくは根をgとする。もし、gからiに到る経路
PATH[PV(g,i),PE(g,i)]にg以外
のバッファ節が含まれていないならば、gをiのドライ
バ節とよび、driver(i)と表記する。図1
(B)の例では節3のドライバ節はg1、節7のドライ
バ節は0である。
Let s be the root and i be any node on the tree. Here, i ≠ s. Also, a path PATH from s to i
Let g be a buffer node or root included in [PV (s, i), PE (s, i)]. If the path PATH [PV (g, i), PE (g, i)] from g to i does not include a buffer clause other than g, g is called a driver clause of i, and driver ( Notation i). FIG.
In the example of (B), the driver clause of section 3 is g1 and the driver clause of section 7 is 0.

【0047】iを木上の任意の節、LEAVESを葉の
集合、V〜をバッファ節の集合とす
Let i be an arbitrary node on the tree, LEAVES be a set of leaves, and V ~ be a set of buffer nodes.

【外1】 とする。もし、iからkに到る経路PATH[PV
(i,k),PE(i,k)]が存在し、k以外のバッ
ファ節が含まれていないならば、kをiの末端節と呼
び、iの末端節の集合をTERMINALS(i)と表
記する。図1(B)の例では、TERMINALS
(0)={g1,6}である。
[Outside 1] And If the path PATH [PV from i to k
If (i, k), PE (i, k)] exists and does not include a buffer clause other than k, k is called a terminal clause of i, and the set of terminal clauses of i is TERMINALS (i) Notation. In the example of FIG. 1B, TERMINALS
(0) = {g1,6}.

【0048】gを木上のバッファ節もしくは根とする。
この時、gからgの末端節iまでの経路PATH[TV
(g,i),TE(g,i)]に含まれる節の集合をS
UBNET(g) と表記する。すなわち、 SUBNET(g)={TV(g,i)|i∈TERMINAL(g)} である。
Let g be a buffer node or root on the tree.
At this time, the path PATH [TV from the g to the terminal node i of the g
(G, i), TE (g, i)] is a set of clauses
Notated as UBNET (g). That is, SUBNET (g) = {TV (g, i) | i {TERMINAL (g)}.

【0049】図1(B)に示すような木構造は図1
(C)に示すネットトポロジーに相当する。木上の枝
は、枝で結ぶ節に対応する素子間を配線することに相当
し、バッファ節は、それに対応するバッファ素子により
ネットを分割することに相当する。図1(B)の例では
節1から節2に向かう経路上にバッファ節g1が存在す
る。これに相当する図1(C)のネットトポロジーで
は、バッファg1を挿入しファンアウトを分解する。す
なわち、求められた木構造からファンアウトをSUBN
ET(0)={0,1,7,6,g1}とSUBNET
(gl)={g1,2,3,4,5}に分解する。
The tree structure as shown in FIG.
This corresponds to the net topology shown in FIG. A branch on the tree corresponds to wiring between elements corresponding to nodes connected by the branches, and a buffer node corresponds to dividing a net by a buffer element corresponding to the node. In the example of FIG. 1B, the buffer node g1 exists on the path from the node 1 to the node 2. In the equivalent net topology of FIG. 1C, a buffer g1 is inserted to decompose the fan-out. That is, the fan-out is determined from the obtained tree structure by SUBN.
ET (0) = {0,1,7,6, g1} and SUBNET
(Gl) = {g1,2,3,4,5}.

【0050】次に有向グラフ上での木の構築方法につい
て述べる。木の構築は有向グラフ上で信号出力節sから
s以外の全ての節V\{s}への経路を探索することに
より行う。処理フローを以下に示す。木の構築は、先
ず、有向グラフ上のパラメータを更新し(19)、有向
グラフの節集合Vの中から、まだ信号出力節からの経路
が見つかっていない節のなかで最小の要求遅延をもつ節
vを選び出す(20)。次に、既に構築された木に属す
る節からvへ到る経路を探索し(21)、探索された経
路を木に追加する(21)ことにより行う。
Next, a method for constructing a tree on the directed graph will be described. The tree is constructed by searching for a path from the signal output node s to all nodes V {s} other than s on the directed graph. The processing flow is shown below. The tree is constructed by first updating the parameters on the directed graph (19), and from the node set V of the directed graph, the node v having the minimum required delay among the nodes for which a path from the signal output node has not yet been found. (20). Next, a search is made for a route from a node belonging to the already constructed tree to v (21), and the searched route is added to the tree (21).

【0051】 Generate tree (G(V,E)) G(V,E)は有向グラフ; Vは節点集合; Eは有向枝集合; { TVは木上の節集合である; TEは木上の枝集合である; sは信号出力節である; TV=s; TE=φ; 全ての節に到る経路が探索されるまで以下の処理を繰り返す { ModifyRoutingParameter(G(E,V),T(TE,TV);…(19) v=GetNotConnectedVertex (V); …(20) T〜[TV〜,TE〜]=PathFind(TV,v); …(21) TV=TV∪TV〜; …(22) TE=TE∪TE〜; …(22) } return T[TV,TE]; } 有向グラフ上の各節および有向枝に与えるパラメータを
次にしめす。ただしsは根、LEAVESは葉の集合で
ある。
Generate tree (G (V, E)) G (V, E) is a directed graph; V is a set of nodes; E is a set of directed branches; {TV is a set of nodes on a tree; TE is a set of nodes on a tree S is a signal output node; TV = s; TE = φ; repeating the following processing until a route to all nodes is searched. {ModifyRoutingParameter (G (E, V), T ( (19) v = GetNotConnectedVertex (V); ... (20) T ~ [TV ~, TE ~] = PathFind (TV, v); ... (21) TV = TV∪TV ~; ... ( 22) TE = TE∪TE ~; ... (22)} return T [TV, TE]; パ ラ メ ー タ Parameters given to each node and directed edge on the directed graph are as follows, where s is a root and LEAVES is a set of leaves It is.

【0052】[有向枝に与えるパラメータ] C(i,j):枝(i,j)で結ばれる節の金属配線に
寄生する容量成分。
[Parameters Given to Directed Branches] C (i, j): Capacitance component parasitic on the metal wiring of the node connected by branch (i, j).

【0053】 C(i,j)=c*L(i,j),(i,j)∈E ここで、cは、半導体集積回路の加工技術および半導体
の成分および金属配線に使用する物質の成分等で決まる
パラメータである。
C (i, j) = c * L (i, j), (i, j) ∈E where c is the processing technology of the semiconductor integrated circuit and the components of the semiconductor and the materials used for the metal wiring. This is a parameter determined by components and the like.

【0054】R(i,j):枝(i,j)で結ばれる節
の金属配線に寄生する抵抗成分。
R (i, j): A resistance component parasitic on the metal wiring of the node connected by the branch (i, j).

【0055】 R(i,j)=r*L(i,j),(i,j)∈E ここで、rは、半導体集積回路の加工技術および半導体
の成分および金属配線に使用する物質の成分等で決まる
パラメータである。
R (i, j) = r * L (i, j), (i, j) ∈E where r is the processing technology of the semiconductor integrated circuit and the components of the semiconductor and the materials used for the metal wiring. This is a parameter determined by components and the like.

【0056】[節に与えるパラメータ] C(i):i∈v\{s}に対応する素子の入力容量。[Parameters given to nodes] C (i): Input capacitance of the element corresponding to i {v {s}.

【0057】T(i):i∈v〜に対応する素子の素子
遅延。
T (i): element delay of an element corresponding to i∈v〜.

【0058】R(i):i∈v〜∪{s}に対応する素
子のオン抵抗。
R (i): ON resistance of the element corresponding to i {v to {s}.

【0059】C+(i):iからiの末端節までの経路
上の枝の寄生容量成分と入力容量の総和。
C + (i): the sum of the parasitic capacitance component and the input capacitance of the branch on the path from i to the terminal node of i.

【0060】[0060]

【数1】 R−(i):iのドライバ節からiまでの経路上の枝の
寄生抵抗成分とドライバ節のオン抵抗の総和。
(Equation 1) R- (i): The sum of the parasitic resistance component of the branch on the path from the driver node of i to i and the on-resistance of the driver node.

【0061】[0061]

【数2】 Dr(i):sからi∈V\{s}までの信号の遅延時
間の要求値。
(Equation 2) Dr (i): required value of delay time of signal from s to i {V {s}.

【0062】Da(i):sからi∈TV\{s}まで
の信号の遅延時間。
Da (i): delay time of signal from s to i {TV {s}.

【0063】[0063]

【数3】 p=parent(i) De(i):iからvまでの信号の遅延時間の予測値。(Equation 3) p = parent (i) De (i): predicted value of the delay time of the signal from i to v.

【0064】[0064]

【数4】 Clim(i):i∈TV\{s}に付加することがで
きる容量の上限値。この上限値を越えると、木上の根の
信号の遅延時間が要求された遅延時間より大きくなる。
(Equation 4) Clim (i): upper limit of the capacity that can be added to i {TV {s}. If the upper limit is exceeded, the delay time of the root signal on the tree becomes longer than the required delay time.

【0065】[0065]

【数5】 ここで、 Clim-(i)=MIN[(Dr(j)-Da(j))/R-(j)|j∈UPSTREAM(i) \{s}] Clim+(i)=MIN[(Dr(j)-Da(j))/R-(j)|j∈DOWNSTREAM(i) ] である。(Equation 5) Here, Clim- (i) = MIN [(Dr (j) -Da (j)) / R- (j) | j {UPSTREAM (i) {s}] Clim + (i) = MIN [(Dr ( j) -Da (j)) / R- (j) | j∈DOWNSTREAM (i)].

【0066】経路探索では、TVに属する節をスタート
点、vをターゲット点、コストを信号出力節からターゲ
ット点までの遅延時間とし、遅延時間最小となる経路を
探索する。有向グラフ上の経路探索は、A*アルゴリズ
ム(白井良明、辻井潤一、“人工知能”,岩波書店,岩
波講座 情報科学22,1982)を基にしている。
In the route search, a node belonging to the TV is set as a start point, v is set as a target point, and cost is set as a delay time from the signal output node to the target point, and a route with a minimum delay time is searched. The route search on the directed graph is based on the A * algorithm (Yoshiaki Shirai, Junichi Tsujii, "Artificial Intelligence", Iwanami Shoten, Iwanami Koza Information Science 22, 1982).

【0067】A*アルゴリズムとは、グラフの任意の節
をiとしたとき、スタート点からiまでの最小コストの
推定値をg(i)、iからターゲット点までの最小コス
トの予測値をh(i)としたとき、f(i)=g(i)
+h(i)を評価関数として用いるグラフ探索の戦略
で、節iからターゲット点までのコストが予測出来る場
合に最適解を探索することができる。本発明は、上記の
遅延予測時間De(i)を使用したA*アルゴリズムに
より、遅延が最小となる経路を探索する。以下に、処理
フローを示す。
The A * algorithm is as follows: When an arbitrary node in the graph is i, the estimated value of the minimum cost from the start point to i is g (i), and the predicted value of the minimum cost from i to the target point is h When (i) is set, f (i) = g (i)
In a graph search strategy using + h (i) as an evaluation function, an optimal solution can be searched when the cost from node i to the target point can be predicted. According to the present invention, a route with the minimum delay is searched for by the A * algorithm using the above-described delay prediction time De (i). The processing flow is shown below.

【0068】先ず、節を格納する集合OPEN,CLO
SEDを用意し、TVに属する節をOPENに格納する
(25)。次に、OPENから最小の予測遅延値を持つ
節iを取り出し(27,28)、iがvと等しいか(2
9)、OPENが空になるまで(26)以下の処理を繰
り返す。
First, a set OPEN, CLO for storing a clause
The SED is prepared, and the node belonging to the TV is stored in OPEN (25). Next, a node i having the minimum predicted delay value is extracted from OPEN (27, 28), and whether i is equal to v (2
9) The following processing is repeated until OPEN becomes empty (26).

【0069】iの隣接節集合ADJOIN(i)に属す
る節の中で制約条件を満たしている節jに対して、Ne
wCostを計算し(35)、OPENあるいはCLO
SEDに含まれていない節をOPENに入れ(37)、
OldCost(j)=NewCostとし(38)、
パラメータを更新し(39)、iに向かうポインタをつ
ける(40)。OPENに含まれている節は、NewC
ost とOldCost(j)を比較し、NewCos
t<OldCost(j)ならば(42)、NewCo
st=OldCost(j)とし(43)、パラメータ
を更新し(44)、iに向かうポインタをつける(4
5)。
For a clause j that satisfies the constraint condition among clauses belonging to the adjacent clause set ADJOIN (i) of i, Ne
Calculate wCost (35), OPEN or CLO
Put the clause not included in SED in OPEN (37),
OldCost (j) = NewCost (38),
The parameter is updated (39), and a pointer pointing to i is attached (40). The clause included in OPEN is NewC
ost and OldCost (j) are compared, and NewCos
If t <OldCost (j) (42), NewCo
st = OldCost (j) (43), the parameters are updated (44), and a pointer to i is attached (4).
5).

【0070】CLOSEDに含まれている節は、New
CostとOldCost(j)を比較し、NewCo
st<OldCost(j)ならば(47)、OPEN
に入れ(48)、NewCost=OldCost
(j)とし(49)、パラメータを更新し(50)、i
に向かうポインタをつける(51)。
The clause included in CLOSED is New
Compare Cost and OldCost (j), and compare NewCo
If st <OldCost (j) (47), OPEN
(48), NewCost = OldCost
(J) (49), the parameters are updated (50), and i
(51).

【0071】ここでの、コストとは、根sからターゲッ
ト点vまでの予測遅延時間、すなわち根sから節iまで
の遅延時間とiからターゲット点tまでの予測遅延時間
の和である。
The cost here is the predicted delay time from the root s to the target point v, that is, the sum of the delay time from the root s to the node i and the predicted delay time from i to the target point t.

【0072】また、制約条件とは、根sからターゲット
点vまでの予測遅延時間が要求されたものより小さいこ
と(32)、根sからiまでの遅延時間が要求されたも
のより小さいこと(33)、付加可能な容量値の上限を
越えていないこと(34)である。この制約条件によ
り、既に発見された経路上の素子までの遅延時間が要求
遅延時間よりも大きくなることを防いでいる。
The constraint condition is that the predicted delay time from the root s to the target point v is smaller than that required (32), and that the delay time from the root s to i is smaller than that required. 33), the upper limit of the capacity value that can be added is not exceeded (34). This constraint prevents the delay time to the element on the path that has already been discovered from becoming larger than the required delay time.

【0073】経路探索(23)が終了の後、ターゲット
点vからポインタをたどり、TVに到る経路を作る(2
4)。
After the end of the route search (23), the pointer is traced from the target point v to create a route to the TV (2).
4).

【0074】 PathFind(TV,v) TVは木上の節の集合; vはターゲット点; { A Search(TV,v); …(23) TV〜=φ …(24) TE〜=φ …(24) do{ …(24) TV〜=TV〜∪{v}; …(24) p=trace back pointer(v) ; …(24) TE〜=TE〜∪{(p,v)}; …(24) v=p; …(24) }while (v!∈TV); return T〜[TV〜,TE〜]; } A Search(TV,v) TVは木上の節の集合; vはターゲット点; { CLOSED,OPEN は節を格納するための集合である; …(25) OPEN=φ; …(25) CLOSED=φ; …(25) For each vertex i∈TV{ …(25) OPEN=OPEN∪{i}; …(25) } while (OPEN≠φ) …(26) { i=PopMinCostVertex(OPEN); …(27) OPEN=OPEN\{i}; …(28) CLOSED=CLOSED∪{i} if(i==v) return; …(29) For each vertex j∈ADJOIN(i) { …(30) [arv dly, est dly, Clim]=GetObject(i,j,v); …(31) if(arv dly + est dly < Dr(v) && …(32) arv dly < Dr(j) && …(33) Clim < Clim(j) …(34) ){ NewCost = arv dly + est dly; …(35) if(j !∈ OPEN AND i!∈ CLOSED){ …(36) OPEN=OPEN∪{j}; …(37) OldCost(j)=NewCost ; …(38) UpdateVertexParameter(i,j); …(39) trace back pointer(j) =i; …(40) }else if(j ∈OPEN){ …(41) if(NewCost < OldCost(j) { …(42) OldCst(J) =NewCost ; …(43) UpdateVertexParameter(i,j); …(44) trace back pointer(j) =i; …(45) } }else if(j ∈CLOSED){ …(46) if(NewCost < OldCst(j){ …(47) OPEN=OPEN∪{j ; …(48) OldCost(j)=NewCost; …(49) UpdateVertexParameter(i,j); …(50) trace back pointer(j) =i; …(51) コストの計算のよび制約条件の評価で使用する値は次式
でもとめる。arvdlyは根sから節iまでの遅延時
間であり、jからターゲットvまでの予測遅延時間であ
る。またClimはスタート点から節jまでの経路上で
発生する容量である。
PathFind (TV, v) TV is a set of nodes on the tree; v is a target point; {A Search (TV, v);... (23) TV〜 = φ (24) TE〜 = φ ( 24) do {(24) TV = TV∪ {{v}; (24) p = trace back pointer (v); (24) TE〜 = TE∪ {{(p, v)}; (24) v = p;... (24)} while (v! ; TV); return T〜 [TV〜, TE〜]; A A Search (TV, v) TV is a set of nodes on the tree; Target point; {CLOSED, OPEN is a set for storing clauses;… (25) OPEN = φ;… (25) CLOSED = φ;… (25) For each vertex i∈TV {… (25) OPEN … (25)} while (OPEN ≠ φ)… (26) i i = PopMinCostVertex (OPEN);… (27) OPEN = OPEN \ {i};… (28) CLOSED = CLOSED ∪ {i} if (i == v) return;… (29) For each vertex j∈ADJOIN (i) {… (30) [arv dly, est dly, Clim] = GetObject (i, j, v); … (31) if (arv dly + est dly <Dr (v) &&… (32) arv dly <Dr (j) &&… (33) Clim <Clim (j)… (34)) {NewCost = arv dly + est dly;… (35) if (j! ∈ OPEN AND i! ∈ CLOSED) {… (36) OPEN = OPEN {j};… (37) OldCost (j) = NewCost…… (38) UpdateVertexParameter (i (39) trace back pointer (j) = i; ... (40) {else if (j OPEN)} ... (41) if (NewCost <OldCost (j) {... (42) OldCst (J ) = NewCost; ... (43) UpdateVertexParameter (i, j); ... (44) trace back pointer (j) = i; ... (45)} {else if (j ∈CLOSED) ∈… (46) if (NewCost < OldCst (j) {... (47) OPEN = OPEN∪ {j; ... (48) OldCost (j) = NewCost; ... (49) UpdateVertexParameter (i, j); ... (5 0) trace back pointer (j) = i; (51) The value used in the cost calculation and the evaluation of the constraint condition is determined by the following equation. arvdly is the delay time from the root s to the node i and the predicted delay time from j to the target v. Clim is a capacity generated on the path from the start point to node j.

【0075】 [0075]

【数6】 (Equation 6)

【数7】 パラメータの更新では、以下に示す節jのパラメータを
更新する。
(Equation 7) In the parameter update, the parameter of the following section j is updated.

【0076】 [0076]

【数8】 次に本方法の適応例について述べる。素子配置処理後に
本方法を適応する例では、先ず全ての素子を配置し(5
2)、タイミング解析を行い要求遅延以上の遅延時間を
要しているネットを探し(53)、提案方法を適応しバ
ッファ挿入およびネットを分割を行い(54)、配線処
理を行う(55)。
(Equation 8) Next, an application example of the present method will be described. In an example in which the method is applied after the element arrangement processing, first, all elements are arranged (5).
2), a timing analysis is performed to find a net requiring a delay time longer than the required delay (53), a buffer is inserted and the net is divided by applying the proposed method (54), and a wiring process is performed (55).

【0077】 また、以上説明してきた方法を利用すれば配線後のデー
タに対して最小の配線経路変更でバッファ素子を挿入す
ることが可能となる。図10に、その一例を示す。図1
0(A)は配線後のデータの一例である。この情報か
ら、図10(B)に示すような有向グラフを作成する。
ここで、図10(B)の番号が与えられている節は図1
0(B)の素子の同一番号のに対応し、黒く塗りつぶさ
れた節は配線経路の分岐点に対応する。
[0077] Further, if the above-described method is used, it is possible to insert a buffer element with the minimum change of the wiring path for the data after wiring. FIG. 10 shows an example. FIG.
0 (A) is an example of data after wiring. From this information, a directed graph as shown in FIG. 10B is created.
Here, the nodes numbered in FIG.
Nodes corresponding to the same number of the element of 0 (B) and filled in black correspond to branch points of the wiring path.

【0078】例えば、図10(B)の101の節は図1
0(A)の103の分岐点に、102の節は104の節
に対応している。節間の有向枝は、図10(A)のそれ
ぞれの素子および分岐点間に配線経路が存在することを
表している。図10(B)の有向グラフは、図1(B)
の有向グラフと同様に節間にバッファ素子に対応するバ
ッファ節とバッファ枝を持っている。また有向枝に与え
る寄生抵抗と寄生容量のパラメータは実配線経路の配線
長から求める。
For example, the section 101 in FIG.
The node 102 corresponds to the node 104 at the branch point 103 of 0 (A). Directed branches between nodes indicate that a wiring path exists between each element and the branch point in FIG. The directed graph of FIG. 10B is the same as that of FIG.
Has a buffer node and a buffer branch corresponding to a buffer element between nodes as in the directed graph of FIG. The parameters of the parasitic resistance and the parasitic capacitance given to the directed branch are obtained from the wiring length of the actual wiring path.

【0079】次に、図10(B)の有向グラフ上で、既
に述べた経路探索法を使用した木構造を構築する。図1
0(C)に求められた木構造の一例を示す。g1は木構
造に構築時に使用されたバッファ節を表す。
Next, a tree structure is constructed on the directed graph of FIG. 10B by using the above-described route search method. FIG.
An example of the tree structure obtained at 0 (C) is shown. g1 represents a buffer node used at the time of construction in the tree structure.

【0080】最後に図10(C)の木構造からバッファ
素子の挿入と再配線処理を行う。図10(D)に最終的
な配線処理およびバッファ素子挿入結果を示す。ここ
で、図10(C)の木の中でバッファ節に接続する枝2
01,203以外の枝に対応する配線経路は経路の形状
が変化していないため再配線する必要は生じないため、
201と203に対応する部分205,207だけの配
線処理を行えばバッファ素子を挿入することが可能とな
る。
Finally, buffer element insertion and rewiring processing are performed from the tree structure of FIG. 10C. FIG. 10D shows final wiring processing and buffer element insertion results. Here, branch 2 connected to the buffer node in the tree of FIG.
Since the wiring paths corresponding to the branches other than 01 and 203 do not need to be re-wired because the path shape has not changed,
If wiring processing is performed only on the portions 205 and 207 corresponding to 201 and 203, a buffer element can be inserted.

【0081】図11に本発明によるファンアウト分解方
法を利用したシステム構成例を示す。301はレイアウ
ト処理装置、302はタイミング解析装置、303はレ
イアウデータおよび回路情報を記憶するデータベース、
304は本発明によるファンアウト分解装置である。本
発明によるファンアウト分解処理はレイアウトの如何な
る段階でも適応可能であるため、図11のシステムを用
いてレイアウト処理の任意の過程でタイミング解析を行
い、要求以上の信号遅延時間を要している箇所を発見
し、ファンアウトを分解することが可能となる。
FIG. 11 shows an example of a system configuration using the fan-out decomposition method according to the present invention. 301 is a layout processing device, 302 is a timing analysis device, 303 is a database that stores layout data and circuit information,
304 is a fan-out decomposition device according to the present invention. Since the fan-out decomposition processing according to the present invention can be applied at any stage of the layout, the timing analysis is performed in an arbitrary process of the layout processing using the system of FIG. And it is possible to decompose the fan-out.

【0082】[0082]

【発明の効果】以上説明してきたように本発明の方法
は、ネットを素子の配置位置を考慮して有向グラフで表
現すること、配線抵抗まで含んだ遅延計算を行いながら
有向グラフ上でネットトポロジーの生成およびバッファ
挿入位置の探索を行うことが可能となり、遅延減少効果
が大きく、レイアウト処理を難しくしないファンアウト
分解が可能となる。
As described above, according to the method of the present invention, a net is represented by a directed graph in consideration of the arrangement position of elements, and a net topology is generated on a directed graph while performing delay calculation including wiring resistance. In addition, a search for a buffer insertion position can be performed, and a delay reduction effect is large, and fan-out decomposition that does not make layout processing difficult becomes possible.

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

【図1】本発明の提案方法を説明するための図。FIG. 1 is a diagram for explaining a proposed method of the present invention.

【図2】経路探索過程を説明するための図。FIG. 2 is a diagram for explaining a route search process.

【図3】樹来方法を説明するための図。FIG. 3 is a diagram for explaining a method of arriving at a tree;

【図4】素子の配置例。FIG. 4 is an example of the arrangement of elements.

【図5】有向グラフの有向枝の生成を説明する為の図。FIG. 5 is a diagram for explaining generation of a directed edge of a directed graph.

【図6】バッファ節を説明するための図。FIG. 6 is a diagram for explaining a buffer node.

【図7】配線遅延を説明する為の回路例。FIG. 7 is a circuit example for explaining a wiring delay;

【図8】配線遅延を計算する為のモデル。FIG. 8 is a model for calculating a wiring delay;

【図9】ファンアウト分解を説明するための図。FIG. 9 is a diagram for explaining fan-out decomposition.

【図10】配線処理後のデータに対する本発明の適応例
を説明するための図。
FIG. 10 is a diagram for explaining an example of application of the present invention to data after wiring processing.

【図11】本発明を利用したシステム構成図。FIG. 11 is a system configuration diagram using the present invention.

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

g1 バッファ節 201,203 枝 301 レイアウト処理装置 302 タイミング解析装置 303 データベース 304 ファンアウト分解装置 g1 buffer node 201, 203 branch 301 layout processing device 302 timing analysis device 303 database 304 fan-out decomposition device

Claims (1)

(57)【特許請求の範囲】(57) [Claims] 【請求項1】 論理回路のファンアウト分解を行うに際
し、 論理素子を節とする有向グラフを作成する際に、 任意の論理素子iのX座標と同一のX座標をもち前記論
理素子iのY座標より大きなY座標をもつ論理素子の中
で論理素子iからの距離が最も近い論理素子と、 前記論理素子iのX座標と同一のX座標をもち前記論理
素子iのY座標より小さなY座標をもつ論理素子の中で
論理素子iからの距離が最も近い論理素子と、 前記論理素子iのY座標と同一のY座標をもち前記論理
素子iのX座標より大きなX座標をもつ論理素子の中で
論理素子iからの距離が最も近い論理素子と、 前記論理素子iのY座標と同一のY座標をもち前記論理
素子iのX座標より小さなX座標をもつ論理素子の中で
論理素子iからの距離が最も近い論理素子と、 前記論理素子iのX座標より大きなX座標と前記論理素
子iのY座標より大きなY座標をもつ論理素子の中で論
理素子iからの距離が最も近い論理素子と、 前記論理素子iのX座標より大きなX座標と前記論理素
子iのY座標より小さなY座標をもつ論理素子の中で論
理素子iからの距離が最も近い論理素子と、 前記論理素子iのY座標より大きなY座標と前記論理素
子iのX座標より大きなX座標をもつ論理素子の中で論
理素子iからの距離が最も近い論理素子と、 前記論理素子iのY座標より大きなY座標と前記論理素
子iのX座標より小さなX座標をもつ論理素子の中で論
理素子iからの距離が最も近い論理素子の集合をS
(i)と定義したときに、 任意の論理素子iに対応する節から前記論理素子集合S
(i)に含まれる素子に対応する節に向かって有向枝を
張るように前記論理素子を節とする有向グラフの任意の
節iから節jに向かう有向枝(i,j)を張る工程と、 バッファ素子に対応する節gと、前記節iから前記バッ
ファ素子に対応する節gに向かう有向枝(i,g)と、
前記バッファ素子に対応する節gから前期節jに向かう
枝(g,j)とを前記有向グラフに追加する工程と、 論理素子に対応する有向グラフ上の節点に信号を出力す
る素子からの信号伝搬時間の要求値を与える工程と、 信号を出力する素子に対応する節以外の節の集合から目
的節を運び出す工程と、 信号を出力する素子に対応する節から目的節に向かい有
向グラフ上を有向枝の方向に沿ってたどる工程と、 出力する素子に対応する節から目的節までの信号伝搬時
間の予測値する工程と、 上記有向グラフ上を有向枝の方向に沿ってたどる際に信
号伝搬時間の予測値が上記要求値以下になる枝と節とを
選択することによって木構造を構成する工程と、 前記木構造上のバッファ素子に対応する節の数と同数の
バッファ素子を論理回路に挿入する工程と、を具備する
ことを特徴とするファンアウト分解方法。
1. When performing a fan-out decomposition of a logic circuit, when creating a directed graph having nodes as logic elements, the X-coordinate of the logic element i has the same X coordinate as that of an arbitrary logic element i. A logic element having the closest distance from the logic element i among the logic elements having a larger Y coordinate, and a Y coordinate having the same X coordinate as the X coordinate of the logic element i and smaller than the Y coordinate of the logic element i. And a logic element having the same Y coordinate as the Y coordinate of the logic element i and having a larger X coordinate than the X coordinate of the logic element i. And a logic element having the same Y coordinate as the Y coordinate of the logic element i and having a smaller X coordinate than the X coordinate of the logic element i. Logic element with the shortest distance A logic element having the X-coordinate larger than the X-coordinate of the logic element i and the Y-coordinate larger than the Y-coordinate of the logic element i, which is closest to the logic element i; A logical element having the X coordinate larger than the coordinate and the Y coordinate smaller than the Y coordinate of the logical element i, the logical element having the shortest distance from the logical element i; the Y coordinate larger than the Y coordinate of the logical element i; Among the logic elements having an X coordinate larger than the X coordinate of the logic element i, a logic element closest to the logic element i, a Y coordinate larger than the Y coordinate of the logic element i, and an X coordinate of the logic element i A set of logic elements having the smallest distance from the logic element i among the logic elements having small X coordinates is represented by S
When defined as (i), the logical element set S
(C) extending a directed branch (i, j) from an arbitrary node i to a node j of the directed graph having the logic element as a node so as to extend a directed branch toward a node corresponding to the element included in (i). A node g corresponding to the buffer element; a directed branch (i, g) from the node i to the node g corresponding to the buffer element;
Adding a branch (g, j) from the node g corresponding to the buffer element to the previous node j to the directed graph; and a signal propagation time from an element that outputs a signal to a node on the directed graph corresponding to the logic element. And the step of carrying out the target node from a set of nodes other than the node corresponding to the element outputting the signal, and the directed branch on the directed graph from the node corresponding to the element outputting the signal to the target node. Step of estimating the signal propagation time from the node corresponding to the element to be output to the target node, and estimating the signal propagation time when following the direction of the directed graph on the directed graph. Constructing a tree structure by selecting branches and nodes whose values are equal to or less than the required value, and inserting into the logic circuit the same number of buffer elements as the number of nodes corresponding to the buffer elements on the tree structure Fanout decomposition method characterized by comprising the extent, the.
JP22707793A 1993-09-13 1993-09-13 Fan-out disassembly method Expired - Fee Related JP3280771B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP22707793A JP3280771B2 (en) 1993-09-13 1993-09-13 Fan-out disassembly method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP22707793A JP3280771B2 (en) 1993-09-13 1993-09-13 Fan-out disassembly method

Publications (2)

Publication Number Publication Date
JPH0786410A JPH0786410A (en) 1995-03-31
JP3280771B2 true JP3280771B2 (en) 2002-05-13

Family

ID=16855158

Family Applications (1)

Application Number Title Priority Date Filing Date
JP22707793A Expired - Fee Related JP3280771B2 (en) 1993-09-13 1993-09-13 Fan-out disassembly method

Country Status (1)

Country Link
JP (1) JP3280771B2 (en)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3260622B2 (en) * 1996-04-15 2002-02-25 株式会社東芝 Method for manufacturing semiconductor device
US6044209A (en) * 1997-09-15 2000-03-28 International Business Machines Corporation Method and system for segmenting wires prior to buffer insertion
US7036104B1 (en) 1999-12-06 2006-04-25 International Business Machines Corporation Method of and system for buffer insertion, layer assignment, and wire sizing using wire codes

Also Published As

Publication number Publication date
JPH0786410A (en) 1995-03-31

Similar Documents

Publication Publication Date Title
Joobbani An artificial intelligence approach to VLSI routing
JP4227304B2 (en) Outline wiring method and apparatus, and recording medium storing outline wiring program
Okamoto et al. Buffered Steiner tree construction with wire sizing for interconnect layout optimization
US6591407B1 (en) Method and apparatus for interconnect-driven optimization of integrated circuit design
US7571411B2 (en) Methods and apparatus for providing flexible timing-driven routing trees
US20040216072A1 (en) Porosity aware buffered steiner tree construction
JPH08123836A (en) Conversational circuit design device
EP1192559B1 (en) Updating placement during technology mapping
US7263678B2 (en) Method of identifying floorplan problems in an integrated circuit layout
US20070101302A1 (en) Mixed signal circuit simulator
US6442740B1 (en) Clock signal analysis device and clock signal analysis method
Wolf An object-oriented, procedural database for VLSI chip planning
Zapletina et al. Improving pathfinder algorithm perfomance for FPGA routing
JP3280771B2 (en) Fan-out disassembly method
Wong et al. Negotiation-based track assignment considering local nets
US7146590B1 (en) Congestion estimation for programmable logic devices
CN116956811A (en) Chip global wiring implementation method based on two-stage learning path planning
Kim et al. Compact topology-aware bus routing for design regularity
Gonçalves et al. A survey of path search algorithms for VLSI detailed routing
Changfan et al. Timing optimization on routed designs with incremental placement and routing characterization
Li et al. An O (mn) time algorithm for optimal buffer insertion of nets with m sinks
Mosterman et al. Using interleaved execution to resolve cyclic dependencies in time-based block diagrams
US7254790B2 (en) Method of moment computations in R(L)C interconnects of high speed VLSI with resistor loops
Zuber et al. Wire topology optimization for low power CMOS
JP3512531B2 (en) Internal wiring method and apparatus for semiconductor integrated circuit

Legal Events

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

Free format text: PAYMENT UNTIL: 20080222

Year of fee payment: 6

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

Free format text: PAYMENT UNTIL: 20090222

Year of fee payment: 7

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

Free format text: PAYMENT UNTIL: 20100222

Year of fee payment: 8

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

Free format text: PAYMENT UNTIL: 20100222

Year of fee payment: 8

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

Free format text: PAYMENT UNTIL: 20110222

Year of fee payment: 9

LAPS Cancellation because of no payment of annual fees