Skip to content

Instantly share code, notes, and snippets.

@mithro
Created November 15, 2018 16:47
Show Gist options
  • Save mithro/54a96144bc10cc0bf3179839a71f7db7 to your computer and use it in GitHub Desktop.
Save mithro/54a96144bc10cc0bf3179839a71f7db7 to your computer and use it in GitHub Desktop.
ice40 SPI Master Requirements

SPI PROM Requirements

The iCE40 SPI Flash configuration interface supports a variety of SPI Flash memory vendors and product families. However, Lattice does not specifically test, qualify, or otherwise endorse any specific SPI Flash vendor or product family. The iCE40 SPI interface supports SPI PROMs that they meet the following requirements.

  • The PROM must operate between 1.8V to 3.3V in order to trigger the iCE40 FPGA’s power-on reset circuit.
  • The PROM must support the 0x0B Fast Read command, using a 24-bit start address and has 8 dummy bits before the PROM provides first data (see Figure 9).
  • The PROM must have enough bits to program the iCE40 device.
  • The PROM must support data operations at the upper frequency range for the selected iCE40 internal oscillator frequency (see data sheet). The oscillator frequency is selectable when creating the FPGA bitstream image.
  • For lowest possible power consumption after configuration, the PROM should also support the 0xB9 Deep Power Down command and the 0xAB Release from Deep Power-down Command (see Figure 8 and Figure 10). The low-power mode is optional. The PROM must be powered and ready to be accessed following iCE40 POR
  • The PROM must be ready to accept commands 10 µs after meeting its power-on conditions. In the PROM data sheet, this may be specified as tVSL or tVCSL. It is possible to use slower PROMs by holding the CRESET_B input Low until the PROM is ready, then releasing CRESET_B, either under program control or using an external power-on reset circuit.

The iCEblink40™ development board and associated programming software uses an ST Micro/Numonyx M25Pxx SPI serial Flash PROM. Tab

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment