XJTAG 3.7 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.7.5

Released 6th September 2018

  • XJDeveloper:
    • Boards screen:
      • Allow import of BOM data from a wider range of schematic files.
      • Handle importing from files that are in the current codepage rather than UTF-8.
      • Put an upper limit on the number of rows to import from a BOM file.
    • Nets screen: allow links to be found on termination nets.
    • Categorise Devices screen:
      • Fix crash categorising devices in certain situations after categorising logic devices.
      • Two recent categorisation buttons were being displayed after categorising a device from the library.
    • Test Device Files screen:
      • Fix potential crash creating a new device file based on an existing device.
      • Fix potential crash after adding a bus.
    • Debug Connection Test screen:
      • Fix broken help link in the settings dialog.
      • Display initial state of logic blocks.
    • XJRunner Setup screen: if a new test function is added to a group that is disabled, enable the group.
    • Explorer:
      • Show AC access through capacitors.
      • Show compliance nets even if there is no access.
      • Make Ctrl+E open Explorer when separated screens or the BSDL Editor have focus.
    • Schematic Viewer: don’t unnecessarily open new tabs.
    • When updating files from the library, make it clear which old backed-up files were modified from the original library version.
    • Add a Select All button to the Updated Library Files dialog.
    • Performance improvements for the Errors and Warnings panes when making large project changes.
  • Log File Viewer:
    • Fix potential crash closing the viewer in certain circumstances.
    • Fix potential crash opening a new log document.
  • XJRunner Integration:
    • Improve the documentation around referencing the assembly in .NET projects.
    • Running a single test function disabled all other tests in the test list.
    • Improve the manipulation of TestCollections.
  • XJEase:
    • Runtime errors in additional code files were not always displayed in the correct location.
    • Fix a potential internal compiler error if compilation had previously been cancelled.
    • Sleep in a trst sequence could be too short.
  • Logic: allow write through logic if uncontrollable inputs in X state.
  • STAPL: initialised arrays could not be modified, which was a restriction in the original JAM specification but not in STAPL.
  • SPEA: ignore inaccessible test points when determining voltage domains.
  • XJPack: only warn about uncategorised devices if they’re accessible via JTAG to match the behaviour packing projects in XJDeveloper.
  • Help:
    • Improve the help for log filename and header formatting.
    • Improve XJEaseDocs examples.
  • Installer: fix the XJTAG Online Support hyperlink.

3.7.4

Released 31st July 2018

  • XJDeveloper:
    • Add some extra JTAG chain termination checks.
    • Ignore termination on RTCK pins in pinmaps, rather than refusing to open the project.
    • Importing a SPEA Leonardo project could result in absolute paths being present in the project.
  • XJEase: fix runaway memory usage when running tests in some situations.
  • Connection Test: fix some issues around constants driven through logic.
  • XJRunner Integration: improved documentation of LabVIEW examples.
  • SPEA: help improvements.
  • Keysight i3070: fix plugin DLL so that it can be reloaded to run a second time on Windows 7 machines.

3.7.3

Released 13th July 2018

  • XJDeveloper:
    • Boards screen:
      • Fix voltage domain configuration in some non-UK locales where commas are used as decimal separators.
      • Fix crash editing an external hardware boards that was not fully resolved.
      • BOM: extract resistor and capacitor values from multi-line descriptions.
      • Add option to not show the dialog again when warning that a BOM field has already been assigned.
      • Do not allow newly added external hardware to be used if there are errors.
      • Reference the created voltage domains file with a relative rather than an absolute path.
    • Connections screen: fix potential crash after deleting a manually created device that has been categorised as logic.
    • JTAG Chain screen:
      • Fix crash pressing undo after assigning the same BSDL file to two cores of a multicore device.
      • Fix potential crash setting up the JTAG chain in a project originally created in XJAnalyser.
    • Categorise Devices screen:
      • Ensure configuration values are displayed in the same base in which they were defined.
      • Fix potential crash entering incomplete configuration values.
      • When automatically selecting configuration values based on a part number, display the part number that was used.
      • Tests could still be added to the testlist even if the user had opted not to.
      • Allow the name of the test group to be modified when adding tests to the test list.
      • Provide a reason why a device is suggested as a resistor pack.
    • Device Files screen:
      • Put newly created busses at the end of the list, rather than sorting automatically.
      • Don’t allow a newly created bus without any pins to be saved.
      • Make Tab and Ctrl+Tab work to switch between open test device files.
    • Logic Files screen: add Save All.
    • Circuit Code Files screen: fix crash viewing an XJModule’s documentation when the module is included via an absolute path.
    • XJRunner Setup screen: fix possible crash when editing bus access overrides.
    • Code Editors: fixed a number of issues with Find and Replace.
    • Explorer:
      • Show more information about a pin’s net when viewing a pin.
      • Show access to a negative pin of a grouped port.
      • Show access for pins on uncategorised devices on TAP nets and nets with compliance pins.
      • Nets inside a multicore device shown incorrectly when displaying 1149.6 access.
    • Fix a couple of issues resolving relative paths when multiple boards exist in different directories.
    • Save backups of board files when permanently removing library references from the project.
    • Require pull resistors on TAP nets to be categorised.
    • Require pull resistors on nets with compliance pins to be categorised.
    • Fix potential crash opening a project in some circumstances.
    • Allow Ctrl+E to open Explorer from the Layout Viewer and Schematic Viewer.
  • XJRunner:
    • Extend the Pass/Fail field in log file headers and filenames to include Stopped if tests were stopped.
    • Fix potential error concurrently writing log files in group mode.
    • Ensure LOG_FILE_PATH and FORMATTED_LOG_FILE_PATH are set in a post-testing function if the tests were stopped by the user.
  • XJInvestigator: splash screen could remain displayed when the application is opened without a valid licence available.
  • Log File Viewer: improve the performance of the navigation control.
  • XJLink Manager: improve XJLink2 self test dialog.
  • XJRunner Integration:
    • Fix possible crash using the layout viewer inside LabVIEW.
    • Allow Multiple Test Runs to be opened in LabVIEW 2009 onwards.
  • Layout Viewer: disable Explorer context menu item in XJRunner and XJRunner Integration.
  • XJEase: fix error parsing a line that ends with a double slash with a UNIX line ending.
  • Connection Test:
    • Add an option to deal with common controlled drivers driving grouped AC inputs.
    • Fix handling constant nets that are driven through external hardware.
    • Viewer: fix possible crash loading data in some circumstances.
  • Help:
    • Rename Agilent to Keysight.
    • Minor external API documentation improvements.

3.7.2

Released 15th May 2018

  • Fix potential crash on Windows 10 with the 1803 Spring Creators Update when opening a project.
  • Connection Test: don’t report a lack of inverted short between receivers tied to power/ground.
  • Help:
    • Tutorial: add new exercise for unfitted device suggestions.
    • Fix the case of various index entries.

3.7.1

Released 9th May 2018

  • XJDeveloper:
    • Fix warning that reported that the XJLink connector had -1 pins when used in a device to device connection.
    • Report the name of the argument when reporting errors in test function arguments rather than its zero based index.
    • The start screen could appear inside an opened project if there was a licence check failure while opening a project.
    • Save any modified test device files when saving a recovery project during a crash.
    • Allow updating logic definitions when opening a project to be deferred.
    • Fix potential crash if a breakpoint is removed by removing the line of code that it is on.
    • Display better diagnostics when selecting an XJEase library fails.
    • Fix potential crash after opening the application and checking for updates and the XJEase library is inaccessible.
    • Handle resistor values better where comma is being used as a decimal separator.
    • Unfitted Rules dialog: add a button to go to the Options dialog to edit the patterns.
    • Boards screen:
      • Categorised termination nets could get lost when updating the netlist for a board.
      • Fix potential crash when selecting a compressed ODB++ netlist whose file extension was in upper case.
      • Import BOM data from Altium schematic PDFs.
    • Connections screen: convert pinmap to an XJLink2 pinmap when defining XJLink2 pin connections.
    • JTAG Chain screen:
      • Make it easier to setup a multicore JTAG device with multiple TDI and TDO.
      • Setting an 1149.6 Minimum Test Time of zero would revert to a Minimum TCK Cycles of zero after closing and reopening the BSDL Settings dialog.
      • Prevent duplicate error messages when there are missing cell type definitions.
      • A JTAG device could be incorrectly displayed in red if its board was in a different directory to the project.
    • Categorise Devices screen: fix going to an XJEase device file when there are multiple copies of a device file in a project in different directories.
    • Test Device Files screen:
      • Improve editing busses.
      • Make creating a test device file based on a device the default.
      • Ensure all warning associated with a file are removed when a file is removed.
    • Logic Files screen: errors sometimes would only appear after the project was reopened.
    • DFT Analysis screen:
      • Allow the reports dialog to be maximised.
      • Disable all reports if the project contains no boards.
    • XJRunner Setup screen:
      • Hide test functions requiring input parameters by default, but add a checkbox to make them visible.
      • Add project errors when there are errors overriding bus access.
      • It was possible when renaming a profile that all conditions in the project could be lost.
    • Analyser screen: fix potential crash switching away from the screen while additional TRST output is still to be printed.
  • XJAnalyser: fix a possible crash exiting the application while the chain is stopping.
  • XJRunner:
    • Make the UI more responsive when starting tests.
    • Fix a potential crash when pressing F5 to run tests immediately after tests have finished running and there is a post testing function present that runs after the log file is written.
    • Fix potential delays after running tests in some situations before tests can be run again.
    • Fix a crash when attempting to import a modern .xjp file rather than an old .xjrp file.
    • Setting the Continue on Failure option in Project Management had no effect and was not persisted in the project.
  • JTAG Chain Debugger:
    • Improve robustness to unplugging the XJLink while running.
    • The scan number for an error could be incorrect when checking signal integrity.
  • Crash Reporter: continue and send the report even if some expected files are missing.
  • XJEase:
    • Fix crash if the first JTAG access failed while inside a HOLDOFF block.
    • Fix running TRST sequences that contain PIO pins as well as external ICT pins.
    • Clear the LOG_FILE_PATH and FORMATTED_LOG_FILE_PATH variables before running tests – their values could persist across test runs.
    • Set LOG_FILE_PATH and FORMATTED_LOG_FILE_PATH to ‘UNAVAILABLE’ outside the post testing function.
    • Add an option to display information about logic access while running XJEase.
  • ICT integration:
    • Add UI to XJDeveloper to configure voltage domains.
    • Improve error messages for flying probe machines when test points cannot be access simultaneously.
  • Netlists:
    • Support extracting netlist information from IPC-2581 files.
    • ODB++
      • Fix a crash if a project contains duplicate layers.
      • Be less strict about layer names.
      • Return a warning rather than an error if there are duplicate nets.
      • Handle files that are gzipped rather than compressed inside ODB++ projects.
      • Improve BOM extraction by handling BOM description records.
      • Don’t report errors if layers have missing CONTEXT or TYPE fields.
      • Handle pins with a blank name.
  • Help: fix external links to regular expression reference material.

3.7.0

Released 3rd April 2018

  • XJDeveloper:
    • Allow multiple BOM sources to be configured, including dedicated BOM files, netlists and schematics.
    • Allow any BOM fields from all sources to be imported and made visible in the application.
    • Improved suggestion of unfitted devices based on BOM data.
    • New Test Summary Report on the DFT screen that gives an easy to understand overview of how a board will be tested.

Smaller enhancements and bug fixes

  • XJDeveloper
    • Boards screen:
      • Simply selecting the netlist on the Add/Edit board dialog.
      • When selecting a .tar or .tgz ODB++ netlist, offer to convert it to a zip file instead.
      • Fix crash if an ODB++ filename is entered that contains invalid characters.
      • Attempting to display the BOM import dialog more than once from the Add/Edit board dialog could fail.
    • Categorise Devices screen:
      • Improve the performance of the uncategorised device selector.
      • Don’t ask to add tests to the test list if there are none to add.
      • Fix overlapping text on the categorisation records buttons.
    • Test Device Files screen:
      • Add an option to add stub test function and description to new test device files.
      • Change the default option when creating a new device file to be based on the device being categorised.
      • Simplify the Add/Edit bus dialog.
      • Configuring a device cleared its variables.
    • DFT screen:
      • Clarify the wording on the test point reduction report.
      • Fix calculation of test coverage for pins on multicore devices.
    • XJRunner Setup screen: fix potential crash editing a test group.
    • XJEase code editors:
      • Add undo and redo buttons.
      • Using Control+Space to auto complete words could list some keywords twice.
    • Automatically identify common passive linking devices on power and ground nets, such as fuses, inductors and ferrite beads.
    • Assistant improvements.
    • Options dialog: split the Files pane into Libraries and Projects.
    • Add an option to password protect the zip file when exporting.
    • XJEase Debugger: fix potential crash stepping over an IF statement with XJModules in the call stack.
    • Cancel creating embedded layout viewers in the background when the option to include them is unticked.
    • Only increment the XJPack file version after the project has been packed, so that the version displayed is the one that goes into the file.
    • Clarify misleading error message when attempting to access a file that is on a CD/DVD drive that is no longer there.
    • Changes to 1149.6 settings were not reflected if the 1149.6 settings dialog was opened for a second time without closing the main BSDL settings dialog.
    • Fix potential crash closing the application while a project is still being opened.
    • Ensure Suggest as Passive dialog remembers its last position.
    • Schematic Viewer: improve pin search.
    • Include XJEase Library v154.
  • XJRunner:
    • Allow XJLink serial numbers and names to be included in log filenames.
    • Prevent various formatting issues that could occur when printing backspaces and carriage returns.
  • Log File Viewer:
    • Fix a potential crash cancelling opening a project after clicking on a link to view a circuit item.
    • Fix a potential crash closing the project immediately after launching the log file viewer.
    • Fix a potential crash opening a log file after the project has been closed.
  • XJRun:
    • Add -nowarn switch.
    • Display any XJPack file version with the -info switch.
    • Ensure that serial numbers are inserted correctly into log filenames.
  • XJRunner Integration: various LabVIEW example improvements, including improving reliability and preventing memory and resource leaks.
  • Chain Debugger:
    • Signal integrity testing could under report the number of scans it has run.
    • Fix potential crash removing a pin from a test reset sequence.
    • Handle RTCK and overcurrent errors when scanning the chain.
    • Warn if autoskew fails during Check Chain.
  • XJLink Manager:
    • Disable the Remove Licence button when Maintenance is selected.
    • Improve the wording on the checkbox to enable loopback XJLink2 tests.
    • Add more information to the network licence error log.
  • Crash Reporter: cope with some files being inaccessible.
  • Logic:
    • Fix a spurious warning for conflicts on the same pin of a device when logic block inputs are tied to power or ground.
    • Fix potential issue where starting running tests could make the application unresponsive.
    • Fix potential issue where accessibility could be incorrectly reported with logic with multiple enable pins.
    • Various fixes.
  • Connection Test:
    • Handle grouped ports correctly that are connected to single ended signals.
  • XJEase:
    • Improve the performance of assigning arrays and passing them as function arguments.
    • Fix passing array elements as output arguments to functions.
    • Fix an internal compiler error when adding the RUNSVF function to the testlist twice.
    • Fix an internal compiler error passing a CONST array to a function.
    • Ensure that PIO accesses work in a post testing function after tests have been aborted via EXIT.
    • Detect invalid dynamic chain configurations and generate a warning.
    • Display a better error when running a STAPL file inside a TRST sequence and the current JTAG state is unknown.
  • ODB++:
    • Don’t requires UNITS directive to be in upper case.
    • Handle duplicate nets.
    • Handle files inside the archive that have been gzipped rather than compressed.
  • SPEA: display a warning when all testpoints have the same voltage domain.
  • Help:
    • Ensure mdashes and ndashes are rendered correctly.
    • Remove some instances of smart quotes in the help, which were not being rendered correctly
    • Highlight ampersands in code examples correctly.
    • Improve various XJEase code examples.
    • Improve the GETFREQ help.
    • Clarify help for the SAFE keywords.
    • Add XJEase Runtime Interface code example in C++/CLI.
    • Fix the case of XJAPI function names in the index.
    • Add some more explanation of what assigning a device from the library does to the tutorial.
    • Various tutorial fixes and clarifications.
    • Document the location of pin 1 on the XJLink2.
    • Improve the troubleshooting section.
  • XJDemo example project:
    • Fix TCK termination warning due to incorrectly configured jumpers.
    • Remove unnecessary Trst net functional test.
    • Update to include new library files that include the new tags for the Test Summary Report.
    • Update the XJD file for new XJDeveloper BOM and Test List features.
    • Update the logic library.
  • XJIO example project: use the correct pinmap that includes a soft start in the XJIO-PCI/XJDemo3 example project.
  • Installer:
    • Fix the registration of XJP files so that they can be opened by double-clicking.
    • Keep the previous version’s XJRunner users database rather than selecting the newly installed empty one.

Older versions

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.