XJDeveloper – Full test development environment

XJDeveloper allows you to quickly and easily set up and run tests on your circuit. With XJDeveloper you can reduce your time to market by reusing your test scripts all the way through the product design process and then in manufacturing.

XJDeveloper’s built-in connection test, combined with XJEase tests for non-JTAG devices, checks your boards for short-circuit and open-circuit faults. Using XJDeveloper you can easily create or customise tests. All the tools you need are built into the integrated development environment (IDE), including tools for DFT analysis, Layout Viewer, Schematic Viewer and the Netlist Explorer to show connectivity between devices. Watch Demo Video

XJDeveloper can also be used to program both JTAG devices (e.g. CPLDs, FPGAs) and non-JTAG devices (e.g. EEPROMs, Flash).

  • Advanced connection test
    Tests a higher percentage of your circuit than most other JTAG solutions and provides high precision fault isolation.
  • Flexible, high-level, test description language
    Designed to simplify the process of test creation.
  • Device-centric approach
    Device tests can be reused in different circuits without modification.
  • Testing and programming non-JTAG devices
    Non-JTAG devices connected to devices on the chain can be manipulated just as easily as those on the chain, for advanced testing – eg. ethernet loopback.
  • Built-in Test Library
    A large number of standard parts available in the installed XJEase library
  • XJEase software debugger
    Set breakpoints and watch variables in your XJEase code to speed up your test development
  • Testing with no netlist
    Run connection test and non-JTAG device tests even on boards where you don’t have the netlist
  • No need to understand how JTAG works
    The XJTAG system works out how to drive the JTAG chains for you.
  • Program devices
    SVF and STAPL files can be run from XJDeveloper to program devices, or XJEase scripts can be used to program an image directly.
  • Layout Viewer to show the physical location of circuit elements and faulty nets.
  • Schematic Viewer to show circuit functionality whilst developing or debugging tests
  • Integration with custom applications to create a full test system.
  • Supports 1149.1 and 1149.6 devices

Advanced Connection Test

A proprietary connection test can be run on the board as part of a script. By making use of its knowledge of the nature and interconnection of the devices in the circuit, XJTAG is able to test a higher percentage of a circuit than most other JTAG solutions. By monitoring the status of the devices in the circuit, XJTAG also provides you with more information about the location and precise nature of any faults that are found. Clickable links to the Schematic Viewer and Layout Viewer assist the user to understand or visualise the faults on a board.

Built-in Test Library

A large number of device files for testing non-JTAG devices are available in the installed XJEase library, including examples of programming. Even if you have never used JTAG before, it is possible to create a fully functioning test system with no extra programming.

If you can’t find a file for your exact device, you can start with the file for a similar device and make a few changes to adapt it to yours. We also offer a consultancy service to design tests to your exact requirements.

XJEase — Flexible, high-level, test description language

All the advantages and flexibility of a programming language, such as loops, variables and flow control, can now be applied to developing device and circuit tests. By generating test patterns as required, under the control of a high-level XJEase program, you can use XJTAG to easily develop complex tests not possible with many other JTAG solutions. Here’s an example of XJEase code.

XJDeveloper contains a software debugger for use during XJEase development and prototyping.
This debugger allows you to:

  • Step through code a line at a time.
  • Set and remove breakpoints.
  • Check and set the values of any variables in the code.

Device-centric — reusable tests

Building an XJDeveloper test system requires no knowledge of the underlying JTAG technology. All device tests written in XJEase are independent of the specific circuit under test. Tests are written from the device’s perspective; they specify the pin levels required to run the test and any pin states expected as a result. XJTAG then uses its knowledge of the circuit to create test patterns that will achieve the required inputs. This means that once tests have been developed for a device they can be reused in any circuit without any additional work.

Testing and programming non-JTAG devices

XJDeveloper can be used to test or program non-JTAG devices including Flash, all types of RAM, FIFO arrays, IIC devices, SPI devices and Ethernet controllers.

No need to understand how JTAG works

If you do have to create your own tests XJDeveloper makes this easy by abstracting the description of how a device is to be tested from the detail of creating the JTAG test vectors to implement those tests; this means that the process of developing tests for your non-JTAG devices is quick and easy.

XJDeveloper will check that the pins on a device to be tested are on nets accessible from JTAG devices and then work out which JTAG device pins must be manipulated to access the correct nets.

Similarly, once you have a test file for a device, it can be reused whenever that device is part of another circuit.

Multiple boards

Testing multiple boards is as easy as testing a single board. There is no complex merging to be done; simply give XJTAG the netlists and tell it how the boards are connected together. Everything else is worked out by the underlying engine at runtime.

Running Tests

You can run tests from within XJDeveloper. However, there are other ways of running your tests, depending on your requirements.

XJRunner is our run-time solution for the production/servicing environment. It is aimed at board manufacturers and/or in-field testing, with additional logging, serial numbering and user management capabilities. It has both a GUI and a command-line version, to allow you to integrate XJTAG with other test systems. The GUI can run tests on multiple boards simultaneously for use in manufacturing applications.


A netlist contains connectivity information for a board. XJTAG supports a wide range of netlist formats that the system automatically parses, identifies and accepts. You should be able to use any ASCII netlist; however if your netlist is not recognised, please contact XJTAG Support and we will be happy to convert it to a format that works and add a parser to a future release. More about netlist formats on the XJTAG Blog.

Testing with no netlist

If you don’t have the netlist for a board you need to test, XJDeveloper allows you to base a test system on the BSDL files for the JTAG devices on the board rather than forcing you to use a netlist. The system can then automatically learn from a golden board the connections between the JTAG devices for use during connection test. You can also add additional non-JTAG device such as RAM, flash or devices on peripheral busses such as I²C and SPI, in order to extend the test coverage.