We have detected your current browser version is not the latest one. Xilinx.com uses the latest web technologies to bring you the best online experience possible. Please upgrade to a Xilinx.com supported browser:Chrome, Firefox, Internet Explorer 11, Safari. Thank you!

Showing results for 
Search instead for 
Did you mean: 
Registered: ‎05-26-2015

Strange JTAG chain programming problem with slave SPIX4

I am having a strange problem programming Artix FPGAs in a JTAG chain of 4 devices. There is a backplane board which hold 1-4 boards. Each board has one Artix, and a slave SPIX4 flash, and a JTAG connector.

First, I can program them fine when not in a chain. I can program the FPGA with the bit file or program the boot flash SPIX4.

Second, I can program the FPGA just fine when in the chained mode. Everything including ILAs work fine.

Third, I can't program the SPIX4 when in the chain.


I have tried lowering the SPIX4 rate, I lowered the JTAG rate. I also checked the signal integrity. I have buffers on TMS and TCK, with series resistors to control impedance. I have examined the signals from the board with a high speed, high impedance probe. I have also looked at the power rails and they are fine. In addition, why would a signal integrity issue only affect the SPIX4 programming and not the FPGA programming or ILA?


Any ideas will be appreciated.


Here are some bitstream settings I am using. I have tried several variants of each setting.


set_property BITSTREAM.GENERAL.COMPRESS TRUE [current_design]
set_property CONFIG_VOLTAGE 3.3 [current_design]
set_property CFGBVS VCCO [current_design]
set_property BITSTREAM.CONFIG.CONFIGRATE 16 [current_design]
set_property BITSTREAM.CONFIG.SPI_32BIT_ADDR NO [current_design]
set_property BITSTREAM.CONFIG.SPI_FALL_EDGE YES [current_design]
set_property BITSTREAM.CONFIG.SPI_BUSWIDTH 4 [current_design]
set_property CONFIG_MODE SPIx4 [current_design]

0 Kudos
1 Reply
Registered: ‎02-09-2017

Re: Strange JTAG chain programming problem with slave SPIX4

hello skeptonomicon,

Could you please inform which version of Vivado are you using? Also, do you see any error message when trying to program the SPIX4 or it just don't get programmed silently?

We have had some issues when having multiple devices in the same JTAG chain, where the tool could not handle the position of the devices correctly.

This issue has been fixed in newer versions of Vivado,
If you are able to, can you test it again with the newest Vivado 2017.1 ?

Thank you.
Andre Guerrero

Product Applications Engineer

Don’t forget to reply, kudo, and accept as solution.
0 Kudos