Okt 17, 2017 by Robin Category: Unkategorisiert 0 comments


How to Flash the iolinker FPGA Boards

The iolinker board connected to the JTAG programming cable


  • Register with Lattice, to get access to all of their free services.
  • Install Lattice Diamond and the Lattice Programmer; you can download from them and follow their instructions, but if you’re using Ubuntu or Debian… better look elsewhere, too. You also need a free license from Lattice. (No, I am not advertising for them, I am suffering with you.)
  • Connect a Lattice compatible JTAG cable, start the Lattice Programmer, press „Detect cable“ and make sure that it works.

Step by step…

  • Create a new project for the correct Lattice FPGA, for now that is the LCMXO3L-4300E-5UWG81CTR50.
  • Enter your source, your design constraints, test… A neat introduction may be a Verilog book or this Youtube video.
  • Click Process — Rerun All.
  • Locate the JEDEC (*.jed) file that was exported.
  • Choose Tools — Programmer.
  • Create a blank project, and in the right bar choose „Custom I/O settings“ and „ispEN connect: high“.

Now it’s time to prepare your hardware:

  • Connect TDI, TDO, TMS, TCK, GND directly. Connect the Programmer VCC pin to a VCCIO pin on the FPGA board (i.e. 3.3V in default configuration). Connect the Programmer PROG pin to the JTAGEN pin on the FPGA board.
  • Don’t worry about the INIT or TRST signals from the Programmer, you do not have to connect them.
  • Supply the board with power.

Back to the programmer software:

  • Click the „JTAG Scan“ button.
  • After the device was correctly recognized, choose „Erase, Program, Verify“ as operation and select your *.jed file.
  • Be careful: NVCM programming can be done only 9 times. For software testing, use Static RAM Cell Mode instead. The program is then reset after the next power cycle, however.
  • Click „Program“.

You’re all done!

Trying It Out…

Watch a demonstration of the iolinker board being flashed:

Example source for a 2Hz flash program

Here’s some example Verilog source to flash an LED at 2 Hz. The enable jumper needs to be plugged in on the board.

Sorry, the comment form is closed at this time.