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
size lattice iCE40 config files
Started by ●May 11, 2017
Reply by ●May 11, 20172017-05-11
On Thu, 11 May 2017 13:44:37 +0200 kristoff <kristoff@skypro.be> wrote:> 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? > > > KristoffAdding RAM initialisation increases the configuration file size. Jan Coombs
Reply by ●May 12, 20172017-05-12
Hello Jan, On 11-05-17 20:03, Jan Coombs wrote:>> 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?> Adding RAM initialisation increases the configuration file size.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.> Jan CoombsKristoff