On the Variants screen in XJDeveloper, the Variant Details panel displays the selected profiles and current variations for the variant selected in the Variants List.

The selected profiles show which of the profiles defined on the JTAG Chains Screen are available for use in each variant. The Variations panel displays the list of variations in the selected variant. Device categorisations and the enabled state of connections, disconnects and constant pins may be varied using the appropriate buttons on the lower toolbar. The variations list may be filtered using the filter options on the top toolbar.

While most device variations can be handled through the Suggest Variations Wizard, you can manually vary device categorisations through the Vary Devices Dialog. This dialog is launched by clicking the Vary Devices… button on the variants panel toolstrip.

The devices are listed in separate categories, representing their current categorisation in the variant. Currently varied devices are highlighted orange. Functionally tested JTAG devices (which have both the JTAG and Test categorisation) are handled in a separate category, “JTAG + Test”. Additional details about each device and their categorisation are shown when the category nodes are expanded.

Selected devices may be varied using the toolstrip buttons at the bottom, or by dragging the devices into the required category. Devices may also be varied within the same category using the Configure button. Test devices may have only their configuration varied. The allowed device variations (based upon the root categorisation) are:

  • JTAG devices may only be varied to JTAG, JTAG + Test, or Unfitted. JTAG devices varied to JTAG + Test gain the Test device categorisation.
  • JTAG + Test devices may only be varied to JTAG, JTAG + Test, or Unfitted. JTAG + Test devices varied to JTAG lose their Test device categorisation.
  • Test, Logic, Passive, Ignored, Excluded and Unfitted my be varied to any of Test, Logic, Passive, Ignored, Excluded or Unfitted. If the device is a part of a Device to Device connection then it cannot be varied to Logic or Unfitted.
  • Accessible Uncategorised devices may also be varied to Test, Logic, Passive, Ignored, Excluded, and Unfitted. On accepting the variation the uncategorised device is automatically categorised as Excluded in the Root project.

JTAG devices are varied through the Vary JTAG Device dialog. There are additional limitations on JTAG device variations:

  • firstly devices cannot be varied from non-JTAG to JTAG, but JTAG devices can be varied to Unfitted. Each variant will therefore contain the same or fewer JTAG devices than the Root project.
  • Devices cannot be varied from single core to multicore devices (and vice versa).
  • Cores cannot be added to multicore devices (MCD), but individual cores may be excluded.
  • When varying a JTAG device as JTAG the TDI and TDO pins for the device (or MCD chain) must remain the same.

Since the JTAG chain setup still occurs on the JTAG Chain Screen, the root project must contain the superset of JTAG devices defined in the netlist. If variations to the JTAG chain are required you will need to use the dynamic chains feature and define appropriate subchains and profiles for the variant. JTAG devices may be varied to Unfitted where they are not present in the variant, and any profiles used by that variant must not include that device. Additional connections may be required in the project to complete the chain (which are disabled in the root and other variants).

Find out more

For more information on variants you can read the other blog posts (part 1, part 2) in this series. The next blog post will cover setting up the test list in a variants project.  Alternatively, full details of the feature can be found in the XJTAG help for XJDeveloper.