JTAG Chain Errors

At startup, XJTAG assumes that all devices are either reset through a power-up reset or can be reset through their nTRST signal (which they must have if there is no on-chip power-up reset). This means that the JTAG state machine is in the Reset state when XJTAG starts to operate the JTAG chains.

It is also expected that the TMS and TDI signals will read the value '1' if open circuited (IEEE 1149.1-1990).

A fault in the nTRST signal connection may prevent a JTAG device from entering JTAG mode. However, assuming the JTAG devices are successfully put into JTAG mode, the diagram above shows 5 possible fault situations, for which symptoms are described here: (note that some faults share the same symptoms)

Fault 1: TDI circuit input broken

In this case, XJTAG will be able to read the correct ID codes from the circuit for all of the devices in the JTAG chain, but cannot shift data into the chain (or control the JTAG instruction). This means that the known data pattern that XJTAG tries to insert into the chain to determine the chain length will never be emitted at the other end, and so although XJTAG reads all of the correct IDs it does not think the chain is complete. It may report that the chain is broken "between TDI and n devices before TDO" but the value that it gives for n will be the number of devices expected to be in the chain, indicating that the break is before the first device in the chain.

Fault 2: TCK or TMS broken to one or more devices
In this case, no data would be sent from TDO of the affected device(s): the TDO pin will not be driven and will stay in a floating state. If the last device in the chain is affected, XJTAG will find no devices in the chain.
Fault 3: TDI-TDO chain broken between two devices
If the chain is broken, no data will be transferred between devices, but the ID codes of the devices after the break in the chain will be read correctly. In the example in the diagram above, XJTAG would only see one device in the JTAG chain - the final device - however it will also report that the chain is broken because no data transmitted from TDI arrived at TDO.
Fault 4: TDO circuit output broken
The effect of this fault is the same as if the last device in the chain had no TMS / TCK, or if the last device was in reset. XJTAG will report that no devices have been found in the JTAG chain.
Fault 5: One of the devices is in RESET

Often, the problem lies with a compliance pin which must be held at a particular logic level for the JTAG chain to shift correctly. If a device's boundary scan logic is held in reset, it will not drive its TDO pin, and this fault then has the same symptoms as fault 3.

This is harder to find if the device in RESET is the last one in the chain, as then the system would report that there are no devices at all.