XJTAG 3.8 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.8.5
Released 7th June 2019
- XJDeveloper:
- Test Device Files screen: handle incompatible or invalid files more gracefully.
- Logic Files screen: prevent invalid data from being pasted in.
- Test Coverage Screen:
- Fix potential crash in the Test Point Reduction Report.
- PCOLA/SOQ: add ability to add multiple devices.
- Pin Mapping screen:
- Fix possible crash adding a non JTAG test equipment pin to a reset sequence.
- The option to go to a code file on the context menu when editing the test reset sequence could be displayed incorrectly.
- Analyser screen: fix potential crash in some circumstances visiting the screen for a second time.
- XJRunner Setup screen:
- Fix resizing behaviour of available global functions dialog.
- Bus access overrides could become invalid after a board was renamed.
- Fix crash exporting to a zip file if the disk is full.
- The path to a schematic file could be set incorrectly after performing a Save As.
- When reporting that a code file had changed externally, the filename was missing.
- Fix potential crash at startup when a network licence server is unavailable.
- After resolving an issue with the network licence configuration, clicking Retry on the dialog at startup did not work and the application would need to be restarted.
- Fix potential memory leak opening and closing code files whilst debugging.
- XJRunner: re-enable tabs after cancelling serial numbers.
- XJAnalyser: fix potential crash renaming a bus in the Pin Watch.
- Layout Viewer:
- Don’t disable when modal dialogs are displayed in the main application.
- Add options dialog.
- Show net and device selectors by default.
- Fix crash adding an image layer that differed only in case from an existing layer.
- Schematic Viewer:
- Remember last search location for each search.
- Expand netlist search results if nothing found.
- Waveform View: test device pins read via a non JTAG test equipment pin were not being displayed.
- Connection Test Viewer:
- Improve handling of parsing problems.
- Freeze and hide multi-pin nets properly.
- Fix crash if data table size changes.
- JTAG Chain Debugger: improve Signal Integrity output.
- XJLink Manager: display newly installed authorisation code changes immediately.
- XJEase:
- Fix WRITEABLE and READABLE for dynamic chains.
- Improve TRST constant conflict message.
- Add a clearer error message when a logic block cannot be driven in some scenarios.
- Fix crash compiling certain code constructs that use array initialisers.
- Fix potential crash with raw JTAG blocks inside HOLDOFF when using dynamic chains.
- Remove compile time restrictions on HOLDOFF, allowing nested HOLDOFFs and raw JTAG blocks.
- Fix applying TRST constants on non JTAG test equipment pins
- Connection Test: handle buffer pins better in some circumstances.
- External Hardware:
- Don’t allow TAP nets to be driven in a reset sequence.
- Don’t allow termination reference nets to be driven.
- SPEA:
- Fix serialisation of fixed probe information.
- Adding a SPEA information to a project could cause the project file to become corrupted when saving.
- ODB++:
- Fix BGA pin numbering when set in components file.
- Handle user defined symbols with standard prefixes.
- Install driver package v4.1.2319.0.
- Use XJEase Library version 156.
3.8.4
Released 18th March 2019
- XJDeveloper:
- Boards screen:
- Fix a potential crash when editing an external board when the original board’s file was invalid.
- Handle escaped Unicode characters in BOM files.
- Fix a potential crash when importing BOM information from an Altium schematic.
- JTAG Chain screen:
- Don’t allow core names inside multi-core devices to be empty.
- If the chain passed through a multi-core device a second time without any cores being connected, subsequent devices in the chain could be drawn incorrectly.
- Circuit Code Files screen: update the template for newly created files so that the example test function fails by default.
- Test Coverage screen:
- Improve filtering for all reports.
- Improve CSV export of all reports.
- Export PCOLA/SOQ report to CSV.
- Ensure that the appropriate tab is re-selected when undoing and redoing actions.
- The option to only display coverage from enabled tests was not being saved correctly.
- Fix incorrect panel arrangement when the options panel is docked as a document within another pane.
- Pin Mapping screen:
- Add a warning if an action will result in any test reset sequences being deleted.
- In Check Chain, match the IR register contents with the IR capture values in the BSDL files.
- Run Tests screen: improve how XJEase Watch column widths are stored and set.
- Layout Viewer:
- Show top component layer by default if no other layers are selected.
- Fix potential crash whilst closing.
- Fix drawing whilst resizing.
- Draw nets correctly when toggling slowly while showing Analyser data.
- The layout viewer could reopen if closed while showing Analyser data.
- Fix modifying layer colours.
- Allow panning in measure mode.
- Improve printing.
- Fix potential crash resizing the window.
- Reset the window title when the test coverage mode is exited.
- Make test coverage options available within the layout viewer when in test coverage mode.
- Make analyser options and a pin colour legend available within the layout viewer when in analyser mode.
- Hide explorer colours when in test coverage or analyser modes.
- Handle pins on multi-core devices correctly in analyser mode.
- Schematic Viewer:
- Prevent drawing of annotation bounding boxes.
- Fix a potential crash opening a schematic after changing the schematics for a board.
- Waveform View: ensure that the remove button always removes the correct row.
- Options Dialog:
- Editing the device selector filters via the context menu did not always modify the correct filter.
- Fix a potential crash editing the BOM fields for the device selector.
- The currently selected rules were not correctly applied after editing the device category patterns from the unfitted rules dialog.
- Fix saving projects that contain multi-core devices on boards where the board file is in a different directory to the project.
- Fix a possible crash in some circumstances on the start screen.
- Boards screen:
- XJAnalyser: fix spurious conflicts that could be reported when switching between SAMPLE and EXTEST.
- XJRunner:
- Fix potential crash starting tests.
- Fix a possible crash in some circumstances opening a link on the start screen if the computer’s security settings are locked down.
- Fix some drawing artifacts that appear in headings in many places in the applications on Windows 10 1809 when the display is scaled above 100%.
- XJEase:
- Fix potential internal runtime error driving a net via logic.
- Fix array initialisers inside functions that reference other arrays, and generate errors for similar cases outside a function.
- Make EXTERNAL_SAFE always disable pins that are enabled but are not included in the safe bitstream
- Go to EXTEST via PRELOAD inside dynamic chain resets.
- Apply SAFE to external hardware at the end of dynamic chain resets.
- Fix programming speed regression introduced in v3.8.2.
- Improve the help for the FLUSH keyword.
- Improve the help that describes how parameters for external APIs are handled.
- ODB++:
- Display a warning if the EDA data references non-existent layers.
- Allow empty DSC records in component files.
- Remove duplicate BOM fields.
- Display a warning rather than return an error if there is a pin mismatch between a component and its package.
- Be more lenient about invalid records caused by embedded newlines in some field types.
- Handle projects where a package’s pin numbers are overridden by a component.
- Handle projects that contain components2 files in component layers.
- Netlists:
- Allow spaces in nets in CadenceExpanded format.
- Handle quoted component references in Allegro netlists.
- Fix crash trying to identify an empty file.
- XJLink Manager:
- Disabling network licensing still required the settings to be valid.
- Fix potential crash if there was an error initialising.
- Installer:
- Try and fix installation failures around detecting Controlled Folder Access.
- Update company registered address in the EULA.
3.8.3
Released 7th February 2019
- XJDeveloper:
- Improve performance when displaying large numbers of warnings.
- Prevent help from being opened twice when pressing F1.
- Fix potential crash closing the application before a project is fully loaded.
- Fix setting the default directory when opening or saving files.
- Fix a potential crash when running a board initialisation function and a pin conflict is detected.
- If BOM data was being extracted from netlists or schematics, their filenames would not be updated correctly after doing a Save As.
- Boards screen:
- Allow data to be sorted by column in the BOM import.
- Prompt the user before importing BOM information from the netlist.
- Display BOM fields that have already been assigned from another source.
- JTAG Chain screen: completing the chain did not clear the error reporting that the chain was not defined in some circumstances.
- Categorise Devices screen:
- The list of uncategorised accessible devices was not correctly populated after removing external hardware.
- Fix a potential crash when categorising devices that are connected to external hardware.
- Circuit Code Files screen:
- Closing a document that is not the foreground document could hide the file specific toolbar buttons.
- An extra separator was added to the main File menu when editing code in the project file.
- Test Device Files screen: fix an application slowdown when writing text in overwrite mode.
- Test Coverage screen:
- PCOLA/SOQ: fix crash after removing the last group.
- PCOLA/SOQ: fix editing groups so that devices can’t be added to the same group multiple times or to multiple groups and ensuring that removed devices can be immediately re-added.
- PCOLA/SOQ: better validation of group names.
- Don’t exclude nets and logic blocks unnecessarily.
- PCOLA/SOQ: if a project only contained empty groups then they would not be saved.
- Save the state of the “Show coverage from enabled tests” checkbox in the project.
- Various performance improvements.
- XJEase Waveform:
- Display events like resets, SAFE, Connection Test, RUNSVF and RUNSTAPL.
- Allow pins on multicore devices to be captured.
- Foreign bus pins were not being remembered in the pin selection dialog.
- Fix a potential crash display a context menu after opening and closing the Waveform View multiple times.
- XJEase Watch:
- Use a different font to display variables and their values to prevent some names with a leading ‘j’ from being cut off.
- Fix the display of long variables.
- Improve the detailed view for arrays.
- XJAnalyser: fix situation where a newly added bus could be renamed whilst the chain was still running.
- Chain Debugger: better error message in some situations when Check Chain fails.
- Layout Viewer:
- Add device selector alongside net selector.
- Ensure that the component layers are never the same colour.
- Automatically enter selection mode if the selection type is changed.
- Highlight vias on selected nets when a layer is activated.
- Keep view buttons disabled until the board is loaded and they can have an effect.
- Alway activate top or bottom signal layers when selecting nets, even if the layer only contains toeprints or vias.
- The Search item on the Help menu was non-functional.
- Mute layer colours when entering select mode.
- Disable multiple selection as the default.
- Display created nets for non-connected pins.
- Fix crash when attempting to open the Layout Viewer when no 3D accelerated graphics are available.
- XJLink Manager: an incorrect icon could sometimes be shown for some XJLink2 variants.
- XJRunner Integration:
- Fix potential application crash if the creating a Runner object fails.
- Update the minimum LabVIEW, TestStand and LabWindows/CVI requirements.
- SPEA: improve detection of unusable bed of nails testpoints.
- XJEase:
- Undefined data could be written to the JTAG chain after doing raw JTAG in a profile setup function.
- Setup logic correctly when reading using :=.
- Fix the precedence of the &&? and ||? operators.
- The state of logic was not being reset correctly after an error, which could cause unnecessary errors in post testing functions.
- Reading from PIO into a bit or range of bits of a variable overwrote the whole variable.
- Improve the performance of writing to files when the data is byte aligned.
- Connection Test:
- Handle open-collector single-input devices better.
- Don’t exclude nets from logic testing unnecessarily.
- Constant pins were not being driven correctly from external hardware during 1149.6 testing.
- Fix erroneous conflict error during initialisation.
- ODB++: warn if a pin is present twice.
- Netlists: add support for .fif files.
- XJLink2 Self Test:
- Ensure that the correct safe pinmap is always used initially to avoid pin 4 being briefly set as a soft ground.
- Help:
- XJEase: ensure XJEaseDoc tags are indexed correctly.
- XJEase: improve the documentation for the &&? and ||? operators.
3.8.1
Released 7th December 2018
- XJDeveloper:
- Boards screen:
- Fix dialog box title when finishing editing external hardware.
- Allow individual BOM sources to be selected when suggesting missing devices as unfitted.
- JTAG Chain screen: improve help.
- Test Device Files screen:
- New additional code files should not include the standard template the circuit code files do.
- Update modified files that are open when updating files from the library.
- Don’t ask to add test functions to the test list that are already present.
- Test Coverage screen:
- Calculate PCOLA/SOQ statistics.
- Add PCOLA/SOQ report.
- Improve retention of selected item when switching screens.
- Fix functional test coverage if a pin was affected by multiple functional tests.
- Functional test coverage was not being displayed correctly in the chart view when multiple nets were selected.
- XJRunner Setup screen:
- Sort test devices when setting bus access overrides.
- Show device reference for pins from other devices in busses when editing bus access overrides.
- Don’t allow pins on a device that is both a JTAG and a test device to be selected for bus access overrides.
- Fix potential crash editing the test list caused by duplicate test functions being created when categorising devices.
- Analyser screen: fix potential crash when running with dynamic chains.
- Run Tests screen: fix memory leak when switching back and forth to the screen.
- XJEase Waveform:
- Fix displaying read/write lines with conflicts.
- Fix crash selecting pins to display if a pin is on a bus but not present in the netlist.
- Display core names for pins on multicore devices.
- Explorer: make it clear when a pin on a bus belongs to a different device.
- Fix potential crash reloading a project after modifying the project externally and leaving errors in a board file.
- Add a context menu to tabbed documents to allow multiple documents to be closed at once.
- Fix code folding in XJEase code editors when a function definition had a comment on the end of the line.
- Fix potential crash when changing screens very quickly.
- Fix potential crash copying text from the application in certain places when another application is holding the clipboard open.
- Improve the layout and usability of the category page of the options dialog.
- Boards screen:
- Layout Viewer:
- Don’t update the current mouse position when dragging.
- Allow image layers to be deleted.
- XJAnalyser: in some situations, a pin’s write value could be displayed erroneously as oscillating.
- XJRunner Integration:
- Allow access to SERIAL_NUMBER and XJPACK_PROJECT_VERSION globals.
- Ensure XJPACK_PROJECT_VERSION gets initialised.
- Ensure that network licences are released when closing.
- LabVIEW example:
- Fix potential crash if the XJLink is unplugged.
- Add an example using OutputFromLastTestRun.
- Lab/Windows: update the generated wrappers.
- XJEase:
- Don’t report an error if a pin on a bus has the same override applied twice.
- Fix bus access overrides with multicore devices.
- Restrict SET statements to only use current overrides.
- Add hyperlinks to warnings about test function tags.
- Netlists:
- Handle PADS PowerPCB v10 files.
- Identify more recent Eagle netlists.
- XJVersion: fix displaying installation details.
- SPEA: fix crash parsing faulty power supply information.
- Installer:
- Add missing standalone XJAnalyser help file.
- Handle failure to detect Controlled Folder Access resulting in the installation failing.
- XJDemo 3 example:
- Re-enable disabled WriteSerialNumber function.
- Update functional test coverage.
- Flush the keyboard buffer before prompting the user for input.
- Help:
- Include XJAnalyser tutorial in XJAnalyser help index.
- Add breadcrumbs to all help pages.
- Various tutorial improvements.
3.8.0
Released 20th November 2018
- Waveform Viewer for XJEase
- Allows capture and graphical display of signals during a test.
- Contains debugging controls so can use in conjunction with code breakpoints.
- New Test Coverage screen, combining the DFT and Functional Tests screens.
- Test coverage analysis algorithms improved around logic devices.
- Test Coverage statistics adjust dynamically to reflect which tests are selected and what Connection Test options are enabled.
- New Layout Viewer
- Better performance.
- Better integration with the rest of the system.
- Much smaller XJPack files.
Smaller enhancements and bug fixes
- XJDeveloper:
- Boards screen:
- Fix crash clicking View Schematic on the Add Board dialog before the board’s netlist has been selected.
- Fix crash adding a board and specifying an invalid netlist filename.
- Fix potential crash handling BOM data while importing an existing board.
- Connections screen:
- Improve the performance of adding or removing manual devices.
- An error was displayed if a pin was disconnected from its net and then assigned as power or ground net.
- Device to device connections could not be disabled directly from the screen.
- Power/Ground Nets screen: fix possible crash finding links for termination ref nets.
- JTAG Chain screen: fix resizing behaviour of the Edit Profile dialog.
- Categorise Devices screen:
- Fix potential crash in some circumstances recalculating net accessibility with logic after categorising devices.
- Pressing backspace in the filter text box could cause focus to jump elsewhere if there is more than one board.
- Logic Files screen:
- Trim excess whitespace from pin numbers when defining logic devices.
- Generate warnings if conflicting entries are entered into a truth table.
- Path to logic file not written into the project file correctly in certain circumstances when the project has a non-standard directory structure.
- Circuit Code Files screen: new template for new additional code files that includes the standard XJEaseDoc tags for a test function.
- Test Coverage screen:
- Fix coverage calculations in certain circumstances for uncategorised devices and constant input nets.
- Make all reports non-modal.
- Fix potential crash creating a Test Summary Report.
- Exporting test coverage reports to PDF no longer requires Microsoft Word to be installed.
- Better default filenames when saving reports to PDF.
- Report settings now remembered per project.
- Allow unprobeable devices to be configured in test point reports.
- Never suggest test points on nets with just a single pin.
- Add termination warnings to the Test Summary Report.
- Improve the UI for the Test Summary Report, adding a bit more space around the controls.
- Analyser screen: fix potential crash closing the application from the Analyser screen while the chain is still running.
- Run Tests screen:
- If tests were stopped via switching away from the screen, the post testing function would not run.
- Whilst debugging, if execution was stopped via the controls in the Test Device or Circuit Code Files screens, then execution could continue briefly before the test actually stopped.
- Devices needing categorisation did not appear after categorising a coupling capacitor unless the project was closed and re-opened.
- Don’t warn about constant values on TRST nets.
- Be more consistent with how .xjd files are written and avoid meaningless changes to the file, which interferes with source control.
- Projects that contained boards with slashes in their name and used an ODB++ project could not be packed.
- Allow keyboard shortcuts for opening Explorer, the Layout Viewer and the Schematic Viewer to work globally across all top level windows in XJDeveloper.
- Improve the update mechanism and ensure that the newly upgraded version of XJDeveloper is always launched.
- Allow changes to project notes to be undone and redone.
- Boards screen:
- XJAnalyser:
- Display net names for pins on multi-core devices correctly.
- Fix potential crash unplugging the XJLink while doing a Save As.
- Fix potential crash doing a hard reset after starting the chain had failed with dynamic chains.
- XJRunner: fix potential crash when importing a corrupt old style .xjrp project.
- Log File Viewer: fix potential crash opening corrupted log files.
- XJRun: fix crash if the argument to the -dir switch has a trailing slash.
- XJRunner Integration:
- Allow the pinmap to be overridden.
- Expose the log file paths via properties.
- SPEA: fix crash if the XJLink licence has expired.
- XJEase:
- Running two XJEase functions sequentially inside a TRST sequence did not always work correctly, because the chain would not be left in the correct state for the second function.
- Improve how pin numbers and bus bit numbers are displayed in errors and warnings.
- Allow all JTAG pins to be accessed as PIO pins, including :=*.
- Allow PIO pins to be driven and read at the same time using :=*.
- Allow a bit range on the right hand side of a SET statement when using :=*.
- Ensure that external hardware and PIO accesses are better synchronised with JTAG accesses.
- Allow PIO writes inside HOLDOFF blocks.
- Ensure that a TRST pin controlled via external hardware remains constant after the TRST sequence has finished.
- Flush any outstanding JTAG scans at each breakpoint when debugging.
- Logic:
- Reads via logic could generate unnecessary scans.
- Various performance and correctness fixes.
- Connection Test: fix issue where expanding an error reported that no data was found.
- Netlists: add importer for a Corelis netlist format.
- Installer: detect if Controlled Folder Access is enabled.
- Help:
- Not all items were appearing in the help index.
- Document the application log files.
- Clarify and improve the help for the XJEase FORMAT, FOPEN and FEXISTS function.
- Improve the help for the XJRunner Setup screen, including adding more information on adding conditions.
- Update the XJLink2 documentation.
Older versions
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.
