Spartan 3 / XCF02S JTAG problem

J

Jon Beniston

Guest
I have a board that has a XCF02S and Spartan 3 400 (ES) connected in a
JTAG chain (the XCF02S is first in the chain). Attempting to
initialise the chain in Impact fails because the IDCODE coming out of
the FPGA is invalid (I have verified this on a scope - It is
reproducibly incorrect, and always the same value). Looking at the TDO
pin of the XCF02S / TDI pin of the FPGA, I can see that the IDCODE
coming out of the XCF02S is correct.

If I take the XCF02S out of the chain, then the IDCODE from the FPGA
is correct and Impact is able to program the device.

Should the value on the TDI pin of the FPGA effect the output of the
IDCODE? Is it possible that any of the other FPGA configuration pins
that the XCF02S is driving effect JTAG operation? I'm pretty sure the
devices are connected as detailed in the XCF02S data sheet.

Cheers,
JonB
 
I have a board that has a XCF02S and Spartan 3 400 (ES) connected in a
JTAG chain (the XCF02S is first in the chain). Attempting to
initialise the chain in Impact fails because the IDCODE coming out of
the FPGA is invalid (I have verified this on a scope - It is
reproducibly incorrect, and always the same value). Looking at the TDO
pin of the XCF02S / TDI pin of the FPGA, I can see that the IDCODE
coming out of the XCF02S is correct.

If I take the XCF02S out of the chain, then the IDCODE from the FPGA
is correct and Impact is able to program the device.

Should the value on the TDI pin of the FPGA effect the output of the
IDCODE?
I just tried reversing the order of the JTAG chain (FPGA first, then
PROM) and it now works. After numerious experiments, it seems that if
there is any activity on the FPGA's TDI pin, then the IDCODE wont be
output successfully.

Cheers,
JonB
 
"Jon Beniston" <jon@beniston.com> wrote in message news:e87b9ce8.0402240800.32041d0d@posting.google.com...
I have a board that has a XCF02S and Spartan 3 400 (ES) connected in a
JTAG chain (the XCF02S is first in the chain). Attempting to
initialise the chain in Impact fails because the IDCODE coming out of
the FPGA is invalid (I have verified this on a scope - It is
reproducibly incorrect, and always the same value). Looking at the TDO
pin of the XCF02S / TDI pin of the FPGA, I can see that the IDCODE
coming out of the XCF02S is correct.

If I take the XCF02S out of the chain, then the IDCODE from the FPGA
is correct and Impact is able to program the device.

Should the value on the TDI pin of the FPGA effect the output of the
IDCODE?
Sure, all commands are shifted serially through the chain, so a problem upstream
will cause malfunctions downstream.


I just tried reversing the order of the JTAG chain (FPGA first, then
PROM) and it now works. After numerious experiments, it seems that if
there is any activity on the FPGA's TDI pin, then the IDCODE wont be
output successfully.
We've seen different problems with an XCF02S in the chain ahead of a Spartan 2
part. Done never goes high on the Spartan when attempting JTAG programming.
Take the XCF02 out of the chain and it works. Discovered that if the XCF02 is
blank, then we can program the Spartan OK. Xilinx has some answer records
(18644 and others) on related issues, but that didn't seem to apply to us.
 

Welcome to EDABoard.com

Sponsor

Back
Top