Working with Dynamic Chains
In straightforward test projects, all the JTAG devices in a chain are expected to be continuously accessible, and, if there are multiple chains, all the chains are expected to be able to run simultaneously. However, there can be circumstances when it is useful to be able to run chains independently of one another. For example, consider the case where one JTAG device, an MCU, controls the regulator powering a second JTAG device on a different chain. In that scenario, the chain containing the MCU must run initially by itself to enable the power before the second chain can be used. To test such circuits, the chains therefore need the ability to run independently. XJTAG calls chains that can be run in this way and can be reconfigured between tests dynamic chains.
For chains to operate like this, it must be possible to communicate with a chain (or a group of chains) separately. Chains are only fully independent if all of their signals (TMS and TCK as well as TDI and TDO) are dedicated signals that are not shared with other chains.
Dynamic chains also support the temporary addition or removal of JTAG devices to/from a chain, such as when a JTAG multiplexer or scan bridge is used. For example, if you have a test that requires a large amount of data to be transferred on a JTAG chain that contains many devices, you may wish to temporarily shorten the total boundary scan chain length by using a multiplexer to remove some of those ICs. This would reduce the time taken for the data transfer and, if slower devices were removed from the chain, could also allow a higher TCK frequency.
In cases like these, the XJTAG project should be set up to use dynamic chains. This chapter will describe how this is done and covers the following topics:
- An explanation of the fundamentals of dynamic chains and the terminology used.
- How to create a dynamic chain project.
- Dynamic chains using multiplexers to alter the number of devices in the chain.
- Using Test Reset sequences to set pin values on a device before another chain is started.
- How to set a test group to use a particular chain.
- How to use dynamic chains with external hardware such as an ICT machine or spare pins on the XJLink2.
- To learn more about standard JTAG chains, please refer to the user guide chapter on Defining JTAG Chains.
XJTAG v4.1.101