The 7 series FPGA Frame ECC logic detects single or double bit errors in configuration frame data. It uses a 13-bit Hamming code parity value that is calculated based on the frame data generated by BitGen. During readback, the Frame ECC logic calculates a syndrome value using all the bits in the frame including the ECC bits.
To use the Frame ECC logic, the FRAME_ECCE2 primitive must be instantiated in the users design, and readback must be performed using SelectMAP, JTAG, or ICAP interfaces. At the end of each frame of readback, the syndrome_valid signal is asserted for one cycle of the readback clock (CCLK, TCK, or ICAP_CLK). The number of cycles required to read back a frame varies with the interface used. Repairing bits that have changed requires a user design, or for the POST_CRC_ACTION to be set to CorrectAndContinue or CorrectAndHalt. The FRAME_ECCE2 logic alone does not repair changed bits. The design must be able to store at least one frame of data or be able to fetch original frames of data for reload. The simplest operation is:
|SYNDROMEVALID||Output||Frame ECC syndrome valid pulse. Active one cycle for each frame. |
Used to sample ERROR and SYNDROME[12:0].
When SYNDROMEVALID is active, this output indicates if a frame error was detected or not:
When SYNDROMEVALID is active, this output reflects the frame error condition:
|CRCERROR||Output||RBCRC error. See UG470, Chapter 8 Readback CRC|
Frame Address Register Value.
Out Word address of error.
Bit address of error.
|ECCERRORSINGLE||Output||Indicates a single-bit Frame ECC error detected|
For SSIT devices, the FRAME_ECCE2 is available on all SLRs. The user should place and use the components to detect ECC on each SLR. If only a single FRAME_ECC is included in the design and not placed, it will be placed in the Master SLR.
In order to place FRAME_ECC on each SLR, instantiate same number of FRAME_ECC primitives as SLR count, and apply location constraint to each SLR locations. Referencing SEM IP example design, user can find all appropriate constraints for FRAME_ECC.