XJDeveloper is a graphical application that 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 in, 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
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.
FREE 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.
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.
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.
- 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.
- Free 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
Frequently asked questions
What is included with XJDeveloper?
- Test development capabilities
- BSDL file editor/viewer
- JTAG Chain Debugger and signal integrity testing
- Library of non-JTAG testable devices
- Library of logic devices and truth tables
- XJEase language – ability for user to create new tests/modify library tests
- Ability for user to add connections/remove connections from netlist
- Schematic viewer
- Layout viewer
- XJRunner – integrated in XJDeveloper and as separate XJRunner application
- XJDemo board & tutorials
What options are available with XJDeveloper?
- XJDeveloper is available with or without XJAnalyser functionality.
- XJDeveloper is available with or without XJFlash test generation capability.
- XJDeveloper can work with hardware licensing or with network licensing (minimum hardware purchase applies).
What files / data do I need to start working with XJDeveloper?
The minimum needed is the BSDL file for at least one of your JTAG devices (available from the device manufacturer).
Results will be much better and test coverage easier to achieve if you have a netlist for the board you wish to test. This is usually exported from the board design (EDA) tools.
If your EDA tools support export in ODB++ format, by using this as the netlist, XJDeveloper will also have access to layout information on your board to improve how it shows you problems.
If you have a Bill of Materials (BoM) for your design, XJDeveloper can use the information in it to help you improve your setup and save time in deciding how to categorise devices.
Providing the schematics (in PDF format) to XJDeveloper also allows it to help better during board setup.
You do not need the board you wish to test in order start the setup, though you will want to verify your tests on real hardware at some stage.
What netlist formats does XJDeveloper support?
Our recommendation is that customers use ODB++ board data because this contains both netlist and layout information and almost all CAD tools can generate ODB++. However, XJDeveloper supports over 60 formats of netlist, so if you do not have ODB++ we simply suggest you try using yours. If XJDeveloper does not recognise it please send it to us, we will gladly convert it to one that we can support, and we will also add support for your format into the next release of XJTAG software.
Can I update the netlist on an existing project?
Yes, simply edit the board to use the new netlist. XJTAG will migrate all the existing setup to the new netlist.
I have modified the board during bring-up – can I represent this in XJTAG?
XJTAG has the ability to add connections (e.g. wire mods) to the circuit model, or to disconnect parts of the circuit (e.g. cut tracks) in addition to being able to mark devices such as resistors and connectors as fitted or unfitted.
How easy is it to write my own tests?
We think it is very easy. But mostly you won’t have to, because the XJEase library contains a large number of common devices such as RAM, Flash, etc.
The XJEase language is designed so that you work by thinking about the device you are testing, so if for example you want to set the nOE pin high on a chip, that is how it is described in XJEase (SET nOE := 1; ) No need to worry which JTAG device the pin is connected to, or how it is connected, XJTAG works that out for you.
The XJEase language means you can do more than just play back a pre-defined set of vectors – you can use IF or WHILE statements to make decisions during tests, and even call other programs from within the tests.
The library of tests provided with XJEase contains a wide selection of devices, and you can see all of the XJEase source code for these tests. So if you want to find out how to do something for a new device, look in the tests we supply for a similar device, and copy or modify it.
The XJEase library also contains functions for using protocols such as I2C or SPI, and useful functions for tasks such as reading programming information from files in various formats, doing maths operations, etc.
What test coverage can I get using XJTAG tools?
The best answer we can give is to suggest you try XJTAG and let XJDeveloper generate a test coverage report for your circuit. XJDeveloper can also give some indications of parts of the board which are not tested or for which testing could be improved.
If you would like to take advantage of a free DFT Coverage Review of your initial design, our experienced test engineers will be happy to provide an analysis of boundary scan testability and make suggestions for improvements to maximise test coverage. Contact us now.
- Intel® Core i3, i5, i7 processor or equivalent (any generation)
- Microsoft® Windows® 7, Windows 8.1 or Windows 10 (32 or 64 bit)
- 4 GB of RAM
Upgrades / Support / Maintenance
Can I upgrade to add XJAnalyser or XJFlash later?
Yes, upgrading is simple and our costs are transparent with no penalty for adding functionality at a later date.
What support does XJTAG offer?
XJTAG offers technical support by email and telephone during UK office hours.
Where appropriate we will use internet meeting/telephony software to view problems directly on a customer’s PC, or to demonstrate the use of a feature by showing a PC desktop to the customer.
Customers with a support + maintenance agreement have access to both bug-fix software releases and new-feature releases.
In the event of a fault developing in XJTAG’s hardware XJTAG will replace or repair the unit and will work with the customer to minimise downtime (e.g. by loaning a unit during the repair).
Free evaluation / Licensing
What are the differences between the trial version and the purchased product?
There is no difference between the functionality of the purchased product and the free evaluation version. We provide full technical support by telephone and email, to help with the set-up or troubleshoot any issues during your trial. You will also have access to XJTAG’s device test libraries and latest software upgrades, during your 30-day evaluation period.
Can I convert my trial version to a purchased product?
Yes. If you already have XJDeveloper for evaluation, you can continue using it without interruption by purchasing the full licence. Contact your XJTAG distributor to make a purchase and have your licence extended.
- Fast test development & debug
- In-system programming setup
- Test coverage analysis
- Library of non-JTAG devices
- Reduce your time spent debugging boards due to high precision fault isolation
- Improve your time to market and reduce project risk by early design verification
- Reduce your test development time by reusing tests from prototype/design in manufacturing and field support
- Ongoing time savings by test reuse across projects