Optimised scans is a new feature added to XJTAG 4.0 and it provides a number of improvements aimed at increasing test speed.

With Optimised Scans enabled, every JTAG TAP will scan data through at a separate frequency based on the capabilities of the JTAG devices in that TAP group.

When Optimised Scans is enabled all JTAG TAPs will scan data through their chains in parallel, each up to their own specific maximum speed, synchronising on reads and writes between every JTAG chain and programmable I/O pins on the XJLink. This means the speed of a scan is now only limited by the single slowest chain, and not a cumulative slowdown caused by all the chain speed limits being applied concurrently.

A further improvement with Optimised Scans enabled is that every scan will be evaluated and only the JTAG chains necessary to fulfil the reads and writes of that scan will be used. So for example if one test or part of a test requires only one chain, the scans will only use that one chain. This will improve speeds whenever scans do not need to use slower chains. In previous versions of XJTAG this could have been achieved by setting up a number of profiles and with carefully picking which profile to use for each test group. However now, with Optimised Scans enabled, none of this additional project setup or per test group configuration is required – it is done automatically on every scan in every test.

So when all put together, Optimised Scans will run tests faster, with the biggest gains to be made in projects that contain more than one JTAG chain.

Enabling Optimised Scans

New projects

With projects created in XJTAG 4.0, Optimised Scans are enabled by default and no additional steps are necessary in the setup process within XJDeveloper. As soon as the standard JTAG chain configuration and pin mapping setup is completed for all TAPs Optimised Scans will be used in all tests.

Projects created prior to XJTAG 4.0

For projects created in versions prior to XJTAG 4.0 Optimised Scans will not be enabled when loading the project in XJTAG 4.0 to preserve backwards compatibility behaviour with scans. However it will only take a few steps to enable Optimised Scans if you wish to try it.

Dynamic chains defined

If the project already has dynamic chains defined (ie. if it has subchains and profiles defined) then Optimised Scans can be enabled simply by going to the Pin Mapping screen, opening the Advanced Configuration Options tab, and selecting Optimised Scans in the Scan Mode panel. That’s it – now all tests will be using Optimised Scans.

Projects without dynamic chains

If the project does not have dynamic chains defined then a few steps are necessary to enable Optimised Scans:

  1. Go to the Pin Mapping screen, navigate to the Advanced Configuration Options tab and enable Automatic Configuration. This generates a subchain per independent JTAG TAP, subchains for any external hardware, and a profile that will use them.
    • If you only see 1 subchain when you have more than 1 JTAG chain defined, make sure each TAP is defined correctly in the Pin Mapping tab. Every TDI pin must have its TCK and TMS drivers set to their own unique TMS and TCK pins.
  2. Enable Optimised Scans in the Scan Mode panel.
  3. If there was a Test Reset Sequence defined, this will now need to be assigned to a subchain instead.
    • Go to the Test Reset Sequence tab, edit the sequence and set its supported subchain to either the first chain in TAP order, or to one that the reset was made to set up.
    • The Test Reset Sequence will also need to have a Validate step added. With the sequence selected, click Add Step -> Validate.

Now your project will be using Optimised Scans.