FJMEM core for flashing Mixxeo and Milkymist One
Verilog Shell
Switch branches/tags
Nothing to show
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Failed to load latest commit information.


[> About
This is a fjmem compatible core for the Mixxeo and M1 boards [1]. It
provides support to program the onboard parallel flash with UrJTAG [2].

[> Requirements
 - Mixxeo or Milkymist One board :)
 - UrJTAG compatible JTAG pod
 - PLD enabled (i.e. recent) UrJTAG
 - Xilinx ISE (WebPack edition is sufficient)

[> Howto
Build the flasher with:
 $ cd boards/[mixxeo or milkymist-one]/synthesis
 $ make -f Makefile.xst all
This will result in a bitstream which is loaded into the FPGA before
flashing. It provides an interface compatible with the fjmem bus driver of

After building and installing UrJTAG start it by
 $ jtag

Execute the following commands on the CLI to program the flash
 cable milkymist
 pld load /path/to/system.bit (eg. build/system.bit)
 initbus fjmem opcode=000010
 detectflash 0
 flashmem 0 /path/to/system.bin
Only binary files are supported by UrJTAG atm.

[> Debugging
On M1:
LED1 should blink with approx. 1Hz after loading the bitstream.
LED2 toggles with a transition to the DR_UPDATE state of the TAP state
On Mixxeo, the single LED is the XOR of those two.

[> References