WO2011074044A1 - 集積回路の消費電力算出方法、消費電力算出プログラム及び消費電力算出装置 - Google Patents

集積回路の消費電力算出方法、消費電力算出プログラム及び消費電力算出装置 Download PDF

Info

Publication number
WO2011074044A1
WO2011074044A1 PCT/JP2009/006998 JP2009006998W WO2011074044A1 WO 2011074044 A1 WO2011074044 A1 WO 2011074044A1 JP 2009006998 W JP2009006998 W JP 2009006998W WO 2011074044 A1 WO2011074044 A1 WO 2011074044A1
Authority
WO
WIPO (PCT)
Prior art keywords
circuit
glitch
power consumption
integrated circuit
transition
Prior art date
Application number
PCT/JP2009/006998
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 JP2011545857A priority Critical patent/JP5338919B2/ja
Priority to PCT/JP2009/006998 priority patent/WO2011074044A1/ja
Publication of WO2011074044A1 publication Critical patent/WO2011074044A1/ja
Priority to US13/495,576 priority patent/US20120253712A1/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/30Circuit design
    • G06F30/32Circuit design at the digital level
    • G06F30/33Design verification, e.g. functional simulation or model checking
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2119/00Details relating to the type or aim of the analysis or the optimisation
    • G06F2119/06Power analysis or power optimisation

Definitions

  • the present invention relates to an integrated circuit power consumption calculation method, a power consumption calculation program, and a power consumption calculation apparatus.
  • the power consumption of integrated circuits has increased.
  • the voltage level supplied to each circuit inside the integrated circuit becomes unstable.
  • An unstable state of the voltage level inside the integrated circuit causes a malfunction of the integrated circuit. Therefore, it is indispensable to calculate the power consumption of the integrated circuit from circuit data and design conditions, and to design the integrated circuit so that stable power can be supplied to the internal circuit according to the calculated power consumption.
  • the event-driven analysis method analyzes power consumption by modeling a plurality of cells constituting an integrated circuit at the transistor level.
  • a cell is a circuit macro as a circuit block constituting an integrated circuit.
  • the power consumption of an integrated circuit is not always constant and varies depending on the operating conditions of each cell constituting the integrated circuit and the operating rate of each transistor. Therefore, in order to analyze the maximum power consumption of the integrated circuit more accurately, it is necessary to continue to analyze the integrated circuit until various operation patterns appear. Further, if each cell is analyzed at the transistor level, the model scale of the entire integrated circuit becomes very large and the calculation time becomes very long.
  • the cycle-based analysis method is performed on the assumption that the input / output signal timing delay in the cell is zero. By assuming that the delay time in the cell is zero, the change timing of the signal state is only once in a clock cycle. This makes it possible to analyze the maximum power consumption of the integrated circuit in one clock cycle.
  • An object of an embodiment of the present invention is to provide a method for calculating power consumption of an integrated circuit in consideration of occurrence of glitches in cycle-based analysis.
  • the power consumption calculation of the integrated circuit calculates the power consumption of the integrated circuit based on the circuit information representing the internal configuration of the circuit included in the integrated circuit and the inter-circuit connection information representing the connection between the circuits.
  • the method performs logic analysis from the input pattern information including the input signal pattern to the integrated circuit, the inter-circuit connection information, and the logic model information of the circuit, with the propagation delay between the circuits as zero, and the input of the circuit A step of obtaining transition information of the signal and the output signal, and a step of extracting a transition pattern in which a glitch occurs in the output signal of the circuit from the transition pattern of the input signal to the circuit based on the logic model information of the circuit A step of reflecting the occurrence of the glitch in the transition information of the circuit that receives the extracted transition pattern as an input, and the occurrence of the glitch is reflected in the obtained transition information Characterized in that the transition information signal and a step of determining the power consumption of the integrated circuit to the computer.
  • A is a circuit diagram for calculating power consumption.
  • B is the event-driven analysis result.
  • C is the analysis result on a cycle basis.
  • It is a flowchart figure of the process which produces
  • It is a flowchart figure of the process which converts transition information. It is a transition pattern figure before and behind a transition information conversion process. It is a definition diagram of cell power information. It is a definition diagram of wiring information between cells. It is a flowchart figure of the process which converts transition information. It is a transition pattern figure before and behind a transition information conversion process.
  • FIG. 1 is an overall view of a power consumption calculation flow according to the embodiment.
  • the power consumption calculation flow in FIG. 1 shows a processing flow for calculating the power consumption of the integrated circuit based on the input pattern information 11, the integrated circuit netlist information 10, and the netlist information 19 in the cell.
  • the power consumption calculation flow is executed by a power consumption calculation device 70 described later.
  • the net list information is inter-circuit connection information representing connection information such as between internal circuit cells.
  • the integrated circuit netlist information 10 includes cell information representing the cell configuration and connection information representing the connection between the cells.
  • a cell is a circuit block as a circuit macro constituting an integrated circuit.
  • the input pattern information 11 represents an input signal pattern to the integrated circuit.
  • the cell logic model information 12 represents the input / output logic connection relationship of each cell described in the integrated circuit netlist information 10.
  • the netlist information 19 inside the cell defines a model at the transistor level of each cell.
  • the power consumption calculation device 70 executes a logic analysis of the integrated circuit on a cycle basis.
  • the power consumption calculation device 70 performs logic simulation from the integrated circuit netlist information 10, the input pattern information 11, and the cell logic model information 12 on the assumption that the propagation delay between cells in the integrated circuit is zero.
  • the transition information 14 of the input / output signals of each cell constituting the integrated circuit is obtained.
  • the transition information is information indicating how and at which timing the logical values of the input signal and output signal of the circuit change.
  • the power consumption calculation device 70 In the glitch generation condition generation step 15, the power consumption calculation device 70 generates a glitch generation condition based on the logical relationship of the input / output signals of the logical model information 12 of each cell.
  • the glitch generation condition is a transition pattern of the cell input signal when a glitch occurs in the cell output.
  • the power consumption calculation device 70 receives the cell logical model information 12 as an input, generates a glitch generation condition 16, and outputs the generated glitch generation condition 16.
  • the glitch generation condition 16 may be generated in advance before calculating the power consumption. Details of the glitch generation condition generation step 15 will be described later.
  • the transition information conversion step 17 has a transition pattern extraction step 60 for extracting that the generated glitch occurrence condition 16 exists in the transition information 14 of the input signal to the cells constituting the integrated circuit. Furthermore, the transition information conversion step 17 has a glitch insertion step 61 for generating a glitch in the output signal of the cell corresponding to the detected transition information 14. In this embodiment, the glitch refers to a step signal whose logical value changes every half cycle. In the transition information conversion step 17, the power consumption calculation device 70 outputs the transition information 18 in which a glitch is inserted into the cell output.
  • the power consumption calculation device 70 performs circuit analysis at the transistor level using a circuit analysis simulation technique such as SPICE (Simulation Program with Integrated Circuit Emphasis).
  • SPICE Simulation Program with Integrated Circuit Emphasis
  • the power consumption calculation device 70 processes the net list information 19 in the cell as an input.
  • the power consumption calculation device 70 outputs cell power information 21 when the cell operates.
  • the power consumption calculation device 70 converts the wiring conditions such as the length and width of the wiring connecting the cells into an equivalent circuit. In the integrated circuit arrangement and wiring step 22, the power consumption calculation device 70 replaces the wiring between the cells with the capacitance value based on the wiring condition of the wiring connecting the cells. In the integrated circuit arrangement and wiring step 22, the power consumption calculation device 70 outputs the wiring information replaced with the capacitance value as the inter-cell wiring information 23.
  • the power consumption calculation device 70 calculates the power consumption of the integrated circuit. In the power consumption calculation step 24, the power consumption calculation device 70 calculates the power consumption of the integrated circuit from the transition information 18, the individual cell power information 21, and the inter-cell wiring information 23 after the occurrence of glitches is reflected.
  • the power consumption calculation device 70 generates a glitch occurrence condition from the cell logic model, and reflects the occurrence of the glitch in the transition information, so that the occurrence of the glitch is considered. Power consumption can be calculated efficiently.
  • FIG. 2 is a block diagram of a power consumption calculation device 70 for calculating the power consumption of the integrated circuit.
  • the power consumption calculation device 70 includes a memory 50, a CPU (Central Processing Unit) 51, an input / output interface 52, a display 53, a keyboard 54, and a storage unit 55.
  • the storage unit 55 is, for example, an HDD (Hard Disk Drive) 55.
  • the CPU 51 is a control unit that executes processing necessary for calculating power consumption of the integrated circuit.
  • the memory 50 stores a program executed by the CPU 51 or stores an integrated circuit power consumption calculation result calculated by the CPU 51.
  • the display 53 displays an input screen for parameters necessary for calculating the integrated circuit power consumption, an integrated circuit power consumption calculation result, and the like on the screen.
  • the keyboard 54 inputs parameters necessary for calculating the integrated circuit power consumption.
  • the storage unit 55 includes a logic analysis step 13, a glitch generation condition generation step 15, a cell power calculation step 20, a transition information conversion step 17, an integrated circuit placement and routing step 22, for calculating the power consumption of the integrated circuit according to this embodiment.
  • a program for causing the CPU 51 to execute the power consumption calculation step 24 is stored.
  • the storage unit 55 also includes integrated circuit netlist information 10, input pattern information 11, cell logical model information 12, cell netlist information 19, transition information 14, transition information 18, glitches, which are input / output data of each program.
  • the generation condition 16, cell power information 21, and inter-cell wiring information 23 are stored.
  • Integrated circuit netlist information 10, input pattern information 11, cell logic model information 12, cell netlist information 19, transition information 14, transition information 18, glitch occurrence condition 16, cell power information 21, inter-cell wiring information 23 May be a file in which each piece of information is described.
  • a logic analysis step 13, a glitch generation condition generation step 15, a cell power calculation step 20, a transition information conversion step 17, an integrated circuit placement and routing step 22, and a power consumption calculation step that realizes the calculation of the integrated circuit power consumption according to this embodiment. 24 can be executed by a computer as a program or stored in a computer-readable storage medium.
  • the computer-readable recording medium include a magnetic recording device, an optical disk, and a semiconductor memory.
  • a portable storage medium such as a DVD or CD-ROM in which the program is recorded is used. It is also possible to store the program in a storage device of a server computer and transfer the program from the server computer to another computer via a network.
  • the input / output interface 52 controls data transmission / reception between the CPU 51 and the display 53, the keyboard 54, and the storage unit 55.
  • the display 53 receives the calculation result of the integrated circuit power consumption calculated by the CPU 51 via the input / output interface 52 and displays it on the screen.
  • the keyboard 54 transmits the calculation conditions necessary for calculating the integrated circuit power consumption input by the user to the CPU 51 via the input / output interface 52.
  • the memory 50 receives and stores the program used for calculating the integrated circuit power consumption stored in the storage unit 55 via the input / output interface 52.
  • the CPU 51 reads a program stored in the memory 50 and executes a process for calculating the power consumption of the integrated circuit.
  • the memory 50 stores the calculation result of the power consumption of the integrated circuit calculated by the CPU 51.
  • the memory 50 outputs the stored calculation result of the power consumption of the integrated circuit to the storage unit 55 via the input / output interface 52.
  • the integrated circuit power consumption calculation according to the present embodiment can be executed using the power consumption calculation device 70.
  • FIG. 3 is a circuit diagram of a circuit for which power consumption is calculated and an operation waveform diagram thereof.
  • FIG. 3A is an example of a circuit diagram for calculating power consumption.
  • B is the event-driven analysis result.
  • C is the analysis result on a cycle basis.
  • the integrated circuit 1 in FIG. 3A has latch cells 2 and 3, NOT (negative logic) cells (inverter cells) 4 and 5, and a NAND cell N1.
  • the latch cells 2 and 3 hold and output the signal input at the timing of the clock signal CLK.
  • An input terminal A1 of the NAND (Negative AND) cell N1 receives the signal output from the latch cell 2 and propagated through the wiring L1.
  • An input terminal A2 of the NAND cell N1 is output from the latch cell 3, and receives a signal propagated through the wiring L2 via the NOT cells 4 and 5.
  • the NAND cell N1 outputs an output signal from the terminal X according to the logic of the input signal received at the input terminals A1 and A2.
  • the output signal of the NAND cell N1 propagates through the wiring L3.
  • FIG. 3B is an analysis result waveform when the integrated circuit 1 of FIG. 3A is analyzed in an event driven manner.
  • CLK represents the waveform of the CLK signal input to the latch cells 2 and 3.
  • A1 represents a waveform input to the input terminal A1 of the NAND circuit N1.
  • A2 represents a waveform input to the input terminal A2 of the NAND circuit N1.
  • X represents a waveform output from the output terminal X of the NAND circuit N1.
  • 3C is an analysis result waveform when the integrated circuit 1 of FIG. 3A is analyzed on a cycle basis.
  • CLK represents the waveform of the CLK signal input to the latch cells 2 and 3.
  • A1 represents a waveform input to the input terminal A1 of the NAND circuit N1.
  • A2 represents a waveform input to the input terminal A2 of the NAND circuit N1.
  • X represents a waveform output from the output terminal X of the NAND circuit N1.
  • the glitch of the waveform 6 generated in the waveform X in B of FIG. 3 does not occur as in the waveform 7 in C of FIG.
  • the reason that the glitch does not occur is that the influence of the delay caused by the NOT circuits 4 and 5 is not taken into consideration when analyzing on a cycle basis.
  • the relationship between the circuit diagram of FIG. 3A and the power consumption calculation processing flow of FIG. 1 is as follows.
  • the cell logic model information 12 defines a logic model of each of the latch cells 2 and 3, NOT cells 4 and 5, and NAND cell N 1.
  • the netlist information 19 inside the cell defines a detailed model at the transistor level of the latch cells 2, 3, NOT cells 4, 5, and NAND cell N1.
  • the input pattern information 11 defines the pattern of the clock CLK input to the latch cells 2 and 3.
  • the integrated circuit netlist information 10 defines the connection relationship between the latch cells 2, 3, NOT cells 4, 5, and NAND cell N1.
  • the inter-cell wiring information 23 defines the capacitance value of the inter-cell wiring calculated from the wiring conditions of the wirings L1, L2, and L3.
  • FIG. 4 is a processing flowchart of the glitch occurrence condition generation step 15 for generating the glitch occurrence condition 16 from the cell logical model information 12.
  • the CPU 51 refers to and reads out the cell logic model described in the integrated circuit netlist information 10 among the cell logic model information 12. That is, the CPU 51 selects a cell for which a glitch occurrence condition is to be determined (S1). In the glitch generation condition generation step 15, the CPU 51 determines whether or not the read cell is a sequential circuit such as a latch cell. If the read cell is a sequential circuit (S2, YES), the transition timing of the output signal is synchronized with the clock signal, so that no glitch occurs. Therefore, the CPU 51 performs a read process for the next cell (S11). On the other hand, when the read cell is not a sequential circuit (S2, NO), in the glitch generation condition generation step 15, the CPU 51 selects two input signals from among a plurality of input signals input to the read cell (S3).
  • S3 a sequential circuit
  • the glitch occurrence condition is generated for the cells registered in the netlist.
  • the glitch occurrence condition is determined for the cells registered in the logical model information 12 regardless of the netlist. May be generated before analysis.
  • the CPU 51 fixes the logical values of other input signals that are not selected among the plurality of input signals of the cell (S4).
  • the logic value to be fixed is a value that does not hinder signal output according to the logic values of the two selected input signals.
  • the CPU 51 transits simultaneously the logic values of the two selected signals (S5), and checks the logic value of the output signal from the cell. That is, the CPU 51 extracts cases where the logical value of the output signal does not change even if the logical value of the input signal changes simultaneously.
  • the logical value of the output signal changes S6, YES
  • the logic value of the output signal does not change (S6, NO)
  • the CPU 51 fixes the logic of one of the selected input signals and sets the logic of the other input signal. A transition is made (S7).
  • the CPU 51 determines the input condition of the input signal of the cell at that time as the glitch generation condition 16 (S9). On the other hand, if there is no change in the logical value of the cell output, the CPU 51 determines that no glitch is generated, and executes the processes after step S3 with other combinations of input signals (S10).
  • the CPU 51 When all possible combinations of two input signals among a plurality of inputs of the cell are checked (S10, YES), the CPU 51 performs a read process of other cells in the glitch generation condition generation step 15 (S11). When the combinations that all the input signals can take have not been checked yet (S10, NO), the CPU 51 selects other combinations of the input signals of the cell (S3), and similarly performs the generation processing of the glitch occurrence condition.
  • the CPU 51 ends the glitch occurrence condition generation process. If all the cells referred to in the integrated circuit netlist information 10 have not been read (S11, NO), the CPU 51 reads other cells (S1) and continues the glitch occurrence condition generation process.
  • the CPU 51 can generate a glitch generation condition from the logical model information 12 of the cell referenced in the integrated circuit netlist information 10.
  • FIG. 5 is a definition diagram of the glitch generation condition 16 of the NAND cell generated in the glitch generation condition generation step 15.
  • a row 30 indicates a target cell type. In the example of FIG. 5, this glitch occurrence condition 16 indicates that it relates to a NAND cell.
  • Rows 31 and 32 respectively show transitions of logic values of two input signals of the cell when a glitch occurs in the cell output.
  • a row 31 indicates that a glitch occurs when the logical value of the input A1 transitions from ‘0’ to ‘1’ and the logical value of the input A2 transitions from ‘1’ to ‘0’.
  • the row 32 represents that a glitch occurs when the logical value of the input A1 changes from “1” to “0” and the logical value of the input A2 changes from “0” to “1”.
  • UP represents that the logical value transitions from ‘0’ to ‘1’
  • DN represents that the logical value transitions from ‘1’ to ‘0’.
  • FIG. 6 is a flowchart of a process for converting the transition information 14 into the transition information 18 with the glitch inserted.
  • the glitch insertion process is executed by the transition information conversion step 17.
  • the state transition information of each cell signal terminal from the logic simulation and the glitch occurrence condition for each cell from the generation of the glitch occurrence condition are input, and the location that matches the glitch occurrence condition in the state transition information is determined. It is found and is performed by pattern conversion processing of the state transition information at that location.
  • the CPU 51 refers to the transition information 14 and selects a part of the transition pattern from the input signals to one cell (S14).
  • the CPU 51 reads the transition pattern of two cycles before and after the input / output signal terminal of one cell from the signal terminal transition information file.
  • the terminal information, terminal cell instance name, and cell type information are also included in the transition information.
  • the CPU 51 transitions, for the selected transition pattern, the part where the logic transitions from “0” to “1” to “UP”, and the logic transitions from “1” to “0”. Convert the part to 'DN'.
  • the CPU 51 reads the glitch occurrence condition 16 generated in the glitch occurrence condition generation step 15 (S15).
  • the CPU 51 searches for the corresponding glitch occurrence condition file from the cell type of the selected cell.
  • the CPU 51 searches whether the cell corresponding to the selected transition pattern is described in the glitch occurrence condition 16 (S16). When the cell corresponding to the selected transition pattern is not described in the glitch occurrence condition 16 (S16, NO), the CPU 51 proceeds to another transition pattern search process in the transition information conversion step 17 (S19). When the selected cell is described in the glitch occurrence condition 16 (S16, YES), the transition information conversion step 17 searches whether the same transition pattern as the transition pattern of the selected cell is described in the glitch occurrence condition 16 ( S17).
  • the CPU 51 proceeds to another transition pattern search process in the transition information 14 in the transition information conversion step 17 (S19). ).
  • the CPU 51 causes the output signal corresponding to the selected transition pattern to generate a glitch.
  • the logic value of the output pattern in the transition information 14 is inverted (S18). The CPU 51 outputs signal terminal transition information obtained by inverting the output pattern to a file.
  • the CPU 51 ends the reference of the glitch occurrence condition 16 in the transition information conversion step 17.
  • the transition information correction process is executed for the remaining transition patterns.
  • the CPU 51 ends the transition information correction process. The CPU 51 performs this process for all transition patterns.
  • the CPU 51 compares the transition pattern of the cell described in the transition information 14 and the input signal of the cell with the pattern of the same cell described in the glitch occurrence condition 16.
  • This method detects the glitch generation condition without considering the timing of the input signal. Therefore, there is a possibility that a glitch that does not occur originally may be generated, but the LSI consumption at the time of design may be evaluated.
  • pessimistic power estimation with power calculation the upper limit of power consumption in actual operation can be determined at the time of design.
  • FIG. 7 is a transition pattern diagram before and after the transition information conversion process.
  • FIG. 7A shows a description example of the transition information 14 before the transition information is converted by executing the transition information conversion step 17.
  • FIG. 7B is a description example of the transition information 18 after the transition information is converted by the transition information conversion step 17.
  • the transition pattern 33 is a part of the transition pattern of the NAND cell N1.
  • CLK is a transition pattern of the clock signal CLK in the integrated circuit 1.
  • A1 is a transition pattern of the input signal A1 in the NAND cell N1.
  • A2 is a transition pattern of the input signal A2 in the NAND cell N1.
  • X is a transition pattern of the output signal X in the NAND cell N1.
  • the transition pattern 33 is a part of the transition pattern selected by the CPU 51 in the transition information conversion step 17.
  • the transition pattern 33 is a transition pattern for one cycle of the clock signal CLK. N1.
  • A1 transitions from '0' to '1', and N1. Since A2 transitions from '1' to '0', the transition pattern 33 can be expressed as 'A1 UP, A2 DN'.
  • the CPU 51 retrieves the glitch occurrence condition 16 from the cell type of the selected cell. Referring to the glitch occurrence condition 16 in FIG. 5, the same pattern as the transition pattern 33 selected in the row 31 in the NAND cell is described. Therefore, the transition information conversion step 17 can determine that the transition pattern 33 is a pattern in which a glitch occurs.
  • the CPU 51 inverts the output signal at the timing at which the transition pattern of the input signal satisfying the glitch generation condition is confirmed, thereby inserting the glitch into the output signal of the NAND cell.
  • the CPU 51 outputs the output signals N1.
  • the logical value of the X transition pattern 34 is rewritten from “1” to “0”.
  • the CPU 51 outputs the output signals N1.
  • a glitch pattern whose logical value changes from “1” to “0” and returns to “1” is inserted.
  • the CPU 51 compares the transition pattern of the cell described in the transition information 14 and the input signal of the cell with the pattern of the same cell described in the glitch occurrence condition 16.
  • a transition pattern in which a glitch occurs can be specified, and the occurrence of the glitch can be reflected in the specified transition information.
  • the power consumption calculation processing of the integrated circuit after inserting the glitch pattern will be described below.
  • the CPU 51 obtains the power consumption of the signal state in consideration of the corresponding glitch from the cell power, based on the transition information after conversion processing for glitch correspondence. Further, the CPU 51 obtains the capacity of the inter-cell wiring from the inter-cell wiring information obtained from the result of the LSI placement wiring. This process is performed for all the cells, and the power consumption obtained individually is totaled to obtain the LSI power consumption in the first operation cycle. By repeating this operation for all the operation cycles obtained by the LSI logic simulation, the CPU 51 can obtain the LSI power consumption in all the operation cycles in consideration of the glitch.
  • FIG. 8 is a definition diagram of the cell power information 21.
  • a row 35 indicates a cell type for power calculation, and represents that the definition of the cell power information 21 relates to a NAND cell.
  • the row 36 represents that the power consumption is defined when the output signal X of the NAND cell transitions from “0” to “1”. This is because the power consumption of the cell may differ between UP and DN.
  • a row 37 represents a capacitance value of a load capacitance due to wiring or the like. In the example of FIG. 8, a total of four load capacities are shown.
  • a row 38 represents power consumption corresponding to each load capacity value defined in the row 37. If the output load of the cell is considered as a wiring, the wiring condition can be equivalently converted into a capacitance value.
  • the power consumption of the cell varies depending on the size of the load capacity value. Generally, the power consumption of the cell increases as the load capacity value increases. In the rows 37 and 38, the power consumption is 0.5 ⁇ W when the load capacitance value is 0 F, the power consumption is 0.6 ⁇ W when the load capacitance value is 0.1 fF, and the load capacitance value is 1 fF. The power consumption is 0.7 ⁇ W, and the power consumption is 0.8 ⁇ W when the load capacitance value is 10 fF.
  • the CPU 51 can perform power calculation in consideration of an increase in power consumption in the integrated circuit due to the occurrence of the glitch. .
  • FIG. 9 is a definition diagram of the inter-cell wiring information 23.
  • the inter-cell wiring information 23 defines a capacitance value when each wiring connecting cells is equivalently converted into a capacitance.
  • a row 40 represents that the capacitance value of the wiring L1 is 2 fF.
  • a row 41 indicates that the capacitance value of the wiring L2 is 1 fF.
  • Row 42 represents that the capacitance value of the wiring L3 is 1 fF.
  • the CPU 51 refers to the transition information 18, the cell power information 21, and the inter-cell wiring information 23 to calculate the power consumption in the integrated circuit on a cycle basis.
  • the CPU 51 determines that the output signal N1. Read X transition pattern. N1. Which are output signals of the NAND cell N1. Since the wiring L3 is connected to X as shown in FIG. 2, the load capacitance value of the NAND cell N1 is 1 fF from the inter-cell wiring information 23.
  • the CPU 51 can determine the power consumption of the NAND cell N1 when the load capacity value is 1 fF by referring to the cell power information 21. Therefore, by inserting a glitch pattern as in the transition information 18, the CPU 51 can calculate the power consumption of the integrated circuit in consideration of the occurrence of the glitch.
  • FIG. 10 is a flowchart of processing for converting the transition information 18 after glitch insertion. Since the glitch is inserted into the output transition pattern in the transition information 18, the logic of the cell input signal and the output signal may contradict the contents defined in the cell logic model information 12. This is because, in the cycle-based power analysis, input delay is not taken into account, so that a glitch is inserted into the output despite the simultaneous transition of the input signal, and the input logic and the output logic contradict each other. If the input / output logic of the cell is inconsistent, an error may occur in the integrated circuit power consumption calculation process, and the calculation process may stop.
  • the CPU 51 selects a transition pattern in one cell from the transition information 18 (S20), and searches for a glitch pattern whose logical value changes in a half cycle of the clock signal CLK (S21). Since the glitch pattern changes at the same cycle as the clock signal CLK, the CPU 51 can specify the generation timing of the glitch pattern by examining the transition pattern.
  • the CPU 51 checks whether the logic of the cell output signal and the cell input signal match the cell logic model information 12 at the specified glitch pattern generation timing. (S22). The CPU 51 determines the logical value of the input signal of the cell at the occurrence timing of the glitch pattern and the logical value of the output signal expected from the logical model information 12 of the cell, and compares the determined logical value with the logical value of the glitch pattern.
  • the CPU 51 proceeds to check for transition patterns of other cells (S24).
  • the CPU 51 changes the transition pattern of the transition information 18 to the logical model information 12 of the cell.
  • the transition pattern of the input signal of the cell is corrected so as to be matched (S23).
  • the CPU 51 executes a transition information correction process for the cells that are not referred to.
  • the CPU 51 ends the transition information correction process.
  • transition information correction process By executing the transition information correction process on the transition information 18 as described above, it is possible to avoid the occurrence of an error due to a mismatch in the input / output logic of the cell.
  • FIG. 11 is a transition pattern diagram before and after the transition information conversion process.
  • FIG. 11A is a transition pattern diagram of the transition information 14 before the transition information conversion process.
  • FIG. 11B is a transition pattern diagram of the transition information 18 after the glitch is inserted by the transition information conversion process.
  • FIG. 11C is a transition pattern diagram of the transition information 18 after correcting the transition pattern of the input signal of the cell so that the input / output logic of the cell after glitch insertion matches the logical model information 12 of the cell.
  • the CPU 51 changes the logical value of the transition pattern 34 in B of FIG. Rewrite from 0 to '0'.
  • the NAND output logic value is ‘1’.
  • the output logical value is' when the input of the NAND cell is logical value '1' and logical value '0' as shown in transition pattern 45. 0 'and inconsistency occurs in input / output logic.
  • transition information conversion step 17 when the CPU 51 finds such an input / output logic mismatch at the glitch pattern insertion timing, it inverts one logic of the input transition pattern 45 as shown in FIG. The transition information 18 is corrected so as to match.
  • FIG. 12 is an example of a circuit diagram for calculating power consumption.
  • the integrated circuit 1a in FIG. 12 is obtained by connecting the input terminal A1 of the NAND cell N2 as a receiving circuit to the output of the NAND cell N1 with respect to the integrated circuit 1 in FIG.
  • the other input terminal A2 of the NAND cell N2 is connected to the wiring L4.
  • the output of the NAND cell N2 is connected to the wiring L5.
  • the power consumption calculation method considering the propagation to the subsequent cell of the glitch will be described by taking as an example the case where the glitch pattern inserted into the output signal of the NAND cell N1 propagates to the output of the NAND cell N2 which is a receiving circuit.
  • FIG. 13 is a flowchart of processing for generating a glitch propagation condition.
  • the CPU 51 When a glitch comes to the cell type input signal, the CPU 51 outputs the condition that the glitch propagates to the output signal to the file as the glitch propagation condition.
  • the glitch propagation condition generation flow will be described with reference to FIG.
  • the glitch propagation condition is generated by the CPU 51 executing the glitch generation condition generation step 15.
  • the generated glitch propagation condition is added to the glitch generation condition 16.
  • the glitch propagation condition may be a separate file from the glitch generation condition 16.
  • the CPU 51 reads one of the cells described in the integrated circuit netlist information 10 from the cell logical model information 12 (S30).
  • the CPU 51 determines whether or not the read cell is a sequential circuit such as a latch circuit (S31). If the read cell is a sequential circuit (S31, YES), the CPU 51 proceeds to read processing of another cell on the assumption that glitch propagation does not occur. (S38). When the read cell is not a sequential circuit but a combinational circuit (S31, NO), the CPU 51 selects one input signal among the input signals input to the cell (S32).
  • the CPU 51 fixes the logic of the input signal of the cell that has not been selected (S33), and transitions the logic of one selected input signal (S34). If the logic of the output signal of the cell changes as a result of the transition of the logic of one selected input signal (S35, YES), the CPU 51 generates a glitch using the logic values of the other input signals not selected as a glitch propagation condition Output to condition 16 (S36). If the logic of the output signal of the cell does not change as a result of the transition of the logic of the selected one input signal (S35, NO), the CPU 51 determines that the glitch does not propagate under the condition of the input signal, The process proceeds to input signal check (S37).
  • the CPU 51 proceeds to check of input signals that are not checked.
  • the CPU 51 proceeds to a read process for another cell (S38).
  • the glitch generation condition generation step 15 when the CPU 51 has not read all the cells registered in the logical model information 12 (S38, NO), the cell that has not been read is read (S30), and the glitch propagation is transmitted to the read cell. Executes condition generation processing. When the CPU 51 has read all the cells (S38, YES), the glitch propagation condition generation process ends.
  • the CPU 51 can generate a glitch propagation condition from the cell logical model information 12.
  • FIG. 14 is a definition diagram of the glitch occurrence condition 16 in which the glitch propagation condition is added.
  • row 46 indicates that the input terminal to which the pattern for generating the glitch is input is the terminal A1 of the NAND cell N1.
  • Row 47 represents that when the logical value of the signal input to the terminal A2 is “1”, the pattern for generating the glitch input to the terminal A1 propagates to the NAND cell N2. Since the lines 30, 31, and 32 are the same as the lines 30, 31, and 32 in FIG. The glitch propagation condition is similarly defined for the other input terminal A2.
  • FIG. 15 is a flowchart of processing for converting transition information.
  • the CPU 51 executes the process of FIG.
  • the CPU 51 refers to and processes the glitch generation condition 16 to which the glitch propagation condition has been added, so that the glitch pattern inserted in the transition information is propagated to the output of the subsequent cell, and the glitch is added to the transition information in the output of the subsequent cell. It can be reflected.
  • the CPU 51 searches for an output pattern of a cell that transitions in the same cycle as the clock signal CLK as described above, and selects it as a glitch occurrence location (S40).
  • the CPU 51 selects a glitch reception cell which is a reception circuit that receives the selected output pattern (S41).
  • the CPU 51 proceeds to a process for selecting another glitch receiving cell on the assumption that the glitch does not propagate to the glitch receiving cell (S45).
  • the selected glitch reception cell is not a sequential circuit such as a latch circuit but a combinational circuit (S42, NO)
  • the CPU 51 glitches the cell defined in the transition information 14 of the input signal of the selected glitch reception cell and the glitch generation condition 16. The propagation condition is compared (S43).
  • the CPU 51 determines whether or not all cells have been referred to (S45). If the reference of all cells has not been completed (S45, NO), the glitch propagation processing of other glitch reception cells is performed. continue. When the reference of all the glitch reception cells is completed (S45, YES), the transition information conversion step 17 ends the glitch propagation process. The process so far is performed for all transition patterns. There is a possibility that glitch propagation is performed in multiple stages, and when multistage propagation is considered, it is performed by repeating the glitch propagation process using the signal terminal transition information output by adding the glitch propagation as a new input. I can do it.
  • FIG. 16 is a transition pattern diagram before and after the transition information conversion process.
  • FIG. 16A is a transition pattern diagram of the transition information 14 before glitch insertion.
  • FIG. 16B is a transition pattern diagram of transition information 18 after glitch insertion.
  • FIG. 16C is a transition pattern diagram of the transition information 18 after glitch propagation.
  • N2 represents the transition pattern of the input signal at the input terminal A2 of the NAND cell N2.
  • N2. X represents the transition pattern of the output signal at the output terminal X of the NAND cell N2.
  • the integrated circuit 1a of FIG. 12 since the output terminal X of the NAND cell N1 and the input terminal A1 of the NAND cell N2 are connected by the wiring L3, their transition patterns are the same.
  • the CPU 51 executing the transition information conversion step 17 determines whether the signal N1.
  • the logic of the X transition pattern 34 is rewritten from “1” to “0” to insert a glitch.
  • the CPU 51 detects that the logic of the inserted rewritten transition pattern 34 and the input transition pattern 45 does not match, the input N1.
  • the logic of the transition pattern of A2 is rewritten from “0” to “1” to match the input / output logic of the NAND cell N1.
  • the CPU 51 that executes the transition information conversion step 17 compares the transition pattern 49 of the NAND cell N2 that is the glitch reception cell with the glitch propagation condition of the glitch occurrence condition 16. Referring to the lines 46 and 47 for the glitch occurrence condition 16 in FIG. 14, it is described that the glitch is propagated when the glitch is input to the input terminal A1 and the logic of the input terminal A2 is ‘1’. Therefore, the CPU 51 can determine that the transition pattern 49 satisfies the glitch propagation condition.
  • the CPU 51 outputs NAND2 N2... N2. Invert the logic of X from '0' to '1'.
  • the CPU 51 can calculate the power consumption of the integrated circuit in consideration of glitch propagation by inserting the glitch pattern into the transition information 14 with reference to the glitch occurrence condition 16 in which the glitch propagation condition is added.

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

本発明の一実施例では、サイクルベースでの解析においてグリッチの発生を考慮した集積回路の消費電力算出方法を提供することを目的とする。 集積回路に含まれる回路の内部構成を表す回路情報と該回路間の接続を表す回路間接続情報に基づいて消費電力を算出する方法は、該回路間の伝播遅延をゼロとして論理解析し、該回路の入力信号および出力信号の遷移情報を求めるステップと、該回路の論理モデル情報に基づき、該回路への入力信号の遷移パターンの中から、該回路の出力信号にグリッチが発生する遷移パターンを抽出するステップと、該求めた遷移情報のうち、該抽出した遷移パターンを入力とする該回路の出力の遷移情報にグリッチの発生を反映するステップと、グリッチの発生が反映された信号の遷移情報から該集積回路の消費電力を求めるステップとをコンピュータに実行させる。

Description

集積回路の消費電力算出方法、消費電力算出プログラム及び消費電力算出装置
 本発明は、集積回路の消費電力算出方法、消費電力算出プログラム及び消費電力算出装置に関する。
 LSI(Large Scale Integrated circuit)などの集積回路の大規模化に伴い、集積回路の消費電力が大きくなっている。集積回路の消費電力が大きくなるほど、集積回路内部の各回路に供給される電圧レベルが不安定になる。集積回路内部での電圧レベルの不安定な状態は、集積回路の誤動作の原因となる。このため、集積回路の消費電力を回路データ及び設計条件から算出し、算出した消費電力に応じて内部回路へ安定した電源が供給できるように集積回路を設計することが不可欠となっている。
 設計時に集積回路の消費電力を解析する手法としてイベントドリブンによる解析手法がある。イベントドリブンによる解析手法は、集積回路を構成する複数のセルをそれぞれトランジスタレベルでモデル化して消費電力を解析するものである。セルは集積回路を構成する回路ブロックとしての回路マクロである。セルをスイッチング動作の最小単位の素子であるトランジスタレベルでモデル化することにより、各セルにおける入出力信号のタイミングの遅延および消費電力の時間的変化をより正確に計算することが出来る。さらに集積回路への入力信号の条件を、実際の回路動作時の入力信号に近い条件とすることにより、より実動作に近い状態で集積回路の消費電力を解析することが出来る。
 集積回路の消費電力は常に一定ではなく、集積回路を構成する各セルの動作条件や各トランジスタの動作率により変動する。このため、集積回路の最大消費電力をより正確に解析するには、様々な動作パターンが出現するまでの間、集積回路を解析し続ける必要がある。さらに、各セルをトランジスタレベルで解析しようとすると、集積回路全体のモデル規模は非常に大きくなり、その計算時間は非常に長くなる。
 上記のイベントドリブンでの手法に対し、サイクルベースでの解析手法がある。サイクルベースでの解析手法は、セルにおける入出力信号のタイミングの遅延をゼロと仮定して解析するものである。セルにおける遅延時間をゼロと仮定することにより信号状態の変化タイミングがクロックサイクルで1回のみとなる。このため、1回のクロックサイクルで集積回路の最大消費電力を解析することが可能になる。
 一方、セルでのタイミングの遅延をゼロと仮定することにより、グリッチの発生による消費電力の増加を考慮できなくなる。グリッチは1つのセルに対する複数の入力信号の到着タイミングのずれ(スキュー)により発生する。サイクルベースでの解析ではセルでの遅延時間をゼロとするため、現実には発生するはずのグリッチが考慮されない。
 以下の特許文献にはグリッチの発生を考慮した集積回路の消費電力算出に関する技術が開示されている。
特開2001-4675号公報 特開2001-265847号公報
 本発明の一実施例では、サイクルベースでの解析においてグリッチの発生を考慮した集積回路の消費電力算出方法を提供することを目的とする。
 上記課題を解決するため、集積回路に含まれる回路の内部構成を表す回路情報と該回路間の接続を表す回路間接続情報に基づいて該集積回路の消費電力を算出する集積回路の消費電力算出方法は、該集積回路への入力信号パターンを含む入力パターン情報と、該回路間接続情報と、該回路の論理モデル情報から、該回路間の伝播遅延をゼロとして論理解析し、該回路の入力信号および出力信号の遷移情報を求めるステップと、該回路の論理モデル情報に基づき、該回路への入力信号の遷移パターンの中から、該回路の出力信号にグリッチが発生する遷移パターンを抽出するステップと、該求めた遷移情報のうち、該抽出した遷移パターンを入力とする該回路の出力の遷移情報にグリッチの発生を反映するステップと、グリッチの発生が反映された信号の遷移情報から該集積回路の消費電力を求めるステップとをコンピュータに実行させることを特徴とする。
 本発明によれば、サイクルベースでの解析においてグリッチの発生を考慮した集積回路の消費電力算出方法を提供することが出来る。
消費電力算出フローの全体図である。 消費電力算出を実行する消費電力算出装置のブロック図である。 Aは消費電力算出対象の回路図である。Bはイベントドリブンでの解析結果である。Cはサイクルベースでの解析結果である。 グリッチ発生条件を生成する処理のフローチャート図である。 グリッチ発生条件の定義図である。 遷移情報を変換する処理のフローチャート図である。 遷移情報変換処理前後の遷移パターン図である。 セル電力情報の定義図である。 セル間配線情報の定義図である。 遷移情報を変換する処理のフローチャート図である。 遷移情報変換処理前後の遷移パターン図である。 消費電力算出対象の回路図である。 グリッチ伝播条件を生成する処理のフローチャート図である。 グリッチ発生条件の定義図である。 遷移情報を変換する処理のフローチャート図である。 遷移情報変換処理前後の遷移パターン図である。
 以下、実施形態の例について説明する。なお、各実施形態における構成の組み合わせも消費電力算出装置、消費電力算出方法および消費電力算出プログラムの実施形態に含まれる。
 図1は実施の形態に係る消費電力算出フローの全体図である。図1の消費電力算出フローは入力パターン情報11、集積回路ネットリスト情報10およびセル内部のネットリスト情報19に基づいて集積回路の消費電力を計算する処理フローを示す。消費電力算出フローは後述する消費電力算出装置70によって実行される。ネットリスト情報は内部回路間セル間などの結線情報を表す回路間接続情報である。
 集積回路ネットリスト情報10はセルの構成を表すセル情報とセル間の接続を表す接続情報を含む。セルは集積回路を構成する回路マクロとしての回路ブロックである。入力パターン情報11は集積回路への入力信号パターンを表す。セルの論理モデル情報12は集積回路ネットリスト情報10に記述されている各セルの入出力論理の接続関係を表す。セル内部のネットリスト情報19は、各セルのトランジスタレベルでのモデルを定義する。
 論理解析ステップ13において、消費電力算出装置70はサイクルベースでの集積回路の論理解析を実行する。論理解析ステップ13において消費電力算出装置70は、集積回路ネットリスト情報10、入力パターン情報11、セルの論理モデル情報12から、集積回路内のセル間の伝播遅延をゼロと仮定して論理シミュレーションを行うことにより、集積回路を構成する各セルの、入出力信号の遷移情報14を求める。遷移情報とは、回路の入力信号および出力信号の論理値がどのタイミングでどのように遷移するかを示した情報である。
 グリッチ発生条件生成ステップ15において消費電力算出装置70は、各セルの論理モデル情報12の入出力信号の論理関係に基づいてグリッチ発生条件を生成する。グリッチ発生条件は、セル出力にグリッチが発生する場合のセルの入力信号の遷移パターンである。グリッチ発生条件生成ステップ15において消費電力算出装置70は、セルの論理モデル情報12を入力としてグリッチ発生条件16を生成し、生成したグリッチ発生条件16を出力する。グリッチ発生条件16は消費電力の計算前にあらかじめ生成しておいても良い。グリッチ発生条件生成ステップ15についての詳細は後述する。
 遷移情報変換ステップ17は、生成したグリッチ発生条件16が集積回路を構成するセルへの入力信号の遷移情報14の中に存在することを抽出する遷移パターン抽出ステップ60を有する。さらに、遷移情報変換ステップ17は、検出した遷移情報14に対応するセルの出力信号にグリッチを発生させるグリッチ挿入ステップ61を有する。本実施例においてグリッチとは半周期ごとに論理値が変化するステップ信号をいう。遷移情報変換ステップ17において消費電力算出装置70は、セル出力にグリッチが挿入された遷移情報18を出力する。
セル電力計算ステップ20において消費電力算出装置70は、SPICE(Simulation Program with Integrated Circuit Emphasis)などの回路解析シミュレーション手法を用いてトランジスタレベルでの回路解析を実行する。セル電力計算ステップ20において消費電力算出装置70は、セル内部のネットリスト情報19を入力として処理する。セル電力計算ステップ20において消費電力算出装置70は、セルが動作した場合のセル電力情報21を出力する。
 集積回路配置配線ステップ22において消費電力算出装置70は、セル間を接続する配線の長さや配線幅などの配線条件を等価回路に変換する。集積回路配置配線ステップ22において消費電力算出装置70は、セル間を接続する配線の配線条件に基づいてセル間の配線を容量値に置換する。集積回路配置配線ステップ22において消費電力算出装置70は、容量値に置換した配線情報をセル間配線情報23として出力する。
 消費電力算出ステップ24において消費電力算出装置70は、集積回路の消費電力を算出する。消費電力算出ステップ24において消費電力算出装置70は、グリッチの発生反映後の遷移情報18、個々のセル電力情報21、セル間配線情報23から集積回路の消費電力を計算する。
 以上の通り消費電力算出装置70は、サイクルベースでの解析において、セルの論理モデルからグリッチ発生条件を生成し、遷移情報にグリッチの発生を反映することにより、グリッチの発生を考慮した集積回路の消費電力を効率よく計算することが出来る。
 図2は集積回路の消費電力を算出する消費電力算出装置70のブロック図である。消費電力算出装置70はメモリ50、CPU(Central Proccessing Unit)51、入出力インターフェイス52、ディスプレイ53、キーボード54、記憶部55を有する。記憶部55は例えばHDD(Hard Disk Drive)55である。
 CPU51は集積回路の消費電力算出に必要な処理を実行する制御部である。メモリ50は、CPU51で実行されるプログラムの記憶、またはCPU51で算出した集積回路消費電力算出結果の記憶などを行う。
 ディスプレイ53は集積回路消費電力算出に必要なパラメータの入力画面、集積回路消費電力算出結果などを画面に表示する。キーボード54は、集積回路消費電力算出に必要なパラメータの入力などを行う。
 記憶部55は本施例に係る集積回路の消費電力算出のための、論理解析ステップ13、グリッチ発生条件生成ステップ15、セル電力計算ステップ20、遷移情報変換ステップ17、集積回路配置配線ステップ22、消費電力算出ステップ24をCPU51に実行させるプログラムを記憶する。また記憶部55は、各プログラムの入出力データである集積回路ネットリスト情報10、入力パターン情報11、セルの論理モデル情報12、セル内部のネットリスト情報19、遷移情報14、遷移情報18、グリッチ発生条件16、セル電力情報21、セル間配線情報23を記憶する。集積回路ネットリスト情報10、入力パターン情報11、セルの論理モデル情報12、セル内部のネットリスト情報19、遷移情報14、遷移情報18、グリッチ発生条件16、セル電力情報21、セル間配線情報23はそれぞれの情報が記載されたファイルであってもよい。
 また、本実施例に係る集積回路消費電力算出を実現する論理解析ステップ13、グリッチ発生条件生成ステップ15、セル電力計算ステップ20、遷移情報変換ステップ17、集積回路配置配線ステップ22、消費電力算出ステップ24は、プログラムとしてコンピュータに実行させたり、コンピュータで読み取り可能な記憶媒体に記憶させることが出来る。コンピュータで読み取り可能な記録媒体としては、磁気記録装置、光ディスク、半導体メモリなどがある。
 プログラムを流通させる場合には、例えば、そのプログラムが記録されたDVD、CD-ROM等の可搬型記憶媒体を用いる。また、プログラムをサーバコンピュータの記憶装置に格納しておき、ネットワークを介して、サーバコンピュータから他のコンピュータにそのプログラムを転送することもできる。
 入出力インターフェイス52は、CPU51とディスプレイ53、キーボード54、および記憶部55とのデータの送受信を制御する。ディスプレイ53は、CPU51で算出した集積回路消費電力の算出結果を入出力インターフェイス52経由で受信し、画面に表示する。キーボード54は、ユーザーが入力した集積回路消費電力の算出に必要な計算条件を入出力インターフェイス52経由でCPU51に送信する。メモリ50は、記憶部55に格納された集積回路消費電力の算出に用いられるプログラムを入出力インターフェイス52経由で受信し、記憶する。CPU51は、メモリ50に記憶されたプログラムを読み出して集積回路の消費電力の算出処理を実行する。メモリ50はCPU51が算出した集積回路の消費電力の算出結果を記憶する。メモリ50は記憶した集積回路の消費電力の算出結果を入出力インターフェイス52経由で記憶部55に出力する。
 以上の通り、本実施例に係る集積回路消費電力算出は、消費電力算出装置70を用いて実行することが出来る。
 図3は消費電力算出の対象となる回路の回路図およびその動作波形図である。図3のAは消費電力算出対象の回路図の一例である。Bはイベントドリブンでの解析結果である。Cはサイクルベースでの解析結果である。
 図3のAの集積回路1は、ラッチセル2、3、NOT(否定論理)セル(インバータセル)4、5、NANDセルN1を有する。ラッチセル2、3は、クロック信号CLKのタイミングで入力された信号を保持して出力する。NAND(否定的論理積)セルN1の入力端子A1は、ラッチセル2から出力され、配線L1を伝播した信号を受信する。NANDセルN1の入力端子A2は、ラッチセル3から出力され、NOTセル4、5を経由し、配線L2を伝播した信号を受信する。NANDセルN1は、入力端子A1、A2に受信した入力信号の論理に応じて、端子Xから出力信号を出力する。NANDセルN1の出力信号は、配線L3を伝播する。
 図3のBは図3のAの集積回路1をイベントドリブンで解析した場合の解析結果波形である。図3のBにおいてCLKはラッチセル2、3に入力されるCLK信号の波形を表す。A1はNAND回路N1の入力端子A1に入力される波形を表す。A2はNAND回路N1の入力端子A2に入力される波形を表す。XはNAND回路N1の出力端子Xから出力される波形を表す。
 図3のBにおいて、波形Xには波形6の通りグリッチが発生している。これは、NOT回路4、5による遅延の影響により、CLKのタイミングでラッチセル2、3から出力された信号が入力端子A1、A2に入力されるまでの時間が異なるためである。イベントドリブンの解析では図3のBの通り素子による伝播遅延が考慮されるため、グリッチの発生を考慮した解析が可能となる。
 図3のCは図3のAの集積回路1をサイクルベースで解析した場合の解析結果波形である。図3のCにおいてCLKはラッチセル2、3に入力されるCLK信号の波形を表す。A1はNAND回路N1の入力端子A1に入力される波形を表す。A2はNAND回路N1の入力端子A2に入力される波形を表す。XはNAND回路N1の出力端子Xから出力される波形を表す。
 図3のBにおいて波形Xに発生していた波形6のグリッチは、図3のCにおいて波形7の通り生じていない。グリッチが発生しない理由は、サイクルベースで解析した場合にはNOT回路4、5による遅延の影響が考慮されないためである。
 図3のAの回路図と図1の消費電力算出処理フローとの関係は以下の通りである。セルの論理モデル情報12は、ラッチセル2、3、NOTセル4、5、NANDセルN1の各セルの論理モデルを定義する。セル内部のネットリスト情報19は、ラッチセル2、3、NOTセル4、5、NANDセルN1のトランジスタレベルでの詳細なモデルを定義する。入力パターン情報11は、ラッチセル2、3に入力されるクロックCLKのパターンを定義する。
 集積回路ネットリスト情報10は、ラッチセル2、3、NOTセル4、5、NANDセルN1の接続関係を定義する。セル間配線情報23は、配線L1、L2、L3の配線条件から算出されたセル間の配線の容量値を定義する。
 以上の情報に基づいて、図3の回路について図1に示すサイクルベースでの解析を実行することにより、グリッチの発生を考慮した集積回路の消費電力を効率よく計算することが出来る。
 図4は、セルの論理モデル情報12からグリッチ発生条件16を生成するグリッチ発生条件生成ステップ15の処理フローチャート図である。
 グリッチ発生条件生成ステップ15において、CPU51はセルの論理モデル情報12のうち、集積回路ネットリスト情報10に記述されているセルの論理モデルを参照し読み出す。つまりCPU51はグリッチ発生条件判別対象のセルを選択する(S1)。グリッチ発生条件生成ステップ15において、CPU51は読み出したセルがラッチセルなどの順序回路か否かを判定する。読み出したセルが順序回路であれば(S2、YES)、出力信号の遷移タイミングはクロック信号に同期するため、グリッチが発生することはない。よってCPU51は次のセルの読み出し処理を行う(S11)。一方、読み出したセルが順序回路でない場合(S2、NO)、グリッチ発生条件生成ステップ15においてCPU51は、読み出したセルに入力する複数の入力信号のうち、2つの入力信号を選択する(S3)。
 なお、本実施例においてはネットリストに登録されているセルを対象としてグリッチ発生条件を生成しているが、ネットリストとは無関係に、論理モデル情報12に登録されているセルについて、グリッチ発生条件を解析前に生成しても良い。
 グリッチ発生条件生成ステップ15において、CPU51はセルの複数の入力信号のうち、選択していない他の入力信号の論理値を固定する(S4)。固定する論理値は、選択した2つの入力信号の論理値に応じた信号出力を妨げない値とする。
 グリッチ発生条件生成ステップ15において、CPU51は選択した2つの信号の論理値を同時に遷移させ(S5)、セルからの出力信号の論理値をチェックする。すなわちCPU51は入力信号の論理値が同時変化しても出力信号の論理値が変化しないケースを抽出する。出力信号の論理値が変化した場合(S6、YES)、グリッチは発生しないと判定され、他の2つ入力信号の組み合わせでS3以下の処理が行われる(S10)。一方、出力信号の論理値が変化しない場合(S6、NO)、グリッチ発生条件生成ステップ15においてCPU51は、選択した入力信号のうち一方の入力信号の論理を固定し、他方の入力信号の論理を遷移させる(S7)。他方の入力信号の論理を遷移させた結果、セルの出力論理が変化した場合(S8、YES)、グリッチ発生条件生成ステップ15において、CPU51はその時のセルの入力信号の入力条件をグリッチ発生条件16として出力する(S9)。一方、セル出力の論理値に変化がなかった場合、CPU51はグリッチが発生しないと判定し、入力信号の他の組み合わせでステップS3以降の処理を実行する(S10)。
 セルの複数の入力のうち2つの入力信号の取り得る組み合わせを全てチェックした場合(S10、YES)、グリッチ発生条件生成ステップ15においてCPU51は、他のセルの読み出し処理を行う(S11)。全ての入力信号の取り得る組み合わせをまだチェックしていない場合(S10、NO)、CPU51はセルの他の入力信号の組み合わせを選択し(S3)、同様にグリッチ発生条件の生成処理を行う。
 集積回路ネットリスト情報10で参照されている全てのセルを読み出した場合(S11、YES)、CPU51はグリッチ発生条件生成処理を終了する。集積回路ネットリスト情報10で参照されている全てのセルを読み出していない場合(S11、NO)、CPU51は他のセルを読み出し(S1)、グリッチ発生条件生成処理を継続する。
 以上、上記のグリッチ発生条件生成ステップ15を実行することにより、CPU51は集積回路ネットリスト情報10で参照されているセルの論理モデル情報12からグリッチ発生条件を生成することが出来る。
 図5はグリッチ発生条件生成ステップ15において生成されたNANDセルのグリッチ発生条件16の定義図である。行30は対象となるセル種を示しており、図5の例では、このグリッチ発生条件16がNANDセルに関するものであることを表している。行31と行32はそれぞれ、セル出力にグリッチが発生する場合の、セルの2つの入力信号の論理値の遷移を示している。行31は入力A1の論理値が‘0’から‘1’に遷移し、入力A2の論理値が‘1’から‘0’に遷移した場合にグリッチが発生することを表している。行32は入力A1の論理値が‘1’から‘0’に遷移し、入力A2の論理値が‘0’から‘1’に遷移した場合にグリッチが発生することを表している。行31、32において、UPとは論理値が‘0’から‘1’に遷移することを表し、DNとは論理値が‘1’から‘0’に遷移することを表す。
 図6は遷移情報14をグリッチが挿入された遷移情報18に変換する処理のフローチャート図である。グリッチの挿入処理は遷移情報変換ステップ17により実行される。遷移情報変換処理は、論理シミュレーションからの各セル信号端子の状態遷移情報と、グリッチ発生条件生成からのセル毎のグリッチ発生条件を入力として、状態遷移情報の中でグリッチ発生条件に一致する箇所を見つけだし、その箇所の状態遷移情報のパターン変換処理により行なわれる。
 遷移情報変換ステップ17において、CPU51は遷移情報14を参照し、1つのセルへの入力信号のうちの一部の遷移パターンを選択する(S14)。CPU51は信号端子遷移情報ファイルから、1つのセルの入出力信号端子の、前後2サイクルの遷移パターンを読み出す。端子名や、端子のセルインスタンス名や、セル種別の情報も遷移情報に含まれる。遷移情報変換ステップ17においてCPU51は、選択した遷移パターンについて、論理が‘0’から‘1’に遷移している部分を‘UP’に、論理が‘1’から‘0’に遷移している部分を‘DN’に変換する。
 遷移情報変換ステップ17においてCPU51は、グリッチ発生条件生成ステップ15により生成されたグリッチ発生条件16を読み出す(S15)。CPU51は選択されたセルのセル種から、対応するグリッチ発生条件ファイルを検索する。
 遷移情報変換ステップ17においてCPU51は、選択した遷移パターンに対応するセルがグリッチ発生条件16に記述されているか検索する(S16)。選択した遷移パターンに対応するセルがグリッチ発生条件16に記述されていない場合(S16、NO)、遷移情報変換ステップ17においてCPU51は、他の遷移パターン検索処理に移行する(S19)。選択したセルがグリッチ発生条件16に記述されている場合(S16、YES)、遷移情報変換ステップ17は選択したセルの遷移パターンと同一の遷移パターンがグリッチ発生条件16に記述されているか検索する(S17)。
選択した遷移パターンと同一の遷移パターンがグリッチ発生条件16に記述されていない場合(S17、NO)、遷移情報変換ステップ17においてCPU51は、遷移情報14における他の遷移パターン検索処理に移行する(S19)。選択した遷移パターンと同一の遷移パターンがグリッチ発生条件16に記述されている場合(S17、YES)、遷移情報変換ステップ17においてCPU51は、選択した遷移パターンに対応する出力信号にグリッチが発生するよう、遷移情報14における出力パターンの論理値を反転させる(S18)。CPU51は出力パターンを反転させた信号端子遷移情報をファイルに出力する。
 遷移情報14に記述されている全ての遷移パターンについて、グリッチ発生条件16の参照が終了していない場合(S19、NO)、遷移情報変換ステップ17においてCPU51は、グリッチ発生条件16の参照が終了していない残りの遷移パターンについて遷移情報修正処理を実行する。遷移情報14に記述されている全ての遷移パターンについてグリッチ発生条件16の参照が終了している場合(S19、YES)、CPU51は遷移情報修正処理を終了する。CPU51はこの処理をすべての遷移パターンについて行なう。
 以上の通り、遷移情報変換ステップ17においてCPU51は、遷移情報14に記述されているセルおよびそのセルの入力信号の遷移パターンと、グリッチ発生条件16に記述されている同一セルのパターンとを比較することにより、グリッチが発生する遷移パターンを特定し、特定した遷移パターンを変換することでセル出力にグリッチを発生させることが出来る。この方法は、入力信号のタイミングを考慮せずにグリッチ発生条件の検出を行なっているので、本来は発生しないグリッチも発生しているように評価される可能性があるが、設計時のLSI消費電力計算で悲観的な電力見積を行なうことにより、実動作での消費電力の上限を設計時に見極めることができる。
 図7は遷移情報変換処理前後の遷移パターン図である。図7のAは遷移情報変換ステップ17の実行により遷移情報が変換される前の遷移情報14の記述例である。図7のBは遷移情報変換ステップ17により遷移情報を変換した後の遷移情報18の記述例である。
 図7のAにおいて、遷移パターン33はNANDセルN1の遷移パターンの一部である。
CLKは集積回路1におけるクロック信号CLKの遷移パターンである。N1.A1はNANDセルN1における入力信号A1の遷移パターンである。N1.A2はNANDセルN1における入力信号A2の遷移パターンである。N1.XはNANDセルN1における出力信号Xの遷移パターンである。
 遷移パターン33は遷移情報変換ステップ17においてCPU51が選択した遷移パターンの一部である。本実施例において遷移パターン33はクロック信号CLK1周期分の遷移パターンである。N1.A1が‘0’から‘1’に遷移し、N1.A2が‘1’から‘0’に遷移しているので、遷移パターン33は‘A1 UP、A2 DN’と表現することが出来る。CPU51は選択されたセルのセル種からグリッチ発生条件16を検索する。図5のグリッチ発生条件16を参照すると、NANDセルにおいて行31に選択した遷移パターン33と同一のパターンが記述されている。よって遷移情報変換ステップ17は遷移パターン33がグリッチの発生するパターンであると判定することが出来る。
 遷移情報変換ステップ17においてCPU51は、グリッチ発生条件を満たす入力信号の遷移パターンが確認できたタイミングの出力信号を反転することで、NANDセルの出力信号にグリッチを挿入する。図7Bの例においてCPU51は、出力信号N1.Xの遷移パターン34の論理値を‘1’から‘0’に書き換える。これによりCPU51は出力信号N1.Xの遷移情報に対し、論理値が‘1’から‘0’に遷移し再び‘1’に戻るグリッチパターンを挿入する。
 以上の処理により、遷移情報変換ステップ17においてCPU51は、遷移情報14に記述されているセルおよびそのセルの入力信号の遷移パターンとグリッチ発生条件16に記述されている同一セルのパターンとを比較することにより、グリッチが発生する遷移パターンを特定し、特定した遷移情報にグリッチの発生を反映させることが出来る。グリッチパターン挿入後の集積回路の消費電力算出処理について以下に説明する。
 CPU51はグリッチ対応のための変換処理後の遷移情報に基づいて、セル種ごとの消費電力をセル電力から該当するグリッチを考慮した信号状態の消費電力を求める。またCPU51は、セル間配線の容量をLSI配置配線の結果により得られるセル間配線情報から求める。この処理を全セルについて行ない、個々に求めた消費電力を合計することにより、最初の動作サイクルでの、LSI消費電力が求まる。これをLSI論理シミュレーションで得られた、全ての動作サイクル分繰り返すことにより、CPU51はグリッチを考慮した全動作サイクルでのLSI消費電力を求めることが出来る。
 図8はセル電力情報21の定義図である。行35は電力計算対象のセル種を示しており、このセル電力情報21の定義がNANDセルに関するものであることを表す。行36はNANDセルの出力信号Xが‘0’から‘1’に遷移した場合の消費電力が定義されていることを表す。セルの消費電力はUPとDNで異なる場合があるためである。行37は配線等による負荷容量の容量値を表す。図8の例では、計4つの負荷容量が示されている。行38は行37で定義された各負荷容量値に対応する消費電力を表す。セルの出力負荷を配線と考えると、配線条件は容量値に等価的に変換できる。負荷容量値の大きさによってセルの消費電力は異なり、一般に負荷容量値が大きくなるほどセルの消費電力は大きくなる。行37と行38は、負荷容量値が0Fのときに消費電力は0.5μWであり、負荷容量値が0.1fFのときに消費電力は0.6μWであり、負荷容量値が1fFのときに消費電力は0.7μWであり、負荷容量値が10fFのときに消費電力は0.8μWであることを表している。
 セル電力情報21からも分かるとおり、図8の場合には、セルでの電力消費はセルの出力信号が遷移するときに発生する。よって、図7の通り遷移情報にグリッチパターンを挿入し、出力信号の遷移回数を増やすことにより、CPU51はグリッチの発生による集積回路での消費電力量の増加を考慮した電力計算を行うことが出来る。
 図9はセル間配線情報23の定義図である。セル間配線情報23はセル間を接続するそれぞれの配線を容量に等価変換した場合の容量値を定義している。行40は配線L1の容量値が2fFであることを表している。行41は配線L2の容量値が1fFであることを表している。行42は配線L3の容量値が1fFであることを表している。
 消費電力算出ステップ24においてCPU51は、遷移情報18、セル電力情報21、セル間配線情報23を参照し、集積回路での消費電力をサイクルベースで計算する。消費電力算出ステップ24においてCPU51は、遷移情報18からNANDセルN1の出力信号であるN1.Xの遷移パターンを読み込む。NANDセルN1の出力信号であるN1.Xには図2の通り配線L3が接続されているので、セル間配線情報23よりNANDセルN1の負荷容量値は1fFとなる。CPU51はセル電力情報21を参照することにより、負荷容量値が1fFの場合のNANDセルN1の消費電力を決定することが出来る。よって遷移情報18のようにグリッチパターンを挿入することにより、CPU51はグリッチの発生を考慮した集積回路の消費電力を算出することが出来る。
 図10はグリッチ挿入後の遷移情報18を変換する処理のフローチャート図である。遷移情報18において出力遷移パターンにグリッチを挿入したことにより、セルの入力信号と出力信号との論理がセルの論理モデル情報12に定義されている内容と矛盾する場合がある。サイクルベースでの電力解析では入力遅延を考慮しないため、入力信号が同時に遷移するにも関わらずグリッチが出力に挿入され、入力論理と出力論理とが矛盾するためである。セルの入出力論理に矛盾があると、集積回路消費電力算出処理においてエラーが発生し、計算処理が止まる場合がある。
 遷移情報変換ステップ17においてCPU51は、遷移情報18から1つのセルにおける遷移パターンを選択し(S20)、その中からクロック信号CLKの半周期で論理値が変化するグリッチパターンを検索する(S21)。グリッチパターンはクロック信号CLKと同一の周期で遷移するため、遷移パターンを調べることによりCPU51はグリッチパターンの発生タイミングを特定することが出来る。
 遷移情報変換ステップ17においてCPU51は、特定したグリッチパターンの発生タイミングにおいて、セルの出力信号の論理とセルの入力信号との論理がセルの論理モデル情報12に対して整合しているか否かを確認する(S22)。CPU51はグリッチパターンの発生タイミングにおけるセルの入力信号の論理値とセルの論理モデル情報12から期待される出力信号の論理値を決定し、決定した論理値とグリッチパターンにおける論理値とを比較する。
グリッチパターンにおける出力信号の論理値がセルの論理モデル情報12に基づいて決定した論理値に整合している場合(S22、YES)、論理矛盾のエラーは発生しない。よって遷移情報変換ステップ17においてCPU51は、他のセルの遷移パターンに対するチェックに移行する(S24)。グリッチパターンにおける出力信号の論理値がセルの論理モデル情報12に基づいて決定した論理値に整合していない場合(S22、NO)、CPU51は遷移情報18の遷移パターンがセルの論理モデル情報12に整合するようにセルの入力信号の遷移パターンを修正する(S23)。
 遷移情報18に記述された全てのセルの参照が終了していない場合(S24、NO)、遷移情報変換ステップ17においてCPU51は、参照していないセルに対して遷移情報修正処理を実行する。遷移情報18に記述された全てのセルの参照が終了した場合(S24、YES)、CPU51は遷移情報修正処理を終了する。
 以上の通り遷移情報の修正処理を遷移情報18に対して実行することにより、セルの入出力論理の不整合によるエラーの発生を回避することが出来る。
 図11は遷移情報変換処理前後の遷移パターン図である。図11のAは遷移情報変換処理前の遷移情報14の遷移パターン図である。図11のBは遷移情報変換処理によりグリッチを挿入した後の遷移情報18の遷移パターン図である。図11のCはグリッチ挿入後のセルの入出力論理がセルの論理モデル情報12に整合するように、セルの入力信号の遷移パターンを修正した後の遷移情報18の遷移パターン図である。
 図11のAにおいて遷移パターン33を選択し、遷移パターン33がグリッチ発生条件16を満足すると判定すると、遷移情報変換ステップ17においてCPU51は、図11のBにおける遷移パターン34の論理値を‘1’から‘0’に書き換える。
 NANDの入出力論理において、一方の論理値が‘1’であり、他方の論理値が‘0’であると、NANDの出力論理値は‘1’になる。図11のBにおいて遷移パターン34の通りNAND出力にグリッチパターンが挿入されると、遷移パターン45の通りNANDセルの入力が論理値‘1’と論理値‘0’の場合に出力論理値が‘0’となり、入出力の論理に不整合が生じる。
 遷移情報変換ステップ17においてCPU51は、グリッチパターンの挿入タイミングにおいてこのような入出力論理の不整合を発見すると、図11のCの通り入力遷移パターン45の一方の論理を反転させ、入出力の論理が整合するように遷移情報18を修正する。
 以上の通りグリッチパターンの挿入タイミングにおいて入出力論理が整合するように入力遷移パターンを修正することにより、セルの入出力論理の不整合によるエラーの発生を回避することが出来る。
 図12は消費電力算出対象の回路図の一例である。図12の集積回路1aは図2の集積回路1に対し、NANDセルN1の出力に受信回路であるNANDセルN2の入力端子A1を接続したものである。NANDセルN2の他方の入力端子A2は配線L4に接続されている。NANDセルN2の出力は配線L5に接続されている。その他の回路について図2と同一部材には同一符号を付し、その説明を省略する。実際の現象では前段セルで発生したグリッチが後段セルを通過する場合もある。以下、グリッチの後段セルへの伝播を考慮した消費電力計算方式について、NANDセルN1の出力信号に挿入したグリッチパターンが受信回路であるNANDセルN2の出力に伝播する場合を例にして説明する。
 図13はグリッチ伝播条件を生成する処理のフローチャート図である。セル種別の入力信号にグリッチが来た場合に、CPU51は出力信号にグリッチが伝播する条件をグリッチ伝播条件としてファイルに出力する。グリッチ伝播条件生成フローについて図13に基づいて説明する。本実施例においてグリッチ伝播条件は、CPU51がグリッチ発生条件生成ステップ15を実行することにより生成する。生成されたグリッチ伝播条件はグリッチ発生条件16に追記される。グリッチ伝播条件はグリッチ発生条件16と別個のファイルとしても良い。
 グリッチ発生条件生成ステップ15においてCPU51は、集積回路ネットリスト情報10に記述されているセルの1つをセルの論理モデル情報12から読み出す(S30)。CPU51は読み出したセルがラッチ回路などの順序回路か否かを判定し(S31)、順序回路である場合は(S31、YES)、グリッチの伝播が発生しないとして他のセルの読み出し処理に移行する(S38)。読み出したセルが順序回路でなく、組み合わせ回路である場合(S31、NO)、CPU51はセルに入力する入力信号のうち1つの入力信号を選択する(S32)。
 グリッチ発生条件生成ステップ15においてCPU51は、選択しなかったセルの入力信号の論理を固定し(S33)、選択した1つの入力信号の論理を遷移させる(S34)。選択した1つの入力信号の論理を遷移させた結果、セルの出力信号の論理が変化した場合(S35、YES)、CPU51は選択しなかったその他の入力信号の論理値をグリッチ伝播条件としてグリッチ発生条件16に出力する(S36)。選択した1つの入力信号の論理を遷移させた結果、セルの出力信号の論理が変化しなかった場合(S35、NO)、CPU51はその入力信号の条件ではグリッチが伝播しないと判定し、他の入力信号のチェックに移行する(S37)。
 グリッチ発生条件生成ステップ15においてCPU51は、読み出したセルの全ての入力信号のチェックが終了していない場合(S37、NO)、チェックしていない入力信号のチェックに移行する。CPU51は読み出したセルの全ての入力信号のチェックが終了している場合(S37、YES)、他のセルの読み出し処理に移行する(S38)。
 グリッチ発生条件生成ステップ15においてCPU51は、論理モデル情報12に登録された全てのセルを読み出していない場合(S38、NO)、読み出していないセルを読み出し(S30)、読み出したセルに対してグリッチ伝播条件生成処理を実行する。CPU51は全てのセルを読み出している場合(S38、YES)、グリッチ伝播条件生成処理を終了する。
 以上の通りグリッチ発生条件生成ステップ15においてCPU51は、セルの論理モデル情報12からグリッチ伝播条件を生成することが出来る。
 図14はグリッチ伝播条件を追記したグリッチ発生条件16の定義図である。グリッチ発生条件16において、行46はグリッチを発生させるパターンが入力された入力端子がNANDセルN1の端子A1であることを表す。行47は端子A2に入力される信号の論理値が‘1’の場合に、端子A1に入力されたグリッチを発生させるパターンがNANDセルN2に伝播することを表す。行30、31、32は図5の行30、31、32と同一であるためその説明を省略する。他の入力端子A2についても同様にグリッチ伝播条件を定義する。
図15は遷移情報を変換する処理のフローチャート図である。遷移情報変換ステップ17においてCPU51は図15の処理を実行する。CPU51はグリッチ伝播条件を追記したグリッチ発生条件16を参照し処理することにより、遷移情報に挿入したグリッチパターンを後段のセルの出力に伝播したものとして、後段のセルの出力における遷移情報にグリッチを反映することが出来る。
 遷移情報変換ステップ17においてCPU51は、前述の通りクロック信号CLKと同一周期で遷移するセルの出力パターンを検索し、それをグリッチ発生箇所として選択する(S40)。CPU51は選択した出力パターンを受信する受信回路である、グリッチ受信セルを選択する(S41)。
 選択したグリッチ受信セルがラッチ回路等の順序回路である場合(S42、YES)、CPU51はグリッチがグリッチ受信セルに伝播しないものとして他のグリッチ受信セルの選択処理に移行する(S45)。選択したグリッチ受信セルがラッチ回路等の順序回路でなく組み合わせ回路の場合(S42、NO)、CPU51は選択したグリッチ受信セルの入力信号の遷移情報14とグリッチ発生条件16に定義されたセルのグリッチ伝播条件とを比較する(S43)。比較した結果、選択したグリッチ受信セルの入力信号の遷移情報14とグリッチ発生条件16に定義されたセルのグリッチ伝播条件が一致しない場合(S43、NO)、受信したグリッチは伝播しないものとして、遷移情報変換ステップ17は他のセルの選択処理に移行する(S45)。比較した結果、伝播条件が一致する場合(S43、YES)、遷移情報変換ステップ17は選択したグリッチ受信セルの出力パターンを反転させ、グリッチを反映する(S44)。
 遷移情報変換ステップ17においてCPU51は、全てのセルを参照したか判定し(S45)、全てのセルの参照が終了していない場合は(S45、NO)、他のグリッチ受信セルのグリッチ伝播処理を継続する。全てのグリッチ受信セルの参照が終了している場合(S45、YES)、遷移情報変換ステップ17はグリッチ伝播処理を終了する。ここまでの処理を全遷移パターンについて行なう。グリッチの伝播は多段に渡って行なわれる可能性があり、多段の伝播を考慮する場合は、グリッチ伝播を付加して出力した信号端子遷移情報を新たに入力として、グリッチ伝播処理を繰り返すことにより行なうことが出来る。
 以上の通りグリッチ伝播条件を反映したグリッチ発生条件16を参照して遷移情報14にグリッチパターンを挿入することにより、グリッチの伝播を考慮した集積回路の消費電力算出を行うことが出来る。また、グリッチ伝播条件としてグリッチが伝播可能なセル段数を設定することにより、グリッチをどこまで伝播させるか制限し、集積回路消費電力算出において計算した消費電力が過剰に大きくなるのを防ぐことが出来る。
 図16は遷移情報変換処理前後の遷移パターン図である。図16のAはグリッチ挿入前の遷移情報14の遷移パターン図である。図16のBはグリッチ挿入後の遷移情報18の遷移パターン図である。図16のCはグリッチ伝播後の遷移情報18の遷移パターン図である。
 図16のAにおいて、クロック信号CLK、NANDセルN1の入力N1.A1、N1.A2、NANDセルN1の出力N1.Xは図7の遷移パターン図と同一なのでその説明を省略する。N2.A2はNANDセルN2の入力端子A2の入力信号の遷移パターンを表す。N2.XはNANDセルN2の出力端子Xの出力信号の遷移パターンを表す。なお、図12の集積回路1aより、NANDセルN1の出力端子XとNANDセルN2の入力端子A1は配線L3で接続されているため、その遷移パターンは同一である。
 図16のBにおいて、遷移情報変換ステップ17を実行するCPU51は、検出された遷移パターン33に応じて信号N1.Xの遷移パターン34の論理を‘1’から‘0’に書き換えてグリッチを挿入する。またCPU51は挿入した書き換えた遷移パターン34とその入力遷移パターン45との論理が整合しないことを検出すると、図16のCの通り入力N1.A2の遷移パターンの論理を‘0’から‘1’に書き換えてNANDセルN1の入出力論理を整合させる。
 図16のCにおいてグリッチを挿入したタイミングにおいて、遷移情報変換ステップ17を実行するCPU51は、グリッチ受信セルであるNANDセルN2の遷移パターン49とグリッチ発生条件16のグリッチ伝播条件とを比較する。図14のグリッチ発生条件16について行46、47を参照すると、グリッチが入力端子A1に入力されており、入力端子A2の論理が‘1’の場合にグリッチが伝播することが記述されている。よってCPU51は遷移パターン49がグリッチ伝播条件を満たしていると判定することが出来る。CPU51はグリッチが伝播するタイミングにおいて、NANDセルN2の出力N2.Xの論理を‘0’から‘1’に反転させる。
 以上の通り、グリッチ伝播条件を追記したグリッチ発生条件16を参照して遷移情報14にグリッチパターンを挿入することにより、CPU51はグリッチの伝播を考慮した集積回路の消費電力算出を行うことが出来る。
10 集積回路ネットリスト情報
11 入力パターン情報
12 セルの論理モデル情報
13 論理解析ステップ
14、18 遷移情報
15 グリッチ発生条件生成ステップ
16 グリッチ発生条件
17 遷移情報変換ステップ
19 セル内部のネットリスト情報
20 セル電力計算ステップ
21 セル電力情報
22 集積回路配置配線ステップ
23 セル間配線情報
24 消費電力算出ステップ
51 CPU
55 記憶装置
70 消費電力算出装置
 

Claims (10)

  1.  集積回路に含まれる回路の内部構成を表す回路情報と該回路間の接続を表す回路間接続情報に基づいて該集積回路の消費電力を算出する集積回路の消費電力算出方法であって、
     該集積回路への入力信号パターンを含む入力パターン情報と、該回路間接続情報と、該回路の論理モデル情報から、該回路間の伝播遅延をゼロとして論理解析し、該回路の入力信号および出力信号の遷移情報を求めるステップと、
     該回路の論理モデル情報に基づき、該回路への入力信号の遷移パターンの中から、該回路の出力信号にグリッチが発生する遷移パターンを抽出するステップと、
     該求めた遷移情報のうち、該抽出した遷移パターンを入力とする該回路の出力の遷移情報にグリッチの発生を反映するステップと、
     グリッチの発生が反映された信号の遷移情報から該集積回路の消費電力を求めるステップと
     をコンピュータに実行させることを特徴とする集積回路の消費電力算出方法。
  2.  該集積回路の消費電力算出方法はさらに、
     グリッチを発生させた該回路の出力信号の論理値と該回路の入力信号の論理値との関係が、該回路の論理と整合しないことを抽出した場合に、該回路の出力信号を固定した状態で該回路の入力信号の論理値を該回路の論理と整合するように書き換えるステップを該コンピュータに実行させることを特徴とする、請求項1に記載の集積回路の消費電力算出方法。
  3.  該集積回路の消費電力計算方法はさらに、
     該回路から出力されたグリッチを含む出力信号を受信する受信回路が、該受信したグリッチを出力に反映させる場合の該受信回路の入力信号の論理値をグリッチ伝播条件として生成するステップと、
     生成した該グリッチ伝播条件に基づいて、グリッチが該受信回路の出力に伝播するか否かを判定するステップと、
     グリッチが該回路から該受信回路へ伝播する場合に該受信回路の出力にグリッチを反映させるステップと
     を該コンピュータに実行させることを特徴とする、請求項1に記載の集積回路の消費電力算出方法。
  4.  該集積回路の消費電力計算方法はさらに、
     該回路の入力信号のうち2つの入力信号の論理値を同時に遷移させた場合に、該回路の出力信号の論理値が変化しない入力信号を選択するステップと、
     選択した該回路の2つの入力信号の論理値の一方のみを遷移させて、該回路の出力信号の論理値が変化するパターンをグリッチが発生する遷移パターンとして抽出するステップを該コンピュータに実行させることを特徴とする、請求項1に記載の集積回路の消費電力算出方法。
  5.  集積回路に含まれる回路の内部構成を表す回路情報と該回路間の接続を表す回路間接続情報に基づいて該集積回路の消費電力を算出する集積回路の消費電力算出プログラムであって、
     該集積回路への入力信号パターンを含む入力パターン情報と、該回路間接続情報と、該回路の論理モデル情報から、該回路間の伝播遅延をゼロとして論理解析し、該回路の入力信号および出力信号の遷移情報を求めるステップと、
     該回路の論理モデル情報に基づき、該回路への入力信号の遷移パターンの中から、該回路の出力信号にグリッチが発生する遷移パターンを抽出するステップと、
     該求めた遷移情報のうち、該抽出した遷移パターンを入力とする該回路の出力の遷移情報にグリッチの発生を反映するステップと、
     グリッチの発生が反映された信号の遷移情報から該集積回路の消費電力を求めるステップと
     をコンピュータに実行させることを特徴とする集積回路の消費電力算出プログラム。
  6.  該集積回路の消費電力算出プログラムはさらに、
     グリッチを発生させた該回路の出力信号の論理値と該回路の入力信号の論理値との関係が、該回路の論理と整合しないことを抽出した場合に、該回路の出力信号を固定した状態で該回路の入力信号の論理値を該回路の論理と整合するように書き換えるステップを該コンピュータに実行させることを特徴とする、請求項5に記載の集積回路の消費電力算出プログラム。
  7.  該集積回路の消費電力計算プログラムはさらに、
     該回路から出力されたグリッチを含む出力信号を受信する受信回路が、該受信したグリッチを出力に反映させる場合の該受信回路の入力信号の論理値をグリッチ伝播条件として生成するステップと、
     生成した該グリッチ伝播条件に基づいて、グリッチが該受信回路の出力に伝播するか否かを判定するステップと、
    グリッチが該回路から該受信回路へ伝播する場合に該受信回路の出力にグリッチを反映させるステップと
     を該コンピュータに実行させることを特徴とする、請求項5に記載の集積回路の消費電力算出プログラム。
  8.  該集積回路の消費電力計算プログラムはさらに、
     該回路の入力信号のうち2つの入力信号の論理値を同時に遷移させた場合に、該回路の出力信号の論理値が変化しない入力信号を選択するステップと、
     選択した該回路の2つの入力信号の論理値の一方のみを遷移させて、該回路の出力信号の論理値が変化するパターンをグリッチが発生する遷移パターンとして抽出するステップと
    を該コンピュータに実行させることを特徴とする、請求項5に記載の集積回路の消費電力算出プログラム。
  9.  集積回路に含まれる回路の内部構成を表す回路情報と該回路間の接続を表す回路間接続情報とに基づいて該集積回路の消費電力を算出する集積回路の消費電力算出装置であって、
     該集積回路への入力信号パターンを含む入力パターン情報と該回路間接続情報と該回路の等価回路を含む論理モデル情報を記憶する記憶部と、
     該入力パターン情報と該論理モデル情報から該各回路間の伝播遅延をゼロとして論理解析することにより該回路間を伝播する信号の遷移情報を求め、該回路の論理モデル情報に基づき該回路への入力信号の遷移パターンの中から該回路の出力信号にグリッチが発生する遷移パターンを抽出し、該求めた遷移情報のうち該抽出した遷移パターンを有する遷移情報にグリッチの発生を反映させ、グリッチの発生が反映された信号の遷移情報から該集積回路の消費電力を求める制御部と
     を有することを特徴とする集積回路の消費電力算出装置。
  10.  該制御部はさらに、グリッチを発生させた該回路の出力信号の論理値と該回路の入力信号の論理値との関係が、該回路の該等価回路の論理と整合しないことを抽出した場合に、該回路の出力信号を固定した状態で該回路の入力信号の論理値を該回路の論理と整合するように書き換えることを特徴とする、請求項9に記載の集積回路の消費電力算出装置。
     
PCT/JP2009/006998 2009-12-18 2009-12-18 集積回路の消費電力算出方法、消費電力算出プログラム及び消費電力算出装置 WO2011074044A1 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP2011545857A JP5338919B2 (ja) 2009-12-18 2009-12-18 集積回路の消費電力算出方法、消費電力算出プログラム及び消費電力算出装置
PCT/JP2009/006998 WO2011074044A1 (ja) 2009-12-18 2009-12-18 集積回路の消費電力算出方法、消費電力算出プログラム及び消費電力算出装置
US13/495,576 US20120253712A1 (en) 2009-12-18 2012-06-13 Power consumption calculation method, power consumption calculation apparatus, and non-transitory computer-readble medium storing power consumption calculation program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2009/006998 WO2011074044A1 (ja) 2009-12-18 2009-12-18 集積回路の消費電力算出方法、消費電力算出プログラム及び消費電力算出装置

Related Child Applications (1)

Application Number Title Priority Date Filing Date
US13/495,576 Continuation US20120253712A1 (en) 2009-12-18 2012-06-13 Power consumption calculation method, power consumption calculation apparatus, and non-transitory computer-readble medium storing power consumption calculation program

Publications (1)

Publication Number Publication Date
WO2011074044A1 true WO2011074044A1 (ja) 2011-06-23

Family

ID=44166848

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2009/006998 WO2011074044A1 (ja) 2009-12-18 2009-12-18 集積回路の消費電力算出方法、消費電力算出プログラム及び消費電力算出装置

Country Status (3)

Country Link
US (1) US20120253712A1 (ja)
JP (1) JP5338919B2 (ja)
WO (1) WO2011074044A1 (ja)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2020149312A (ja) 2019-03-13 2020-09-17 株式会社東芝 回路設計支援方法、及び回路設計支援プログラム
US10963029B1 (en) * 2019-06-26 2021-03-30 Amazon Technologies, Inc. Power virus generation

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5625803A (en) * 1994-12-14 1997-04-29 Vlsi Technology, Inc. Slew rate based power usage simulation and method
EP2122835A1 (en) * 2007-01-11 2009-11-25 Freescale Semiconductor, Inc. Communication device, integrated circuit and method therefor

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
RAGHUNATHAN, A. ET AL.: "Register-Transfer Level Estimation Techniques for Switching Activity and Power Consumption", IEEE/ACM INTERNATIONAL CONFERENCE ON COMPUTER-AIDED DESIGN, 14 November 1996 (1996-11-14), pages 158 - 165, XP000738421 *

Also Published As

Publication number Publication date
JPWO2011074044A1 (ja) 2013-04-25
JP5338919B2 (ja) 2013-11-13
US20120253712A1 (en) 2012-10-04

Similar Documents

Publication Publication Date Title
JP2011512602A (ja) 同期から非同期への論理変換
US8255851B1 (en) Method and system for timing design
JP4540540B2 (ja) 遅延計算装置
JP4651620B2 (ja) 電力算出装置、電力算出方法、耐タンパ性評価装置及び耐タンパ性評価方法
JP2005352787A (ja) タイミング解析方法およびタイミング解析装置
US20090271747A1 (en) Logic circuit designing device, logic circuit designing method and logic circuit designing program for asynchronous logic circuit
US8527925B2 (en) Estimating clock skew
US20180075172A1 (en) Dynamic power reduction in circuit designs and circuits
JP5338919B2 (ja) 集積回路の消費電力算出方法、消費電力算出プログラム及び消費電力算出装置
JP4992468B2 (ja) 検証方法、検証装置及びプログラム
US20090037860A1 (en) Apparatus, system and method for simulating operation of circuit
US20220327269A1 (en) Computing device and method for detecting clock domain crossing violation in design of memory device
US20080069277A1 (en) Method and apparatus for modeling signal delays in a metastability protection circuit
CN112580279B (zh) 逻辑电路的优化方法、优化装置以及存储介质
JP4419633B2 (ja) 論理回路設計システム、論理回路設計方法およびそのプログラム
Bommu et al. Retiming-based factorization for sequential logic optimization
CN112580278A (zh) 逻辑电路的优化方法、优化装置以及存储介质
US9960771B2 (en) Hum generation using representative circuitry
JP5146369B2 (ja) 回路設計プログラム、回路設計方法および回路設計装置
JP5645754B2 (ja) マルチサイクルパス検出装置及びマルチサイクルパス検出プログラム
JP6303509B2 (ja) 回路検証方法、及び回路検証プログラム
JP2002259488A (ja) クロックスキュー検証方法
JP2013061811A (ja) 消費電力解析方法および消費電力解析装置
US8782579B2 (en) Connection verification method, recording medium thereof, and connection verification apparatus
Plassan Conclusive formal verification of clock domain crossing properties

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

Country of ref document: EP

Kind code of ref document: A1

WWE Wipo information: entry into national phase

Ref document number: 2011545857

Country of ref document: JP

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 09852241

Country of ref document: EP

Kind code of ref document: A1