• XJTAG 3.10.0Release Notes

    2020-03-10 11:27 浏览

    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.