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?
Reply to
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.
Reply to

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.