09-16-2019 07:14 PM
I have a board that has stopped responding via JTAG, however it still successfully configures from the attached configuration ROM.
I have tested two different programmers against the board, and have tested that both programmers work against a different board.
Has anyone encountered this issue before/ Is it possible for the JTAG interface to die without affecting the rest of the device?
09-16-2019 07:20 PM
Yes it's possible. But you can check the hardware first, say, is the Board TDI port->FPGA TDI or FPGA TDO -> Board TDO port broken?
09-16-2019 07:46 PM
Observing the signals using a DSO reveals that TCK is pulled low once connected to the device, if I disconnect that signal I observe the correct clock signal.
Are there other situations where the device would pull TCK low or is this indicative of an internal failure within the device?
09-16-2019 08:20 PM
It could be the trace on PCB board or FPGA's TCK port if you only have this single device in the JTAG chain.
I never saw TCK port got broken separately but it's possible. Probe the TCK port of FPGA if you could, is it low always even if there is a pullup? If yes, the port might got shorted or something.
09-16-2019 08:33 PM
Even with the addition of a pull-up resistor TCK remains low, I can only assume there is some kind of internal shorting, I can't see any damage to traces and JTAG has been used many times prior today on this board successfully.
09-17-2019 02:20 AM
Which programming cable you are using for configuring FPGA through JTAG? Does your programming cable works with other boards?
09-17-2019 03:34 AM
The FPGA does not drive TCK,
so if its low, you have a board fault.
You need to follow the trace through the the board. Does TCK toggle on the programmer if its not plugged in , I'm guessing yes fomr what you said.
Does the programer have Vref ( Vcc ) being sent ot it from the board ?
Is TCK routed directly to the FPGA or die sit go through some othe rcircuit on baord ? if so , does that circuit work ?
I'd also suggest you tripple check you have the correct pin out on the programmer and FPGA, ( its not unknown to have the programmer header back to front when laying out the board , ( no I have never done that , reallly ... Ohh, yes well may be once, !! )
09-17-2019 03:36 AM
One other thought
How did you program the SPI without the JTAG ?
( some SPI chips and programers have a over volts to speed up the programming )
09-17-2019 02:57 PM
to answer the first set of questions:
pins are definitely correct, I made a cable up that is correctly oriented which has been in use for months now, so alas nothing so simple!
The (admittedly pretty terrible) schematics that came with the board don't indicate any extras between the header and the IC, however the black soldermask and BGA packaging make it difficult to inspect visually. The resistance on the TCK header pin is low enough my multimeter can't even read it, so either the trace has somehow shorted or the IC is damaged internally and shorting to ground (as above have been sucessfully programming for months now). The xilinx platform cable light also goes green which indicates it is receiving VREF, and the SoC design presently in the SPI rom boots and runs test code...
I managed to program the SPI rom in circuit using one of those chip clamps and an external programmer, which is less than ideal as I have to dismount the board from the backplane daughterboard and chassis to do so.
09-17-2019 03:02 PM
I have tried both a Xilinx platform cable II, and a FT232H breakout board both of which are able to program other devices. Both in Vivado, ISE(Impact) and using xc3sprog. Measurements with DSO and DMM indicate the pin is shorted to ground, as it will stay low even with the addition of a pull up resistor.
The only remaining thing to do is determine if this means a damaged device or if there is some other thing that causes the device to behave in this manner.
09-17-2019 10:06 PM