size lattice iCE40 config files

K

kristoff

Guest
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
 
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?


Kristoff

Adding RAM initialisation increases the configuration file size.

Jan Coombs
 
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 Coombs
Kristoff
 

Welcome to EDABoard.com

Sponsor

Back
Top