XJTAG 3.9 Change Log

This document lists the main changes in each minor release of XJTAG. Please see the Release Notes for a list of breaking changes and other issues for this release.

The fixes are generally sub-divided by product. Please note, however, that fixes applied to XJRunner and XJAnalyser are usually applicable to XJDeveloper and XJInvestigator also.

3.9.3

Released 7th November 2019

  • XJDeveloper:
    • Connections Screen: ensure that the enabled checkbox for a connection is updated when undoing and redoing.
    • JTAG Chain Screen:
      • Add help for the profile and subchain dialogs.
      • Improve the selection behaviour in the dialog when configuring profiles.
    • Categorise Devices Screen: test functions could be incorrectly removed from the test list when re-assigning a test device from the library.
    • Pin Mapping Screen: fix a potential crash when switching to the Pin Mapping screen with multiple sequences defined.
    • XJRunner Setup Screen:
      • Prevent the test list from scrolling when editing it.
      • Ensure the conditions remain working correctly when a second board is added to a project.
    • Run Tests Screen:
      • Improve editing variables in the watch so that they’re always edited on a single line and newlines and other special characters in strings are escaped correctly.
      • Don’t change the selection of test functions within a group when a group is set to loop or run multiple times.
    • Waveform View:
      • Draw single pin busses as pins.
      • Add bus names to pins.
      • Capture logic pins correctly when they are sharing a net.
    • Ensure all accelerators on the Help menu are unique.
    • Sometimes a combobox for selecting netlist items can be disabled but with text selected, rendering the text unreadable.
    • Fix a crash when attempting to open the BSDL library from a network share.
  • XJRunner: improve the text on the welcome screen.
  • XJInvestigator: display the correct text on the start and welcome screens.
  • Chain Debugger:
    • Update terminology to use boundary scan register instead of data register.
    • Don’t try and calculate the maximum TCK frequency if an RTCK pin is configured.
    • Fix a crash when passing unexpected command-line arguments to the application.
    • Fix a potential crash when invalid data was returned from the chain when trying to calculate the IR length.
  • Layout Viewer: fix saving image layers where the image has been rotated.
  • Connection test:
    • Reducing the sensitivity of the test could cause more errors to be reported in some circumstances.
    • Always exclude power/ground nets from ICT tests.
  • BSDL: fix a crash at runtime when a pin was grouped to itself.
  • Installer: fix the location of the common LabVIEW directory.
  • Add more information to the process log when sending crash reports.

3.9.2

Released 27th September 2019

  • XJDeveloper:
    • Test Device Files Screen: saving a device file containing configuration variables twice could cause erroneous errors to be reported.
    • Test Coverage Screen:
      • Fix potential crash calculating PCOLA/SOQ scores.
      • Handle PCOLA/SOQ calculations correctly in projects that contain multiple boards.
    • Pin Mapping Screen: remove subchain assignments from a pinmap that has been loaded from another project.
    • XJRunner Setup Screen: improve the validation of log file paths.
    • Run Tests Screen: improve the display of large variables that have been truncated.
    • Fix a possible crash when a screen switch occurs as a result of following a hyperlink.
    • Auto updating from the prompt when first opening the application did not work.
    • Improve the performance of updating the test list when modifying it.
  • XJAnalyser:
    • Fix a potential crash after a conflict is detected and the screen or application is being closed.
    • Fix the Help button on the Device Properties dialog.
  • XJRunner:
    • Switching between relative and absolute log file paths could expand the log file path incorrectly.
    • Fix the Help button on the options dialog.
  • XJIntegration: add ATEasy example project.
  • XJEase: an error could be reported if a comment with more than two slashes appeared at the end of a code file.
  • Logic: fix an issue where access via logic would no longer be possible after using the READABLE or WRITEABLE functions.
  • Takaya: improve probe movement rules.
  • Installer: fix installation if the current user’s login contains spaces.
  • Help: document XJLink2 button and LEDs.

3.9.1

Released 29th August 2019

  • XJDeveloper:
    • JTAG Chain Screen:
      • Fix a potential crash if two cores inside a multicore device are given the same name.
      • Cope with a company parts list being missing when discovering the JTAG chain.
    • Test Device Files Screen:
      • Configuration Variables:
        • Disable the dropdown for selecting a condition when editing variables if no variables available to be the condition.
        • Fix alignment of the help button in the edit dialog.
        • Improve editing of part specific default values.
        • Improve validation of variables names.
        • Improve the behaviour when changing a variable’s type.
        • Allow the edit dialog to be cancelled by pressing escape.
        • Fix a potential crash editing variables in projects with more than one board.
        • Add new variables to the bottom of the list.
        • Improve editing enumeration values.
    • Test Coverage Screen:
      • Functional test coverage was not being shown when it was added directly to a power, ground or termination reference net.
      • PCOLA/SOQ: disable the board in the device selector, since it is always limited to a single board.
      • PCOLA/SOQ: improve device score calculation.
    • Pin Mapping Screen:
      • Reloading a pinmap was resetting the current profile causing subsequent uses of Check Chain to fail.
      • Fix erroneous warnings that changing the pinmap will erase any Test Reset Sequences.
    • XJRunner Setup Screen:
      • The incorrect device could sometimes be selected when configuring bus access overrides.
      • Handle fault dictionary errors better.
      • Fix crash deleting a test using the Delete key when no test selected.
      • Fix the generation of log file names that contain the XJLink name when the XJLink has no name set.
    • Run Tests Screen:
      • Disable the breakpoint and watch windows when not paused in the debugger.
      • Allow double clicking a breakpoint to go to the code location.
    • Fix a potential crash packing a project when closing the project, when the XJPack file version is set to auto-increment and the current version number is not a valid integer.
  • XJRunner:
    • The stop mode might not be reported correctly in a Post Testing function if the test was stopped as it was naturally finishing anyway.
    • Update the welcome screen when switching users.
    • Improve the performance when running tests for the first time.
    • INPUTBOX function could hang in Windows 7 with the Windows Classic theme selected.
  • Chain Debugger:
    • Improve IR capture checking.
    • Improve performance when modifying TRST waveforms.
    • Allow live mode to be selected with no TDI/TDO pins defined.
  • Layout Viewer: prevent the tracking dialog from being on top of all the windows of the application.
  • XJIntegration:
    • Add FunctionStarted event.
    • Support calling XJEase functions with array parameters.
    • LabVIEW: improve error handling in XJAnalyser Integration examples.
  • XJEase:
    • Sometimes an incorrect or unavailable pin could be used to access a bus.
    • Don’t apply a safe value to unavailable external pins.
    • Improve XJEase debug output for external hardware.
    • Report a proper runtime error rather than an internal runtime error when attempting to read before any scans have occurred.
    • Avoid an unnecessary test reset in SETFREQ is the current profile does not have any JTAG devices.
    • Handle selecting drivers correctly for JTAG/Test devices.
  • Connection Test:
    • Don’t export logic test data to the full output log if there were no logic tests.
    • Count nets with uncategorised devices in the same way as the Test Coverage Screen.
    • Fix potential issue where pull resistors may not be tested.
  • Logic: fix handling of open collector logic.
  • Connection Test Viewer:
    • Display pins on multicore devices correctly.
    • A warning about too many frozen nets could be shown erroneously.
    • Fix a crash searching for a net that has been hidden by a filter.
    • Fix searching for nets after switching between modes.
    • Fix potential crashes where the log file is not in the expected format.
    • Highlight the relevant net when displaying a particular net via the context menu in the Connection Test output.
  • BSDL:
    • Add a warning the IR capture pattern does not match the IR length.
    • Don’t report an error if an OBSERVE_ONLY cell is attached to a buffer pin.
    • Report ports as unused if they have just an OBSERVE_ONLY cell attached.
  • Netlists: fix a potential crash parsing PADS PCB netlists that have very long numeric part numbers.
  • SPEA:
    • Ensure voltage domains file is written for old projects.
    • Don’t allow voltage levels for a voltage domain to be equal.
  • Takaya:
    • Fix crash importing a broken BST file.
    • Ignore lines in BST files where the net name is “*”.
    • Support BSTX files.
    • Don’t allow voltage levels for a voltage domain to be equal.
    • Allow JTAG-inaccessible nets to be ignored without reporting an error.
  • Pin Mapping: update builtin ByteBlaster pinmap to not drive pin 14 high.
  • XJLink2: don’t enable clock inputs in the Clock Source self test.

3.9.0

Released 12th July 2019

  • XJIntegration API for third party integration, which subsumes the old XJRunnerIntegration and adds a new API for reading and writing JTAG pins directly.
  • Machine readable log files that contain information and output from test runs in a structured format.
  • Ability to configure Non-JTAG Test Equipment per profile, allowing tests to be run without a JTAG chain.
  • Automatic PCOLA/SOQ setup from device files.
  • Edit XJEase configuration values in device files.

Smaller enhancements and bug fixes

  • XJDeveloper: when updating files from the library show any project compatibility change.
  • Chain Debugger: fix IR capture validation with dynamic chains and multicore devices, and improve the output format.
  • Layout Viewer: fix potential crash showing test coverage.
  • Schematic Viewer: improve performance of loading Altium generated PDFs.
  • Connection Test Viewer: don’t open if there is no Connection Test data in the log file.
  • XJEase:
    • SET statements immediately after RUNSVF or RUNSTAPL might not be run.
    • Avoid unnecessary JTAG scans inside TRST sequences when only NJTE is in use.
    • Handle dots in device and pin names.
    • Remove deprecated GET_PIN_STRING_INFO function.
    • Speed up access to large constant values.
    • Pins set to a constant value in a TRST sequence were not being retained when dynamic chains are in use.
    • Perform the first JTAG access checks when entering HOLDOFF rather than trying to perform them within the HOLDOFF block.
    • Fix a potential situation where JTAG pins could be read before the device was in EXTEST.
    • Apply constant pins driven by NJTE on the first JTAG access not at the beginning of the test.
    • Disable all pins driven by NJTE when shutting down.
    • Deprecate use devices for controlling which JTAG device should be used to access a test device.
    • Improve READABLE to more accurate and dynamically determine if a pin is readable at the given point in a test.
    • Improve WRITEABLE to more accurate and dynamically determine if a pin can be driven to a specific value at the given point in a test.
    • Fix potential memory leak when running tests.
  • Connection Test:
    • Constant values driven by independent logic blocks were not always held during linked logic tests.
    • Constants driven by NJTE were not being held.
  • Logic: improve behaviour around logic inputs.
  • XJIntegration/XJRunnerIntegration:
    • Allow any function in a device file to be run, not just test functions.
    • Add documentation to LabVIEW examples.
    • Publish all examples under the MIT licence.
  • XJAPI:
    • Improve parameter names in XJAPI_Scan and XJAPI_ScanMultiple to remove some ambiguity.
    • Publish all examples under the MIT licence.
    • Document the location of various installed files.
    • XJLink Manager: remove option for three licence servers.
    • Help:
      • Add “Add TMS pin to TRST sequence” tutorial exercise.
      • Fix built-in pinmapping descriptions.

Older versions

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


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.