Continuing from XJTAG 3.12’s Enhanced Signal Integrity Analysis feature (see here and here), XJTAG 3.13 brings more algorithms to help identify potential issues with the JTAG chain.

This article describes more of the symptoms it can spot and their likely causes.

Transient data misalignment

In a similar way that the first algorithm introduced looks for misaligned data sets, the system now also looks for the case where the data initially comes back correctly aligned, then becomes misaligned by a single bit, before finally dropping back into alignment. By considering the length of the section of misaligned data, the system can then look at the assigned BSDL files to try to establish which device may have experienced an error.

A situation such as this is often caused when a device shifts an extra bit during the scan, owing to a glitch on TCK, or because TCK is simply set too fast for that particular device. Once the device has been identified by the Error Analysis, things like termination on the TCK path, and the routing of signal and ground traces can then be checked for issues.

Gradual logic decay

If the returned data contains a long burst of one logic value, followed by some amount of toggling between logic states, and finally settles to a long sequence of the opposite value, this could be an indication that there is a floating net somewhere along the chain. That floating net has then transitioned between logic values during the scan. The rate of this transition will depend on the capacitance of the net, and any leakage from it.

There are a couple of possible problems the presence of such a net could indicate.

The first is that one of the devices entered the wrong SHIFT state. Such a situation could occur if a glitch on TCK affected the device navigating the JTAG state machine during setup for the scan.

A second option is that one of the devices in the chain was asynchronously reset or lost power during the scan.

The location of the error within the scan could help point to which option caused the net to float. If observed at the very beginning of a scan, it would point to the setup problem. However, if seen part way through a scan, where the preceding section of data was scanned correctly, it would point toward the reset or power issue.