Universal utility for programming FPGA
Go to file
Dave Berkeley 11a85eb19d added spi flash support for xc6slx16csg324 2022-01-27 08:19:55 +00:00
.github/workflows ci: use reusable composite action and reusable workflow from msys2/setup-msys2 2022-01-05 10:25:54 +01:00
doc doc/boards: tang Nano s/4k/9k/g 2022-01-22 16:01:16 +01:00
scripts/msys2 add zlib support (currently limited to altera spiOverJtag) 2021-11-25 08:11:50 +01:00
spiOverJtag added spi flash support for xc6slx16csg324 2022-01-27 08:19:55 +00:00
src xilinx: fix typo 2022-01-24 18:58:32 +01:00
.btd.yml ci: use BuildTheDocs 2021-11-28 10:24:06 +01:00
.gitignore doc: declare FPGA compatibility list through YAML file 2022-01-17 23:21:23 +01:00
99-openfpgaloader.rules board: add support for 1bitsquared iCEBreaker-bitsy 2021-10-03 12:42:35 +02:00
CMakeLists.txt prepare release 0.7.0 2021-12-27 15:46:26 +01:00
LICENSE move to APACHE-2.0 license 2021-06-26 15:24:07 +02:00
README.md README: update with (un)protect flash 2021-12-22 19:15:06 +01:00
test_sfl.svf add svf used to have access to SPI flash through FT2232 interface B 2019-09-26 18:39:03 +02:00

README.md

openFPGALoader

'Test' workflow Status

First stepsInstallTroubleshootingAdvanced usage

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:

Also checkout the vendor-specific documentation: Anlogic, Cologne Chip, Efinix, Gowin, Intel/Altera, Lattice, Xilinx.

Quick Usage

arty in the example below is one of the many FPGA board configurations listed here.

openFPGALoader -b arty arty_bitstream.bit # Loading in SRAM
openFPGALoader -b arty -f arty_bitstream.bit # Writing in flash

You can also specify a JTAG cable model (complete list here) instead of the board model:

openFPGALoader -c cmsisdap fpga_bitstream.bit

Usage

Usage: ./openFPGALoader [OPTION...] BIT_FILE
openFPGALoader -- a program to flash FPGA

      --altsetting arg      DFU interface altsetting (only for DFU mode)
      --bitstream arg       bitstream
  -b, --board arg           board name, may be used instead of cable
  -c, --cable arg           jtag interface
      --vid arg             probe Vendor ID
      --pid arg             probe Product ID
      --ftdi-serial arg     FTDI chip serial number
      --ftdi-channel arg    FTDI chip channel number (channels 0-3 map to
                            A-D)
  -d, --device arg          device to use (/dev/ttyUSBx)
      --detect              detect FPGA
      --dfu                 DFU mode
      --dump-flash          Dump flash mode
      --external-flash      select ext flash for device with internal and
                            external storage
      --file-size arg       provides size in Byte to dump, must be used with
                            dump-flash
      --file-type arg       provides file type instead of let's deduced by
                            using extension
      --flash-sector arg    flash sector (Lattice parts only)
      --fpga-part arg       fpga model flavor + package
      --freq arg            jtag frequency (Hz)
  -f, --write-flash         write bitstream in flash (default: false)
      --index-chain arg     device index in JTAG-chain
      --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, --offset arg          start offset in EEPROM
      --pins arg            pin config (only for ft232R) TDI:TDO:TCK:TMS
      --probe-firmware arg  firmware for JTAG probe (usbBlasterII)
      --protect-flash arg   protect SPI flash area
      --quiet               Produce quiet output (no progress bar)
  -r, --reset               reset FPGA after operations
      --spi                 SPI mode (only for FTDI in serial mode)
      --unprotect-flash     Unprotect flash blocks
  -v, --verbose             Produce verbose output
      --verbose-level arg   verbose level -1: quiet, 0: normal, 1:verbose,
                            2:debug
  -h, --help                Give this help list
      --verify              Verify write operation (SPI Flash only)
  -V, --Version             Print program version

Mandatory or optional arguments to long options are also mandatory or optional
for any corresponding short options.

Report bugs to <gwenhael.goavec-merou@trabucayre.com>.