Skip to content

openfpgaloader

Universal bitstream loader for FPGAs, over JTAG and SPI

What it does

Loads a bitstream into an FPGA, or writes it to the flash the FPGA boots from, across a wide range of boards and cables — Lattice, Xilinx, Altera, Gowin and others — through one command rather than one vendor tool per family.

Why you would want it

Vendor loaders are large, per-family, and often not packaged. This is one small program that covers most boards, which matters for SDR work specifically: the LimeSDR, the USRP and the HackRF all carry programmable logic, and an open loader is what keeps them serviceable without a vendor toolchain.

Before it will work

A supported cable or an on-board FTDI interface. Access comes from the programmer hardware class.

How it installs

  • apt: openfpgaloader

Known problems

Writing to an FPGA's boot flash rather than to its volatile configuration survives a power cycle, which is the point and also the risk: a bad image in flash means the board comes up wrong every time until it is reprogrammed. Loading to SRAM first is the reversible way to test one.

Most of its 19 identifiers are FTDI bridges shared with openocd and

flashrom, which is why it is in the programmer class rather than carrying its own.

Keeping it current

  • probe: apt policy
  • strategy: apt_upgrade

Source: catalog/packages/openfpgaloader.yaml