IP Library Granted Patent US 8,806,404
Granted Patent B2
US 8,806,404 · App. 13/621,125 · Granted Aug 12, 2014

System and method for reducing reconfiguration power usage

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 8,806,404
App. No.
13/621,125
Granted
Aug 12, 2014
Kind
B2
Abstract

A system and method for reducing power consumption in a reconfigurable integrated circuit. Some embodiments provide placement and routing programs that reduce the number of bits to be reconfigured. Some embodiments provide placement and routing programs that increase the number of groups of circuits that do not need reconfiguration at some times. Some embodiments include circuits that selectively block reconfiguration.

Claims (43)

1. A non-transitory machine readable medium storing a program which when executed by at least one processing unit generates a layout for an integrated circuit (IC) with reconfigurable circuits the program comprising sets of instructions for:

receiving a plurality of sets of configuration values for configuring the reconfigurable circuits in a plurality of reconfiguration cycles;

to reduce power consumption of the IC, modifying the sets of configuration values by preferentially re-assigns at least a subset of the sets of configuration values so that identical or similar sets of configuration values for each particular reconfigurable circuit in at least a subset of the reconfigurable circuits are assigned to adjacent reconfiguration cycles of the particular reconfigurable circuit; and

storing the modified sets of configuration values as the layout for configuring the IC.

2. The non-transitory machine readable medium of claim 1 , wherein the set of instructions for modifying the sets of configuration values comprises a set of instruction for swapping sets of configuration values among the reconfigurable circuits and reconfiguration cycles of the layout.

3. The non-transitory machine readable medium of claim 2 , wherein the set of instructions for swapping sets of configuration values comprises sets of instructions for:

assigning a set of configuration values previously assigned to a first reconfigurable circuit in a first reconfiguration cycle to a second reconfigurable circuit in a second reconfiguration cycle; and

assigning a set of configuration values previously assigned to the second reconfigurable circuit in the second reconfiguration cycle to the first reconfigurable circuit in the first reconfiguration cycle.

4. The non-transitory machine readable medium of claim 3 , wherein the first reconfiguration cycle is a same reconfiguration cycle as the second reconfiguration cycle.

5. The non-transitory machine readable medium of claim 1 , wherein a first set of configuration values is similar to a second set of configuration values when most values of the first set of configuration values are the same as corresponding values of the second set of configuration values.

6. The non-transitory machine readable medium of claim 1 , wherein the set of instructions for preferentially re-assigning similar sets of configuration values for the particular reconfigurable circuit in adjacent reconfiguration cycles comprises sets of instructions for:

assigning a first set of configuration values to the particular reconfigurable circuit in a first reconfiguration cycle;

for each set of a plurality of different sets of configuration values, computing a cost for placing the set of configuration values in a second reconfiguration cycle for the reconfigurable circuit, wherein the cost for placing the set of configuration values in the second reconfiguration cycle is based on a number of bits in the set of configuration values that are not identical to corresponding bits in the first set of configuration values; and

based on the computed costs, assigning a particular set of configuration values from the plurality of different sets of configuration values to the particular reconfigurable circuit in the second reconfiguration cycle.

7. The non-transitory machine readable medium of claim 1 , wherein a plurality of the reconfigurable circuits are reconfigurable look-up tables (LUTs).

8. A non-transitory machine readable medium that stores a program which when executed by at least one processor generates a layout for implementing a user design on an integrated circuit (IC) that comprises a plurality of reconfigurable circuits, the program comprises sets of instructions for:

assigning a first set of configuration values to a reconfigurable circuit in a first reconfiguration cycle;

computing a first cost for assigning a second set of configuration values, to the reconfigurable circuit in a second reconfiguration cycle, wherein the second set of configuration values is different from the first set of configuration values, wherein the first cost is computed based on how many values of the second set of configuration values are different from corresponding values of the first set of configuration values;

computing a second cost for assigning a third set of configuration values to the reconfigurable circuit in the second reconfiguration cycle, wherein the third set of configuration values is different from the first set of configuration values and the second set of configuration values, wherein the second cost is computed based on how many values of the third set of configuration values are different from corresponding values of the first set of configuration values;

selecting a set of configuration values to assign to the reconfigurable circuit in the second reconfiguration cycle based at least partly on the computed first and second costs; and

assigning the selected set of configuration values to the reconfigurable circuit in the second reconfiguration cycle.

9. The non-transitory machine readable medium of claim 8 , wherein the first cost is greater than the second cost when a fraction of values of the first set of configuration values that are different from the second set of configuration values is greater than the fraction of values of the first set of configuration values that are different from the third set of configuration values.

10. The non-transitory machine readable medium of claim 8 , wherein the program further comprises sets of instructions for:

for each of a plurality of different sets of configuration values, computing a cost for assigning that set of configuration values to the reconfigurable circuit in the second reconfiguration cycle, wherein the cost computed for a particular set of configuration values is at least partly dependent on how different the set of configuration values is from the first set of configuration values; and

assigning a set of configuration values to the reconfigurable circuit in the second reconfiguration cycle based at least partly on the computed costs for the plurality of different sets of configuration values.

11. The non-transitory machine readable medium of claim 8 , wherein the second reconfiguration cycle is between the first reconfiguration cycle and a third reconfiguration cycle, wherein the program further comprises sets of instructions for:

assigning a fourth set of configuration values to the reconfigurable circuit in the third reconfiguration cycle; and

adjusting the first cost based on how different the second set of configuration values is from the fourth set of configuration values.

12. The non-transitory machine readable medium of claim 8 , wherein the reconfigurable circuit is a reconfigurable look-up table (LUT).

13. The non-transitory machine readable medium of claim 8 , wherein the reconfigurable circuit is a reconfigurable routing multiplexer (RMUX).

14. The non-transitory machine readable medium of claim 8 , wherein the reconfigurable circuit is a reconfigurable input multiplexer (IMUX).

15. A non-transitory machine readable medium storing a program which when executed by at least one processing unit generates a layout for implementing a user design on an integrated circuit (IC) that comprises a plurality of reconfigurable circuits, the program comprising sets of instructions for:

assigning a first set of configuration values to a reconfigurable circuit in a first reconfiguration cycle;

for each of a plurality of other sets of configuration values that differ from the first set of configuration values, computing a cost for assigning that other set of configuration values to the reconfigurable circuit in a second reconfiguration cycle, wherein the cost for assigning each of the other sets of configuration values depends on an amount of difference the other set of configuration values has from the first set of configuration values;

from the plurality of other sets of configuration values, selecting a second set of configuration values to assign to the reconfigurable circuit in the second reconfiguration cycle based at least partly on the computed costs of the selected second set of configuration values; and

assigning the second set of configuration values to the reconfigurable circuit in the second reconfiguration cycle.

16. The non-transitory machine readable medium of claim 15 , wherein an amount of difference between two sets of configuration values comprises a number of corresponding bit values that are different between the two sets of configuration values.

17. The non-transitory machine readable medium of claim 16 , wherein a set of configuration values in the plurality of other sets of configuration values with the least amount of differences from the first set of configuration values has a lowest cost of the plurality of other sets of configuration values.

18. The non-transitory machine readable medium of claim 15 , wherein the program further comprises a set of instructions for, when the configuration value of the reconfigurable circuit in the second reconfiguration cycle does not affect the user design, assigning a same set of configuration values to the reconfigurable circuit in the second reconfiguration cycle as the first reconfiguration cycle.

19. The non-transitory machine readable medium of claim 15 , wherein the second reconfiguration cycle is between the first reconfiguration cycle and a third reconfiguration cycle, wherein the program further comprises sets of instructions for:

assigning a third set of configuration values to the reconfigurable circuit in the third reconfiguration cycle; and

adjusting the costs of each of the plurality of other sets of configuration values based on how different the other set of configuration values is from the third set of configuration values.

20. The non-transitory machine readable medium of claim 15 , wherein the reconfigurable circuit is a reconfigurable routing multiplexer (RMUX).

Assignments (4)
SECURITY INTEREST Recorded Sep 12, 2025
From: ALTERA CORPORATION
To: BARCLAYS BANK PLC, AS COLLATERAL AGENT
Reel/Frame 073431/0309 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 2, 2015
From: TABULA (ASSIGNMENT FOR THE BENEFIT OF CREDITORS), LLC
To: ALTERA CORPORATION
Reel/Frame 036050/0792 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 27, 2015
From: TABULA, INC.
To: TABULA (ASSIGNMENT FOR THE BENEFIT OF CREDITORS), LLC
Reel/Frame 035783/0055 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 5, 2014
From: HUANG, RANDY R.; VOOGEL, MARTIN; HU, JINGCAO; TEIG, STEVEN
To: TABULA, INC.
Reel/Frame 032824/0731 →