IP Library Granted Patent US 7,971,082
Granted Patent B2
US 7,971,082 · App. 12/013,478 · Granted Jun 28, 2011

Method and system for estimating power consumption of integrated circuit design

View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 7,971,082
App. No.
12/013,478
Granted
Jun 28, 2011
Kind
B2
Abstract

A method and system for estimating power consumption for at least one Intellectual Property (IP) block in an integrated circuit (IC) design includes identifying at least one port in the at least one IP block. The at least one port is associated with at least one operation. A sequence of micro-operations of the at least one operation is identified. The sequence of micro-operations constitutes an operation pipeline. A set of micro-operations per cycle in the operation pipeline and energy per cycle of each cycle of the operation pipeline, based on the set of micro-operations per cycle by using one or more of, an idle energy value, a micro-operation isolated energy (MIE) value, an overlap energy (OE) value, and a micro-operation overlap energy (MOE) value, are determined. Then the power consumption of the at least one IP block is determined using the energy per cycle of each cycle of the operation pipeline.

Claims (40)

1. A method for estimating power consumption for at least one Intellectual Property (IP) block in an integrated circuit(IC) design, the method comprising:

identifying at least one port in the at least one IP block, wherein the at least one port is associated with at least one operation;

identifying a sequence of micro-operations of the at least one operation, wherein the sequence of micro-operations constitute an operation pipeline;

identifying a set of micro-operations per cycle of the operation pipeline;

determining an energy per cycle for each cycle of the operation pipeline based on the set of micro-operations per cycle using one or more of an idle energy value, a micro-operation isolated energy (MIE) value, an overlap energy (OE) value, and a micro-operation overlap energy (MOE) value; and

determining power consumption of the at least one IP block using the energy per cycle for each cycle of the operation pipeline.

2. The power consumption estimation method of claim 1 , wherein the idle energy value is determined based on energy consumption in the at least one IP block when the at least one operation is not being executed.

3. The power consumption estimation method of claim 1 , further comprising determining the energy per cycle for each cycle of the operation pipeline using the MIE value and the idle energy value when one micro-operation from the set of micro-operations is being executed per cycle.

4. The power consumption estimation method of claim 1 , wherein the MIE value is determined using a first predefined table.

5. The power consumption estimation method of claim 4 , wherein the MIE value of a micro-operation is based on a measured energy consumption value of the micro-operation and the idle energy value, and wherein the MIE value is stored in the first predefined table.

6. The power consumption estimation method of claim 4 , wherein the MOE value is determined using a second predefined table.

7. The power consumption estimation method of claim 6 , wherein the MOE value is based on a measured energy consumption value, the idle energy value and the MIE value when at least two micro-operations from the set of micro-operations are being executed per cycle, and wherein the MOE value is stored in the second predefined table.

8. The power consumption estimation method of claim 6 , wherein the OE value is determined using a third predefined table.

9. The power consumption estimation method of claim 8 , wherein the OE value is based on a measured energy consumption value, the idle energy value and the MIE value when at least two micro-operations from the set of micro-operations are being executed per cycle, and wherein the OE value is stored in the third predefined table.

10. The power consumption estimation method of claim 8 , further comprising reducing the sizes of the first, second and third tables based on port independence and operation independence of one or more of micro-operation isolated energy and overlap energy of the set of micro-operations per cycle.

11. The power consumption estimation method of claim 10 , further comprising determining the energy per cycle for each cycle of the operation pipeline using the MIE value, the MOE value and the idle energy value when at least one or more micro-operations from the set of micro-operations are being executed per cycle and when MOE reduction to determine the energy per cycle for each cycle of the operation pipeline is applicable to the set of micro-operations per cycle.

12. The power consumption estimation method of claim 10 , further comprising determining the energy per cycle for each cycle of the operation pipeline using the MIE value, the OE value and the idle energy value when at least two micro-operations from the set of micro-operations are being executed per cycle and when MOE reduction to determine the energy per cycle for each cycle of the operation pipeline is not applicable to the set of micro-operations per cycle.

13. The power consumption estimation method of claim 1 , further comprising the step of determining total energy consumption in the at least one IP block using energy consumption of one or more operation pipelines.

14. The power consumption estimation method of claim 13 , further comprising the step of determining average power consumption in the at least one IP block using the total energy consumption in the at least one IP block.

15. A system for estimating power consumption for at least one Intellectual Property (IP) block in an integrated circuit(IC) design, the system comprising:

a port identification module that identifies at least one port in the at least one IP block, wherein the at least one port is associated with at least one operation;

a micro-operation sequence identifier module in communication with the port identification module that identifies a sequence of micro-operations of the at least one operation, wherein the sequence of micro-operations constitutes an operation pipeline;

a micro-operation cycle identifier module in communication with the micro-operation sequence identifier module that identifies a set of micro-operations per cycle in the operation pipeline;

an energy-calculator module in communication with the micro-operation cycle identifier module that determines an energy per cycle for each cycle of the operation pipeline based on the set of micro-operations per cycle using one or more of an idle energy value, a micro-operation isolated energy (MIE) value, an overlap energy value (OE), and a micro-operation overlap energy (MOE) value; and

an operation power calculator module in communication with the energy-calculator module that determines power consumption of the operation pipeline using the energy per cycle for each cycle of the operation pipeline.

16. The power consumption estimation system of claim 15 , wherein the MIE value is stored in a first predefined table, the MOE value is stored in a second predefined table, and the OE value is stored in a third predefined table.

17. The power consumption estimation system of claim 16 , wherein the energy-calculator module further comprises a characterizing module, wherein the characterizing module comprises:

an MIE value calculator module that calculates the MIE value and stores the MIE value in the first predefined table, wherein the MIE value is based on a measured energy consumption value and the idle energy value when one micro-operation from the set of micro-operations is being executed per cycle;

an MOE value calculator module in communication with the MIE value calculator module that calculates the MOE value and stores the MOE value in the second predefined table, wherein the MOE value is based on a measured energy consumption value, the idle energy value and the MIE value when at least two micro-operations from the set of micro-operations are being executed per cycle; and

an OE value calculator module in communication with the MIE value calculator module that calculates the OE value and stores the OE value in the third predefined table, wherein the OE value is based on a measured energy consumption value, the idle energy value and the MIE value when at least two micro-operations from the set of micro-operations are being executed per cycle.

18. The power consumption estimation system of claim 15 , further comprising a reduction module that reduces the MIE, MOE, and OE table sizes based on port independence and operation independence of one or more of micro-operation isolated energy and overlap energy of the set of micro-operations per cycle.

19. The power consumption estimation system of claim 15 , further comprising:

a total energy-calculator module that determines total energy consumption in the at least one IP block using energy consumption of one or more operation pipelines; and

an average power calculator module that determines average power consumption in the at least one IP block using the total energy consumption in the at least one IP block.

20. A computer program product, stored in a tangible computer readable medium, for estimating power consumption for at least one Intellectual Property (IP) block in an integrated circuit(IC) design, the computer program product comprising:

a first set of instructions for identifying at least one port in the at least one IP block, wherein the at least one port is associated with at least one operation;

a second set of instructions for identifying a sequence of micro-operations for the at least one operation, wherein the sequence of micro-operations constitute the operation pipeline;

a third set of instructions for identifying a set of micro-operations per cycle in the operation pipeline;

a fourth set of instructions for determining an energy per cycle for each cycle of the operation pipeline based on the set of micro-operations per cycle using one or more of an idle energy value, a micro-operation isolated energy(MIE) value, an overlap energy value(OE), and a micro-operation overlap energy (MOE) value; and

a fifth set of instructions for determining power consumption of the at least one IP block using the energy per cycle for each cycle of the operation pipeline.

Assignments (31)
CORRECTIVE ASSIGNMENT TO CORRECT THE REMOVE APPLICATION 11759915 AND REPLACE IT WITH APPLICATION 11759935 PREVIOUSLY RECORDED ON REEL 040925 FRAME 0001. ASSIGNOR(S) HEREBY CONFIRMS THE RELEASE OF SECURITY INTEREST. Recorded Feb 17, 2020
From: MORGAN STANLEY SENIOR FUNDING, INC.
To: NXP, B.V. F/K/A FREESCALE SEMICONDUCTOR, INC.
Reel/Frame 052917/0001 →
CORRECTIVE ASSIGNMENT TO CORRECT THE REMOVE APPLICATION 11759915 AND REPLACE IT WITH APPLICATION 11759935 PREVIOUSLY RECORDED ON REEL 040928 FRAME 0001. ASSIGNOR(S) HEREBY CONFIRMS THE RELEASE OF SECURITY INTEREST. Recorded Jan 17, 2020
From: MORGAN STANLEY SENIOR FUNDING, INC.
To: NXP B.V.
Reel/Frame 052915/0001 →
CORRECTIVE ASSIGNMENT TO CORRECT THE REMOVE APPLICATION 11759915 AND REPLACE IT WITH APPLICATION 11759935 PREVIOUSLY RECORDED ON REEL 037486 FRAME 0517. ASSIGNOR(S) HEREBY CONFIRMS THE ASSIGNMENT AND ASSUMPTION OF SECURITY INTEREST IN PATENTS. Recorded Dec 10, 2019
From: CITIBANK, N.A.
To: MORGAN STANLEY SENIOR FUNDING, INC.
Reel/Frame 053547/0421 →
CORRECTIVE ASSIGNMENT TO CORRECT THE REMOVE APPLICATION 12298143 PREVIOUSLY RECORDED ON REEL 042762 FRAME 0145. ASSIGNOR(S) HEREBY CONFIRMS THE SECURITY AGREEMENT SUPPLEMENT. Recorded Oct 22, 2019
From: NXP B.V.
To: MORGAN STANLEY SENIOR FUNDING, INC.
Reel/Frame 051145/0184 →
CORRECTIVE ASSIGNMENT TO CORRECT THE REMOVE APPLICATION 12298143 PREVIOUSLY RECORDED ON REEL 038017 FRAME 0058. ASSIGNOR(S) HEREBY CONFIRMS THE SECURITY AGREEMENT SUPPLEMENT. Recorded Oct 22, 2019
From: NXP B.V.
To: MORGAN STANLEY SENIOR FUNDING, INC.
Reel/Frame 051030/0001 →
CORRECTIVE ASSIGNMENT TO CORRECT THE REMOVE APPLICATION 12298143 PREVIOUSLY RECORDED ON REEL 042985 FRAME 0001. ASSIGNOR(S) HEREBY CONFIRMS THE SECURITY AGREEMENT SUPPLEMENT. Recorded Oct 22, 2019
From: NXP B.V.
To: MORGAN STANLEY SENIOR FUNDING, INC.
Reel/Frame 051029/0001 →
CORRECTIVE ASSIGNMENT TO CORRECT THE REMOVE APPLICATION 12298143 PREVIOUSLY RECORDED ON REEL 039361 FRAME 0212. ASSIGNOR(S) HEREBY CONFIRMS THE SECURITY AGREEMENT SUPPLEMENT. Recorded Oct 22, 2019
From: NXP B.V.
To: MORGAN STANLEY SENIOR FUNDING, INC.
Reel/Frame 051029/0387 →
RELEASE OF SECURITY INTEREST Recorded Sep 10, 2019
From: MORGAN STANLEY SENIOR FUNDING, INC.
To: NXP B.V.
Reel/Frame 050745/0001 →
RELEASE OF SECURITY INTEREST Recorded Sep 10, 2019
From: MORGAN STANLEY SENIOR FUNDING, INC.
To: NXP B.V.
Reel/Frame 050744/0097 →
CORRECTIVE ASSIGNMENT TO CORRECT THE TO CORRECT THE APPLICATION NO. FROM 13,883,290 TO 13,833,290 PREVIOUSLY RECORDED ON REEL 041703 FRAME 0536. ASSIGNOR(S) HEREBY CONFIRMS THE THE ASSIGNMENT AND ASSUMPTION OF SECURITY INTEREST IN PATENTS.. Recorded Feb 20, 2019
From: MORGAN STANLEY SENIOR FUNDING, INC.
To: SHENZHEN XINGUODU TECHNOLOGY CO., LTD.
Reel/Frame 048734/0001 →
CORRECTIVE ASSIGNMENT TO CORRECT THE REMOVE APPLICATION 12681366 PREVIOUSLY RECORDED ON REEL 038017 FRAME 0058. ASSIGNOR(S) HEREBY CONFIRMS THE SECURITY AGREEMENT SUPPLEMENT. Recorded May 9, 2017
From: NXP B.V.
To: MORGAN STANLEY SENIOR FUNDING, INC.
Reel/Frame 042985/0001 →
CORRECTIVE ASSIGNMENT TO CORRECT THE REMOVE APPLICATION 12681366 PREVIOUSLY RECORDED ON REEL 039361 FRAME 0212. ASSIGNOR(S) HEREBY CONFIRMS THE SECURITY AGREEMENT SUPPLEMENT. Recorded May 9, 2017
From: NXP B.V.
To: MORGAN STANLEY SENIOR FUNDING, INC.
Reel/Frame 042762/0145 →
CORRECTIVE ASSIGNMENT TO CORRECT THE REMOVE PATENTS 8108266 AND 8062324 AND REPLACE THEM WITH 6108266 AND 8060324 PREVIOUSLY RECORDED ON REEL 037518 FRAME 0292. ASSIGNOR(S) HEREBY CONFIRMS THE ASSIGNMENT AND ASSUMPTION OF SECURITY INTEREST IN PATENTS. Recorded Feb 1, 2017
From: CITIBANK, N.A.
To: MORGAN STANLEY SENIOR FUNDING, INC.
Reel/Frame 041703/0536 →
CORRECTIVE ASSIGNMENT TO CORRECT THE NATURE OF CONVEYANCE LISTED CHANGE OF NAME SHOULD BE MERGER AND CHANGE PREVIOUSLY RECORDED AT REEL: 040652 FRAME: 0180. ASSIGNOR(S) HEREBY CONFIRMS THE MERGER AND CHANGE OF NAME. Recorded Jan 12, 2017
From: FREESCALE SEMICONDUCTOR INC.
To: NXP USA, INC.
Reel/Frame 041354/0148 →
CHANGE OF NAME Recorded Nov 8, 2016
From: FREESCALE SEMICONDUCTOR INC.
To: NXP USA, INC.
Reel/Frame 040652/0180 →
RELEASE OF SECURITY INTEREST Recorded Nov 7, 2016
From: MORGAN STANLEY SENIOR FUNDING, INC.
To: NXP B.V.
Reel/Frame 040928/0001 →
RELEASE OF SECURITY INTEREST Recorded Sep 21, 2016
From: MORGAN STANLEY SENIOR FUNDING, INC.
To: NXP, B.V., F/K/A FREESCALE SEMICONDUCTOR, INC.
Reel/Frame 040925/0001 →
CORRECTIVE ASSIGNMENT TO CORRECT THE REMOVE APPLICATION 12092129 PREVIOUSLY RECORDED ON REEL 038017 FRAME 0058. ASSIGNOR(S) HEREBY CONFIRMS THE SECURITY AGREEMENT SUPPLEMENT. Recorded Jul 14, 2016
From: NXP B.V.
To: MORGAN STANLEY SENIOR FUNDING, INC.
Reel/Frame 039361/0212 →
SUPPLEMENT TO THE SECURITY AGREEMENT Recorded Jun 16, 2016
From: FREESCALE SEMICONDUCTOR, INC.
To: MORGAN STANLEY SENIOR FUNDING, INC.
Reel/Frame 039138/0001 →
SECURITY AGREEMENT SUPPLEMENT Recorded Mar 7, 2016
From: NXP B.V.
To: MORGAN STANLEY SENIOR FUNDING, INC.
Reel/Frame 038017/0058 →
ASSIGNMENT AND ASSUMPTION OF SECURITY INTEREST IN PATENTS Recorded Jan 13, 2016
From: CITIBANK, N.A.
To: MORGAN STANLEY SENIOR FUNDING, INC.
Reel/Frame 037518/0292 →
ASSIGNMENT AND ASSUMPTION OF SECURITY INTEREST IN PATENTS Recorded Jan 12, 2016
From: CITIBANK, N.A.
To: MORGAN STANLEY SENIOR FUNDING, INC.
Reel/Frame 037486/0517 →
PATENT RELEASE Recorded Dec 21, 2015
From: CITIBANK, N.A., AS COLLATERAL AGENT
To: FREESCALE SEMICONDUCTOR, INC.
Reel/Frame 037354/0688 →
PATENT RELEASE Recorded Dec 21, 2015
From: CITIBANK, N.A., AS COLLATERAL AGENT
To: FREESCALE SEMICONDUCTOR, INC.
Reel/Frame 037356/0553 →
PATENT RELEASE Recorded Dec 21, 2015
From: CITIBANK, N.A., AS COLLATERAL AGENT
To: FREESCALE SEMICONDUCTOR, INC.
Reel/Frame 037356/0143 →
SECURITY AGREEMENT Recorded Nov 6, 2013
From: FREESCALE SEMICONDUCTOR, INC.
To: CITIBANK, N.A., AS NOTES COLLATERAL AGENT
Reel/Frame 031591/0266 →
SECURITY AGREEMENT Recorded Jun 18, 2013
From: FREESCALE SEMICONDUCTOR, INC.
To: CITIBANK, N.A., AS NOTES COLLATERAL AGENT
Reel/Frame 030633/0424 →
SECURITY AGREEMENT Recorded May 13, 2010
From: FREESCALE SEMICONDUCTOR, INC.
To: CITIBANK, N.A., AS COLLATERAL AGENT
Reel/Frame 024397/0001 →
SECURITY AGREEMENT Recorded Mar 15, 2010
From: FREESCALE SEMICONDUCTOR, INC.
To: CITIBANK, N.A.
Reel/Frame 024085/0001 →
SECURITY AGREEMENT Recorded Jul 7, 2008
From: FREESCALE SEMICONDUCTOR, INC.
To: CITIBANK, N.A.
Reel/Frame 021194/0593 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 14, 2008
From: MATHUR, ASHISH; BHARGAVA, VIJAY
To: FREESCALE SEMICONDUCTOR, INC.
Reel/Frame 020357/0491 →