Programming TinyFPGA BX with.bin created in ICECube2


Dear All,

I used apio-atom to test my newly bought TinyFPGA BX board, it works great. Then I built the same code using ICECube2, synthesized it using the lattice synthesis tool(wanted to check , if I get any timing improvement). I wanted to program the BX using the .bin generated from ICECube2. For this I used tinyprog --pyserial -c COM12 – program --uart_top.bin, the CLI shows success, but the code doesn’t work surprisingly.

I have few questions, regarding this,

  1. Is it the right way to program tinyFPGA with a .bin file generated in ICECube2 ?
  2. Is the .bin generated by yosys in apio-atom environment same as .bin generated in ICECube 2?
  3. Will the bootloader in BX accept .bin file from ICECube2 ?

This is my first project with BX, so my questions may seem obvious.

Kindly help.

Thanks and regards.



I don’t know about your first question. Try programming a file produced by icestorm in the same way to validate this. For the second and third question the answer should be yes. The booloader is not directly involved in loading of the .bin file from the flash. it is ratter a feature of the FPGA to be able to boot from an alternative address in SPI and as far as I know the .bin (on icestorm) is really a raw bit file.

My guess is that your clock is perhaps not well configured to use the correct pin on the board? did you try in a non clocked example to turn on the LED ?



Thanks for the response.

Just did a quick check. Downloaded icecube2 template from TinyFPGA BX Git repo, and tried a simple led glow code, and it works, so the tinyprog command is working. I guess the ways pcf is written in atom and icecube 2 is diffrent, any idea? Will do more tests and get back.

Thanks again.