IP Library Granted Patent US 7,941,679
Granted Patent B2
US 7,941,679 · App. 11/837,174 · Granted May 10, 2011

Method for computing power savings and determining the preferred clock gating circuit of an 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,941,679
App. No.
11/837,174
Granted
May 10, 2011
Kind
B2
Abstract

A method for computing the power savings in an integrated circuit (IC) design is disclosed. The method computes the difference in power savings between techniques used for clock gating. Based on the computation results, the method outputs a script to control the implementation tool so as to provide for the best implementation clock gating technique in terms of power and area savings.

Claims (41)

1. A method for computing power savings and determining a preferred clock gating circuit in an integrated circuit (IC) design comprising:

identifying candidate registers to be clock gated in the IC design;

inserting a virtual buffer for each clock signal in the IC design having a fanout greater than a predetermined fanout threshold;

computing the power savings for each candidate register; and

generating a report that includes the power savings for all the candidate registers,

wherein computing the power saving for each candidate register further comprises:

inserting virtual logic to cover every clock gating implementation; and calculating the power savings (PS) for each of implementation according to:

PS =(Dyn GCV* ActClk/ActEnab)+Pwr V mux−PwrAnd.

2. The method of claim 1 , further comprising generating, based on the report, a script for an implementation tool.

3. The method of claim 1 , wherein identifying the candidate registers comprises tracing forward from an enabled register through a combinatorial logic until encountering a register.

4. The method of claim 1 , wherein identifying the candidate registers comprises tracing backward from an enabled register through a combinatorial logic until encountering an input pin free of any external fanout.

5. The method of claim 4 , wherein identifying the candidate registers comprises:

tracing backward from an enabled register through a combinatorial logic until encountering a register; and

enabling the register by inserting a logic that generates an enable condition for the register.

6. The method of claim 1 , wherein the virtual logic includes at least one of: a virtual integrated clock gating circuit (ICGC) and a virtual multiplexer (MUX).

7. The method of claim 6 , wherein the ActClk is the activity of a clock signal; the ActEnab is the activity of enabled clock; the DynGCV is dynamic power of an enabled clock virtual buffer; the PwrAnd is the total power of the virtual ICGC; and the PwrVmux is total power of virtual MUXes.

8. The method of claim 1 , wherein the virtual MUX, the virtual ICGC, and the virtual buffers are removed after calculating the power savings.

9. The method of claim 1 , wherein the power consumption of the candidate register is considered as being increased when a calculation indicates a negative value.

10. The method of claim 1 , wherein the script comprises a set of commands adapted for use in implementing a clock gating circuit implementation, for each candidate register, having a greatest power savings value.

11. The method of claim 1 , implemented in one of a computer aided design (CAD) system and a CAD program.

12. A non-transitory computer program product for computing power savings and determining a preferred clock gating circuit in an integrated circuit (IC) design, the computer program product having computer instructions on a tangible computer readable medium, the instructions being adapted to enable a computer system to perform operations comprising:

identifying candidate registers to be clock gated in the IC design;

inserting a virtual buffer for each clock signal in the IC design having a fanout that exceeds a predetermined threshold;

computing the power savings for each candidate register; and

generating a report that includes the power savings for all the candidate registers,

wherein computing the power saving for each candidate register further comprises:

inserting virtual logic to cover all clock gating implementations; and

calculating the power savings (PS) using the formula:

PS =(Dyn GCV *ActClk/ActEnab)+Pwr V mux−PwrAnd.

13. The computer program product of claim 12 , wherein the operations further comprise generating, based on the report, a script for an implementation tool.

14. The computer program product of claim 12 , wherein identifying the candidate registers comprises tracing forward from an enabled register through a combinatorial logic until encountering a register.

15. The computer program product of claim 12 , wherein identifying the candidate registers comprises tracing backward from an enabled register through a combinatorial logic until encountering an input pin free of any external fanout.

16. The computer program product of claim 15 , wherein identifying the candidate registers comprises:

tracing backward from an enabled register through a combinatorial logic until encountering a register; and

enabling the register by inserting a logic that generates an enable condition for the register.

17. The computer program product of claim 12 , wherein the virtual logic includes at least one of: a virtual integrated clock gating circuit (ICGC) and a virtual multiplexer (MUX).

18. The computer program product of claim 17 , wherein the ActClk is the activity of a clock signal; the ActEnab is the activity of enabled clock; the DynGCV is dynamic power of an enabled clock virtual buffer; the PwrAnd is the total power of the virtual ICGC; and the PwrVmux is total power of virtual MUXes.

19. The computer program product of claim 12 , wherein the virtual MUX, the virtual ICGC and the virtual buffers are removed after calculating the power savings.

20. The computer program product of claim 12 , wherein the power consumption of the candidate register is considered as increased when a calculation results with a negative value.

21. The computer program product of claim 12 , wherein the script comprises a set of commands adapted for use in implementation of the clock gating circuit, for each candidate register, having a greatest power savings value.

22. The computer program product of claim 12 , implemented in one of a computer aided design (CAD) system and a CAD program.

Assignments (6)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 25, 2015
From: ATRENTA INC.
To: SYNOPSYS, INC.
Reel/Frame 036687/0290 →
RELEASE OF SECURITY INTEREST Recorded Sep 10, 2015
From: SILICON VALLEY BANK
To: ATRENTA INC.
Reel/Frame 036584/0644 →
RELEASE OF SECURITY INTEREST Recorded Apr 17, 2009
From: HERCULES TECHNOLOGY GROWTH CAPITAL, INC.
To: ATRENTA INC.
Reel/Frame 022552/0639 →
SECURITY AGREEMENT Recorded Apr 15, 2009
From: ATRENTA INC.
To: SILICON VALLEY BANK
Reel/Frame 022542/0570 →
SECURITY AGREEMENT Recorded Jul 10, 2008
From: ATRENTA, INC.
To: HERCULES TECHNOLOGY GROWTH CAPITAL, INC.
Reel/Frame 021222/0668 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 10, 2007
From: ALLEN, DAVID L.
To: ATRENTA, INC.
Reel/Frame 019680/0499 →