Hi Weidong,
1- Based on my observation, 5 out of 10000 pcs (0.05%) is consider normal.
2- CRC only check FPGA configuration bits, which mean only 30% of your CRAM is checked.
3- I have not face the problem where CRC_ERROR will active sometimes mistakenly. CRC_ERROR only active if CRC valus do not match with pre-computed CRC.
- When a data frame is loaded into the FPGA during configuration, the pre-computed CRC value shifts into the CRC circuitry in the FPGA. At the same time, the CRC engine in the FPGA computes the CRC value for the data frame received, and stores the CRC value into the configuration RAM (CRAM). The pre-computed CRC value is compared against the CRC value computed by the CRC engine. If the CRC values do not match, nSTATUS is set low to flag a configuration error.
4- If CRAM bit fault, your logic generate and design will not behave as you expected (fault result).
Thanks.😉