Universal utility for programming FPGAs. Compatible with many boards, cables and FPGA from major
manufacturers (Xilinx, Altera/Intel, Lattice, Gowin, Efinix, Anlogic, Cologne Chip). openFPGALoader works
on Linux, Windows and macOS.
Not sure if your hardware is supported? Check the hardware compatibility lists:
• https://trabucayre.github.io/openFPGALoader/compatibility/fpga.html
• https://trabucayre.github.io/openFPGALoader/compatibility/board.html
• https://trabucayre.github.io/openFPGALoader/compatibility/cable.html
Mandatory or optional arguments to long options are also mandatory or optional for any corresponding
short options.
--altsettingarg
DFU interface altsetting (only for DFU mode)
--bitstreamarg
bitstream
--secondary-bitstreamarg
secondary bitstream (some Xilinx UltraScale boards)
-b,--boardarg
board name, may be used instead of cable
-B,--bridgearg
disable spiOverJtag model detection by providing bitstream(intel/xilinx)
-c,--cablearg
jtag interface
--status-pinarg
JTAG mode / FTDI: GPIO pin number to use as a status indicator (active low)
--invert-read-edge
JTAG mode / FTDI: read on negative edge instead of positive
--vidarg
probe Vendor ID
--pidarg
probe Product ID
--cable-indexarg
probe index (FTDI and cmsisDAP)
--busdev-numarg
select a probe by it bus and device number (bus_num:device_addr)
--ftdi-serialarg
FTDI chip serial number
--ftdi-channelarg
FTDI chip channel number (channels 0-3 map to A-D)
-d,--devicearg
device to use (/dev/ttyUSBx)
--detect
detect FPGA
--dfu DFU mode
--dump-flash
Dump flash mode
--bulk-erase
Bulk erase flash
--target-flasharg
for boards with multiple flash chips (some Xilinx UltraScale boards), select the target flash:
primary (default), secondary or both
--external-flash
select ext flash for device with internal and external storage
--file-sizearg
provides size in Byte to dump, must be used with dump-flash
--file-typearg
provides file type instead of let's deduced by using extension
--flash-sectorarg
flash sector (Lattice parts only)
--fpga-partarg
fpga model flavor + package
--freqarg
jtag frequency (Hz)
-f,--write-flash
write bitstream in flash (default: false)
--index-chainarg
device index in JTAG-chain
--misc-devicearg
add JTAG non-FPGA devices <idcode,irlen,name>
--iparg
IP address (XVC and remote bitbang client)
--list-boards
list all supported boards
--list-cables
list all supported cables
--list-fpga
list all supported FPGA
-m,--write-sram
write bitstream in SRAM (default: true)
-o,--offsetarg
Start address (in bytes) for read/write into non volatile memory (default: 0)
--pinsarg
pin config TDI:TDO:TCK:TMS
--probe-firmwarearg
firmware for JTAG probe (usbBlasterII)
--protect-flasharg
protect SPI flash area
--quiet
Produce quiet output (no progress bar)
-r,--reset
reset FPGA after operations
--scan-usb
scan USB to display connected probes
--skip-load-bridge
skip writing bridge to SRAM when in write-flash mode
--skip-reset
skip resetting the device when in write-flash mode
--spi SPI mode (only for FTDI in serial mode)
--unprotect-flash
Unprotect flash blocks
-v,--verbose
Produce verbose output
--verbose-levelarg
verbose level -1: quiet, 0: normal, 1:verbose, 2:debug
-h,--help
Give this help list
--verify
Verify write operation (SPI Flash only)
--xvc Xilinx Virtual Cable Functions
--portarg
Xilinx Virtual Cable and remote bitbang Port (default 3721)
--mcufwarg
Microcontroller firmware
--conmcu
Connect JTAG to MCU
-D,--read_dna
Read DNA (Xilinx FPGA only)
-X,--read_xadc
Read XADC (Xilinx FPGA only)
-V,--Version
Print program version