WO2010092825A1 - 回路解析方法 - Google Patents

回路解析方法 Download PDF

Info

Publication number
WO2010092825A1
WO2010092825A1 PCT/JP2010/000877 JP2010000877W WO2010092825A1 WO 2010092825 A1 WO2010092825 A1 WO 2010092825A1 JP 2010000877 W JP2010000877 W JP 2010000877W WO 2010092825 A1 WO2010092825 A1 WO 2010092825A1
Authority
WO
WIPO (PCT)
Prior art keywords
circuit
delay
information
analysis method
point
Prior art date
Application number
PCT/JP2010/000877
Other languages
English (en)
French (fr)
Inventor
田中正和
Original Assignee
パナソニック株式会社
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 パナソニック株式会社 filed Critical パナソニック株式会社
Priority to JP2010550469A priority Critical patent/JPWO2010092825A1/ja
Publication of WO2010092825A1 publication Critical patent/WO2010092825A1/ja
Priority to US13/209,071 priority patent/US20110296361A1/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/30Circuit design
    • G06F30/32Circuit design at the digital level
    • G06F30/33Design verification, e.g. functional simulation or model checking
    • G06F30/3308Design verification, e.g. functional simulation or model checking using simulation
    • G06F30/3312Timing analysis
    • HELECTRICITY
    • H01ELECTRIC ELEMENTS
    • H01LSEMICONDUCTOR DEVICES NOT COVERED BY CLASS H10
    • H01L27/00Devices consisting of a plurality of semiconductor or other solid-state components formed in or on a common substrate
    • H01L27/02Devices consisting of a plurality of semiconductor or other solid-state components formed in or on a common substrate including semiconductor components specially adapted for rectifying, oscillating, amplifying or switching and having potential barriers; including integrated passive circuit elements having potential barriers
    • H01L27/0203Particular design considerations for integrated circuits
    • H01L27/0207Geometrical layout of the components, e.g. computer aided design; custom LSI, semi-custom LSI, standard cell technique

Definitions

  • This disclosure relates to a method of improving performance by simulating circuit characteristics based on process information and the like using a computer in semiconductor integrated circuit design.
  • Patent Document 1 has been proposed as a statistical delay analysis method.
  • a maximum delay distribution can be statically calculated for a CMOS combination circuit in consideration of a delay correlation among elements, wirings, and paths.
  • Fig. 3 is an example of a circuit to be designed
  • V represents a point set of the graph
  • E represents a branch set of the graph.
  • the input / output terminals of the entire circuit and the input / output terminals of the logic gate correspond to the point v of the graph and correspond to the two points v0 and v1 of the graph.
  • the pair of points (v0, v1) is surrounded by a dotted ellipse (21, 22), v0 is represented by a white point (23), and v1 is represented by a black point (24).
  • v0 and v1 indicate that the corresponding terminals v take signal values 0 and 1, respectively.
  • v0 is referred to as 0 point of v
  • v1 is referred to as 1 point of v.
  • the point corresponding to the input terminal of the entire circuit is a source without an incoming branch, and the point corresponding to the output terminal of the entire circuit is a sink without an outgoing branch.
  • the set of sources (25) is S and the set of sinks (26) is T.
  • a directional path from the source of the graph G to the sink is taken as a path.
  • each rectangle (27) indicates a logic gate constituting the circuit, the left point (21) in one rectangle is the input terminal of the corresponding logic gate, and the right point (22) is the output terminal.
  • the branch (28) in the rectangle goes out from the point representing the input of the logic gate and enters the point representing the output.
  • the rectangle When the rectangle is a NAND gate or NOR gate, it corresponds to the pMOS or nMOS in the gate.
  • a branch connecting points belonging to different rectangles corresponds to the wiring, and a branch e0 that comes out of the 0 point enters the 0 point, and a branch e1 that comes out of the 1 point enters the 1 point.
  • Patent Document 2 attention is paid to the fact that there is a correlation between the probability distribution of delay time and transition time input to each cell, delay information is calculated by the delay distribution calculation means, and timing analysis is performed based on the delay information. There was a way to improve the circuit.
  • Patent Document 2 there is disclosed a method for accurately calculating a delay distribution using correlation information between a delay and an input transition time.
  • a path delay is disclosed. It was not possible to consider the correlation. That is, no matter how much the accuracy is improved by the delay distribution analysis, the circuit cannot be improved with accuracy, and the delay distribution calculation after the circuit correction can obtain only the delay improvement effect below the estimate. The design period will be increased by repeating the circuit correction and delay distribution calculation processes more than necessary, or the circuit integrated circuit area and power consumption will be increased more than necessary by excessively correcting the circuit. End up.
  • An object of the present invention is to accurately reduce the maximum delay of a combinational circuit in consideration of the correlation of variations in delay of components such as transistors and wiring.
  • a circuit analysis method is a method for analyzing a semiconductor integrated circuit, the step of obtaining circuit information (100) representing a circuit to be designed, an element based on the process to be designed and / or The step of acquiring technology information (200) representing the distribution of wiring characteristics, the step of acquiring delay distribution information (300) representing the distribution of delay in the circuit to be designed, and the correlation of delay variation in the circuit to be designed
  • the design target circuit based on the step of obtaining the delay correlation information (400) to be expressed, and the circuit information (100), the technology information (200), the delay distribution information (300), and the delay correlation information (400)
  • circuit correction candidates for improving the delay of the circuit to be designed can be accurately estimated, and costs such as area and power consumption can be reduced.
  • the present invention in order to reduce the maximum delay or eliminate the delay constraint violation, it is possible to estimate improvement candidates with higher accuracy by extracting circuit improvement points in consideration of delay correlation information. In other words, there is an effect of reducing the number of times of circuit improvement that leads to elimination of the delay constraint violation, or an effect of further reducing costs such as area and power consumption in the semiconductor integrated circuit at the end of the circuit improvement.
  • FIG. 1 is a diagram showing a flow of processing performed in accordance with a circuit analysis program.
  • FIG. 2 is a diagram showing a design flow of the semiconductor integrated circuit.
  • FIG. 3 is a diagram showing an example of the circuit information 100 of the circuit to be designed.
  • FIG. 4 is a diagram representing the circuit of FIG. 3 by an acyclic graph.
  • FIG. 5 is a diagram representing the circuit of FIG. 3 by an acyclic graph.
  • FIG. 6 is a diagram representing the circuit of FIG. 3 by an acyclic graph.
  • FIG. 7 is a diagram illustrating an example of the technology information 200.
  • FIG. 8 is a diagram illustrating an example of the delay distribution information 300.
  • FIG. 9 is a diagram illustrating an example of the delay distribution information 300.
  • FIG. 1 is a diagram showing a flow of processing performed in accordance with a circuit analysis program.
  • FIG. 2 is a diagram showing a design flow of the semiconductor integrated circuit.
  • FIG. 3 is a diagram
  • FIG. 10 is a diagram illustrating an example of the delay correlation information 400.
  • FIG. 11 is a diagram illustrating an example of the delay correlation information 400.
  • FIG. 12 is a diagram illustrating an example of the circuit correction candidate information 500.
  • FIG. 13 is a diagram illustrating an example of the circuit correction candidate information 500.
  • FIG. 14 is a diagram showing a flow of processing performed in the circuit correction candidate extraction processing ST200.
  • FIG. 15 is a diagram showing an example of the circuit information 100 after the correction by the circuit improvement process ST300.
  • FIG. 16 is a diagram illustrating an example of the circuit information 100 after correction by the circuit improvement processing ST300.
  • FIG. 17 is a diagram showing a modification of the flow of processing performed in accordance with the circuit analysis program.
  • FIG. 11 is a diagram illustrating an example of the delay correlation information 400.
  • FIG. 12 is a diagram illustrating an example of the circuit correction candidate information 500.
  • FIG. 13 is a diagram illustrating an example of the circuit correction candidate information 500.
  • FIG. 18 is a diagram showing a modification of the flow of processing performed in accordance with the circuit analysis program.
  • FIG. 19 is a diagram showing a modification of the flow of processing performed according to the circuit analysis program.
  • FIG. 20 is a diagram showing a modification of the flow of processing performed according to the circuit analysis program.
  • FIG. 21 is a diagram showing a modification of the flow of processing performed in accordance with the circuit analysis program.
  • FIG. 22 is a diagram showing a modification of the flow of processing performed in accordance with the circuit analysis program.
  • the circuit analysis program according to the present embodiment can be held in an information processing apparatus such as a PC or a server apparatus set in a form that can be used from a terminal apparatus via a network.
  • the program can be recorded and distributed on various recording media such as a CD-ROM, DVD-ROM, and flash memory. Then, the program is read by mounting the recording medium on an information processing apparatus such as a PC, or by storing the program in a storage medium provided in the information processing apparatus and reading the program as necessary. It is possible to realize functions related to.
  • the flow of processing performed according to the program will be described.
  • a computer that executes a circuit analysis program has circuit information 100, technology information 200, delay distribution information 300, delay correlation information 400, and circuit correction candidate information 500 as a database.
  • a calculation process ST100, a circuit correction candidate extraction process ST200, and a circuit improvement process ST300 are performed to correct the original circuit information 100.
  • Fig. 2 shows the design flow of a semiconductor integrated circuit.
  • the logic circuit information 100a generated by the logic synthesis in the logic design process in FIG. 2 may be used, or the layout generated after the layout design in the layout design process Layout information such as the completed circuit information 100b or the wired circuit information 100c generated after the wiring design in the wiring design process may be used.
  • the placed circuit information 100b not only the original placed circuit information 100b can be modified based on the circuit improvement processing ST300, but also the original logic circuit information 100a can be modified.
  • the wired circuit information 100c not only the original wired circuit information 100c is corrected based on the circuit improvement processing ST300, but also the original logic circuit information 100a and the arranged circuit information 100b are corrected. You can also.
  • FIG. 3 shows an example of circuit information 100 of the circuit to be designed.
  • FIG. 3 (a) is a circuit diagram
  • FIG. 3 (b) is a netlist representing the circuit of FIG. 3 (a).
  • FIG. 7 shows an example of the technology information 200, which represents the delay characteristics of the logic cells constituting the semiconductor integrated circuit.
  • Cell1 has nand logic, the average delay from input terminal A to output terminal Y is 3.0 and standard deviation 0.2, and the average delay from input terminal B to output terminal Y is 2.8 and standard deviation. It shows that it is 0.2.
  • Cell3 has or logic, the average delay from input terminal A to output terminal Y is 4.0 and standard deviation 0.2, and the average delay from input terminal B to output terminal Y is 3.8 and standard deviation 0.3 Is shown.
  • Cell4 has the logic of buffer, indicating that the delay from input terminal A to output terminal Y is 0.3 on average and 0.1 on standard deviation.
  • Delay distribution calculation (ST100)
  • the circuit information 100 and the technology information 200 are input, the path is analyzed from the connection relationship described in the circuit information 100, and from the delay information described in the technology information 200, As a result of analyzing the target circuit, delay distribution information 300 and delay correlation information 400 are output.
  • the delay distribution calculation process ST100 can be performed by, for example, the method disclosed in [Patent Document 1].
  • FIG. 8 is an example of the delay distribution information 300.
  • the example in FIG. The delay of input terminal A of Instance1 is 0 on average, 0 on standard deviation, The delay of input terminal B of Instance1 is 0 on average, 0 on standard deviation, Instance2 input terminal A delay is 0.5 on average, 0.1 on standard deviation, Instance2 input terminal B delay average 0.6, standard deviation 0.1, Instance3 input terminal A delay average 3.0, standard deviation 0.2, Instance3 input terminal B delay average 4.0, standard deviation 0.3, It represents that.
  • FIG. 9 shows another form of the delay distribution information 300.
  • the minimum delay value (Min) is Instance1 input terminal A is 0,
  • the input terminal B of Instance1 is 0,
  • Instance2 input terminal A is 0.2
  • Instance2 input terminal B is 0.3
  • Instance3 input terminal A is 2.4
  • Instance3 input terminal B is 2.8
  • Typical delay value (Typ) is Instance1 input terminal A is 0,
  • the input terminal B of Instance1 is 0, Instance2 input terminal A is 0.5, Instance2 input terminal B is 0.6, Instance3 input terminal A is 3.0, Instance3 input terminal B is 4.0
  • the maximum delay value (Max) is Instance1 input terminal A is 0,
  • the input terminal B of Instance1 is 0,
  • the input terminal A of Instance2 is 0.8
  • Instance2 input terminal B is 0.9
  • Instance3 input terminal A is 3.6
  • Instance3 input terminal B is 5.2, It represents that.
  • the maximum value (Max) and minimum value (Min) of delay are assumed to be ⁇ ⁇ 3 ⁇ , but they are often used for delay calculation. Definitions may be used. Further, the representative value (Typ) may be an average value, a target value of the process, or a value having the highest probability.
  • FIG. 10 is an example of the delay correlation information 400.
  • the example in FIG. The correlation coefficient between the input terminal A delay of Instance1 and the input terminal B delay of Instance1 is 0.3, The correlation coefficient between the input terminal A delay of Instance1 and the input terminal A delay of Instance2 is 0.3, The correlation coefficient between the input terminal B delay of Instance1 and the input terminal A delay of Instance2 is 1.
  • the correlation coefficient between the input terminal A delay of Instance1 and the input terminal A delay of Instance3 is 0.5
  • the correlation coefficient between the input terminal A delay of Instance2 and the input terminal B delay of Instance3 is 0.2,
  • the correlation coefficient between the input terminal B delay of Instance2 and the input terminal B delay of Instance3 is 0.6, It represents that. Other than the above, the correlation coefficient is 0, or the correlation can be ignored.
  • FIG. 11 shows another form of the delayed correlation information 400.
  • the example of FIG. The correlation coefficient between the input terminal A delay of Instance1 and the input terminal B delay of Instance1 is 0.3, The correlation coefficient between the input terminal A delay of Instance1 and the input terminal A delay of Instance2 is 0.3, The correlation coefficient between the input terminal A delay of Instance1 and the input terminal B delay of Instance2 is 0, The correlation coefficient between the input terminal A delay of Instance1 and the input terminal A delay of Instance3 is 0.5, The correlation coefficient between the input terminal A delay of Instance1 and the input terminal B delay of Instance3 is 0, The correlation coefficient between the input terminal B delay of Instance1 and the input terminal A delay of Instance2 is 1.
  • the correlation coefficient between the input terminal B delay of Instance1 and the input terminal B delay of Instance2 is 0,
  • the correlation coefficient between the delay of input terminal B of Instance1 and the delay of input terminal A of Instance3 is 0,
  • the correlation coefficient between the input terminal B delay of Instance1 and the input terminal B delay of Instance3 is 0,
  • the correlation coefficient between the input terminal A delay of Instance2 and the input terminal B delay of Instance2 is 0,
  • the correlation coefficient between the delay of the input terminal A of Instance2 and the delay of the input terminal A of Instance3 is 0,
  • the correlation coefficient between the input terminal A delay of Instance2 and the input terminal B delay of Instance3 is 0.2
  • the correlation coefficient between the delay of the input terminal B of Instance2 and the delay of the input terminal A of Instance3 is 0,
  • the correlation coefficient between the input terminal B delay of Instance2 and the input terminal B delay of Instance3 is 0.6
  • the correlation coefficient between the input terminal A delay of Instance3 and the input terminal B delay of Instance3 is 0
  • FIG. 14 shows the flow of processing performed in the circuit correction candidate extraction processing ST200 of FIG.
  • Graph generation In the graph generation process ST210, a graph is generated from the read circuit information 100 and stored in the computer or in a recording medium.
  • FIG. 4 to 6 are examples of an acyclic graph representing the logic circuit of FIG.
  • the rising path and the falling path are represented by a common branch e and point v.
  • a branch representing a cell delay and a branch representing a wiring delay are represented by one branch.
  • the correlation coefficient ⁇ (x 1 , x 2 ) between any two branches x 1 and x 2 is calculated by the delay distribution calculation process ST100.
  • Source v s may be as the output terminal of the flip-flop, may be as a clock.
  • the maximum delay from the source v s to an arbitrary point v (v ⁇ V) is called the delay at the point v and is represented by d (v).
  • d (v) is similarly calculated by a method such as [Patent Document 1] and is represented as delay distribution information 300.
  • ⁇ v and ⁇ v 2 are the mean and variance of d (v i ), and ⁇ e and ⁇ e 2 are the mean and variance of d (e).
  • Critical edge calculation (ST220) Next, in the critical edge calculation process ST220, the probability that each signal becomes critical at a point where a plurality of signals such as a multi-input cell merge is calculated.
  • conditional probability density function ⁇ v [cond1 & cond2] (x) of x that is cond1 and cond2 is expressed by [Expression 16].
  • conditional probability density function ⁇ ek [ek ⁇ Ece] (x k ) of x k d (e k ) where e k ⁇ E ce is expressed by [Equation 19] as in [ Equation 17].
  • (x ⁇ ) T (x 1 ⁇ 1 x 2 ⁇ 2 ... X N ⁇ N ) is a transposed matrix of (x ⁇ ).
  • F (F is a natural number) is the number of divisions in the integral calculation
  • a and b (a ⁇ b) are the lower limit and upper limit of the approximate calculation area, respectively.
  • d (> 0) is the division width of the integral calculation and is defined by [Equation 24]. The approximation error is 0 when a ⁇ ⁇ and b, F ⁇ ⁇ .
  • conditional probability density function ⁇ ek [ek ⁇ Ece] (x k ) that becomes a critical edge can be obtained by [Algorithm 1] shown below.
  • Critical path rate calculation ST230
  • the probability that a point or branch in the graph becomes a point or branch on the critical path is calculated.
  • the points and branches on the critical path correspond to elements and wirings on the critical path in the circuit to be designed.
  • E p ⁇ e p1 , ..., e pj , ..., e pm ⁇ is a set of branches on the path p
  • V p ⁇ v p0 , ..., v pj , ..., v pm ⁇ is on the path p
  • V p0 a point corresponding to the sink v t
  • v pm is a point corresponding to the source v s
  • each point is sorted in the order from the sink to the source. That is, the start point and end point of the branch e pj correspond to v pj and v p (j ⁇ 1) , respectively.
  • Path delay t (p j) is called the critical path maximum path, the point v, edge e is a point on the critical path, V ⁇ V respectively the condition that a branch cp, expressed as e ⁇ E cp.
  • the branch e is a critical edge (e ⁇ E ce ).
  • ⁇ v [v ⁇ Vcp] (x) be the conditional probability density function of the delay d (v) at the point v when the point v (v ⁇ V) is a point on the critical path.
  • ⁇ v [eoj ⁇ Ecp] (x) be the conditional probability density function of the delay at the point v when the branch e oj is a branch on the critical path.
  • conditional probability density function ⁇ v [v ⁇ Vcp] (x) of d (v) x when the point v becomes a point on the critical path indicates that each branch e oj that emerges from the point v is a branch on the critical path Sum of conditional probability density ⁇ v [eoj ⁇ Ecp] (x)
  • the point v near the source v s (that is, the minimum number of branches included in the path from v s to v becomes the minimum number of branches included in the path from v s to v t ).
  • the conditional probability density function ⁇ u [e ⁇ Ecp] (x) of x with e ⁇ E cp is the delay of ⁇ e, t (e) [e ⁇ Ecp] (x, y) by the branch e k Since it is obtained by integrating with y,
  • j u, t (e) (x, y), j e (x), j v (x) is the method of [Patent Document 1]
  • ⁇ e [e ⁇ Ece] (x) is [ Since the conditional probability density function ⁇ v [v ⁇ Vcp] (x) of the point v where the point v becomes a point on the critical path is known, each of the points v can be calculated. branch e k can be obtained branches a branch of the critical path e k conditional probability density function of the delay at the starting point u of ⁇ u [e ⁇ Ecp] (x) .
  • the probability P [e ⁇ Ecp] that branch e is a branch on the critical path and the probability P [v ⁇ Vcp] that point v is a point on the critical path are conditional on points v and e being on the critical path. It can be obtained by integrating the probability density functions ⁇ v [v ⁇ Vcp] (x) and ⁇ u [e ⁇ Ecp] (x) [Equation 41].
  • circuit correction candidate information 500 for delay improvement is output.
  • the circuit correction candidate information 500 may be a branch having a high critical path rate, or may be multiplied by a coefficient representing sensitivity such as a delay improvement rate with respect to cost such as an area due to circuit correction or an increase in power consumption.
  • the number of improvement candidates to be extracted may be a number specified in advance, or only those with a critical path rate exceeding a certain probability may be extracted. When the delay constraint D is given, all the branches having a positive value of [Equation 40] may be extracted.
  • FIG. 12 is an example of circuit correction candidate information 500 extracted as a result of the circuit correction candidate determination process ST240.
  • FIG. 12 shows that Instance2, Instance3, and wiring e are circuit correction candidates.
  • FIG. 13 is an example of another form of the circuit correction candidate information 500.
  • FIG. 13 shows specific correction contents for the correction candidates shown in FIG. In FIG. 13, Instance2 which is a candidate for correction is replaced with Cell3, Instance3 is replaced with Cell4, Cell5 is inserted as Instance4, net e is disconnected from output terminal Y of Instance2 and connected to output terminal Y of Instance4, Furthermore, it means that the output terminal Y of Insurance2 and the input terminal A of Instance4 are connected by a net g.
  • Circuit improvement ST300
  • the circuit information 100 is corrected based on the circuit correction candidate information 500.
  • Instance 2 and Instance 3 may be replaced with faster cells so as to reduce the delay of the path passing through the input terminal B.
  • the delay of the wiring e can be reduced by rerouting the wiring e more preferentially by bypassing other wiring.
  • FIG. 16 is an example of the circuit information 100 of the circuit to be designed when the circuit information 100 is layout information (placed circuit information 100b, wired circuit information 100c in FIG. 2).
  • FIG. 16 (a) is an example of the circuit information 100 before correction by the circuit improvement processing ST300, and is layout information of the circuit information 100 of FIG. Cell1, Cell1, and Cell2 are arranged in Instance1, Instance2, and Instance3, respectively, and nets of b, d, and e are respectively wired.
  • FIG. 16 (b) is an example of the circuit information 100 after the circuit information 100 of FIG. 16 (a) is corrected by the circuit improvement processing ST300 based on the circuit correction candidate information 500 of FIG.
  • the correction example when the net e is extracted as the circuit correction candidate information 500 is shown.
  • Instance2 and Instance3 are respectively replaced by Cell3 and Cell4 with higher capabilities from Cell1 and Cell2, and the delay is reduced by inserting a buffer (Cell5) into net e. Can do.
  • FIG. 15 is an example of the circuit information 100 after the circuit information 100 of FIG. 3 is corrected by the circuit improvement processing ST300 based on the circuit correction candidate information 500 of FIG.
  • Cell5 is newly inserted as Instance4, and the input terminal A of Instance4 is connected to the output terminal Y of Instance2.
  • Instance2 and Instance3 are replaced from Cell1 and Cell2 to Cell3 and Cell4, respectively, and the connection destination of the input terminal B of Instance3 is modified from Instance2 to Instance4.
  • FIG. 16C shows an example of the circuit information 100 after the circuit information 100 of FIG. 16A is corrected by the circuit improvement process ST300 based on the circuit correction candidate information 500 of FIG.
  • the layout corresponds to the circuit information 100 of FIG.
  • FIG. 17 shows a modification in which the circuit improvement processing ST300 is omitted from the processing according to the embodiment shown in FIG. Even if the circuit improvement processing ST300 is omitted, there is an effect that it is possible to extract a portion of a circuit to be corrected in order to reduce the maximum delay or eliminate the delay constraint violation.
  • the design flow can be selected more flexibly.
  • FIG. 18 shows a modification in which the delay distribution calculation ST100 is omitted from the processing according to the embodiment shown in FIG. Even if the delay distribution calculation ST100 is omitted, there is an effect that it is possible to extract a portion of a circuit to be corrected in order to reduce the maximum delay or to eliminate the delay constraint violation.
  • the design flow can be selected more flexibly.
  • FIG. 19 shows a modification in which the circuit improvement processing ST300 and the delay distribution calculation ST100 are omitted from the processing according to the embodiment shown in FIG. Even if the circuit improvement processing ST300 and the delay distribution calculation ST100 are omitted, there is an effect that it is possible to extract a circuit portion to be corrected in order to reduce the maximum delay or eliminate the delay constraint violation.
  • the design flow can be selected more flexibly by performing delay distribution calculation and circuit improvement as necessary in combination with commercially available delay analysis tools or layout tools, and designers' own calculations or circuit correction work. .
  • FIG. 20 shows a modification in which the delayed correlation information 400 is omitted from the processing according to the embodiment shown in FIG. Even if the delay correlation information 400 is omitted, although the accuracy is lowered depending on the circuit, there is an effect that it is possible to extract the portion of the circuit to be corrected for the maximum delay reduction or the delay constraint violation resolution. For example, even when it is difficult to output delayed phase information due to an increase in calculation time, the effect of the present invention can be obtained.
  • FIG. 21 shows a modification example in which the circuit correction candidate extraction process ST200 and the circuit improvement process ST300 are continuously executed as the process ST400 in the same program using the same computer in the process according to the embodiment shown in FIG. .
  • the circuit correction candidate information 500 only needs to be stored as internal data in the memory of the computer, and need not be output as a data file.
  • the time required for reading and writing files can be shortened. it can.
  • FIG. 22 shows a modification in which the delay distribution calculation ST100 is omitted from the processing according to the embodiment shown in FIG.
  • the modification of FIG. 22 has the effect of the modification of FIG. 18 in addition to the effect of the modification of FIG.
  • the present invention is useful for improving performance by simulating circuit characteristics based on process information using a computer in designing a semiconductor integrated circuit.
  • Circuit correction candidate extraction processing 100: Circuit information 200 ... Technology information 300: Delay distribution information 400: Delay correlation information 500 ... Circuit correction candidate information ST100 ... Delay distribution calculation processing ST200 ... Circuit correction candidate extraction processing ST300: Circuit improvement processing

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Evolutionary Computation (AREA)
  • Geometry (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Design And Manufacture Of Integrated Circuits (AREA)

Abstract

 トランジスタ等の部品や配線の遅延のばらつきの相関を考慮して、正確に組合せ回路の最大遅延を削減する。設計対象回路を表す回路情報(100)、設計対象プロセスに基づいた素子および/または配線の特性分布を表すテクノロジ情報(200)、設計対象回路における遅延の分布を表す遅延分布情報(300)、設計対象回路における遅延のばらつきの相関を表す遅延相関情報(400)に基づいて、設計対象回路の遅延の改善のための回路修正候補を表す回路修正候補情報(500)を生成する(ST200)。

Description

回路解析方法
 本開示は半導体集積回路設計において、計算機を用いてプロセス情報等に基づいて回路の特性をシミュレーションし性能改善する方法に関するものである。
 半導体集積回路設計において、微細化により、プロセスばらつきの回路特性への影響が増大している。そのため、半導体集積回路を構成する各素子の遅延のばらつきを正規分布で表し、統計的演算を用いて回路全体の遅延分布を見積もる技術(以下、統計的遅延解析手法)があった。
 統計的遅延解析手法として[特許文献1]の手法が提案されている。[特許文献1]では、CMOS組み合わせ回路に対し、素子・配線・パス間の遅延の相関を考慮して静的に最大遅延の分布を計算することができる。
 図3は設計対象回路の例であり、図4は図3の回路をアサイクリックグラフG={V,E}で表現した例である。ここで、Vはグラフの点集合、Eはグラフの枝集合を表している。[特許文献1]に示す様に、回路の各端子v(21,22)に値0を伝搬させるのに要する真の最大遅延をd0(v)、値1を伝搬させるのに要する真の最大遅延をd1(v)として、回路全体の出力端子に対するこれらの値の最大値を見出すという方法があった。
 ここで、回路全体の入出力,論理ゲートの入出力の各端子は、グラフの点vに対応し、グラフの2つの点v0,v1に対応する。図4においては、これら1対の点(v0,v1)を点線の楕円(21,22)で囲み、v0は白抜きの点(23)で、v1は黒点(24)で表している。v0,v1は、それぞれ対応する端子vが信号値0,1をとることを示し、以下では、v0をvの0点、v1をvの1点と呼ぶ。
 回路全体の入力端子に対応する点は、入ってくる枝のないソースであり、回路全体の出力端子に対応する点は出ていく枝の無いシンクである。以下では、ソースの集合(25)をS、シンクの集合(26)をTとする。また、グラフGのソースからシンクに至る有向道をパスとする。図4において、各矩形(27)は回路を構成する論理ゲートを示し、1つの矩形内の左側の点(21)は対応する論理ゲートの入力端子を、右側の点(22)は出力端子に対応する。矩形内の枝(28)は、論理ゲートの入力を表す点から出て出力を表す点に入り、矩形がNANDゲートやNORゲートである場合には、そのゲート内のpMOSあるいはnMOSに対応する。異なる矩形に属す点を結ぶ枝は配線に対応し、0点から出た枝e0は0点に入り、1点から出た枝e1は1点に入る。
 回路の各端子vに対する最大遅延d0(v),d1(v)を、それぞれグラフG上の点vの0点(v0),1点(v1)へのあるシンクからの最大パス長d(v0),d(v1)に対応させる。そのため、u,vをそれぞれ枝の始点,終点とすると、各枝e=(u,w)に対して、信号値をuからwに伝達するのに要する遅延を枝eの重みt(e)として与える。
 このようなアサイクリックグラフを用いてシミュレーションすることにより、比較的簡単な処理で論理回路の遅延解析を行なうことが可能であった。
 一方、[特許文献2]では、各セルに入力される遅延時間及び遷移時間の確率分布に相関関係があることに着目し、遅延分布計算手段によって遅延情報を計算し、遅延情報に基づきタイミング解析を行い、回路を改善する方法があった。
特開2002-279012号公報 特開2007-304957号公報
 しかしながら、LSIの設計性能を向上させるためには、クリティカルパス遅延に影響を与える素子や配線を精度よく発見し、改善する必要がある。そのためには、各素子や配線がクリティカルパスの一部となる確率を精度よく見積もる必要がある。
 また、図3に示されるような回路で信号fを計算しようとする際に、信号dと信号eの信号伝達時間(遅延)が信号bの遅延に大きく依存するような場合、信号dの遅延と信号eの遅延の間には大きな相関がある。また、配線遅延にもばらつきがあるような場合、信号bのファンアウトの信号伝達遅延にも相関がある。従って、相関を考慮しない統計的遅延解析手法は正確さを欠く可能性が高い。遅延分布見積もりの精度が悪い場合、半導体集積回路の設計においては、実際には確率的にほとんど起こり得ないいくつもの最悪条件が重なった場合においての正常動作を保証せねばならず、オーバーマージンを含んだ設計にならざるを得ない。このため、設計された半導体集積回路においては、必要以上に面積や消費電力等のコストを増大させてしまう。
 一方、[特許文献2]の方法では、遅延と入力遷移時間の間の相関情報等を用いて遅延分布計算を精度良く行う方法が開示されているが、回路改善候補を選択する際にパス遅延の相関を考慮することはできなかった。すなわち、遅延分布解析でいくら精度を向上させても、回路改善を精度よく行うことができず、回路修正後の遅延分布計算において、見積り以下の遅延改善効果しか得られないことになる。回路修正と遅延分布計算の工程を必要以上に繰り返すことにより設計期間を増大させてしまうか,あるいは,過剰に回路修正してしまうことにより、半導体集積回路面積や消費電力を必要以上に増大させてしまう。
 本発明は、トランジスタ等の部品や配線の遅延のばらつきの相関を考慮して、正確に組合せ回路の最大遅延を削減することを課題とする。
 本発明のある実施形態による回路解析方法は、半導体集積回路の解析を行う方法であって、設計対象回路を表す回路情報(100)を取得するステップと、設計対象プロセスに基づいた素子および/または配線の特性分布を表すテクノロジ情報(200)を取得するステップと、前記設計対象回路における遅延の分布を表す遅延分布情報(300)を取得するステップと、前記設計対象回路における遅延のばらつきの相関を表す遅延相関情報(400)を取得するステップと、前記回路情報(100),前記テクノロジ情報(200),前記遅延分布情報(300),前記遅延相関情報(400)に基づいて、前記設計対象回路の遅延の改善のための回路修正候補を表す回路修正候補情報(500)を生成する回路修正候補抽出ステップ(ST200)とを備えることを特徴とする。
 上記回路解析方法によれば、設計対象回路の遅延の改善のための回路修正候補を精度よく見積もることができ、面積や消費電力等のコストを削減することができる。
 本発明によれば、最大遅延削減あるいは遅延制約違反解消のために、遅延相関情報を考慮して回路改善箇所を抽出することにより、より精度よく改善候補を見積もることが可能となる。すなわち、遅延制約違反解消に至る回路改善回数の削減効果、あるいは、回路改善終了時点での半導体集積回路において、面積や消費電力等のコストをより削減することできるという効果がある。
図1は回路解析プログラムに従って行われる処理の流れを示す図である。 図2は半導体集積回路の設計フローを示す図である。 図3は設計対象回路の回路情報100の例を示す図である。 図4は図3の回路をアサイクリックグラフで表現した図である。 図5は図3の回路をアサイクリックグラフで表現した図である。 図6は図3の回路をアサイクリックグラフで表現した図である。 図7はテクノロジ情報200の例を示す図である。 図8は遅延分布情報300の例を示す図である。 図9は遅延分布情報300の例を示す図である。 図10は遅延相関情報400の例を示す図である。 図11は遅延相関情報400の例を示す図である。 図12は回路修正候補情報500の例を示す図である。 図13は回路修正候補情報500の例を示す図である。 図14は回路修正候補抽出処理ST200において行われる処理の流れを示す図である。 図15は回路改善処理ST300による修正が行われた後の回路情報100の例を示す図である。 図16は回路改善処理ST300による修正が行われた後の回路情報100の例を示す図である。 図17は回路解析プログラムに従って行われる処理の流れの変形例を示す図である。 図18は回路解析プログラムに従って行われる処理の流れの変形例を示す図である。 図19は回路解析プログラムに従って行われる処理の流れの変形例を示す図である。 図20は回路解析プログラムに従って行われる処理の流れの変形例を示す図である。 図21は回路解析プログラムに従って行われる処理の流れの変形例を示す図である。 図22は回路解析プログラムに従って行われる処理の流れの変形例を示す図である。
 以下、好ましい実施形態について図面を参照して説明する。
 本実施形態による回路解析プログラムは、PC等の情報処理装置,ネットワークを介して端末装置から利用可能な形態で設定されたサーバ装置に保持されうる。また、CD-ROM,DVD-ROM,フラッシュメモリ等の各種記録媒体に当該プログラムを記録して流通させることもできる。そしてPC等の情報処理装置に上記の記録媒体を装着して当該プログラムを読み出す,あるいは,情報処理装置が備えている記憶媒体に当該プログラムを記憶させておき必要に応じて読み出すことにより、当該プログラムに関わる機能を実現することができる。以下、当該プログラムに従って行われる処理の流れを説明する。
 本実施形態の回路解析プログラムに従って行われる処理の流れを図1に示す。回路解析プログラムを実行するコンピュータ(計算機)は、データベースとして回路情報100,テクノロジ情報200,遅延分布情報300,遅延相関情報400,回路修正候補情報500を有しており、これらを利用して遅延分布計算処理ST100,回路修正候補抽出処理ST200,回路改善処理ST300を行い、もとの回路情報100を修正する。
 図2は半導体集積回路の設計フローである。本実施形態では、図1の回路情報100として、図2の論理設計工程での論理合成によって生成された論理回路情報100aを用いてもよいし、配置設計工程での配置設計後に生成される配置済み回路情報100b,あるいは,配線設計工程での配線設計後に生成される配線済み回路情報100cなどレイアウトの情報を用いてもよい。配置済み回路情報100bを用いる場合には、回路改善処理ST300に基づいてもとの配置済み回路情報100bを修正するだけでなく、もとの論理回路情報100aを修正することもできる。配線済み回路情報100cを用いる場合には、回路改善処理ST300に基づいてもとの配線済み回路情報100cを修正するだけでなく、もとの論理回路情報100a,配置済み回路情報100bを修正することもできる。
 図3は設計対象回路の回路情報100の例である。図3(a)は回路図、図3(b)は図3(a)の回路を表したネットリストである。
 図1のテクノロジ情報200には、設計対象プロセスに基づいた遅延や電流などの素子の特性の情報が含まれる。図7はテクノロジ情報200の例であり、半導体集積回路を構成する論理セルの遅延特性を表している。図7において、Cell1はnandの論理を持っており、入力端子Aから出力端子Yに至る遅延は平均3.0,標準偏差0.2であり、入力端子Bから出力端子Yに至る遅延は平均2.8,標準偏差0.2であることを示している。Cell3についても同様である。Cell2はorの論理を持っており、入力端子Aから出力端子Yに至る遅延は平均4.0,標準偏差0.2であり、入力端子Bから出力端子Yに至る遅延は平均3.8,標準偏差0.3であることを示している。Cell4についても同様である。Cell5はbufferの論理を持っており、入力端子Aから出力端子Yに至る遅延は平均0.3,標準偏差0.1であることを示している。
 遅延分布計算(ST100)
 図1の遅延分布計算処理ST100では、回路情報100とテクノロジ情報200とを入力とし、回路情報100に記述された接続関係からパスを解析し、またテクノロジ情報200に記述された遅延情報とから、対象とする回路を解析した結果として遅延分布情報300と遅延相関情報400とを出力する。遅延分布計算処理ST100は、例えば[特許文献1]に開示された方法で行うことができる。
 図8は、遅延分布情報300の例である。図8の例は、
Instance1の入力端子Aの遅延は平均0,標準偏差0、
Instance1の入力端子Bの遅延は平均0,標準偏差0、
Instance2の入力端子Aの遅延は平均0.5,標準偏差0.1、
Instance2の入力端子Bの遅延は平均0.6,標準偏差0.1、
Instance3の入力端子Aの遅延は平均3.0,標準偏差0.2、
Instance3の入力端子Bの遅延は平均4.0,標準偏差0.3、
であることを表している。
 図9は遅延分布情報300の別の形態である。図9の例は、
遅延の最小値(Min)は、
Instance1の入力端子Aは0、
Instance1の入力端子Bは0、
Instance2の入力端子Aは0.2、
Instance2の入力端子Bは0.3、
Instance3の入力端子Aは2.4、
Instance3の入力端子Bは2.8、
遅延の代表値(Typ)は、
Instance1の入力端子Aは0、
Instance1の入力端子Bは0、
Instance2の入力端子Aは0.5、
Instance2の入力端子Bは0.6、
Instance3の入力端子Aは3.0、
Instance3の入力端子Bは4.0、
遅延の最大値(Max)は、
Instance1の入力端子Aは0、
Instance1の入力端子Bは0、
Instance2の入力端子Aは0.8、
Instance2の入力端子Bは0.9、
Instance3の入力端子Aは3.6、
Instance3の入力端子Bは5.2、
であることを表している。
 一般的に、遅延の平均値をμ,遅延の標準偏差をσとすると、遅延の最大値(Max)および最小値(Min)をμ±3σと仮定し遅延計算に用いることが多いが、異なる定義を用いてもよい。また、代表値(Typ)は平均値であってもよいし、プロセスの目標値,あるいは,確率の最も高い値であってもよい。
 図10は、遅延相関情報400の例である。図10の例は、
Instance1の入力端子Aの遅延とInstance1の入力端子Bの遅延との相関係数は0.3、
Instance1の入力端子Aの遅延とInstance2の入力端子Aの遅延との相関係数は0.3、
Instance1の入力端子Bの遅延とInstance2の入力端子Aの遅延との相関係数は1、
Instance1の入力端子Aの遅延とInstance3の入力端子Aの遅延との相関係数は0.5、
Instance2の入力端子Aの遅延とInstance3の入力端子Bの遅延との相関係数は0.2、
Instance2の入力端子Bの遅延とInstance3の入力端子Bの遅延との相関係数は0.6、
であることを表している。また、上記以外は、相関係数は0である,または,相関関係は無視してよいということを表している。
 図11は遅延相関情報400の別の形態である。図11の例は、
Instance1の入力端子Aの遅延とInstance1の入力端子Bの遅延との相関係数は0.3、
Instance1の入力端子Aの遅延とInstance2の入力端子Aの遅延との相関係数は0.3、
Instance1の入力端子Aの遅延とInstance2の入力端子Bの遅延との相関係数は0、
Instance1の入力端子Aの遅延とInstance3の入力端子Aの遅延との相関係数は0.5、
Instance1の入力端子Aの遅延とInstance3の入力端子Bの遅延との相関係数は0、
Instance1の入力端子Bの遅延とInstance2の入力端子Aの遅延との相関係数は1、
Instance1の入力端子Bの遅延とInstance2の入力端子Bの遅延との相関係数は0、
Instance1の入力端子Bの遅延とInstance3の入力端子Aの遅延との相関係数は0、
Instance1の入力端子Bの遅延とInstance3の入力端子Bの遅延との相関係数は0、
Instance2の入力端子Aの遅延とInstance2の入力端子Bの遅延との相関係数は0、
Instance2の入力端子Aの遅延とInstance3の入力端子Aの遅延との相関係数は0、
Instance2の入力端子Aの遅延とInstance3の入力端子Bの遅延との相関係数は0.2、
Instance2の入力端子Bの遅延とInstance3の入力端子Aの遅延との相関係数は0、
Instance2の入力端子Bの遅延とInstance3の入力端子Bの遅延との相関係数は0.6、
Instance3の入力端子Aの遅延とInstance3の入力端子Bの遅延との相関係数は0
であることを表している。
 図8および図9の情報と同様に、図10および図11の情報は同値である。
 回路修正候補抽出(ST200)
 図1の回路修正候補抽出処理ST200において行われる処理の流れを図14に示す。
 グラフ生成(ST210)
 グラフ生成処理ST210では、読み込んだ回路情報100からグラフを生成し、計算機内部あるいは記録媒体に保存する。
 図4~6は、図3の論理回路を表すアサイクリックグラフの例である。図5では簡単のため、立ち上がりのパスと立下りのパスを共通の枝eおよび点vで表現している。さらに図6では、セル遅延を表す枝と配線遅延を表す枝を1つの枝で表現している。
 アサイクリックグラフG={V,E}において、ある枝e(e∈E)の遅延をt(e)と表現する。t(e)はテクノロジ情報200に記述される。
 回路の任意の点における遅延をxとし、xの分布の平均μおよび分散σ、2枝e1,e2(e1,e2∈E)の遅延をそれぞれx1=t(e1),x2=t(e2)とする。このとき、任意の2枝x1,x2の間の相関係数ρ(x1,x2)は、遅延分布計算処理ST100により計算される。
 ソースvsは、フリップフロップの出力端子としてもよいし、クロックとしてもよい。ソースvsから任意の点v(v∈V)への遅延の最大値を点vにおける遅延といい、d(v)で表す。d(v)も同様に[特許文献1]などの方法により計算され、遅延分布情報300として表される。また、点uからvへの枝e=(u,v)(e∈E)に対してd(e)=d(u)+t(e)を枝eの終点における遅延といい、d(e)と表す。これらの遅延d(v),d(e)の確率密度関数をそれぞれjv(x),je(x)とする。jv(x),je(x)は、一般的に[数1],[数2]に示すような正規分布と近似できることが知られている。
Figure JPOXMLDOC01-appb-M000001
Figure JPOXMLDOC01-appb-M000002
 ここでμvv 2はd(vi)の平均,分散であり、μee 2はd(e)の平均,分散である。
 クリティカルエッジ計算(ST220)
 次に、クリティカルエッジ計算処理ST220では、多入力セルなど複数の信号が合流する点において、それぞれの信号がクリティカルとなる確率を計算する。
 (条件付き確率密度関数)
 d(v)=xのときにある条件condが成立する確率をPv[cond](x)とする。点vにおける遅延d(v)の正規分布確率密度関数をjv(x)とし、d(v)=xであるときの確率密度jv(x)とそのときにcondが成立する確率Pv[cond](x)との積を、condとなるxの条件付き確率密度関数と呼びφv[cond](x)で表す。このとき定義より[数3]が成立する。
Figure JPOXMLDOC01-appb-M000003
 したがって、d(v)=xの確率密度関数jv(x),および,condとなるd(v)=xの条件付き確率密度関数φv[cond](x)が既知である場合、d(v)=xであるときに条件condが成立する確率Pv[cond](x)は[数4]で求めることができる。
Figure JPOXMLDOC01-appb-M000004
 条件condが成立する確率P[cond]は、d(v)=xであるときにcondが成立する確率Pv[cond](x)とd(v)=xの確率密度jv(x)との積を全領域にわたって積分すればよいので[数5]の関係が成立する。一方、通常の確率密度関数を全領域にわたって積分した場合、その値は1となる。
Figure JPOXMLDOC01-appb-M000005
 ここで、条件condの否定を/condとする。d(v)=xであるときにcondが成立する確率Pv[cond](x)と、d(v)=xであるときにcondが成立しない確率Pv[/cond](x)との和は1となる[数6]。
Figure JPOXMLDOC01-appb-M000006
 また[数6]を用いると[数7][数8]が成立する。
Figure JPOXMLDOC01-appb-M000007
Figure JPOXMLDOC01-appb-M000008
 ここで、x>c(cは定数)なる条件を考える。このとき、xのステップ関数をu(x)とすると、d(v)=xであるときに条件x>cが成立する確率Pv[x>c](x)は[数9]で表すことができる。
Figure JPOXMLDOC01-appb-M000009
 したがって、x>cとなるd(v)=xの条件付き確率密度関数φv[x>c](x)は[数10]で表される。
Figure JPOXMLDOC01-appb-M000010
 また、d(v)=xであるときにx>cが成立しない確率をPv[/(x>c)](x)とすると、
Figure JPOXMLDOC01-appb-M000011
であるので[数12][数13][数14]が成立する。
Figure JPOXMLDOC01-appb-M000012
Figure JPOXMLDOC01-appb-M000013
Figure JPOXMLDOC01-appb-M000014
 ここで、2つの独立な条件をそれぞれcond1,cond2とすると、cond1でありかつcond2である確率Pv[cond1&cond2](x)はPv[cond1](x)とPv[cond2](x)との積で表される[数15]。
Figure JPOXMLDOC01-appb-M000015
 また、cond1でありかつcond2であるxの条件付き確率密度関数φv[cond1&cond2](x)は[数16]で表される。
Figure JPOXMLDOC01-appb-M000016
 クリティカルエッジ計算(ST220)
 ある点vにおいて、vへ入る枝の集合をev={e1,…,ek,…,en}とする。点vへ入る枝の終点における遅延d(e1),…,d(en)のうち遅延が最大となる枝をクリティカルエッジと呼ぶ。すなわち、点vに入る枝ek=(u,v)がクリティカルエッジであるとは、ekの終点における遅延d(ek)がvに入る他の枝e'=(u',v)の遅延d(e')より大きいことを意味する。またこのとき、クリティカルエッジの終点における遅延は点vにおける遅延に等しい。
 今、点vに入る枝ekがクリティカルエッジであるという条件をek∈Eceと表す。ある枝ekの遅延がxk=d(ek)のとき、枝ekがクリティカルエッジである確率P[ek∈Ece](xk)は、x={x1,…,xn}={d(e1),…,d(en)}においてek以外の枝ej(j=1,…,n、j≠k)における遅延xj=d(ej)がすべてxk以下である確率と考えることができる。従って[数17]のように表すことができる。
Figure JPOXMLDOC01-appb-M000017
 ここで、jn(x)はn変量x={x1,…,xn}に関する確率密度関数であり、一般に正規分布関数と近似できることが知られている。
 n=1の場合、枝e1の遅延がx1=d(e1)のとき、枝e1がクリティカルエッジである確率P[e1∈Ece](x1)は[数18]で表される。すなわち、点vに入る枝e1がクリティカルエッジとなる。
Figure JPOXMLDOC01-appb-M000018
 また、ek∈Eceとなるxk=d(ek)の条件付き確率密度関数φek[ek∈Ece](xk)は[数17]と同様に[数19]で表される。
Figure JPOXMLDOC01-appb-M000019
 ここで、n変量の正規分布関数jn(x)は[数20]であらわされる。
Figure JPOXMLDOC01-appb-M000020
 また、(x-μ)T=(x11 x22 … xNN)は(x-μ)の転置行列である。ここでσijは、[数21]で定義される行列σijの逆行列(σij=(σij)-1)である。
Figure JPOXMLDOC01-appb-M000021
 なお、n=1の場合、e1∈Eceとなるx1=d(e1)の条件付き確率密度関数φe1[e1∈Ece](x1)は[数22]で表される。このときj1(x1)は、x1=d(e1)の確率密度関数である。
Figure JPOXMLDOC01-appb-M000022
 [数19]の計算には積分が含まれているが、[数23]に示す近似を用いれば簡単に計算することもできる。
Figure JPOXMLDOC01-appb-M000023
 ここでF(Fは自然数)は積分計算の分割数であり、a,b(a<b)はそれぞれ近似計算領域の下限,上限である。d(>0)は積分計算の分割幅であり[数24]で定義する。a→-∞およびb,F→∞のとき近似誤差は0となる。
Figure JPOXMLDOC01-appb-M000024
 グラフGに含まれるすべての枝ekに対し、クリティカルエッジとなる条件付き確率密度関数φek[ek∈Ece](xk)は、以下に示す[アルゴリズム1]で求めることができる。
 [アルゴリズム1]
(1)…アサイクリックグラフG={V,E}において、すべての点v(v∈V)およびすべての枝e(e∈E)の終点における遅延の確率密度関数jv(x)およびje(x)を[特許文献1]の手法により計算する。
(2)…グラフ中から1つの点v(v∈V)を選択する。
(3)…選択された点vに入ってくる各枝ekに対し、[数19]を適用し、枝ekがクリティカルエッジとなるときの枝ekの終点における遅延の条件付き確率密度関数φek[ek∈Ece](xk)を計算する。
(4)…すべての点に対し上記(2)~(3)を適用する。
 [数20][数21]よりn変量の確率密度関数jn(x1,…,xn)の計算の複雑度はO(n2)である。したがって、φek[ek∈Ece](xk)の計算の複雑度は[数19][数23]よりO(n3×F)となる。グラフGに含まれる全枝数すなわち回路規模をN、枝ekの終点に入る枝の数をn(ek)とすると、グラフGに含まれるすべての枝ekに対し、クリティカルエッジとなるxkの条件付き確率密度関数φek[ek∈Ece](xk)を求める計算の複雑度は、
Figure JPOXMLDOC01-appb-M000025
である。ただし、回路規模が大きい,すなわち,N≫n(ek)およびN≫Fのとき、φek[ek∈Ece](xk)の計算の複雑度はO(N)となるので、十分実用的な計算時間で計算することができる。
 クリティカルパス率計算(ST230)
 次に、クリティカルパス率計算処理ST230において、グラフ中の点や枝がクリティカルパス上の点や枝となる確率を計算する。なお、クリティカルパス上の点や枝は、設計対象回路におけるクリティカルパス上の素子や配線に対応している。
 (クリティカルパス定義)
 アサイックリックグラフG={V,E}において、ソースに対応する点vsを始点,シンクに対応する点vtを終点とする経路をパスpと呼び、p={Ep,Vp}と表す。ここで、Ep={ep1,…,epj,…,epm}はパスp上の枝の集合、Vp={vp0,…,vpj,…,vpm}はパスp上の点の集合であり、vp0はシンクvtに対応する点,vpmはソースvsに対応する点であり、各点はシンクからソースへの順にソートされているとする。すなわち、枝epjの始点,終点はそれぞれvpj,vp(j-1)に対応する。また、グラフGにおけるすべてのパスの集合をp={p1,…,pj,…,pn}とし、各パスpjに対して、pjに含まれる全ての枝eの遅延t(e)の総和をpjのパス遅延と呼び、t(pj)と表す。パス遅延t(pj)が最大のパスをクリティカルパスと呼び、点v,枝eがクリティカルパス上の点,枝であるという条件をそれぞれv∈Vcp,e∈Ecpと表す。
 ここで、枝e=(u,v)がクリティカルパスに含まれる(e∈Ecp)ということは、枝eの始点u,終点vが共にクリティカルパスに含まれ(u,v∈Vcp),かつ,枝eがクリティカルエッジである(e∈Ece)ことを意味する。一方、点vがクリティカルパスに含まれる(v∈Vcp)ということは、点vに入ってくる枝ei=(u,v)のうち少なくとも1つがクリティカルパスに含まれ,かつ,点vから出て行く枝eo=(v,w)のうち少なくとも1つがクリティカルパスに含まれることを意味する。
 このとき、ある点vにおいて、点vから出る枝の集合をeo={eo1,…,eoj,…,eom},点vに入る枝の集合をei={ei1,…,eik,…,ein}とする。点vから出る枝eojがクリティカルパス上の枝となる確率P[eoj∈Ecp]の総和
Figure JPOXMLDOC01-appb-M000026
および点vに入る各枝eikがクリティカルパス上の枝となる確率P[eik∈Ecp]の総和
Figure JPOXMLDOC01-appb-M000027
は、どちらも点vがクリティカルパス上の点となる確率P[v∈Vcp]に等しくなる[数28]。
Figure JPOXMLDOC01-appb-M000028
 また、点v(v∈V)がクリティカルパス上の点となるときの点vにおける遅延d(v)の条件付き確率密度関数をφv[v∈Vcp](x)とし、点vから出る枝eojがクリティカルパス上の枝となるときの点vにおける遅延の条件付き確率密度関数をφv[eoj∈Ecp](x)とする。点vがクリティカルパス上の点となるときのd(v)=xの条件付き確率密度関数φv[v∈Vcp](x)は、点vから出る各枝eojがクリティカルパス上の枝となるときの条件付き確率密度φv[eoj∈Ecp](x)の総和
Figure JPOXMLDOC01-appb-M000029
および点vへ入る各枝eikがクリティカルパス上の枝となるときの条件付き確率密度φv[eik∈Ecp](x)の総和
Figure JPOXMLDOC01-appb-M000030
に等しくなる[数31]。
Figure JPOXMLDOC01-appb-M000031
 (条件付き確率密度分布の継承)
 点vにおける遅延d(v)がxであるときに点vがクリティカルパス上の点である確率をPv[v∈Vcp](x)と表し、d(v)=xであるときに枝eがクリティカルエッジである確率をPv[e∈Ece](x)と表す。今、点vに入る枝eがクリティカルエッジであるか否かは、ソースvsからvに到るパスで決まるのに対して、点vがクリティカルパス上の点であるか否かはソースvsからシンクvtに到る全てのパスによって決まる。したがって、ソースvsに近い点v(すなわち、vsからvに到るパスに含まれる枝の個数の最小値が、vsからvtに到るパスに含まれる枝の個数の最小値に比べて小さいような点)に対しては「d(v)=xであるときにv∈Vcpであること」および「d(v)=xであるときにe∈Eceであること」はほぼ独立であると考えることができる。
 そのため、[数15]より、枝eの終点vへの遅延がd(v)=xであるとき枝eがクリティカルパス上の枝である確率Pv[e∈Ece](x)は、v∈Vcpでありかつe∈Eceである確率であるから、[数32]で表される。
Figure JPOXMLDOC01-appb-M000032
 e∈Ecpあるいはe∈Eceのとき、枝eの終点における遅延d(e)が点vの遅延d(v)となる。それゆえ、e∈Ecpあるいはe∈Eceの条件下では、枝eの終点における遅延d(e)がxであるとき点vがクリティカルパス上の点である確率をPe[v∈Vce](x)とし、枝eの終点における遅延d(e)がxであるとき枝eがクリティカルエッジである確率をPe[e∈Ece](x)とすると、[数33]が成り立つ。
Figure JPOXMLDOC01-appb-M000033
 したがって[数32]は[数34]のようになる。
Figure JPOXMLDOC01-appb-M000034
 ここで、枝eの始点uにおける遅延をx=d(u),枝eの終点vにおける遅延をz=d(v),枝eの遅延をy=t(e)とし、x=d(u)とy=t(e)の2変量確率密度関数をju,t(e)(x,y)とすると、z=x+yであるから、[数3]より、e∈Ecpとなるx,yの条件付き確率密度関数φu,t(e)[e∈Ecp](x,y)は、x,yの2変量確率密度関数ju,t(e)(x,y)と、e∈Ecpとなる確率Pe[e∈Ecp](z)(=Pe[e∈Ecp](x+y))との積で表される[数35]。
Figure JPOXMLDOC01-appb-M000035
 ここで、P[e∈Ecp](x,y)は、枝eの始点uの遅延がx=d(u)、枝eの遅延がy=t(e)のときに、e∈Ecpとなる確率である。従って、e∈Ecpとなるxの条件付き確率密度関数φu[e∈Ecp](x)は、φu,t(e)[e∈Ecp](x,y)を枝ekの遅延yで積分することにより得られるから、
Figure JPOXMLDOC01-appb-M000036
となる。
 ここで、[数4]より、
Figure JPOXMLDOC01-appb-M000037
である。
 ここで、ju,t(e)(x,y),je(x),jv(x)は[特許文献1]の手法により、またφe[e∈Ece](x)は[数19]によりあらかじめ計算可能であるから、点vがクリティカルパス上の点となる点vの条件付き確率密度関数φv[v∈Vcp](x)が既知であれば、点vに入る各枝ekがクリティカルパス上の枝となる枝ekの始点uにおける遅延の条件付き確率密度関数φu[e∈Ecp](x)を得ることができる。
 (各枝のクリティカルパス率計算)
 シンクに対応する点vt(=vp0)はすべてのパスに含まれる点である。したがって、シンクvtがクリティカルパス上の点となるvtの条件付き確率密度関数φvt[vt∈Vcp](x)は、vtの確率密度関数jvt(x)に等しい([数38]および[数39])。
Figure JPOXMLDOC01-appb-M000038
Figure JPOXMLDOC01-appb-M000039
 したがって、アサイクリックグラフG={V,E}において、グラフ中の任意の点vがクリティカルパス上の点となる点vにおける遅延の条件付き確率密度関数φvt[vt∈Vcp](x)、および、回路中の任意の枝eがクリティカルパス上の枝となる枝eの始点uにおける遅延の条件付き確率密度関数φu[e∈Ecp](x)は、以下に示す[アルゴリズム2]で計算することができる。
 [アルゴリズム2]
(1)…すべての枝eに対し、クリティカルエッジとなる条件付き確率密度関数φe[e∈Ece](x)を[数19]により計算する。
(2)…シンクに対応する点vtに[数39]で示す初期値を設定する。
(3)…アサイクリックグラフにおいて逆トポロジカル順に枝eを選択する。
(4)…選択した枝eがクリティカルパス上の点となる枝eの始点uにおける遅延の条件付き確率密度関数φu[e∈Ecp](x)を[数36]~[数37]により計算する。
(5)…点uから出る枝eojのすべてに対してφu[eoj∈Ecp](x)が計算済みの場合、[数31]により、点uがクリティカルパス上の点となる点uの遅延の条件付き確率密度関数φu[u∈Vcp](x)を計算する。
(6)…すべての枝および点に対し上記(3)~(5)の処理を繰り返す。
 設計対象回路に遅延制約としてDが課せられている場合は、パスpがクリティカルパスであり,かつ,パス遅延値がD以上となる確率を求めればよい。したがって、[数39]の代わりに[数40]を初期値として用いることにより求めることができる。ここで、u(x)はステップ関数である。
Figure JPOXMLDOC01-appb-M000040
 枝eがクリティカルパス上の枝となる確率P[e∈Ecp]および点vがクリティカルパス上の点となる確率P[v∈Vcp]は、点vおよび枝eがクリティカルパス上となる条件付き確率密度関数φv[v∈Vcp](x)およびφu[e∈Ecp](x)を積分することにより得ることができる[数41]。
Figure JPOXMLDOC01-appb-M000041
 回路規模をN,積分計算の分割数をFとすると、グラフGに含まれるすべての点についてその点がクリティカルパス上の点となる確率P[v∈Vcp]およびすべての枝についてその枝がクリティカルパス上の枝となる確率P[e∈Ecp]を求める計算の複雑度は、N≫FのときO(N)となる。したがって、本方法の計算処理時間は十分実用的であると言える。
 回路修正候補決定(ST240)
 次に回路修正候補決定処理ST240では、遅延改善のための回路修正候補情報500を出力する。回路修正候補情報500は、クリティカルパス率の高い枝でもよいし、回路修正による面積あるいは消費電力増などのコストに対する遅延改善率等の感度を表す係数をクリティカルパス率に乗じてもよい。抽出する改善候補の数は、あらかじめ指定された数としてもよいし、クリティカルパス率がある確率を超えるものだけを抽出してもよい。遅延制約Dが与えられている場合は[数40]の値が正となる枝をすべて抽出すればよい。
 図12は、回路修正候補決定処理ST240の結果抽出される回路修正候補情報500の例である。図12では、Instance2,Instance3,配線eが回路修正候補であることを示している。
 図13は回路修正候補情報500の別の形態の例である。図13では、図12に示す修正候補に対する具体的修正内容を示している。図13では、修正候補であるInstance2をCell3に置き換え,Instance3をCell4に置き換え、また、Cell5をInstance4として挿入し、ネットeをInstance2の出力端子Yから切断してInstance4の出力端子Yへ接続し、さらにIncetance2の出力端子YとInstance4の入力端子Aとをネットgで接続することを意味している。
 回路改善(ST300)
 最後に図1の回路改善処理ST300では、回路修正候補情報500に基づいて回路情報100の修正を行う。
 たとえば、図12の回路修正候補情報500を用いる場合、入力端子Bを通るパスの遅延削減となる様、Instance2およびInstance3をより高速なセルに置換すればよい。また、他の配線を迂回させるなどして配線eをより優先的に引きなおすことにより配線eの遅延を削減することができる。
 図16は、回路情報100がレイアウト情報(図2の配置済み回路情報100b,配線済み回路情報100c)である場合の設計対象回路の回路情報100の例である。
 図16(a)は、回路改善処理ST300による修正が行われる前の回路情報100の例であり、図3の回路情報100のレイアウト情報である。Instance1,Instance2,Instance3にそれぞれCell1,Cell1,Cell2が配置され、b,d,eのネットがそれぞれ配線されている。
 図16(b)は、図16(a)の回路情報100に対して回路改善処理ST300による修正が図12の回路修正候補情報500に基づいて行われた後の回路情報100の例である。回路修正候補情報500としてネットeが抽出された場合の修正例を表している。ネットbの配線を迂回させることにより、クリティカルパス率の高いネットeを優先的に配線して遅延を削減することで、同じ面積で遅延改善効果を得ることができる。
 また、図13の回路修正候補情報500を用いる場合、Instance2,Instance3をそれぞれCell1,Cell2から能力のより高いCell3,Cell4へ置き換え、ネットeへバッファ(Cell5)を挿入することにより遅延を削減することができる。
 図15は、図3の回路情報100に対して回路改善処理ST300による修正が図13の回路修正候補情報500に基づいて行われた後の回路情報100の例である。図15では、新たにInstance4としてCell5が挿入され、Instance4の入力端子AがInstance2の出力端子Yと接続されている。また、Instance2,Instance3がそれぞれCell1,Cell2からCell3,Cell4に置き換えられ、Instance3の入力端子Bの接続先がInstance2からInstance4に修正されている。
 図16(c)は、図16(a)の回路情報100に対して回路改善処理ST300による修正が図13の回路修正候補情報500に基づいて行われた後の回路情報100の例を表しており、図15の回路情報100に対応したレイアウトである。クリティカルパス率の高いInstance2,Instance3のセルをより遅延の少ないセルに置き換え、また、ネットbを迂回させることにより、クリティカルパス率の高いネットeを優先的に配線し、さらにネットeに対しCell5のバッファ挿入を行うことで、遅延改善効果を得ることができる。
 以上、本実施形態によれば、遅延分布および遅延相関を精度よく考慮して、設計対象回路の遅延を削減することが可能である。
 上記実施形態にはさまざまな変形例がある。それらのいくつかを以下に説明する。
 図17は、図1に示す実施形態による処理から回路改善処理ST300を省略した変形例を示す。回路改善処理ST300を省略しても、最大遅延削減または遅延制約違反解消のために修正すべき回路の箇所の抽出が可能であるという効果がある。回路改善を、必要に応じて市販のレイアウトツールや設計者自身の回路修正作業と組み合わせて行うことにより、より柔軟に設計フローを選択することが可能になる。
 図18は、図1に示す実施形態による処理から遅延分布計算ST100を省略した変形例を示す。遅延分布計算ST100を省略しても、最大遅延削減または遅延制約違反解消のために修正すべき回路の箇所の抽出が可能であるという効果がある。遅延分布計算を、必要に応じて市販の遅延解析ツールや設計者自身の計算と組み合わせて行うことにより、より柔軟に設計フローを選択することが可能になる。
 図19は、図1に示す実施形態による処理から回路改善処理ST300および遅延分布計算ST100を省略した変形例を示す。回路改善処理ST300および遅延分布計算ST100を省略しても、最大遅延削減または遅延制約違反解消のために修正すべき回路の箇所の抽出が可能であるという効果がある。遅延分布計算および回路改善を、必要に応じて市販の遅延解析ツールまたはレイアウトツールや設計者自身の計算または回路修正作業と組み合わせて行うことにより、より柔軟に設計フローを選択することが可能になる。
 図20は、図1に示す実施形態による処理から遅延相関情報400を省略した変形例を示す。遅延相関情報400を省略しても、回路によっては精度は低下するものの最大遅延削減または遅延制約違反解消のために修正すべき回路の箇所の抽出が可能であるという効果がある。例えば計算時間が増大する等の理由で遅延相間情報の出力が困難な場合でも、本発明の効果を得ることが可能である。
 図21は、図1に示す実施形態による処理において、回路修正候補抽出処理ST200と、回路改善処理ST300とを、同じ計算機を用いて同じプログラム内で連続して処理ST400として実行する変形例を示す。回路修正候補情報500は、計算機のメモリ上に内部データとして保持していればよく、データファイルとして出力する必要はない。内部データとして保持する場合、特に、回路修正候補決定処理ST240と回路改善処理ST300とが、同じ計算機を用いて同じプログラム内で連続実行される場合は、ファイルの読み書きにかかる時間を短縮することができる。一方、異なるプログラムを用いる場合には、回路修正候補情報500をデータファイルとして出力したほうが好ましい。
 図22は、図21に示す実施形態による処理から遅延分布計算ST100を省略した変形例を示す。図22の変形例は、図21の変形例の持つ効果に加えて、図18の変形例の持つ効果を有する。
 本発明は、半導体集積回路設計において、計算機を用いてプロセス情報等に基づいて回路の特性をシミュレーションし性能改善するのに有用である。
100…回路情報
200…テクノロジ情報
300…遅延分布情報
400…遅延相関情報
500…回路修正候補情報
ST100…遅延分布計算処理
ST200…回路修正候補抽出処理
ST300…回路改善処理

Claims (13)

  1.  半導体集積回路の解析を行う方法であって、
     設計対象回路を表す回路情報(100)を取得するステップと、
     設計対象プロセスに基づいた素子および/または配線の特性分布を表すテクノロジ情報(200)を取得するステップと、
     前記設計対象回路における遅延の分布を表す遅延分布情報(300)を取得するステップと、
     前記設計対象回路における遅延のばらつきの相関を表す遅延相関情報(400)を取得するステップと、
     前記回路情報(100),前記テクノロジ情報(200),前記遅延分布情報(300),前記遅延相関情報(400)に基づいて、前記設計対象回路の遅延の改善のための回路修正候補を表す回路修正候補情報(500)を生成する回路修正候補抽出ステップ(ST200)と、
    を備える回路解析方法。
  2.  前記回路修正候補抽出ステップ(ST200)は、
     前記回路情報(100)から前記設計対象回路を点と枝で表現するグラフを生成するグラフ作成ステップ(ST210)と、
     前記グラフ作成ステップ(ST210)で生成されたグラフの各枝についてその枝がクリティカルエッジとなる確率を計算するクリティカルエッジ計算ステップ(ST220)と、
     前記グラフ作成ステップ(ST210)で生成されたグラフの各点,各枝についてその点,その枝がクリティカルパス上の点,枝となる確率を計算するクリティカルパス率計算ステップ(ST230)と、
     前記クリティカルエッジ計算ステップ(ST220),前記クリティカルパス率計算ステップ(ST230)における計算結果に基づいて前記回路修正候補情報(500)を生成する回路修正候補決定ステップ(ST240)とを含む
    請求項1に記載の回路解析方法。
  3.  前記回路修正候補情報(500)に基づいて前記回路情報(100)の修正を行う回路改善ステップ(ST300)をさらに備える
    請求項1に記載の回路解析方法。
  4.  前記回路情報(100)に記述された接続関係からパスを解析し、当該パス解析結果と前記テクノロジ情報(200)に記述された遅延情報とから、前記設計対象回路を解析した結果として前記遅延分布情報(300)と前記遅延相関情報(400)とを出力する遅延分布計算ステップ(ST100)をさらに備える
    請求項1に記載の回路解析方法。
  5.  前記遅延の改善は、
     前記設計対象回路の遅延違反の削減,もしくは,前記設計対象回路の最大遅延の削減を含む
    請求項1に記載の回路解析方法。
  6.  前記回路修正候補情報(500)は、
     少なくとも1つのセルまたは配線を含む
    請求項1に記載の回路解析方法。
  7.  前記遅延は、
     クロックもしくはフリップフロップの信号変化から当該信号変化の影響による回路中の他の地点の信号変化までにかかる時間を含む
    請求項1に記載の回路解析方法。
  8.  前記回路修正候補抽出ステップ(ST200)では、
     前記遅延分布情報(300)と前記遅延相関情報(400)を考慮して、クリティカルパスになる確率の高い候補を抽出することにより前記回路修正候補情報(500)を生成する
    請求項1に記載の回路解析方法。
  9.  前記遅延相関情報(400)は、
     少なくとも1対の遅延のばらつきの相関係数を表した情報を含む
    請求項1に記載の回路解析方法。
  10.  前記回路情報(100)は、
     半導体集積回路の論理設計工程での論理合成によって生成された論理回路情報(100a)である
    請求項1に記載の回路解析方法。
  11.  前記回路情報(100)は、
     半導体集積回路の配置設計工程での配置設計後に生成される配置済み回路情報(100b)である
    請求項1に記載の回路解析方法。
  12.  前記回路情報(100)は、
     半導体集積回路の配線設計工程での配線設計後に生成される配線済み回路情報(100c)である
    請求項1に記載の回路解析方法。
  13.  請求項1に記載の回路解析方法をコンピュータに実行させるための回路解析プログラム。
PCT/JP2010/000877 2009-02-13 2010-02-12 回路解析方法 WO2010092825A1 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2010550469A JPWO2010092825A1 (ja) 2009-02-13 2010-02-12 回路解析方法
US13/209,071 US20110296361A1 (en) 2009-02-13 2011-08-12 Circuit analysis method

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2009-031298 2009-02-13
JP2009031298 2009-02-13

Related Child Applications (1)

Application Number Title Priority Date Filing Date
US13/209,071 Continuation-In-Part US20110296361A1 (en) 2009-02-13 2011-08-12 Circuit analysis method

Publications (1)

Publication Number Publication Date
WO2010092825A1 true WO2010092825A1 (ja) 2010-08-19

Family

ID=42561673

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2010/000877 WO2010092825A1 (ja) 2009-02-13 2010-02-12 回路解析方法

Country Status (3)

Country Link
US (1) US20110296361A1 (ja)
JP (1) JPWO2010092825A1 (ja)
WO (1) WO2010092825A1 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2013097589A (ja) * 2011-11-01 2013-05-20 Fujitsu Ltd 遅延解析プログラム,遅延解析装置および遅延解析方法

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101080974B1 (ko) * 2009-11-24 2011-11-09 한국과학기술정보연구원 계산 시뮬레이션 모사 시스템 및 그 방법
JP5418408B2 (ja) * 2010-05-31 2014-02-19 富士通株式会社 シミュレーションパラメータ校正方法、装置及びプログラム
US9934326B1 (en) 2015-03-31 2018-04-03 EMC IP Holding Company LLC Methods and apparatus for systems providing distributed expression evaluation over streams
US9811588B1 (en) 2015-03-31 2017-11-07 EMC IP Holding Company LLC Methods and apparatus for generating causality matrix and impacts using graph processing
US10176071B1 (en) * 2015-03-31 2019-01-08 EMC IP Holding Company LLC Methods and apparatus for systems determining a probable set of problems to explain symptoms
US10503413B1 (en) 2016-06-01 2019-12-10 EMC IP Holding Company LLC Methods and apparatus for SAN having local server storage including SSD block-based storage

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002279012A (ja) * 2000-11-22 2002-09-27 Matsushita Electric Ind Co Ltd 遅延分布計算方法、回路評価方法およびフォールスパス抽出方法
JP2005092885A (ja) * 2003-09-19 2005-04-07 Internatl Business Mach Corp <Ibm> デジタル回路の統計的タイミング解析のためのシステムおよび方法
WO2007068690A1 (en) * 2005-12-16 2007-06-21 International Business Machines Corporation System and method of criticality prediction in statistical timing analysis
JP2007183932A (ja) * 2005-12-09 2007-07-19 Fujitsu Ltd タイミング解析方法及びタイミング解析装置

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6684375B2 (en) * 2000-11-22 2004-01-27 Matsushita Electric Industrial Co., Ltd. Delay distribution calculation method, circuit evaluation method and false path extraction method

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002279012A (ja) * 2000-11-22 2002-09-27 Matsushita Electric Ind Co Ltd 遅延分布計算方法、回路評価方法およびフォールスパス抽出方法
JP2005092885A (ja) * 2003-09-19 2005-04-07 Internatl Business Mach Corp <Ibm> デジタル回路の統計的タイミング解析のためのシステムおよび方法
JP2007183932A (ja) * 2005-12-09 2007-07-19 Fujitsu Ltd タイミング解析方法及びタイミング解析装置
WO2007068690A1 (en) * 2005-12-16 2007-06-21 International Business Machines Corporation System and method of criticality prediction in statistical timing analysis

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
HIROKI YOSHIDA ET AL.: "Tokeiteki Sekkei no Tameno Futatsu no Shihyo no Hyoka", IEICE TECHNICAL REPORT, THE INSTITUTE OF ELECTRONICS, INFORMATION AND COMMUNICATION ENGINEERS, vol. 108, no. 478, 4 March 2009 (2009-03-04), pages 231 - 236 *
MASAHIKO TOMITA ET AL.: "Kumiawase Kairo ni Oitearu Path ga Critical ni naru Kakuritsu", PROCEEDINGS OF THE 2003 IEICE GENERAL CONFERENCE KISO - KYOKAI, THE INSTITUTE OF ELECTRONICS, INFORMATION AND COMMUNICATION ENGINEERS, 3 March 2003 (2003-03-03), pages 88 *

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2013097589A (ja) * 2011-11-01 2013-05-20 Fujitsu Ltd 遅延解析プログラム,遅延解析装置および遅延解析方法

Also Published As

Publication number Publication date
US20110296361A1 (en) 2011-12-01
JPWO2010092825A1 (ja) 2012-08-16

Similar Documents

Publication Publication Date Title
CN110192192B (zh) 用于电路设计的基于神经网络的物理综合
JP4061295B2 (ja) デジタル回路の統計的タイミング解析のためのシステムおよび方法
JP5004965B2 (ja) 統計的タイミング解析におけるクリティカリティ予測のシステム及び方法
Zhao et al. Machine learning based routing congestion prediction in FPGA high-level synthesis
WO2010092825A1 (ja) 回路解析方法
US20050066297A1 (en) System and method for correlated process pessimism removal for static timing analysis
CN106326510B (zh) 验证时钟树延迟
US8281275B2 (en) Reducing leakage power in integrated circuit designs
US9009645B2 (en) Automatic clock tree routing rule generation
Salman et al. Exploiting setup–hold-time interdependence in static timing analysis
US8713506B2 (en) System and method for employing signoff-quality timing analysis information concurrently in multiple scenarios to reduce dynamic power in an electronic circuit and an apparatus incorporating the same
KR20160147435A (ko) 집적 회로의 수율 예측 방법 및 집적 회로의 설계 최적화 방법
CN115204076B (zh) 集成电路的逻辑优化方法、装置、电子设备及可读介质
US11755797B2 (en) System and method for predicting performance, power and area behavior of soft IP components in integrated circuit design
US20050081171A1 (en) Timing analysis apparatus, timing analysis method and program product
Kleeberger et al. Workload-and instruction-aware timing analysis: The missing link between technology and system-level resilience
US20090049417A1 (en) Method of designing a circuit for optimizing output bit length and integrated circuit therefor
JP2005352787A (ja) タイミング解析方法およびタイミング解析装置
US8527925B2 (en) Estimating clock skew
US8776003B2 (en) System and method for employing side transition times from signoff-quality timing analysis information to reduce leakage power in an electronic circuit and an electronic design automation tool incorporating the same
JP2008242739A (ja) 遅延解析支援プログラム、該プログラムを記録した記録媒体、遅延解析支援装置、および遅延解析支援方法
US8510693B2 (en) Changing abstraction level of portion of circuit design during verification
Wu et al. Two approaches for timing-driven placement by Lagrangian relaxation
US10372851B2 (en) Independently projecting a canonical clock
Wu et al. Asynchronous circuit placement by lagrangian relaxation

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 10741105

Country of ref document: EP

Kind code of ref document: A1

ENP Entry into the national phase

Ref document number: 2010550469

Country of ref document: JP

Kind code of ref document: A

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 10741105

Country of ref document: EP

Kind code of ref document: A1