Hello, I want to configure a Spartan 3 with an ARM controller comporting several GPIO pins (0-3,3v), from which I use 4 to drive the JTAG controller of the FPGA. I tried a basic configuration which only reads the IDCODE of the device, but the value seen on TDO is not what is excepted, altough a green led indicating that the device is properly configured becomes active. Moreover, I tried to configure the device with xsvf and it stops rapidly with an error, because the TDO value mismatch. Has anyone experienced these problems? Do we have to take care of other things? NOTE: to configure the device with JTAG, I reproduced the state machine driven by TMS and TCK I checked at the oscilloscope that the sequencing was correct with respect to the state machine, the only problem is the mismatch on TDO. For the IDCODE = 01001, I ran first in SHIFT-IR state and produced 1, 0, 0, 1, 0 on the TDI line After that I ran in SHIFT-DR state, and clock TCK 32 times, reading TDO at each edge
Thank you very much for your help, if anyone has a working detailed example about this JTAG programming