WO2010004668A1 - 遅延ライブラリ、遅延ライブラリの作成方法、および遅延計算方法 - Google Patents

遅延ライブラリ、遅延ライブラリの作成方法、および遅延計算方法 Download PDF

Info

Publication number
WO2010004668A1
WO2010004668A1 PCT/JP2009/000786 JP2009000786W WO2010004668A1 WO 2010004668 A1 WO2010004668 A1 WO 2010004668A1 JP 2009000786 W JP2009000786 W JP 2009000786W WO 2010004668 A1 WO2010004668 A1 WO 2010004668A1
Authority
WO
WIPO (PCT)
Prior art keywords
input
delay time
transition
timing
logic cell
Prior art date
Application number
PCT/JP2009/000786
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 US12/743,965 priority Critical patent/US20100313176A1/en
Publication of WO2010004668A1 publication Critical patent/WO2010004668A1/ja

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

Definitions

  • the present invention relates to a method for improving analysis accuracy by increasing the representation accuracy of signal propagation time (delay time) in an actual circuit in timing verification after layout design, which is the final stage of designing a semiconductor integrated circuit.
  • timing verification in addition to the connection information of the multi-input logic cell, information on the parasitic resistance and parasitic capacitance of the wiring connecting the multi-input logic cell and the multi-input logic cell is used. By calculating the time required for signal propagation (hereinafter referred to as cell delay time) in wiring, it is finally determined whether or not the design specifications are satisfied.
  • cell delay time time required for signal propagation
  • a gate level timing verification method is generally used for timing verification of a large scale integrated circuit.
  • the gate level timing verification will be described below.
  • the cell delay time from the input terminal to the output terminal and characteristic values are preliminarily determined for each logic element constituting the integrated circuit.
  • a database of the extracted values is used as a delay library.
  • cell delay time groups and characteristic values are associated with each other in a table, and in the following description, the tabulated database of cell delay times is referred to as a cell delay time table.
  • Delay time (hereinafter referred to as gate level delay time) is calculated. This gate level timing verification is performed based on the gate level delay time.
  • a multi-input logic cell that is a component of a circuit includes a cell having a plurality of input terminals (hereinafter referred to as a multi-input logic cell), and one input terminal (characterized object) among the plurality of input terminals.
  • the cell delay time from the terminal to the output terminal already fluctuates depending on the state of other input terminals (terminals not to be characterized) (whether they are transitioning simultaneously or fixed to 0 or 1). are known.
  • the input signal of the terminal not to be characterized is fixed to either 0 or 1.
  • the input signal of the non-characterized input terminal may be characterized after being set so as to be shifted simultaneously with the input signal of the input terminal to be characterized. is there.
  • the characterization process is executed after the state of the input signal at the non-characterized input terminal is designated to only one specific pattern. Therefore, in the calculation of the gate level delay time in a circuit provided with a plurality of multi-input logic cells, -The input signal of the input terminal not related to cell operation is fixed to 0 or 1. Or -A state in which the input signals of input terminals not related to cell operation transition simultaneously, The gate delay time as a whole is calculated using the cell delay times in the plurality of multi-input logic cells.
  • the cell delay time in the multi-input logic cell and the cell delay time in the multi-input logic cell in the state of operating in the actual circuit at the stage of the delay library Differences occur between.
  • a transistor-level delay calculation method (see Patent Document 1) that calculates a maximum or minimum or cell delay time that matches an actual operation by a method of setting an input signal at a non-characterized input terminal that affects the cell delay time. Proposed.
  • this conventional example is referred to as a second conventional example, and the above-described conventional example is referred to as a first conventional example
  • a signal propagation path (hereinafter, referred to) in the entire circuit including other input terminals.
  • pessimism indicates that there is a margin in timing in the operation of an actual circuit even if the path is a constraint violation based on the result of timing verification. Therefore, in pessimistic analysis, there is a possibility that a route that does not actually require timing correction is determined as a constraint violation. On the other hand, optimism means that the operation of the actual circuit does not satisfy the timing constraint even if the route does not violate the constraint due to the result of the timing verification. In an optimistic analysis, there is a possibility of causing a malfunction in an actual circuit.
  • the second conventional example is effective for reducing pessimism and optimism in the above delay calculation and timing verification in a transistor level simulation of a circuit including a multi-input logic cell.
  • the processing time of the transistor level simulation is enormous, it is not realistic to use the second conventional example for calculating the delay time (gate level delay time) of the entire large-scale integrated circuit.
  • the gate level delay time in the circuit including the multi-input logic cell as described in the explanation of the first conventional example, only the state where the input signal of the non-characterized input terminal is fixed to 0 or 1 is used. The calculation is carried out in consideration. Therefore, at the stage of the delay library, the above calculation depends on the signal input timing to the input terminal of the multi-input logic cell, and the influence in the state where the cell delay time is different cannot be taken into consideration. For example, as shown in FIG. 17A, in the cell delay time generated when a signal propagates from the input terminal A to the output terminal Y in the two-input NAND (input terminals A, B, output terminal Y), the input terminal B is connected to the input terminal B.
  • the cell delay time becomes about half, and the influence of the simultaneous operation increases. This becomes more prominent as the number of input terminals increases.
  • the cell delay time may be about 1/3.
  • the cell delay time is about 4 minutes. May be 1.
  • the cell delay time similarly depends on the signal input timing to the input terminal of the multi-input logic cell.
  • the effect of fluctuations cannot be considered. Therefore, if the gate level delay time of the entire path including multi-input logic cells is calculated and the timing verification is performed, a simulation result faster than the actual gate level delay time is obtained, and conversely, the actual gate level delay time is exceeded. Slow results may occur.
  • the input transition timing difference is a signal shift generated between the input signal at the input terminal A and the input signal at the input terminal B.
  • the input transition timing difference is 0, that is, the state of simultaneous transition and the state of non-simultaneous transition, there is a possibility that a difference of several times occurs in the calculated value of the cell delay time. It becomes an error.
  • the present invention provides a method for considering the signal input timing to the input terminals of the multi-input logic cell in the gate level delay calculation.
  • a delay library creation method and a delay calculation method are provided so as not to perform pessimistic or optimistic timing verification.
  • a plurality of patterns that affect the delay time are extracted from the connection information of the transistors that are the characterization inputs, depending on the voltage transition timing at the terminals, and the plurality of extracted patterns Is input, and the characterization results of a plurality of patterns are registered as a delay library.
  • the reference value can be changed at the input terminal of the multi-input logic cell depending on whether the signal transition times overlap or not. become.
  • timing window time zone where signal transition may occur on the time axis
  • pessimism or optimism due to simultaneous transition is reduced. It becomes possible to do.
  • a first configuration of a specific method for creating a delay library according to the present invention is as follows.
  • the second configuration of the method for creating a delay library according to the present invention is as follows.
  • a method of creating a delay library of a multi-input logic cell having a plurality of input terminals Based on connection information between transistors included in the multi-input logic cell, a delay time in the multi-input logic cell in a state where an input signal of an input terminal other than one of the plurality of input terminals is fixed; Determining whether there is a difference between a delay time in the multi-input logic cell in a state where all the input signals of the plurality of input terminals are simultaneously transitioned; and When it is determined whether or not the transition of the input signals together in all of the plurality of input terminals affects the delay time of the multi-input logic cell, Calculating a simultaneous transition delay time in the multi-input logic cell in a state where all of the input signals of Non-simultaneous transition delay time in the multi-input logic cell when an input signal at one of the plurality of input terminals transitions and an input
  • the third configuration of the method for creating a delay library according to the present invention is as follows.
  • a method of creating a delay library of a multi-input logic cell having a plurality of input terminals Based on connection information between transistors included in the multi-input logic cell, a delay time in the multi-input logic cell in a state where an input signal of an input terminal other than one of the plurality of input terminals is fixed; Determining whether there is a difference between a delay time in the multi-input logic cell in a state where all the input signals of the plurality of input terminals are simultaneously transitioned; and After determining whether the simultaneous transition of the input signals in all of the plurality of input terminals affects the delay time of the multi-input logic cell, and determining that it affects the plurality of input terminals, Calculating a simultaneous transition delay time in the multi-input logic cell in a state where all of the input signals of Repeating the process of calculating the delay time in the multi-input logic cell while varying the input transition timing difference of
  • the input timing difference in the input signals of all the input terminals in one path here, the path from the input terminal to the output terminal
  • the delay time After registering the relationship between the two in the delay library, it is possible to calculate a delay time more suitable for the actual operation by using an appropriate input transition timing difference when calculating the gate level delay.
  • the first configuration of the delay library of the present invention is as follows: A multi-input logic cell delay library having a plurality of input terminals, A simultaneous transition delay time in the multi-input logic cell in a state where all input signals of the plurality of input terminals are simultaneously transitioned; and The multi-input in a state where an input signal of one input terminal of the plurality of input terminals of the multi-input logic cell is transited and an input signal of an input terminal other than the one input terminal is fixed to a power supply or a ground.
  • Non-simultaneous transition delay time in the logic cell Is described.
  • the delay library of the present invention is such that the delay time at the time of simultaneous transition and the delay value at the time of non-simultaneous transition are registered for one path in the multi-input logic cell.
  • This delay library can be created by the second configuration of the delay library creation method of the present invention described above.
  • the second configuration of the delay library of the present invention is: A multi-input logic cell delay library having a plurality of input terminals, The transition timing difference generated between the transition timing of the input signal of one input terminal of the plurality of input terminals and the transition timing of the input signal of an input terminal other than the one input terminal, and the transition timing difference in each transition timing difference The delay time in the multi-input logic cell is described in association with it.
  • This delay library can be created by the third configuration of the delay library creation method of the present invention described above.
  • the first configuration of the delay calculation method of the present invention is as follows.
  • the second configuration of the delay calculation method of the present invention is as follows.
  • the third configuration of the delay calculation method of the present invention is as follows.
  • the fourth configuration of the delay calculation method of the present invention is as follows.
  • the fifth configuration of the delay calculation method of the present invention is as follows.
  • the fifth configuration of the delay calculation method of the present invention is as follows.
  • the gate level delay time calculation considering the difference between the cell delay time in the simultaneous transition state and the cell delay time in the non-simultaneous transition state in the input signals of the plurality of input terminals, Timing verification can be performed. This makes it possible to reduce optimism and pessimism in timing verification.
  • TW timing window
  • FIG. 1 is a diagram showing input data and processing flow of delay calculation.
  • FIG. 2A is a first diagram showing the relationship between the signal input timing to the input terminal of the multi-input logic cell and the output.
  • FIG. 2B is a second diagram showing the relationship between the signal input timing to the input terminal of the multi-input logic cell and the output.
  • FIG. 3 is a diagram showing a relationship between information necessary for creating the delay library and values in the delay library.
  • FIG. 4A is a circuit diagram showing a first configuration of the multi-input logic cell.
  • FIG. 4B is a diagram showing overlapping timing windows (TW) at the input terminals of the multi-input logic cell of FIG. 4A.
  • FIG. 5 is a diagram showing a delay calculation flow considering simultaneous transition of multi-input logic cells.
  • FIG. 6A is a circuit diagram showing a second configuration of the multi-input logic cell.
  • FIG. 6B is a diagram showing an output signal and a timing window (TW) at the input terminal at the time of simultaneous transition / non-simultaneous transition of the multi-input logic cell of FIG. 6A.
  • FIG. 7 is a diagram showing a delay calculation flow considering simultaneous transition of multi-input logic cells.
  • FIG. 8 is a diagram showing a delay calculation flow considering simultaneous transition of multi-input logic cells.
  • FIG. 9A is a diagram showing a first delay library in which delay values are registered for both simultaneous transitions and non-simultaneous transitions at input terminals of a multi-input logic cell.
  • FIG. 9B is a diagram showing a second delay library in which delay values are registered for both the simultaneous transition and the non-simultaneous transition at the input terminal of the multi-input logic cell.
  • FIG. 10 is a diagram showing a first characterization flow considering simultaneous transition of multi-input logic cells.
  • FIG. 11 is a diagram showing a second characterization flow considering simultaneous transition of multi-input logic cells.
  • FIG. 12 is a diagram showing a third characterization flow considering simultaneous transition of multi-input logic cells.
  • FIG. 13 is a diagram showing a first delay calculation flow considering simultaneous transition of multi-input logic cells.
  • FIG. 14 is a diagram showing a second delay calculation flow considering simultaneous transition of multi-input logic cells.
  • FIG. 10 is a diagram showing a first characterization flow considering simultaneous transition of multi-input logic cells.
  • FIG. 11 is a diagram showing a second characterization flow considering simultaneous transition of multi-input logic cells.
  • FIG. 12 is a diagram showing a third characterization
  • FIG. 15 is a diagram showing a third delay calculation flow considering simultaneous transition of multi-input logic cells.
  • FIG. 16 is a diagram showing the relationship between the input transition timing difference and the delay of the multi-input logic cell.
  • FIG. 17A is a circuit diagram showing a configuration of a NAND circuit which is an example of a multi-input logic cell.
  • FIG. 17B is a first diagram illustrating a difference in delay time between simultaneous transition and non-simultaneous transition of the multi-input logic cell of FIG. 17A.
  • FIG. 17C is a second diagram illustrating a difference in delay time between the simultaneous transition and the non-simultaneous transition of the multi-input logic cell of FIG. 17A.
  • FIG. 18 is a diagram illustrating an example of hardware of the delay library creation and delay calculation apparatus according to the embodiment of this invention.
  • Gate level delay calculation step, gate level timing verification step, and input data (a-1, a-2, b-1, b-2) Signal input timing of input terminals of 2-input cells (501 to 507, 601 to 607, 701 to 707, 1303 to 1307, 1401 to 1407, 1501 to 1507) Steps of delay calculation flow considering simultaneous transition of multi-input logic cells (801 to 804, 811 to 814, 821 to 824) Each step of delay library characterization flow considering simultaneous transition of multi-input logic cells
  • FIG. 1 is a flowchart showing a delay library creation method, circuit delay time calculation procedure, and input / output data according to Embodiment 1 of the present invention.
  • a transistor level cell netlist (101) and a characterization input pattern (102) are input and a transistor level simulation is performed (103).
  • the result (cell delay time group) of the transistor level simulation (103) is registered in the delay library (105) as a cell delay time table.
  • the gate level delay time calculation (108) is executed.
  • the delay library (105) includes a gate level circuit netlist (104) such as a verilog netlist and an output result of a transistor level simulation (103).
  • timing verification (109) at the gate level is performed based on the result of the gate level delay calculation (108).
  • this verification is referred to as gate level timing verification (109).
  • a method for creating a delay library Similar to the conventional characterization, in the delay library characterization, a transistor-level cell netlist (103) is input. In the characterization, as shown in FIG. 3, the cell input conditions (cell input signal slope and output load capacity) are changed to generate a characterization input pattern, and a cell delay time group is calculated. A database in which cell delay time groups are tabulated is registered in the delay library.
  • the delay library characterization depends on input transition timing differences at a plurality of input terminals of a multi-input logic cell. In this process, input patterns having different cell delay times are extracted and registered as characterization input patterns (102). In this embodiment, the input signal slopes of a plurality of input terminals of a multi-input logic cell are varied with the same value, but the input signal slopes of the plurality of input terminals may be varied independently of each other.
  • step 802 the cell delay time of the multi-input logic cell in a state where the input signals of a plurality of input terminals transition simultaneously is calculated while changing the cell input signal slope and the output load capacitance.
  • the cell delay time is output from the input signal and the output terminal that are input to the characterization target input terminal in a state where the signal is propagated between the characterization target input terminal and the output terminal of the multi-input logic cell. Is a delay time generated between the output signal and the output signal (delay time generated in the multi-input logic cell).
  • the cell delay time of a multi-input logic cell in a state where the input signals of a plurality of input terminals transition simultaneously is referred to as a simultaneous transition delay time, and each calculation is performed while changing the cell input signal slope and the output load capacitance.
  • a set of simultaneous transition delay times is referred to as a simultaneous transition delay time group.
  • step 803 only the input signal of the input terminal to be characterized transits, and the input signal of the non-characteristic input terminal is fixed to the other pins while the cell delay time of the cell is fixed to the power supply or ground.
  • a set of other pin-fixed non-simultaneous transition delay times calculated while changing the cell input signal slope and the output load capacitance is called another pin-fixed non-simultaneous transition delay time group.
  • a simultaneous transition delay time group and another pin-fixed non-simultaneous transition delay time group are calculated.
  • step 814 the cell delay time groups of both the simultaneous transition delay time group calculated in step 812 and the other pin fixed non-simultaneous transition delay time group calculated in step 813 correspond to the cell characteristic values.
  • the tabulated simultaneous transition delay time group is referred to as a simultaneous transition delay time table
  • the tabulated other pin fixed non-simultaneous transition delay time group is referred to as another pin fixed non-simultaneous transition delay time table.
  • Step 802 and step 803 may be reversed in order.
  • An input pattern (a-1 pattern, b-1 pattern) is registered as a characterization input pattern (102), and a cell delay time group is calculated in that state.
  • the cell delay time group calculated in this state is a simultaneous transition delay time group.
  • an input signal is input to the input terminal A (characteristic target input terminal) and an input signal of the input terminal B (non-characteristic target input terminal) is fixed to the power source.
  • (Pattern b-2) is registered as the characterization input pattern (102), and the cell delay time group is calculated in this state.
  • the cell delay time group calculated in this state is the other pin fixed non-simultaneous transition delay time group.
  • the simultaneous transition delay time group and the other pin fixed non-simultaneous transition delay time group are associated with the cell characteristics to generate the simultaneous transition delay time table and the other pin fixed non-simultaneous transition delay time table.
  • the case of the 2-input NOR gate in FIG. 2B is the same as described above.
  • the N-ch transistors are arranged in parallel, and the state where the input signal of the characterization target input terminal and the input signal of the non-characterization target input terminal transition simultaneously, The fall delay time (cell delay time) of the output signal differs from the state in which only the input signal has transitioned.
  • a 2-input multi-input logic cell is taken as an example, but a multi-input logic cell having two or more inputs such as 3-input and 4-input is also subject to characterization.
  • the delay value (cell delay time) of the signal propagating from the input terminal to the output terminal may be affected by the signal state of the input signal input to the non-characterized input terminal.
  • characterization is performed with various variations in the input pattern to the non-characterized input terminal at the time of characterization, and the simultaneous transition delay time table obtained and other pin fixed non-simultaneous transition
  • the delay time table is described in the delay library (105).
  • FIG. 9A illustrates a delay library (105) in which both the simultaneous transition cell delay time table and the other pin fixed non-simultaneous transition cell delay time table are registered at the input terminal of the multi-input logic cell.
  • both the simultaneous transition delay time table and the other pin fixed non-simultaneous transition delay time table are not described, but only one is described as a pessimistic value.
  • both the simultaneous transition delay time table and the other pin fixed non-simultaneous transition delay time table are described, and these tables are switched and used.
  • gate level delay calculation in step 108 of FIG. In (calculation of gate level delay time), gate level timing verification can be performed in step 109 after calculating a gate level delay time close to the actual operation.
  • step 811 input is made from the connection information of the transistors in the multi-input logic cell to an input terminal that is one of a plurality of input terminals that is not targeted for characterization (non-characterized input terminal). Whether or not there is a difference between the other pin fixed non-simultaneous transition delay time in the state where the input signal is fixed and the simultaneous transition delay time in the state where the input signals of all the input terminals transition together . For example, consider a case where the output signal rises in the NAND cell or a case where the output signal falls in the NOR cell.
  • step 812 the simultaneous transition delay time groups of the multi-input logic cells that are determined in step 811 that simultaneous transitions in the input signals of the plurality of input terminals affect the cell delay time are selectively selected. Calculated. Next, other pin-fixed non-simultaneous transition delay time groups of all multi-input logic cells are calculated. Finally, in step 814, a simultaneous transition delay time table of multi-input logic cells determined that simultaneous transitions in input signals at a plurality of input terminals affect cell delay time, and all multi-input logic cells The other pin fixed non-simultaneous transition delay time table is described in the delay library (105). For multi-input logic cells determined to have no effect on delay due to simultaneous transition, only step 802 or step 803 may be executed, and either result may be written as a delay time in the delay library (105). .
  • the delay library (105) can be created with a smaller calculation amount than in the first embodiment. It becomes possible.
  • Step 821 is the same as step 801 in FIG.
  • step 822 for a multi-input logic cell in which the simultaneous transition of input signals affects the cell delay time, a simultaneous transition delay time group in a state where input signals at a plurality of input terminals transition simultaneously is calculated.
  • step 823 the input transition of the input signal from the non-characterized input terminal is changed so that the input transition timing difference becomes large, and the simultaneous transition delay time is repeatedly calculated.
  • the input transition timing difference is a signal shift that occurs between the input signal of the characterization target input terminal and the input signal of the non-characterization target input terminal.
  • step 823 is repeatedly performed until there is no change in the simultaneous transition delay time, and in step 824, the simultaneous transition delay time table is written in the delay library (105).
  • FIG. 16 shows the relationship between the input transition timing difference and the cell delay time.
  • the horizontal axis is the input transition timing difference
  • the vertical axis is the cell delay time.
  • the cell delay time ts is a cell delay time when the input transition timing difference is 0, that is, a simultaneous transition delay time.
  • the cell delay time ta is a cell delay time when the input transition timing difference becomes sufficiently large, that is, a non-simultaneous transition delay time.
  • dt is an input transition timing difference at which the change in the cell delay time becomes a certain value or less. In the present embodiment, the input transition timing difference is changed, and the cell delay time calculation process is repeated until the change in the cell delay time becomes a certain value or less.
  • a non-simultaneous transition delay time table (including simultaneous transition delay time ts and non-simultaneous transition delay time dt) Is created for each input transition timing difference.
  • the input transition timing difference may have a negative value in a multi-input logic cell in which no transition occurs in the output signal of the output terminal even when the input of one input terminal transitions.
  • the delay library according to claim 3 can be created by the method of the present embodiment.
  • FIG. 9B shows an example of this delay library (a non-simultaneous transition delay time table is generated for each input transition timing difference).
  • the simultaneous transition delay time table and the other pin fixed non-simultaneous transition time table are described, but the non-simultaneous transition delay time table is not recorded for each input transition timing difference.
  • the cell delay time closer to the actual operation can be calculated and recorded by recording the non-simultaneous transition delay time table for each input transition timing difference.
  • the predetermined input signal pattern here is: -An input pattern when the input signal of the non-characterized input terminal is fixed to 0 or 1.
  • An input pattern in a state where the non-characterized input terminal is transitioned at the same timing as the characterized input terminal, Etc. are exemplified.
  • the former is the input signal of the non-characterized input terminal (input terminal B).
  • the input pattern in a state where is fixed to 1 is exemplified, and the latter is an input pattern in a state where the input signal of the non-characterized input terminal (input terminal B) is transitioned at the same timing as the input signal of the input terminal A Is exemplified.
  • the cell delay time tables in the two input patterns described above are registered as the cell delay time table of the multi-input logic cell. That is, -Simultaneous transition delay time table, ⁇ Other pin fixed non-simultaneous transition delay time table, These two cell delay time tables are registered in the delay library (delay time characteristic information) (105).
  • the simultaneous transition delay time table is a table-like database in which cell delay times and cell characteristic values are associated with each other in a state in which an input signal from an input terminal to be characterized and an input signal from an input terminal not to be characterized transition simultaneously. In this state, the cell delay time is the shortest.
  • the other pin fixed non-simultaneous transition delay time table is a table-like database that associates cell delay times and cell characteristic values in a state where the input signal of the non-characterized input terminal is fixed.
  • the cell delay time becomes the longest.
  • step 501 cell delay time calculation processing using the other pin fixed non-simultaneous delay time table or cell delay time calculation processing using the simultaneous delay time table is performed according to the input data.
  • step 502 gate level delay time is calculated based on the cell delay time calculated in step 501 and the delay time caused by the wiring, and gate level timing verification based on the gate level delay time is performed. And are carried out.
  • step 503 a timing window (TW) is generated at each input terminal of the multi-input logic cell based on the result of the gate level timing verification performed in step 502, and then the timing window (TW). Are checked (presence of input transition timing difference).
  • the timing window represents a time zone in which signal transition may occur on the time axis.
  • FIG. 6A shows a 2-input NAND which is an example of a multi-input logic cell
  • FIG. 6B shows a timing window (TW) between an output signal and an input terminal at the time of simultaneous transition / non-simultaneous transition of the multi-input logic cell.
  • FIG. As shown -In the state where the input signal of port IN1 and the input signal of port IN2 transition at the same time (simultaneous transition state), the output signal becomes the state where the dullness is the smallest, In a state where the input signal of the port IN1 and the input signal of the port IN2 do not transition at the same time (for example, other pin fixed non-simultaneous transition state), the output signal is in a state where the dullness is greatest.
  • step 504 the simultaneous transition delay time table of the delay library (105) is displayed for the multi-input logic cell in which the timing windows (TW) overlap (no input transition timing difference).
  • the cell delay time is recalculated. That is, as exemplified in the 2-input NAND of FIG. 6A, when the timing window (TW) of the port IN1 and the timing window (TW) of the port IN2 overlap (no difference in input transition timing), the delay library (105 ) Is selected, and the cell delay time is recalculated using the table. The recalculated value is described as the cell delay time. When the timing window (TW) does not overlap (there is an input transition timing difference), the cell delay time is not rewritten.
  • step 505 calculation of gate level delay time and gate level timing verification are performed based on the result of rewriting processing of cell delay characteristic information in step 504 described above.
  • step 506 the timing window (TW) is generated again based on the gate level timing verification result in step 505, and the overlap of the timing windows (TW) at the input terminals of the multi-input logic cell is checked.
  • step 507 if there is a new overlap in the timing window (TW) (there is an input transition timing difference), the process returns to step 504, and if there is no overlap (no input transition timing difference), step 507 Return to.
  • step 507 the presence or absence of overlapping timing windows (TW) is confirmed again. If it is confirmed in step 507 that there is no overlap, the gate level delay time is output and the calculation of the gate level delay time is completed.
  • step 601 the cell delay time is calculated using the simultaneous transition delay time table or another pin fixed non-simultaneous delay time table according to the input data. At this time, a delay time table corresponding to the transition form of the input signal that makes the timing verification result pessimistic is selected.
  • step 602 calculation of the gate level delay time based on the cell delay time calculated in step 601 and gate level timing verification based on the gate level delay time are performed. By executing step 602, the signal transition timing at each input terminal of the multi-input logic cell is known.
  • step 603 based on the information obtained in step 602, the overlap of timing windows (TW) between the input terminals of the multi-input logic cell is checked.
  • TW timing windows
  • step 604 the cell delay time of the multi-input logic cell detected as a cell in which the timing windows (TW) between the input terminals do not overlap (no difference in input transition timing) in step 603 is the simultaneous transition delay time table.
  • step 605 the gate level delay time is recalculated based on the cell delay time information recalculated in step 604, and gate level timing verification is performed based on the gate level delay time.
  • step 606 it is checked whether or not a change has occurred in the overlap of the timing windows (TW) rewritten in step 604. If it is determined in step 606 that the timing window (TW) overlap has changed, the process returns to step 604. If it is determined that no change has occurred, the process proceeds to step 607, where the gate level delay time in which the review of the overlap of the timing window (TW) is eliminated is output.
  • Embodiment 6 With reference to FIG. 8, the calculation method of the gate level delay time of Embodiment 6 of this invention is demonstrated. In the present embodiment, simultaneous transition is considered. In the fifth embodiment, the overlap of timing windows (TW) is checked for all paths. However, it is not necessary to analyze the path satisfying the timing constraints in the circuit design close to the cell delay time of the actual operation with high accuracy, and the multi-input logic cell that checks the overlap of the timing window (TW) , It can be limited to multi-input logic cells on the path where the error has occurred. In the present embodiment, calculation processing is reduced by limiting multi-input logic cells that check for overlapping timing windows (TW) based on such a theory. Details will be described below.
  • step 701 the cell delay time is calculated using the simultaneous transition delay time table or the other pin fixed non-simultaneous delay time table according to the input data. At this time, the delay time table corresponding to the transition form of the input signal that makes the gate level timing verification result pessimistic is selected.
  • step 702 the gate level delay time is calculated based on the cell delay time information calculated in step 701, and gate level timing verification based on the gate level delay time is performed. By performing step 702, the signal transition timing at the input terminal of the multi-input logic cell is known.
  • step 703 based on the information obtained in step 702, the overlapping of the timing windows (TW) of the input terminals of the multi-input logic cell included in the signal path that violates the timing constraint on the circuit design is selectively performed. Checked. At this time, the overlapping of the timing windows (TW) of the input terminals of the multi-input logic cell included in the signal path that does not violate the timing constraint on the circuit design is not checked. Thereby, calculation processing is reduced.
  • step 704 the cell delay time of the multi-input logic cell detected as a cell in which the timing window (TW) does not overlap (no difference in input transition timing) in step 703 is recalculated based on the simultaneous transition delay time table. Is done.
  • step 705 the gate level delay time is recalculated based on the cell delay time information recalculated in step 704, and gate level timing verification is performed based on the gate level delay time.
  • step 706 it is checked whether or not a change has occurred in the overlap of the timing windows (TW) rewritten in step 704. If it is determined in step 706 that the timing window (TW) overlap has changed, the process returns to step 704. If it is determined that no change has occurred, the process proceeds to step 707, where the gate level delay time in which the review of the overlap of the timing window (TW) is eliminated is output.
  • the delay library (cell delay time characteristic information) (105) and gate level delay calculation (108) in the present embodiment will be described below.
  • a delay library (cell delay time characteristic information) (105) as shown in FIG. 9A, characteristics in a predetermined input signal pattern (simultaneous transition delay time table and other pin fixed) A non-simultaneous transition delay time table) is registered.
  • the predetermined input signal pattern here is: -An input signal pattern when the input signal of the non-characterized input terminal is fixed to 0 or 1.
  • the former is an input signal pattern in a state where the input terminal B is fixed to 1.
  • Examples of the latter include an input signal pattern in a state where a signal input to the input terminal B is input at the same timing as the signal input to the input terminal A.
  • a delay time table is created for each set input transition timing difference and registered in the delay library (delay time characteristic information) (105).
  • a delay time table is created for each input transition timing difference (0 ps), (50 ps), and (100 ps).
  • the input transition timing difference (0 ps) indicates a simultaneous transition state
  • the delay time table in the input transition timing difference (0 ps) corresponds to the simultaneous transition delay time table
  • the time table corresponds to another pin fixed non-simultaneous transition delay time table.
  • step 501 cell delay time using one of the delay time tables (in the example of FIG. 9B, the delay time table at the input transition timing difference (0 ps), (50 ps), or (100 ps)) according to the input data.
  • a calculation process is performed.
  • step 502 after calculating the gate level delay time based on the cell delay time (delay value) of each multi-input logic cell calculated in step 501 and the delay time (delay value) of the wiring, Gate level timing verification is performed based on the gate level delay time.
  • step 1303 based on the result of the gate level timing verification performed in step 502, the timing window (TW) of the input terminal of the multi-input logic cell is generated, and the generated timing windows (TW) are connected to each other.
  • the overlap (the magnitude of the input transition timing difference) is checked.
  • step 1304 the cell delay time characteristic information is replaced based on the checked overlap amount of the timing window (TW).
  • TW timing window
  • a delay time table corresponding to the degree of the input transition timing difference between the input terminals is created in advance, and the delay time table is stored in the delay library 105. Stored in This table is created for each input transition timing difference as described above.
  • the cell delay time and the output specification of the multi-input logic cell are recorded in association with each other.
  • the output specification of the multi-input logic cell here is defined by a combination of the output load capacity and the slope of the output signal in the multi-input logic cell.
  • step 1304 first, a delay time table is selected based on the amount of overlap of the checked timing window (TW).
  • TW checked timing window
  • the combination of the output load capacity and the slope of the output signal in the multi-input logic cell is collated with the delay time table, so that the optimum cell delay time in the multi-input logic cell can be determined from the selected delay time table. Extracted. The cell delay time information in the delay library is rewritten by the extracted optimum cell delay time.
  • the delay time table selected when the input transition timing difference is 0 is common regardless of the overlapping of the timing windows (TW). Therefore, a common table can be set as a table of input transition timing difference 0, and the recording capacity required for storing the table can be reduced accordingly.
  • step 505 the gate level delay time is calculated based on the cell delay time rewritten in step 1304, and the gate level timing verification based on the gate level delay time is performed.
  • step 1306 the timing window (TW) is generated again based on the result of the gate level timing verification performed in step 505, and the input transition timing difference between the input terminals of the multi-input logic cell is checked again. Is done. As a result of checking again, if there is a difference in the timing window (TW) between the input terminals of the multi-input logic cell (there is a new overlap), the process returns to step 1304, and if there is no difference (no new overlap), the step is performed. Proceed to 1307.
  • step 1307 it is confirmed that there is no update of the input transition timing difference. If there is no update, the calculated gate level delay time is output. This completes the gate level delay calculation.
  • step 1401 shown in FIG. 14 the cell delay time is calculated using an arbitrary delay time table corresponding to the input data.
  • the delay time table corresponding to the transition form of the input signal that makes the gate level timing verification pessimistic is selected.
  • step 602 based on the cell delay time calculated in step 1401, calculation of gate level delay time and gate level timing verification based on the gate level delay time are performed.
  • the signal transition timing at the input terminal of the multi-input logic cell is known.
  • step 1403 based on the information obtained in step 602, the overlap of timing windows (TW) between the input terminals of the multi-input logic cell is checked.
  • TW timing windows
  • step 1404 the cell delay time of the multi-input logic cell detected as a cell in which the overlap of the timing windows (TW) between the input terminals in step 1403 is small (the input transition timing difference is within a certain time) is the timing. Recalculation is performed based on a delay time table according to the overlap size of the window (TW).
  • step 605 the gate level delay time is recalculated based on the cell delay time information recalculated in step 1404, and gate level timing verification is performed based on the gate level delay time.
  • step 1406 the input transition timing difference after the gate level delay time information is rewritten in step 1404 is checked again. If an input transition timing difference is detected in the check in step 1406, the process returns to step 1404. If not, the process proceeds to step 1407. In step 1407, the gate level delay time is output, which makes it unnecessary to review the input transition timing difference.
  • step 1501 shown in FIG. 15 the cell delay time is calculated using an arbitrary delay time table corresponding to the input data. At this time, the delay time table corresponding to the transition form of the input signal that makes the gate level timing verification result pessimistic is selected.
  • step 702 based on the cell delay time calculated in step 1501, calculation of the gate level delay time and gate level timing verification based on the gate level delay time are performed. By performing step 702, the signal transition timing at the input terminal of the multi-input logic cell is known.
  • step 1503 based on the information obtained in step 702, a difference of a certain time or more between the timing windows (TW) of the input terminals of the multi-input logic cell included in the signal path that violates the constraint ( It is checked whether or not an input transition timing difference has occurred.
  • step 1504 the input transition timing difference of a certain time or more occurs in step 1503 (the input delay timing difference is within a certain time).
  • the cell delay time of the multi-input logic cell is the input transition timing difference. It is recalculated based on the delay time table corresponding to the size of.
  • step 705 the gate level delay time is recalculated based on the cell delay time information recalculated in step 1504, and gate level timing verification is performed again based on the gate level delay time.
  • step 1506 the input transition timing difference detected through timing reverification in step 705 is checked again. If it is determined in the recheck of the input transition timing difference in step 1506 that the input transition timing difference has changed, the process returns to step 1504. If it is determined that no change has occurred, the process proceeds to step 1507, where the input transition Delay information that no longer needs to be reviewed for timing differences is output.
  • the delay library creation method and the delay calculation method of each embodiment described above are realized by the hardware configuration illustrated in FIG.
  • a program recorded on a storage medium such as a hard disk or a CD-ROM is read from the recording medium by a computer and executed, whereby a delay library creation method and a delay calculation method can be realized.
  • the delay library creation method and the delay calculation method according to the present invention can take into consideration the effect that the cell delay time is fast or slow at the time of simultaneous transition of the signal input to the input terminal in the multi-input logic cell, It is useful for reducing optimism or pessimism in designing a fine process and gate level timing verification that require a reduction in design margin.

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

 多入力論理セルの各入力端子の信号遷移タイミングに基づいて、時間軸において信号遷移が起こる可能性のある時間帯を表すタイミングウィンドウ(TW)を入力端子それぞれの入力信号毎に生成し、入力信号どうしにおけるタイミングウィンドウ(TW)の重なりを検出し、タイミングウィンドウ(TW)の重なりに応じて同時遷移時間と非同時遷移時間とを選択的に用いて回路の遅延時間を計算する。これらの処理を順次繰り返し実施する。これにより、多入力論理セルの遅延時間の計算における楽観的もしくは悲観的な解析を排除する。

Description

遅延ライブラリ、遅延ライブラリの作成方法、および遅延計算方法
 本発明は、半導体集積回路の設計の最終段階であるレイアウト設計後のタイミング検証において、実際の回路における信号伝播時間(遅延時間)の表現精度を上げて解析精度を上げる方法に関わる。
 近年の半導体製造プロセスの微細化に伴い、回路を構成する論理素子と論理素子を接続する配線の寄生容量および寄生抵抗の影響が大きくなっている。そのため、論理素子の接続情報だけでは、回路全体における信号伝播時間(遅延時間)を正確に予測することが不可能になっており、レイアウト設計後の配線の抵抗値および容量値を考慮したタイミング検証が不可欠になっている。また、微細化に伴ってプロセスのばらつき量の影響も大きくなっており、その影響は、通常は設計マージンとして考慮されている。
 タイミング検証では、多入力論理セルの接続情報に加え、多入力論理セルと多入力論理セルとをつなぐ配線の寄生抵抗および寄生容量の情報を用いて、回路の構成要素(多入力論理セル、および配線)において信号伝播に要する時間(以下、セル遅延時間という)を計算することで、最終的に設計仕様を満足するか否かが判断される。
 半導体集積回路では、SPICEシミュレータ等の回路シミュレータを用いて回路全体で生じる遅延時間を計算したうえで、その回路のタイミング検証を実施することが可能である。しかしながら、回路シミュレータを用いた回路レベルでの遅延時間の解析は一般的に時間がかかる手法である。そのため、この手法は小規模回路に対しては適用可能な方法であるが、大規模回路に対しては、現実的な処理時間範囲における適用が不可能である。
 そこで、大規模集積回路のタイミング検証には、一般的にゲートレベルのタイミング検証手法が用いられる。以下、ゲートレベルのタイミング検証について説明する。ゲートレベルのタイミング検証においては、予め、集積回路を構成する論理素子毎に、入力端子から出力端子までのセル遅延時間と特性値(出力端子における電圧波形の傾き情報,消費電力など)とがSPICEシミュレータ等により抽出(キャラクタライズ)されたうえで、抽出された値をデータベース化したものが遅延ライブラリとして用いられる。遅延ライブラリでは、セル遅延時間群と特性値とが対応付けられた状態でテーブル化されており、以下の説明では、テーブル化されたセル遅延時間のデータベースをセル遅延時間テーブルという。そして、遅延ライブラリの値を参照しながら、回路の構成要素(多入力論理セル,配線等)それぞれにおけるセル遅延時間と特定したうえで、特定したセル遅延時間を順次加算することで、回路全体としての遅延時間(以下、ゲートレベル遅延時間という)が計算される。このゲートレベルタイミング検証は、ゲートレベル遅延時間に基づいて行われる。
 ところが、回路の構成要素である多入力論理セルの中には複数の入力端子を有するセル(以降、多入力論理セルという)があり、複数の入力端子の中の一つ入力端子(キャラクタライズ対象端子)から出力端子までのセル遅延時間は、他の入力端子(キャラクタライズ対象外端子)の状態(同時に遷移しているか、0または1に固定されているか)に依存して変動することが既に知られている。
 しかしながら、多入力論理セルのキャラクタライズにおいては、キャラクタライズ対象外端子の入力信号は、0または1のいずれかに固定されるのが最も一般的である。または、多入力論理セルのキャラクタライズにおいては、キャラクタライズ対象外入力端子の入力信号が、キャラクタライズ対象入力端子の入力信号と同時に遷移されるように設定されたうえで、キャラクタライズされる場合もある。
 以上のように、多入力論理セルのキャラクタライズにおいては、キャラクタライズ対象外入力端子における入力信号の状態が特定の一つのパターンだけに指定されたうえでそのキャラクタライズ処理が実行される。そのため、多入力論理セルが複数設けられた回路におけるゲートレベル遅延時間の計算においては、
・セル動作と関係の無い入力端子の入力信号が0または1に固定された状態、
もしくは、
・セル動作と関係が無い入力端子の入力信号が同時に遷移する状態、
となった複数の多入力論理セルにおけるセル遅延時間を用いて全体としてのゲートレベル遅延時間が計算される。
 これにより、大規模な回路(集積回路)のタイミング検証では、遅延ライブラリの段階で、多入力論理セルにおけるセル遅延時間と、実際の回路で動作する状態での多入力論理セルにおけるセル遅延時間との間で差が生じる。
 このような不都合を排除した(多入力論理セルのセル遅延時間が、各入力端子における入力信号の遷移状態に応じて変動することの影響を排除した)ゲートレベル遅延時間の計算方法としては、従来から、セル遅延時間に影響を与えるキャラクタライズ対象外入力端子における入力信号の設定方法により最大または最小または実動作に合致したセル遅延時間を算定するトランジスタレベルの遅延計算方法(特許文献1参照)が提案されている。
 この改良された従来例(以下、この従来例を第二の従来例といい、前述した従来例を第一の従来例という)では、他入力端子を含む回路全体において着目する信号伝搬パス(以下、着目パスという)の遅延時間を、SPICE等のトランジスタレベルの回路シミュレータを用いて算出する際に、着目パス上の多入力論理セルの入力端子以外の入力端子の入力信号の入力タイミングを、着目パスの遅延時間(着目パス上の多入力論理セルのセル遅延時間)が最大、または最小になるように決定したうえで、トランジスタレベルのゲートレベル遅延時間が計算される。
WO2004-079600
 しかしながら、近年の半導体製造プロセスの微細化に伴ってプロセスのばらつき量が大きくなっており、ばらつき量を設計マージンにそのまま反映させたのでは、設計を完成させることが困難になってしまう。無駄なタイミング修正をしないようにするためには、設計マージンの削減、およびゲートレベル遅延時間の計算やタイミング検証における悲観性と楽観性とを削減することが必要とされる。ここで、悲観性とは、タイミング検証の結果により制約違反となる経路であっても、実回路の動作ではタイミングに余裕があることを示す。したがって、悲観的な解析では、実際にはタイミング修正が必要でない経路を制約違反と判定する可能性がある。逆に、楽観性とは、タイミング検証の結果により制約違反とならない経路であっても、実回路の動作ではタイミング制約を満たしていないことを指す。楽観的な解析では、実回路において誤動作の原因となる可能性がある。
 第二の従来例は、多入力論理セルを含む回路のトランジスタレベルのシミュレーションにおいて、上記の遅延計算やタイミング検証における悲観性および楽観性の削減のために有効となる。しかしながら、トランジスタレベルのシミュレーションの処理時間は膨大であるため、大規模集積回路全体の遅延時間(ゲートレベル遅延時間)の計算に第二の従来例を用いることは現実的ではない。
 一方、多入力論理セルを含む回路におけるゲートレベル遅延時間の計算では、第一の従来例の説明で述べたように、キャラクタライズ対象外入力端子の入力信号を0または1に固定した状態だけを考慮して計算が実施される。従って、遅延ライブラリの段階では、上記計算は多入力論理セルの入力端子への信号入力タイミングに依存しており、セル遅延時間が異なる状態における影響を考慮することはできない。例えば、図17Aに示すように、2入力NAND(入力端子A,B,出力端子Y)における入力端子Aから出力端子Yに信号が伝搬する際に生じるセル遅延時間では、入力端子Bに入力端子Aと同時に入力信号が入力される状態と、入力端子Bの入力信号が1に固定されている状態とでは、計算値に差異が生じてしまい、そのために出力端子Yの波形が異なってしまう。すなわち、図17Bに示すように、入力端子Aに立ち上がり波形が入力されるとともに出力端子Yに立ち下がりの波形が出力される状態では、NANDセルにおける縦積みのn-chトランジスタが同時に動作してセル遅延時間が増加する。逆に、図17Cに示すように、入力端子Aに立ち下がり波形が入力されるとともに出力端子Yに立ち上がりの波形が出力される状態では、NANDセルにおける並列のp-chトランジスタが同時に動作してセル遅延時間が減少する。特に、並列トランジスタが同時に動作する状態では、2入力NANDセルでは約2倍の電流が流れ、セル遅延時間は約半分となり、同時動作の影響が大きくなる。このことは入力端子数が増加するほど顕著となり、3入力多入力論理セルではセル遅延時間が約3分の1となることもあり、4入力多入力論理セルではセル遅延時間が約4分の1となることもある。
 したがって、このようにして作成される遅延ライブラリ(セル遅延時間テーブル)を用いたゲートレベル遅延時間の計算においても同様に、多入力論理セルの入力端子への信号入力タイミングに依存し、セル遅延時間が変動することの影響を考慮することができない。そのため、多入力論理セルを含むパス全体のゲートレベル遅延時間の計算およびタイミング検証を行うと、実際のゲートレベル遅延時間よりも早いシミュレーション結果が出ることや、逆に実際のゲートレベル遅延時間よりも遅い結果が出たりすることがある。
 例えば、図16に、2入力NAND(入力端子A,B,出力端子Y)において、入力端子Aから出力端子Yに信号が伝搬した状態におけるセル遅延時間(縦軸)と、入力端子Aと入力端子Bとの間の入力遷移タイミング差(横軸)との関係を示す。ここで、入力遷移タイミング差とは、入力端子Aの入力信号と入力端子Bの入力信号との間に生じる信号のずれのことである。図16に示すように、入力遷移タイミング差が0すなわち同時遷移の状態と、非同時遷移の状態とでは、セル遅延時間の計算値に数倍の差が生じる可能性があり、この差が計算誤差となる。
 このように、従来のゲートレベル遅延時間計算においては、多入力論理セルの入力端子における入力遷移タイミング差がセル遅延時間に与える影響を考慮することができず、ゲートレベル遅延時間の計算やタイミング検証における悲観性や楽観性が残ったままとなる。
 上記課題を解決するために、本発明では、ゲートレベルの遅延計算において、多入力論理セルの入力端子への信号入力タイミングを考慮する方法を提供する。すなわち、悲観的または楽観的なタイミング検証を行わないための、遅延ライブラリの作成方法および遅延計算方法を提供する。
 本発明の多入力論理セルのキャラクタライズにおいては、キャラクタライズの入力となるトランジスタの接続情報から、端子における電圧の遷移タイミングにより遅延時間に影響を与える複数のパターンを抽出し、抽出した複数のパターンを入力とするキャラクタライズを実施し、複数のパターンのキャラクタライズ結果を遅延ライブラリとして登録する。
 これにより、ゲートレベルで用いる遅延ライブラリの多入力論理セルにおいて、他端子が同時に遷移する場合におけるパターンと、同時に遷移しない場合におけるパターンとの2パターンの遅延値情報を得ることが可能になる。
 次に、上記のようにして作成した遅延ライブラリを用いて遅延計算を実施すると、多入力論理セルの入力端子において、信号遷移時間が重なる場合と重ならない場合で、参照値を変更することが可能になる。
 従って、現実的な時間内で処理可能なゲートレベルの遅延計算において、多入力論理セルの入力端子における同時遷移時の影響を考慮することが可能になる。
 また、遅延計算時に、多入力論理セルの入力におけるタイミングウィンドウ(TW:時間軸において、信号遷移が起こる可能性がある時間帯)を考慮することで、同時遷移による悲観性、または楽観性を削減することが可能になる。
 具体的な本発明の遅延ライブラリの作成方法の第1の構成は、
 複数の入力端子を有する多入力論理セルの遅延ライブラリを作成する方法であって、
 前記複数の入力端子の入力信号が同時遷移する状態での前記多入力論理セルにおける同時遷移遅延時間を計算するステップと、
 前記複数の入力端子のうちのひとつの入力端子の入力信号が遷移しかつ前記ひとつの入力端子以外の入力端子の入力信号が電源またはグラウンドに固定された状態での前記多入力論理セルにおける非同時遷移遅延時間を計算するステップと、
 前記同時遷移遅延時間と前記非同時遷移遅延時間とを前記遅延ライブラリに記載するステップと、
 を含む。
 これにより、多入力論理セルにおける一つの経路(入力端子から出力端子に向かう経路)における同時遷移時の遅延時間と非同時遷移時の遅延時間とのの両方を遅延ライブラリに登録したうえで、ゲートレベル遅延計算時に一方を選択して使用することが可能になる。
 本発明の遅延ライブラリの作成方法の第2の構成は、
 複数の入力端子を有する多入力論理セルの遅延ライブラリを作成する方法であって、
 前記多入力論理セルが有するトランジスタどうしの接続情報に基づいて、前記複数の入力端子のうちのひとつ以外の他の入力端子の入力信号が固定された状態での前記多入力論理セルにおける遅延時間と、前記複数の入力端子のすべての前記入力信号が同時遷移する状態での前記多入力論理セルにおける遅延時間との間で相違があるか否かを判定するステップと、
 前記複数の入力端子のすべてにおいて前記入力信号が共に遷移することが前記多入力論理セルの遅延時間に影響を与えるか否かを判定したうえで、影響を与えると判定すると、前記複数の入力端子の前記入力信号のすべてが同時遷移する状態での前記多入力論理セルにおける同時遷移遅延時間を計算するステップと、
 前記複数の入力端子のうちのひとつにおける入力信号が遷移しかつ前記ひとつの入力端子以外の入力端子における入力信号が電源またはグラウンドに固定された状態での前記多入力論理セルにおける非同時遷移遅延時間を計算するステップと、
 前記同時遷移遅延時間と前記非同時遷移遅延時間とを前記遅延ライブラリに記載するステップと、
 を含む。
 これにより、同時遷移の影響の無いセルの計算を省略することが可能になり、第1の構成に比してさらに少ない計算量で遅延ライブラリを作成することが可能になる。
 本発明の遅延ライブラリの作成方法の第3の構成は、
 複数の入力端子を有する多入力論理セルの遅延ライブラリを作成する方法であって、
 前記多入力論理セルが有するトランジスタどうしの接続情報に基づいて、前記複数の入力端子のうちのひとつ以外の他の入力端子の入力信号が固定された状態での前記多入力論理セルにおける遅延時間と、前記複数の入力端子のすべての前記入力信号が同時遷移する状態での前記多入力論理セルにおける遅延時間との間で相違があるか否かを判定するステップと、
 前記複数の入力端子のすべてにおいて前記入力信号が同時遷移することが前記多入力論理セルの遅延時間に影響を与えるか否かを判定したうえで、影響を与えると判定すると、前記複数の入力端子の前記入力信号のすべてが同時遷移する状態での前記多入力論理セルにおける同時遷移遅延時間を計算するステップと、
 前記ひとつの入力端子の前記他の入力端子との間で入力信号の入力遷移タイミング差を変動させつつ前記多入力論理セルにおける遅延時間を計算する処理を、前記遅延時間が変動しなくなるまで繰り返すステップと、
 前記入力遷移タイミング差とその入力遷移タイミング差における前記多入力論理セルにおける遅延時間とを対応付けて前記遅延ライブラリに記載するステップと、
 を含む。
 これにより、多入力論理セルにおける一つの経路(ここでいう経路とは入力端子から出力端子に向かう経路のことである)でのすべての入力端子の入力信号における入力タイミングの差と、遅延時間との間の関係を遅延ライブラリに登録したうえで、ゲートレベル遅延計算時には、適切な入力遷移タイミング差を使用してより実動作に即した遅延時間を計算することが可能になる。
 本発明の遅延ライブラリの第1の構成は、
 複数の入力端子を有する多入力論理セルの遅延ライブラリであって、
 前記複数の入力端子のすべての入力信号が同時遷移する状態での前記多入力論理セルにおける同時遷移遅延時間と、
 前記多入力論理セルの複数の入力端子のうちのひとつの入力端子の入力信号が遷移しかつ前記ひとつの入力端子以外の入力端子の入力信号が電源またはグラウンドに固定された状態での前記多入力論理セルにおける非同時遷移遅延時間と、
 が記載されている。
 これにより、本発明の遅延ライブリは、多入力論理セルにおける1つの経路に対して、同時遷移時における遅延時間と非同時遷移時における遅延値とが登録されたものになる。この遅延ライブラリは、上述した本発明の遅延ライブラリ作成方法の第2の構成により作成することができる。
 本発明の遅延ライブラリの第2の構成は、
 複数の入力端子を有する多入力論理セルの遅延ライブラリであって、
 前記複数の入力端子のうちのひとつの入力端子の入力信号の遷移タイミングと前記ひとつの入力端子以外の入力端子の入力信号の遷移タイミングとの間に生じる遷移タイミング差と、各遷移タイミング差における前記多入力論理セルにおける遅延時間とが対応付けられて記載されている。
 これにより、多入力論理セルの1つの経路における、遅延時間の入力遷移タイミング差に対する依存性を遅延ライブラリで表現することが可能になる。この遅延ライブラリは、上述した本発明の遅延ライブラリ作成方法の第3の構成により作成することができる。
 本発明の遅延計算方法の第1の構成は、
 前記多入力論理セルが設けられた回路における遅延時間を、上述した本発明の遅延ライブラリの第2の構成を用いて計算する方法であって、
 前記多入力論理セルの各入力端子の信号遷移タイミングを検出するステップと、
 前記信号遷移タイミングに基づいて、時間軸において信号遷移が起こる可能性のある時間帯を表すタイミングウィンドウ(TW)を前記入力端子それぞれの入力信号毎に生成するステップと、
 前記入力信号どうしにおけるタイミングウィンドウ(TW)の重なりを検出するステップと、
 前記タイミングウィンドウ(TW)の重なりに応じて前記同時遷移時間と非同時遷移時間とを選択的に用いて前記回路の遅延時間を計算するステップと、
 を含み、
 前記ステップ群を順次繰り返し実施する。
 これにより、同時遷移遅延時間と非同時遷移遅延時間を考慮した遅延計算が可能になる。
 本発明の遅延計算方法の第2の構成は、
 前記多入力論理セルが設けられた回路における遅延時間を、上述した本発明の遅延ライブラリの第2の構成を用いて計算する方法であって、
 前記多入力論理セルにおける前記同時遷移遅延時間と前記非同時遷移遅延時間とから、前記多入力論理セルにおける最大遅延時間と最小遅延時間とを計算するステップと、
 前記最大遅延時間と前記最小遅延時間とを用いて前記回路のタイミング検証を行うステップと、
 前記タイミング検証の結果に基づいて、時間軸において信号遷移が起こる可能性のある時間帯を表すタイミングウィンドウ(TW)を前記入力端子それぞれの入力信号毎に生成するステップと、
 前記入力信号どうしにおけるタイミングウィンドウ(TW)の重なりを検出するステップと、
 前記タイミングウィンドウ(TW)の重なりに応じて前記同時遷移時間と前記非同時遷移時間とを選択的に用いて前記回路の遅延時間を計算するステップと、
 を含み、
 前記回路の遅延時間の計算結果に基づいて、前記タイミングウィンドウ(TW)
を生成するステップと、前記タイミングウィンドウ(TW)の重なりを検出するステップと、前記回路の遅延時間を計算するステップとを、順次繰り返す。
 これにより、真性のタイミングエラーを見落とすことなく、多入力論理セルが有する複数の入力端子に同時遷移状態で入力信号が入力することに起因する悲観性を削減することが可能になる。
 本発明の遅延計算方法の第3の構成は、
 前記多入力論理セルが設けられた回路の遅延時間を、上述した本発明の遅延ライブラリの第2の構成を用いて計算する方法であって、
 前記多入力論理セルにおける前記同時遷移遅延時間と前記非同時遷移遅延時間とから、前記多入力論理セルにおける最大遅延時間と最小遅延時間とを計算するステップと、
 前記最大遅延時間と前記最小遅延時間とを用いて前記回路のタイミング検証を行うステップと、
 前記タイミング検証の結果に基づいて、前記回路に設けられた信号経路の中から、前記回路の設計上のタイミング制約違反となる信号経路を検出するステップと、
 前記タイミング制約違反として検出した前記信号経路上にある前記多入力論理セルの前記入力端子それぞれの入力信号毎に、時間軸において信号遷移が起こる可能性のある時間帯を表すタイミングウィンドウ(TW)を生成するステップと、
 前記入力信号どうしにおけるタイミングウィンドウ(TW)の重なりを検出するステップと、
 前記タイミングウィンドウ(TW)の重なりに応じて前記同時遷移時間と前記非同時遷移時間とを選択的に使用して前記回路の遅延時間を計算するステップと、
 を含み、
 前記回路の遅延時間の計算結果に基づいて、前記タイミングウィンドウ(TW)
を生成するステップと、前記タイミングウィンドウ(TW)の重なりを検出するステップと、前記回路の遅延時間を計算するステップとを、順次繰り返す。
 これにより、真性のタイミングエラーを見落とすことなく、多入力論理セルが有する複数の入力端子に同時遷移状態で入力信号が入力することに起因する悲観性の削減をより高速に行うことができる。
 本発明の遅延計算方法の第4の構成は、
 前記多入力論理セルが設けられた回路の遅延時間を、上述した本発明の遅延ライブラリの第3の構成を用いて計算する方法であって、
 前記多入力論理セルの各入力端子の信号遷移タイミングを検出するステップと、
 前記信号遷移タイミングに基づいて、時間軸において信号遷移が起こる可能性のある時間帯を表すタイミングウィンドウ(TW)を前記入力端子それぞれの入力信号毎に生成するステップと、
 前記タイミングウィンドウ(TW)から前記入力遷移タイミング差を検出するステップと、
 前記入力遷移タイミング差に対応する前記多入力論理セルにおける遅延時間に基づいて、前記回路の遅延時間を計算するステップと、
 を含み、
 これらステップ群を順次繰り返し実施する。
 これにより、多入力論理セルの入力端子の入力信号の入力遷移タイミング差に依存した状態で、遅延時間を計算することが可能になり、本発明の遅延計算方法の第1の構成に比べて、より実動作に近い状態で計算を行うことが可能になる。
 本発明の遅延計算方法の第5の構成は、
 前記多入力論理セルが設けられた回路の遅延時間を、上述した本発明の遅延ライブラリの第3の構成を用いて計算する方法であって、
 前記多入力論理セルにおける前記同時遷移遅延時間と前記非同時遷移遅延時間とから、前記多入力論理セルにおける最大遅延時間と最小遅延時間とを計算するステップと、
 前記最大遅延時間と前記最小遅延時間とを用いて前記回路のタイミング検証を行うステップと、
 前記タイミング検証の結果に基づいて、時間軸において信号遷移が起こる可能性のある時間帯を表すタイミングウィンドウ(TW)を前記多入力論理セルの入力端子それぞれの入力信号毎に生成するステップと、
 前記入力信号どうしにおけるタイミングウィンドウ(TW)の重なりを検出するステップと、
 前記タイミングウィンドウ(TW)の重なりに基づいて、前記多入力論理セルの入力遷移タイミング差を検出するステップと、
 前記入力遷移タイミング差に応じた前記遅延時間を用いて前記回路の遅延時間を計算するステップと、
 を含み、
 これらステップ群を順次繰し実施する。
 これにより、多入力論理セルの入力端子の入力信号における入力遷移タイミング差に依存した状態で遅延時間を計算することが可能になり、本発明の遅延計算方法の第2の構成に比べて、より実動作に近い状態で計算を行うことが可能になる。
 本発明の遅延計算方法の第5の構成は、
 前記多入力論理セルが設けられた回路の遅延時間を、上述した本発明の遅延ライブラリの第3の構成を用いて計算する方法であって、
 前記多入力論理セルにおける前記同時遷移遅延時間と前記非同時遷移遅延時間とから、前記多入力論理セルにおける最大遅延時間と最小遅延時間とを計算するステップと、
 前記最大遅延時間と前記最小遅延時間とを用いて前記回路のタイミング検証を行うステップと、
 前記タイミング検証の結果に基づいて、前記回路に設けられた信号経路の中から、前記回路の設計上のタイミング制約違反となる信号経路を検出するステップと、
 前記検出した信号経路に含まれる前記多入力論理セルにおける入力端子の信号遷移タイミングを検出するステップと、
 前記信号遷移タイミングに基づいて、時間軸において信号遷移が起こる可能性のある時間帯を表すタイミングウィンドウ(TW)を前記入力端子それぞれの入力信号毎に生成するステップと、
 前記タイミングウィンドウ(TW)から前記入力遷移タイミング差を検出するステップと、
 前記入力遷移タイミング差に対応する前記多入力論理セルにおける遅延時間に基づいて、前記回路の遅延時間を計算するステップと、
 を含み、
 これらステップ群を順次繰り返し実施する。
 これにより、多入力論理セルの入力端子の入力信号における入力遷移タイミング差に依存した状態で遅延時間を計算することが可能になり、本発明の遅延計算方法の第3の構成に比べて、より実動作に近い状態で計算を行うことが可能になる。
 本発明により、多入力論理セルにおいて、複数の入力端子の入力信号が同時遷移状態におけるセル遅延時間と非同時遷移状態におけるセル遅延時間との相違を考慮したゲートレベル遅延時間の計算と、ゲートレベルタイミング検証とを実施することが可能になる。これによりタイミング検証における楽観性,および悲観性を削減することが可能になる。また、多入力論理セルの入力端子におけるタイミングウィンドウ(TW)を考慮することで、多入力端子の実動作における同時遷移の影響を、より正確に排除することが可能になる。
図1は遅延計算の入力データ及び処理フローを示す図である。 図2Aは多入力論理セルの入力端子への信号入力タイミングと出力の関係を示す第1の図である。 図2Bは多入力論理セルの入力端子への信号入力タイミングと出力の関係を示す第2の図である。 図3は遅延ライブラリ作成に必要な情報と、遅延ライブラリ中の値の関係を示す図である。 図4Aは多入力論理セルの第1の構成を示す回路図である。 図4Bは図4Aの多入力論理セルの入力端子におけるタイミングウィンドウ(TW)の重なりを示す図である。 図5は多入力論理セルの同時遷移を考慮した遅延計算フローを示す図である。 図6Aは多入力論理セルの第2の構成を示す回路図である。 図6Bは図6Aの多入力論理セルの同時遷移・非同時遷移時の出力信号と入力端子におけるタイミングウィンドウ(TW)とを示す図である。 図7は多入力論理セルの同時遷移を考慮した遅延計算フローを示す図である。 図8は多入力論理セルの同時遷移を考慮した遅延計算フローを示す図である。 図9Aは多入力論理セルの入力端子における同時遷移時と非同時遷移時の両方の場合の遅延値が登録された第1の遅延ライブラリを示す図である。 図9Bは多入力論理セルの入力端子における同時遷移時と非同時遷移時の両方の場合の遅延値が登録された第2の遅延ライブラリを示す図である。 図10は多入力論理セルの同時遷移を考慮した第1のキャラクタライズフローを示す図である。 図11は多入力論理セルの同時遷移を考慮した第2のキャラクタライズフローを示す図である。 図12は多入力論理セルの同時遷移を考慮した第3のキャラクタライズフローを示す図である。 図13は多入力論理セルの同時遷移を考慮した第1の遅延計算フローを示す図である。 図14は多入力論理セルの同時遷移を考慮した第2の遅延計算フローを示す図である。 図15は多入力論理セルの同時遷移を考慮した第3の遅延計算フローを示す図である。 図16は多入力論理セルの入力遷移タイミング差と遅延との関係を示す図である。 図17Aは多入力論理セルの一例であるNAND回路の構成を示す回路図である。 図17Bは図17Aの多入力論理セルの同時遷移時と非同時遷移時の遅延時間の違いを示す第1の図である。 図17Cは図17Aの多入力論理セルの同時遷移時と非同時遷移時の遅延時間の違いを示す第2の図である。 図18は本発明の実施の形態の遅延ライブラリ作成および遅延計算装置のハードウェアの例を示す図である。
符号の説明
(102~109)
ゲートレベル遅延計算のステップとゲートレベルタイミング検証のステップと、入力データ
(a-1、a-2、b-1、b-2)
2入力セルの入力端子の信号入力タイミング
(501~507、601~607、701~707、1303~1307、1401~1407、1501~1507)
多入力論理セルの同時遷移を考慮した遅延計算フローの各ステップ
(801~804、811~814、821~824)
多入力論理セルの同時遷移を考慮した遅延ライブラリキャラクタライズフローの各ステップ
 (実施の形態1)
 図1は、本発明の実施の形態1における遅延ライブラリの作成方法,回路遅延時間の計算の手順,および入出力データを示すフロー図である。
 まず、本実施の形態の遅延ライブラリの作成方法、およびゲートレベル遅延時間の計算の手順の概略を説明する。
 信号のキャラクタライズにおいては、トランジスタレベルセルネットリスト(101)とキャラクタライズ用入力パターン(102)とが入力されてトランジスタレベルのシミュレーションが行われる(103)。トランジスタレベルシミュレーション(103)の結果(セル遅延時間群)は、遅延ライブラリ(105)にセル遅延時間テーブルとして登録される。
 次に、ゲートレベル遅延時間の計算(108)が実行される。ゲートレベル遅延時間の計算(108)においては、遅延ライブラリ(105)と、ゲート間の配線の容量値や抵抗値が記載されたゲートレベル回路寄生素子情報(107)と、遅延計算・検証用の制約情報(106)とが入力されて、その計算が行われる。なお、遅延ライブラリ(105)は、verilogネットリスト等のゲートレベル回路ネットリスト(104)とトランジスタレベルシミュレーション(103)の出力結果とを含む。次に、ゲートレベル遅延計算(108)の結果に基づいて、ゲートレベルでのタイミングの検証(109)が行われる。以下、この検証をゲートレベルタイミング検証(109)という。
 次に、遅延ライブラリの作成方法について説明する。従来のキャラクタライズと同様に、遅延ライブラリのキャラクタライズにおいては、トランジスタレベルのセルのネットリスト(103)が入力される。キャラクタライズでは、図3に示すように、セルの入力条件(セルの入力信号傾きや出力負荷容量)を変化させてキャラクタライズ用入力パターンを生成してセル遅延時間群を算出したうえで、そのセル遅延時間群をテーブル化してなるデータベースが遅延ライブラリに登録される。遅延ライブラリのキャラクタライズは、多入力論理セルの複数の入力端子における入力遷移タイミング差に依存する。この処理では、セル遅延時間が異なる入力パターンが抽出されて、キャラクタライズ用入力パターン(102)として登録される。本実施の形態では、多入力論理セルの複数の入力端子の入力信号傾きは同じ値で変動させるが、複数の入力端子の入力信号傾きを互いに独立で変動させてもよい。
 図10を参照して、遅延ライブラリの作成方法をさらに詳細に説明する。まず始めに、ステップ802において、複数の入力端子の入力信号が同時に遷移する状態における多入力論理セルのセル遅延時間が、セルの入力信号傾きと出力負荷容量とを変化させつつそれぞれ計算される。ここで、セル遅延時間とは、多入力論理セルのキャラクタライズ対象入力端子と出力端子との間で信号が伝搬した状態において、キャラクタライズ対象入力端子に入力される入力信号と出力端子から出力される出力信号との間に生じる遅延時間(当該多入力論理セルで生じる遅延時間)のことである。また、以下では、複数の入力端子の入力信号が同時に遷移する状態における多入力論理セルのセル遅延時間を同時遷移遅延時間といい、セルの入力信号傾きと出力負荷容量とを変化させつつそれぞれ計算される同時遷移遅延時間の集合を同時遷移遅延時間群という。
 セル遅延時間は、キャラクタライズ対象外入力端子に入力される入力信号の状態の影響を受けて変動する。そこで、ステップ803においては、キャラクタライズ対象入力端子の入力信号のみが遷移し、キャラクタライズ対象外入力端子の入力信号は電源またはグラウンドに固定されている状態におけるセルのセル遅延時間を他ピン固定非同時遷移遅延時間といい、セルの入力信号傾きと出力負荷容量とを変化させつつそれぞれ計算される他ピン固定非同時遷移遅延時間の集合を他ピン固定非同時遷移遅延時間群という。本実施の形態では、同時遷移遅延時間群と他ピン固定非同時遷移遅延時間群とがそれぞれ計算される。最後に、ステップ814において、ステップ812で計算された同時遷移遅延時間群と、ステップ813で計算された他ピン固定非同時遷移遅延時間群との両方のセル遅延時間群がセルの特性値に対応付けされたうえでテーブル化されて遅延ライブラリ105に記載される。以下、テーブル化された同時遷移遅延時間群を同時遷移遅延時間テーブルといい、テーブル化された他ピン固定非同時遷移遅延時間群を他ピン固定非同時遷移遅延時間テーブルという。ステップ802とステップ803とは順序が逆でもよい。
 次に、図2Aに示す2入力NANDの例を参照して同時遷移遅延時間テーブル(セル最小遅延時間)と他ピン固定非同時遷移遅延時間テーブル(セル最大遅延時間)との作成方法を具体的に説明する。2入力NANDでは、P-chトランジスタが並列に配置されており、全入力端子の入力信号が同時に遷移した状態と、キャラクタライズ対象入力端子の入力信号のみが選択的に遷移した状態とでは、出力信号の立ち上がり遅延時間(セル遅延時間)が異なる。従って、まず始めに、入力端子A(キャラクタライズ対象入力端子)に入力信号が入力されるのと同時タイミングで、入力端子B(キャラクタライズ対象外入力端子)に入力信号が入力されるキャラクタライズ用入力パターン(a-1のパターン,b-1のパターン)が、キャラクタライズ用入力パターン(102)として登録されたうえで、その状態でセル遅延時間群が計算される。この状態で計算されるセル遅延時間群は同時遷移遅延時間群となる。なお、キャラクタライズ用入力パターン(102)にパターンが登録される際には、入力端子B(キャラクタライズ対象外入力端子)の入力波形鈍りのうち、入力端子A(キャラクタライズ対象入力端子)から出力端子Yまでの遅延時間(セル遅延時間)が最も早くなる入力波形鈍りが選択される。
 次に、入力端子A(キャラクタライズ対象入力端子)には入力信号が入力され入力端子B(キャラクタライズ対象外入力端子)の入力信号は電源に固定されるキャラクタライズ用入力パターン(a-2のパターン,b-2のパターン)が、キャラクタライズ用入力パターン(102)として登録されたうえで、その状態でセル遅延時間群が計算される。この状態で計算されるセル遅延時間群は他ピン固定非同時遷移遅延時間群となる。最後に、同時遷移遅延時間群と他ピン固定非同時遷移遅延時間群とのそれぞれがセルの特性に対応付けられることで、同時遷移遅延時間テーブルと他ピン固定非同時遷移遅延時間テーブルとが生成され、これらのテーブルが遅延ライブラリ(105)に記載される。
 図2Bの2入力NORゲートの場合も上述の説明と同様である。2入力NORゲートでは、N-chトランジスタが並列に配置されており、キャラクタライズ対象入力端子の入力信号とキャラクタライズ対象外入力端子の入力信号とが同時に遷移した状態と、キャラクタライズ対象入力端子の入力信号のみが遷移した状態とでは、出力信号の立ち下がり遅延時間(セル遅延時間)は異なる。なお、図2A-図2Bでは2入力の多入力論理セルを例にして挙げているが、3入力や4入力等の2入力端子以上の入力を有する多入力論理セルでも同様に、キャラクタライズ対象入力端子から出力端子に伝搬する信号の遅延値(セル遅延時間)は、キャラクタライズ対象外入力端子に入力される入力信号の信号状態の影響を受けることがある。この場合にも同様にキャラクタライズ時にキャラクタライズ対象外入力端子への入力パターンを種々変動させた状態でキャラクタイライズが行われ、それにより得られた同時遷移遅延時間テーブルと他ピン固定非同時遷移遅延時間テーブルとが遅延ライブラリ(105)に記載される。
 以上の方法により請求項2の遅延ライブラリを作成することができる。図9Aには、多入力論理セルの入力端子において、同時遷移セル遅延時間テーブルと他ピン固定非同時遷移セル遅延時間テーブルとの両方が登録された遅延ライブラリ(105)が例示される。従来の遅延ライブラリでは、同時遷移遅延時間テーブルと他ピン固定非同時遷移遅延時間テーブルとの両方が記載されておらず、一方のみが悲観的な値として記載されている。これに対して、本実施の形態の遅延ライブラリでは、同時遷移遅延時間テーブルと他ピン固定非同時遷移遅延時間テーブルとの両方が記載されたうえで、これらのテーブルが切り替えられて使用される。このようにして本実施の形態の遅延ライブラリを使用する(同時遷移遅延時間テーブルと他ピン固定非同時遷移遅延時間テーブルとを切り替えて使用する)ことで、図1のステップ108のゲートレベル遅延計算(ゲートレベル遅延時間の計算)において、実動作に近いゲートレベル遅延時間を計算したうえで、ステップ109でゲートレベルタイミング検証を行うことができる。
 (実施の形態2)
 図11を参照して、本発明の実施の形態2における遅延ライブラリの作成方法を説明する。まず始めに、ステップ811において、多入力論理セルの内部のトランジスタの接続情報から、複数の入力端子の一つであって、キャラクタライズで対象とならない入力端子(キャラクタライズ対象外入力端子)に入力される入力信号が固定された状態における他ピン固定非同時遷移遅延時間と、全ての入力端子の入力信号が共に遷移する状態における同時遷移遅延時間との間で差異が生じるか否かが調べられる。たとえば、NANDセルにおいて出力信号が立ち上がりとなる場合や、NORセルにおいて出力信号が立ち下がりとなる場合を考える。これらの場合において複数の入力端子の入力信号が同時に遷移する状態では、ひとつの入力端子(キャラクタライズ対象入力端子)の入力信号のみが遷移する状態よりも大きな電流が流れて高速に動作する。これは動作するトランジスタが並列構造となっていることに起因する。
 次に、ステップ812において、ステップ811で、複数の入力端子の入力信号に同時遷移が生じることがセル遅延時間に影響を与えると判定された多入力論理セルの同時遷移遅延時間群が選択的に計算される。次に、全ての多入力論理セルの他ピン固定非同時遷移遅延時間群が計算される。最後に、ステップ814において、複数の入力端子の入力信号に同時遷移が生じることがセル遅延時間に影響を与えると判定された多入力論理セルの同時遷移遅延時間テーブルと、全ての多入力論理セルの他ピン固定非同時遷移遅延時間テーブルとが遅延ライブラリ(105)に記載される。同時遷移により遅延への影響がないと判定された多入力論理セルについては、ステップ802またはステップ803のみが実行されて、いずれかの結果が遅延時間として遅延ライブラリ(105)に記載されてもよい。
 本実施の形態では、同時遷移の影響の無いセルにおける同地遷移遅延時間の計算を省略することが可能になり、実施の形態1より、少ない計算量で遅延ライブラリ(105)を作成することが可能になる。
 (実施の形態3)
 図12を参照して、本発明の実施の形態3における遅延ライブラリの作成方法を説明する。ステップ821については、図10のステップ801と同一である。次に、ステップ822において、入力信号が同時遷移することがセル遅延時間に影響を及ぼす多入力論理セルについて、複数の入力端子の入力信号が同時に遷移する状態における同時遷移遅延時間群が計算される。ステップ823において、キャラクタライズ対象外入力端子の入力信号において、入力遷移タイミング差が大きくなるようにその入力タイミングが変更されたうえで、同時遷移遅延時間が繰り返し計算される。ここで、入力遷移タイミング差とは、キャラクタライズ対象入力端子の入力信号とキャラクタライズ対象外入力端子の入力信号との間に生じる信号のずれのことである。ステップ823は同時遷移遅延時間の変化がなくなるまで繰り返し実施されたうえで、ステップ824において、同時遷移遅延時間テーブルが遅延ライブラリ(105)に記載される。
 図16は、入力遷移タイミング差とセル遅延時間との関係を示す。横軸は入力遷移タイミング差であり、縦軸はセル遅延時間である。セル遅延時間tsは、入力遷移タイミング差が0のときのセル遅延時間、すなわち同時遷移遅延時間である。セル遅延時間taは、入力遷移タイミング差が十分大きくなったときのセル遅延時間、すなわち非同時遷移遅延時間である。dtは、セル遅延時間の変化が一定以下となる入力遷移タイミング差である。本実施の形態では、入力遷移タイミング差を変化させ、セル遅延時間の変化が一定以下となるまで、セル遅延時間の計算処理を繰り返す。すなわち、入力遷移タイミング差を、0からdtまで変化させ、その時々のセル遅延時間を計算することで、非同時遷移遅延時間テーブル(同時遷移遅延時間tsと非同時遷移遅延時間dtとを含む)が、入力遷移タイミング差毎に作成される。なお、ひとつの入力端子の入力が遷移しても出力端子の出力信号において遷移が生じない多入力論理セルでは、入力遷移タイミング差は負の値を有することもある。
 本実施の形態の方法により、請求項3の遅延ライブラリを作成することができる。図9Bにこの遅延ライブラリの例(入力遷移タイミング差毎に、非同時遷移遅延時間テーブルが生成される)を示す。請求項2の遅延ライブラリでは、同時遷移遅延時間テーブルと他ピン固定非同時遷移時間テーブルとが記載されているが、入力遷移タイミング差毎に非同時遷移遅延時間テーブルが記録されていない。これに対して、本実施の形態の遅延ライブラリでは、入力遷移タイミング差毎に、非同時遷移遅延時間テーブルを記録することで、より実動作に近いセル遅延時間の計算ならびに記録が可能になる。
 (実施の形態4)
 次に、本発明の実施の形態4におけるゲートレベル遅延時間の計算方法を説明する。なお、本実施の形態は実施の形態1におけるゲートレベル遅延時間の計算フローと類似しているものの、遅延ライブラリ(105)とゲートレベル遅延時間の計算(108)とが異なる。
 従来では、遅延ライブラリ(105)には、予め一つに決められた入力信号のパターンにおけるセル遅延時間テーブル(遅延時間特性情報)だけが登録されていた。ここでいう予め一つに決められた入力信号のパターンとは、
・キャラクタライズ対象外入力端子の入力信号が0または1に固定された状態における入力パターン、
・キャラクタライズ対象外入力端子がキャラクタライズ対象入力端子と同じタイミングで遷移された状態における入力パターン、
等が例示される。
 図2Aに示すような2入力NANDの入力端子Aから出力端子Yまでにおける遅延ライブラリ(セル遅延時間テーブル)を想定した場合、前者としては、キャラクタライズ対象外入力端子(入力端子B)の入力信号が1に固定された状態における入力パターンが例示され、後者としては、キャラクタライズ対象外入力端子(入力端子B)の入力信号が入力端子Aの入力信号と同じタイミングで遷移された状態における入力パターンが例示される。
 本実施の形態の遅延ライブラリ(遅延時間特性情報)(105)では、多入力論理セルのセル遅延時間テーブルとして、上述した2つの入力パターンにおけるセル遅延時間テーブルが共に登録される。すなわち、
・同時遷移遅延時間テーブル、
・他ピン固定非同時遷移遅延時間テーブル、
 という2つのセル遅延時間テーブルが遅延ライブラリ(遅延時間特性情報)(105)に登録される。
 同時遷移遅延時間テーブルは、キャラクタライズ対象入力端子の入力信号とキャラクタライズ対象外入力端子の入力信号とが同時に遷移する状態におけるセル遅延時間とセルの特性値とを対応付けたテーブル状データベースであって、この状態では、セル遅延時間が最も短くなる。
 他ピン固定非同時遷移遅延時間テーブルは、キャラクタライズ対象外入力端子の入力信号が固定されている状態におけるセル遅延時間とセルの特性値とを対応付けたテーブル状データベースであって、この状態では、セル遅延時間が最も長くなる。
 本実施の形態の具体的なゲートレベル遅延時間の計算処理手順について、図5のフロー図を参照して説明する。ステップ501において、入力データに従って、他ピン固定非同時遅延時間テーブルを用いたセル遅延時間の計算処理、または同時遅延時間テーブルを用いたセル遅延時間の計算処理が実施される。次に、ステップ502において、ステップ501で計算されたセル遅延時間と、配線に起因して生じる遅延時間とに基づいたゲートレベル遅延時間の計算と、そのゲートレベル遅延時間に基づいたゲートレベルタイミング検証とが実施される。次に、ステップ503において、ステップ502で実施されたゲートレベルタイミング検証の結果に基づいて、多入力論理セルの各入力端子において、タイミングウィンドウ(TW)が生成されたうえで、タイミングウィンドウ(TW)の重なり(入力遷移タイミング差の有無)がチェックされる。なお、タイミングウィンドウとは、時間軸において信号遷移が起こる可能性がある時間帯を表している。
 ステップ503におけるタイミングウィンドウ(TW)の生成について、図6A,図6Bを参照して説明する。図6Aは多入力論理セルの一例である2入力NANDを示し、図6Bは、多入力論理セルの同時遷移・非同時遷移時における出力信号と入力端子とのタイミングウィンドウ(TW)を示す。
 多入力論理セルの入力端子A,Bに繋がるポート、およびネットを、それぞれIN1,IN2,w1,w3とし、多入力論理セルの出力端子に繋がるポートおよびネットをw3,outとすると、図6Bに示すように、
・ポートIN1の入力信号とポートIN2の入力信号とが同時に遷移する状態(同時遷移状態)では、出力信号は最も鈍りが小さい状態となり、
・ポートIN1の入力信号とポートIN2の入力信号とが同時遷移しない状態(例えば、他ピン固定非同時遷移状態)では、出力信号は最も鈍りが大きい状態となる。
 以上説明したステップ503の処理が完了したのち、ステップ504で、タイミングウィンドウ(TW)が重なった(入力遷移タイミング差がない)多入力論理セルについて、遅延ライブラリ(105)の同時遷移遅延時間テーブルを用いてセル遅延時間が再計算される。すなわち、図6Aの2入力NANDに例示されるように、ポートIN1のタイミングウィンドウ(TW)とポートIN2のタイミングウィンドウ(TW)とが重なった(入力遷移タイミング差がない)場合、遅延ライブラリ(105)における同時遷移遅延時間テーブルが選択されたうえで、そのテーブルを用いてセル遅延時間が再計算される。そして、その再計算値がセル遅延時間として記載される。なお、タイミングウィンドウ(TW)が重ならなかった(入力遷移タイミング差がある)場合、セル遅延時間は書き換えられない。
 次にステップ505において、上述したステップ504でセル遅延特性情報の書換え処理の結果に基づいてゲートレベル遅延時間の計算とゲートレベルタイミング検証とが実施される。次にステップ506において、ステップ505のゲートレベルタイミング検証結果に基づいてタイミングウィンドウ(TW)が再度生成されて、多入力論理セルの入力端子におけるタイミングウィンドウ(TW)の重なりがチェックされる。ステップ506におけるチェック処理の結果、タイミングウィンドウ(TW)に新しい重なりがある(入力遷移タイミング差がある)場合は、ステップ504に戻り、重なりが無い(入力遷移タイミング差がない)場合は、ステップ507に戻る。最後にステップ507においてタイミングウィンドウ(TW)の重なりの有無が再度確認される。ステップ507において重なりが無いことが確認されると、ゲートレベル遅延時間が出力されてゲートレベル遅延時間の計算が終了する。
 (実施の形態5)
 図7を参照して、本発明の実施の形態5におけるゲートレベル遅延時間の計算方法を説明する。本実施の形態は同時遷移を考慮している。前述した実施の形態4では、始めに同時遷移を考慮しないタイミング検証が行われたうえで、同時遷移を考慮したタイミング検証が行われることで、計算結果を実動作でのセル遅延時間に近づけている。しかしながら、実施の形態4では、最終的な遅延計算結果が実動作に比べて、楽観的となる可能性がある。このことを踏まえて本実施の形態では、始めに同時遷移を考慮した悲観的なタイミング検証が行われたうえで、そのタイミング検証においてタイミングウィンドウ(TW)が重ならない(入力遷移タイミング差が生じた)セルにおいては、同時遷移による悲観性を除いたセル遅延時間の計算が実施される。以下、詳細に説明する。
 ステップ601において、入力されたデータに従って同時遷移遅延時間テーブル、または他ピン固定非同時遅延時間テーブルを用いてセル遅延時間が計算される。このとき、タイミング検証結果が悲観的になる入力信号の遷移形態に対応した遅延時間テーブルが選択される。次にステップ602において、ステップ601で計算されたセル遅延時間に基づいてゲートレベル遅延時間の計算とそのゲートレベル遅延時間に基づいたゲートレベルタイミング検証とが実施される。ステップ602が実施されることで、多入力論理セルの各入力端子における信号遷移タイミングが分かる。次にステップ603において、ステップ602で得られた情報に基づいて、多入力論理セルの入力端子どうしにおけるタイミングウィンドウ(TW)の重なりがチェックされる。次にステップ604において、ステップ603で入力端子どうしでのタイミングウィンドウ(TW)が重ならない(入力遷移タイミング差がない)セルとして検出された多入力論理セルのセル遅延時間が、同時遷移遅延時間テーブルに基づいて再計算される。次にステップ605において、ステップ604で再計算されたセル遅延時間情報に基づいてゲートレベル遅延時間が再計算されたうえで、そのゲートレベル遅延時間に基づいてゲートレベルタイミング検証が実施される。次にステップ606において、ステップ604で書き換えられたタイミングウィンドウ(TW)の重なりに変化が生じたか否かがチェックされる。ステップ606のチェックでタイミングウィンドウ(TW)の重なりに変化が生じたと判断されれば、ステップ604に戻る。変化が生じていないと判断されれば、ステップ607に進み、タイミングウィンドウ(TW)の重なりの見直しが無くなったゲートレベル遅延時間が出力される。
 (実施の形態6)
 図8を参照して、本発明の実施の形態6のゲートレベル遅延時間の計算方法を説明する。本実施の形態では、同時遷移が考慮されている。実施の形態5では、すべてのパスについて、タイミングウィンドウ(TW)の重なりがチェックされる。しかしながら、回路の設計上のタイミング制約を満たしているパスについては、実動作のセル遅延時間に近づけて高精度に解析する必要はなく、タイミングウィンドウ(TW)の重なりをチェックする多入力論理セルは、エラーが発生したパス上の多入力論理セルに限定することができる。本実施の形態では、このような理論に基づいて、タイミングウィンドウ(TW)の重なりをチェックする多入力論理セルを限定することで計算処理が削減される。以下、詳細に説明する。
 ステップ701において、入力されたデータに従って同時遷移遅延時間テーブル、または他ピン固定非同時遅延時間テーブルを用いてセル遅延時間が計算される。このとき、ゲートレベルタイミング検証結果が悲観的になる入力信号の遷移形態に対応した遅延時間テーブルが選択される。次にステップ702において、ステップ701で計算されたセル遅延時間情報に基づいてゲートレベル遅延時間が計算されたうえで、そのゲートレベル遅延時間に基づいたゲートレベルタイミング検証が実施される。ステップ702が実施されることで、多入力論理セルの入力端子における信号遷移タイミングが分かる。次にステップ703において、ステップ702で得られた情報に基づいて、回路の設計上のタイミング制約違反となる信号経路に含まれる多入力論理セルの入力端子のタイミングウィンドウ(TW)の重なりが選択的にチェックされる。このとき、回路の設計上のタイミング制約違反とならない信号経路に含まれる多入力論理セルの入力端子のタイミングウィンドウ(TW)の重なりはチェックされない。これにより、計算処理が削減される。次にステップ704において、ステップ703でタイミングウィンドウ(TW)が重ならない(入力遷移タイミング差がない)セルとして検出された多入力論理セルのセル遅延時間が、同時遷移遅延時間テーブルに基づいて再計算される。次にステップ705において、ステップ704で再計算されたセル遅延時間情報に基づいてゲートレベル遅延時間が再計算されたうえで、そのゲートレベル遅延時間に基づいてゲートレベルタイミング検証が実施される。次に、ステップ706において、ステップ704で書き換えられたタイミングウィンドウ(TW)の重なりに変化が生じたか否かがチェックされる。ステップ706のチェックでタイミングウィンドウ(TW)の重なりに変化が生じたと判断されれば、ステップ704に戻る。変化が生じていないと判断されれば、ステップ707に進み、タイミングウィンドウ(TW)の重なりの見直しが無くなったゲートレベル遅延時間が出力される。
 (実施の形態7)
 本発明の実施の形態7のゲートレベル遅延時間の計算方法を説明する。本実施の形態では、同時遷移が考慮されている。本実施の形態は、前述した実施の形態4に類似しているものの、
 ・遅延ライブラリ(セル遅延時間特性情報)(105)
 ・ゲートレベル遅延時間の計算(108)
 が異なる。
 本実施の形態における遅延ライブラリ(セル遅延時間特性情報)(105)とゲートレベル遅延計算(108)とについて、以下説明する。実施の形態1では、遅延ライブラリ(セル遅延時間特性情報)(105)として、図9Aに示すように、予め一つに決められた入力信号のパターンにおける特性(同時遷移遅延時間テーブルと他ピン固定非同時遷移遅延時間テーブル)が登録される。ここでいう予め一つに決められた入力信号のパターンとは、
・キャラクタライズ対象外入力端子の入力信号が0または1に固定される状態における入力信号パターン、
・キャラクタライズ対象外入力端子がキャラクタライズ対象入力端子と同じタイミングで遷移される状態おける入力信号パターン、
 という2つの入力信号パターンのことである。
 図2Aに示す2入力NANDのA端子から出力端子Yまでにおける遅延ライブラリ(遅延時間特性情報)(105)を想定した場合、前者としては、入力端子Bを1に固定した状態における入力信号パターンが例示され、後者としては、入力端子Bへの信号入力を入力端子Aの信号入力と同じタイミングで入力させた状態における入力信号パターンが例示される。
 これに対して本実施の形態では、図9Bに示すように、複数設定した入力遷移タイミング差毎に遅延時間テーブルが作成されて遅延ライブラリ(遅延時間特性情報)(105)に登録にされる。図9Bでは、入力遷移タイミング差(0ps),(50ps),(100ps)毎に遅延時間テーブルが作成される。ここで、入力遷移タイミング差(0ps)とは、同時遷移状態を示し、入力遷移タイミング差(0ps)における遅延時間テーブルは、同時遷移遅延時間テーブルに相当し、入力遷移タイミング差(100ps)における遅延時間テーブルは、他ピン固定非同時遷移遅延時間テーブルに相当する。
 具体的な遅延計算処理手順について、図13のフロー図を参照して説明する。ステップ501において、入力データに従って、いずれか一つの遅延時間テーブル(図9Bの例では、入力遷移タイミング差(0ps),(50ps),または(100ps)における遅延時間テーブル)を用いたセル遅延時間の計算処理が実施される。次に、ステップ502において、ステップ501で計算された各多入力論理セルのセル遅延時間(遅延値)と配線の遅延時間(遅延値)とに基づいてゲートレベル遅延時間が算出されたうえで、そのゲートレベル遅延時間に基づいてゲートレベルタイミング検証が実施される。次に、ステップ1303において、ステップ502で実施されたゲートレベルタイミング検証の結果に基づいて、多入力論理セルの入力端子のタイミングウィンドウ(TW)が生成され、さらに生成されたタイミングウィンドウ(TW)どうしで重なり(入力遷移タイミング差の大きさ)がチェックされる。
 次にステップ1304において、チェックされたタイミングウィンドウ(TW)の重なり量に基づいて、セル遅延時間特性情報が置き換えられる。このステップを実行するために、予め、図9Bに例示されるように、入力端子間の入力遷移タイミング差の程度に応じた遅延時間テーブルが作成されたうえで、その遅延時間テーブルが遅延ライブラリ105に格納されている。このテーブルは、上述したように入力遷移タイミング差毎に作成される。各テーブルには、セル遅延時間と多入力論理セルの出力特定とが対応付けられて記録される。ここでいう多入力論理セルの出力特定は、多入力論理セルにおける出力負荷容量と出力信号の傾きとの組み合わせにより規定される。
 ステップ1304では、まず、チェックされたタイミングウィンドウ(TW)の重なり量に基づいて、遅延時間テーブルが選択される。そのうえで、多入力論理セルにおける出力負荷容量と出力信号の傾きとの組み合わせが、遅延時間テーブルに照合されることで、選択された遅延時間テーブルから、その多入力論理セルにおける最適なセル遅延時間が抽出される。遅延ライブラリにおけるセル遅延時間情報は、抽出された最適セル遅延時間によって書き換えられる。
 また、入力端子間に一定時間以上の入力遷移タイミング差がある状態では、遅延ライブラリにおいて同時遷移をしない状態で、任意の遅延値を選択して用いることも可能である。その場合にはセル遅延時間の情報は書き換えられない。
 さらに、タイミングウィンドウ(TW)が重なる状態では、入力遷移タイミング差0である場合に選択される遅延時間テーブルは、タイミングウィンドウ(TW)の重なりに関係なく共通したものとなる。そのため、入力遷移タイミング差0のテーブルとして共通テーブルを設定することが可能となって、その分、テーブルの記憶に要する記録容量を削減することが可能になる。
 次にステップ505において、ステップ1304で書き換えられたセル遅延時間に基づいてゲートレベル遅延時間の計算と、そのゲートレベル遅延時間に基づいたゲートレベルタイミング検証とが実施される。次にステップ1306において、ステップ505で実施されたゲートレベルタイミング検証の結果に基づいてタイミングウィンドウ(TW)が再度生成されたうえで、多入力論理セルの入力端子どうしにおける入力遷移タイミング差が再度チェックされる。再度チェックされた結果、多入力論理セルの入力端子どうしにおいて、タイミングウィンドウ(TW)に差がある(新しい重なりがある)場合はステップ1304に戻り、差がない(新しい重なりがない)場合はステップ1307に進む。
 最後にステップ1307において、入力遷移タイミング差の更新がないことが確認され、更新が無ければ、計算されたゲートレベル遅延時間が出力される。これによりゲートレベル遅延計算が終了する。
 (実施の形態8)
 図14を参照して、本発明の実施の形態8におけるゲートレベル遅延時間の計算方法を説明する。本実施の形態は同時遷移を考慮している。実施の形態7では、始めに同時遷移を考慮しないゲートレベルタイミング検証(ゲートレベル遅延時間の計算)が行われたうえで、同時遷移を考慮したゲートレベルタイミング検証が行われることで、計算結果を実動作の遅延時間に近づけている。しかしながら、実施の形態7では、最終的な遅延計算結果が実動作に比べて、楽観的となる可能性がある。このことを踏まえて本実施の形態では、始めに同時遷移を考慮した悲観的なゲートレベルタイミング検証が行われたうえで、そのゲートレベルタイミング検証においてタイミングウィンドウ(TW)が重ならない(入力遷移タイミング差が生じた)セルにおいては、同時遷移による悲観性を除いたゲートレベルタイミング検証が実施される。以下、詳細に説明する。
 図14に示すステップ1401において、入力されたデータに応じた任意の遅延時間テーブルを用いてセル遅延時間が計算される。このとき、ゲートレベルタイミング検証が悲観的になる入力信号の遷移形態に対応した遅延時間テーブルが選択される。次にステップ602において、ステップ1401で計算されたセル遅延時間に基づいて、ゲートレベル遅延時間の計算とそのゲートレベル遅延時間に基づいたゲートレベルタイミング検証が実施される。ステップ602が実施されることで、多入力論理セルの入力端子における信号遷移タイミングが分かる。次にステップ1403において、ステップ602で得られた情報に基づいて、多入力論理セルの各入力端子どうしにおけるタイミングウィンドウ(TW)の重なりがチェックされる。次にステップ1404において、ステップ1403で入力端子どうしでのタイミングウィンドウ(TW)の重なりが小さい(入力遷移タイミング差が一定時間以内)セルとして検出された多入力論理セルのセル遅延時間が、そのタイミングウィンドウ(TW)の重なりの大きさに応じた遅延時間テーブルに基づいて再計算される。次にステップ605において、ステップ1404で再計算されたセル遅延時間情報に基づいてゲートレベル遅延時間が再計算されたうえで、そのゲートレベル遅延時間に基づいてゲートレベルタイミング検証が実施される。次に、ステップ1406において、ステップ1404でゲートレベル遅延時間情報が書き換えられた後の入力遷移タイミング差が再度チェックされる。ステップ1406のチェックで入力遷移タイミング差が検出されれば、ステップ1404に戻る。無ければステップ1407に進む。ステップ1407では、入力遷移タイミング差の見直しが不要になったゲートレベル遅延時間が出力される。
 (実施の形態9)
 図15を参照して本発明の実施の形態9の遅延計算方法を説明する。本実施の形態では、同時遷移が考慮されている。実施の形態8では、すべてのパスについて、タイミングウィンドウ(TW)の重なりがチェックされる。しかしながら、タイミング制約を満たしているパスについては、実動作のセル遅延時間に近づけて高精度に解析する必要はなく、タイミングウィンドウ(TW)の重なりをチェックするセルは、エラーが発生したパス上の多入力論理セルのみに限定することができる。本実施の形態では、このような理論に基づいて、タイミングウィンドウ(TW)の重なりをチェックする多入力論理セルを限定することで計算処理が削減されている。以下、詳細に説明する。
 図15に示すステップ1501において、入力されたデータに応じた任意の遅延時間テーブルを用いてセル遅延時間が計算される。このとき、ゲートレベルタイミング検証結果が悲観的になる入力信号の遷移形態に対応した遅延時間テーブルが選択される。次にステップ702において、ステップ1501で計算されたセル遅延時間に基づいて、ゲートレベル遅延時間の計算とそのゲートレベル遅延時間に基づいたゲートレベルタイミング検証とが実施される。ステップ702が実施されることで、多入力論理セルの入力端子における信号遷移タイミングが分かる。次にステップ1503において、ステップ702で得られた情報に基づいて、制約違反となる信号経路に含まれる多入力論理セルの入力端子どうしのタイミングウィンドウ(TW)の間で、一定時間以上の差(入力遷移タイミング差)が生じているか否かがチェックされる。次にステップ1504において、ステップ1503で一定時間以上の入力遷移タイミング差が生じている(入力遷移タイミング差が一定時間以内に収まっている)多入力論理セルのセル遅延時間が、その入力遷移タイミング差の大きさに応じた遅延時間テーブルに基づいて再計算される。次にステップ705において、ステップ1504で再計算されたセル遅延時間情報に基づいてゲートレベル遅延時間が再計算されたうえで、そのゲートレベル遅延時間に基づいてゲートレベルタイミング検証が再実施される。次に、ステップ1506において、ステップ705でタイミング再検証を通じて検出された入力遷移タイミング差が再度チェックされる。ステップ1506の入力遷移タイミング差の再チェックにおいて入力遷移タイミング差に変化が生じていると判断されれば、ステップ1504に戻り、変化が生じていないと判断されれば、ステップ1507に進み、入力遷移タイミング差の見直しの必要性が無くなった遅延情報が出力される。
 なお、以上説明した各実施の形態の遅延ライブラリの作成方法および遅延計算方法は、図18に例示されるハードウェア構成により実現される。この構成では、ハードディスク,CD-ROMなどの記憶媒体に記録されたプログラムを、コンピュータによって記録媒体から読み取って実行することで、遅延ライブラリの作成方法、および遅延計算方法を実現することができる。
 本発明にかかる遅延ライブラリの作成方法および遅延計算方法は、多入力論理セルにおける入力端子への信号入力の同時遷移時に、セル遅延時間が速く、または遅くなる影響を考慮することが可能であり、設計マージンの削減が求められる微細プロセスの設計およびゲートレベルタイミング検証において、楽観性、または悲観性を削減するのに有用である。

Claims (12)

  1.  複数の入力端子を有する多入力論理セルの遅延ライブラリを作成する方法であって、
     前記複数の入力端子の入力信号が同時遷移する状態での前記多入力論理セルにおける同時遷移遅延時間を計算するステップと、
     前記複数の入力端子のうちのひとつの入力端子の入力信号が遷移しかつ前記ひとつの入力端子以外の入力端子の入力信号が電源またはグラウンドに固定された状態での前記多入力論理セルにおける非同時遷移遅延時間を計算するステップと、
     前記同時遷移遅延時間と前記非同時遷移遅延時間とを前記遅延ライブラリに記載するステップと、
     を含む、
     遅延ライブラリの作成方法。
  2.  複数の入力端子を有する多入力論理セルの遅延ライブラリを作成する方法であって、
     前記多入力論理セルが有するトランジスタどうしの接続情報に基づいて、前記複数の入力端子のうちのひとつ以外の他の入力端子の入力信号が固定された状態での前記多入力論理セルにおける遅延時間と、前記複数の入力端子のすべての前記入力信号が同時遷移する状態での前記多入力論理セルにおける遅延時間との間で相違があるか否かを判定するステップと、
     前記複数の入力端子のすべてにおいて前記入力信号が共に遷移することが前記多入力論理セルの遅延時間に影響を与えるか否かを判定したうえで、影響を与えると判定すると、前記複数の入力端子の前記入力信号のすべてが同時遷移する状態での前記多入力論理セルにおける同時遷移遅延時間を計算するステップと、
     前記複数の入力端子のうちのひとつにおける入力信号が遷移しかつ前記ひとつの入力端子以外の入力端子における入力信号が電源またはグラウンドに固定された状態での前記多入力論理セルにおける非同時遷移遅延時間を計算するステップと、
     前記同時遷移遅延時間と前記非同時遷移遅延時間とを前記遅延ライブラリに記載するステップと、
     を含む、
     遅延ライブラリの作成方法。
  3.  複数の入力端子を有する多入力論理セルの遅延ライブラリを作成する方法であって、
     前記多入力論理セルが有するトランジスタどうしの接続情報に基づいて、前記複数の入力端子のうちのひとつ以外の他の入力端子の入力信号が固定された状態での前記多入力論理セルにおける遅延時間と、前記複数の入力端子のすべての前記入力信号が同時遷移する状態での前記多入力論理セルにおける遅延時間との間で相違があるか否かを判定するステップと、
     前記複数の入力端子のすべてにおいて前記入力信号が同時遷移することが前記多入力論理セルの遅延時間に影響を与えるか否かを判定したうえで、影響を与えると判定すると、前記複数の入力端子の前記入力信号のすべてが同時遷移する状態での前記多入力論理セルにおける同時遷移遅延時間を計算するステップと、
     前記ひとつの入力端子と前記他の入力端子との間で入力信号の入力遷移タイミング差を変動させつつ前記多入力論理セルにおける遅延時間を計算する処理を、前記遅延時間が変動しなくなるまで繰り返すステップと、
     前記入力遷移タイミング差とその入力遷移タイミング差における前記多入力論理セルにおける遅延時間とを対応付けて前記遅延ライブラリに記載するステップと、
     を含む、
     遅延ライブラリの作成方法。
  4.  複数の入力端子を有する多入力論理セルの遅延ライブラリであって、
     前記複数の入力端子のすべての入力信号が同時遷移する状態での前記多入力論理セルにおける同時遷移遅延時間と、
     前記多入力論理セルの複数の入力端子のうちのひとつの入力端子の入力信号が遷移しかつ前記ひとつの入力端子以外の入力端子の入力信号が電源またはグラウンドに固定された状態での前記多入力論理セルにおける非同時遷移遅延時間と、
     が記載されている、
     遅延ライブラリ。
  5.  複数の入力端子を有する多入力論理セルの遅延ライブラリであって、
     前記複数の入力端子のうちのひとつの入力端子の入力信号の遷移タイミングと前記ひとつの入力端子以外の入力端子の入力信号の遷移タイミングとの間に生じる遷移タイミング差と、各遷移タイミング差における前記多入力論理セルにおける遅延時間とが対応付けられて記載されている、
     遅延ライブラリ。
  6.  各遷移タイミング差における前記多入力論理セルにおける前記複数の入力端子の入力信号が同時遷移する状態での前記多入力論理セルにおける同時遷移遅延時間と前記遷移タイミング差とが対応付けられてなる遅延時間テーブルと、
     前記複数の入力端子のうちのひとつの入力端子の入力信号が遷移しかつ前記ひとつの入力端子以外の入力端子の入力信号が電源またはグラウンドに固定された状態での前記多入力論理セルにおける非同時遷移遅延時間と前記遷移タイミング差とが対応付けられてなる遅延時間テーブルと、
     が記載されている、
     請求項5の遅延ライブラリ。
  7.  前記多入力論理セルが設けられた回路における遅延時間を、請求項4の遅延ライブラリを用いて計算する方法であって、
     前記多入力論理セルの各入力端子の信号遷移タイミングを検出するステップと、
     前記信号遷移タイミングに基づいて、時間軸において信号遷移が起こる可能性のある時間帯を表すタイミングウィンドウ(TW)を前記入力端子それぞれの入力信号毎に生成するステップと、
     前記入力信号どうしにおけるタイミングウィンドウ(TW)の重なりを検出するステップと、
     前記タイミングウィンドウ(TW)の重なりに応じて前記同時遷移時間と前記非同時遷移時間とを選択的に用いて前記回路の遅延時間を計算するステップと、
     を含み、
     前記ステップ群を順次繰り返し実施する、
     遅延計算方法。
  8.  前記多入力論理セルが設けられた回路における遅延時間を、請求項4の遅延ライブラリを用いて計算する方法であって、
     前記多入力論理セルにおける前記同時遷移遅延時間と前記非同時遷移遅延時間とから、前記多入力論理セルにおける最大遅延時間と最小遅延時間とを計算するステップと、
     前記最大遅延時間と前記最小遅延時間とを用いて前記回路のタイミング検証を行うステップと、
     前記タイミング検証の結果に基づいて、時間軸において信号遷移が起こる可能性のある時間帯を表すタイミングウィンドウ(TW)を前記入力端子それぞれの入力信号毎に生成するステップと、
     前記入力信号どうしにおけるタイミングウィンドウ(TW)の重なりを検出するステップと、
     前記タイミングウィンドウ(TW)の重なりに応じて前記同時遷移時間と前記非同時遷移時間とを選択的に用いて前記回路の遅延時間を計算するステップと、
     を含み、
     前記回路の遅延時間の計算結果に基づいて、前記タイミングウィンドウ(TW)
    を生成するステップと、前記タイミングウィンドウ(TW)の重なりを検出するステップと、前記回路の遅延時間を計算するステップとを、順次繰り返す、
     遅延計算方法。
  9.  前記多入力論理セルが設けられた回路の遅延時間を、請求項4の遅延ライブラリを用いて計算する方法であって、
     前記多入力論理セルにおける前記同時遷移遅延時間と前記非同時遷移遅延時間とから、前記多入力論理セルにおける最大遅延時間と最小遅延時間とを計算するステップと、
     前記最大遅延時間と前記最小遅延時間とを用いて前記回路のタイミング検証を行うステップと、
     前記タイミング検証の結果に基づいて、前記回路に設けられた信号経路の中から、前記回路の設計上のタイミング制約違反となる信号経路を検出するステップと、
     前記タイミング制約違反として検出した前記信号経路上にある前記多入力論理セルの前記入力端子それぞれの入力信号毎に、時間軸において信号遷移が起こる可能性のある時間帯を表すタイミングウィンドウ(TW)を生成するステップと、
     前記入力信号どうしにおけるタイミングウィンドウ(TW)の重なりを検出するステップと、
     前記タイミングウィンドウ(TW)の重なりに応じて前記同時遷移時間と前記非同時遷移時間とを選択的に使用して前記回路の遅延時間を計算するステップと、
     を含み、
     前記回路の遅延時間の計算結果に基づいて、前記タイミングウィンドウ(TW)
    を生成するステップと、前記タイミングウィンドウ(TW)の重なりを検出するステップと、前記回路の遅延時間を計算するステップとを、順次繰り返す、
     ことを特徴とする遅延計算方法。
  10.  前記多入力論理セルが設けられた回路の遅延時間を、請求項5の遅延ライブラリを用いて計算する方法であって、
     前記多入力論理セルの各入力端子の信号遷移タイミングを検出するステップと、
     前記信号遷移タイミングに基づいて、時間軸において信号遷移が起こる可能性のある時間帯を表すタイミングウィンドウ(TW)を前記入力端子それぞれの入力信号毎に生成するステップと、
     前記タイミングウィンドウ(TW)から前記入力遷移タイミング差を検出するステップと、
     前記入力遷移タイミング差に対応する前記多入力論理セルにおける遅延時間に基づいて、前記回路の遅延時間を計算するステップと、
     を含み、
     これらステップ群を順次繰り返し実施する、
     遅延計算方法。
  11.  前記多入力論理セルが設けられた回路の遅延時間を、請求項5の遅延ライブラリを用いて計算する方法であって、
     前記多入力論理セルにおける前記同時遷移遅延時間と前記非同時遷移遅延時間とから、前記多入力論理セルにおける最大遅延時間と最小遅延時間とを計算するステップと、
     前記最大遅延時間と前記最小遅延時間とを用いて前記回路のタイミング検証を行うステップと、
     前記タイミング検証の結果に基づいて、時間軸において信号遷移が起こる可能性のある時間帯を表すタイミングウィンドウ(TW)を前記多入力論理セルの入力端子それぞれの入力信号毎に生成するステップと、
     前記入力信号どうしにおけるタイミングウィンドウ(TW)の重なりを検出するステップと、
     前記タイミングウィンドウ(TW)の重なりに基づいて、前記多入力論理セルの入力遷移タイミング差を検出するステップと、
     前記入力遷移タイミング差に応じた前記遅延時間を用いて前記回路の遅延時間を計算するステップと、
     を含み、
     これらステップ群を順次繰し実施する、
     遅延計算方法。
  12.  前記多入力論理セルが設けられた回路の遅延時間を、請求項5の遅延ライブラリを用いて計算する方法であって、
     前記多入力論理セルにおける前記同時遷移遅延時間と前記非同時遷移遅延時間とから、前記多入力論理セルにおける最大遅延時間と最小遅延時間とを計算するステップと、
     前記最大遅延時間と前記最小遅延時間とを用いて前記回路のタイミング検証を行うステップと、
     前記タイミング検証の結果に基づいて、前記回路に設けられた信号経路の中から、前記回路の設計上のタイミング制約違反となる信号経路を検出するステップと、
     前記検出した信号経路に含まれる前記多入力論理セルにおける各入力端子の信号遷移タイミングを検出するステップと、
     前記信号遷移タイミングに基づいて、時間軸において信号遷移が起こる可能性のある時間帯を表すタイミングウィンドウ(TW)を前記入力端子それぞれの入力信号毎に生成するステップと、
     前記タイミングウィンドウ(TW)から前記入力遷移タイミング差を検出するステップと、
     前記入力遷移タイミング差に対応する前記多入力論理セルにおける遅延時間に基づいて、前記回路の遅延時間を計算するステップと、
     を含み、
     これらステップ群を順次繰り返し実施する、
     遅延計算方法。
PCT/JP2009/000786 2008-07-08 2009-02-24 遅延ライブラリ、遅延ライブラリの作成方法、および遅延計算方法 WO2010004668A1 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
US12/743,965 US20100313176A1 (en) 2008-07-08 2009-02-24 Delay library, delay library creation method, and delay calculation method

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2008-177593 2008-07-08
JP2008177593A JP2010020372A (ja) 2008-07-08 2008-07-08 遅延ライブラリ、遅延ライブラリの作成方法、および遅延計算方法

Publications (1)

Publication Number Publication Date
WO2010004668A1 true WO2010004668A1 (ja) 2010-01-14

Family

ID=41506796

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2009/000786 WO2010004668A1 (ja) 2008-07-08 2009-02-24 遅延ライブラリ、遅延ライブラリの作成方法、および遅延計算方法

Country Status (3)

Country Link
US (1) US20100313176A1 (ja)
JP (1) JP2010020372A (ja)
WO (1) WO2010004668A1 (ja)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2013010676A2 (en) 2011-07-20 2013-01-24 Ecole Nationale Superieure De Chimie De Rennes Supported ionic liquid phase catalyst
US8407654B2 (en) 2011-02-23 2013-03-26 International Business Machines Corporation Glitch power reduction
US8612911B2 (en) 2011-02-23 2013-12-17 International Business Machines Corporation Estimating power consumption of an electronic circuit
US8627263B2 (en) 2011-02-23 2014-01-07 International Business Machines Corporation Gate configuration determination and selection from standard cell library
US9619609B1 (en) 2015-09-23 2017-04-11 Globalfoundries Inc. Integrated circuit chip design methods and systems using process window-aware timing analysis

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE602008006255D1 (de) * 2007-10-04 2011-05-26 Networked Audio Solutions Cc Digital-multimedia-netzwerk mit hierarchischem parametersteuerprotokoll
JP5652003B2 (ja) * 2010-06-02 2015-01-14 富士通株式会社 遅延解析プログラム,遅延解析装置および遅延解析方法
US8776004B2 (en) * 2011-01-14 2014-07-08 International Business Machines Corporation Method for improving static timing analysis and optimizing circuits using reverse merge
US8607176B2 (en) * 2011-04-18 2013-12-10 International Business Machines Corporation Delay model construction in the presence of multiple input switching events
US8762904B2 (en) 2012-03-28 2014-06-24 Synopsys, Inc. Optimizing logic synthesis for environmental insensitivity
US8762905B2 (en) 2012-04-18 2014-06-24 Synopsys, Inc. Numerical delay model for a technology library cell
CN105701266B (zh) 2014-11-28 2019-05-07 国际商业机器公司 用于电路设计中的静态时序分析的方法和系统
KR102648088B1 (ko) * 2019-01-25 2024-03-18 삼성전자주식회사 멀티 입력 스위칭을 반영한 반도체 소자의 동작 타이밍 분석 장치 및 방법
US11093675B1 (en) 2020-03-18 2021-08-17 International Business Machines Corporation Statistical timing analysis considering multiple-input switching

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0773219A (ja) * 1993-09-03 1995-03-17 Fujitsu Ltd シミュレーション装置及びシミュレーション方法
JP2000357183A (ja) * 1999-06-16 2000-12-26 Matsushita Electric Ind Co Ltd 遅延ライブラリ表現方法、遅延ライブラリ生成方法、および遅延ライブラリを用いた遅延計算方法
JP2006350548A (ja) * 2005-06-14 2006-12-28 Matsushita Electric Ind Co Ltd タイミングライブラリの作成方法、タイミングライブラリの作成プログラム、およびタイミングライブラリの作成装置

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6396307B1 (en) * 1999-05-19 2002-05-28 Matsushita Electric Industrial Co., Ltd. Semiconductor integrated circuit and method for designing the same
JP3988015B2 (ja) * 2000-06-06 2007-10-10 日本電気株式会社 半導体装置の設計方法
US20040002844A1 (en) * 2002-06-27 2004-01-01 Jess Jochen A.G. System and method for statistical modeling and statistical timing analysis of integrated circuits
JP2008242918A (ja) * 2007-03-28 2008-10-09 Matsushita Electric Ind Co Ltd 半導体集積回路の設計装置
JP2008250396A (ja) * 2007-03-29 2008-10-16 Seiko Epson Corp 半導体集積回路装置の設計方法、半導体集積回路装置、マイクロコンピュータ、電子機器
JP2009134500A (ja) * 2007-11-30 2009-06-18 Nec Electronics Corp 論理シミュレータと論理シミュレーション方法

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0773219A (ja) * 1993-09-03 1995-03-17 Fujitsu Ltd シミュレーション装置及びシミュレーション方法
JP2000357183A (ja) * 1999-06-16 2000-12-26 Matsushita Electric Ind Co Ltd 遅延ライブラリ表現方法、遅延ライブラリ生成方法、および遅延ライブラリを用いた遅延計算方法
JP2006350548A (ja) * 2005-06-14 2006-12-28 Matsushita Electric Ind Co Ltd タイミングライブラリの作成方法、タイミングライブラリの作成プログラム、およびタイミングライブラリの作成装置

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8407654B2 (en) 2011-02-23 2013-03-26 International Business Machines Corporation Glitch power reduction
US8612911B2 (en) 2011-02-23 2013-12-17 International Business Machines Corporation Estimating power consumption of an electronic circuit
US8627263B2 (en) 2011-02-23 2014-01-07 International Business Machines Corporation Gate configuration determination and selection from standard cell library
WO2013010676A2 (en) 2011-07-20 2013-01-24 Ecole Nationale Superieure De Chimie De Rennes Supported ionic liquid phase catalyst
US9619609B1 (en) 2015-09-23 2017-04-11 Globalfoundries Inc. Integrated circuit chip design methods and systems using process window-aware timing analysis

Also Published As

Publication number Publication date
JP2010020372A (ja) 2010-01-28
US20100313176A1 (en) 2010-12-09

Similar Documents

Publication Publication Date Title
WO2010004668A1 (ja) 遅延ライブラリ、遅延ライブラリの作成方法、および遅延計算方法
US8788995B1 (en) System and method for guiding remedial transformations of a circuit design defined by physical implementation data to reduce needed physical corrections for detected timing violations in the circuit design
US6851095B1 (en) Method of incremental recharacterization to estimate performance of integrated disigns
US7340698B1 (en) Method of estimating performance of integrated circuit designs by finding scalars for strongly coupled components
US8726211B2 (en) Generating an equivalent waveform model in static timing analysis
US7404161B2 (en) Fullchip functional equivalency and physical verification
US7739098B2 (en) System and method for providing distributed static timing analysis with merged results
US8826202B1 (en) Reducing design verification time while maximizing system functional coverage
JP5935544B2 (ja) 論理セルのアナログモデルを生成する方法、製品及びコンピュータシステム
US10235485B1 (en) Partial reconfiguration debugging using hybrid models
US11574101B2 (en) Techniques for providing optimizations based on categories of slack in timing paths
CN112069763A (zh) 修正电路的方法
US8813006B1 (en) Accelerated characterization of circuits for within-die process variations
US10430537B2 (en) Integrated circuit including cells/gates arranged based on supply voltage variations of cells and influence between cells, and design method thereof
CN109753675A (zh) 逻辑门假信号建模的方法
US20080141200A1 (en) Methods and apparatuses for timing analysis of electronic circuits
US20220327269A1 (en) Computing device and method for detecting clock domain crossing violation in design of memory device
US8336013B2 (en) Determining an order for visiting circuit blocks in a circuit design for fixing design requirement violations
JP2005196265A (ja) 遅延ライブラリ作成方法および遅延ライブラリ作成装置
US7412677B1 (en) Detecting reducible registers
US10796051B1 (en) Adaptive model interface for a plurality of EDA programs
Posser et al. Electromigration Inside Logic Cells
Ahmad et al. Fast STA prediction-based gate-level timing simulation
US10049174B2 (en) Exact delay synthesis
Chanemougame et al. Agile Pathfinding Technology Prototyping: the Hunt for Directional Correctness

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: 09794116

Country of ref document: EP

Kind code of ref document: A1

WWE Wipo information: entry into national phase

Ref document number: 12743965

Country of ref document: US

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 09794116

Country of ref document: EP

Kind code of ref document: A1