News
Company news
XJTAG 3.10.0Release Notes
DATE:【2020-03-10 11:27】 TIPS:【】次

Link:https://pan.baidu.com/s/1ZJaj6EiCBWm49q6Idb7eYA

Password:2150

XJTAG 3.10 Release Notes

New features and enhancements

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.

UP:
NEXT: