XJTAG 4.0 Release Notes

New features and enhancements

Please see the Change Log for a list of new features and enhancements in XJTAG 4.0.

XJRunner Logins

Previous versions of XJTAG enabled the requirement for users to log in to XJRunner by default. In v4 onwards, this feature will be disabled by default in all new installations. If upgrading from a version earlier than v4, the option will remain unchanged.

Importing old XJRunner projects (.xjrp)

Versions of XJTAG prior to v2.3 used a separate project file for XJRunner with a .xjrp file extension. In v2.3, XJRunner stored all its project information inside the XJPack file, negating the need for a separate project file. Since then, XJRunner has allowed these old .xjrp files to be imported, but this functionality has now been removed in v4.0.

If you have an old .xjrp XJRunner project file, you will need to use XJTAG v3.13 or earlier to import it.

Removal of deprecated XJEase functionality

Previous versions of XJTAG allowed the following built-in functions to be called without brackets: FEOF, FERROR, NOW, GETKEY and WAITKEY. For a long time this usage has been deprecated and omitting the brackets has caused a compiler warning. In XJTAG v4.0, support for omitting the brackets has finally been removed and an error is now reported.

Removal of support for the ‘nets’ test in the project file

Previous versions of XJTAG allowed the debug connection test to be configured to be run instead of the normal connection test, where it was termed the ‘NETS_TEST’ instead of ‘CONNTEST’. Since version v3.1, this has not been allowed and any older project that has the debug connection test configured was automatically updated to run the normal connection test. This functionality has now been removed and attempting to open such a project will report an error.

If you encounter such a project, open it in a version of XJTAG earlier than v4.0, e.g. v3.12, and then resave it to remove the debug connection test configuration from the project.

Removal of default JTAG devices for test devices

In previous versions of XJTAG, a JTAG device could be configured to be the default device to access a test device. The feature had a number of shortcomings:

  • The system would endeavour to use this JTAG device if possible, but would silently use other means to access the test device if it could not use the default JTAG device.
  • The feature was limited to a single JTAG device and excluded using logic devices or external hardware.
  • A single JTAG device was specified for reading and writing all the pins of the test device.

XJTAG v3.5 introduced a feature called Bus Access Overrides that allows very fine-grained control over how every pin on a test device is both read and written. This can be configured per test function and is a much more flexible approach, addressing all the limitations listed above.

Since v3.5, warnings were displayed for projects that still used the old functionality. As of v4.0, these projects can no longer be opened. Instead, they must be opened in XJTAG v3.13 and the test devices reconfigured to use Bus Access Overrides.

JTAG instruction opcode lengths

Previous versions of XJTAG allowed the opcodes for JTAG instructions to be shorter than the length of the device’s instruction register. They were simply padded with zeroes to make them the correct length. Now it is always an error if the length of an opcode for a public instruction is not the same length as the device’s instruction register.


Supported Platforms

XJTAG is supported on both the 32 and 64 bit variants of the following operating systems: Windows 7® Service Pack 1, Windows 8.1®, Windows 10® 1607 (Anniversary Update) and later, and Windows 11®.

This version does not support Windows XP or Windows Vista, Windows 8 or Windows 10 1507 or 1511 (November Update).

XJTAG recommends a screen resolution of at least 1024×768.

XJTAG requires a processor that supports the SSE2 instruction set. This includes every Intel processor since the Pentium 4 and every AMD processor produced since the end of 2003. See this blog post for more details. This requirement was introduced in version 3.1.

Target Hardware

In order for XJTAG to interact with a circuit, the JTAG chain must be set up properly. To help with this, we have a produced a set of DFT guidelines. There is also a troubleshooting section in the help files.

Side-by-side installations

It is only possible to have one instance of each major release of XJTAG installed. It is possible, for example, to install any variant of version 3.4.x along side any variant of version 3.5.y; however it is not possible to install two variants of version 3.4, e.g. 3.4.3 and 3.4.4.

Changing Project File Associations

By default, double-clicking on an XJTAG project file of any kind will open it in the most recently installed version of XJTAG. The Version Check utility (XJVersion) can be used to control these file associations. It is recommended to do this using the copy installed with the latest version of XJTAG that you have installed.


Previous versions

3.13 | 3.12 | 3.11 | 3.10 | 3.9 | 3.8 | 3.7 | 3.6 | 3.5 | 3.4 | 3.3 | 3.2 | 3.1 | 3.0


We welcome any suggestions for improving our products. Please contact us with any comments you may have and we will look into incorporating your ideas into a future version.