XJTAG 3.10 Release Notes
New features and enhancements
Please see the Change Log for a list of new features and enhancements in XJTAG 3.10.
Idcodes Utility
The idcodes command line utility is a command-line utility that has always been shipped as part of XJTAG. It had a switch, -dr, that would attempt to scan the data register and determine its length. However, to do this it assumed that the EXTEST instruction for each device was all zeroes. This was something that was suggested in the original 1990 1149.1 JTAG specification, but then discouraged in later revisions. Also, the program would go straight to EXTEST and not via the PRELOAD instruction, that could be dangerous to a board in certain circumstances.
This functionality has therefore been removed from the program in v3.10.1.
XJEaseDoc Comments
XJEaseDoc comments are comments that provide extra metadata about a function to the system. They are prefixed with three slashes rather than the normal two. Previous versions of XJTAG would recognise any number of slashes greater than two as an XJEaseDoc comment. From version 3.10 onwards, there must be exactly three slashes and no more.
XJEase: Inverted Constant Values
When inverting a variable in XJEase, the width of the result is the same as the width of the value that was inverted. However, when inverting a constant value, the width of the result was being truncated to the minimum width of the result, i.e. any high zero bits were being truncated. In XJTAG v3.10, inverting constant values now behaves the same as non constant values.
CONST INT CONST_VALUE := 0b11110000; INT NON_CONST_VALUE := 0b11110000; PrintInvertedConstWidth()() PRINT("WIDTHOF(CONST_VALUE) = ", WIDTHOF(CONST_VALUE), "\n"); PRINT("WIDTHOF(NON_CONST_VALUE) = ", WIDTHOF(NON_CONST_VALUE), "\n"); PRINT("WIDTHOF(~CONST_VALUE) = ", WIDTHOF(~CONST_VALUE), "\n"); PRINT("WIDTHOF(~NON_CONST_VALUE) = ", WIDTHOF(~NON_CONST_VALUE), "\n"); END;
This code previously had the following output:
WIDTHOF(CONST_VALUE) = 8 WIDTHOF(NON_CONST_VALUE) = 8 WIDTHOF(~CONST_VALUE) = 4 WIDTHOF(~NON_CONST_VALUE) = 8
And in v3.10 and later, it has this output:
WIDTHOF(CONST_VALUE) = 8 WIDTHOF(NON_CONST_VALUE) = 8 WIDTHOF(~CONST_VALUE) = 8 WIDTHOF(~NON_CONST_VALUE) = 8
XJEase: Character Literal Widths
In previous versions of XJTAG, the width of character literals would be truncated to their minimum value, i.e. any high zero bits would be truncated. From version 3.10 onwards, character literals will always have a width of 8. This is now consistent with the behaviour of the ASC function:
PrintCharacterLiteralWidths()() INT asciiValue := ASC("a"); INT literalValue := 'a'; PRINT("asciiValue = 0b", BIN(asciiValue), "\n"); PRINT("WIDTHOF(asciiValue) = ", WIDTHOF(asciiValue), "\n"); PRINT("literalValue = 0b", BIN(literalValue), "\n"); PRINT("WIDTHOF(literalValue) = ", WIDTHOF(literalValue), "\n"); END;
This code previously had the following output:
asciiValue = 0b01100001 WIDTHOF(asciiValue) = 8 literalValue = 0b1100001 WIDTHOF(literalValue) = 7
And in v3.10 and later, it has this output:
asciiValue = 0b01100001 WIDTHOF(asciiValue) = 8 literalValue = 0b01100001 WIDTHOF(literalValue) = 8
XJRun Output
The command-line test runner, XJRun, prints error messages and warnings to stderr and most normal output to stdout. Some notifications such as serial number information and skipped tests, however, were being printed incorrectly to stderr. This has now been rectified and only errors and warnings will appear on stderr.
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® and Windows 10® 1607 (Anniversary Update) and later.
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.9 | 3.8 | 3.7 | 3.6 | 3.5 | 3.4 | 3.3 | 3.2 | 3.1 | 3.0 | 2.7 | 2.6 | 2.5 | 2.4 | 2.3 | 2.2 | 2.1 | 2.0 | 1.4
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.
