XJTAG 2.2 Release Notes
New features and enhancements
Please see the Change Log for a list of new features and enhancements in XJTAG 2.2.
XJRunner Projects
Previous versions of XJRunner had an XJRunner project file (.xjrp extension) that held all the configuration information for XJRunner and an XJPack file (.xjp extension) that was an archive containing all the XJEase files for the project.
XJRunner and XJDeveloper in version 2.2 of XJTAG have a lot more in common, particurlarly now that you can run code from inside XJDeveloper. For this reason all XJRunner configuration data is now held in the XJDeveloper project (.xjd extension). XJDeveloper and XJPack now add this file automatically to the XJPack file, and so the only file that XJRunner now requires is the XJPack file.
Therefore, an XJRunner project is merely an XJPack file containing an XJDeveloper project and all the associated XJEase files. Version 2.2 of XJRunner can open or import the following files:
- XJPack files generated with XJTAG 2.2
These can be opened directly and contain all the configuration data for XJRunner. - XJRunner projects from earlier versions of XJTAG
These can be imported. A backup is made of the referenced XJPack file, and then a new XJDeveloper project file is added to the XJPack file and the configuration settings imported. - XJPack files from earlier versions of XJTAG
These can be imported. A backup is made and a new XJDeveloper project file is added with default settings.
XJDeveloper automatically adds the XJDeveloper project file (.xjd) to any XJPack file that is created when the project is exported to an XJPack file (File -> Export Project -> To XJPack File). To include the information in an XJPack file using the xjpack.exe command-line utility, you must pass the XJDeveloper project file rather than the XJEase circuit file:
xjpack -f demo.xjd -p demo.xjp
XJRunner Users Database
XJRunner now performs stricter checks to decide whether the referenced database file is a valid XJRunner Users Database.
Consequences: If your XJRunner Users Database was installed with XJRunner version 1.4, or earlier, and has not been used with versions earlier than 2.2, version 2.2 will not recognise the file and will display an error message instead. You will need to open it with XJRunner version 2.1, or earlier, before you can use it with version 2.2. If you do not have an XJRunner version 2.1, or earlier, installed on your PC or are in any doubt, then please contact XJTAG Support and they will be happy to assist you.
Board Files
The way board descriptions in separate files are handled by XJTAG has changed. When a board file exists in a separate directory to the main project files, previous versions of XJTAG erroneously searched for files referenced from the board file relative to the circuit file rather than the board file. This meant that standalone board files (for example the XJTAG IO Board) could not be used in a project unmodified. Version 2.2 of XJTAG corrects this, and all files referenced from a board are now located relative to the board file.
Consequences: Any existing project that contains board descriptions in a different directory to the main project files (the .xjd file and the main circuit .xje file) will fail to load in Version 2.2. The paths to the netlist, device files and PDD files need to be modified in the board file to be relative to it rather than the circuit file. If you need any assistance in this conversion or are in any doubt, then please contact XJTAG Support and they will be happy to perform this conversion for you.
XJTAG treats each board as a separate and independent entity. The interface currently has no way of representing two boards that share the same underlying board file. Version 2.2, therefore, does not allow two boards to share a single board file.
Consequences: Any existing project that has multiple identical boards that share board description files needs to be manually modified: a copy of the shared board file needs to be made and the circuit file modified to reference it. If you need any assistance in this conversion or are in any doubt, then please contact XJTAG Support and they will be happy to perform this conversion for you.
XJDeveloper now supports the importing of existing board files. In addition, all boards created in XJDeveloper are now given their own board file. This behaviour should generally be invisible to the user, as there should be little or no need to examine the .xje files directly.
Constant Pins, Disable Values and Compliance Pins
There are a number of ways that can cause XJTAG to mark a net as constant during the connection test:
- One of its pins is explicitly marked as constant (the Constant Pins screen in XJDeveloper or the CONSTANT PINS section in a board description)
- One of its pins is assigned to a bus in a device file that has a Disable Value assigned to it
- One of its pins is a Compliance Pin on a JTAG device and must therefore be held in a specific state
In previous versions of XJTAG, if a net had more than one pin causing it to be treated as a constant net, and these values conflicted with each other, warning 007 was emitted. Code could still be run in this situation, but the behaviour was undefined – there was no guarantee which value would be chosen.
In version 2.2 of XJTAG, the value chosen is defined; the constant value for a net is chosen using this order of priority:
- Explicit constant pin
- JTAG compliance pin
- A Disable Value in a device file
Note, warning 007 will still be emitted, but the runtime behaviour is now defined. The constant value is mainly observed by the Connection Test; it is always possible to override such a value using XJEase code.
The RUNSVF function
The RUNSVF function will now fail and return an error result to the calling XJEase code if the SVF file can not be found. Previous versions of XJTAG printed an error message and aborted all code execution. This is now consistent with the behaviour of RUNSTAPL.
Support for Termination Resistors
The Connection Test now copes better with termination resistors for differential signals, through the addition of the ability to represent terminations using PDD files. The keyword DIFF_TERM is used in PDD files for this (in XJDeveloper “Terminate” is now an option when creating passive device files).
Consequences: To support the new functionality, the format of some PDD files has changed. This means that projects which use termination resistors are incompatible with previous versions of XJTAG. If termination resistors are not used, however, the project will be compatible with earlier versions of XJTAG.
“No Fit” Device Identification
If a BOM file is provided for a board, then XJDeveloper uses the data provided to try and identify devices that are not fitted using the information in the BOM file. The patterns used to identify such devices have been updated. If you have upgraded from v2.1 these patterns are not automatically updated – to get the updated patterns, the user must reset the device categories (in Tools -> Options, select Categiories, then click Reset all categories).
Supported Platforms
XJTAG is supported under Windows 2000®, Windows
XP®, both 32 bit and 64 bit, and Windows Vista® 32 bit. Please note that Windows Vista® 64 bit is not currently supported. Please upgrade to one of these operating systems before attempting to install XJTAG, and then apply the latest Service Pack for your operating System. Service Packs are available from the Microsoft Support website.
Target Hardware
In order for XJTAG to interact with a circuit, the JTAG chain must be set up properly. To help with this, we have a produced a set of DFT guidelines. There is also a troubleshooting section in the help files.
Side-by-side installations
The facility to have multiple versions of XJTAG installed on a single PC was added in version 1.3.1. The earliest version of XJTAG that can be installed alongside version 1.3.1, or later, is version 1.2.
It is only possible to have one instance of each major release of XJTAG installed. It is possible, for example to install any variant of version 2.0.x.x along side any variant of version 2.1.x.x; however it is not possible to install two variants of version 2.0.x.x, 2.1.x.x, etc.
In order to allow users of the XJRunner COM interface to upgrade XJTAG without having to recompile their applications, the GUID for this component of XJTAG does not change with each major version of XJTAG.
Consequences: To use the XJIntegration COM object in side by side installations regsvr32 will need to be run when switching between versions in order to make sure the correct version of the other components of XJTAG are used during testing. The Version Checker utility that comes with XJTAG 2.1 allows the registered version of the XJIntegration to be switched between installed versions.
Previous versions
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.
