5739 - iCE40 Ultra Plus, Ultra/Ulralite, LP/HX: How safe is the iCE40 device configuration at power-up?
The data from the user's *.nvcm file is programmed into the NVCM. This *.nvcm file has a data CRC embedded at the end. In addition to the CRC, the configuration logic automatically generates an ECC pattern for each 64 byte page, which is stored in the NVCM.
Each time the device is powered up or CRESET_B toggled, the internal state machine performs the ECC check on each page, automatically correcting any incorrect data. After all of the data is transferred to the CRAM, the device compares the CRC value programmed into the NVCM (from the *.nvcm file) with the value calculated by the device. If the CRC comparison passes, the CDONE will go true, indicating that the device is programmed correctly.
Related Articles
6527 - iCE40 LP/HX: Does iCE40 LP384 support SB_WARMBOOT device configuration primitive?
SB_WARMBOOT is supported for all iCE40 Devices except for the iCE40-LP384.
6259 - iCE40 LP/HX: Is it possible to determine if NVCM has already been programmed on the iCE40 device?
Solution: To verify whether the NVCM was previously programmed, perform a Blank Check on the NVCM Arrays
3336 - MachXO2: what is the difference between "Flash erase, program, verify, secure" and "Flash erase, program, verify, secure plus"?
"FLASH Erase, Program, Verify, Secure" works as the following steps. 1. Erase the flash 2. Program the flash 3. Verify the flash 4. Secure the device by programming the Security bit This operation will secure the CFG Flash Sectors. For example, user ...
5499 - Is there a lower power state that the user can maintain when power is first supplied?
The user could delay the device configuration itself by holding LOW either PROGRAMN or the INITN pin when applying a power. However, this cannot tell how much power it would. consume in this state, because it is dependent on the board conditions, the ...
2125 - What is the device programming time of a Lattice FPGA?
Solution: The time to program a Lattice FPGA is dependent on several factors including configuration mode, programming speed, and device size. Some configuration modes and methods are faster than others. The complete configuration time inherently ...