IP Library Granted Patent US 8,797,061
Granted Patent B2
US 8,797,061 · App. 13/481,506 · Granted Aug 5, 2014

Partial reconfiguration circuitry

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,797,061
App. No.
13/481,506
Granted
Aug 5, 2014
Kind
B2
Abstract

Integrated circuits may include partial reconfiguration (PR) circuitry for reconfiguring a portion of a memory array. The PR circuitry may include a host circuit, a control circuit, an address register, and first, second, and third data registers. The host circuit may send a series of PR instructions to the control circuit. The control circuit may include a decompression circuit for decompressing compressed instructions, a decryption circuit for decrypting encrypted instructions, an error checking circuit for detecting errors in the instructions, and a logic circuit. The address register may select a desired frame. The selected frame may be loaded into the third data register. The contents of the third data register may be shifted into the first data register. The contents of the first data register may be modified according to a desired logic function using the logic circuit, shifted into the second data register, and written into the selected frame.

Claims (52)

1. An integrated circuit comprising:

an array of memory elements; and

partial reconfiguration circuitry that is coupled to the array of memory elements, wherein the partial reconfiguration circuitry comprises:

a control circuit; and

data register circuitry that stores data that is read from a selected row of memory elements in the array of memory elements and to modify the read data to produce modified data, wherein the control circuit loads the modified data from the data register circuitry into the selected row of memory elements in the array of memory elements, wherein the control circuit includes a configurable logic circuit that produces the modified data by using the configurable logic circuit to implement a logic function selected from the group consisting of: a logic AND function, a logic OR function, a logic XOR function, a logic NAND function, a logic NOR function, and a logic XNOR function.

2. The integrated circuit defined in claim 1 , wherein the partial reconfiguration circuitry further comprises:

an address register that is controlled by the control circuit, wherein the address register generates an asserted address signal corresponding to the selected row of memory elements.

3. The integrated circuit defined in claim 1 , wherein the partial reconfiguration circuitry further comprises:

a host circuit that provides a plurality of partial reconfiguration instructions to the control circuit.

4. The integrated circuit defined in claim 1 , wherein the control circuit also receives a plurality of partial reconfiguration instructions and wherein the control circuit includes an error checking circuit that determines whether each instruction in the plurality of partial reconfiguration instructions includes errors and to correct the errors in the partial reconfiguration instructions.

5. An integrated circuit comprising:

an array of memory elements; and

partial reconfiguration circuitry that is coupled to the array of memory elements, wherein the partial reconfiguration circuitry comprises:

a control circuit; and

data register circuitry that stores data that is read from a selected row of memory elements in the array of memory elements and to modify the read data to produce modified data, wherein the control circuit loads the modified data from the data register circuitry into the selected row of memory elements in the array of memory elements, wherein the control circuit also receives a plurality of partial reconfiguration instructions, and wherein the control circuit includes a configurable logic circuit that produces the modified data based on a given partial reconfiguration instruction in the plurality of partial reconfiguration instructions.

6. The integrated circuit defined in claim 5 , wherein the configurable logic circuit includes a first input that receives the read data from an output of the data register circuitry, a second input that receives new data extracted from the given partial reconfiguration instruction, and an output at which the modified data is provided to an input of the data register circuitry.

7. The integrated circuit defined in claim 5 , wherein the data register circuitry comprises:

a first data register that stores the read data;

a second data register that receives the read data from the first data register, wherein the control circuit is configured to modify the read data to produce the modified data in the second data register; and

a third data register that receives the modified data from the second data register, wherein the control circuit is configured to load the modified data from the third data register into the selected row of memory elements in the array of memory elements and wherein the configurable logic circuit implements a logic function selected from the group consisting of: a logic AND function, a logic OR function, a logic XOR function, a logic NAND function, a logic NOR function, and a logic XNOR function.

8. The integrated circuit defined in claim 1 , wherein the control circuit also receives at least one compressed partial reconfiguration instruction, and wherein the control circuit includes a decompression circuit that decompresses the at least one compressed partial reconfiguration instruction.

9. The integrated circuit defined in claim 1 , wherein the control circuit also receives at least one encrypted partial reconfiguration instruction, and wherein the control circuit includes a decryption circuit that decrypts the at least one encrypted partial reconfiguration instruction.

10. A method of operating partial reconfiguration circuitry that is coupled to an array of memory elements, wherein the partial reconfiguration circuitry and the array of memory elements are formed on an integrated circuit, and wherein the partial reconfiguration circuitry includes a control circuit, an address register, and data register circuitry, the method comprising:

with the control circuit, receiving a plurality of partial reconfiguration instructions, wherein a given partial reconfiguration instruction in the plurality of partial reconfiguration instructions includes partial reconfiguration memory data;

reading data from a selected row of memory elements in the array of memory elements and loading the read data into a first data register in the data register circuitry;

loading the read data from the first data register to a second data register in the data register circuitry;

modifying the read data that is stored in the data register circuitry based at least partially on the read data and the partial reconfiguration memory data, wherein the control circuit includes a configurable logic circuit and wherein modifying the read data that is stored in the data register circuitry comprises generating the modified data with the configurable logic circuit and serially shifting the modified data that is generated by the logic circuit into the second data register; and

loading the modified data into the selected row of memory elements.

11. The method defined in claim 10 , wherein the configurable logic circuit has first and second inputs, the method further comprising:

with the first input of the configurable logic circuit, serially receiving the read data from an output of the second data register; and

with the second input of the configurable logic circuit, serially receiving the partial reconfiguration memory data.

12. The method defined in claim 11 , wherein generating the modified data comprises:

using the configurable logic circuit to implement a logic function selected from the group consisting of: a logic AND function, a logic OR function, a logic XOR function, a logic NAND function, a logic NOR function, and a logic XNOR function; and

generating the modified data by performing the selected logic function on the received read data and the received partial reconfiguration memory data.

13. The method defined in claim 10 , wherein the partial reconfiguration circuitry further includes a host circuit, and wherein receiving the plurality of partial reconfiguration instructions comprises:

with the control circuit, receiving the plurality of partial reconfiguration instructions from the host circuit.

14. The method defined in claim 10 , wherein the control circuit includes an error checking circuit having an output, the method further comprising:

with the error checking circuit, determining whether the given partial reconfiguration instruction contains an error; and

in response to determining that the given partial reconfiguration instruction is erroneous, asserting an error signal at the output of the error checking circuit.

15. The method defined in claim 10 , wherein the plurality of partial reconfiguration instructions comprises a series of encrypted instructions, and wherein the control circuit includes a decryption circuit, the method further comprising:

with the decryption circuit, decrypting the series of encrypted instructions.

16. The method defined in claim 10 , wherein the plurality of partial reconfiguration instructions comprises a series of compressed instructions, and wherein the control circuit includes a decompression circuit, the method further comprising:

with the decompression circuit, decompressing the series of compressed instructions.

17. A method of operating partial reconfiguration circuitry that is coupled to an array of memory elements and that includes a control circuit and a host circuit, wherein the partial reconfiguration circuitry and the array of memory elements are formed on an integrated circuit, the method comprising:

with the control circuit, receiving a series of partial reconfiguration instructions from the host circuit;

with an error checking circuit in the control circuit, determining whether a given partial reconfiguration instruction in the series of partial reconfiguration instructions contains an error; and

in response to determining that the given partial reconfiguration instruction is erroneous, preventing the given partial reconfiguration instruction from being executed on the array of memory elements and resending only the given partial reconfiguration with the host circuit to the control circuit.

18. The method defined in claim 17 , further comprising:

in response to determining that the given partial reconfiguration instruction is erroneous, using the control circuit to provide an asserted error signal to the host circuit.

19. The method defined in claim 18 , wherein the series of partial reconfiguration instructions comprises partial reconfiguration instructions that are encrypted and compressed, and wherein the control circuit includes a decryption circuit and a decompression circuit, the method further comprising:

with the decryption circuit, decrypting the partial reconfiguration instructions; and

with the decompression circuit, decompressing the partial reconfiguration instructions.

Assignments (2)
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 Aug 13, 2012
From: MARGABANDU, BALAJI; REESE, DIRK A.; MAUNG, LEO MIN; NGO, NINH D.
To: ALTERA CORPORATION
Reel/Frame 028774/0340 →