Search code examples
yosysice40

programming iceStorm binary file to which address?


I'm trying the very first example supplied here: http://www.clifford.at/icestorm/

I'm trying to program the iCEblink40-HX1K board in windows using the digilent adept program https://reference.digilentinc.com/reference/software/adept/start?redirect=1#software_downloads

When I'm starting up Adept, the program says:

Loading board information... Warning: Could not find specific board information Default information loaded.

When I'm selecting the example.bin program from iCEstorm, the adept program says "Invalid address. Address must be entered as Binary, DEcimal, or Hexadecimal value.".

So I just entered zero, click on "file>>Device" to upload the binary file, and the program says:

Successfully read 32220 bytes from F:\me\fpga\example.bin.

However, the "blinking lights" demo that already came with the board just keeps running. Nothing seems to have changed.

I'm figuring that either the example.bin doesn't contain the correct address in the file, or that the lack of board info for the digilent adept program is the cause of the issue.

In any case, would anybody know what address it could be?


Solution

  • Thanks Clifford, now it works.

    First a bit of a mini rant (directed at the guy who laid out the PCB).

    • There are numbers next to the header rows on the HX1K evaluation kit (page 4): http://www.mouser.com/pdfdocs/iCEblink40Datasheet.pdf These don't correspond to the actual pins on the vq100 package, and the datasheet doesn't mention what these numbers supposed to mean.

    • However, on page 14 it does mention which fpga pins end up at which connector.

    • the schematic guy didn't even bother to draw the vq100 package?!

    A simple image or table with the vq100 pinout is also difficult to find. Lattice does supply one excel sheet: http://www.latticesemi.com/~/media/LatticeSemi/Documents/PinPackage/iCE/iCE40PinoutHX1K.xlsx?document_id=49383 but it assumes you know what "IOL_1A" means. The HX1K datasheet has no pinout overview.. What on earth is going on?

    Anyway, back to business: I noticed that pin 11 on the vq100 package is a power pin, so the example for the ice40stick was never going to work with the same pinout. After reassigning the I/O pins to pin 1, 2, and 3, the example just worked! I flashed it using the iceutil.exe, for some reason the Adept software is refusing to do flash anything anymore.

    Many thanks, now it's time to start playing around with the code a bit.