JP2005285144A - False path extraction method - Google Patents

False path extraction method Download PDF

Info

Publication number
JP2005285144A
JP2005285144A JP2005173025A JP2005173025A JP2005285144A JP 2005285144 A JP2005285144 A JP 2005285144A JP 2005173025 A JP2005173025 A JP 2005173025A JP 2005173025 A JP2005173025 A JP 2005173025A JP 2005285144 A JP2005285144 A JP 2005285144A
Authority
JP
Japan
Prior art keywords
point
delay
path
gate
correlation
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2005173025A
Other languages
Japanese (ja)
Inventor
Shuji Tsukiyama
修治 築山
Masakazu Tanaka
正和 田中
Masahiro Fukui
正博 福井
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.)
Panasonic Holdings Corp
Original Assignee
Matsushita Electric Industrial Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Matsushita Electric Industrial Co Ltd filed Critical Matsushita Electric Industrial Co Ltd
Priority to JP2005173025A priority Critical patent/JP2005285144A/en
Publication of JP2005285144A publication Critical patent/JP2005285144A/en
Pending legal-status Critical Current

Links

Images

Landscapes

  • Design And Manufacture Of Integrated Circuits (AREA)

Abstract

<P>PROBLEM TO BE SOLVED: To improve estimation accuracy while taking into account a correlation of performance between interconnects or elements when calculating delay distribution in an integrated circuit. <P>SOLUTION: Circuit information 11, performance distribution information 12 of the interconnects or elements in the integrated circuit, and correlation information 13 of performance between the interconnects or elements are inputted (S11). A vertex is selected for calculation (S12), and a correlation between delay distribution at the selected vertex and delay distribution in a partial circuit including the selected vertex is calculated based on the performance distribution information 12 and the correlation information 13 (S13). <P>COPYRIGHT: (C)2006,JPO&NCIPI

Description

本発明は、CMOS・LSI等の集積回路の設計において、その性能を評価する技術に関するものであり、特に、遅延分布の計算や、フォールスパスの除去や抽出に関する技術に属する。   The present invention relates to a technique for evaluating performance in designing an integrated circuit such as a CMOS / LSI, and particularly relates to a technique relating to delay distribution calculation, false path removal and extraction.

ディープサブミクロン時代におけるVLSI設計では、要求された性能を持つ回路が歩留まり良く作成されるように、予め製造プロセスのばらつきを考慮しておく必要が生じている。さらに、OPC(Optical Proximity Correction)等の技術に象徴されるように、マスク形状の修正によるばらつきの制御も可能になり、また必要となってきた。したがって、これからのVLSI物理設計では、設計時に製造ばらつきを考慮し、各トランジスタに適正な設計マージンを設定して、より高集積・高性能な回路を設計する技術が必要となる。   In the VLSI design in the deep submicron era, it is necessary to consider the variation in the manufacturing process in advance so that a circuit having the required performance is produced with a high yield. Furthermore, as symbolized by techniques such as OPC (Optical Proximity Correction), it has become possible and necessary to control variations by correcting the mask shape. Therefore, in the future VLSI physical design, a technique for designing a circuit with higher integration and higher performance by setting an appropriate design margin for each transistor in consideration of manufacturing variation at the time of design is required.

このような設計技術では、製造ばらつきに起因するクリティカルパス遅延等の回路性能のばらつきを見積もる手法が不可欠となる。クリティカルパス遅延の分布は入力に依存しないので、そのばらつきを見積もる手法は、統計的(Statistical)な静的遅延解析(Static Timing Analysis)手法と言える。   In such a design technique, a technique for estimating circuit performance variations such as critical path delay due to manufacturing variations is indispensable. Since the distribution of critical path delay does not depend on the input, the method for estimating the variation can be said to be a statistical static timing analysis method.

統計的な静的遅延解析手法の1つとして、信号の伝達時間のばらつきに相関がないものとして、最大遅延を見積もるものがある(M.Hashimoto and H.Onodera, "A performance optimization method by gate resizing based on statistical static timing analysis," Proc. Workshop on Synthesis And System Integration of Mixed Technology (SASIMI 2000), pp.77-82, 2000.に開示)。   One of the statistical static delay analysis methods is to estimate the maximum delay as there is no correlation in the variation in signal transmission time (M. Hashimoto and H. Onodera, “A performance optimization method by gate resizing”). based on statistical static timing analysis, "Proc. Workshop on Synthesis And System Integration of Mixed Technology (SASIMI 2000), pp.77-82, 2000.).

一方、CMOS論理ゲートで構成された組合せ回路の静的遅延解析手法としては、図9に示すようなある与えられた回路100を、図10に示すようなアサイクリックグラフG=(V,E)200によって表現し、このグラフG200において、各出力端子vについて、値“0”または“1”を伝搬させるために要する最大遅延を求めるという方法があった。   On the other hand, as a static delay analysis method for a combinational circuit composed of CMOS logic gates, a given circuit 100 as shown in FIG. 9 is applied to an acyclic graph G = (V, E) as shown in FIG. In this graph G200, there is a method of obtaining the maximum delay required to propagate the value “0” or “1” for each output terminal v.

図10において、破線の楕円211は、回路の主入力端子、主出力端子および論理ゲートの入出力端子に、それぞれ相当する。端子vに対応する楕円211で囲まれた白抜きの点211はvの0点v0であり、黒点212はvの1点v1である。v0およびv1は、それぞれ、対応する端子vが信号値“0”および“1”をとることを示す。   In FIG. 10, dashed ellipses 211 correspond to the main input terminal, the main output terminal, and the input / output terminals of the logic gate, respectively. A white point 211 surrounded by an ellipse 211 corresponding to the terminal v is a 0 point v0 of v, and a black point 212 is a 1 point v1 of v. v0 and v1 indicate that the corresponding terminal v takes signal values “0” and “1”, respectively.

また、Sは入ってくる枝のないソースの集合であり、Tは出て行く枝のないシンクの集合である。ソースは主入力端子に対応する点であり、シンクは主出力端子に対応する点である。また、グラフGにおけるソースからシンクに至る有向道をパスとする。図10では各枝の向きは示していないが、全ての枝は左側の点から出て、右側の点に入る有向枝とする。   S is the set of incoming sources without branches, and T is the set of outgoing sinks without branches. The source is a point corresponding to the main input terminal, and the sink is a point corresponding to the main output terminal. Further, a directional path from the source to the sink in the graph G is defined as a path. Although the direction of each branch is not shown in FIG. 10, all branches are directed branches that exit from the left point and enter the right point.

また図10において、各矩形221,222,223は回路100を構成する論理ゲートを表している。矩形内の左側の点は対応する論理ゲートの入力端子に対応し、右側の点は出力端子に対応する。また矩形内の枝は、その論理ゲートの入力を表す点から出て出力を表す点に入る。矩形がNANDゲートやNORゲートを表す場合には、その枝は、ゲート内のpMOSまたはnMOSに対応する。枝の付け方は論理ゲートの種類に応じて定まる。また異なる矩形に属する点を結ぶ枝は配線に対応し、ある端子の0点から出た枝e0は他の端子の0点に入り、ある端子の1点から出た枝e1は他の端子の1点に入る。   In FIG. 10, each rectangle 221, 222, 223 represents a logic gate constituting the circuit 100. The left point in the rectangle corresponds to the input terminal of the corresponding logic gate, and the right point corresponds to the output terminal. The branches in the rectangle go out of the point representing the input of the logic gate and enter the point representing the output. When the rectangle represents a NAND gate or a NOR gate, the branch corresponds to the pMOS or nMOS in the gate. The way of branching is determined according to the type of logic gate. A branch connecting points belonging to different rectangles corresponds to a wiring. A branch e0 from a point 0 of a certain terminal enters a point 0 of another terminal, and a branch e1 from a point of a certain terminal corresponds to the other terminal. Enter one point.

端子vに値“0”を伝搬させるために要する真の最大遅延をd0(v)、値“1”を伝搬させるために要する真の最大遅延をd1(v)とする。回路の各端子vに対するd0(v),d1(v)を、グラフG上のあるシンクからv0,v1までの最大パス長d(v0),d(v1)にそれぞれ対応させる。このため、各枝e=(v,w)に対して、信号値を端子vから端子wに伝達するのに要する遅延を、重みt(e)として与える。   The true maximum delay required to propagate the value “0” to the terminal v is d0 (v), and the true maximum delay required to propagate the value “1” is d1 (v). D0 (v) and d1 (v) corresponding to each terminal v of the circuit correspond to the maximum path lengths d (v0) and d (v1) from a certain sink on the graph G to v0 and v1, respectively. Therefore, for each branch e = (v, w), a delay required to transmit the signal value from the terminal v to the terminal w is given as a weight t (e).

このようなアサイクリックグラフを用いてシミュレーションを行うことによって、論理回路の遅延解析を比較的簡単な処理によって行うことが可能であった。
M.Hashimoto and H.Onodera, "A performance optimization method by gate resizing based on statistical static timing analysis," Proc. Workshop on Synthesis And System Integration of Mixed Technology (SASIMI 2000), pp.77-82, 2000.
By performing a simulation using such an acyclic graph, it is possible to perform a delay analysis of the logic circuit by a relatively simple process.
M. Hashimoto and H. Onodera, "A performance optimization method by gate resizing based on statistical static timing analysis," Proc. Workshop on Synthesis And System Integration of Mixed Technology (SASIMI 2000), pp.77-82, 2000.

しかしながら、図9に示されるような回路100において、信号zの遅延を計算する際に、信号xと信号yの遅延が信号bの遅延に大きく依存する場合、信号xとyの遅延の間には大きな相関がある。また、配線遅延にばらつきがある場合、信号bのファンアウトの信号伝達遅延にも相関がある。したがって、相関を考慮しない統計的解析手法は正確さを欠く可能性が高い。   However, in the circuit 100 as shown in FIG. 9, when the delay of the signal z is calculated, if the delay of the signal x and the signal y largely depends on the delay of the signal b, the delay between the signals x and y Are highly correlated. In addition, when the wiring delay varies, there is a correlation with the signal transmission delay of the fan-out of the signal b. Therefore, statistical analysis methods that do not consider correlations are likely to lack accuracy.

遅延分布見積もりの精度が悪い場合、実際には確率的にほとんど起こり得ないような,複数の最悪条件が重なった場合であっても、集積回路の正常動作を保証しなければならないので、この結果、オーバーマージンを含んだ設計にならざるを得ない。このため、設計された集積回路について、面積や消費電力等のコストを必要以上に増大させてしまうという問題があった。   If the accuracy of the delay distribution estimation is poor, normal operation of the integrated circuit must be guaranteed even when multiple worst-case conditions overlap, which are unlikely to occur in probability. The design must include an over margin. For this reason, the designed integrated circuit has a problem that costs such as area and power consumption are increased more than necessary.

前記の問題に鑑み、本発明は、集積回路の遅延分布を計算する方法として、実際の回路に即して、より正確な遅延分布を計算可能にすることを課題とする。   In view of the above problems, an object of the present invention is to make it possible to calculate a more accurate delay distribution in accordance with an actual circuit as a method of calculating a delay distribution of an integrated circuit.

また、従来の技術では、他の問題もある。   There are other problems with the prior art.

従来の方法では、実際にはシミュレーションの対象となり得ないパス(フォールスパス)を含んでいる。このため、必要以上に計算時間がかかる、または、遅延見積もり精度が低下する等の問題点があった。   The conventional method includes a path (false path) that cannot actually be a simulation target. For this reason, there have been problems such as the calculation time being longer than necessary or the delay estimation accuracy being lowered.

フォールスパスには、論理的にそのパスに信号を伝搬させるような入力が存在せず、実際には活性化されることがない論理的フォールスパスと、そのパスを活性化する入力が存在するが、実際にはそのような入力は生じないため活性化されることのない機能的フォールスパスとがある。例えば、図11において、相反する信号z,/zで制御される2個のANDゲートG1,G6を通るようなパスにおいて、G1のz以外の入力xを“1”にし、G6の出力yを“1”にするようなパスが、論理的フォールスパスに相当する。また、例えば(X,M,Y)という演算器の系列と(A,M,B)という演算器の系列の演算が必要な場合に、乗算器Mを共有化すると、(A,M,Y)または(X,M,B)という演算器の系列が生まれる。ところが、演算器を同時に動作させないような仕様であるとき、これらの系列が機能的フォールスパスに相当する。   The false path does not have an input that logically propagates a signal to the path, and there is a logical false path that is not actually activated, and an input that activates the path. In fact, there is a functional false path that is not activated because no such input occurs. For example, in FIG. 11, in a path passing through two AND gates G1 and G6 controlled by opposite signals z and / z, an input x other than z of G1 is set to “1”, and an output y of G6 is set. A path set to “1” corresponds to a logical false path. Further, for example, when a calculation of a series of computing units (X, M, Y) and a series of computing units (A, M, B) is required, if the multiplier M is shared, (A, M, Y) ) Or (X, M, B). However, when the specifications are such that the arithmetic units are not operated simultaneously, these sequences correspond to functional false paths.

また、論理的フォールスパスを、人間によって発見するのは、回路規模が大きいことからみて実際上不可能であり、計算機を用いて自動的に発見する方法が不可欠である。   In addition, it is practically impossible to find a logical false path by a human because the circuit scale is large, and a method of automatically finding it using a computer is indispensable.

前記の課題に鑑み、本発明は、集積回路を評価する方法として、フォールスパスの影響を回避し、評価精度をより向上させることを課題とする。また、設計対象の集積回路から、フォールスパスを抽出する手法を提案する。   In view of the above-described problems, an object of the present invention is to avoid the influence of a false path and further improve the evaluation accuracy as a method for evaluating an integrated circuit. We also propose a method for extracting false paths from the integrated circuit to be designed.

前記の課題を解決するために、請求項1の発明が講じた解決手段は、設計対象の集積回路についてフォールスパスを抽出する方法として、前記集積回路が有する各論理ゲート内の非制御信号枝の活性化条件を用いて、前記フォールスパスを抽出するものである。   In order to solve the above problem, the solution provided by the invention of claim 1 is a method for extracting a false path for an integrated circuit to be designed, as a method of extracting uncontrolled signal branches in each logic gate of the integrated circuit. The false path is extracted using activation conditions.

そして、請求項2の発明では、前記請求項1の発明において、第1のゲート内の非制御信号枝の活性化条件に挙げられた論理値を、伝搬操作を用いて伝搬させ、伝搬する値が制御信号である間、前記伝搬を繰り返し行い、伝搬した値と第2のゲートの非制御信号枝の活性化条件との間で矛盾が生じたとき、前記第1のゲートから前記第2のゲートまでの経路をフォールスパスとして検出するものとする。   According to the invention of claim 2, in the invention of claim 1, the value propagated by propagating the logical value listed as the activation condition of the non-control signal branch in the first gate using the propagation operation. Is a control signal, the propagation is repeated, and when there is a contradiction between the propagated value and the activation condition of the non-control signal branch of the second gate, the second gate The route to the gate is detected as a false path.

本発明によると、集積回路の遅延分布の計算において、配線または素子間の性能の相関関係が考慮されるので、遅延見積もり精度が向上する。これにより、設計する集積回路について、過剰なマージンを除去することができ、不要な面積や消費電力等を削減することができる。   According to the present invention, since the correlation of performance between wirings or elements is taken into account in calculating the delay distribution of the integrated circuit, the accuracy of delay estimation is improved. Thereby, an excess margin can be removed from the designed integrated circuit, and an unnecessary area, power consumption, and the like can be reduced.

また、集積回路の評価において、フォールスパスを除去することによって、計算時間の短縮と、遅延見積もり精度の向上という効果が得られる。   Further, in the evaluation of the integrated circuit, the effect of shortening the calculation time and improving the delay estimation accuracy can be obtained by removing the false path.

以下、本発明の実施の形態について、図面を参照しながら説明する。   Hereinafter, embodiments of the present invention will be described with reference to the drawings.

(第1の実施形態)
本発明の第1の実施形態では、回路の各端子vにおける最大遅延値の分布の計算を行う方法について、説明する。以下の説明では、端子vに値“0”を伝搬させるために要する真の最大遅延をd0(v)、値“1”を伝搬させるために要する真の最大遅延をd1(v)とする。
(First embodiment)
In the first embodiment of the present invention, a method for calculating the distribution of the maximum delay value at each terminal v of the circuit will be described. In the following description, the true maximum delay required to propagate the value “0” to the terminal v is d0 (v), and the true maximum delay required to propagate the value “1” is d1 (v).

まず最初に、与えられた回路を、図10に示すようなアサイクリックグラフG=(V,E)によって表現する。各枝e=(v,w)に対して、信号値を端子vから端子wに伝達するために要する遅延(枝eの重み)t(e)を、確率変量として扱う。その分布は正規分布N(μ,σ2)であるものとし、遅延t(e)の平均μおよび分散σ2をそれぞれμ(e)および分散σ2(e)と表す。すなわち、遅延t(e)の確率密度関数f(t(e))は、

Figure 2005285144
で与えられる。 First, a given circuit is represented by an acyclic graph G = (V, E) as shown in FIG. For each branch e = (v, w), the delay (weight of branch e) t (e) required to transmit the signal value from the terminal v to the terminal w is treated as a probability variable. The distribution is assumed to be a normal distribution N (μ, σ 2 ), and the average μ and variance σ 2 of the delay t (e) are expressed as μ (e) and variance σ 2 (e), respectively. That is, the probability density function f (t (e)) of the delay t (e) is
Figure 2005285144
Given in.

次に、配線に対応した枝eの遅延t(e)について説明する。ここでは、配線遅延t(e)も正規分布で示されるばらつきを持つものとする。   Next, the delay t (e) of the branch e corresponding to the wiring will be described. Here, it is assumed that the wiring delay t (e) also has a variation represented by a normal distribution.

いま、配線に対応した枝が点v,wの0点同士を結ぶ枝e0=(v0,w0)である場合、点v,wの1点同士を結ぶ枝e1=(v1,w1)が存在するが、その遅延t(e1)のばらつきは遅延t(e0)のばらつきと独立とはいえない。また、点vから2本以上の枝e’=(v,w’),e”=(v,w”)が出る場合(すなわちファンアウトを持つ場合)も、枝e’,e”の遅延t(e’),t(e”)のばらつきは独立ではない。そこで、このような同一ネットに対応する枝の組(e’,e”)に対して、相関係数r(e’,e”)≠0を導入する。配線に対応する枝e’の遅延と、異なるネットの配線に対応する枝または配線に対応しない(論理ゲートに含まれる)枝e”の遅延とは独立であり、相関係数r(e’,e”)=0とする。   If the branch corresponding to the wiring is a branch e0 = (v0, w0) connecting the 0 points of the points v and w, a branch e1 = (v1, w1) connecting the points v and w exists. However, the variation in the delay t (e1) is not independent of the variation in the delay t (e0). Further, when two or more branches e ′ = (v, w ′), e ″ = (v, w ″) come out from the point v (that is, when there is a fanout), the delay of the branches e ′, e ″ Variations in t (e ′) and t (e ″) are not independent. Therefore, a correlation coefficient r (e ′, e ″) ≠ 0 is introduced for such a set of branches (e ′, e ″) corresponding to the same net. The delay of the branch e ′ corresponding to the wiring and the delay of the branch e ″ not corresponding to the branch or wiring corresponding to the wiring of a different net (included in the logic gate) are independent, and the correlation coefficient r (e ′, e ″) = 0.

次に、論理ゲートに対応した枝とその遅延について説明する。論理ゲートの出力端子wに“0”または“1”を伝搬するために要する最大遅延を、グラフG上の点wの0点w0または1点w1への最大パス長d(w0)およびd(w1)に対応させるために、どのように枝を作成すればよいかを考える。   Next, branches corresponding to logic gates and their delays will be described. The maximum delay required to propagate “0” or “1” to the output terminal w of the logic gate is expressed as the maximum path lengths d (w0) and d (0) of the point w on the graph G to the 0 point w0 or 1 point w1. Consider how branches should be created in order to correspond to w1).

まず、論理ゲートがANDゲートの場合を考える。ANDゲートの入力端子をvi (1≦i≦k)とし、出力端子をwとする。出力wを“1”にするために要する遅延d(w1)は、全ての入力vi が“1”になってからの時間であるから、全ての入力vi が“1”という条件の下で、
d(w1)=max[d(vi1)+t(ei1)|1≦i≦k]……(2)
によって計算できる。そこで、各入力vi の1点vi1からwの1点w1に枝ei1=(vi1,w1)を付し、枝ei1の遅延t(ei1)は入力viが“1”になってから出力wが“1”になるまでの時間とする。
First, consider the case where the logic gate is an AND gate. The input terminal of the AND gate is v i (1 ≦ i ≦ k), and the output terminal is w. The delay d (w1) required to set the output w to “1” is the time after all the inputs v i become “1”, so that all the inputs v i are “1”. so,
d (w1) = max [d (v i 1) + t (e i 1) | 1 ≦ i ≦ k] (2)
Can be calculated by Therefore, a branch e i 1 = (v i 1, w1) is attached to one point w1 from one point v i 1 to w of each input v i , and the delay t (e i 1) of the branch e i 1 is the input v. The time from when i becomes “1” until the output w becomes “1”.

一方、ANDゲートの出力wを“0”にするために要する遅延d(w0)は、一つの入力が“0”になる時間によって決まる。したがって、vi以外の各入力vj(j≠i,1≦j≦k)が“0”であり、d(vi0)+t(ei0)≦d(vj0)+t(ej0)であるとき、
d(w0)=d(vi0)+t(ei0)
となるから、d(w0)は、
min[d(vi0)+t(ei0)|1≦i≦k ] ……(3)
で与えられるようにみえる。
On the other hand, the delay d (w0) required to set the output w of the AND gate to “0” is determined by the time when one input becomes “0”. Therefore, each input v j (j ≠ i, 1 ≦ j ≦ k) other than v i is “0”, and d (v i 0) + t (e i 0) ≦ d (v j 0) + t (e j 0),
d (w0) = d (v i 0) + t (e i 0)
Therefore, d (w0) is
min [d (v i 0) + t (e i 0) | 1 ≦ i ≦ k] (3)
It seems to be given in.

しかし、vi以外の全ての入力vjが1の場合にも、
d(w0)=d(vi0)+t(ei0)
となるから、各1≦i≦kに対して、vi以外の全ての入力vjが“1”という条件が成り立つ場合には、wを“0”にするために要する遅延の中で最大のものd(w0)は、
d(w0)=max[d(vi0)+t(ei0)|1≦i≦k]……(4)
で得られる。
However, if all inputs v j except v i are 1,
d (w0) = d (v i 0) + t (e i 0)
Therefore, for each 1 ≦ i ≦ k, if the condition that all the inputs v j other than v i are “1” is satisfied, the maximum delay among the delays required to set w to “0” D (w0) is
d (w0) = max [d (v i 0) + t (e i 0) | 1 ≦ i ≦ k] (4)
It is obtained with.

そこで、各入力viの0点vi0から出力wの0点w0に枝ei0=(vi0,w0)を付し、枝ei0の遅延t(ei0)は入力viが“0”になってから出力wが“0”になるまでの時間とする。 Therefore, the branch e i 0 = (v i 0, w0) is added from the 0 point v i 0 of each input v i to the 0 point w0 of the output w, and the delay t (e i 0) of the branch e i 0 is input. v i is the output w from getting to the "0" and the time until the "0".

このようにしてANDゲート内部に枝を付加し、その遅延を定めることによって、遅延d(w1),d(w0)のいずれも最大値演算を用いて計算することができる。   By adding branches to the inside of the AND gate and determining the delay in this way, both the delays d (w1) and d (w0) can be calculated using the maximum value calculation.

次に、論理ゲートがNANDゲートの場合について、具体的に説明する。この場合、上述の式(2),(4)において、出力wを“1”にする場合と“0”にする場合とを入れ替えるだけなので、遅延d(w1),d(w0)は、
d(w1)=max[d(vi0)+t(ei0)|1≦i≦k]……(5)
d(w0)=max[d(vi1)+t(ei1)|1≦i≦k]……(6)
で計算できることが分かる。
Next, the case where the logic gate is a NAND gate will be specifically described. In this case, in the above formulas (2) and (4), only the case where the output w is set to “1” and the case where the output w is set to “0” are interchanged, so the delays d (w1) and d (w0) are
d (w1) = max [d (v i 0) + t (e i 0) | 1 ≦ i ≦ k] (5)
d (w0) = max [d (v i 1) + t (e i 1) | 1 ≦ i ≦ k] (6)
It can be calculated that.

したがって、各入力viの0点vi0から出力wの1点w1に枝ei0=(vi0,w1)を付し、各入力viの1点vi1から出力wの0点w0に枝ei1=(vi1,w0)を付ける。枝ei0の遅延t(ei0)およびei1の遅延t(ei1)は、それぞれ入力viが“0”になってから出力wが“1”になるまでの時間、および、入力viが“1”になってから出力wが“0”になるまでの時間である。論理ゲートがインバータの場合は、k=1とすればよい。 Therefore, given the respective input v branch from 0 point v i 0 of i to 1 point w1 output w e i 0 = (v i 0, w1), the output w from one point v i 1 for each input v i A branch e i 1 = (v i 1, w0) is attached to the 0 point w0. Branch e i 0 of delay t (e i 0) and e i 1 of the delay t (e i 1), the time until the output w from when the input v i is "0" respectively to "1", The time from when the input v i becomes “1” until the output w becomes “0”. If the logic gate is an inverter, k = 1 may be set.

論理ゲートがOR(またはNOR)ゲートの場合も、同様の議論から、d(w0)(NORゲートの場合はd(w1))およびd(w1)(NORゲートの場合はd(w0))は、
d(w0)=max[d(vi0)+t(ei0)|1≦i≦k]……(7)
d(w1)=max[d(vi1)+t(ei1)|1≦i≦k]……(8)
によって計算できる。
When the logic gate is an OR (or NOR) gate, d (w0) (d (w1) in the case of NOR gate) and d (w1) (d (w0) in the case of NOR gate) are obtained from the same argument. ,
d (w0) = max [d (v i 0) + t (e i 0) | 1 ≦ i ≦ k] (7)
d (w1) = max [d (v i 1) + t (e i 1) | 1 ≦ i ≦ k] (8)
Can be calculated by

したがって、ORゲートに対する枝の付け方は、ANDゲートの場合と同様であり、NORゲートに対する枝の付け方は、NANDゲートの場合と同様である。CMOS複合ゲートの場合も、NAND(NOR)ゲートの場合と同様に枝を付せばよい。   Therefore, the way of attaching branches to the OR gate is the same as that of the AND gate, and the way of attaching branches to the NOR gate is the same as that of the NAND gate. In the case of a CMOS composite gate, branches may be added in the same manner as in the case of a NAND (NOR) gate.

しかしながら、XORゲートの場合には、入力viの値“0”が出力wの値を“0”にすることもあれば“1”にすることもある。また、入力viの値“1”が出力wの値を“0”にすることもあれば“1”にすることもある。このため、入力viの0点vi0から出力wの0点w0および1点w1に、枝ei00=(vi0,w0)およびei01=(vi0,w1)をそれぞれ付し、入力viの1点vi1から出力wの0点w0および1点w1に、枝ei10=(vi1,w0)およびei11=(vi1,w1)をそれぞれ付す。これらの枝eibb’=(vib,wb’)の遅延t(eibb’)は、入力viがbになってから出力wがb’になるまでの時間である。ここで、b,b’はいずれも、“0”または“1”のいずれかを表す。 However, in the case of an XOR gate, the value “0” of the input v i may change the value of the output w to “0” or “1”. Further, the value “1” of the input v i may change the value of the output w to “0” or “1”. For this reason, branch e i 00 = (v i 0, w0) and e i 01 = (v i 0, w1) are transferred from 0 point v i 0 of input v i to 0 point w0 and 1 point w1 of output w. From the 1 point v i 1 of the input v i to the 0 point w 0 and 1 point w 1 of the output w, branches e i 10 = (v i 1, w0) and e i 11 = (v i 1, w1) Are attached respectively. The delay t (e i bb ′) of these branches e i bb ′ = (v i b, wb ′) is the time from when the input v i becomes b to when the output w becomes b ′. Here, b and b ′ both represent “0” or “1”.

このようにして論理ゲート内部の枝を生成すれば、アサイクリックグラフG=(V,E)において各シンクへの最大パス長を求めたとき、これがクリティカルパス遅延の候補となる。   If the branch inside the logic gate is generated in this way, when the maximum path length to each sink is obtained in the acyclic graph G = (V, E), this becomes a candidate for a critical path delay.

次に、論理ゲート内の遅延のばらつきについて説明する。   Next, variations in delay within the logic gate will be described.

NANDゲート、NORゲートまたはCMOS複合ゲートの場合、枝の遅延t(ei0)およびt(ei1)は、そのゲートの入力vi が接続するpMOSおよびnMOSに付随したスイッチング遅延と考えれば良い。このようなスイッチング遅延は、トランジスタが飽和領域にある時間であり、飽和ドレイン電流Idsat、駆動すべき負荷容量C、およびゲート電圧の立ち上がり速度などによって決まる。飽和ドレイン電流Idsat はばらつきを持ち、それはゲート長Lのばらつきに最も依存する。このゲート長Lのばらつきは、しきい値電圧Vthの場合と同様、ほぼ正規分布で表されるので、スイッチング遅延t(eib)も正規分布N(μ,σ2)となるものとする。 In the case of NAND gates, NOR gates or CMOS composite gates, branch delays t (e i 0) and t (e i 1) are considered switching delays associated with the pMOS and nMOS to which the input v i of the gate is connected. good. Such a switching delay is a time during which the transistor is in the saturation region, and is determined by the saturation drain current I dsat , the load capacitance C to be driven, the rising speed of the gate voltage, and the like. The saturated drain current I dsat has variations, which most depend on the variations in the gate length L. Since the variation in the gate length L is expressed by a normal distribution as in the case of the threshold voltage V th , the switching delay t (e i b) also has a normal distribution N (μ, σ 2 ). To do.

ゲート長Lのばらつきは、隣り合うポリシリコンゲートの間隔P、トランジスタゲート幅W、拡散領域の長さLDIFなどに影響される。したがって、これらの値とゲート長Lのばらつきとの関係が見いだせたら、レイアウトパターンから間隔P,ゲート幅W,拡散領域長LDIFの値を求め、ゲート長Lのばらつきを予測することができ、それからスイッチング遅延のばらつきを見積もることができる。 The variation in the gate length L is influenced by the interval P between adjacent polysilicon gates, the transistor gate width W, the length L DIF of the diffusion region, and the like. Therefore, when the relationship between these values and the variation in the gate length L can be found, the values of the interval P, the gate width W, and the diffusion region length LDIF can be obtained from the layout pattern to predict the variation in the gate length L. Then, the variation in switching delay can be estimated.

このような遅延のばらつきは、隣り合うポリシリコンゲートの間隔に影響されるため、隣り合うトランジスタに対応する枝の遅延のばらつきは独立ではなくなる。そこで、同一論理ゲートに含まれる枝の組(e’,e”)に対して、相関係数r(e’,e”)≠0を導入する。NANDゲートやNORゲート以外の論理ゲートにも、このような相関を考える。相関がない場合には、相関係数r(e’,e”)=0としておけばよい。   Since the delay variation is affected by the interval between the adjacent polysilicon gates, the delay variation of the branch corresponding to the adjacent transistor is not independent. Therefore, a correlation coefficient r (e ′, e ″) ≠ 0 is introduced for the set of branches (e ′, e ″) included in the same logic gate. Such correlation is also considered for logic gates other than NAND gates and NOR gates. If there is no correlation, the correlation coefficient r (e ′, e ″) = 0 may be set.

相関があるのは同じ論理ゲート内に含まれる枝同士だけなので、異なるゲートに含まれる枝e’,e”の遅延は独立であり、r(e’,e”)=0とする。また、NANDゲートやNORゲートの場合には、異なる種類のMOSに対応した枝e’,e”の遅延も独立である。   Since only the branches included in the same logic gate have correlation, the delays of the branches e ′ and e ″ included in different gates are independent, and r (e ′, e ″) = 0. Further, in the case of a NAND gate or a NOR gate, the delays of the branches e ′ and e ″ corresponding to different types of MOS are also independent.

遅延のばらつきに相関があるのは、同一ネットの配線に対応した枝間ならびに一つの論理ゲート内の枝間だけであるから、遅延に相関のある枝を通るような(有向)パスは存在しない。したがって、一つのパス上のどのような枝に対しても、それらの遅延は独立である。   Since the delay variation is correlated only between the branches corresponding to the wiring of the same net and between the branches in one logic gate, there is a (directed) path that passes through the branches correlated to the delay. do not do. Thus, for any branch on a path, their delay is independent.

次に、論理ゲートおよび配線の遅延分布およびそれらの相関関係を用いて、対象とする回路の遅延の最大値の分布計算について記述する。   Next, the distribution calculation of the maximum value of the delay of the target circuit will be described using the delay distribution of the logic gate and the wiring and their correlation.

相関係数R[x,y]=ρを持つ確率変数xおよびyが、それぞれ正規分布N(μ1,σ1 2)およびN(μ2,σ2 2)をしているとき、t(=max[x,y])の平均Exp[t]と分散Var[t]は、tが2変数の正規分布をすると近似すると、σ1−σ2=ρ−1=0でないという条件で、
Exp[t]=μ1・Φ(β)+μ2・Φ(−β)+α・φ(β)……(9)
Var[t]=(μ1 2+σ1 2)・Φ(β)+(μ2 2+σ2 2)・Φ(−β)
+(μ1+μ2)・α・φ(β)−Exp[t]2……(10)
で求められる。ここで、

Figure 2005285144
とする(C.E. Clark, "The greatest of a finite set of random variables" Operations Research, vol.9, pp.145-152, 1961. に開示)。 When random variables x and y having a correlation coefficient R [x, y] = ρ have normal distributions N (μ 1 , σ 1 2 ) and N (μ 2 , σ 2 2 ), respectively, t ( = Exp [t] and variance Var [t] are approximated by assuming that t is a two-variable normal distribution, on condition that σ 1 −σ 2 = ρ−1 = 0,
Exp [t] = μ 1 · Φ (β) + μ 2 · Φ (−β) + α · φ (β) (9)
Var [t] = (μ 1 2 + σ 1 2 ) · Φ (β) + (μ 2 2 + σ 2 2 ) · Φ (−β)
+ (Μ 1 + μ 2 ) · α · φ (β) −Exp [t] 2 (10)
Is required. here,
Figure 2005285144
(Disclosed in CE Clark, "The greatest of a finite set of random variables" Operations Research, vol.9, pp.145-152, 1961.).

さらに、tと、正規分布する確率変数zとの相関係数R[t,z]は、zとxおよびzとyとの相関係数が、それぞれR[x,z]=ρ1,R[y,z]=ρ2であるとき、3変数x,y,zの正規分布を用いて、

Figure 2005285144
で与えられる。 Furthermore, the correlation coefficient R [t, z] between t and a normally distributed random variable z is such that the correlation coefficients between z and x and z and y are R [x, z] = ρ1, R [ When y, z] = ρ2, using a normal distribution of three variables x, y, z,
Figure 2005285144
Given in.

これらを利用する上で、確率に関する以下の式が必要となる。2変量x1,x2の確率密度関数をf(x1,x2)としたとき、x1+x2の平均Exp[x1+x2]と分散Var[x1+x2 ]は、 In order to use these, the following formula regarding the probability is required. Bivariate x 1, when the probability density function of x 2 and the f (x 1, x 2), the average Exp [x 1 + x 2] and variance Var [x 1 + x 2] of x 1 + x 2 is

Figure 2005285144
から、下に示す式(18),(19)によって求められる。
Exp[x1+x2]=Exp[x1]+Exp[x2]……(18)
Var[x1+x2]=Var[x1]+Var[x2]+2Cov[x1,x2] ……(19)
Figure 2005285144
From the following equations (18) and (19).
Exp [x 1 + x 2 ] = Exp [x 1 ] + Exp [x 2 ] (18)
Var [x 1 + x 2 ] = Var [x 1 ] + Var [x 2 ] + 2Cov [x 1 , x 2 ] (19)

ここで、Cov[x1,x2]は共分散であり、相関係数をR[x1,x2]とすると、次式(20)で定義されている。
Cov[x1,x2]=SQRT[Var[x1]Var[x2]]・R[x1,x2]……(20)
3変量x1,x2,x3の確率密度関数をf(x1,x2,x3)とすると、x1+x2とx3の共分散Cov[x1+x2,x3]は、

Figure 2005285144
から、次式(22)で計算することができる。
Cov[x1+x2,x3 ]=Cov[x1,x3]+Cov[x2,x3
……(22) Here, Cov [x 1 , x 2 ] is covariance, and is defined by the following equation (20) when the correlation coefficient is R [x 1 , x 2 ].
Cov [x 1 , x 2 ] = SQRT [Var [x 1 ] Var [x 2 ]] · R [x 1 , x 2 ] (20)
3 If the probability density function of the variables x 1, x 2, x 3 and f (x 1, x 2, x 3), the covariance Cov of x 1 + x 2 and x 3 [x 1 + x 2 , x 3] is ,
Figure 2005285144
Therefore, it can be calculated by the following equation (22).
Cov [x 1 + x 2 , x 3 ] = Cov [x 1 , x 3 ] + Cov [x 2 , x 3 ]
...... (22)

与えられたグラフには、直列枝が複数存在する。そこでここでは、上述した式を利用して、2本の直列枝e’=(u,v),e”=(v,w)を1本の枝e*=(u,w)に縮約する手順を示す。   A given graph has a plurality of serial branches. Therefore, here, the two serial branches e ′ = (u, v), e ″ = (v, w) are reduced to one branch e * = (u, w) using the above-described equation. The procedure to do is shown.

グラフの作り方から明らかに、遅延t(e’)とt(e”)は独立であり、t(e*)=t(e’)+t(e”)とすれば良いから、次の式(23),(24)が成り立つ。
μ(e*)=μ(e’)+μ(e”) ……(23)
σ2(e*)=σ2(e’)+σ2(e”) ……(24)
Obviously, the delays t (e ′) and t (e ″) are independent from the way of making the graph, and t (e *) = t (e ′) + t (e ″) can be obtained. 23) and (24) hold.
μ (e *) = μ (e ′) + μ (e ″) (23)
σ 2 (e *) = σ 2 (e ′) + σ 2 (e ″) (24)

さらに、上述の式(20),(22)から、t(e*)と他の枝eの遅延t(e)との相関係数ρ(e*,e)は、

Figure 2005285144
で得られる。これは、
Figure 2005285144
で確かめられる。このようにして直列枝の縮約を行っても、パス上の枝の遅延の独立性は変化しない。すなわち、eとe*を同時に通るようなパスがある場合には、ρ(e*,e)=0 である。 Furthermore, from the above equations (20) and (22), the correlation coefficient ρ (e *, e) between t (e *) and the delay t (e) of the other branch e is
Figure 2005285144
It is obtained with. this is,
Figure 2005285144
Can be confirmed. Even if the reduction of the serial branch is performed in this way, the independence of the delay of the branch on the path does not change. That is, ρ (e *, e) = 0 when there is a path that passes through e and e * simultaneously.

n変量正規分布の確率密度関数f(x1,x2,...,xn)は、

Figure 2005285144
で与えられる。ここで、(x−μ)はベクトル、(x−μ)τ は(x−μ)の転置ベクトルであり、(x−μ)τ =(x1−μ12−μ2 ... xn−μn)である。また、σijは、
Figure 2005285144
で示される対称行列であり、σij=(σij-1である。また|σij|はその行列式である。ここで、μ,σ2,ρはそれぞれ平均値、分散、相関係数に相当する。 The probability density function f (x 1 , x 2 ,..., x n ) of the n-variate normal distribution is
Figure 2005285144
Given in. Where (x−μ) is a vector and (x−μ) τ Is a transposed vector of (x−μ), and (x−μ) τ = (X 1 −μ 1 x 2 −μ 2 ... X n −μ n ). Also, σ ij is
Figure 2005285144
And σ ij = (σ ij ) −1 . | Σ ij | is the determinant. Here, μ, σ 2 , and ρ correspond to the average value, variance, and correlation coefficient, respectively.

相関係数ρの2変量正規分布の確率密度関数f(x1,x2)は、

Figure 2005285144
で与えられ、相関係数ρ=1のとき、2変量x1,x2 の間には、
Figure 2005285144
なる関係がある。 The probability density function f (x 1 , x 2 ) of the bivariate normal distribution of the correlation coefficient ρ is
Figure 2005285144
When the correlation coefficient ρ = 1, the bivariate x 1 , x 2 is
Figure 2005285144
There is a relationship.

そして、n変量の確率密度関数をf(x1,x2,...,xn)とすると、全ての変量がD以下である確率Pro[max[x1,x2,...,xn ]≦D]は、

Figure 2005285144
で与えられる。また、確率Pro[max[x1,x2,...,xn]≦D]が指定された値Y以下になるようなDの値は、
Figure 2005285144
で示される積分方程式を解くことによって、求められる。 If the probability density function of n variables is f (x 1 , x 2 ,..., X n ), the probability Pro [max [x 1 , x 2 ,. . . , X n ] ≦ D]
Figure 2005285144
Given in. Also, the probability Pro [max [x 1 , x 2 ,. . . , X n ] ≦ D] is less than the specified value Y, the value of D is
Figure 2005285144
It is calculated | required by solving the integral equation shown by these.

<遅延分布計算>
次に、上述した関係を用いて集積回路の遅延分布を求める方法について説明する。
<Delay distribution calculation>
Next, a method for obtaining the delay distribution of the integrated circuit using the relationship described above will be described.

すなわち、シンク集合Tの点v(v∈T)への最大遅延d(v)の分布(すなわち平均Exp[d(v)]と分散Var[d(v)])と、シンク集合Tの点v,w(v,w∈T)間の遅延の相関係数R[d(v),d(w)]を求める。これらが求められれば、クリティカルパス遅延max[d(v)|v∈T]がD以下である確率は、全てのd(v)が、|T|変量の正規分布をするものとして、式(31)から求められる。また、その分布を調べる場合には、式(31)をDで微分し、

Figure 2005285144
で求めることができる。 That is, the distribution of the maximum delay d (v) to the points v (vεT) of the sink set T (that is, the average Exp [d (v)] and the variance Var [d (v)]), and the points of the sink set T A correlation coefficient R [d (v), d (w)] of a delay between v and w (v, wεT) is obtained. If these are obtained, the probability that the critical path delay max [d (v) | vεT] is D or less is assumed that all d (v) have a normal distribution of | T | 31). When examining the distribution, the equation (31) is differentiated by D,
Figure 2005285144
Can be obtained.

これらは数値計算によって求めることができるが、この場合、非常に計算時間がかかる。これに対して、式(33)を正規分布で近似すれば、以下に述べる手法(式(9)〜式(15))を繰り返し用いて、その分布を高速に計算することができる。   These can be obtained by numerical calculation, but in this case, the calculation time is very long. On the other hand, if the equation (33) is approximated by a normal distribution, the distribution can be calculated at high speed by repeatedly using the following method (equation (9) to equation (15)).

以下では、各点vへの最大遅延(あるソースu(u∈S)からvへの最長パス長)をd(v)、その平均および分散をそれぞれm(v)(=Exp[d(v)]),s(v)(=Var[d(v)])と表す。さらに、2点v,wへの最大遅延d(v),d(w)の間の相関係数をr(v,w)(=R[d(v),d(w)]と表す。また、点vへの最大遅延d(v)と枝eの遅延t(e)との間の相関係数をc(v,e)(=R[d(v),t(e)])と表す。   In the following, the maximum delay to each point v (the longest path length from a certain source u (uεS) to v) is d (v), and the average and variance are m (v) (= Exp [d (v )]), S (v) (= Var [d (v)]). Further, the correlation coefficient between the maximum delays d (v) and d (w) to the two points v and w is expressed as r (v, w) (= R [d (v), d (w)]. The correlation coefficient between the maximum delay d (v) to the point v and the delay t (e) of the branch e is c (v, e) (= R [d (v), t (e)]). It expresses.

図1は本発明の第1の実施形態に係る遅延分布計算方法を示すフローチャートである。本実施形態では、アサイクリックグラフG=(V,E)において、位相幾何学的順序(topological order )で、ソースから各点v(v∈V)への最大遅延d(v)の分布を計算する。このために、以下の条件(A)(B)(C)が常に成り立つような点の集合Frontを考える。   FIG. 1 is a flowchart showing a delay distribution calculation method according to the first embodiment of the present invention. In this embodiment, the distribution of the maximum delay d (v) from the source to each point v (vεV) is calculated in the topological order in the acyclic graph G = (V, E). To do. To this end, consider a set of points Front where the following conditions (A), (B), and (C) always hold.

(A)各点v(v∈Front)について、最大遅延d(v)の平均m(v)と分散s(v)が既知である。   (A) For each point v (vεFront), the average m (v) and variance s (v) of the maximum delay d (v) are known.

(B)任意の2点v,u(v,u∈Front)に対して、最大遅延d(v),d(u)の相関係数r(v,u)が既知である。   (B) The correlation coefficient r (v, u) of the maximum delays d (v) and d (u) is known for any two points v and u (v, uεFront).

(C)各点v(v∈Front)に対して、最大遅延d(v)と任意の枝e(e∈E)の遅延t(e)との相関係数c(v,e)が既知である。
なお、直列枝は、すでに述べた手法によって、1本の枝に縮約されているものとする。
(C) For each point v (vεFront), the correlation coefficient c (v, e) between the maximum delay d (v) and the delay t (e) of an arbitrary branch e (eεE) is known It is.
Note that the serial branches are reduced to one branch by the method described above.

まず、入力工程S11において、集積回路内の各素子の接続関係を表す回路情報11、集積回路に含まれた配線や論理ゲート等各素子の性能分布を表す性能分布情報12、および配線および素子の遅延分布の相関関係を表す相関関係情報13を入力する。回路情報11を基にして、当該集積回路を表すアサイクリックグラフが生成される。   First, in the input step S11, circuit information 11 representing the connection relationship of each element in the integrated circuit, performance distribution information 12 representing the performance distribution of each element such as a wiring and a logic gate included in the integrated circuit, and the wiring and the element Correlation information 13 representing the correlation of the delay distribution is input. Based on the circuit information 11, an acyclic graph representing the integrated circuit is generated.

次に、計算点選択工程S12において、遅延分布計算を行う対象となる計算点の選択を行う。当初は、Front=S(ソースの集合)とし、各点u(u∈S)に対して、m(u)=s(u)=0とする。このとき、集合Frontの異なる点間の相関係数は全て0としておけば良いので、上記の条件は成立する。なお、主入力の信号伝達時刻のズレやばらつきがあるような場合には、それらを予めここに組み込むこともできる。その後の繰り返しでは、位相幾何学的順序に基づいて、アサイクリックグラフから1点を選択する。   Next, in the calculation point selection step S12, calculation points to be subjected to delay distribution calculation are selected. Initially, Front = S (a set of sources), and m (u) = s (u) = 0 for each point u (uεS). At this time, all the correlation coefficients between the different points in the set front may be set to 0, so the above condition is satisfied. If there is a deviation or variation in the signal transmission time of the main input, it can be incorporated in advance here. In subsequent iterations, a point is selected from the acyclic graph based on the topological order.

次に、部分回路遅延分布計算工程S13において、計算点選択工程S12において選択された計算点における遅延分布と、すでに選択された点との相関関係の計算を行う。そして、上の条件(A)(B)(C)を満たしつつ、新たな点wを集合Frontに入れる。   Next, in the partial circuit delay distribution calculation step S13, the correlation between the delay distribution at the calculation point selected in the calculation point selection step S12 and the already selected point is calculated. Then, while satisfying the above conditions (A), (B), and (C), a new point w is added to the set Front.

いま、集合Frontの点をvi(i=1,2,…,k,…,h)とし、入ってくる枝は全て集合Frontから来るような点wを考える。記述を簡単化するため、点wに入ってくる枝をei=(vi,w)(i=1,2,…,k)とする。また、出ていく枝(vi,u)の終点uが全てFront∪[w]に含まれてしまうような点vi(vi∈Front)の集合をEliminateと記す。 Now, let the points of the set front be v i (i = 1, 2,..., K,..., H), and consider a point w such that all incoming branches come from the set front. In order to simplify the description, let e i = (v i , w) (i = 1, 2,..., K) be a branch that enters the point w. Also, a set of points v i (v i εFront) at which all the end points u of the outgoing branches (v i , u) are included in Front w [w] is denoted as Eliminate.

あるソースから枝ei=(vi,w)を通って点wに至るパスの最大遅延をd’i(w)と表すと、
d’i(w)=d(vi)+t(ei) ……(34)
であるから、式(18)〜(20)を用いて、d’i(w)の平均m’i(w)と分散s’i(w)を、

Figure 2005285144
を用いて求めることができる。 If d ′ i (w) represents the maximum delay of a path from a certain source through the branch e i = (v i , w) to the point w,
d ′ i (w) = d (v i ) + t (e i ) (34)
Since it is, using equation (18) to (20), 'I mean i (w) m' d i (w) and variance s' i a (w),
Figure 2005285144
Can be obtained using

ここで、枝eiの遅延は、viに至るどのようなパス上の枝の遅延とも独立であるから、d(vi)とt(ei)も独立であり、c(vi,ei)=0 である。したがって、
s’i(w)=Var[di(w)]
=s(vi)+σ2 (ei)……(36)
の関係が成立する。
Here, the delay branch e i is what both branches of delay on the path because it is independent leading to v i, d (v i) and t (e i) are also independent, c (v i, e i ) = 0. Therefore,
s ′ i (w) = Var [d i (w)]
= S (v i ) + σ 2 (e i ) (36)
The relationship is established.

また、式(20),(22)から、s(u)≠0なる任意の点u(u∈Front)および任意の枝e(e∈E)に対して、

Figure 2005285144
であるから、
Figure 2005285144
の関係が成立する。ここでs(u)=0の場合には、r’i(w,u)=0としておく。 Also, from equations (20) and (22), for any point u (uεFront) and any branch e (eεE) where s (u) ≠ 0,
Figure 2005285144
Because
Figure 2005285144
The relationship is established. Here, when s (u) = 0, r ′ i (w, u) = 0.

次に、ソースv0から枝ej =(vj ,w)(j=1,2,…,i)のいずれかを通って点wに至るパスの最大遅延をdi(w)とする。すなわち、
i(w)=max[dj’(w)|1≦j≦i]……(41)
とする。
Next, let d i (w) be the maximum delay of the path from the source v0 to any one of the branches e j = (v j , w) (j = 1, 2,..., I). That is,
d i (w) = max [d j ′ (w) | 1 ≦ j ≦ i] (41)
And

明らかに、d1 (w)=d’1 (w)である。そこで、di-1(w)に関する分布が求まっているとき、すなわち、
i-1(w)=Exp[di-1(w)]……(42)
i-1(w)=Var[di-1(w)]……(43)
i-1(w,u)=R[di-1(w),d(u)]……(44)
i-1(w,e)=R[di-1(w),t(e)]……(45)
が既知のとき、次式(46)〜(49)を求めることを考える。
i(w)=Exp[di(w)]……(46)
i(w)=Var[di(w)]……(47)
i(w,u)=R[di(w),d(u)]……(48)
i(w,e)=R[di(w),t(e)]……(49)
このため、式(50)を用いる。
i(w)=max[di-1(w),d’i(w)]……(50)
i=2の場合から順にi=kまで計算し、d(w)の分布が求まれば、点wを集合Frontに入れることができる。点wを集合Frontに入れたとき、新たな集合Front=(Front−Eliminate)∪[w]に対して上の条件(A)(B)(C)が成立することが分かる。
Obviously, d 1 (w) = d ′ 1 (w). Therefore, when the distribution regarding d i-1 (w) is obtained, that is,
m i-1 (w) = Exp [d i-1 (w)] (42)
s i-1 (w) = Var [d i-1 (w)] (43)
r i-1 (w, u) = R [d i-1 (w), d (u)] (44)
c i-1 (w, e) = R [d i-1 (w), t (e)] (45)
Consider that the following equations (46) to (49) are obtained.
m i (w) = Exp [d i (w)] (46)
s i (w) = Var [d i (w)] (47)
r i (w, u) = R [d i (w), d (u)] (48)
c i (w, e) = R [d i (w), t (e)] (49)
For this reason, Formula (50) is used.
d i (w) = max [d i-1 (w), d ′ i (w)] (50)
If i = 2k is calculated in order from the case of i = 2 and the distribution of d (w) is obtained, the point w can be included in the set Front. It can be seen that the above conditions (A), (B), and (C) are satisfied for the new set Front = (Front-Eliminate) ∪ [w] when the point w is put in the set Front.

i(w) の分布は、式(9)〜 式(15)、すなわち、
α=SQRT[si-1(w)+s’i(w)−2SQRT[si-1(w)s’i(w)]・r’i (w,w)]……(51)
を用いて計算する。ここで、r’i(w,w)=R[di-1(w),d’i(w)]は、

Figure 2005285144
から計算できる。したがって、
Figure 2005285144
とすれば、
Figure 2005285144
によって、di(w)の分布を計算することができる。したがって、回路内の点wを集合Frontに入れるという操作を繰り返すことにより、回路のすべての点を集合Frontに入れることができ、相関を考慮した回路の遅延分布を計算することができる。 The distribution of d i (w) is expressed by Equation (9) to Equation (15), that is,
α = SQRT [s i−1 (w) + s ′ i (w) −2SQRT [s i−1 (w) s ′ i (w)] · r ′ i (w, w)] (51)
Calculate using. Here, r ′ i (w, w) = R [d i−1 (w), d ′ i (w)] is
Figure 2005285144
Can be calculated from Therefore,
Figure 2005285144
given that,
Figure 2005285144
Can calculate the distribution of d i (w). Therefore, by repeating the operation of putting the point w in the circuit into the set front, all the points of the circuit can be put into the set front, and the delay distribution of the circuit considering the correlation can be calculated.

このように、集合Eliminateを集合Frontから除去し、点wを集合Frontに入れるという操作を繰り返し、最終的にFront=Tが成立すれば、処理は終了である。この判断は、終了条件判断工程S14において行う。   In this way, the operation of removing the set Eliminate from the set Front and putting the point w into the set Front is repeated, and if Front = T is finally established, the processing is ended. This determination is performed in the end condition determination step S14.

すべての点の遅延分布計算が終了したとき、出力工程S15において、出力端子の遅延分布情報14、すなわちシンクTの各点の遅延の平均および分散を出力し、処理を終了する。そうでない場合は、計算点選択工程S12に戻って処理を続ける。   When the delay distribution calculation for all points is completed, in the output step S15, the delay distribution information 14 of the output terminal, that is, the average and variance of the delays at each point of the sink T are output, and the process ends. Otherwise, the process returns to the calculation point selection step S12 to continue the process.

なお、本実施形態では、相関関係情報は、遅延分布における相関係数によって表すものとしたが、遅延分布の代わりに遅延値そのものの相関度によって表すようにしてもよい。また、遅延以外の性能に関する相関関係を用いて、遅延分布の計算を行うことも可能である。   In this embodiment, the correlation information is represented by the correlation coefficient in the delay distribution, but may be represented by the degree of correlation of the delay value itself instead of the delay distribution. It is also possible to calculate a delay distribution using a correlation regarding performance other than delay.

例えば、相関特性情報を用いて、設計対象の集積回路のレイアウトを参照して、相関関係情報を生成するようにしてもよい。ここで、「相関特性情報」とは、配線または素子の性能の相関関係と、レイアウト上の特徴との関係を表すものである。図12は相関関係情報を生成する方法を示すフローチャートである。   For example, correlation information may be generated by referring to a layout of an integrated circuit to be designed using correlation characteristic information. Here, the “correlation characteristic information” represents the relationship between the correlation of the performance of the wiring or the element and the feature on the layout. FIG. 12 is a flowchart showing a method for generating correlation information.

素子の特性情報としては、遅延をはじめ、トランジスタのゲート幅、ゲート長、酸化膜厚、イオン注入濃度、ソースドレイン間の飽和電流、しきい値電圧等がある。これらのプロセスばらつきには、全くランダムな要因と、形状、位置、向き等のレイアウト情報に依存して変化する要因がある。例えば、トランジスタ拡散層のイオン注入濃度は、製造時の注入装置の方向に依存するので、同じ向きに配置した方が同じ特性が得られやすい。また、イオン注入濃度や酸化膜厚等は配置位置に依存して連続的に変化する傾向があるので、2つの素子の特性を比較した場合、近くに配置するほど類似した特性を示す確率が高い。さらに、ゲート幅やゲート長は、例えば他のゲートとの距離等周囲のレイアウト形状に依存して変化しやすい。また、同じ論理ゲートに対する異なるパスの遅延や、共通配線が途中で分岐する場合の配線遅延は、そのばらつきの相関関係は強いと考えられる。   The element characteristic information includes delay, gate width, gate length, oxide film thickness, ion implantation concentration, saturation current between source and drain, threshold voltage, and the like. These process variations include completely random factors and factors that change depending on layout information such as shape, position, and orientation. For example, since the ion implantation concentration of the transistor diffusion layer depends on the direction of the implantation apparatus at the time of manufacture, it is easier to obtain the same characteristics when arranged in the same direction. In addition, since the ion implantation concentration, oxide film thickness, etc. tend to change continuously depending on the arrangement position, when comparing the characteristics of the two elements, the probability of showing similar characteristics increases as they are arranged closer to each other. . Further, the gate width and the gate length are likely to change depending on the surrounding layout shape such as the distance to other gates. Further, it is considered that the correlation between the variations of delays of different paths for the same logic gate and wiring delays when the common wiring branches in the middle is strong.

相関特性情報の例を示す。
(1)2つの素子間の距離Dと2つの素子の遅延分布の相関係数Rとの間に、
R=a・exp(−D/b)という関係を持つ場合(a,bは定数)
(2)2つの素子が同じ向きに配置されている場合の相関係数はcであるが異なる向きの場合はeである場合(c,eは定数)
(3)配線が途中で分岐している場合、全配線長に占める共通部分の割合をwとしたとき、互いの配線遅延の相関関係は、R=f・wである場合(fは定数)
(4)同じ素子に起因する素子遅延の相関係数はgであるが、別素子のであればhである場合(g,hは定数)
等である。これらの関係式の一部を用いてもよいし、組み合わせた式として用いてもよい。
An example of correlation characteristic information is shown.
(1) Between the distance D between the two elements and the correlation coefficient R of the delay distribution of the two elements,
When there is a relationship of R = a · exp (−D / b) (a and b are constants)
(2) When the correlation coefficient is c when two elements are arranged in the same direction, but e when they are in different directions (c and e are constants)
(3) When the wiring branches in the middle, when the ratio of the common portion in the total wiring length is w, the correlation of the mutual wiring delay is R = f · w (f is a constant)
(4) In the case where the correlation coefficient of the element delay caused by the same element is g, but is h in the case of another element (g and h are constants)
Etc. A part of these relational expressions may be used, or a combined expression may be used.

相関特性情報は、測定により得ることができる。例えば、向きや周囲のレイアウト形状、素子間の距離の異なるようなサンプル素子を多数含んだ特性評価用集積回路を製造し、各素子の特性を測定し、素子特性の平均値や分散を計算により求めればよい。図13は相関特性情報を生成する方法を示すフローチャートである。また、遅延分布の相関関係が直接得られなくとも、トランジスタの飽和電流は遅延にほぼ比例することがわかっており、またゲート長は飽和電流に反比例、ゲート幅は飽和電流に比例することがわかっているので、レイアウト条件と、これらゲート長、ゲート幅、飽和電流等との相関関係を得ることができれば、遅延の相関関係として用いることも可能である。   The correlation characteristic information can be obtained by measurement. For example, manufacture an integrated circuit for characteristic evaluation that includes many sample elements with different orientations, surrounding layout shapes, and distances between elements, measure the characteristics of each element, and calculate the average value and variance of the element characteristics Find it. FIG. 13 is a flowchart showing a method for generating correlation characteristic information. Even if the correlation of the delay distribution is not directly obtained, it is known that the saturation current of the transistor is almost proportional to the delay, the gate length is inversely proportional to the saturation current, and the gate width is proportional to the saturation current. Therefore, if a correlation between the layout conditions and the gate length, gate width, saturation current, and the like can be obtained, it can be used as a delay correlation.

このように、相関特性情報は、集積回路設計の前に、プロセスに応じてあらかじめ求めておけばよい。そして、実際の集積回路設計においては、相関特性情報から実際のレイアウト等の情報に基づいて、各素子間の相関関係情報を求めればよい。   Thus, the correlation characteristic information may be obtained in advance according to the process before designing the integrated circuit. In actual integrated circuit design, correlation information between elements may be obtained based on information such as an actual layout from the correlation characteristic information.

例えば、素子間の距離がD、同じ向きに配置されている2つの素子の遅延分布の相関係数Rは、R=f(D,c,h)で得られる。ここで、f(x,y,z)は任意の関数であり、例えば、f(x,y,z)=Kyz/xという関数である(Kは定数)。   For example, the distance between the elements is D, and the correlation coefficient R of the delay distribution of two elements arranged in the same direction is obtained by R = f (D, c, h). Here, f (x, y, z) is an arbitrary function, for example, a function of f (x, y, z) = Kyz / x (K is a constant).

(第2の実施形態)
本発明の第2の実施形態は、与えられた回路について、フォールスパスを除去して回路を評価する方法に関するものである。
(Second Embodiment)
The second embodiment of the present invention relates to a method for evaluating a circuit by removing a false path for a given circuit.

「論理的フォールスパス」は、回路の接続構造に関する情報を用いて特徴付けることができる。すなわち、アサイクリックグラフG=(V,E)において、2つの点x,yを同時に通るパスとして定義できる。また、「機能的フォールスパス」は、原因部分パスを含むパスとして指定でき、原因部分パスは、点集合の対(X,Y)を用いて、Xの点xからYの点yに至るパスとして定義できる(H.C. Chen and D.H. Du, "Path sensitization in critical path problem," IEEE Trans. Computer-Aided Design of ICs and Systems, vo.12, no.2, pp.196-207, 1993 に開示)。   A “logical false path” can be characterized using information about the connection structure of the circuit. That is, in the acyclic graph G = (V, E), it can be defined as a path that passes through two points x and y simultaneously. The “functional false path” can be specified as a path including a cause partial path, and the cause partial path is a path from a point x of X to a point y of Y using a point set pair (X, Y). (Disclosed in HC Chen and DH Du, “Path sensitization in critical path problem,” IEEE Trans. Computer-Aided Design of ICs and Systems, vo.12, no.2, pp.196-207, 1993).

すなわち、図2において、フォールスパスは、点集合の対(X,Y)を指定し、Xの点41とYの点42を同時に通るパスとして定義できるから、これらのパスを、グラフG400から除去できれば、クリティカルパス遅延の精度を上げることができる。   That is, in FIG. 2, a false path can be defined as a path that specifies a point set pair (X, Y) and passes through a point 41 of X and a point 42 of Y at the same time. Therefore, these paths are removed from the graph G400. If possible, the accuracy of the critical path delay can be increased.

ここでは、点集合の対(X,Y)によって指定できるフォールスパスの除去手法について、説明する。ただし、Xに含まれる異なる2点x’,x”間には有向道は存在せず、Yに含まれる異なる2点間にも有向道は存在しないものとする。論理回路において、x∈Xおよびy∈Yはそれぞれゲートの入力および出力に対応しているから、この仮定は不自然なものではない。Xのある点xからの有向道と、Yのある点yへの有向道の両方が存在するような点の集合をU’とし、U’からXとYを取り除いた集合をU(=U’−X−Y)とする。集合UによるグラフGの点セクショングラフ43を、G[U]=(U,E[U])とする。ここで、E[U]=[(v,w)∈E|v∈U,w∈U]である。   Here, a false path removal method that can be designated by a point set pair (X, Y) will be described. However, it is assumed that there is no directional road between two different points x ′ and x ″ included in X, and there is no directional road between two different points included in Y. In the logic circuit, x This assumption is not unnatural, since ∈ X and y ∈ Y correspond to the input and output of the gate, respectively: a directed path from a point x of X and an existence to a point y of Y A set of points where both directions are present is U ′, and a set obtained by removing X and Y from U ′ is U (= U′−X−Y). 43 is G [U] = (U, E [U]), where E [U] = [(v, w) εE | vεU, wεU].

さらに、図3において、集合G[U]から出ていく枝の終点であって、Yの点42以外の点の集合52をOut、集合G[U]に入ってくる枝の始点であって、Xの点41以外の点の集合51をInとする。すなわち、

Figure 2005285144
Figure 2005285144
Further, in FIG. 3, the end point of the branch coming out from the set G [U], the set 52 of points other than the Y point 42 is set to Out, and the start point of the branch entering the set G [U] is set. A set 51 of points other than the point 41 of X is In. That is,
Figure 2005285144
Figure 2005285144

このとき、明らかに、次の性質がある。   At this time, the following properties are apparent.

i.OutとInは共通要素を持たず、Outの点vからInの点wに至るパスは存在しない。なぜなら、点vから点wに至る有向道が存在すると仮定すると、このような点vまたは点wに対して、Xの点からの有向道とYの点への有向道が同時に存在することになり、集合Uの仮定に反する。   i. Out and In do not have a common element, and there is no path from the point v of Out to the point w of In. Because, assuming that there is a directed road from point v to point w, there is a directed road from point X to point Y at the same time for point v or point w. This is contrary to the assumption of the set U.

ii.Outの点vからYの点yに至るパスも存在しない。   ii. There is no path from Out point v to Y point y.

iii.Xの点xからInの点vに至るパスも存在しない。もし、このようなパスが存在するとすると、点vはUに含まれなければならず、集合Uの仮定に反する。   iii. There is no path from the point x of X to the point v of In. If such a path exists, the point v must be included in U, contrary to the assumption of the set U.

図4は本発明の回路性能評価方法のフローチャートを表している。図4において、まず入力工程S21によって、評価対象である回路の接続関係や性能等を表す回路情報21と、フォールスパス情報22とを入力する。フォールスパス情報22では、各フォールスパスが、集積回路を表すグラフ上の2点の組によって表現されている。   FIG. 4 shows a flowchart of the circuit performance evaluation method of the present invention. In FIG. 4, first, in the input step S <b> 21, circuit information 21 representing the connection relationship and performance of the circuit to be evaluated and false path information 22 are input. In the false path information 22, each false path is represented by a set of two points on a graph representing an integrated circuit.

次に等価回路生成工程S22において、入力された回路情報21から、フォールスパスを含まない等価回路の生成を行う。フォールスパスが複数ある場合は、この等価回路生成を繰り返し行えばよい。そして、等価回路評価工程S23において、フォールスパスを含まない等価回路情報23を用いて、遅延や消費電力等の回路評価を行う。   Next, in an equivalent circuit generation step S22, an equivalent circuit that does not include a false path is generated from the input circuit information 21. When there are a plurality of false paths, this equivalent circuit generation may be repeated. Then, in the equivalent circuit evaluation step S23, circuit evaluation such as delay and power consumption is performed using the equivalent circuit information 23 not including the false path.

図5は等価回路生成工程S22の処理を示すフローチャートである。ここでは、点集合の対(X,Y)に対して、アサイクリックグラフG=(V,E)の変形操作を行うことによって、等価回路を生成する。   FIG. 5 is a flowchart showing the process of the equivalent circuit generation step S22. Here, an equivalent circuit is generated by performing a deformation operation of the acyclic graph G = (V, E) on the point set pair (X, Y).

まず部分回路抽出工程S22aにおいて、図3に示すように、部分回路G[U]43を抽出する。次に図6に示すように、部分回路複製工程S22bにおいて、部分回路G[U]43を複製して第2の部分回路に相当するグラフG”62を作り、元の部分回路G[U]43を第1の部分回路に相当するグラフG’61とする。次に部分回路接続変更工程S22cにおいて、グラフG’61の点からy42への枝を全て取り除き、代わりにグラフG”62の対応する点からy42への枝EG1を付ける。さらに、In51の点からグラフG’61の点に入る枝EG2の複製EG3を、In51の点と対応するグラフG”62の点との間に付ける。なお、グラフG’61の点からOut52の点に入る枝EG4はそのまま残しておく。   First, in the partial circuit extraction step S22a, the partial circuit G [U] 43 is extracted as shown in FIG. Next, as shown in FIG. 6, in the partial circuit duplication step S22b, the partial circuit G [U] 43 is duplicated to create a graph G ″ 62 corresponding to the second partial circuit, and the original partial circuit G [U]. 43 is a graph G′61 corresponding to the first partial circuit.Next, in the partial circuit connection changing step S22c, all branches from the point of the graph G′61 to y42 are removed, and instead the correspondence of the graph G ″ 62 The branch EG1 from the point to y42 is attached. Further, a duplicate EG3 of the branch EG2 that enters the point of the graph G′61 from the point of In51 is added between the point of In51 and the corresponding point of the graph G ″ 62. The branch EG4 entering the point is left as it is.

さらに、グラフG’61において新たなシンクが生まれたり、グラフG”62において新たなソースが生まれたりしたときは、そのような点とこれに接続する枝をともに取り除く、という操作を繰り返し、グラフG’61およびG”62の中にシンクやソースが存在しないようにする。このようにして生成されたアサイクリックグラフを、G<(X,Y)>と表す。   Further, when a new sink is born in the graph G′61 or a new source is born in the graph G ″ 62, the operation of removing both such points and branches connected thereto is repeated, and the graph G Make sure there are no sinks or sources in '61 and G ″ 62. The cyclic graph generated in this way is represented as G <(X, Y)>.

このグラフG<(X,Y)>に対して、以下の性質が成り立つ。   The following properties hold for this graph G <(X, Y)>.

(i)G<(X,Y)>には、Xの点xとYの点yを同時に通るパスは存在しない。   (I) In G <(X, Y)>, there is no path that passes through the point x of X and the point y of Y at the same time.

(ii)元のグラフGにおけるパスで、Xの点とYの点を同時に通らないものは、全てG<(X,Y)>に存在する。   (Ii) All paths in the original graph G that do not pass the X point and the Y point simultaneously exist in G <(X, Y)>.

(iii)G<(X,Y)>に存在するどのパスも、これに対応するパス(通る点と枝が同一)が元のグラフGに存在する。   (Iii) Every path existing in G <(X, Y)> has a path corresponding to this path (the same point as the passing point and branch) in the original graph G.

したがって、G<(X,Y)>においてクリティカル遅延のばらつきを求めたとき、元のグラフGにおいて、Xの点とYの点を同時に通らないパスの最大遅延のばらつきを求めたことになる。   Therefore, when the variation in critical delay is obtained in G <(X, Y)>, the variation in the maximum delay of the path that does not pass through the point X and the point Y in the original graph G is obtained.

図7は上述した性質を満たす等価回路を生成するグラフ変形処理の他の例を示す図である。すなわち、部分回路接続変更工程S22cにおいて、第1の部分回路に相当するグラフG’61の点からYの点42への枝を全て取り除き、代わりに第2の部分回路に相当するグラフG”62の対応する点からYの点42に枝EG5を付け替える。そして、G”62をG’61に付加した後、G’61の点からOut52の点に入る枝EG6の複製EG7を、対応するG”62の点からOut52の点に付ける。また、In51の点からG’61の点に入る枝を全て取り除き、代わりにIn51からG”62の、対応する点に枝EG8に付け替える。   FIG. 7 is a diagram showing another example of a graph transformation process for generating an equivalent circuit that satisfies the above-described properties. That is, in the partial circuit connection changing step S22c, all branches from the point of the graph G′61 corresponding to the first partial circuit to the Y point 42 are removed, and instead the graph G ″ 62 corresponding to the second partial circuit. The branch EG5 is reassigned from the corresponding point of Y to the point 42 of Y. Then, after adding G ″ 62 to G′61, the duplicate EG7 of the branch EG6 entering the point of Out52 from the point of G′61 is changed to the corresponding G The points from “62” to the point of Out 52 are also removed, and all branches entering the point of G′61 from the points of In51 are removed, and instead, the branches EG8 are replaced with the corresponding points of “G51” from In51.

図6の例では、第1の部分回路に相当するグラフG’61は、第1の点41並びにIn51およびOut52と接続されており、かつ、第2の点42とは接続されていない。一方、第2の部分回路に相当するグラフG”62は、第2の点42およびIn51と接続されており、かつ、第1の点41およびOut52とは接続されていない。この結果、第1の点41から第2の点42に向かうパスが存在しない。   In the example of FIG. 6, the graph G ′ 61 corresponding to the first partial circuit is connected to the first point 41, In 51 and Out 52, and is not connected to the second point 42. On the other hand, the graph G ″ 62 corresponding to the second partial circuit is connected to the second point 42 and In51, and is not connected to the first point 41 and Out52. There is no path from the point 41 to the second point 42.

また図7の例では、第1の部分回路に相当するグラフG’61は、第1の点41およびOut52と接続されており、かつ、第2の点42およびIn51と接続されていない。一方、第2の部分回路に相当するグラフG”62は、第2の点42並びにIn51およびOut52と接続されており、かつ、第1の点41とは接続されていない。この結果、第1の点41から第2の点42に向かうパスが存在しない。   In the example of FIG. 7, the graph G ′ 61 corresponding to the first partial circuit is connected to the first point 41 and Out 52, and is not connected to the second point 42 and In 51. On the other hand, the graph G ″ 62 corresponding to the second partial circuit is connected to the second point 42, In 51 and Out 52, and is not connected to the first point 41. There is no path from the point 41 to the second point 42.

以下、本実施形態に係る等価回路生成方法を、一般化して記述する。   Hereinafter, the equivalent circuit generation method according to the present embodiment will be described in a generalized manner.

除去すべき全てのフォールスパスの集合は、点集合の対の集合F=[(Xi,Yi)|i=1,2,…,f]によって表される。そこで、Gからこれら全てのフォールスパスを除去するために、上述の変形操作を各対(X,Y)(∈F)に対して繰り返す。このとき、Gを変形してG<X,Y>を作る際に、Uの点が複製されているから、(X,Y)以外の対(X’,Y’)(∈F−[(X,Y)])を、Uを用いて次のように修正する。   A set of all false paths to be removed is represented by a set of point set pairs F = [(Xi, Yi) | i = 1, 2,..., F]. Therefore, to remove all these false paths from G, the above deformation operation is repeated for each pair (X, Y) (εF). At this time, when G is deformed to create G <X, Y>, since the point of U is duplicated, a pair (X ′, Y ′) other than (X, Y) (∈F − [( X, Y)]) is modified using U as follows:

I.X’∩U≠fのとき:
X’∩Uの点で、複製が新たなシンクやソースにならずにG<X,Y>に残っているとき、その複製をX’に入れる。
I. When X'∩U ≠ f:
If the replica remains in G <X, Y> at X'∩U, instead of becoming a new sink or source, put that replica in X '.

II.Y’∩U≠fのとき:
Y’∩Uの点で、複製が新たなシンクやソースにならずにG<X,Y>に残っているとき、その複製をY’に入れる。
II. When Y'∩U ≠ f:
If the replica remains in G <X, Y> at Y'∩U, and does not become a new sink or source, put that replica in Y ′.

いま、更新される前の対を(X’,Y’)、更新された対を(X”,Y”)と表す。明らかに、G<X,Y> において、X”の点間を結ぶ有向道はないし、Y”の点間を結ぶ有向道もない。さらに、Gにおいて、Xの点とYの点を同時に通るパスの集合をP(X,Y)、X’の点とY’の点を同時に通るパスの集合をP(X’,Y’)と表し、G<X,Y>において、X”の点とY”の点を同時に通るパスの集合をP’(X”,Y”)と表す。このとき、P’(X”,Y”)に含まれるどのパスも、P(X’,Y’)のどれかのパスに対応する。すなわち、P(X’,Y’)のパスに対応するパスで、G<X,Y>に存在するものは、P’(X”,Y”) に含まれる。それゆえ、P(X’,Y’)以外のGのパスで、P’(X”,Y”)に含まれるものはない。   Now, the pair before update is represented as (X ′, Y ′), and the updated pair is represented as (X ″, Y ″). Clearly, in G <X, Y>, there is no directed road connecting the points of X ″, and there is no directed road connecting the points of Y ″. Further, in G, a set of paths that simultaneously pass the points X and Y is P (X, Y), and a set of paths that simultaneously pass the points X ′ and Y ′ is P (X ′, Y ′). In G <X, Y>, a set of paths that simultaneously pass through the points X ″ and Y ″ is represented as P ′ (X ″, Y ″). At this time, any path included in P ′ (X ″, Y ″) corresponds to any path in P (X ′, Y ′). That is, a path corresponding to the path P (X ′, Y ′) and existing in G <X, Y> is included in P ′ (X ″, Y ″). Therefore, no G path other than P (X ′, Y ′) is included in P ′ (X ″, Y ″).

したがって、G<(X,Y)>に対して(X’,Y’)に関する変形操作を行って得られるグラフをG”と表すと、G”では、P’(X”,Y”)のパスが全て除去されているから、GからP(X’,Y’)のパスが全て除去されたことになる。すなわち、次のような性質が成り立つ。   Therefore, if a graph obtained by performing a transformation operation on (X ′, Y ′) with respect to G <(X, Y)> is denoted by G ″, G ″ represents P ′ (X ″, Y ″). Since all the paths have been removed, all the paths from G to P (X ′, Y ′) have been removed. That is, the following properties hold.

(i)G”には、P(X,Y)に対応するパスも、P(X’,Y’)に対応するパスも存在しない。   (I) G ″ has neither a path corresponding to P (X, Y) nor a path corresponding to P (X ′, Y ′).

(ii)G<X,Y>におけるパスでP’(X”,Y”)以外のパスは、全てG”に存在する。したがって、GにおけるP(X,Y),P(X’,Y’)以外のパスは、全てG”に存在する。   (Ii) All paths other than P ′ (X ″, Y ″) in G <X, Y> exist in G ″. Therefore, P (X, Y), P (X ′, Y in G) All paths other than ') exist in G ″.

(iii)G”に存在するどのパスも、これに対応するものがG<X,Y>に存在し、したがって、Gにも存在する。   (Iii) Any path that exists in G ″ has a corresponding one in G <X, Y> and therefore also in G.

このことから、上述したグラフの変形操作と点集合対の更新操作とを繰り返して、Fで指定される全てのフォールスパスを除去したグラフをG*=(V*,E*)とすると、G*=(V*,E*)上のパスと、元のグラフG=(V,E)のパスとの間には、次のような関係が成り立つ。   From this, if the graph from which all false paths specified by F are removed by repeating the above-described graph transformation operation and point set pair update operation is G * = (V *, E *), G The following relationship is established between the path on * = (V *, E *) and the path on the original graph G = (V, E).

(i)どの対(X,Y)∈Fに対しても、G*上には、Xの点xとYの点yを同時に通るパスは存在しない。   (I) For any pair (X, Y) εF, there is no path on G * that passes through the point x of X and the point y of Y at the same time.

(ii)Fで指定されるフォールスパス以外の全てのGのパスは、G*に存在する。   (Ii) All G paths other than the false path specified by F exist in G *.

(iii)G*に存在するどのパスも、それに対応するものがGに存在する。   (Iii) Any path existing in G * has a corresponding one in G.

この操作は、次のように、表すことができる。   This operation can be expressed as follows.

F=[(Xi,Yi)|i=1,2,…,f]に対して、G_(1)=G<X_(1),Y_(1)>、Gi=Gi-1<Xi i-1, Yi i-1>(i=2,…,f)とする。ここで、Gi-1<Xi i-1,Yi i-1>(i=2,…,f)は、グラフGi-1に対して、(Xi i-1,Yi i-1)に関する変形操作を行って得られるグラフであり、(Xi i-1,Yi i-1)(i=2,…,f)は、(Xi i-2,Yi i-2)に対して、(Xi-1 i-2,Yi-1 i-2)で定められるUi-1を用いた更新操作を行って得られる対である。 For F = [(X i , Y i ) | i = 1, 2,..., F], G_ (1) = G <X_ (1), Y_ (1)>, G i = G i−1 <X i i−1 , Y i i−1 > (i = 2,..., F). Here, G i−1 <X i i−1 , Y i i−1 > (i = 2,..., F) is (X i i−1 , Y i i ) with respect to the graph G i−1 . −1 ) is a graph obtained by performing a transformation operation on (X i i−1 , Y i i−1 ) (i = 2,..., F) is (X i i−2 , Y i i−−). 2 ) is a pair obtained by performing an update operation using U i-1 defined by (X i-1 i-2 , Y i-1 i-2 ).

このUi-1は、Gi-1=G_(i−2)<Xi-1 i-2,Yi-1 i-2>上で、Xi-1 i-2の点からの有向道とYi-1 i-2の点への有向道の両方が存在する点の集合から、Xi-1 i-2の点とYi-1 i-2の点を取り除いたものである。 This U i-1 is obtained from the point of X i-1 i-2 on G i-1 = G_ (i-2) <X i-1 i-2 , Y i-1 i-2 >. those from a set of points both Yukodo to point towards the road and Y i-1 i-2 is present, remove the point X i-1 in terms of i-2 and Y i-1 i-2 It is.

G_(0)=G,X_(1)^(0)=X_(1),Y_(1)^(0)=Y_(1)からはじめて、各(Xi,Yi)(i=1,2,…,f)に対して、Gi =Gi-1<Xi i-1,Yi i-1>を生成する操作を繰り返し、Gfが得られる。これにより、Fで指定されるG上の全てのパスの集合をP(F)=∪iP(Xi,Yi)とすれば、Gf上にはP(F)に対応するパスは存在せず、GのP(F)以外のパスは、対応するものがGf上に存在する。 Starting from G_ (0) = G, X_ (1) ^ (0) = X_ (1), Y_ (1) ^ (0) = Y_ (1), each (X i , Y i ) (i = 1, 2,..., F), the operation of generating G i = G i-1 <X i i-1 , Y i i-1 > is repeated to obtain G f . Thus, if a set of all paths on G specified by F is P (F) = ∪iP (X i , Y i ), there is a path corresponding to P (F) on G f. Without passing, the path other than P (F) of G has a corresponding path on G f .

(第3の実施形態)
本発明の第3の実施形態は、設計対象の回路から、フォールスパスを抽出する方法に係るものである。抽出されたフォールスパスは、先の第2の実施形態に開示した方法を用いて、削除することができる。
(Third embodiment)
The third embodiment of the present invention relates to a method for extracting a false path from a circuit to be designed. The extracted false path can be deleted by using the method disclosed in the second embodiment.

第2の実施形態ですでに述べたように、「論理的フォールスパス」は、回路の接続構造に関する情報を用いて特徴付けることができる。すなわち、アサイクリックグラフG=(V,E)において、2つの点x,yを同時に通るパスとして定義できる。   As already described in the second embodiment, the “logical false path” can be characterized using information about the connection structure of the circuit. That is, in the acyclic graph G = (V, E), it can be defined as a path that passes through two points x and y simultaneously.

いま、ANDゲートにおける信号値“0”のように、論理ゲートの一の入力にその値が与えられたとき出力が決定するような信号値のことを「制御信号」と呼び、ANDゲートにおける信号値“1”のように、論理ゲートの一の入力にその値が与えられても出力が決定しないような信号値のことを「非制御信号」と呼ぶ。AND,OR,NAND,NORの各ゲートには、制御信号および非制御信号が存在し、それらは互いに否定の関係にある。これに対して、インバータでは“0”“1”のいずれも制御信号であり、XORゲートでは“0”“1”のいずれも非制御信号である。すなわち、AND,OR,NAND,NORの各ゲート、およびインバータでは、一の入力に制御信号が与えられると、その出力が決定する。   Now, a signal value whose output is determined when a value is given to one input of a logic gate, such as a signal value “0” in an AND gate, is called a “control signal”. A signal value such as the value “1” that does not determine the output even when the value is given to one input of the logic gate is called a “non-control signal”. Each of the AND, OR, NAND, and NOR gates has a control signal and a non-control signal, and they are in a negative relationship with each other. In contrast, in the inverter, both “0” and “1” are control signals, and in the XOR gate, both “0” and “1” are non-control signals. That is, in each of the AND, OR, NAND, and NOR gates and the inverter, when a control signal is given to one input, the output is determined.

そこで、これらの各ゲートに関して、制御信号の伝播操作を定める。例えば図11において、z=“1”のときは、インバータG4の出力が“0”になり、ANDゲートG5の出力cが“0”になる。このため、伝播操作により、z=1はc=0を導く。したがって、c=1のときはz=0である。なお、この関係は、逆伝播操作によって導くこともできる。   Therefore, a control signal propagation operation is determined for each of these gates. For example, in FIG. 11, when z = “1”, the output of the inverter G4 is “0”, and the output c of the AND gate G5 is “0”. For this reason, z = 1 leads to c = 0 by the propagation operation. Therefore, when c = 1, z = 0. This relationship can also be derived by a back propagation operation.

AND,OR,NAND,NORの各ゲートにおいて、非制御信号が通るパスが活性化されるためには、他のすべての入力が非制御信号でなければならない。これに対して、制御信号が通るパスが活性化されるためには、そのパスが通る入力v以外の各入力に、非制御信号が入るか、vに制御信号が到達した後に制御信号が入るかのいずれかとなる。したがって、制御信号が通るパスが活性化されるか否かを判定するには、必然的に遅延量が必要となる。それに対して、非制御信号が通るパスの方は、時間的要素に無関係に、接続関係とゲートの種類だけで活性化されるか否かが判定できる。   In each of the AND, OR, NAND, and NOR gates, all other inputs must be non-control signals in order to activate the path through which the non-control signal passes. On the other hand, in order to activate the path through which the control signal passes, a non-control signal is input to each input other than the input v through which the path passes, or a control signal is input after the control signal reaches v. Either. Therefore, a delay amount is inevitably required to determine whether or not the path through which the control signal passes is activated. On the other hand, it is possible to determine whether the path through which the non-control signal passes is activated only by the connection relation and the gate type regardless of the time factor.

そこで、グラフG=(V,E)において、非制御信号が通過する論理ゲート内の各枝e=(v,w)に対して、その枝が活性化するための条件、すなわちwに入る他のすべての枝を非制御信号が通過する、という条件を与える。これを、「非制御信号枝eの活性化条件」と呼ぶ。wに入る他の枝e’=(u,w)に非制御信号sが入るという条件を、Gのuに付随するネット(信号)をNet(u)として、Net(u)=sと表す。   Therefore, in the graph G = (V, E), for each branch e = (v, w) in the logic gate through which the non-control signal passes, the condition for activating that branch, that is, other than w is entered. The condition that the non-control signal passes through all branches of is given. This is called “an activation condition for the non-control signal branch e”. The condition that the non-control signal s enters the other branch e ′ = (u, w) entering w is expressed as Net (u) = s, where Net (u) associated with u of G is Net (u). .

Net(u)の信号sが、u以外にもファンアウトを持ち、それが制御信号として別の論理ゲートLに入っているとき、Lの出力は伝播操作によって値が決定する。そこで、非制御信号枝の活性化条件に挙げられた論理値を、伝搬操作を用いて伝播させる。例えば図11において、第1のゲートしてのゲートG1内の(v1,w1)の活性化条件は、z=1すなわちNet(u)=1であるが、これはゲートG4の入力a=1、ゲートG6の入力c=0に伝播させることができる。そうすると、c=1ならばz=0であるから、第2のゲートとしてのANDゲートG6内の枝(b1,y1)の活性化条件c=1とz=1とは両立せず、矛盾が生じることが分かる。すなわち、枝(v1,w1)と枝(b1、y1)とを同時に活性化させることはできないので、これらの枝を同時に通るようなパスは,フォールスパスであると判断できる。このようなフォールスパスは、点対(v1,b1)によって指定できる。   When the signal s of Net (u) has a fan-out other than u, and it enters another logic gate L as a control signal, the value of the output of L is determined by a propagation operation. Therefore, the logical value listed as the activation condition of the non-control signal branch is propagated using the propagation operation. For example, in FIG. 11, the activation condition of (v1, w1) in the gate G1 as the first gate is z = 1, that is, Net (u) = 1, but this is because the input a = 1 of the gate G4. , And can be propagated to the input c = 0 of the gate G6. Then, if c = 1, z = 0, so that the activation conditions c = 1 and z = 1 of the branch (b1, y1) in the AND gate G6 as the second gate are not compatible, and there is a contradiction. You can see that it happens. That is, since the branch (v1, w1) and the branch (b1, y1) cannot be activated at the same time, a path that passes through these branches simultaneously can be determined to be a false path. Such a false path can be designated by a point pair (v1, b1).

図8は本発明の第3の実施形態に係るフォールスパス抽出方法を示すフローチャートである。図8に示すように、まず入力工程S31において、回路情報31の入力を行う。次に必要条件決定工程S32において、各ゲートにおける非制御信号を活性化する信号の必要条件を決定する。Enc=(unc,wnc)をゲート内の枝で入力が非制御信号ncsに対応するものとし、Net(u)=ncsを活性化条件とする枝の集合をRE(enc)=[(vnc,wnc)∈E]と表す。Net(u)=ncsは、伝播操作によって、各ネットの値を定めていくことも可能である。   FIG. 8 is a flowchart showing a false path extraction method according to the third embodiment of the present invention. As shown in FIG. 8, circuit information 31 is first input in an input step S31. Next, in the necessary condition determining step S32, the necessary condition of the signal for activating the non-control signal in each gate is determined. Assume that Enc = (unc, wnc) is a branch in the gate and the input corresponds to the non-control signal ncs, and a set of branches having Net (u) = ncs as an activation condition is RE (enc) = [(vnc, wnc) εE]. Net (u) = ncs can also determine the value of each net by a propagation operation.

そして信号変化矛盾抽出工程S33において、必要条件決定工程S32によって決定された必要条件から、同時に活性化しないゲートの信号変化を抽出する。あるゲートGの入力cの値をGの制御信号csにしたとし、Gにはc以外の入力bがあるとする。このとき、ゲートG内のcが制御信号ncsに対応する枝をenc’=(cnc,ync)とすると、RE(enc’)=[(bnc,ync∈E)]の各枝(bnc,ync)はNet(c)=ncsを活性化条件とするから、枝(vnc,wnc)(∈RE(enc))と枝(bnc,ync)(∈RE(enc’))は同時に活性化しない.したがって、ゲートGにおいて、点vから有向道によって到達可能な点の集合をsuc(v)とすると、点対(vnc,bnc)はフォールスパスを指定する点対である。   Then, in the signal change contradiction extraction step S33, signal changes of the gates that are not activated simultaneously are extracted from the necessary conditions determined in the necessary condition determining step S32. Assume that the value of an input c of a certain gate G is set to a G control signal cs, and that G has an input b other than c. At this time, if c in the gate G is a branch corresponding to the control signal ncs, enc ′ = (cnc, ync), each branch (bnc, ync) of RE (enc ′) = [(bnc, yncεE)] ) Uses Net (c) = ncs as an activation condition, so the branch (vnc, wnc) (∈RE (enc)) and the branch (bnc, ync) (∈RE (enc ′)) are not activated at the same time. Accordingly, in the gate G, when a set of points that can be reached from the point v by a directed road is suc (v), the point pair (vnc, bnc) is a point pair that specifies a false path.

また、1つの枝encに対して、このような点対をすべて見出すことは、グラフの枝数をmとするとO(m)の計算量でできるから、すべての点対を見出すことは、O(m2)の計算量でできる。

以上により、第1の発明が講じた解決手段は、設計対象の集積回路について遅延分布を計算する方法として、前記集積回路に含まれた配線同士、または素子同士の性能の相関関係を表す相関関係情報を参照して、遅延分布を計算するものである。
Also, finding all such point pairs for one branch enc can be done with O (m), where m is the number of branches in the graph, so finding all point pairs is O It can be done with a calculation amount of (m 2 ).

As described above, the solving means taken by the first invention is a method of calculating a delay distribution for an integrated circuit to be designed, as a method of calculating a delay distribution, and a correlation indicating a correlation between performances of wirings or elements included in the integrated circuit. The delay distribution is calculated with reference to the information.

第1の発明によると、集積回路の遅延分布を計算する際に、この集積回路に含まれた配線同士、または素子同士の性能の相関関係を表す相関関係情報が参照される。これにより、集積回路の遅延分布を、精度良く計算することができる。   According to the first aspect of the invention, when calculating the delay distribution of the integrated circuit, the correlation information representing the correlation of the performance of the wirings or elements included in the integrated circuit is referred to. Thereby, the delay distribution of the integrated circuit can be calculated with high accuracy.

そして、第2の発明では、前記第1の発明における相関関係情報は、前記性能の相関関係として、遅延の相関関係を表すものとする。   In the second invention, the correlation information in the first invention represents a delay correlation as the performance correlation.

また、第3の発明では、前記第1の発明における相関関係情報は、性能分布における相関係数によって表されたものとする。   In the third invention, the correlation information in the first invention is represented by a correlation coefficient in the performance distribution.

また、第4の発明では、前記第1の発明において、前記集積回路内の各素子の接続関係を表す回路情報を基にして当該集積回路を表すグラフを生成する工程と、前記集積回路に含まれた配線および素子の性能分布を表す性能分布情報と前記相関関係情報とを用いて、前記グラフにおける各点について遅延分布を計算する工程とを備えたものとする。   According to a fourth invention, in the first invention, a step of generating a graph representing the integrated circuit based on circuit information representing a connection relation of each element in the integrated circuit, and the integrated circuit includes And a step of calculating a delay distribution for each point in the graph using the performance distribution information representing the performance distribution of the wirings and elements and the correlation information.

そして、第5の発明では、前記第4の発明における計算工程は、前記グラフからすでに遅延分布が計算された点からなる集合に属さない点を計算点として選択する第1の工程と、前記第1の工程によって選択された計算点について、前記性能分布情報および相関関係情報に基づいて遅延分布と前記集合に属する各点との性能の相関関係とを計算する第2の工程とを備え、前記第1および第2の工程を、遅延分布を計算した計算点を前記集合に追加しつつ、繰り返し行うものとする。   And in 5th invention, the calculation process in the said 4th invention selects the point which does not belong to the set which consists of the point from which the delay distribution was already calculated from the said graph, The said 1st process, A second step of calculating a delay distribution and a correlation of performance between each point belonging to the set based on the performance distribution information and correlation information for the calculation point selected by one step, and It is assumed that the first and second steps are repeated while adding the calculation points for calculating the delay distribution to the set.

また、第6の発明では、前記第1の発明において、配線同士または素子同士の性能の相関関係とレイアウト上の特徴との関係を表す相関特性情報を用い、前記集積回路のレイアウトを参照して、前記相関関係情報を生成する工程を備えているものとする。   According to a sixth aspect of the present invention, in the first aspect of the present invention, the correlation characteristic information representing the correlation between the performances of the wirings or between the elements and the characteristics on the layout is used, and the layout of the integrated circuit is referred to. And a step of generating the correlation information.

そして、第7の発明では、前記第6の発明における相関特性情報は、少なくとも、素子間の距離と、性能の相関関係との関係を表したものとする。   In the seventh invention, the correlation characteristic information in the sixth invention represents at least the relationship between the distance between elements and the correlation of performance.

また、第8の発明では、前記第6の発明における相関特性情報は、少なくとも、素子の向きと、性能の相関関係との関係を表したものとする。   In the eighth invention, it is assumed that the correlation characteristic information in the sixth invention represents at least the relationship between the element orientation and the performance correlation.

また、第9の発明では、前記第6の発明における相関特性情報は、少なくとも、2本の配線における共通部分の有無または長さと、性能の相関関係との関係を表したものとする。   In the ninth invention, the correlation characteristic information in the sixth invention represents at least the relationship between the presence or length of a common portion in two wirings and the correlation of performance.

また、第10の発明では、前記第6の発明において、特性評価用集積回路について、各配線または素子の特性を評価し、この評価結果と、前記特性評価用集積回路のレイアウトとを基にして、前記相関特性情報を生成する工程を備えているものとする。   According to a tenth aspect, in the sixth aspect, the characteristics of each wiring or element are evaluated for the characteristic evaluation integrated circuit, and based on the evaluation result and the layout of the characteristic evaluation integrated circuit. And a step of generating the correlation characteristic information.

また、第11の発明が講じた解決手段は、設計対象の集積回路について評価する方法として、前記集積回路における各部品の接続関係を表す回路情報を基にして、フォールスパスに相当する信号伝達経路を含まない等価回路を生成する第1の工程と、前記第1の工程によって生成された等価回路を用いて前記集積回路の評価を行う第2の工程とを備えたものである。   The eleventh aspect of the present invention provides a signal transmission path corresponding to a false path based on circuit information representing a connection relation of components in the integrated circuit as a method for evaluating an integrated circuit to be designed. And a second step of evaluating the integrated circuit using the equivalent circuit generated by the first step.

第11の発明によると、フォールスパスを含まない等価回路を用いて評価を行うことが可能になるので、高速に、かつ、精度よく、集積回路の性能を評価することができる。   According to the eleventh aspect, the evaluation can be performed using an equivalent circuit that does not include a false path. Therefore, the performance of the integrated circuit can be evaluated at high speed and with high accuracy.

そして、第12の発明では、前記第11の発明は、フォールスパスを表すフォールスパス情報を用いるものとし、前記フォールスパス情報は、前記集積回路を表すグラフ上の2個の点によってフォールスパスを表現するものとする。   In the twelfth invention, the eleventh invention uses false path information representing a false path, and the false path information represents the false path by two points on the graph representing the integrated circuit. It shall be.

さらに、第13の発明では、前記第12の発明における第1の工程は、フォールスパスを表現する2個の点のうち、第1の点を入力とし、第2の点を出力とする第1の部分回路を抽出する部分回路抽出工程と、前記第1の部分回路を複製し、第2の部分回路として生成する部分回路複製工程と、前記第1および第2の部分回路と、これら以外の回路との接続を、前記第1の点から前記第2の点に向かうパスが存在しないように、変更する部分回路接続変更工程とを備えたものとする。   Furthermore, in the thirteenth invention, the first step in the twelfth invention is a first step in which the first point is an input and the second point is an output among two points representing a false path. A partial circuit extracting step for extracting the partial circuit, a partial circuit duplicating step for duplicating the first partial circuit and generating it as a second partial circuit, the first and second partial circuits, A partial circuit connection changing step for changing the connection with the circuit so that there is no path from the first point to the second point is provided.

そして、第14の発明では、前記第13の発明における部分回路接続変更工程は、前記第1の点以外の前記第1の部分回路に入ってくる枝の始点の集合をInとし、前記第2の点以外の前記第1の部分回路から出ていく枝の終点の集合をOutとすると、前記第1および第2の部分回路のうちのいずれか一方は、前記第1の点並びにInおよびOutと接続し、かつ、前記第2の点と接続しないようにするとともに、他方は、前記第2の点およびInと接続し、かつ、前記第1の点およびOutと接続しないように、接続を変更するものとする。   In the fourteenth invention, in the partial circuit connection changing step in the thirteenth invention, a set of branch starting points entering the first partial circuit other than the first point is set to In, and the second If the set of the end points of the branches coming out of the first partial circuit other than the point is Out, then either one of the first and second partial circuits is the first point and In and Out. And the second point is not connected to the second point, and the other is connected to the second point and In, and not connected to the first point and Out. Shall be changed.

また、第15の発明では、前記第13の発明における部分回路接続変更工程は、前記第1の点以外の前記第1の部分回路に入ってくる枝の始点の集合をInとし、前記第2の点以外の前記第1の部分回路から出ていく枝の終点の集合をOutとすると、前記第1および第2の部分回路のうちのいずれか一方は、前記第1の点およびOutと接続し、かつ、前記第2の点およびInと接続しないようにするとともに、他方は、前記第2の点並びにInおよびOutと接続し、かつ、前記第1の点と接続しないように、接続を変更するものとする。   In the fifteenth aspect, in the partial circuit connection changing step according to the thirteenth aspect, a set of branch start points entering the first partial circuit other than the first point is In, and the second If the set of the end points of the branches coming out of the first partial circuit other than the point is Out, then either one of the first and second partial circuits is connected to the first point and Out. And the second point and In are not connected, and the other is connected to the second point and In and Out, and is not connected to the first point. Shall be changed.

また、第16の発明が講じた解決手段は、設計対象の集積回路についてフォールスパスを抽出する方法として、前記集積回路が有する各論理ゲート内の非制御信号枝の活性化条件を用いて、前記フォールスパスを抽出するものである。   According to a sixteenth aspect of the present invention, as a method for extracting a false path for an integrated circuit to be designed, an activation condition of an uncontrolled signal branch in each logic gate included in the integrated circuit is used. A false path is extracted.

そして、第17の発明では、前記第16の発明において、第1のゲート内の非制御信号枝の活性化条件に挙げられた論理値を、伝搬操作を用いて伝搬させ、伝搬する値が制御信号である間、前記伝搬を繰り返し行い、伝搬した値と第2のゲートの非制御信号枝の活性化条件との間で矛盾が生じたとき、前記第1のゲートから前記第2のゲートまでの経路をフォールスパスとして検出するものとする。   In the seventeenth invention, in the sixteenth invention, the logic value listed in the activation condition of the non-control signal branch in the first gate is propagated using the propagation operation, and the value to propagate is controlled. When the signal is a signal, the propagation is repeated, and when there is a contradiction between the propagated value and the activation condition of the non-control signal branch of the second gate, the first gate to the second gate. Is detected as a false path.

本発明に係るフォールスパス抽出方法は、集積回路の遅延分布の計算において、配線または素子間の性能の相関関係が考慮されるので、遅延見積もり精度が向上することにより、設計する集積回路について、過剰なマージンを除去することができ、不要な面積や消費電力等を削減できるという効果を有し、例えば、CMOS・LSI等の集積回路の設計において、その性能を評価する技術に関するものであり、特に、遅延分布の計算や、フォールスパスの除去や抽出に関する技術等として有用である。   In the false path extraction method according to the present invention, since the correlation of performance between wirings or elements is taken into account in the calculation of the delay distribution of the integrated circuit, the delay estimation accuracy is improved, so that the design of the integrated circuit is excessive. The present invention relates to a technique for evaluating the performance in designing an integrated circuit such as a CMOS / LSI, for example. It is useful as a technique related to delay distribution calculation and false path removal and extraction.

本発明の第1の実施形態に係る遅延分布計算方法を示すフローチャートである。It is a flowchart which shows the delay distribution calculation method which concerns on the 1st Embodiment of this invention. フォールスパスの指定表現を表す図である。It is a figure showing the designation | designated expression of a false path | pass. 変更前のグラフを表す図である。It is a figure showing the graph before a change. 本発明の第2の実施形態に係る回路性能評価方法を示すフローチャートである。It is a flowchart which shows the circuit performance evaluation method which concerns on the 2nd Embodiment of this invention. 図4の回路性能評価方法における等価回路生成処理のフローチャートである。6 is a flowchart of equivalent circuit generation processing in the circuit performance evaluation method of FIG. 変更後のグラフを表す図である。It is a figure showing the graph after a change. 変更後のグラフの他の例を表す図である。It is a figure showing the other example of the graph after a change. 本発明の第3の実施形態に係るフォールスパス抽出方法を示すフローチャートである。It is a flowchart which shows the false path | pass extraction method which concerns on the 3rd Embodiment of this invention. 論理回路の一例を表す図である。It is a figure showing an example of a logic circuit. 図9の回路を表すアサイクリックグラフを表す図である。It is a figure showing the acyclic graph showing the circuit of FIG. フォールスパスを含む論理回路を示す図である。It is a figure which shows the logic circuit containing a false path | pass. 相関関係情報を生成する方法を示すフローチャートである。It is a flowchart which shows the method of producing | generating correlation information. 相関特性情報を生成する方法を示すフローチャートである。It is a flowchart which shows the method of producing | generating correlation characteristic information.

符号の説明Explanation of symbols

11 回路情報
12 性能分布情報
13 相関関係情報
22 フォールスパス情報
41 第1の点
42 第2の点
43 第1の部分回路
51 集合In
52 集合Out
61 第1の部分回路に相当するグラフ
62 第2の部分回路に相当するグラフ
200 アサイクリックグラフ
G1 第1のゲート
G6 第2のゲート
11 Circuit information 12 Performance distribution information 13 Correlation information 22 False path information 41 First point 42 Second point 43 First partial circuit 51 Set In
52 Set Out
61 Graph corresponding to the first partial circuit 62 Graph corresponding to the second partial circuit 200 Acyclic graph G1 First gate G6 Second gate

Claims (2)

設計対象の集積回路について、フォールスパスを抽出する方法であって、
前記集積回路が有する各論理ゲート内の非制御信号枝の活性化条件を用いて、前記フォールスパスを、抽出する
ことを特徴とするフォールスパス抽出方法。
A method of extracting a false path for an integrated circuit to be designed,
A false path extracting method, wherein the false path is extracted using an activation condition of a non-control signal branch in each logic gate of the integrated circuit.
請求項1において、
第1のゲート内の非制御信号枝の活性化条件に挙げられた論理値を、伝搬操作を用いて伝搬させ、
伝搬する値が制御信号である間、前記伝搬を繰り返し行い、
伝搬した値と、第2のゲートの非制御信号枝の活性化条件との間で、矛盾が生じたとき、前記第1のゲートから前記第2のゲートまでの経路を、フォールスパスとして、検出する
ことを特徴とするフォールスパス抽出方法。
In claim 1,
Propagating the logical value listed in the activation condition of the non-control signal branch in the first gate using a propagation operation,
While the value to be propagated is a control signal, the propagation is repeated,
When a contradiction occurs between the propagated value and the activation condition of the non-control signal branch of the second gate, the path from the first gate to the second gate is detected as a false path. And a false path extraction method.
JP2005173025A 2000-11-22 2005-06-13 False path extraction method Pending JP2005285144A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2005173025A JP2005285144A (en) 2000-11-22 2005-06-13 False path extraction method

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
JP2000355417 2000-11-22
JP2000360629 2000-11-28
JP2001001075 2001-01-09
JP2005173025A JP2005285144A (en) 2000-11-22 2005-06-13 False path extraction method

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
JP2001351885A Division JP2002279012A (en) 2000-11-22 2001-11-16 Method for calculating delay distribution, method for evaluating circuit and method for extracting false path

Publications (1)

Publication Number Publication Date
JP2005285144A true JP2005285144A (en) 2005-10-13

Family

ID=35183376

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2005173025A Pending JP2005285144A (en) 2000-11-22 2005-06-13 False path extraction method

Country Status (1)

Country Link
JP (1) JP2005285144A (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007233550A (en) * 2006-02-28 2007-09-13 Fujitsu Ltd Delay analysis program, recording medium recorded with this program, delay analysis method and delay analysis device
US8001437B2 (en) 2007-04-23 2011-08-16 Kyushu Institute Of Technology Test pattern generation method for avoiding false testing in two-pattern testing for semiconductor integrated circuit

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007233550A (en) * 2006-02-28 2007-09-13 Fujitsu Ltd Delay analysis program, recording medium recorded with this program, delay analysis method and delay analysis device
JP4734141B2 (en) * 2006-02-28 2011-07-27 富士通株式会社 Delay analysis program, recording medium recording the program, delay analysis method, and delay analysis apparatus
US8001437B2 (en) 2007-04-23 2011-08-16 Kyushu Institute Of Technology Test pattern generation method for avoiding false testing in two-pattern testing for semiconductor integrated circuit

Similar Documents

Publication Publication Date Title
US6684375B2 (en) Delay distribution calculation method, circuit evaluation method and false path extraction method
US7039882B2 (en) Technology dependent transformations for Silicon-On-Insulator in digital design synthesis
US6047247A (en) Method of estimating degradation with consideration of hot carrier effects
US6553338B1 (en) Timing optimization in presence of interconnect delays
US20040167756A1 (en) Apparatus and method for statistical LSI delay simulation
US20020194575A1 (en) Hierarchical layout method for integrated circuits
US20060107244A1 (en) Method for designing semiconductor intgrated circuit and system for designing the same
KR20090077692A (en) Semiconductor-device manufacturing method, semiconductor-device manufacturing program and semiconductor-device manufacturing system
JP2002279012A (en) Method for calculating delay distribution, method for evaluating circuit and method for extracting false path
US6199183B1 (en) Method of forming a scan path network
US7240311B2 (en) Combinational equivalence checking methods and systems with internal don&#39;t cares
Sze et al. Path based buffer insertion
US20050229142A1 (en) System and method for automated accurate pre-layout estimation of standard cell characteristics
US7168014B2 (en) Propagating an error through a network
US20050138590A1 (en) Generation of graphical congestion data during placement driven synthesis optimization
US7984404B2 (en) Black box timing modeling method and computer system for latch-based subsystem
JP2005285144A (en) False path extraction method
Ziesemer Jr et al. Physical design automation of transistor networks
Cardoso et al. Libra: An automatic design methodology for CMOS complex gates
JP2005327308A (en) Circuit performance evaluation method
JP2006155644A (en) Delay distribution calculation method
Wang et al. Fast and accurate statistical static timing analysis
US8108818B2 (en) Method and system for point-to-point fast delay estimation for VLSI circuits
US6507939B1 (en) Net delay optimization with ramptime violation removal
Brusamarello et al. Probabilistic approach for yield analysis of dynamic logic circuits

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20061013

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20061024

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20070403