IP Library Granted Patent US 7,257,723
Granted Patent B2
US 7,257,723 · App. 11/243,946 · Granted Aug 14, 2007

Reducing power consumption in embedded systems by controlling voltage based on system state and partition designation

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,257,723
App. No.
11/243,946
Granted
Aug 14, 2007
Kind
B2
Abstract

An embedded system optimally operates with minimal power consumption without sacrificing performance. Power consumption can be reduced by independently and dynamically controlling multiple power partitions, wherein components within a partition can have the same power profile. States of operation can be programmably defined in a table and enforced using hardware. Voltages in the table can be dynamically updated during a runtime of the system using a timing feedback module, which is connected to a critical path in a partition. The timing feedback module can output a vector that indicates the timing margin for that critical path. Using this timing margin, software can increase or decrease the voltage to optimize power consumption of that partition.

Claims (40)

1. A system for optimizing power for an embedded system, the system comprising:

means for partitioning a single chip implementation of the embedded system into power domains, wherein at least one power domain includes a plurality of critical paths;

means for selecting at least one critical path in each power domain; and

means for adjusting voltages of the power domains based on timing margins associated with the critical paths,

wherein the means for adjusting includes:

a time delay circuit for each critical path;

means for comparing an output signal of each critical path to propagated signals associated with stages on each time delay circuit, thereby generating a timing margin vector for each critical path; and

means for generating a combined result vector based on the timing margin vectors,

wherein the means for comparing includes:

an XOR gate for receiving the output signal of the critical path and one of the propagated signals; and

means for storing a designation of whether the output signal and the propagated signal are different values, wherein the designations from the stages form the timing margin vector,

wherein the means for storing includes:

an OR gate for receiving an output of the XOR gate; and

a flip-flop for receiving an output of the OR gate and providing an output to another input terminal of the OR gate.

2. The system of claim 1 , wherein the means for generating includes a plurality of OR gates, each OR gate receiving a predetermined order bit from each of the timing margin vectors, wherein the outputs of the plurality of OR gates form the combined result vector.

3. A method of performing time optimization for an embedded system, the method comprising:

selecting multiple, critical paths in the embedded system;

generating a timing margin vector for each critical path using a time delay circuit, wherein each bit of the timing margin vector corresponds to a stage of the time delay circuit; and

determining a worst-case timing margin vector based on the timing margin vectors,

wherein generating the timing margin vector includes:

comparing an output signal from a critical path to propagated signals corresponding to stages of the time delay circuit;

providing a first logic value to the timing margin vector if the output signal and the propagated signal are identical logic values; and

providing a second logic value to the timing margin vector if the output signal and the propagated signal are not identical logic values; and

wherein determining the worst-case timing margin vector includes:

comparing the bits associated with a same stage of the plurality of time delay circuits;

providing the first logic value to the worst-case timing margin vector if the bits are identical logic values; and

providing the second logic value to the worst-case timing margin vector if the bits are not identical logic values.

4. The method of claim 3 , wherein generating the timing margin vector and determining the worst-case timing margin vector can be performed at least once during run time of the embedded system.

5. The method of claim 3 , wherein generating the timing margin vector and determining the worst-case timing margin vector can be performed periodically during run time of the embedded system.

6. The method of claim 3 , wherein a predetermined value in the worst-case timing margin vector triggers one of a voltage decrease.

7. The method of claim 3 , wherein a predetermined value in the worst-case timing margin vector triggers an interrupt in the embedded system to decrease voltages for a current state.

8. The method of claim 3 , wherein a predetermined value in the worst-case timing margin vector triggers a read of the timing margin vectors to identify which critical path has a smallest margin, wherein a voltage of a partition associated with that identified critical path is then increased for a current state.

9. A timing feedback module for generating a timing margin vector, the timing feedback module including:

a time delay circuit coupled to receive an output of a critical path in an integrated circuit; and

a compare circuit for comparing the output signal of the critical path to propagated signals associated with stages on the time delay circuit,

wherein the compare circuit includes:

a plurality of XOR gates, each XOR gate for receiving the output signal of the critical path and one of the propagated signals;

a first plurality of OR gates, each OR gate for receiving an output of the XOR gate; and

a plurality of flip-flops, each flip-flop for receiving an output of the OR gate and providing an output to another input terminal of the OR gate, the output forming a predetermined bit of a timing margin vector.

10. The timing feedback module of claim 9 , further including a second plurality of OR gates, each OR gate receiving a predetermined order bit from each of the timing margin vectors, wherein the outputs of the plurality of OR gates form a combined result vector.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 20, 2012
From: QUALCOMM ATHEROS, INC.
To: QUALCOMM INCORPORATED
Reel/Frame 029328/0052 →
MERGER Recorded Jul 15, 2011
From: ATHEROS COMMUNICATIONS, INC.
To: QUALCOMM ATHEROS, INC.
Reel/Frame 026599/0360 →