WO2016052844A1 - 집적 회로 장치 및 집적 회로 장치의 소비 전력을 계산하는 방법 - Google Patents

집적 회로 장치 및 집적 회로 장치의 소비 전력을 계산하는 방법 Download PDF

Info

Publication number
WO2016052844A1
WO2016052844A1 PCT/KR2015/007240 KR2015007240W WO2016052844A1 WO 2016052844 A1 WO2016052844 A1 WO 2016052844A1 KR 2015007240 W KR2015007240 W KR 2015007240W WO 2016052844 A1 WO2016052844 A1 WO 2016052844A1
Authority
WO
WIPO (PCT)
Prior art keywords
clock gating
power
gating cell
integrated circuit
clock
Prior art date
Application number
PCT/KR2015/007240
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 주식회사 바움
Publication of WO2016052844A1 publication Critical patent/WO2016052844A1/ko

Links

Images

Classifications

    • GPHYSICS
    • G01MEASURING; TESTING
    • G01RMEASURING ELECTRIC VARIABLES; MEASURING MAGNETIC VARIABLES
    • G01R31/00Arrangements for testing electric properties; Arrangements for locating electric faults; Arrangements for electrical testing characterised by what is being tested not provided for elsewhere
    • G01R31/28Testing of electronic circuits, e.g. by signal tracer
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01RMEASURING ELECTRIC VARIABLES; MEASURING MAGNETIC VARIABLES
    • G01R31/00Arrangements for testing electric properties; Arrangements for locating electric faults; Arrangements for electrical testing characterised by what is being tested not provided for elsewhere
    • G01R31/12Testing dielectric strength or breakdown voltage ; Testing or monitoring effectiveness or level of insulation, e.g. of a cable or of an apparatus, for example using partial discharge measurements; Electrostatic testing
    • G01R31/14Circuits therefor, e.g. for generating test voltages, sensing circuits

Definitions

  • the present invention relates to an electronic circuit, and more particularly, to an integrated circuit device and a method for calculating the power consumption of the integrated circuit device.
  • An integrated circuit device refers to an electronic device in which various functions such as operation and storage are integrated on a single semiconductor chip.
  • Mobile devices seek to be smaller and lighter by providing integrated circuit devices.
  • a disadvantage of mobile devices is that they have a limited power source such as a battery.
  • high capacity batteries and low power integrated circuit devices have been studied.
  • Measuring power consumption of an integrated circuit device is a prerequisite for achieving lower power consumption of the integrated circuit device.
  • the conventional power consumption measurement method has a problem of consuming too long measurement time or having low accuracy.
  • An object of the present invention is to provide an integrated circuit device having a power consumption calculation method and a power consumption measurement device having a reduced computation time and improved reliability.
  • a method of measuring power consumption of an integrated circuit device includes a plurality of clock gating cells respectively driven by a plurality of driving signals and respectively received and gated by a plurality of input clocks. Determining a power state of the integrated circuit device according to states of input clocks and states of the plurality of drive signals; And calculating power consumption of the integrated circuit device according to the determined power state.
  • the determining of the power state may include determining a power state indicating that the specific clock gating cell is inactivated when the driving signal of the specific clock gating cell is inactive.
  • the determining of the power state may include: power indicating that the specific clock gating cell is deactivated when a driving signal of the specific clock gating cell is active and an input clock of the specific clock gating cell is inactive. Determining the status.
  • the determining of the power state may include: power indicating that the specific clock gating cell is activated when a driving signal of the specific clock gating cell is active and an input clock of the specific clock gating cell is active. Determining the status.
  • the determining of the power state may include determining a power state indicating that clock gating cells that receive the output clock of the specific clock gating cell as input clocks are deactivated when the specific clock gating cell is inactive. It further comprises the step.
  • the calculating of power consumption includes calculating a power value consumed by the integrated circuit device when the integrated circuit device belongs to the determined power state.
  • the calculating of the power value is performed for each of the power states of the integrated circuit device.
  • the calculating of the power value is performed for each of some of the power states of the integrated circuit device.
  • the calculating of power consumption further includes calculating a weight for each of the power states of the integrated circuit device.
  • the weights of the power states are determined according to output capacitances of the plurality of clock gating cells.
  • the calculating of the power consumption further includes calculating power values of the remaining states of the power states based on weights of the power states and power values of the some states.
  • the calculating of power values of the remaining states is performed based on interpolation or extrapolation.
  • the determining of the power state may include removing the disabled power state based on a functional equivalent or dependency of the plurality of driving signals.
  • the calculating of power consumption may include calculating power consumption per unit time of the integrated circuit device by using a power value corresponding to the determined power state.
  • the power state is determined a plurality of times.
  • the power state is determined according to some clock gating cells of the plurality of clock gating cells.
  • an integrated circuit device may include: a plurality of clock gating cells configured to receive input clocks and driving signals, and to gate and output the received clock signals in response to the received driving signals; And determine a power state of the integrated circuit device according to states of the input clocks and states of the driving signals, and calculate power consumption of the integrated circuit device according to the determined power state.
  • the power consumption measuring apparatus determines a power state indicating that the specific clock gating cell is inactivated when the driving signal of the specific clock gating cell is inactive.
  • the power consumption measuring apparatus may determine a power state indicating that the specific clock gating cell is inactivated when a driving signal of the specific clock gating cell is active and an input clock of the specific clock gating cell is inactive.
  • the power consumption measuring apparatus may determine a power state indicating that the specific clock gating cell is activated when a driving signal of the specific clock gating cell is active and an input clock of the specific clock gating cell is active.
  • the power consumption measuring apparatus determines a power state indicating that clock gating cells that receive the output clock of the specific clock gating cell as input clocks are deactivated when the specific clock gating cell is inactive.
  • a power state is determined using states of input clocks as well as states of driving signals of clock gating cells.
  • FIG. 1 is a flowchart illustrating a power consumption calculation method according to an embodiment of the present invention.
  • FIG. 2 is a block diagram illustrating an integrated circuit device according to an example embodiment.
  • FIG. 3 is a block diagram illustrating an example of clock gating cell domains of clock gating cells.
  • FIG. 4 is a flowchart illustrating a method of determining a state of a clock gating cell domain according to an exemplary embodiment of the present invention.
  • FIG 5 shows the state of the output clock of the clock gating cell according to the state of the drive signal and the state of the input clock.
  • FIG. 6 is a flowchart illustrating a method of determining a power state according to another embodiment of the present invention.
  • 11 is a flowchart illustrating a first example of calculating a power value corresponding to a power state.
  • FIG. 12 illustrates an example in which a power value is calculated according to the method of calculating the power value of FIG. 11.
  • FIG. 13 is a table showing an example of power states and power values calculated according to the method shown in FIG. 11.
  • FIG. 14 is a flowchart showing a second example of calculating a power value corresponding to a power state.
  • FIG. 15 is a table showing an example of power states and power values calculated according to the method shown in FIG. 14.
  • 16 is a flow chart illustrating an example of adjusting the number of power states of an integrated circuit device.
  • FIG. 18 is a flowchart illustrating a power consumption calculation method according to another embodiment of the present invention.
  • FIG. 19 shows an example of states of a partial circuit determined according to the method of FIG. 18.
  • 20 is a block diagram illustrating an apparatus for calculating power consumption, according to an exemplary embodiment.
  • 21 is a block diagram illustrating an integrated circuit device according to another example embodiment.
  • step S110 a power state of an integrated circuit device is determined according to states of input clocks and driving signals of clock gating cells.
  • the power consumption of the integrated circuit device is calculated using the determined power state.
  • the power value consumed by the integrated circuit device in the determined power state can be calculated.
  • the power value may be a representative value (eg, an average value) of power consumed by the integrated circuit device for a unit time (eg, one cycle of the clock signal).
  • power consumption of the integrated circuit device may be calculated using a pre-calculated power value corresponding to the determined power state. For example, a change in power consumption according to a change in the power state of the integrated circuit device may be calculated in real time. For example, the total amount of power consumed by the integrated circuit device for a predetermined time can be calculated.
  • the integrated circuit device 100 may include input terminals IT, output terminals OT, fan-in logics FIL1 to FIL10, fan-out logics FOL1 to FOL6, and Clock gating cells CGC1 to CGC10.
  • the integrated circuit device 100 may include input terminals IT, output terminals OT, fan-in logics FIL1 to FIL10, fan-out logics FOL1 to FOL6, and Clock gating cells CGC1 to CGC10.
  • the integrated circuit device 100 may include input terminals IT, output terminals OT, fan-in logics FIL1 to FIL10, fan-out logics FOL1 to FOL6, and Clock gating cells CGC1 to CGC10.
  • FIL1 to FIL10 fan-in logics
  • FOL1 to FOL6 fan-out logics
  • CGC1 to CGC10 Clock gating cells
  • the integrated circuit device 100 may receive a signal and a clock CLK through the input terminals IT.
  • the integrated circuit device 100 may output an internally processed signal through the output terminals OT.
  • the fan-in logics FIL1 to FIL10 may include circuits that output driving signals EN1 to EN10 of the clock gating cells CGC1 to CGC10.
  • the fan-in logics FIL1 to FIL10 may include circuits that operate according to signals received through the input terminals IT, or circuits that operate independently of the input terminal IT.
  • the clock gating cell CGC1 may receive the clock CLK.
  • the clock gating cell CGC1 may receive the driving signal EN1 from the fan-in logic FIL1. According to the state of the driving signal EN1, the clock gating cell CGC1 may gate the input clock and output the gated clock as the gated clock GCLK1. For example, when the driving signal EN1 is active, the clock gating cell CGC1 may output the input clock CLK as the gated clock GCLK1. When the driving signal EN1 is inactive, the clock gating cell CGC1 may deactivate the gated clock GCLK1 without outputting the input clock CLK to the gated clock GCLK1. For example, the clock gating cell CGC1 may output a constant voltage such as a ground voltage.
  • the gated clock GCLK1 is transferred to circuits other than the clock gating cells CGC5 and CGC6 and the clock gating cell domain CGCD1 or the clock gating cell domain.
  • An integrated circuit is comprised of circuits excluding the clock gating cell, the clock gating cell domain, and the clock gating cell domain (circuits that are always operative and consume power).
  • the clock gating cell domain CGCD1 may include flip-flops and a fan-out logic cone of flip-flop outputs that operate by receiving a gated clock GCLK1 from the clock gating cell CGC1. Can be.
  • the fan-out logic cone of any signal S may include nets and gates (eg, logic gates) except for the flip-flop that signal S drives. That is, the clock gating cell domain CGCD1 may include flip-flops, nets, and gates that operate by receiving the gated clock GCLK1 from the clock gating cell CGC1. Other clock gating cells are not included in the clock gating cell domain CGCD1.
  • the clock gating cell CGC2 may gate the clock CLK in response to the driving signal EN2 received from the fan-in logic FIL2, and output the gate CLG2 to the gated clock GCLK2.
  • the gated clock GCLK2 is transferred to the clock gating cell CGC6 'and the clock gating cell domain CGCD2.
  • the clock gating cell CGC3 may gate the clock CLK in response to the driving signal EN3 received from the fan-in logic FIL3 to output the gated clock GCLK3.
  • the gated clock GCLK3 is transferred to the clock gating cell CGC8 and the clock gating cell domain CGCD3.
  • the clock gating cell CGC4 may gate the clock CLK in response to the driving signal EN4 received from the fan-in logic FIL4, and output the gate CLG4 to the gated clock GCLK4.
  • the gated clock GCLK3 is transferred to the clock gating cells CGC9 and CGC10 and the clock gating cell domain CGCD4.
  • the clock gating cells CGC5 and CGC6 may receive the gated clock GCLK1 from the clock gating cell CGC1.
  • the clock gating cells CGC5 and CGC6 may receive the driving signals EN5 and EN6 from the fan-in logics FIL5 and FIL6, respectively.
  • the clock gating cells CGC5 and CGC6 may gate the input clock GCLK1 to output the gated clocks GCLK5 and GCLK6, respectively.
  • the gated clock GCLK5 is delivered to the clock gating cell domain CGCD5
  • the gated clock GCLK6 is delivered to the clock gating cell domain CGCD6 and the clock gating cell CGC7.
  • the clock gating cell CGC7 may receive the gated clock GCLK6 from the clock gating cell CGC6.
  • the clock gating cell CGC7 may receive the driving signal EN7 from the fan-in logic FIL7. According to the state of the driving signal EN7, the clock gating cell CGC7 may gate the input clock GCLK6 to output the gated clock GCLK7.
  • the gated clock GCLK7 is delivered to the clock gating cell domain CGCD7.
  • the clock gating cells CGC6 ′ and CGC8 may receive gated clocks GCLK2 and GCLK3 from the clock gating cells CGC2 and CGC3, respectively.
  • the clock gating cells CGC6 ′ and CGC8 may receive driving signals EN6 and EN8 from the fan-in logics FIL6 and FIL8, respectively. According to the states of the driving signals EN6 and EN8, the clock gating cells CGC6 ′ and CGC8 gate the input clocks GCLK2 and GCLK3 to output the gated clocks GCLK6 ′ and GCLK8, respectively.
  • the gated clock GCKL6 ' is delivered to the clock gating cell domain CGCD6'
  • the gated clock GCLK8 is delivered to the clock gating cell domain CGCD8.
  • the clock gating cells CGC9 and CGC10 may receive the gated clock GCLK4 from the clock gating cell CGC4.
  • the clock gating cells CGC9 and CGC10 may receive the driving signals EN9 and EN10 from the fan-in logics FIL9 and FIL10, respectively.
  • the clock gating cells CGC9 and CGC10 may gate the input clock GCLK4 to output the gated clocks GCLK9 and GCLK10, respectively.
  • the gated clock GCLK9 is delivered to the clock gating cell domain CGCD9
  • the gated clock GCLK10 is delivered to the clock gating cell CGC9 ′ and the clock gating cell domain CGCD10.
  • the clock gating cell CGC9 ′ may receive the gated clock GCLK10 from the clock gating cell CGC10.
  • the clock gating cell CGC9 ′ may receive the driving signal EN9 from the fan-in logic FIL9. According to the state of the driving signal EN9, the clock gating cell CGC9 ′ may gate the input clock GCLK10 to output the gated clock GCLK9 ′.
  • the gated clock GCLK9 ' is delivered to the clock gating cell domain CGCD9'.
  • FIG. 3 is a block diagram illustrating an example of clock gating cell domains CGCD1 and CGCD2 of clock gating cells CGC1 and CGC2.
  • clock gating cells CGC5, CGC6, and CGC6 ′ that receive gated clocks GCLK1 and GCLK2 are omitted in FIG. 3.
  • the flip-flops and gates shown in FIG. 3 are exemplary, and the clock gating cell domains CGCD1 and CGCD2 are not limited to those shown in FIG. 3.
  • the gated clock GCLK1 of the clock gating cell CGC1 is supplied to the flip-flop FF1.
  • the flip-flop FF1 transfers the input signal I1 to the gate G1 in response to the gated clock GCLK1.
  • the output of the gate G1 is provided to the output signal O1.
  • flip-flop FF1 and gate G1 operate in response to gated clock GCLK1.
  • the clock gating cell domain CGCD1 of the clock gating cell CGC1 includes the flip-flop FF1 and the gate G1.
  • the gated clock GCLK2 of the clock gating cell CGC2 is supplied to the flip-flop FF2.
  • the flip-flop FF2 transfers the input signal I3 to the gate G2 in response to the gated clock GCLK2.
  • the gate G2 transfers the output of the flip-flop FF2 and the operation result of the input signal I2 to the flip-flop FF3.
  • the output of the flip-flop FF3 is provided to the output signal O2 and is also delivered to the gate G1.
  • flip-flops FF2 and FF3 and gates G1 and G2 operate in response to the gated clock GCLK2.
  • the clock gating cell domain CGCD2 of the clock gating cell CGC2 includes flip-flops FF2 and FF3 and gates G2 and G3.
  • the flip-flops, nets and gates that receive the clock GCLK gated by the clock gating cell CGC are gated flip-flops, gated nets and gate gated gated gated gates as gated gates.
  • CGCD Clock gating cell domain
  • step S210 it is determined whether the driving signal EN of the clock gating cell CGC is activated. If the driving signal EN is in an inactive state, in step S220, the clock gating cell domain CGCD is determined to be inactive.
  • step S230 If the driving signal EN of the clock gating cell CGC is activated, it is determined whether the input clock of the clock gating cell CGC is activated in step S230. If the input clock of the clock gating cell CGC is inactive, in step S220, the clock gating cell domain CGCD is determined to be inactive.
  • step S240 If the driving signal EN of the clock gating cell CGC is activated and the input clock of the clock gating cell CGC is activated, the clock gating cell domain CGCD is active in step S240. Is determined.
  • FIG. 5 shows the state of the output clock of the clock gating cell according to the state of the drive signal and the state of the input clock.
  • clock gating cell CGC5 and clock gating cell domain CGCD5 of FIG. 2 the state of the output clock is described.
  • the driving signal EN5 of the clock gating cell CGC5 is active. Accordingly, the clock gating cell CGC5 outputs the input clock GCLK1 to the output clock GCLK5. Since the input clock GCLK1 is active, the output clock GCLK5 is also active. For example, the output clock GCLK5 may be signals that transition between the high level and the low level at regular intervals. Since the clock gating cell CGC5 outputs an active clock, the flip-flops, nets, and gates of the clock gating cell domain CGCD5 of the clock gating cell CGC5 operate according to the active clock and can consume dynamic power. have. That is, the clock gating cell domain CGCD5 of the clock gating cell CGC5 may be in an active state.
  • the driving signal EN5 of the clock gating cell CGC5 is inactive.
  • the clock gating cell CGC5 deactivates the output clock GCLK5 regardless of the input clock GCLK1.
  • the output clock GCLK5 may be a constant voltage such as ground voltage. Since the clock gating cell CGC5 outputs an inactive clock, the flip-flops, nets, and gates of the clock gating cell domain CGCD5 of the clock gating cell CGC5 operate according to the inactive clock and do not consume dynamic power. Only static power can be consumed. That is, the clock gating cell domain CGCD5 of the clock gating cell CGC5 may be in an inactive state.
  • the driving signal EN5 of the clock gating cell CGC5 is active. Accordingly, the clock gating cell CGC5 outputs the input clock GCLK1 to the output clock GCLK5. However, since the input clock GCLK1 is inactive, the output clock GCLK5 is also inactive. For example, the input clock GCLK1 and the output clock GCLK5 may be constant voltages such as ground voltages. Since the clock gating cell CGC5 outputs an inactive clock, the flip-flops, nets, and gates of the clock gating cell domain CGCD5 of the clock gating cell CGC5 operate according to the inactive clock and do not consume dynamic power. Only static power can be consumed. That is, the clock gating cell domain CGCD5 of the clock gating cell CGC5 may be in an inactive state.
  • the state of the output clock GCLK5 may change depending on the state of the input clock GCLK1 of the clock gating cell CGC5. have.
  • the power state is determined by referring not only to the state of the driving signal EN5 but also to the state of the input clock GCLK1.
  • the reliability and accuracy of the calculated power consumption is improved.
  • FIG. 6 is a flowchart illustrating a method of determining a power state according to an embodiment of the present invention.
  • the states eg, active state or inactive state
  • FIG. 6 A method of determining the power state of the circuit device 100 is shown in FIG.
  • step S310 the variable K is initialized to have a value of '1'.
  • step S320 cells subsequent to inactive primary cells are determined to be inactive cells.
  • the clock gating cells CGC1 to CGC4 that receive the non-gated clock CLK may be primary cells.
  • Inactive primary cells may refer to inactive cells among the primary cells.
  • the inactive primary cells may refer to cells in which driving signals EN1 to EN4 are inactive among the primary cells.
  • Cells following inactive primary cells refer to clock gating cells that operate by receiving a clock gated by the inactive primary cells. That is, since the clock gated by the inactive cell is inactive, it is determined in step S320 that the entire domain of the inactive primary cells is inactive. State determination for the cells following the inactive primary cells is omitted.
  • step S330 cells subsequent to K-order cells in the active state and subsequent to K + 1st cells in the inactive state are determined as inactive cells. For example, among K + 1st cells that follow K-order cells in an active state, cells subsequent to cells in which the driving signal is inactive are determined as inactive cells.
  • step S340 it is determined whether the state determination of the clock gating cells is completed. For example, it is determined whether states of all clock gating cells of the integrated circuit device 100 have been determined. If the state determination is not completed, the variable K is increased in step S350, and then step S330 is performed again. If the state determination is completed, in step S360, the power state is determined.
  • the states of the clock gating cell domains CGCD1 to CGCD10 corresponding to the clock gating cells CGC1 to CGC10 are determined, and the power state of the integrated circuit device 100 is determined according to the determined states. do.
  • states of the clock gating cell domains CGCD1 to CGCD10 are determined will be described with reference to FIGS. 7 to 10.
  • the integrated circuit device 100 is divided into first to fourth partial circuits 100_1 to 100_4, and the clock gating cell domain of each of the divided first to fourth partial circuits 100_1 to 100_4. Examples in which states of the cells CGCD are determined are described with reference to FIGS. 7 to 10.
  • the first partial circuit 100_1 includes the clock gating cell domains CGCD1, CGCD5, CGCD6, and CGCD7 of the clock gating cells CGC1, CGC5, CGC6, and CGC7. 6 and 7, the states of the clock gating cell domains CGCD1, CGCD5, CGCD6, and CGCD7 may be determined sequentially from the primary cells.
  • the driving signal EN1 of the clock gating cell CGC1 may be in an inactive state (eg, '0'). Therefore, the clock gating cell domain CGCD1 of the clock gating cell CGC1 may be in an inactive state. In addition, it is determined that all of the clock gating cell domains CGCD5, CGCD6, and CGCD7 of the clock gating cells CGC5 to CGC7 subsequent to the clock gating cell CGC1 are inactive.
  • all of the clock gating cell domains CGCD1, CGCD5, CGCD6, and CGCD7 are inactive, and the clock gating cell domains CGCD1, CGCD5, CGCD6, and CGCD7 correspond to the first state PS_D11. Can be determined.
  • the driving signal EN1 of the clock gating cell CGC1 may be in an active state (eg, '1'). Therefore, the clock gating cell domain CGCD1 of the clock gating cell CGC1 may be in an active state.
  • the states of the clock gating cells CGC5 and CGC6 subsequent to the clock gating cell CGC1 are further determined.
  • the driving signals EN5 and EN6 of the clock gating cells CGC5 and CGC6 may be inactive.
  • the clock gating cell domains CGCD5 and CGCD6 may be inactive.
  • the clock gating cell domain CGCD7 of the clock gating cell CGC7 subsequent to the clock gating cell CGC6 is determined to be inactive.
  • the clock gating cell domains CGCD1, CGCD5, CGCD6, and CGCD7 may be determined to correspond to the second state PS_D12.
  • the driving signal EN1 of the clock gating cell CGC1 may be in an active state.
  • the driving signal EN5 of the clock gating cell CGC5 may be in an inactive state and the driving signal EN6 of the clock gating cell CGC6 may be in an active state. Since the clock gating cell CGC6 is active, the state of the clock gating cell CGC7 subsequent to the clock gating cell CGC6 may be further determined.
  • the driving signal EN7 of the clock gating cell CGC7 may be in an inactive state.
  • clock gating cell domains CGCD1 and CGCD6 are active and clock gating cell domains CGCD5 and CGCD7 are inactive.
  • the clock gating cell domains CGCD1, CGCD5, CGCD6, and CGCD7 may be determined to correspond to the third state PS_D13.
  • the clock gating cell CGC1 may be in an active state.
  • the clock gating cell CGC5 may be inactive and the clock gating cell CGC6 may be active.
  • the clock gating cell CGC7 may be in an active state.
  • clock gating cell domains CGCD1, CGCD6, and CGCD7 may be active, and clock gating cell domain CGCD5 may be inactive.
  • the clock gating cell domains CGCD1, CGCD5, CGCD6, and CGCD7 may be determined to correspond to the fourth state PS_D14.
  • clock gating cell CGC1 may be active.
  • the clock gating cell CGC5 may be active and the clock gating cell CGC6 may be inactive. Since the clock gating cell CGC6 is inactive, the clock gating cell CGC7 is determined to be inactive.
  • clock gating cell domains CGCD1 and CGCD5 may be active and clock gating cell domains CGCD6 and CGCD7 may be inactive.
  • the clock gating cell domains CGCD1, CGCD5, CGCD6, and CGCD7 may be determined to correspond to the fifth state PS_D15.
  • the clock gating cells CGC1, CGC5, and CGC6 may be active, and the clock gating cell CGC7 may be inactive.
  • the clock gating cell domains CGCD1, CGCD5, and CGCD6 may be active and the clock gating cell domain CGCD7 may be inactive.
  • the clock gating cell domains CGCD1, CGCD5, CGCD6, and CGCD7 may be determined to correspond to the sixth state PS_D16.
  • clock gating cells CGC1 and CGC5 to CGC7 may be in an active state.
  • clock gating cell domains CGCD1, CGCD5, CGCD6, CGCD7 may be active.
  • the clock gating cell domains CGCD1, CGCD5, CGCD6, and CGCD7 may be determined to correspond to the seventh state PS_D17.
  • a method of determining the state of the first partial circuit 100_1 using only the driving signals EN1 and EN5 to EN7 has been used.
  • the driving signal EN1 of the clock gating cell CGC1 is inactive, the combination of the driving signals EN5 to EN7 of the clock gating cells CGC5 to CGC7 subsequent to the clock gating cell CGC1 is performed. Different states were determined accordingly.
  • the driving signal EN6 of the clock gating cell CGC6 is inactive, different states are determined according to the driving signal EN7 of the clock gating cell CGC7 subsequent to the clock gating cell CGC6.
  • clock gating cell domain CGCD1 when the clock gating cell domain CGCD1 is inactive, clock gating cells CGC5 to CGC7 subsequent to the clock gating cell CGC1. Regardless of the driving signals EN5 to EN7, the clock gating cell domains CGCD5 to CGCD7 are determined to be inactive. Thus, the accuracy and reliability of the state of the clock gating cell domains CGCD1, CGCD5, CGCD6, CGCD7 are improved.
  • a resource eg, for determining the state of the clock gating cell domains CGCD1, CGCD5, CGCD6, CGCD7 may be used. Computation time, computation complexity, the amount of storage space required, etc.) are reduced.
  • the second partial circuit 100_2 includes the clock gating cell domains CGCD2 and CGCD6 ′ of the clock gating cells CGC2 and CGC6 ′.
  • the states of the clock gating cell domains CGCD2 and CGCD6 ′ of the clock gating cells CGC2 and CGC6 ′ are sequentially determined from the primary cells, and the clock gating cells CGC2 and CGC6 ′ are determined sequentially.
  • the state of the clock gating cell domains CGCD2 and CGCD6 ′ may be determined.
  • the driving signal EN2 of the clock gating cell CGC2 may be in an inactive state. At this time, it is determined that the clock gating cell CGC6 'subsequent to the clock gating cell CGC2 is in an inactive state.
  • the clock gating cell domain CGCD2 may be active and the clock gating cell domain CGCD6 ′ may be inactive.
  • the clock gating cell domains CGCD2 and CGCD6 ′ may be determined to have a second state PS_D22.
  • clock gating cell domain CGCD2 may be active and clock gating cell domain CGCD6 ′ may be active.
  • the clock gating cell domains CGCD2 and CGCD6 ′ may be determined to have a third state PS_D23.
  • the clock gating cell CGC6 and the clock gating cell CGC6 ′ receive the same driving signal EN6.
  • the clock gating cell domains CGCD6 and CGCD6 ' are always considered to have the same state.
  • the clock gating cell domain CGCD6 is active and the clock gating cell domain CGCD6 ' ) Is inactive. That is, the states of the clock gating cell domains CGCD6 and CGCD6 ′ that receive the same driving signal EN6 may be different from each other.
  • the state is determined in units of clock gating cells (or units of clock gating cell domains) based on a driving signal and an input clock. Therefore, the accuracy and reliability of the determined state are improved.
  • the third partial circuit 100_3 includes the clock gating cell domains CGCD3 and CGCD8 of the clock gating cells CGC3 and CGC8. 6 and 9, the states of the clock gating cell domains CGCD3 and CGCD8 of the clock gating cells CGC3 and CGC8 are sequentially determined from the primary cells, and the clock gating cell domains CGCD3 and CGCD8 are determined. The state of can be determined.
  • the driving signal EN3 of the clock gating cell CGC3 may be in an inactive state. At this time, it is determined that the clock gating cell CGC8 subsequent to the clock gating cell CGC3 is in an inactive state. In a first example, all of the clock gating cell domains CGCD3 and CGCD8 are inactive and the first state PS_D31 may be determined.
  • the clock gating cell domain CGCD3 may be active and the clock gating cell domain CGCD8 may be inactive.
  • the second state PS_D32 may be determined.
  • the clock gating cell domain CGCD3 may be active and the clock gating cell domain CGCD8 may be active.
  • the third state PS_D33 may be determined.
  • the fourth partial circuit 100_4 includes the clock gating cell domains CGCD4, CGCD9, CGCD9 ′ and CGCD10 of the clock gating cells CGC4, CGC9, CGC9 ′ and CGC10. 5 and 9, the states of the clock gating cell domains CGCD4, CGCD9, CGCD9 ′ and CGCD10 of the clock gating cells CGC4, CGC9, CGC9 ′ and CGC10 are sequentially determined from the primary cells, and the clocks are determined.
  • the state may be determined according to the states of the gating cell domains CGCD4, CGCD9, CGCD9 ′, and CGCD10.
  • the driving signal EN4 of the clock gating cell CGC4 may be in an inactive state. At this time, it is determined that all of the clock gating cell domains CGCD4, CGCD9, CGCD9 ′ and CGCD10 subsequent to the clock gating cell CGC4 are in an inactive state. In a first example, the first state PS_D41 may be determined.
  • the driving signal EN4 of the clock gating cell CGC4 may be in an active state. Since the clock gating cell domain CGCD4 is active, the states of the clock gating cell domains CGCD9 and CGCD10 subsequent to the clock gating cell CGC4 are further determined. The driving signals EN9 and EN10 of the clock gating cells CGC9 and CGC10 may be inactive. Since the clock gating cell domain CGCD10 is inactive, the clock gating cell domain CGCD9 'subsequent to the clock gating cell CGC10 is determined to be inactive. In a second example, the states of the clock gating cell domains CGCD4, CGCD9, CGCD9 ′ and CGCD10 may be determined as the second state PS_D42.
  • the driving signal EN4 of the clock gating cell CGC4 may be in an active state.
  • the driving signal EN9 of the clock gating cell CGC9 may be inactive and the driving signal EN10 of the clock gating cell CGC10 may be active. Since the clock gating cell domain CGCD10 is active, the state of the clock gating cell domain CGCD9 'subsequent to the clock gating cell CGC10 may be further determined.
  • the driving signal EN9 of the clock gating cell CGC9 ′ may be in an inactive state.
  • the states of the clock gating cell domains CGCD4, CGCD9, CGCD9 ′ and CGCD10 may be determined as the third state PS_D43.
  • the clock gating cell domain CGCD4 may be active.
  • the clock gating cell domain CGCD9 may be active and the clock gating cell domain CGCD10 may be inactive. Since the clock gating cell domain CGCD10 is inactive, it is determined that the clock gating cell domain CGCD9 'is inactive.
  • the states of the clock gating cell domains CGCD4, CGCD9, CGCD9 ′ and CGCD10 may be determined as the fourth state PS_D44.
  • the clock gating cell domain CGCD4 may be active.
  • the clock gating cell domain CGCD5 may be active and the clock gating cell domain CGCD10 may be active.
  • the clock gating cell domain CGCD9 ′ following the clock gating cell CGC10 may be active.
  • the state may be determined as the fifth state PS_D45.
  • the clock gating cells CGC9 and CGC9 ′ receive the same driving signal EN9.
  • the clock gating cell domains CGCD9 and CGCD9 ' are always considered to have the same state.
  • the clock gating cell domain CGCD9 is active and the clock gating cell domain CGCD9 ' ) Is inactive. That is, states of the clock gating cell domains CGCD9 and CGCD9 ′ that receive the same driving signal EN9 may be different from each other.
  • the state is determined in units of clock gating cells (or units of clock gating cell domains) based on a driving signal and an input clock.
  • the accuracy and reliability of the state is improved.
  • the power state of the integrated circuit device 100 may be determined.
  • integrated circuit device 100 may have power states corresponding to the number of combinations of states described with reference to FIGS. 7 through 10.
  • the power value consumed by the integrated circuit device in the power state is calculated, or the integrated circuit device 100 is calculated using a pre-calculated power value corresponding to the power state. The power consumption of can be calculated.
  • step S410 for each of the power states of the integrated circuit device 100, an average value of power consumption is calculated. For example, an average value of power consumed by the integrated circuit device 100 during one cycle of the clock CLK supplied to the integrated circuit device 100 may be calculated.
  • step S420 the calculated average value is selected as the power value of the corresponding power state.
  • FIG. 12 illustrates an example in which a power value is calculated according to the method of calculating the power value of FIG. 11. For example, an example in which a power value is calculated while the first to fifth cycles C1 to C5 of the clock CLK are supplied to the integrated circuit device 100 is illustrated in FIG. 12.
  • the clock gating cell domain CGCD1 may be active in the first cycle C1, and the remaining clock gating cells CGCD2 ⁇ CGCD10 may be inactive.
  • the clock gating cell domain CGCD2 may be active and the remaining clock gating cells CGCD1 and CGCD3 ⁇ CGCD10 may be inactive.
  • the clock gating cell domain CGCD1 may be active and the remaining clock gating cells CGCD2 ⁇ CGCD10 may be inactive.
  • the clock gating cell domain CGCD2 may be active and the remaining clock gating cells CGCD1 and CGCD3 ⁇ CGCD10 may be inactive.
  • the clock gating cell domains CGCD1 and CGCD10 may be active and the remaining clock gating cells CGCD2 ⁇ CGCD9 ′ may be inactive.
  • the states of the clock gating cell domains CGCD1 to CGCD10 of the first cycle C1 and the states of the clock gating cell domains CGCD1 to CGCD10 of the third cycle C3 are the same.
  • the integrated circuit device 100 may have a first power state. Therefore, the average value of the power consumption TP1 of the integrated circuit device 100 in the first cycle C1 and the power consumption TP3 of the integrated circuit device 100 in the third cycle C3 is the power in the first power state. Can be calculated as a value.
  • the states of the clock gating cell domains CGCD1 to CGCD10 of the second cycle C2 and the domains of the clock gating cell domains CGCD1 to CGCD10 of the fourth cycle C4 are the same.
  • the integrated circuit device 100 may have a second power state. Therefore, the average value of the power consumption TP2 of the integrated circuit device 100 of the second cycle C2 and the power consumption TP4 of the integrated circuit device 100 of the fourth cycle C4 is the power of the second power state. Can be calculated as a value.
  • the power value has been described to be calculated using the average.
  • the power value is not limited to being calculated using the average.
  • FIG. 13 is a table showing an example of power states and power values calculated according to the method shown in FIG. 11. 2 and 13, it is assumed that the integrated circuit device 100 has first to eighth power states PS1 to PS8. For example, in each cycle of the clock CLK, the integrated circuit device 100 may have one of the first to eighth power states PS1 to PS8.
  • the first to eighth power values P1 to P8 may correspond to the first to eighth power states PS1 to PS8, respectively.
  • the first to eighth power values P1 to P8 may be values calculated according to the method illustrated in FIG. 11.
  • the integrated circuit device 100 may have a kth power state (PSk, k is a positive integer between 1 and 8).
  • PSk k is a positive integer between 1 and 8.
  • the average value of the power consumed when the integrated circuit device 100 has the k-th power state PSk may be selected as the k-th power value Pk.
  • power consumption of the integrated circuit device 100 may be calculated in real time.
  • the power state of the integrated circuit device 100 may be determined according to the method illustrated in FIG. 4 or 6.
  • a pre-calculated power value corresponding to the determined power state is consumed during one cycle of the power consumption of the integrated circuit device 100, for example, the clock CLK. Can be selected as power.
  • calculating a power value corresponding to a particular power state of integrated circuit device 100 requires a very long time.
  • the power consumption of the integrated circuit device 100 since the power consumption of the integrated circuit device 100 is obtained using a power value calculated in advance without calculating the power value, the power consumption of the integrated circuit device 100 may be monitored in real time. .
  • step S510 is a flowchart showing a second example of calculating a power value corresponding to a power state. 2 and 14, in step S510, first power values and first weights are calculated for each of some of the power states of the integrated circuit device 100. As described with reference to FIG. 11, the first power values may be calculated according to the power state and the average power consumption of the integrated circuit device 100 in each cycle of the clock signal CLK.
  • the first weights may be calculated in consideration of factors in which power is consumed in the integrated circuit device 100.
  • the first weights may be calculated using capacitances that respectively correspond to some power states.
  • the first weights may be the total sum of the capacitances of the active clock gating cell domains.
  • the first and second clock gating cells CGC1 and CGC2 may be active.
  • the weights are the capacitances (eg, input capacitances) of elements included in the first clock gating cell domain CGCD1, for example, flip flops, nets, and gates, and the second clock gating cell.
  • the first weights may be calculated based on the number of active clock gating cells (or clock gating cell domains) or the area of active clock gating cells (or clock gating cell domains).
  • second weights of the remaining power states of the power states of the integrated circuit device 100 are calculated.
  • the second weights may be calculated in the same way as the first weights.
  • the second power values of the remaining power states may be calculated according to the first weights and the second weights.
  • the second power values may be calculated by interpolating or extrapolating the first power values based on the first weights and the second weights.
  • second power values may be calculated by performing a multiple regression analysis on the first power values based on the first weights and the second weights.
  • non-gated flip-flops, nets, and gates may be considered when the first and second weights are calculated.
  • Ungated flip-flops, nets and gates may be flip-flops, nets and gates that operate regardless of clock gating cells.
  • first weight of the first clock gating domain when the first weight of the first clock gating domain is calculated, capacitances, number or area of flip-flops, nets and gates associated with the first clock gating domain and not gated may be reflected. Further, when the second weight of the second clock gating domain is calculated, capacitances, number or area of flip-flops, nets and gates associated with the second clock gating domain and not gated may be reflected.
  • connection relationship of flip-flops, nets and gates of the clock gating domain may be taken into account. For example, whether the capacitances of the flip-flops, nets and gates of the clock gating domain are in series connection or in parallel connection relationship can be reflected when the total sum of the capacitances is calculated.
  • FIG. 15 is a table showing an example of power states and power values calculated according to the method shown in FIG. 14. 14 and 15, corresponding to the first, third, fifth, and seventh power states P1, P3, P5, and P7 of the first to eighth power states PS1 to PS8, respectively.
  • the first, third, fifth and seventh power values P1, P3, P5, and P7 may be calculated.
  • first to eighth weights W1 to W8 respectively corresponding to the first to eighth power states PS1 to PS8 may be calculated.
  • step S610 equivalence of driving signals is determined.
  • the second driving signal may be always active when the first driving signal is active, and the second driving signal may be always inactive when the first driving signal is inactive.
  • the first drive signal may always be active when the second drive signal is active, and the first drive signal may always be active when the second drive signal is inactive.
  • step S620 it is determined whether equivalence exists between the driving signals. If equivalence exists between the driving signals, the disabled power state among the states of the clock gating domains or the disabled power state of the integrated circuit device 100 is removed in operation S630.
  • FIG. 17 shows an example in which the number of partial circuit 100_1 states is adjusted according to the equivalence.
  • an example in which the number of power states of the clock gating cell domains CGCD1, CGCD5, CGCD6, CGCD7 is adjusted is shown in FIG. 17.
  • the fourth power state PS_D14 of the power states PS_D11 to PS_D17 of the clock gating cell domains CGCD1, CGCD5, CGCD6, and CGCD7 has the driving signal EN5 inactive and the driving signal EN7 active. This is the case. If equivalence exists between the driving signals EN5 and EN7, the fourth power state PS_D14 is an impossible power state that cannot exist. Therefore, the fourth power state PS_D14 may be removed among the power states PS_D11 to PS_D17 of the clock gating cell domains CGCD1, CGCD5, CGCD6, and CGCD7.
  • the sixth power state PS_D16 corresponds to a case where the driving signal EN5 is active and the driving signal EN7 is inactive. If equivalence exists between the driving signals EN5 and EN7, the sixth state PS_D16 is an incapable state. Therefore, the sixth state PS_D16 may be removed from the states PS_D11 to PS_D17 of the clock gating cell domains CGCD1, CGCD5, CGCD6, and CGCD7.
  • Using equivalence between drive signals reduces the number of power states of integrated circuit device 100. As the number of power states decreases, the number of power values required also decreases. Therefore, the power consumption calculation speed of the integrated circuit device 100 can be improved and the time can be shortened.
  • the power states of integrated circuit autonomous 100 may also be reduced by dependencies.
  • the driving signal EN5 when the driving signal EN5 is in an active state, the driving signal EN7 may have an active state or an inactive state.
  • the drive signal EN5 When the drive signal EN5 is in an inactive state, the drive signal EN7 may have an inactive state and may not have an active state.
  • the driving signals EN5 and EN7 may have a dependency, and the driving signal EN7 may be determined to be dependent on the driving signal EN5. If the driving signals EN5 and EN7 have a dependency, the power states of the integrated circuit device 100 may be further reduced. For example, power states in which the drive signal EN5 is inactive and the drive signal EN7 are active are disabled and can be eliminated.
  • step S710 the power state of the integrated circuit device 100 is determined according to input clocks and driving signals of some cells of the clock gating cells.
  • the power state of the integrated circuit device 100 is determined according to some but not all of the clock gating cells of the integrated circuit device 100. Thus, the number of power states of integrated circuit device 100 is reduced.
  • FIG. 19 shows examples of states of the partial circuit 100_1 determined according to the method of FIG. 18.
  • the root cell may refer to a clock gating cell that receives a clock that is not gated.
  • a stem cell refers to a clock gating cell whose output clock is used only as input to other clock gating cells.
  • the end cell refers to a clock gating cell whose output clock is not used as inputs to other clock gating cells.
  • Branch cells refer to clock gating cells that do not belong to the root cell, the end cell, and the stem cell.
  • the power state of the clock gating cell domain CGCD1 may be determined according to the states of the end cells.
  • the clock gating cells CGC5 and CGC7 may be terminal cells.
  • clock gating cells CGC5 and CGC7 are both inactive. Therefore, the first to third examples may correspond to one state PS_D11.
  • clock gating cell CGC5 is inactive and clock gating cell CGC7 is active. Therefore, the fourth example may correspond to another state PS_D12.
  • clock gating cell CGC5 is active and clock gating cell CGC7 is inactive. Accordingly, the fifth and sixth examples may correspond to another state PS_D13.
  • clock gating cells CGC5 and CGC7 are active.
  • the seventh example may correspond to another state PS_D14.
  • the number of power states of the integrated circuit device 100 is reduced. Therefore, the speed of calculating the power consumption of the integrated circuit device 100 is improved, and the time is shortened.
  • FIG. 19 an example of determining a power state using end cells has been described.
  • some clock gating cells used to determine the power state are not limited to being end cells.
  • the power state of the integrated circuit device 100 may be determined, including branch cells as well as branch cells.
  • the power consumption calculation apparatus 200 includes a storage device 210 and a simulation device 220.
  • the storage device 210 may be a nonvolatile storage device such as a hard disk drive, a flash memory, or the like.
  • the storage device 210 can include an integrated circuit code 211 for the integrated circuit device 100.
  • the integrated circuit code 211 may include a code for a layout of the integrated circuit device 100, a hardware description language (HDL) code, or the like.
  • HDL hardware description language
  • the simulation apparatus 220 may drive the power consumption simulation code 221.
  • the simulation device 220 may access the storage device 210 and read the integrated circuit code 211.
  • the simulation apparatus 220 may calculate power consumption from the integrated circuit code 211 using the power consumption simulation code 221.
  • the simulation apparatus 220 may calculate power values or calculate power consumption from the integrated circuit code 211 according to the method described with reference to FIGS. 1 through 19.
  • the simulation device 220 may be a special purpose computer configured to drive the power consumption simulation code 221.
  • the simulation device 220 may be a general purpose computer.
  • an integrated circuit device 400 includes an integrated circuit block 100 and a real time power consumption measurement block 300.
  • the integrated circuit block 100 may include various clock gating cells, fan-in logics, clock gating domains, as described with reference to FIG. 2.
  • the real time power consumption measurement block 300 may receive the driving signals of the clock gating cells from the integrated circuit block 100.
  • the real time power consumption measurement block 300 may determine the power state of the integrated circuit block 100 as described with reference to FIGS. 1 to 18.
  • the real time power consumption measurement block 300 may measure the power consumption of the integrated circuit block 100 in real time according to the determined power state and a pre-stored power value.

Landscapes

  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Engineering & Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Semiconductor Integrated Circuits (AREA)

Abstract

본 발명은 복수의 구동 신호들에 의해 각각 구동되고 복수의 입력 클럭들을 각각 수신하여 게이팅하는 복수의 클럭 게이팅 셀들을 포함하는 집적 회로 장치의 소비 전력을 측정하는 방법에 관한 것이다. 본 발명의 방법은, 복수의 입력 클럭들의 상태들 및 복수의 구동 신호들의 상태들에 따라 집적 회로 장치의 전력 상태를 결정하는 단계, 그리고 결정된 전력 상태에 따라 집적 회로 장치의 소비 전력을 계산하는 단계로 구성된다.

Description

집적 회로 장치 및 집적 회로 장치의 소비 전력을 계산하는 방법
본 발명은 전자 회로에 관한 것으로, 더 상세하게는 집적 회로 장치 및 집적 회로 장치의 소비 전력을 계산하는 방법에 관한 것이다.
전자 기술이 발전하면서, 다양한 형태의 집적 회로 장치가 개발되고 있다. 집적 회로 장치는 연산, 저장 등과 같은 다양한 기능들이 하나의 반도체 칩에 집적된 전자 장치를 의미한다.
사회가 고도화됨에 따라, 다양한 형태의 모바일 기기들이 개발되고 있다. 모바일 기기들은 집적 회로 장치를 구비함으로써, 소형화 및 경량화를 추구한다. 모바일 기기들의 단점은 배터리와 같은 한정된 전력원을 갖는다는 것이다. 모바일 기기들의 동작 수명을 연장시키기 위하여, 배터리의 고용량화 및 집적 회로 장치의 저전력화 등이 연구되고 있다.
집적 회로 장치의 소비 전력을 측정하는 것은 집적 회로 장치의 저전력화를 달성하기 위한 전제 조건이다. 종래의 소비 전력 측정 방법은 너무 긴 측정 시간을 소모하거나 낮은 정확도를 갖는다는 문제점이 있다.
본 발명의 목적은, 감소된 연산 시간 및 향상된 신뢰성을 갖는 소비 전력 계산 방법 및 소비 전력 측정 장치를 구비한 집적 회로 장치를 제공하는 데에 있다.
복수의 구동 신호들에 의해 각각 구동되고 복수의 입력 클럭들을 각각 수신하여 게이팅하는 복수의 클럭 게이팅 셀들을 포함하는 본 발명의 실시 예에 따른 집적 회로 장치의 소비 전력을 측정하는 방법은, 상기 복수의 입력 클럭들의 상태들 및 상기 복수의 구동 신호들의 상태들에 따라 상기 집적 회로 장치의 전력 상태를 결정하는 단계; 그리고 상기 결정된 전력 상태에 따라 상기 집적 회로 장치의 소비 전력을 계산하는 단계를 포함한다.
실시 예로서, 상기 전력 상태를 결정하는 단계는, 특정한 클럭 게이팅 셀의 구동 신호가 비활성 상태이면, 상기 특정한 클럭 게이팅 셀이 비활성화된 것을 가리키는 전력 상태를 결정하는 단계를 포함한다.
실시 예로서, 상기 전력 상태를 결정하는 단계는, 상기 특정한 클럭 게이팅 셀의 구동 신호가 활성 상태이고, 상기 특정한 클럭 게이팅 셀의 입력 클럭이 비활성 상태이면, 상기 특정한 클럭 게이팅 셀이 비활성화된 것을 가리키는 전력 상태를 결정하는 단계를 더 포함한다.
실시 예로서, 상기 전력 상태를 결정하는 단계는, 상기 특정한 클럭 게이팅 셀의 구동 신호가 활성 상태이고, 상기 특정한 클럭 게이팅 셀의 입력 클럭이 활성 상태이면, 상기 특정한 클럭 게이팅 셀이 활성화된 것을 가리키는 전력 상태를 결정하는 단계를 더 포함한다.
실시 예로서, 상기 전력 상태를 결정하는 단계는, 특정한 클럭 게이팅 셀이 비활성 상태일 때, 상기 특정한 클럭 게이팅 셀의 출력 클럭을 입력 클럭들로 수신하는 클럭 게이팅 셀들이 비활성화된 것을 가리키는 전력 상태를 결정하는 단계를 더 포함한다.
실시 예로서, 상기 소비 전력을 계산하는 단계는, 상기 집적 회로 장치가 상기 결정된 전력 상태에 속할 때에, 상기 집적 회로 장치에 의해 소비되는 전력값을 계산하는 단계를 포함한다.
실시 예로서, 상기 전력값을 계산하는 단계는, 상기 집적 회로 장치가 갖는 전력 상태들 각각에 대해 수행된다.
실시 예로서, 상기 전력값을 계산하는 단계는, 상기 집적 회로 장치가 갖는 전력 상태들 중 일부 상태들 각각에 대해 수행된다.
실시 예로서, 상기 소비 전력을 계산하는 단계는, 상기 집적 회로 장치가 갖는 전력 상태들 각각에 대해 가중치를 계산하는 단계를 더 포함한다.
실시 예로서, 상기 전력 상태들의 가중치들은 상기 복수의 클럭 게이팅 셀들의 출력 커패시턴스들에 따라 결정된다.
실시 예로서, 상기 소비 전력을 계산하는 단계는, 상기 전력 상태들의 가중치들 및 상기 일부 상태들의 전력값들에 기반하여, 상기 전력 상태들 중 나머지 상태들의 전력값들을 계산하는 단계를 더 포함한다.
실시 예로서, 상기 나머지 상태들의 전력값들을 계산하는 단계는 보간법 또는 보외법에 기반하여 수행된다.
실시 예로서, 상기 전력 상태를 결정하는 단계는, 상기 복수의 구동 신호들의 기능적 등가성 또는 종속성에 기반하여, 불능의 전력 상태를 제거하는 단계를 포함한다.
실시 예로서, 상기 소비 전력을 계산하는 단계는, 상기 결정된 전력 상태에 대응하는 전력값을 이용하여, 상기 집적 회로 장치의 단위 시간당 소비 전력을 계산하는 단계를 포함한다.
실시 예로서, 상기 단위 시간 동안에, 상기 전력 상태는 복수회 결정된다.
실시 예로서, 상기 전력 상태는 상기 복수의 클럭 게이팅 셀들 중 일부 클럭 게이팅 셀들에 따라 결정된다.
본 발명의 실시 예에 따른 집적 회로 장치는, 입력 클럭들 및 구동 신호들을 각각 수신하고, 상기 수신된 구동 신호들에 응답하여 상기 수신된 클럭 신호들을 게이팅하여 출력하도록 구성되는 복수의 클럭 게이팅 셀들; 그리고 상기 입력 클럭들의 상태들 및 상기 구동 신호들의 상태들에 따라 상기 집적 회로 장치의 전력 상태를 결정하고, 상기 결정된 전력 상태에 따라 상기 집적 회로 장치의 소비 전력을 계산하도록 구성되는 소비 전력 측정 장치를 포함한다.
실시 예로서, 상기 소비 전력 측정 장치는, 특정한 클럭 게이팅 셀의 구동 신호가 비활성 상태이면 상기 특정한 클럭 게이팅 셀이 비활성화된 것을 가리키는 전력 상태를 결정한다.
실시 예로서, 상기 소비 전력 측정 장치는, 상기 특정한 클럭 게이팅 셀의 구동 신호가 활성 상태이고, 상기 특정한 클럭 게이팅 셀의 입력 클럭이 비활성 상태이면, 상기 특정한 클럭 게이팅 셀이 비활성화된 것을 가리키는 전력 상태를 결정한다.
실시 예로서, 상기 소비 전력 측정 장치는, 상기 특정한 클럭 게이팅 셀의 구동 신호가 활성 상태이고, 상기 특정한 클럭 게이팅 셀의 입력 클럭이 활성 상태이면, 상기 특정한 클럭 게이팅 셀이 활성화된 것을 가리키는 전력 상태를 결정한다.
실시 예로서, 상기 소비 전력 측정 장치는, 특정한 클럭 게이팅 셀이 비활성 상태일 때, 상기 특정한 클럭 게이팅 셀의 출력 클럭을 입력 클럭들로 수신하는 클럭 게이팅 셀들이 비활성화된 것을 가리키는 전력 상태를 결정한다.
본 발명의 실시 예들에 따르면, 클럭 게이팅 셀들의 구동 신호들의 상태들 뿐 아니라 입력 클럭들의 상태들을 이용하여 전력 상태가 결정된다. 따라서, 감소된 연산 시간 및 향상된 신뢰성을 갖는 소비 전력 계산 방법 및 소비 전력 측정 장치를 구비한 집적 회로 장치가 제공된다.
도 1은 본 발명의 실시 예에 따른 소비 전력 계산 방법을 보여주는 순서도이다.
도 2는 본 발명의 실시 예에 따른 집적 회로 장치를 보여주는 블록도이다.
도 3은 클럭 게이팅 셀들의 클럭 게이팅 셀 도메인들의 예를 보여주는 블록도이다.
도 4는 본 발명의 실시 예에 따라 클럭 게이팅 셀 도메인의 상태를 판별하는 방법을 보여주는 순서도이다.
도 5는 구동 신호의 상태 및 입력 클럭의 상태에 따른 클럭 게이팅 셀의 출력 클럭의 상태를 보여준다.
도 6은 본 발명의 다른 실시 예에 따라 전력 상태를 판별하는 방법을 보여주는 순서도이다.
도 7 내지 도 10은 클럭 게이팅 셀들의 클럭 게이팅 셀 도메인들의 상태가 판별되는 예들을 보여준다.
도 11은 전력 상태에 대응하는 전력값을 계산하는 제1 예를 보여주는 순서도이다.
도 12는 도 11의 전력값을 계산하는 방법에 따라 전력값이 계산되는 예를 보여준다.
도 13은 전력 상태들 및 도 11에 도시된 방법에 따라 계산된 전력값들의 예를 보여주는 테이블이다.
도 14는 전력 상태에 대응하는 전력값을 계산하는 제2 예를 보여주는 순서도이다.
도 15는 전력 상태들 및 도 14에 도시된 방법에 따라 계산된 전력값들의 예를 보여주는 테이블이다.
도 16은 집적 회로 장치의 전력 상태들의 수를 조절하는 예를 보여주는 순서도이다.
도 17은 등가성에 따라 부분 회로 상태들의 수가 조절되는 예를 보여준다.
도 18은 본 발명의 다른 실시 예에 따른 소비 전력 계산 방법을 보여주는 순서도이다.
도 19는 도 18의 방법에 따라 결정된 부분 회로의 상태들의 예를 보여준다.
도 20는 본 발명의 실시 예에 따른 소비 전력 계산 장치를 보여주는 블록도이다.
도 21은 본 발명의 다른 실시 예에 따른 집적 회로 장치를 보여주는 블록도이다.
100, 400; 집적 회로 장치
FIL1~FIL10; 팬-인 로직들
FOL1~FOL6; 팬-아웃 로직들
CGC1~CGC10; 클럭 게이팅 셀들
EN1~EN10; 구동 신호들
CLK; 클럭
GCLK1~GCLK10; 게이팅된 클럭들
200; 소비 전력 계산 장치
210; 스토리지 장치
211; 집적 회로 코드
220; 시뮬레이션 장치
221; 소비 전력 시뮬레이션 코드
이하에서, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자가 본 발명의 기술적 사상을 용이하게 실시할 수 있을 정도로 상세히 설명하기 위하여, 본 발명의 실시 예를 첨부된 도면을 참조하여 설명하기로 한다.
도 1은 본 발명의 실시 예에 따른 소비 전력 계산 방법을 보여주는 순서도이다. 도 1을 참조하면, S110 단계에서, 클럭 게이팅 셀들의 입력 클럭들의 상태들과 구동 신호들의 상태들에 따라, 집적 회로 장치의 전력 상태가 결정된다.
S120 단계에서, 결정된 전력 상태를 이용하여, 집적 회로 장치의 소비 전력이 계산된다. 예를 들어, 결정된 전력 상태에서 집적 회로 장치에 의해 소비되는 전력값이 계산될 수 있다. 예를 들어, 전력값은 단위 시간(예를 들어, 클럭 신호의 한 사이클) 동안 집적 회로 장치에 의해 소비되는 전력의 대표값(예를 들어, 평균값)일 수 있다.
다른 예로서, 결정된 전력 상태에 대응하는 미리 계산된 전력값을 이용하여, 집적 회로 장치의 소비 전력이 계산될 수 있다. 예를 들어, 집적 회로 장치의 전력 상태의 변화에 따른 소비 전력의 변화가 실시간으로 계산될 수 있다. 예를 들어, 집적 회로 장치가 미리 정해진 시간 동안 소비하는 총 전력량이 계산될 수 있다.
도 2는 본 발명의 실시 예에 따른 집적 회로 장치(100)를 보여주는 블록도이다. 도 2를 참조하면, 집적 회로 장치(100)는 입력 터미널들(IT), 출력 터미널들(OT), 팬-인 로직들(FIL1~FIL10), 팬-아웃 로직들(FOL1~FOL6), 그리고 클럭 게이팅 셀들(CGC1~CGC10)을 포함한다. 간결한 설명을 위하여, 집적 회로 장치(100)의 구성 요소들 중 일부 클럭 게이팅 셀들(CGC1~CGC10)과 연관된 구성 요소들만이 도시되어 있다. 집적 회로 장치(100)의 구성 요소는 도 2에 도시된 것으로 한정되지 않는다.
집적 회로 장치(100)는 입력 터미널들(IT)을 통해 신호 및 클럭(CLK)을 수신할 수 있다. 집적 회로 장치(100)는 내부적으로 처리된 신호를 출력 터미널들(OT)을 통해 출력할 수 있다.
팬-인 로직들(FIL1~FIL10)은 클럭 게이팅 셀들(CGC1~CGC10)의 구동 신호들(EN1~EN10)을 출력하는 회로들을 포함할 수 있다. 팬-인 로직들(FIL1~FIL10)은 입력 터미널들(IT)을 통해 수신되는 신호들에 따라 동작하는 회로들, 또는 입력 터미널(IT)과 독립적으로 동작하는 회로들을 포함할 수 있다.
클럭 게이팅 셀(CGC1)은 클럭(CLK)을 수신할 수 있다. 클럭 게이팅 셀(CGC1)은 팬-인 로직(FIL1)으로부터 구동 신호(EN1)를 수신할 수 있다. 구동 신호(EN1)의 상태에 따라, 클럭 게이팅 셀(CGC1)은 입력된 클럭을 게이팅하여 게이팅된 클럭(GCLK1)으로 출력할 수 있다. 예를 들어, 구동 신호(EN1)가 활성 상태일 때, 클럭 게이팅 셀(CGC1)은 입력되는 클럭(CLK)을 게이팅된 클럭(GCLK1)으로 출력할 수 있다. 구동 신호(EN1)가 비활성 상태일 때, 클럭 게이팅 셀(CGC1)은 입력되는 클럭(CLK)을 게이팅된 클럭(GCLK1)으로 출력하지 않고, 게이팅된 클럭(GCLK1)을 비활성화할 수 있다. 예를 들어, 클럭 게이팅 셀(CGC1)은 접지 전압과 같은 정전압을 출력할 수 있다. 게이팅된 클럭(GCLK1)은 클럭 게이팅 셀들(CGC5, CGC6) 및 클럭 게이팅 셀 도메인(CGCD1) 또는 클럭 게이팅 셀 도메인을 제외한 회로로 전달된다. 집적회로는, 클럭 게이팅 셀, 클럭 게이팅 셀 도메인, 그리고 클럭 게이팅 셀 도메인을 제외한 회로(항상 게이팅되지 않고 동작하여 전력을 소모하는 회로들)로 구성된다.
클럭 게이팅 셀 도메인(CGCD1)은 클럭 게이팅 셀(CGC1)로부터 게이팅된 클럭(GCLK1)을 수신하여 동작하는 플립플롭들 및 플립플롭들 출력들의 팬-아웃 로직 콘(fan-out logic cone)을 포함할 수 있다. 임의의 신호(S)의 팬-아웃 로직 콘은 신호 S가 구동(drive)하는 플립플롭을 제외한 네트들 및 게이트들(예를 들어, 논리 게이트들)을 포함할 수 있다. 즉, 클럭 게이팅 셀 도메인(CGCD1)은 클럭 게이팅 셀(CGC1)로부터 게이팅된 클럭(GCLK1)을 수신하여 동작하는 플립플롭들, 네트들 및 게이트들을 포함할 수 있다. 다른 클럭 게이팅 셀들은 클럭 게이팅 셀 도메인(CGCD1)에 포함되지 않는다.
클럭 게이팅 셀(CGC2)은 팬-인 로직(FIL2)으로부터 수신되는 구동 신호(EN2)에 응답하여 클럭(CLK)을 게이팅하여 게이팅된 클럭(GCLK2)으로 출력할 수 있다. 게이팅된 클럭(GCLK2)은 클럭 게이팅 셀(CGC6') 및 클럭 게이팅 셀 도메인(CGCD2)으로 전달된다.
클럭 게이팅 셀(CGC3)은 팬-인 로직(FIL3)으로부터 수신되는 구동 신호(EN3)에 응답하여 클럭(CLK)을 게이팅하여 게이팅된 클럭(GCLK3)으로 출력할 수 있다. 게이팅된 클럭(GCLK3)은 클럭 게이팅 셀(CGC8) 및 클럭 게이팅 셀 도메인(CGCD3)으로 전달된다.
클럭 게이팅 셀(CGC4)은 팬-인 로직(FIL4)으로부터 수신되는 구동 신호(EN4)에 응답하여 클럭(CLK)을 게이팅하여 게이팅된 클럭(GCLK4)으로 출력할 수 있다. 게이팅된 클럭(GCLK3)은 클럭 게이팅 셀들(CGC9, CGC10) 및 클럭 게이팅 셀 도메인(CGCD4)으로 전달된다.
클럭 게이팅 셀들(CGC5, CGC6)은 클럭 게이팅 셀(CGC1)로부터 게이팅된 클럭(GCLK1)을 수신할 수 있다. 클럭 게이팅 셀들(CGC5, CGC6)은 팬-인 로직들(FIL5, FIL6)로부터 각각 구동 신호들(EN5, EN6)을 수신할 수 있다. 구동 신호들(EN5, EN6)의 상태들에 따라, 클럭 게이팅 셀들(CGC5, CGC6)은 입력된 클럭(GCLK1)을 게이팅하여 게이팅된 클럭들(GCLK5, GCLK6)로 각각 출력할 수 있다. 게이팅된 클럭(GCLK5)은 클럭 게이팅 셀 도메인(CGCD5)으로 전달되고, 게이팅된 클럭(GCLK6)은 클럭 게이팅 셀 도메인(CGCD6) 및 클럭 게이팅 셀(CGC7)로 전달된다.
클럭 게이팅 셀(CGC7)은 클럭 게이팅 셀(CGC6)로부터 게이팅된 클럭(GCLK6)을 수신할 수 있다. 클럭 게이팅 셀(CGC7)은 팬-인 로직(FIL7)으로부터 구동 신호(EN7)를 수신할 수 있다. 구동 신호(EN7)의 상태에 따라, 클럭 게이팅 셀(CGC7)은 입력된 클럭(GCLK6)을 게이팅하여 게이팅된 클럭(GCLK7)으로 출력할 수 있다. 게이팅된 클럭(GCLK7)은 클럭 게이팅 셀 도메인(CGCD7)으로 전달된다.
클럭 게이팅 셀들(CGC6', CGC8)은 클럭 게이팅 셀들(CGC2, CGC3)로부터 게이팅된 클럭들(GCLK2, GCLK3)을 각각 수신할 수 있다. 클럭 게이팅 셀들(CGC6', CGC8)은 팬-인 로직들(FIL6, FIL8)로부터 각각 구동 신호들(EN6, EN8)을 수신할 수 있다. 구동 신호들(EN6, EN8)의 상태들에 따라, 클럭 게이팅 셀들(CGC6', CGC8)은 입력된 클럭들(GCLK2, GCLK3)을 게이팅하여 게이팅된 클럭들(GCLK6', GCLK8)로 각각 출력할 수 있다. 게이팅된 클럭(GCKL6')은 클럭 게이팅 셀 도메인(CGCD6')으로 전달되고, 게이팅된 클럭(GCLK8)은 클럭 게이팅 셀 도메인(CGCD8)으로 전달된다.
클럭 게이팅 셀들(CGC9, CGC10)은 클럭 게이팅 셀(CGC4)로부터 게이팅된 클럭(GCLK4)을 수신할 수 있다. 클럭 게이팅 셀들(CGC9, CGC10)은 팬-인 로직들(FIL9, FIL10)로부터 각각 구동 신호들(EN9, EN10)을 수신할 수 있다. 구동 신호들(EN9, EN10)의 상태들에 따라, 클럭 게이팅 셀들(CGC9, CGC10)은 입력된 클럭(GCLK4)을 게이팅하여 게이팅된 클럭들(GCLK9, GCLK10)로 각각 출력할 수 있다. 게이팅된 클럭(GCLK9)은 클럭 게이팅 셀 도메인(CGCD9)으로 전달되고, 게이팅된 클럭(GCLK10)은 클럭 게이팅 셀(CGC9') 및 클럭 게이팅 셀 도메인(CGCD10)으로 전달된다.
클럭 게이팅 셀(CGC9')은 클럭 게이팅 셀(CGC10)로부터 게이팅된 클럭(GCLK10)을 수신할 수 있다. 클럭 게이팅 셀(CGC9')은 팬-인 로직(FIL9)으로부터 구동 신호(EN9)를 수신할 수 있다. 구동 신호(EN9)의 상태에 따라, 클럭 게이팅 셀(CGC9')은 입력된 클럭(GCLK10)을 게이팅하여 게이팅된 클럭(GCLK9')으로 출력할 수 있다. 게이팅된 클럭(GCLK9')은 클럭 게이팅 셀 도메인(CGCD9')으로 전달된다.
도 3은 클럭 게이팅 셀들(CGC1, CGC2)의 클럭 게이팅 셀 도메인들(CGCD1, CGCD2)의 예를 보여주는 블록도이다. 예시적으로, 게이팅된 클럭들(GCLK1, GCLK2)을 수신하는 클럭 게이팅 셀들(CGC5, CGC6, CGC6')은 도 3에서 생략되어 있다. 또한, 도 3에 도시된 플립플롭들 및 게이트들은 예시적인 것으로, 클럭 게이팅 셀 도메인들(CGCD1, CGCD2)은 도 3에 도시된 것으로 한정되지 않는다.
도 3을 참조하면, 클럭 게이팅 셀(CGC1)의 게이팅된 클럭(GCLK1)은 플립플롭(FF1)으로 공급된다. 플립플롭(FF1)은 게이팅된 클럭(GCLK1)에 응답하여, 입력 신호(I1)를 게이트(G1)로 전달한다. 게이트(G1)의 출력은 출력 신호(O1)로 제공된다. 도 3에서, 플립플롭(FF1) 및 게이트(G1)가 게이팅된 클럭(GCLK1)에 응답하여 동작한다. 따라서, 클럭 게이팅 셀(CGC1)의 클럭 게이팅 셀 도메인(CGCD1)은 플립플롭(FF1) 및 게이트(G1)를 포함한다.
클럭 게이팅 셀(CGC2)의 게이팅된 클럭(GCLK2)은 플립플롭(FF2)으로 공급된다. 플립플롭(FF2)은 게이팅된 클럭(GCLK2)에 응답하여, 입력 신호(I3)를 게이트(G2)로 전달한다. 게이트(G2)는 플립플롭(FF2)의 출력과 입력 신호(I2)의 연산 결과를 플립플롭(FF3)으로 전달한다. 플립플롭(FF3)의 출력은 출력 신호(O2)로 제공되며, 또한 게이트(G1)로 전달된다. 도 3에서, 플립플롭들(FF2, FF3) 및 게이트들(G1, G2)이 게이팅된 클럭(GCLK2)에 응답하여 동작한다. 따라서, 클럭 게이팅 셀(CGC2)의 클럭 게이팅 셀 도메인(CGCD2)은 플립플롭들(FF2, FF3) 및 게이트들(G2, G3)을 포함한다.
상술된 바와 같이, 클럭 게이팅 셀(CGC)에 의해 게이팅된 클럭(GCLK)을 수신하는 플립플롭들, 네트들 및 게이트들은 게이팅된 플립플롭들, 게이팅된 네트들 및 게이팅된 게이트들로서 클럭 게이팅 셀 도메인(CGCD)에 포함될 수 있다. 게이팅된 플립플롭들, 게이팅된 네트들 및 게이팅된 게이트들의 출력들을 수신하는 플립플롭들, 네트들 및 게이트들 또한 게이팅된 플립플롭들, 게이팅된 네트들 및 게이팅된 게이트들로서 클럭 게이팅 셀 도메인(CGCD)에 포함될 수 있다.
도 4는 본 발명의 실시 예에 따라 클럭 게이팅 셀 도메인(CGCD)의 상태를 판별하는 방법을 보여주는 순서도이다. 도 2 및 도 3을 참조하면, S210 단계에서, 클럭 게이팅 셀(CGC)의 구동 신호(EN)가 활성화된 상태인지 판별된다. 구동 신호(EN)가 비활성화된 상태이면, S220 단계에서, 클럭 게이팅 셀 도메인(CGCD)은 비활성 상태인 것으로 판별된다.
클럭 게이팅 셀(CGC)의 구동 신호(EN)가 활성화된 상태이면, S230 단계에서, 클럭 게이팅 셀(CGC)의 입력 클럭이 활성화된 상태인지 판별된다. 클럭 게이팅 셀(CGC)의 입력 클럭이 비활성 상태이면, S220 단계에서, 클럭 게이팅 셀 도메인(CGCD)은 비활성 상태인 것으로 판별된다.
클럭 게이팅 셀(CGC)의 구동 신호(EN)가 활성화된 상태이고, 그리고 클럭 게이팅 셀(CGC)의 입력 클럭이 활성화된 상태이면, S240 단계에서, 클럭 게이팅 셀 도메인(CGCD)이 활성 상태인 것으로 판별된다.
도 5는 구동 신호의 상태 및 입력 클럭의 상태에 따른 클럭 게이팅 셀의 출력 클럭의 상태를 보여준다. 예시적으로, 도 2의 클럭 게이팅 셀(CGC5) 및 클럭 게이팅 셀 도메인(CGCD5)을 참조하여, 출력 클럭의 상태가 설명된다.
도 5의 제1 케이스를 참조하면, 클럭 게이팅 셀(CGC5)의 구동 신호(EN5)는 활성 상태이다. 따라서, 클럭 게이팅 셀(CGC5)은 입력 클럭(GCLK1)을 출력 클럭(GCLK5)으로 출력한다. 입력 클럭(GCLK1)이 활성 상태이므로, 출력 클럭(GCLK5) 또한 활성 상태이다. 예를 들어, 출력 클럭(GCLK5)은 일정한 주기로 하이 레벨과 로우 레벨 사이를 천이하는 신호들일 수 있다. 클럭 게이팅 셀(CGC5)이 활성 클럭을 출력하므로, 클럭 게이팅 셀(CGC5)의 클럭 게이팅 셀 도메인(CGCD5)의 플립 플롭들, 네트들 및 게이트들은 활성 클럭에 따라 동작하며, 동적 전력을 소비할 수 있다. 즉, 클럭 게이팅 셀(CGC5)의 클럭 게이팅 셀 도메인(CGCD5)은 활성 상태일 수 있다.
제2 케이스를 참조하면, 클럭 게이팅 셀(CGC5)의 구동 신호(EN5)는 비활성 상태이다. 이 경우, 클럭 게이팅 셀(CGC5)은 입력 클럭(GCLK1)에 관계 없이, 출력 클럭(GCLK5)을 비활성화한다. 예를 들어, 출력 클럭(GCLK5)은 접지 전압과 같은 정전압일 수 있다. 클럭 게이팅 셀(CGC5)이 비활성 클럭을 출력하므로, 클럭 게이팅 셀(CGC5)의 클럭 게이팅 셀 도메인(CGCD5)의 플립 플롭들, 네트들 및 게이트들은 비활성 클럭에 따라 동작하며, 동적 전력을 소비하지 않고 정적 전력만을 소비할 수 있다. 즉, 클럭 게이팅 셀(CGC5)의 클럭 게이팅 셀 도메인(CGCD5)은 비활성 상태일 수 있다.
제3 케이스를 참조하면, 클럭 게이팅 셀(CGC5)의 구동 신호(EN5)는 활성 상태이다. 따라서, 클럭 게이팅 셀(CGC5)은 입력 클럭(GCLK1)을 출력 클럭(GCLK5)으로 출력한다. 그런데, 입력 클럭(GCLK1)이 비활성 상태이므로, 출력 클럭(GCLK5) 또한 비활성 상태이다. 예를 들어, 입력 클럭(GCLK1) 및 출력 클럭(GCLK5)은 접지 전압과 같은 정전압일 수 있다. 클럭 게이팅 셀(CGC5)이 비활성 클럭을 출력하므로, 클럭 게이팅 셀(CGC5)의 클럭 게이팅 셀 도메인(CGCD5)의 플립 플롭들, 네트들 및 게이트들은 비활성 클럭에 따라 동작하며, 동적 전력을 소비하지 않고 정적 전력만을 소비할 수 있다. 즉, 클럭 게이팅 셀(CGC5)의 클럭 게이팅 셀 도메인(CGCD5)은 비활성 상태일 수 있다.
상술된 바와 같이, 클럭 게이팅 셀(CGC5)의 구동 신호(EN5)가 활성 상태라 하더라도, 클럭 게이팅 셀(CGC5)의 입력 클럭(GCLK1)의 상태에 따라 출력 클럭(GCLK5)의 상태가 변화할 수 있다. 본 발명의 실시 예에 따른 소비 전력 계산 방법은, 구동 신호(EN5)의 상태 뿐 아니라 입력 클럭(GCLK1)의 상태도 참조하여 전력 상태를 결정한다. 따라서, 계산된 소비 전력의 신뢰성 및 정확성이 향상된다.
도 6은 본 발명의 실시 예에 따라 전력 상태를 판별하는 방법을 보여주는 순서도이다. 예시적으로, 복수의 클럭 게이팅 셀 도메인들(CGCD)에서, 클럭 게이팅 셀 도메인들(CGCD)의 상태들(예를 들어, 활성 상태 또는 비활성 상태)를 판별하고, 판별된 상태들에 기반하여 집적 회로 장치(100)의 전력 상태를 판별하는 방법이 도 6에 도시된다.
도 2 및 도 6을 참조하면, S310 단계에서, 변수(K)가 '1'의 값을 갖도록 초기화된다.
S320 단계에서, 비활성 1차 셀들에 후속하는 셀들이 비활성 셀들로 판별된다. 예시적으로, 게이팅되지 않은 클럭(CLK)을 수신하는 클럭 게이팅 셀들(CGC1~CGC4)이 1차 셀들일 수 있다. 비활성 1차 셀들은 1차 셀들 중 비활성 상태의 셀들을 가리킬 수 있다. 예를 들어, 비활성 1차 셀들은 1차 셀들 중 구동 신호(EN1~EN4)가 비활성 상태인 셀들을 가리킬 수 있다. 비활성 1차 셀들에 후속하는 셀들은, 비활성 상태의 1차 셀들에 의해 게이팅된 클럭을 수신하여 동작하는 클럭 게이팅 셀들을 가리킨다. 즉, 비활성 상태의 셀에 의해 게이팅된 클럭은 비활성 상태이므로, S320 단계에서, 비활성 상태의 1차 셀들의 도메인 전체가 비활성 상태인 것으로 판별된다. 비활성 상태의 1차 셀들에 후속하는 셀들에 대한 상태 판별은 생략된다.
S330 단계에서, 활성 상태의 K차 셀들에 후속하며, 비활성 상태의 K+1차 셀들에 후속하는 셀들이 비활성 셀들로 판별된다. 예를 들어, 활성 상태의 K차 셀들에 후속하는 K+1차 셀들 중에서, 구동 신호가 비활성 상태인 셀들에 후속하는 셀들이 비활성 셀들로 판별된다.
S340 단계에서, 클럭 게이팅 셀들의 상태 판별이 완료되었는지 판별된다. 예를 들어, 집적 회로 장치(100)의 모든 클럭 게이팅 셀들의 상태들이 판별되었는지 판별된다. 상태 판별이 완료되지 않았으면, S350 단계에서 변수(K)가 증가되고, 이후에 S330 단계가 다시 수행된다. 상태 판별이 완료되었으면, S360 단계에서, 전력 상태가 결정된다.
예시적으로, 클럭 게이팅 셀들(CGC1~CGC10)에 각각 대응하는 클럭 게이팅 셀 도메인들(CGCD1~CGCD10)의 상태들이 판별되고, 판별된 상태들에 따라, 집적 회로 장치(100)의 전력 상태가 판별된다. 이하에서, 클럭 게이팅 셀 도메인들(CGCD1~CGCD10)의 상태들이 판별되는 예들이 도 7 내지 도 10을 참조하여 설명된다. 간결한 설명을 위하여, 집적 회로 장치(100)를 제1 내지 제4 부분 회로들(100_1~100_4)로 분할하고, 분할된 제1 내지 제4 부분 회로들(100_1~100_4) 각각의 클럭 게이팅 셀 도메인들(CGCD)의 상태들이 판별되는 예들이 도 7 내지 도 10를 참조하여 설명된다.
도 7은 집적 회로 장치(100)의 제1 부분 회로(100_1)의 상태가 판별되는 예를 보여준다. 제1 부분 회로(100_1)는 클럭 게이팅 셀들(CGC1, CGC5, CGC6, CGC7)의 클럭 게이팅 셀 도메인들(CGCD1, CGCD5, CGCD6, CGCD7)을 포함한다. 도 6 및 7을 참조하면, 1차 셀들로부터 순차적으로 클럭 게이팅 셀 도메인들(CGCD1, CGCD5, CGCD6, CGCD7)의 상태들이 판별될 수 있다.
제1 예에서, 클럭 게이팅 셀(CGC1)의 구동 신호(EN1)가 비활성 상태(예를 들어, '0')일 수 있다. 따라서, 클럭 게이팅 셀(CGC1)의 클럭 게이팅 셀 도메인(CGCD1)은 비활성 상태일 수 있다. 또한, 클럭 게이팅 셀(CGC1)에 후속하는 클럭 게이팅 셀들(CGC5~CGC7)의 클럭 게이팅 셀 도메인들(CGCD5, CGCD6, CGCD7) 모두가 비활성 상태인 것으로 판별된다. 제1 예에서, 클럭 게이팅 셀 도메인들(CGCD1, CGCD5, CGCD6, CGCD7) 전체가 비활성 상태이며, 클럭 게이팅 셀 도메인들(CGCD1, CGCD5, CGCD6, CGCD7)은 제1 상태(PS_D11)에 해당하는 것으로 판별될 수 있다.
제2 예에서, 클럭 게이팅 셀(CGC1)의 구동 신호(EN1)는 활성 상태(예를 들어, '1')일 수 있다. 따라서, 클럭 게이팅 셀(CGC1)의 클럭 게이팅 셀 도메인(CGCD1)은 활성 상태일 수 있다. 또한, 클럭 게이팅 셀(CGC1)이 활성 상태이므로, 클럭 게이팅 셀(CGC1)에 후속하는 클럭 게이팅 셀들(CGC5, CGC6)의 상태들이 더 판별된다. 클럭 게이팅 셀들(CGC5, CGC6)의 구동 신호들(EN5, EN6)은 비활성 상태일 수 있다. 따라서, 클럭 게이팅 셀 도메인들(CGCD5, CGCD6)은 비활성 상태일 수 있다. 클럭 게이팅 셀(CGC6)이 비활성 상태이므로, 클럭 게이팅 셀(CGC6)에 후속하는 클럭 게이팅 셀(CGC7)의 클럭 게이팅 셀 도메인(CGCD7)은 비활성 상태인 것으로 판별된다. 제2 예에서, 클럭 게이팅 셀 도메인들(CGCD1, CGCD5, CGCD6, CGCD7)은 제2 상태(PS_D12)에 해당하는 것으로 판별될 수 있다.
제3 예에서, 클럭 게이팅 셀(CGC1)의 구동 신호(EN1)는 활성 상태일 수 있다. 클럭 게이팅 셀(CGC5)의 구동 신호(EN5)는 비활성 상태이고, 클럭 게이팅 셀(CGC6)의 구동 신호(EN6)는 활성 상태일 수 있다. 클럭 게이팅 셀(CGC6)이 활성 상태이므로, 클럭 게이팅 셀(CGC6)에 후속하는 클럭 게이팅 셀(CGC7)의 상태가 더 판별될 수 있다. 클럭 게이팅 셀(CGC7)의 구동 신호(EN7)는 비활성 상태일 수 있다. 제3 예에서, 클럭 게이팅 셀 도메인들(CGCD1, CGCD6)은 활성 상태이고, 클럭 게이팅 셀 도메인들(CGCD5, CGCD7)은 비활성 상태이다. 클럭 게이팅 셀 도메인들(CGCD1, CGCD5, CGCD6, CGCD7)은 제3 상태(PS_D13)에 해당하는 것으로 판별될 수 있다.
제4 예에서, 클럭 게이팅 셀(CGC1)은 활성 상태일 수 있다. 클럭 게이팅 셀(CGC5)은 비활성 상태이고, 클럭 게이팅 셀(CGC6)은 활성 상태일 수 있다. 클럭 게이팅 셀(CGC7)은 활성 상태일 수 있다. 제4 예에서, 클럭 게이팅 셀 도메인들(CGCD1, CGCD6, CGCD7)은 활성 상태이고, 클럭 게이팅 셀 도메인(CGCD5)은 비활성 상태일 수 있다. 클럭 게이팅 셀 도메인들(CGCD1, CGCD5, CGCD6, CGCD7)은 제4 상태(PS_D14)에 해당하는 것으로 판별될 수 있다.
제5 예에서, 클럭 게이팅 셀(CGC1)은 활성 상태일 수 있다. 클럭 게이팅 셀(CGC5)은 활성 상태이고, 클럭 게이팅 셀(CGC6)은 비활성 상태일 수 있다. 클럭 게이팅 셀(CGC6)이 비활성 상태이므로, 클럭 게이팅 셀(CGC7)은 비활성 상태인 것으로 판별된다. 제5 예에서, 클럭 게이팅 셀 도메인들(CGCD1, CGCD5)은 활성 상태이고, 클럭 게이팅 셀 도메인들(CGCD6, CGCD7)은 비활성 상태일 수 있다. 클럭 게이팅 셀 도메인들(CGCD1, CGCD5, CGCD6, CGCD7)은 제5 상태(PS_D15)에 해당하는 것으로 판별될 수 있다.
제6 에에서, 클럭 게이팅 셀들(CGC1, CGC5, CGC6)은 활성 상태이고, 클럭 게이팅 셀(CGC7)은 비활성 상태일 수 있다. 제6 에에서, 클럭 게이팅 셀 도메인들(CGCD1, CGCD5, CGCD6)은 활성 상태이고, 클럭 게이팅 셀 도메인(CGCD7)은 비활성 상태일 수 있다. 클럭 게이팅 셀 도메인들(CGCD1, CGCD5, CGCD6, CGCD7)은 제6 상태(PS_D16)에 해당하는 것으로 판별될 수 있다.
제7 예에서, 클럭 게이팅 셀들(CGC1, CGC5~CGC7)은 활성 상태일 수 있다. 제7 예에서, 클럭 게이팅 셀 도메인들(CGCD1, CGCD5, CGCD6, CGCD7)은 활성 상태일 수 있다. 클럭 게이팅 셀 도메인들(CGCD1, CGCD5, CGCD6, CGCD7)은 제7 상태(PS_D17)에 해당하는 것으로 판별될 수 있다.
종래의 경우, 구동 신호들(EN1, EN5~EN7)만을 이용하여 제1 부분 회로(100_1)의 상태를 판별하는 방법이 사용되었다. 이 경우, 클럭 게이팅 셀(CGC1)의 구동 신호(EN1)가 비활성 상태라 하더라도, 클럭 게이팅 셀(CGC1)에 후속하는 클럭 게이팅 셀들(CGC5~CGC7)의 구동 신호들(EN5~EN7)의 조합에 따라 서로 다른 상태들이 판별되었다. 또한, 클럭 게이팅 셀(CGC6)의 구동 신호(EN6)가 비활성 상태라 하더라도, 클럭 게이팅 셀(CGC6)에 후속하는 클럭 게이팅 셀(CGC7)의 구동 신호(EN7)에 따라 서로 다른 상태들이 판별되었다.
반면, 제1 예, 제2 예 및 제5 예를 참조하여 설명된 바와 같이, 클럭 게이팅 셀 도메인(CGCD1)이 비활성 상태이면, 클럭 게이팅 셀(CGC1)에 후속하는 클럭 게이팅 셀들(CGC5~CGC7)의 구동 신호들(EN5~EN7)에 관계 없이, 클럭 게이팅 셀 도메인들(CGCD5~CGCD7)은 비활성 상태인 것으로 판별된다. 따라서, 클럭 게이팅 셀 도메인들(CGCD1, CGCD5, CGCD6, CGCD7)의 상태의 정확도 및 신뢰성이 향상된다. 또한, 클럭 게이팅 셀 도메인들(CGCD1, CGCD5, CGCD6, CGCD7)이 갖는 상태들의 수가 감소되므로, 클럭 게이팅 셀 도메인들(CGCD1, CGCD5, CGCD6, CGCD7)의 상태를 판별하기 위한 리소스(예를 들어, 연산 시간, 연산 복잡도, 필요한 저장 공간의 양 등)가 감소된다.
도 8은 집적 회로 장치(100)의 제2 부분 회로(100_2)의 상태가 판별되는 예를 보여준다. 제2 부분 회로(100_2)는 클럭 게이팅 셀들(CGC2, CGC6')의 클럭 게이팅 셀 도메인들(CGCD2, CGCD6')을 포함한다. 도 6 및 도 8을 참조하면, 1차 셀들로부터 순차적으로 클럭 게이팅 셀들(CGC2, CGC6')의 클럭 게이팅 셀 도메인들(CGCD2, CGCD6')의 상태들이 판별되고, 클럭 게이팅 셀들(CGC2, CGC6')의 상태들에 따라 클럭 게이팅 셀 도메인들(CGCD2, CGCD6')의 상태가 판별될 수 있다.
제1 예에서, 클럭 게이팅 셀(CGC2)의 구동 신호(EN2)가 비활성 상태일 수 있다. 이 때, 클럭 게이팅 셀(CGC2)에 후속하는 클럭 게이팅 셀(CGC6')이 비활성 상태인 것으로 판별된다. 제1 예에서, 클럭 게이팅 셀 도메인들(CGCD2, CGCD6')은 비활성 상태이다. 클럭 게이팅 셀 도메인들(CGCD2, CGCD6')은 제1 상태(PS_D21)를 갖는 것으로 판별될 수 있다.
제2 예에서, 클럭 게이팅 셀 도메인(CGCD2)이 활성 상태이고, 클럭 게이팅 셀 도메인(CGCD6')이 비활성 상태일 수 있다. 제2 예에서, 클럭 게이팅 셀 도메인들(CGCD2, CGCD6')은 제2 상태(PS_D22)를 갖는 것으로 판별될 수 있다.
제3 예에서, 클럭 게이팅 셀 도메인(CGCD2)이 활성 상태이고, 클럭 게이팅 셀 도메인(CGCD6')이 활성 상태일 수 있다. 제3 예에서, 클럭 게이팅 셀 도메인들(CGCD2, CGCD6')은 제3 상태(PS_D23)를 갖는 것으로 판별될 수 있다.
도 7 및 도 8을 참조하면, 클럭 게이팅 셀(CGC6)과 클럭 게이팅 셀(CGC6')은 동일한 구동 신호(EN6)를 수신한다. 종래의 방법에 따라 구동 신호(EN6)만을 이용하여 부분 회로들(100_1, 100_2)의 상태를 판별하는 경우, 클럭 게이팅 셀 도메인들(CGCD6, CGCD6')은 항상 동일한 상태를 갖는 것으로 간주된다. 그러나, 구동 신호(EN6)가 활성 상태라 하더라도, 구동 신호(EN1)가 활성 상태이고 구동 신호(EN2)가 비활성 상태이면, 클럭 게이팅 셀 도메인(CGCD6)은 활성 상태이고 클럭 게이팅 셀 도메인(CGCD6')은 비활성 상태이다. 즉, 동일한 구동 신호(EN6)를 수신하는 클럭 게이팅 셀 도메인들(CGCD6, CGCD6')의 상태들이 서로 달라질 수 있다.
본 발명의 실시 예에 따르면, 구동 신호 및 입력 클럭에 기반하여 클럭 게이팅 셀의 단위(또는 클럭 게이팅 셀 도메인의 단위)로 상태가 판별된다. 따라서, 판별된 상태의 정확성 및 신뢰성이 향상된다.
도 9는 집적 회로 장치(100)의 제3 부분 회로(100_3)의 상태가 판별되는 예를 보여준다. 제3 부분 회로(100_3)는 클럭 게이팅 셀들(CGC3, CGC8)의 클럭 게이팅 셀 도메인들(CGCD3, CGCD8)을 포함한다. 도 6 및 도 9를 참조하면, 1차 셀들로부터 순차적으로 클럭 게이팅 셀들(CGC3, CGC8)의 클럭 게이팅 셀 도메인들(CGCD3, CGCD8)의 상태들이 판별되고, 클럭 게이팅 셀 도메인들(CGCD3, CGCD8)의 상태가 판별될 수 있다.
제1 예에서, 클럭 게이팅 셀(CGC3)의 구동 신호(EN3)가 비활성 상태일 수 있다. 이 때, 클럭 게이팅 셀(CGC3)에 후속하는 클럭 게이팅 셀(CGC8)이 비활성 상태인 것으로 판별된다. 제1 예에서, 클럭 게이팅 셀 도메인들(CGCD3, CGCD8) 전체가 비활성 상태이며, 제1 상태(PS_D31)가 판별될 수 있다.
제2 예에서, 클럭 게이팅 셀 도메인(CGCD3)이 활성 상태이고, 클럭 게이팅 셀 도메인(CGCD8)이 비활성 상태일 수 있다. 제2 예에서, 제2 상태(PS_D32)가 판별될 수 있다.
제3 예에서, 클럭 게이팅 셀 도메인(CGCD3)이 활성 상태이고, 클럭 게이팅 셀 도메인(CGCD8)이 활성 상태일 수 있다. 제3 예에서, 제3 상태(PS_D33)가 판별될 수 있다.
도 10은 집적 회로 장치(100)의 제4 부분 회로(100_4)의 상태가 판별되는 예를 보여준다. 제4 부분 회로(100_4)는 클럭 게이팅 셀들(CGC4, CGC9, CGC9', CGC10)의 클럭 게이팅 셀 도메인들(CGCD4, CGCD9, CGCD9', CGCD10)을 포함한다. 도 5 및 9를 참조하면, 1차 셀들로부터 순차적으로 클럭 게이팅 셀들(CGC4, CGC9, CGC9', CGC10)의 클럭 게이팅 셀 도메인들(CGCD4, CGCD9, CGCD9', CGCD10)의 상태들이 판별되고, 클럭 게이팅 셀 도메인들(CGCD4, CGCD9, CGCD9', CGCD10)의 상태들에 따라 상태가 판별될 수 있다.
제1 예에서, 클럭 게이팅 셀(CGC4)의 구동 신호(EN4)가 비활성 상태일 수 있다. 이 때, 클럭 게이팅 셀(CGC4)에 후속하는 클럭 게이팅 셀 도메인들(CGCD4, CGCD9, CGCD9', CGCD10) 모두가 비활성 상태인 것으로 판별된다. 제1 예에서, 제1 상태(PS_D41)가 판별될 수 있다.
제2 예에서, 클럭 게이팅 셀(CGC4)의 구동 신호(EN4)는 활성 상태일 수 있다. 클럭 게이팅 셀 도메인(CGCD4)이 활성 상태이므로, 클럭 게이팅 셀(CGC4)에 후속하는 클럭 게이팅 셀 도메인들(CGCD9, CGCD10)의 상태들이 더 판별된다. 클럭 게이팅 셀들(CGC9, CGC10)의 구동 신호들(EN9, EN10)은 비활성 상태일 수 있다. 클럭 게이팅 셀 도메인(CGCD10)이 비활성 상태이므로, 클럭 게이팅 셀(CGC10)에 후속하는 클럭 게이팅 셀 도메인(CGCD9')은 비활성 상태인 것으로 판별된다. 제2 예에서, 클럭 게이팅 셀 도메인들(CGCD4, CGCD9, CGCD9', CGCD10)의 상태는 제2 상태(PS_D42)로 판별될 수 있다.
제3 예에서, 클럭 게이팅 셀(CGC4)의 구동 신호(EN4)는 활성 상태일 수 있다. 클럭 게이팅 셀(CGC9)의 구동 신호(EN9)는 비활성 상태이고, 클럭 게이팅 셀(CGC10)의 구동 신호(EN10)는 활성 상태일 수 있다. 클럭 게이팅 셀 도메인(CGCD10)이 활성 상태이므로, 클럭 게이팅 셀(CGC10)에 후속하는 클럭 게이팅 셀 도메인(CGCD9')의 상태가 더 판별될 수 있다. 클럭 게이팅 셀(CGC9')의 구동 신호(EN9)는 비활성 상태일 수 있다. 제3 예에서, 클럭 게이팅 셀 도메인들(CGCD4, CGCD9, CGCD9', CGCD10)의 상태는 제3 상태(PS_D43)로 판별될 수 있다.
제4 예에서, 클럭 게이팅 셀 도메인(CGCD4)은 활성 상태일 수 있다. 클럭 게이팅 셀 도메인(CGCD9)은 활성 상태이고, 클럭 게이팅 셀 도메인(CGCD10)은 비활성 상태일 수 있다. 클럭 게이팅 셀 도메인(CGCD10)이 비활성 상태이므로, 클럭 게이팅 셀 도메인(CGCD9')은 비활성 상태인 것으로 판별된다. 제4 예에서, 클럭 게이팅 셀 도메인들(CGCD4, CGCD9, CGCD9', CGCD10)의 상태는 제4 상태(PS_D44)로 판별될 수 있다.
제5 예에서, 클럭 게이팅 셀 도메인(CGCD4)은 활성 상태일 수 있다. 클럭 게이팅 셀 도메인(CGCD5)은 활성 상태이고, 클럭 게이팅 셀 도메인(CGCD10)은 활성 상태일 수 있다. 클럭 게이팅 셀(CGC10)에 후속하는 클럭 게이팅 셀 도메인(CGCD9')은 활성 상태일 수 있다. 제5 예에서, 상태는 제5 상태(PS_D45)로 판별될 수 있다.
도 10을 참조하면, 클럭 게이팅 셀들(CGC9, CGC9')은 동일한 구동 신호(EN9)를 수신한다. 종래의 방법에 따라 구동 신호(EN9)만을 이용하여 부분 회로(100_4)의 상태를 판별하는 경우, 클럭 게이팅 셀 도메인들(CGCD9, CGCD9')은 항상 동일한 상태를 갖는 것으로 간주된다. 그러나, 구동 신호(EN9)가 활성 상태라 하더라도, 구동 신호(EN4)가 활성 상태이고 구동 신호(EN10)가 비활성 상태이면, 클럭 게이팅 셀 도메인(CGCD9)은 활성 상태이고 클럭 게이팅 셀 도메인(CGCD9')은 비활성 상태이다. 즉, 동일한 구동 신호(EN9)를 수신하는 클럭 게이팅 셀 도메인들(CGCD9, CGCD9')의 상태들이 서로 달라질 수 있다.
본 발명의 실시 예에 따르면, 구동 신호 및 입력 클럭에 기반하여 클럭 게이팅 셀의 단위(또는 클럭 게이팅 셀 도메인의 단위)로 상태가 판별된다. 따라서, 상태의 정확성 및 신뢰성이 향상된다.
도 7 내지 도 10을 참조하여 설명된 전력 상태들에 기반하여, 집적 회로 장치(100)의 전력 상태가 판별될 수 있다. 예를 들어, 집적 회로 장치(100)는 도 7 내지 도 10을 참조하여 설명된 상태들의 조합의 수에 해당하는 전력 상태들을 가질 수 있다. 집적 회로 장치(100)의 전력 상태가 판별되면, 해당 전력 상태에서 집적 회로 장치가 소비하는 전력값이 계산되거나, 또는 해당 전력 상태에 대응하는 미리 계산된 전력값을 이용하여 집적 회로 장치(100)의 소비 전력이 계산될 수 있다.
도 11은 전력 상태에 대응하는 전력값을 계산하는 제1 예를 보여주는 순서도이다. 도 2 및 도 11을 참조하면, S410 단계에서, 집적 회로 장치(100)의 전력 상태들 각각에 대해, 소비 전력의 평균값이 계산된다. 예를 들어, 집적 회로 장치(100)에 공급되는 클럭(CLK)의 하나의 사이클 동안에 집적 회로 장치(100)에 의해 소비되는 전력의 평균값이 계산될 수 있다.
S420 단계에서, 계산된 평균값이 대응하는 전력 상태의 전력값으로 선택된다.
도 12는 도 11의 전력값을 계산하는 방법에 따라 전력값이 계산되는 예를 보여준다. 예시적으로, 집적 회로 장치(100)에 클럭(CLK)의 제1 내지 제5 사이클들(C1~C5)이 공급되는 동안 전력값이 계산되는 예가 도 12에 도시된다.
도 1, 도 11 및 도 12를 참조하면, 제1 사이클(C1)에 클럭 게이팅 셀 도메인(CGCD1)은 활성 상태이고, 나머지 클럭 게이팅 셀들(CGCD2~CGCD10)은 비활성 상태일 수 있다.
제2 사이클(C2)에, 클럭 게이팅 셀 도메인(CGCD2)은 활성 상태이고, 나머지 클럭 게이팅 셀들(CGCD1, CGCD3~CGCD10)은 비활성 상태일 수 있다.
제3 사이클(C3)에 클럭 게이팅 셀 도메인(CGCD1)은 활성 상태이고, 나머지 클럭 게이팅 셀들(CGCD2~CGCD10)은 비활성 상태일 수 있다.
제4 사이클(C4)에, 클럭 게이팅 셀 도메인(CGCD2)은 활성 상태이고, 나머지 클럭 게이팅 셀들(CGCD1, CGCD3~CGCD10)은 비활성 상태일 수 있다.
제5 사이클(C5)에, 클럭 게이팅 셀 도메인들(CGCD1, CGCD10)은 활성 상태이고, 나머지 클럭 게이팅 셀들(CGCD2~CGCD9')은 비활성 상태일 수 있다.
제1 사이클(C1)의 클럭 게이팅 셀 도메인들(CGCD1~CGCD10)의 상태들과 제3 사이클(C3)의 클럭 게이팅 셀 도메인들(CGCD1~CGCD10)의 상태들은 동일하다. 예를 들어, 제1 사이클(C1) 및 제3 사이클(C3)에서, 집적 회로 장치(100)는 제1 전력 상태를 가질 수 있다. 따라서, 제1 사이클(C1)의 집적 회로 장치(100)의 소비 전력(TP1) 및 제3 사이클(C3)의 집적 회로 장치(100)의 소비 전력(TP3)의 평균값이 제1 전력 상태의 전력값으로 계산될 수 있다.
마찬가지로, 제2 사이클(C2)의 클럭 게이팅 셀 도메인들(CGCD1~CGCD10)의 상태들과 제4 사이클(C4)의 클럭 게이팅 셀 도메인들(CGCD1~CGCD10)의 도메인들은 동일하다. 예를 들어, 제2 사이클(C2) 및 제4 사이클(C4)에서, 집적 회로 장치(100)는 제2 전력 상태를 가질 수 있다. 따라서, 제2 사이클(C2)의 집적 회로 장치(100)의 소비 전력(TP2) 및 제4 사이클(C4)의 집적 회로 장치(100)의 소비 전력(TP4)의 평균값이 제2 전력 상태의 전력값으로 계산될 수 있다.
도 11 및 도 12에서, 전력값은 평균을 이용하여 계산되는 것으로 설명되었다. 그러나, 전력값은 평균을 이용하여 계산되는 것으로 한정되지 않는다.
도 13은 전력 상태들 및 도 11에 도시된 방법에 따라 계산된 전력값들의 예를 보여주는 테이블이다. 도 2 및 도 13을 참조하면, 집적 회로 장치(100)는 제1 내지 제8 전력 상태들(PS1~PS8)을 갖는 것으로 가정된다. 예를 들어, 클럭(CLK)의 각 사이클에서, 집적 회로 장치(100)는 제1 내지 제8 전력 상태들(PS1~PS8) 중 하나를 가질 수 있다.
제1 내지 제8 전력값들(P1~P8)은 제1 내지 제8 전력 상태들(PS1~PS8)에 각각 대응할 수 있다. 예를 들어, 제1 내지 제8 전력값들(P1~P8)은 도 11에 도시된 방법에 따라 계산된 값들일 수 있다.
예를 들어, 클럭(CLK)의 각 사이클에서 집적 회로 장치(100)가 제k 전력 상태(PSk, k는 1과 8 사이의 양의 정수)를 가질 수 있다. 집적 회로 장치(100)가 제k 전력 상태(PSk)를 가질 때에 소비되는 전력의 평균값이 제k 전력값(Pk)으로 선택될 수 있다.
집적 회로 장치(100)의 전력 상태들(PS1~PS8) 및 전력값들(P1~P8)이 결정되면, 집적 회로 장치(100)의 소비 전력이 실시간으로 계산될 수 있다. 예를 들어, 도 4 또는 도 6에 도시된 방법에 따라 집적 회로 장치(100)의 전력 상태가 판별될 수 있다. 집적 회로 장치(100)의 전력 상태가 판별되면, 판별된 전력 상태에 대응하는 미리 계산된 전력값이 집적 회로 장치(100)의 소비 전력, 예를 들어 클럭(CLK)의 하나의 사이클 동안에 소비되는 전력으로 선택될 수 있다.
통상적으로, 집적 회로 장치(100)의 특정한 전력 상태에 대응하는 전력값을 계산하는 것은 매우 긴 시간을 필요로 한다. 본 발명의 실시 예들에 따르면, 전력값의 계산 없이 미리 계산된 전력값을 이용하여 집적 회로 장치(100)의 소비 전력이 획득되므로, 집적 회로 장치(100)의 소비 전력이 실시간으로 모니터될 수 있다.
도 14는 전력 상태에 대응하는 전력값을 계산하는 제2 예를 보여주는 순서도이다. 도 2 및 도 14를 참조하면, S510 단계에서, 집적 회로 장치(100)의 전력 상태들 중 일부 전력 상태들 각각에 대해, 제1 전력값들 및 제1 가중치들이 계산된다. 제1 전력값들은 도 11을 참조하여 설명된 바와 같이, 클럭 신호(CLK)의 각 사이클에서 집적 회로 장치(100)의 전력 상태 및 평균 소비 전력에 따라 계산될 수 있다.
제1 가중치들은, 집적 회로 장치(100)에서 전력이 소비되는 요소들을 고려하여 계산될 수 있다. 예를 들어, 제1 가중치들은 일부 전력 상태들에 각각 대응하는 커패시턴스를 이용하여 계산될 수 있다. 예를 들어, 제1 가중치들은, 활성 상태의 클럭 게이팅 셀 도메인들의 커패시턴스들의 총 합일 수 있다. 예를 들어, 제1 및 제2 클럭 게이팅 셀들(CGC1, CGC2)이 활성 상태일 수 있다. 이 때, 가중치는 제1 클럭 게이팅 셀 도메인(CGCD1)에 포함된 소자들, 예를 들어 플립 플롭들, 네트들 및 게이트들의 커패시턴스들(예를 들어, 입력 커패시턴스들), 그리고 제2 클럭 게이팅 셀 도메인(CGCD2)에 포함된 소자들, 예를 들어 플립 플롭들, 네트들 및 게이트들들의 커패시턴스들(예를 들어, 입력 커패시턴스들)의 총 합으로 계산될 수 있다. 다른 예로서, 제1 가중치들은, 활성 상태의 클럭 게이팅 셀들(또는 클럭 게이팅 셀 도메인들)의 개수 또는 활성 상태의 클럭 게이팅 셀들(또는 클럭 게이팅 셀 도메인들)의 면적에 기반하여 계산될 수 있다.
S520 단계에서, 집적 회로 장치(100)의 전력 상태들 중 나머지 전력 상태들의 제2 가중치들이 계산된다. 제2 가중치들은 제1 가중치들과 동일한 방법으로 계산될 수 있다.
S530 단계에서, 제1 가중치들과 제2 가중치들에 따라, 나머지 전력 상태들의 제2 전력값들이 계산될 수 있다. 예를 들어, 제1 가중치들과 제2 가중치들에 기반하여 제1 전력값들을 보간(interpolation) 또는 보외(extrapolation)함으로써, 제2 전력값들이 계산될 수 있다. 다른 예로서, 제1 가중치들과 제2 가중치들에 기반하여 제1 전력값들에 대해 다중회귀분석을 수행함으로써, 제2 전력값들이 게산될 수 있다.
예시적으로, 제1 가중치들 및 제2 가중치들이 계산될 때에, 게이팅되지 않는 플립플롭들, 네트들 및 게이트들이 고려될 수 있다. 게이팅되지 않는 플립플롭들, 네트들 및 게이트들은 클럭 게이팅 셀들에 관계 없이 동작하는 플립플롭들, 네트들 및 게이트들일 수 있다.
예를 들어, 제1 클럭 게이팅 도메인의 제1 가중치가 계산될 때에, 제1 클럭 게이팅 도메인과 연관되며 게이팅되지 않는 플립플롭들, 네트들 및 게이트들의 커패시턴스들, 개수 또는 면적이 반영될 수 있다. 또한, 제2 클럭 게이팅 도메인의 제2 가중치가 계산될 때에, 제2 클럭 게이팅 도메인과 연관되며 게이팅되지 않는 플립플롭들, 네트들 및 게이트들의 커패시턴스들, 개수 또는 면적이 반영될 수 있다.
클럭 게이팅 도메인의 커패시턴스들의 총 합이 계산될 때에, 클럭 게이팅 도메인의 플립플롭들, 네트들 및 게이트들의 연결 관계가 고려될 수 있다. 예를 들어, 클럭 게이팅 도메인의 플립플롭들, 네트들 및 게이트들의 커패시턴스들이 직렬 연결 관계인지 또는 병렬 연결 관계인지가 커패시턴스의 총 합이 계산될 때에 반영될 수 있다.
도 15는 전력 상태들 및 도 14에 도시된 방법에 따라 계산된 전력값들의 예를 보여주는 테이블이다. 도 14 및 도 15를 참조하면, 제1 내지 제8 전력 상태들(PS1~PS8) 중 제1, 제3, 제5, 및 제7 전력 상태들(P1, P3, P5, P7)에 각각 대응하는 제1, 제3, 제5 및 제7 전력값들(P1, P3, P5, P7)이 계산될 수 있다. 또한, 제1 내지 제8 전력 상태들(PS1~PS8)에 각각 대응하는 제1 내지 제8 가중치들(W1~W8)이 계산될 수 있다.
제1 내지 제8 가중치들(W1~W8)의 비율에 기반하여 제1, 제3, 제5 및 제7 전력값들(P1, P3, P5, P7)을 보간 또는 보외함으로써, 제2, 제4, 제6 및 제8 전력값들(P2', P4', P6', P8')이 계산될 수 있다.
도 16은 집적 회로 장치(100)의 전력 상태들의 수를 조절하는 예를 보여주는 순서도이다. 도 2 및 도 16을 참조하면, S610 단계에서, 구동 신호들의 등가성이 판별된다. 예를 들어, 제1 구동 신호가 활성 상태일 때에 제2 구동 신호가 항상 활성 상태이고, 제1 구동 신호가 비활성 상태일 때에 제2 구동 신호가 항상 비활성 상태일 수 있다. 마찬가지로, 제2 구동 신호가 활성 상태일 때에 제1 구동 신호가 항상 활성 상태이고, 제2 구동 신호가 비활성 상태일 때에 제1 구동 신호가 항상 활성 상태일 수 있다. 이와 같이, 실질적으로 동일하게 제어되는 제1 및 제2 구동 신호들이 존재하는 경우, 제1 및 제2 구동 신호들 사이에 등가성(equivalence)이 존재하는 것으로 판별될 수 있다.
S620 단계에서, 구동 신호들 사이에 등가성이 존재하는지 판별된다. 구동 신호들 사이에 등가성이 존재하면, S630 단계에서, 클럭 게이팅 도메인들의 상태들 중 불능의 상태 또는 집적 회로 장치(100)의 전력 상태들 중 불능의 전력 상태가 제거된다.
도 17은 등가성에 따라 부분 회로(100_1) 상태들의 수가 조절되는 예를 보여준다. 예시적으로, 클럭 게이팅 셀 도메인들(CGCD1, CGCD5, CGCD6, CGCD7)의 전력 상태들의 수가 조절되는 예가 도 17에 도시되어 있다.
도 16 및 도 17을 참조하면, 구동 신호들(EN5, EN7) 사이에 등가성이 존재하는 것으로 가정된다. 클럭 게이팅 셀 도메인들(CGCD1, CGCD5, CGCD6, CGCD7)의 전력 상태들(PS_D11~PS_D17) 중 제4 전력 상태(PS_D14)는 구동 신호(EN5)가 비활성 상태이고 구동 신호(EN7)가 활성 상태인 경우에 해당한다. 구동 신호들(EN5, EN7) 사이에 등가성이 존재하면, 제4 전력 상태(PS_D14)는 존재할 수 없는 불능의 전력 상태이다. 따라서, 클럭 게이팅 셀 도메인들(CGCD1, CGCD5, CGCD6, CGCD7)의 전력 상태들(PS_D11~PS_D17) 중에서 제4 전력 상태(PS_D14)가 제거될 수 있다.
마찬가지로, 제6 전력 상태(PS_D16)는 구동 신호(EN5)가 활성 상태이고 구동 신호(EN7)가 비활성 상태인 경우에 해당한다. 구동 신호들(EN5, EN7) 사이에 등가성이 존재하면, 제6 상태(PS_D16)는 존재할 수 없는 불능의 상태이다. 따라서, 클럭 게이팅 셀 도메인들(CGCD1, CGCD5, CGCD6, CGCD7)의 상태들(PS_D11~PS_D17) 중에서 제6 상태(PS_D16)가 제거될 수 있다.
구동 신호들 사이의 등가성을 이용하면, 집적 회로 장치(100)의 전력 상태들의 수가 감소된다. 전력 상태들의 수가 감소되면, 필요한 전력값들의 수 또한 감소한다. 따라서, 집적 회로 장치(100)의 소비 전력 계산 속도가 향상되고, 시간이 단축될 수 있다.
다른 예로서, 집적 회로 자치(100)의 전력 상태들은 종속성에 의해서도 감소될 수 있다. 예를 들어, 구동 신호(EN5)가 활성 상태일 때 구동 신호(EN7)는 활성 상태 또는 비활성 상태를 가질 수 있다. 구동 신호(EN5)가 비활성 상태일 때, 구동 신호(EN7)는 비활성 상태를 갖고, 활성 상태를 가질 수 없을 수 있다. 이 경우, 구동 신호들(EN5, EN7)은 종속성을 가지며, 구동 신호(EN7)는 구동 신호(EN5)에 종속되는 것으로 판별될 수 있다. 구동 신호들(EN5, EN7)이 종속성을 가지면, 집적 회로 장치(100)의 전력 상태들이 더 감소될 수 있다. 예를 들어, 구동 신호(EN5)가 비활성 상태이고 구동 신호(EN7)가 활성 상태인 전력 상태들은 불능이며, 제거될 수 있다.
도 18은 본 발명의 다른 실시 예에 따른 소비 전력 계산 방법을 보여주는 순서도이다. 도 2 및 도 18을 참조하면, S710 단계에서, 클럭 게이팅 셀들 중 일부 셀들의 입력 클럭들 및 구동 신호들에 따라, 집적 회로 장치(100)의 전력 상태가 결정된다.
S720 단계에서, 결정된 전력 상태를 이용하여 소비 전력이 계산된다.
도 1의 방법과 비교하면, 집적 회로 장치(100)의 클럭 게이팅 셀들 중 전부가 아닌 일부 셀들에 따라 집적 회로 장치(100)의 전력 상태가 결정된다. 따라서, 집적 회로 장치(100)의 전력 상태들의 수가 감소된다.
도 19는 도 18의 방법에 따라 결정된 부분 회로(100_1)의 상태들의 예를 보여준다. 설명의 편의를 이하여, 루트(root) 셀, 줄기(stem) 셀, 말단(leaf) 셀, 가지(branch) 셀이 정의된다. 루트(root) 셀은 게이팅되지 않는 클럭을 수신하는 클럭 게이팅 셀을 가리킬 수 있다. 줄기(stem) 셀은 출력 클럭이 다른 클럭 게이팅 셀들의 입력으로만 사용되는 클럭 게이팅 셀을 가리킨다. 말단 셀은 출력 클럭이 다른 클럭 게이팅 셀들의 입력들로 사용되지 않는 클럭 게이팅 셀을 가리킨다. 가지 셀은 루트 셀, 말단 셀 및 줄기 셀에 속하지 않는 클럭 게이팅 셀을 가리킨다.
도 18 및 도 19를 참조하면, 클럭 게이팅 셀 도메인(CGCD1)의 전력 상태는 말단 셀들의 상태들에 따라 결정될 수 있다. 예시적으로, 클럭 게이팅 셀들(CGC5, CGC7)이 말단 셀들일 수 있다.
제1 내지 제3 예들에서, 클럭 게이팅 셀들(CGC5, CGC7)은 모두 비활성 상태이다. 따라서, 제1 내지 제3 예들은 하나의 상태(PS_D11)에 해당할 수 있다.
제4 예에서, 클럭 게이팅 셀(CGC5)은 비활성 상태이고, 클럭 게이팅 셀(CGC7)은 활성 상태이다. 따라서, 제4 예는 다른 하나의 상태(PS_D12)에 해당할 수 있다.
제5 및 제6 예들에서, 클럭 게이팅 셀(CGC5)은 활성 상태이고, 클럭 게이팅 셀(CGC7)은 비활성 상태이다. 따라서, 제5 및 제6 예들은 또다른 하나의 상태(PS_D13)에 해당할 수 있다.
제7 예에서, 클럭 게이팅 셀들(CGC5, CGC7)은 활성 상태이다. 따라서, 제7 예는 또다른 하나의 상태(PS_D14)에 해당할 수 있다.
상술된 바와 같이, 클럭 게이팅 셀들 중 일부 셀들에 의해 전력 상태가 결정되면, 집적 회로 장치(100)의 전력 상태들의 수가 감소된다. 따라서, 집적 회로 장치(100)의 소비 전력을 계산하는 속도가 향상되고, 시간이 단축된다.
도 19에서, 말단 셀들을 이용하여 전력 상태를 결정하는 예가 설명되었다. 그러나, 전력 상태의 결정에 사용되는 일부 클럭 게이팅 셀들은 말단 셀들인 것으로 한정되지 않는다. 예를 들어, 말단 셀들 뿐 아니라 가지 셀들을 거 포함하여 집적 회로 장치(100)의 전력 상태가 결정될 수 있다.
도 20은 본 발명의 실시 예에 따른 소비 전력 계산 장치(200)를 보여주는 블록도이다. 도 20을 참조하면, 소비 전력 계산 장치(200)는 스토리지 장치(210) 및 시뮬레이션 장치(220)를 포함한다.
스토리지 장치(210)는 하드 디스크 드라이브, 플래시 메모리 등과 같은 불휘발성 저장 장치일 수 있다. 스토리지 장치(210)는 집적 회로 장치(100)에 대한 집적 회로 코드(211)를 포함할 수 있다. 예를 들어, 집적 회로 코드(211)는 집적 회로 장치(100)의 레이아웃에 대한 코드, HDL (Hardware Description Language) 코드 등을 포함할 수 있다.
시뮬레이션 장치(220)는 소비 전력 시뮬레이션 코드(221)를 구동할 수 있다. 시뮬레이션 장치(220)는 스토리지 장치(210)를 액세스하여, 집적 회로 코드(211)를 읽을 수 있다. 시뮬레이션 장치(220)는 소비 전력 시뮬레이션 코드(221)를 이용하여, 집적 회로 코드(211)로부터 소비 전력을 계산할 수 있다. 예를 들어, 시뮬레이션 장치(220)는 도 1 내지 도 19를 참조하여 설명된 방법에 따라, 집적 회로 코드(211)로부터 전력값들을 계산하거나 소비 전력을 계산할 수 있다.
시뮬레이션 장치(220)는 소비 전력 시뮬레이션 코드(221)를 구동하도록 구성된 특수 목적 컴퓨터일 수 있다. 시뮬레이션 장치(220)는 범용 컴퓨터일 수 있다.
도 21은 본 발명의 다른 실시 예에 따른 집적 회로 장치(400)를 보여주는 블록도이다. 도 21을 참조하면, 집적 회로 장치(400)는 집적 회로 블록(100) 및 실시간 소비 전력 측정 블록(300)을 포함한다.
집적 회로 블록(100)은 도 2를 참조하여 설명된 바와 같이, 다양한 클럭 게이팅 셀들, 팬-인 로직들, 클럭 게이팅 도메인들을 포함할 수 있다.
실시간 소비 전력 측정 블록(300)은 집적 회로 블록(100)으로부터 클럭 게이팅 셀들의 구동 신호들을 수신할 수 있다. 실시간 소비 전력 측정 블록(300)은 도 1 내지 도 18을 참조하여 설명된 바에 따라, 집적 회로 블록(100)의 전력 상태를 결정할 수 있다. 실시간 소비 전력 측정 블록(300)은 결정된 전력 상태 및 미리 저장된 전력값에 따라, 집적 회로 블록(100)의 소비 전력을 실시간으로 측정할 수 있다.
본 발명의 상세한 설명에서는 구체적인 실시 예에 관하여 설명하였으나, 본 발명의 범위와 기술적 사상에서 벗어나지 않는 한도 내에서 여러 가지 변형이 가능하다. 그러므로 본 발명의 범위는 상술한 실시 예에 국한되어 정해져서는 안되며 후술하는 특허청구범위뿐만 아니라 이 발명의 특허청구범위와 균등한 것들에 의해 정해져야 한다.

Claims (20)

  1. 복수의 구동 신호들에 의해 각각 구동되고 복수의 입력 클럭들을 각각 수신하여 게이팅하는 복수의 클럭 게이팅 셀들을 포함하는 집적 회로 장치의 소비 전력을 측정하는 방법에 있어서:
    상기 복수의 입력 클럭들의 상태들 및 상기 복수의 구동 신호들의 상태들에 따라 상기 집적 회로 장치의 전력 상태를 결정하는 단계; 그리고
    상기 결정된 전력 상태에 따라 상기 집적 회로 장치의 소비 전력을 계산하는 단계를 포함하는 방법.
  2. 제1 항에 있어서,
    상기 전력 상태를 결정하는 단계는,
    특정한 클럭 게이팅 셀의 구동 신호가 비활성 상태이면, 상기 특정한 클럭 게이팅 셀이 비활성화된 것을 가리키는 전력 상태를 결정하는 단계를 포함하는 방법.
  3. 제2 항에 있어서,
    상기 전력 상태를 결정하는 단계는,
    상기 특정한 클럭 게이팅 셀의 구동 신호가 활성 상태이고, 상기 특정한 클럭 게이팅 셀의 입력 클럭이 비활성 상태이면, 상기 특정한 클럭 게이팅 셀이 비활성화된 것을 가리키는 전력 상태를 결정하는 단계를 더 포함하는 방법.
  4. 제3 항에 있어서,
    상기 전력 상태를 결정하는 단계는,
    상기 특정한 클럭 게이팅 셀의 구동 신호가 활성 상태이고, 상기 특정한 클럭 게이팅 셀의 입력 클럭이 활성 상태이면, 상기 특정한 클럭 게이팅 셀이 활성화된 것을 가리키는 전력 상태를 결정하는 단계를 더 포함하는 방법.
  5. 제1 항에 있어서,
    상기 전력 상태를 결정하는 단계는,
    특정한 클럭 게이팅 셀이 비활성 상태일 때, 상기 특정한 클럭 게이팅 셀의 출력 클럭을 입력 클럭들로 수신하는 클럭 게이팅 셀들이 비활성화된 것을 가리키는 전력 상태를 결정하는 단계를 더 포함하는 방법.
  6. 제1 항에 있어서,
    상기 소비 전력을 계산하는 단계는,
    상기 집적 회로 장치가 상기 결정된 전력 상태에 속할 때에, 상기 집적 회로 장치에 의해 소비되는 전력값을 계산하는 단계를 포함하는 방법.
  7. 제6 항에 있어서,
    상기 전력값을 계산하는 단계는, 상기 집적 회로 장치가 갖는 전력 상태들 각각에 대해 수행되는 방법.
  8. 제6 항에 있어서,
    상기 전력값을 계산하는 단계는, 상기 집적 회로 장치가 갖는 전력 상태들 중 일부 상태들 각각에 대해 수행되는 방법.
  9. 제8 항에 있어서,
    상기 소비 전력을 계산하는 단계는,
    상기 집적 회로 장치가 갖는 전력 상태들 각각에 대해 가중치를 계산하는 단계를 더 포함하는 방법.
  10. 제9 항에 있어서,
    상기 전력 상태들의 가중치들은 상기 복수의 클럭 게이팅 셀들의 출력 커패시턴스들에 따라 결정되는 방법.
  11. 제9 항에 있어서,
    상기 소비 전력을 계산하는 단계는,
    상기 전력 상태들의 가중치들 및 상기 일부 상태들의 전력값들에 기반하여, 상기 전력 상태들 중 나머지 상태들의 전력값들을 계산하는 단계를 더 포함하는 방법.
  12. 제11 항에 있어서,
    상기 나머지 상태들의 전력값들을 계산하는 단계는 보간법 또는 보외법에 기반하여 수행되는 방법.
  13. 제6 항에 있어서,
    상기 전력 상태를 결정하는 단계는,
    상기 복수의 구동 신호들의 기능적 등가성 또는 종속성에 기반하여, 불능의 전력 상태를 제거하는 단계를 포함하는 방법.
  14. 제1 항에 있어서,
    상기 소비 전력을 계산하는 단계는,
    상기 결정된 전력 상태에 대응하는 전력값을 이용하여, 상기 집적 회로 장치의 단위 시간당 소비 전력을 계산하는 단계를 포함하는 방법.
  15. 제14 항에 있어서,
    상기 단위 시간 동안에, 상기 전력 상태는 복수회 결정되는 방법.
  16. 제1 항에 있어서,
    상기 전력 상태는 상기 복수의 클럭 게이팅 셀들 중 일부 클럭 게이팅 셀들에 따라 결정되는 방법.
  17. 집적 회로 장치에 있어서:
    입력 클럭들 및 구동 신호들을 각각 수신하고, 상기 수신된 구동 신호들에 응답하여 상기 수신된 클럭 신호들을 게이팅하여 출력하도록 구성되는 복수의 클럭 게이팅 셀들; 그리고
    상기 입력 클럭들의 상태들 및 상기 구동 신호들의 상태들에 따라 상기 집적 회로 장치의 전력 상태를 결정하고, 상기 결정된 전력 상태에 따라 상기 집적 회로 장치의 소비 전력을 계산하도록 구성되는 소비 전력 측정 장치를 포함하는 집적 회로 장치.
  18. 제17 항에 있어서,
    상기 소비 전력 측정 장치는, 특정한 클럭 게이팅 셀의 구동 신호가 비활성 상태이면 상기 특정한 클럭 게이팅 셀이 비활성화된 것을 가리키는 전력 상태를 결정하는 집적 회로 장치.
  19. 제18 항에 있어서,
    상기 소비 전력 측정 장치는, 상기 특정한 클럭 게이팅 셀의 구동 신호가 활성 상태이고, 상기 특정한 클럭 게이팅 셀의 입력 클럭이 비활성 상태이면, 상기 특정한 클럭 게이팅 셀이 비활성화된 것을 가리키는 전력 상태를 결정하고,
    상기 소비 전력 측정 장치는, 상기 특정한 클럭 게이팅 셀의 구동 신호가 활성 상태이고, 상기 특정한 클럭 게이팅 셀의 입력 클럭이 활성 상태이면, 상기 특정한 클럭 게이팅 셀이 활성화된 것을 가리키는 전력 상태를 결정하는 집적 회로 장치.
  20. 제17 항에 있어서,
    상기 소비 전력 측정 장치는, 특정한 클럭 게이팅 셀이 비활성 상태일 때, 상기 특정한 클럭 게이팅 셀의 출력 클럭을 입력 클럭들로 수신하는 클럭 게이팅 셀들이 비활성화된 것을 가리키는 전력 상태를 결정하는 집적 회로 장치.
PCT/KR2015/007240 2014-09-30 2015-07-13 집적 회로 장치 및 집적 회로 장치의 소비 전력을 계산하는 방법 WO2016052844A1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR10-2014-0131724 2014-09-30
KR1020140131724A KR20160038532A (ko) 2014-09-30 2014-09-30 집적 회로 장치 및 집적 회로 장치의 소비 전력을 계산하는 방법

Publications (1)

Publication Number Publication Date
WO2016052844A1 true WO2016052844A1 (ko) 2016-04-07

Family

ID=55630842

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/KR2015/007240 WO2016052844A1 (ko) 2014-09-30 2015-07-13 집적 회로 장치 및 집적 회로 장치의 소비 전력을 계산하는 방법

Country Status (2)

Country Link
KR (1) KR20160038532A (ko)
WO (1) WO2016052844A1 (ko)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102350943B1 (ko) * 2021-07-12 2022-01-14 주식회사 바움디자인시스템즈 집적 회로에 대한 소비 전력을 예측하는 방법 및 이를 수행하는 소비 전력 예측 시스템

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5481469A (en) * 1993-09-13 1996-01-02 Vlsi Technology, Inc. Automatic power vector generation for sequential circuits
JP2007272288A (ja) * 2006-03-30 2007-10-18 Fujitsu Ltd 消費電力算出プログラム、記録媒体、消費電力算出方法、および消費電力算出装置
JP2009003618A (ja) * 2007-06-20 2009-01-08 Toshiba Corp 消費電力解析装置および消費電力解析方法
KR20110113551A (ko) * 2010-08-24 2011-10-17 광운대학교 산학협력단 클럭 게이팅 집적 회로 장치의 소비 전력 예측 방법

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5481469A (en) * 1993-09-13 1996-01-02 Vlsi Technology, Inc. Automatic power vector generation for sequential circuits
JP2007272288A (ja) * 2006-03-30 2007-10-18 Fujitsu Ltd 消費電力算出プログラム、記録媒体、消費電力算出方法、および消費電力算出装置
JP2009003618A (ja) * 2007-06-20 2009-01-08 Toshiba Corp 消費電力解析装置および消費電力解析方法
KR20110113551A (ko) * 2010-08-24 2011-10-17 광운대학교 산학협력단 클럭 게이팅 집적 회로 장치의 소비 전력 예측 방법

Also Published As

Publication number Publication date
KR20160038532A (ko) 2016-04-07

Similar Documents

Publication Publication Date Title
WO2012026679A2 (ko) 클럭 게이팅 집적 회로 장치의 소비 전력 예측 방법
WO2019039892A1 (en) METHOD AND ELECTRONIC MODE SWITCHING DEVICE AND CORRESPONDING INFORMATION CARRIER
WO2021101069A1 (ko) 기계 학습 모델을 이용한 반도체 소자 테스트 장치 및 방법
WO2021246692A1 (en) Method and device for residing in network, and method and device for assisting to reside in network
WO2017116055A1 (ko) 양자 노이즈 기반 난수생성기의 성능을 관리하기 위한 장치 및 방법
WO2018166199A1 (zh) 定位精度等级调整方法、装置、存储介质及电子设备
WO2020171518A1 (en) Electronic device for adaptive power management
WO2016032022A1 (ko) 전자 장치에서 배터리 소모를 줄이기 위한 방법
WO2018076812A1 (zh) 数据请求的响应方法、装置、存储介质、服务器及系统
EP3022628A1 (en) Mobile terminal and method of determining and displaying power efficiency of an application
WO2020189919A1 (ko) 배터리 상태 추정 장치
WO2017206885A1 (zh) 应用程序的关闭方法、装置、存储介质及电子设备
WO2022114871A1 (ko) 배터리 진단 장치, 배터리 진단 방법, 배터리 팩 및 자동차
WO2018076840A1 (zh) 数据分享方法、装置、存储介质及服务器
WO2020235937A1 (en) Sensor device and electronic device obtaining information from the sensor device
WO2017193514A1 (zh) 一种消除设备在关机状态下漏电的电路
WO2018076869A1 (zh) 一种数据备份方法、装置、存储介质和电子设备
WO2018076829A1 (zh) 终端数据的处理方法、装置、系统、存储介质及服务器
WO2017206870A1 (zh) 一种传感器关闭方法、装置、存储介质及电子设备
WO2011062442A4 (ko) 표시장치 구동회로의 출력전압 안정화 회로
WO2016052844A1 (ko) 집적 회로 장치 및 집적 회로 장치의 소비 전력을 계산하는 방법
WO2017206867A1 (zh) 一种传感器的关闭方法、装置、存储介质及电子设备
WO2015088154A1 (en) Server and method of transmitting data thereof, and mobile device and sensing method thereof
WO2017206884A1 (zh) 应用程序关闭方法、装置、存储介质及电子设备
WO2021085786A1 (ko) 집적 회로 및 그것을 포함하는 시스템 제어 장치

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

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 15847728

Country of ref document: EP

Kind code of ref document: A1