FPGA Firmware Reprogramming

Posts related to the MFX Interface
Post questions about MFX and raise any issues or problems here
Post Reply
User avatar
Dave
Posts: 1285
Joined: 11 Aug 2012 18:16
Contact:

FPGA Firmware Reprogramming

Post by Dave »

The firmware loaded to the MFX FPGA contains a unique serial number created for each board and user, to keep the serial number records accurate, generic downloads are not available on the website. When a user needs a copy of the firmware to replace a failed FPGA or to obtain a copy of updated firmware if new features are released, I will generate a new programming file on request.

Due to the orientation of the FPGA development board, it needs to be removed from the MFX PCB in order to perform the upgrade.

However, upgrading of the FPGA code is a slightly more complex task than upgrading the ROM, it requires that the user has a copy of the Altera Quartus II design suite (a free version is available) and a suitable device programmer (clones of the Altera USB Blaster can be found for under £10 from eBay, or even cheaper from Aliexpress).

Quartus II v13.0sp1 is the last version that supports the Cyclone II series, legacy versions of the software downloadable from the Intel/Altera Quartus download portal. The download of the complete Quartus II design suite is large, around 5 GB as I recall, and the installation takes up around the same space on disk. (It should be possible to only install the programmer element of the Quartus package, but I have not tried this myself.)

It may be that the best way for the user to access an updated FPGA code version is to return the FPGA module to me to upgrade. There would be no charge for this, other than for the cost of return postage. If anyone wishes to do this, I would advise that the package is insured to cover the replacement cost of the FPGA.
Bill B
Posts: 596
Joined: 26 Jan 2014 16:31

Re: FPGA Firmware Reprogramming

Post by Bill B »

If you have a Raspberry Pi, either a Pico or one of the Linux boards it is actually possible to reprogram the FPGA without Quartus or a USB blaster.

It requires:
  • A slightly different programming file (Raw program data, *.rpd).
  • A custom cable. This can be made with a 10-wide DuPont cable with female connectors at each end.
  • A 5v power supply.
  • A barrel plug to fit into the power socket on the FPGA board.
  • Python, either on the Raspberry Pi, or on the host computer if using a Pico.
  • The appropriate Python program (different for Pico or for RPi).
  • If using a Pico, a *.uf2 file containing the necessary Pico program.
If anyone wants to try this themselves, post a reply here and I will attempt to post detailed instructions. Let me know whether you want the Pico version or the RPi version.

Most of my development on real hardware was performed using a Pico to reprogram the FPGA. However, I have also enhanced MEMU to emulate the MFX, and used that for most of the ROM development.
Post Reply