IP Library Granted Patent US 9,310,829
Granted Patent B2
US 9,310,829 · App. 13/928,671 · Granted Apr 12, 2016

System with feature of saving dynamic power of flip-flop banks

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 9,310,829
App. No.
13/928,671
Granted
Apr 12, 2016
Kind
B2
Abstract

A system comprises a first plurality of flip-flop circuits, a second plurality of flip-flop circuits, and a gating control module. At a first processor frequency, gating of clock signals is enabled for the first and second plurality of flip-flop circuits. At a second processor frequency, gating of a first of the clock signals is disabled for the first plurality of flip-flop circuits and gating of a second of the clock signals is enabled for the second plurality of flip-flop circuits.

Claims (73)

1. A system comprising:

a first plurality of flip-flop circuits associated with a first threshold frequency above which a setup time requirement for the first plurality of flip-flop circuits is not met;

a second plurality of flip-flop circuits associated with a second threshold frequency above which a setup time requirement for the second plurality of flip-flop circuits is not met; and

a gating control module operable to:

enable gating of clock signals for the first and second plurality of flip-flop circuits in response to operation of a processor of the system at a first processor frequency that is below both the first threshold frequency and the second threshold frequency, wherein

the gating control module is configured to:

receive an indicator of the first processor frequency,

compare the indicator of the first processor frequency to an identifier of the first threshold frequency at or below which gating can be enabled for the first plurality of flip-flop circuits, and

set a first gating enable signal for the first plurality of flip-flop circuits based on whether the identifier of the first threshold frequency is higher than the indicator of the first processor frequency; and

disable gating of a first of the clock signals for the first plurality of flip-flop circuits in response to operation of the processor at a second processor frequency that is above the first threshold frequency and enable gating of a second of the clock signals for the second plurality of flip-flop circuits in response to the second processor frequency being below the second threshold frequency.

2. The system of claim 1 wherein the gating control module is further operable to:

disable gating of the first of the clock signals for the first plurality of flip-flop circuits before the processor transitions from the first processor frequency to the second processor frequency.

3. The system of claim 1 wherein the gating control module is further operable to:

enable gating of the second of the clock signals for the second plurality of flip-flop circuits after the processor transitions from the first processor frequency to the second processor frequency.

4. The system of claim 1 wherein the gating control module is further operable to:

disable gating of the clock signals for the first and second plurality of flip-flop circuits at a third processor frequency.

5. The system of claim 1 further comprising:

a first register that stores the identifier of the first threshold frequency at or below which gating can be enabled for the first plurality of flip-flop circuits; and

a second register that stores a second identifier of the second threshold frequency at or below which gating can be enabled for the second plurality of flip-flop circuits.

6. The system of claim 1 wherein the first of the clock signals for the first plurality of flip-flop circuits is the same as the second of the clock signals for the second plurality of flip-flop circuits.

7. The system of claim 1 further comprising:

a control module coupled to the first plurality of flip-flop circuits, the control module is configured to:

receive the first gating enable signal for the first plurality of flip-flop circuits from the gating control module,

receive, a clock enable signal and a global clock signal, and

enable gating of the global clock signal to provide the first of the clock signals for the first plurality of flip-flop circuits based on the first gating enable signal and the clock enable signal.

8. The system of claim 7 wherein

the first processor frequency is a frequency at which a clock enable signal is available at the control module for a first of the clock signals prior to a global clock signal becoming active at the control module, and

the second processor frequency is a frequency at which the clock enable signal is not available at the control module for the first of the clock signals prior to the global clock signal becoming active at the control module.

9. A system comprising:

a first plurality of flip-flop circuits;

a first frequency associated with the first plurality of flip-flop circuits, wherein the first frequency indicates a first threshold frequency above which a setup time requirement for the first plurality of flip-flop circuits is not met;

a second plurality of flip-flop circuits;

a second frequency associated with the second plurality of flip-flop circuits, wherein the second frequency indicates a second threshold frequency above which a setup time requirement for the second plurality of flip-flops is not met;

a first controller coupled to the first plurality of flip-flop circuits, wherein the first controller is configured to:

gate a global clock signal to provide a first clock signal to the first plurality of flip-flop circuits when a processing frequency for the system is below the first frequency, and

a second controller coupled to the second plurality of flip-flop circuits, wherein the second controller is configured to:

gate the global clock signal to provide a second clock signal to the second plurality of flip-flop circuits when the processing frequency for the system is below the second frequency; and

a gating control module coupled to the first controller and to the second controller, the gating control module configured to:

compare the processing frequency for the system to the first frequency at or below which gating can be enabled for the first plurality of flip-flop circuits,

set a first gating enable signal to the first controller based on whether the first frequency is greater than the processing frequency,

compare the processing frequency for the system to the second frequency at or below which gating can be enabled for the second plurality of flip-flop circuits, and

set a second gating enable signal to the second controller based on whether the second frequency is greater than the processing frequency.

10. The system of claim 9 further comprising:

a processor controller configured to generate a command to change the processing frequency for the system.

11. The system of claim 10 wherein the processor controller is further configured to:

transition to a lower processor frequency before the first controller determines whether to gate the first clock signal when the processing frequency is commanded to decrease.

12. The system of claim 10 wherein the processor controller is further configured to:

transition to a higher processor frequency after the first controller determines whether to gate the first clock signal when the processing frequency is commanded to increase.

13. The system of claim 9 wherein the first controller is further configured to:

receive the first gating enable signal from the gating control module,

receive a clock enable signal and the global clock signal, and

gate the global clock signal to provide the first clock signal based on the first gating enable signal and the clock enable signal.

14. A method of gating clock signals in a computer processing system comprising:

receiving a command to change a processor frequency for the processing system, wherein the processing system comprises

a first set of flip-flop circuits associated with a first identified frequency above which a setup time requirement for the first set of flip-flop circuits is not met, and

a second set of flip-flop circuits associated with a second identified frequency above which a setup time requirement for the second set of flip-flop circuits is not met;

determining whether to increase or decrease the processor frequency based on the command; and

when the processor frequency is commanded to decrease,

transitioning to a lower processor frequency,

comparing the lower processor frequency to the first identified frequency at or below which gating can be enabled for the first set of flip-flop circuits, and

generating a first gating enable signal for the first set of flip-flop circuits in response to the lower processor frequency being less than or equal to the first identified frequency, wherein the first gating enable signal controls gating of a first clock signal for the first set of flip-flop circuits.

15. The method of claim 14 further comprising:

when the processor frequency is commanded to increase to a higher processing frequency,

comparing the higher processing frequency to the first identified frequency at or below which gating can be enabled for the first set of flip-flop circuits,

not gating the clock signal in response to the higher processing frequency being greater than the first identified frequency for the first set of flip-flop circuits; and

transitioning to the higher processing frequency.

16. The method of claim 14 further comprising:

gating a global clock signal to provide the first clock signal based on the first gating enable signal and a first clock enable signal.

17. The method of claim 16 further comprising:

generating a second gating enable signal, wherein the second gating enable signal controls whether a second clock signal for a second set of flip-flop circuits will be gated; and

gating the global clock signal to provide the second clock signal to the second set of flip-flop circuits based on the second gating enable signal and a second clock enable signal.

18. The method of claim 16 further comprising:

providing the first clock enable signal as input to a gate with an output coupled to provide a second clock signal to the second set of flip-flop circuits.

Assignments (20)
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 →
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 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 →
MERGER Recorded Jan 3, 2017
From: FREESCALE SEMICONDUCTOR, INC.
To: NXP USA, INC.
Reel/Frame 041144/0363 →
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 →
SUPPLEMENT TO THE SECURITY AGREEMENT Recorded Jun 16, 2016
From: FREESCALE SEMICONDUCTOR, INC.
To: MORGAN STANLEY SENIOR FUNDING, INC.
Reel/Frame 039138/0001 →
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 6, 2016
From: CITIBANK, N.A.
To: MORGAN STANLEY SENIOR FUNDING, INC.
Reel/Frame 037445/0592 →
PATENT RELEASE Recorded Dec 21, 2015
From: CITIBANK, N.A., AS COLLATERAL AGENT
To: FREESCALE SEMICONDUCTOR, INC.
Reel/Frame 037357/0844 →
PATENT RELEASE Recorded Dec 21, 2015
From: CITIBANK, N.A., AS COLLATERAL AGENT
To: FREESCALE SEMICONDUCTOR, INC.
Reel/Frame 037357/0819 →
PATENT RELEASE Recorded Dec 21, 2015
From: CITIBANK, N.A., AS COLLATERAL AGENT
To: FREESCALE SEMICONDUCTOR, INC.
Reel/Frame 037357/0804 →
SECURITY AGREEMENT Recorded Nov 6, 2013
From: FREESCALE SEMICONDUCTOR, INC.
To: CITIBANK, N.A., AS NOTES COLLATERAL AGENT
Reel/Frame 031591/0266 →
SUPPLEMENT TO IP SECURITY AGREEMENT Recorded Sep 20, 2013
From: FREESCALE SEMICONDUCTOR, INC.
To: CITIBANK, N.A., AS COLLATERAL AGENT
Reel/Frame 031248/0750 →
SUPPLEMENT TO IP SECURITY AGREEMENT Recorded Sep 20, 2013
From: FREESCALE SEMICONDUCTOR, INC.
To: CITIBANK, N.A., AS NOTES COLLATERAL AGENT
Reel/Frame 031248/0627 →
SUPPLEMENT TO IP SECURITY AGREEMENT Recorded Sep 20, 2013
From: FREESCALE SEMICONDUCTOR, INC.
To: CITIBANK, N.A., AS NOTES COLLATERAL AGENT
Reel/Frame 031248/0510 →
SUPPLEMENT TO IP SECURITY AGREEMENT Recorded Sep 20, 2013
From: FREESCALE SEMICONDUCTOR, INC.
To: CITIBANK, N.A., AS NOTES COLLATERAL AGENT
Reel/Frame 031248/0698 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 27, 2013
From: RUSSELL, ANDREW C.
To: FREESCALE SEMICONDUCTOR, INC.
Reel/Frame 030700/0283 →