Broken JTAG Chain
This runtime error can occur at any time during the running of the JTAG chain, and is used to tell the user that for some reason the chain is not working correctly.
If the JTAG chain is broken the first time XJEase tries to access it, have a look at the JTAG Chain Initialisation section.
The chain integrity is continuously checked by clocking a set of extra test bits into the chain at each scan of the boundary scan register. The test bits are appended to the start of the chain and should be seen as the last bits read out of the chain. The chain is clocked by an extra amount to make sure that the data is correctly positioned into the scan chain.

Looking at the figure above, the JTAG chain contains N zeros before the scan, which are the bits that we need to read. The new chain contains all '1's, and we tag our K test bits (the chain tag) onto the start of the chain. We clock N+K bits into the JTAG chain and read N+K bits out, which includes the returned JTAG chain and the chain tag. The tag is then checked to make sure that the boundary scan register is complete (and is the correct length).
At the end of the scan, if the chain tag is found to be missing, corrupted, or in the wrong place in the bits read out from the chain then the chain is reported as broken. There are several likely reasons for this to happen, including:
- The previous scan of the JTAG chain drove a net that set one of the JTAG devices into reset (or stopped driving on a net that was preventing a JTAG device from resetting). Therefore, on this scan, the device was not in the EXTEST state and the length of the JTAG chain was wrong.
- The previous scan of the JTAG chain set two pins in contention with each other, increasing the source current and tripping the current limit on the power supply.
- The Signal integrity of the JTAG signals is poor, leading to corrupt data being read back from the JTAG chain.
XJTAG v4.1.100