size lattice iCE40 config files

Hi all,

I am working on a STM32-based programmer for the olimex iCE40HX1K-EVB fpga dev.board. (now trying to implement the "SPI Slave configuration" protocol).

Looking at the Lattice "programming and Configuration guide" (page 11), it is noted on table 8 that a FLASH EPROM for a ICE40-LP/LX1K must be at least 34112 bytes. However, all binary-files as created by the icestorm-tools are all smaller: all 32220 bytes. (and the smaller file does seams to match for the format as described in the lattice documentation).

Does anybody have any idea where this "34112 bytes" figure comes from in the lattice doc comes from?

Kristoff

Reply to
kristoff
Loading thread data ...

Adding RAM initialisation increases the configuration file size.

Jan Coombs

Reply to
Jan Coombs

Hello Jan,

I have been doing a little more research on this.

As documented on the "project icestorm" webpage, the Lattice configuration-file is not just a "memory dump" of the configuration and block-ram data, it's actually a bit like a programming-language.

I guess you are correct that there is certain things not present in the

32220 bytes file created by icestorm, but it all BRAM data is there (based on output of the "iceunpack" tool).

Anycase, for my original issue ("what is the size of the configuration file to be uploaded by the programmer to the ice40"), the answer is "not defined, the FPGA just reads the configuration data until it receives "01 06" ("wake up") sequence.

Kristoff

Reply to
kristoff

ElectronDepot website is not affiliated with any of the manufacturers or service providers discussed here. All logos and trade names are the property of their respective owners.