Universal utility for programming FPGA
Go to file
Patrick Urban d09e5da0ba colognechip integration: initial commit
This commit adds support for the Cologne Chip GateMate FPGA series. Both
Evaluation Board and Programmer Cable are supported. Configurations can be
loaded into the FPGA with both devices via JTAG or SPI. In addition to
reading/writing data from/to flashes directly via SPI, this can also be done
via the built-in JTAG-SPI-bypass. A direct wiring between programming hardware
and flash is no longer necessary in this case.

Signed-off-by: Patrick Urban <patrick.urban@web.de>
2021-12-10 12:12:32 +01:00
.github/workflows workflows: try to fix release 2021-12-02 07:36:39 +01:00
doc colognechip integration: initial commit 2021-12-10 12:12:32 +01:00
scripts/msys2 add zlib support (currently limited to altera spiOverJtag) 2021-11-25 08:11:50 +01:00
spiOverJtag spiOverJtag: add bitstream for ECP4CE15F23 2021-11-28 16:51:42 +01:00
src colognechip integration: initial commit 2021-12-10 12:12:32 +01:00
.btd.yml ci: use BuildTheDocs 2021-11-28 10:24:06 +01:00
.gitignore gitignore: update 2021-11-28 10:24:07 +01:00
99-openfpgaloader.rules board: add support for 1bitsquared iCEBreaker-bitsy 2021-10-03 12:42:35 +02:00
CMakeLists.txt colognechip integration: initial commit 2021-12-10 12:12:32 +01:00
LICENSE move to APACHE-2.0 license 2021-06-26 15:24:07 +02:00
README.md readme: update refs to documentation 2021-11-28 10:24:07 +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). 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, 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

openFPGALoader --help
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
      --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)
      --quiet               Produce quiet output (no progress bar)
  -r, --reset               reset FPGA after operations
      --spi                 SPI mode (only for FTDI in serial mode)
  -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>.