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.
- Configuration Variables:
- 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.
- JTAG Chain Screen:
- 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.
