• 0

Xilinx FPGA Spartan 6




I'm currently developing an embedded system using an FPGA board, which has an embedded Digilent USB JTAG programmer that enables the FPGA to be configured via the USB port on the PCIe bus. I’m trying to figure out how to use the Digilent linux configuration program “djtgcfg” to program a .bit file into the FPGA but noticed that it is not able to properly identify the Xilinx Spartan 6 chip (pn XC6SLX45T) on the board. I think the program is not able to find the Spartan device on a file “jtscdvclist.txt”, which is a lookup file containing a lot of Xilinx parts. However, I am not able to see the XC6SLX45T on the list. The closest that I could find was the XC6SLX (without the T on the end) on that list.  BTW, I also see this problem when I use the Xilinx ISE impact tool plugin.

Does Digilent support this particular Xilinx chip?

[[email protected]_Server_devpc104 bin64]$ ./djtgcfg init -d RTD16850149
Initializing scan chain...
Found Device ID: 44028093
Found Device ID: d5058093

Found 2 device(s):
Device 0: XCF16P
Device 1: XC6SLX ?

;--- FPGAs
XC2S$ 00600000h 0FE00000h
XC2S$E 00A00000h 0FE00000h
XC3S$ 01400000h 0FE00000h
XC3SD$A 06800000h 0FE00000h
XC3S$AN 02600000h 0FE00000h
XC3S$A 02200000h 0FE00000h
XC3S$E 01C00000h 0FE00000h
XC6SLX$ 04000000h 0FE00000h
XC7A$T 03620000h 0FFF0000h
XC7A$T 03630000h 0FFF0000h
XC7K$T 03640000h 0FEE0000h
XC7VX$T 03660000h 0FFF0000h
XC7VX$T 03680000h 0FFE0000h
XC7Z$ 03700000h 0FF00000h
XCV$ 00600000h 0FE00000h
XCV$E 00A00000h 0FE00000h
XC2V$ 01000000h 0FE00000h
XC2VP$ 01200000h 0FE00000h
XC4VFX$ 01E00000h 0FE00000h
XC4VLX$ 01600000h 0FE00000h
XC4VSX$ 02000000h 0FE00000h
XC5VFX$T 03200000h 0FE00000h
XC5VLX$ 02800000h 0FE00000h
XC5VLX$T 02a00000h 0FE00000h
XC5VSX$T 02e00000h 0FE00000h
XC5VTX$T 04500000h 0FE00000h
XC6VCX$T 042c0000h 0FFE0000h
XC6VLX$T 04240000h 0FFE0000h
XC6VLX760T 04230000h 0FFF0000h
XC6VSX$T 04280000h 0FFE0000h

ALG = 5
CFG_OUT 00000004h ;---000100
IDCODE 00000009h ;---001001
CFG_IN 00000005h ;---000101
JSTART 0000000Ch ;---001100
BYPASS 0000003Fh ;---111111
JPROGRAM 0000000Bh ;---001011
JSHUTDOWN 0000000Dh ;---001101

4 04000093h 0FFFFFFFh
16 04002093h 0FFFFFFFh
25 04004093h 0FFFFFFFh
45 04008093h 0FFFFFFFh
150 0401D093h 0FFFFFFFh





Link to comment
Share on other sites

5 answers to this question

Recommended Posts

I've been using a Spartan6 with an FT2232H to program the board via openocd. You need a recent enough version of openocd to have Spartan6 support.

I believe the Digilent programming module also uses an FTDI chip, in which case openocd should work. If it's an FT2232 there are two JTAG channels. If you try each one you should be able to enumerate and program the FPGA.

Looks like you need the latest openocd release: 0.10.0


I have an Ubuntu package built for amd64 and armhf in the Connectal PPA:


If it's useful I can have it build the package for other releases or architectures.

openocd uses libusb, so it will work on OSX and, I believe, Windows.

Link to comment
Share on other sites

On 3/16/2017 at 5:18 PM, jpeyron said:

Hi @Carson,

Unfortunately, if  XC6SLX45T is not on the list in the jtscdvclist.txt file then it is not supported in Adept 2. Please take a screen shot of what is happening when you are using xilinx ise iMPACT?

thank you,


I installed and loaded Xilinx impact tool, and was able to successfully identify the devices both flash and FPGA.  However, when programming the bit file I get an error.  I think that it might have to do with the JTAG clock speed running at 30 MHz instead of the recommended 15 MHz according to the warning messages.  Do you know of a way to modify the clock speed?  It didn't appear to be an option on the Output->Cable Setup->Digilent USB JTAG Cable selection.




Link to comment
Share on other sites

Hi Carson,

In IMPACT you can specify a different clock frequency through the cable setup dialog. Open the cable setup dialog and do the following:

1. Choose "Select Speed" for the "TCK Speed/Baud Rate:" option.
2. Click "OK". The Dialog should now refresh.
3. Under "TCK Speed/Baud Rate:" choose the clock frequency that you desire. I recommend trying 10 MHz, as it should work for my chips and board designs.
4. Click "OK". Now the cable should be open and ready to use.



Link to comment
Share on other sites


This topic is now archived and is closed to further replies.