Skip to content
Skip Hansen edited this page May 11, 2022 · 2 revisions

Why bother with xc3sprog ?

It is difficult to program the SPI flash on the G2 using Impact because the .bit file that Impact loads turns off Vref to JTAG as soon as it is loaded. This prevents further JTAG communications until the Pano is power cycled (see issue 7).

Holding the Pano button while programming with Impact seems to bypass the issue for most people, but to say the least it isn't a convenient solution. The xc3sprog utility plus a bit file that has been customized for the Pano solves the problem.

Additionally since xc3sprog is strictly a command line program it is Makefile friendly.

Installing xc3sprog

NB: There is a bug in some/most/all versions of xc3sprog that effects the G2 rev C when images are programmed at other than offset 0. This bug is fixed in this xc3sprog fork.

If a binary install isn't available for your system the original project can be found here: https://sourceforge.net/projects/xc3sprog/. Sources can be checked out using subversion from https://svn.code.sf.net/p/xc3sprog/code/trunk.

As an alternate if you don't have subversion a fork of the original project can be found here: https://github.com/Ole2mail/xc3sprog.git .

If your JTAG cable is not a Digilent JTAG-HS2 then you will need to set the "CABLE" environment variable to your cable type before using xc3sprog.

Refer to the supported hardware web page page or run xc3sprog -c to find the correct cable option for your device.

IMPORTANT: There are 2 versions of the Pano Logic G2: some use a Spartan 6 LX150 while others use an LX100. This page will help you to distinguish between the two revisions.

The bit file used with xc3sprog must be for the correct device. Most projects use the PLATFORM environment variable to determine correct bit file, but check your projects documentation for details.