Understanding Organization of the CRAM bits in bitstream .bin file

102 views Asked by At

For an iCE40 1k device, Following is the snippet from the output of the command "iceunpack -vv example.bin" I could not understand why there are 332x144 bits? My understanding is that [1], the CRAM BLOCK[0] starts at the logic tile (1,1), and it should contain:

  • 48 logic tiles, each 54x16,
  • 14 IO tiles, each 18x16

How the "332 x 144" is calculated?

Where does the IO tile and logic tiles bits are mapped in CRAM BLOCK[0] bits?

e.g., which bits of CRAM BLOCK[0] indicates the bits for logic tile (1,1) and bits for IO tile (0,1)?

Set bank to 0.
Next command at offset 26: 0x01 0x01
CRAM Data [0]: 332 x 144 bits = 47808 bits = 5976 bytes
Next command at offset 6006: 0x11 0x01

[1]. http://www.clifford.at/icestorm/format.html

Thanks.

1

There are 1 answers

0
Sajjad On

height=9x16=144 (1 I/O tile and 8 Logic tiles)

Width=18+42+5x54 = 330 (1 I/O tile, 1 ram tile and 5 Logic tiles) plus "two zero bytes" = 332.