Site contents


xc3sprog is a suite of utilities for programming Xilinx FPGAs, CPLDs, and EEPROMs with the Xilinx Parallel Cable and other JTAG adapters under Linux.


xc3sprog runs as a command-line application on Linux and Windows.

The main features include:

  • Reading a .BIT file from Xilinx design tools and programming it into an FPGA.
  • Reading a JEDEC file and programming it into a CPLD.
  • Programming a .BIT file into an on-board configuration PROM.
  • Programming a binary image into on-board SPI flash memory.
  • Reading the contents of a PROM chip back to a file.
  • Programming AVR microcontrollers.

The functionality of xc3sprog is similar to that of Xilinx IMPACT. There are also similarities with other free JTAG tools, such as UrJTAG. However, xc3sprog has a number of advantages:

  • xc3sprog is free software.
  • It is a command-line tool.
  • It works on Linux without the need to install binary "cable-drivers". (Although some types of JTAG cables need to load firmware.)
  • It uses an optional configuration file to recognize new JTAG devices.
  • It contains programming algorithms for the supported devices, enabling the direct use of binary files (.BIT / JEDEC) from design tools (as opposed to intermediate SVF/STAPLE files).


Read the getting-started-guide to quickly learn how to install and use xc3sprog, or consult the manual page for more detailed usage instructions. Check the list of supported hardware to figure out if your board and JTAG cable is supported.


The first version of xc3sprog was written by Andrew Rogers. The code has since been improved and extended by Uwe Bonnes and several other people.

As its name indicates, xc3sprog was originally designed for Xilinx Spartan-3 FPGAs. However, it has been extended to handle several other types of devices including Xilinx FPGAs, CPLDs, XCF flash PROMs, Atmel AVRs and SPI flash chips.


xc3sprog is free software, licenced under the GNU General Public License (GPL version 2 or later). For details, please see the files README and COPYING included in the source code repository.

Mailing list

xc3sprog-users is mailing list for general discussion about xc3sprog. All questions, remarks and bug reports are welcome.

last update 2011-10-07