Error correction for programmable logic integrated circuits
First Claim
1. A circuit that corrects errors in configuration data stored on a programmable logic integrated circuit device, the circuit comprising:
- memory including memory cells on the programmable logic integrated circuit device, in which the configuration data are stored, and memory cells on the programmable logic integrated circuit device, in which error check data associated with the configuration data are stored; and
error correction circuitry coupled to at least some of the memory to analyze the configuration data stored in the memory to determine if any values have changed after initial storage of the configuration data in the memory and to correct any values that have changed, wherein the error correction circuitry comprises at least one scrubbing circuit operative to;
read from the memory a portion of the configuration data and an associated portion of the error check data; and
apply an error correcting code on the portion of the configuration data and the associated portion of the error check data to determine whether at least one bit in the portion of the configuration data has an error and to correct the at least one bit that has the error.
0 Assignments
0 Petitions
Accused Products
Abstract
Systems and methods for detecting and correcting errors in programmable logic ICs are provided. In one embodiment, a scrubber periodically reads the memory cells in a programmable logic IC, detects and corrects any errors, and writes the corrected contents back into the memory cell. In another embodiment, regions of memory cells in a programmable logic IC each have associated error correcting circuitry which operates to continuously detect and correct errors as they occur. Error correcting circuitry can further be designed to reduce static hazards. It may be more desirable to design programmable logic IC routing architectures that reduce the number of memory cells needed to implement a given function. Error correcting circuitry can be provided for configuration memory or for an embedded memory block on a programmable logic IC.
-
Citations
23 Claims
-
1. A circuit that corrects errors in configuration data stored on a programmable logic integrated circuit device, the circuit comprising:
-
memory including memory cells on the programmable logic integrated circuit device, in which the configuration data are stored, and memory cells on the programmable logic integrated circuit device, in which error check data associated with the configuration data are stored; and error correction circuitry coupled to at least some of the memory to analyze the configuration data stored in the memory to determine if any values have changed after initial storage of the configuration data in the memory and to correct any values that have changed, wherein the error correction circuitry comprises at least one scrubbing circuit operative to; read from the memory a portion of the configuration data and an associated portion of the error check data; and apply an error correcting code on the portion of the configuration data and the associated portion of the error check data to determine whether at least one bit in the portion of the configuration data has an error and to correct the at least one bit that has the error. - View Dependent Claims (2, 3, 4, 5, 6)
-
-
7. A circuit that corrects errors in configuration data stored on a programmable logic integrated circuit device, the circuit comprising:
-
memory including memory cells on the programmable logic integrated circuit device, in which the configuration data are stored, and memory cells on the programmable logic integrated circuit device, in which error check data associated with the configuration data are stored; and at least one scrubber coupled to the memory and operative to; read from the memory a portion of the configuration data and an associated portion of the error check data, and apply an error correcting code on the portion of the configuration data and the portion of the error check data to determine whether at least one bit in the portion of the configuration data has an error and to correct the at least one bit that has the error. - View Dependent Claims (8, 9, 10)
-
-
11. A method for correcting errors in configuration data stored on a programmable logic integrated circuit device, the method comprising:
-
generating error check data associated with the configuration data and storing the error check data in memory including memory cells on the programmable logic integrated circuit device, in which the configuration data are stored, and memory cells on the programmable logic integrated circuit device, in which error check data associated with the configuration data are stored; reading a portion of the configuration data and an associated portion of the error check data; determining if an error has occurred based on the portion of the configuration data and the associated portion of the error check data, wherein the determining comprises applying an error correcting code on the portion of the configuration data and the associated portion of the error check data; and correcting the portion of the configuration data in response to the determining. - View Dependent Claims (12, 13, 14, 15, 16)
-
-
17. A method for correcting errors in configuration data stored on a programmable logic integrated circuit device, the method comprising:
-
computing a first parity on each representative row of memory cells on the programmable logic integrated circuit device, in which the configuration data are stored; and computing a second parity on each representative column of memory cells on the programmable logic integrated circuit device, in which the configuration data are stored;
wherein;a parity bit associated with a respective one of each representative row and each representative column of memory cells on the programmable logic integrated circuit device is stored in a respective memory cell on the programmable logic integrated circuit device as error check data associated with the respective one of the representative row and the representative column of configuration data;
said method further comprising;determining in parallel if an error has occurred in a cell associated with a respective one of each representative row and each representative column based on the first parity and the second parity; and correcting the configuration data in the cell in response to the determining. - View Dependent Claims (18, 19, 20)
-
-
21. A method for correcting errors in configuration data stored on a programmable logic integrated circuit device, the method comprising:
-
computing a first parity on all but one cell in each representative row of memory cells on the programmable logic integrated circuit device; and computing a second parity on all but the one cell in each representative column of memory cells on the programmable logic integrated circuit device;
wherein;a parity bit associated with a respective one of each representative row and each representative column of memory cells on the programmable logic integrated circuit device is stored in a respective memory cell on the programmable logic integrated circuit device as error check data associated with the respective one of the representative row and the representative column of configuration data;
said method further comprising;determining in parallel if an error has occurred in the one cell associated with a respective one of each representative row and each representative column based on the first parity, the second parity, and configuration data in the one cell; and generating a correct value for the configuration data in the one cell based on the first parity, the second parity, and the configuration data in the one cell. - View Dependent Claims (22, 23)
-
Specification