2714 - ICE40: What are the programming modes available in LatticeiCE40 device?

2714 - ICE40: What are the programming modes available in LatticeiCE40 device?

The LatticeiCE40 device has the following programming modes :
  1. SPI Master: In this mode, a standard SPI Flash is connected to the Device , and the device boots from the external SPI Flash using SPI Master configuration Interface. This is the best method for prototype phase where you can experiment with different designs/bitstreams.
  2. NVCM: The iCE40 devices contains an One Time Programmable on-chip Non Volatile Configuration Memory (NVCM) and if configured, the device boots from it. This is a fast and secure mode of bringing the device into user mode(active with user program) and used for mass production. The NVCM is ONE TIME PROGRAMMABLE. 
  3. Slave SPI: In this mode an external CPU or a microcontroller programs the device in SPI mode, the device being the Slave.