Dynamic Chains

If an XJTAG project has multiple JTAG chains controlled by different TMS and/or TCK pins, or a single chain with multiple JTAG device variations (for example a scan bridge device), or if the project includes External Hardware, then the Dynamic Chains feature allows tests to be run in various hardware configurations from a single XJTAG project. The feature is enabled by default when a new project is created in XJDeveloper.

In XJTAG's terminology,

  • Each hardware configuration is called a Profile.
  • A profile consists of one or more Subchains along with the JTAG devices and External Hardware operated in those subchains. Every test group will use one profile. The JTAG devices and External Hardware contained in a profile will be actively used during tests in that profile, while the other JTAG devices and External Hardware in the circuit will not.
  • A Subchain comprises a TAP Group or part of a TAP Group, and/or a selection of External Hardware.
  • A TAP Group comprises the JTAG devices found in chains operated by a group of TAPs (group of TDI/TDO pairs), where the group of TAPs is defined in the pin mapping as sharing the associated TMS and TCK signals.
  • Each subchain of a profile has its own Reset Sequence and entering a profile is a matter of running these Subchain Reset Sequences in the order defined by the profile.

When a test is run using a particular profile, the set of JTAG devices and External Hardware to be used is restricted to what is defined by the subchains used in the profile. All External Hardware used by the profile is initialised as soon as the test is started, ensuring communication to the External Hardware.

On the first hardware access and any subsequent reset within the test, each subchain is reset in turn, calling any associated Subchain Reset Sequence validating the TAP group. Once all Subchain Reset Sequences have been run, the Safe Bitstream is applied to all the active External Hardware and JTAG devices, and leaves the JTAG devices in EXTEST.

Advantages of Dynamic Chains

  • Multiple chains can be automatically started up in a particular order using powerful reset sequences that validate all the chains before being used, per test.
  • Tests can be run on shorter chains, reducing the data required per scan and thus speeding up testing.
  • Diagnosis can be performed on shorter chains.
  • Improved support for Scan Bridges.
  • Tests can be run using only External Hardware (no JTAG).
  • The Optimised Scans feature can be used, and is enabled by default in new projects. This allows each chain to run at its own frequency (or not to run if no data needs to be sent or read).

Setup

Initially the project should be set up with the entire list of JTAG devices in the JTAG Chain screen in chain order. All External Hardware should also be set up. Then the following steps should be performed.

  1. Set up the TAP Groups on the Pin Mapping screen.
  2. Set up Subchains in the Advanced Configuration Options tab.
  3. Set up Profiles in the Advanced Configuration Options tab.
  4. Set up any Subchain Reset Sequences on the Pin Mapping screen and assign them to the subchains.
  5. Set Test Groups to run in particular profiles on the XJRunner Setup screen.