XJTAG

Apply for your FREE Trial of JTAG Boundary 
		Scan Development and Test Tools
Search

Knowledge Base - Browsing by Topic


Can I run SVF / STAPL / JAM files in XJEase?

Yes. Look at the RUNSVF and RUNSTAPL commands in the XJEase help files.

I keep getting scan chain errors when running an XJEase script.

Ensure that you have correctly terminated the JTAG TAP signals at your board. See the DFT Guidelines document.

How do the timings work if a SET command involves more than one JTAG device?

A single SET command line will execute those pin settings off the same TCK edge, so they should both occur within the propogation delay from that edge.

Why can't I use "I" or "M" as a variable name?

"I" and "M" are keywords in XJEase: "I" is used in the SET command; "M" is used in the circuit preamble to denote MHz in the FREQUENCY section.

The pin names in the BSDL file do not match those in my netlist.

Either the BSDL file or the netlist needs to be changed so that the pin names match. XJTAG provides a set of general purpose Perl scripts to perform this manipulation. The scripts are installed into the 'bin' directory in the XJTAG installation, and can be run from the XJTAG Command Prompt. For more information, look up "Pin numbers" in the help files.

My Xilinx SVF files don't work properly when I run them in XJTAG.

Some Xilinx SVF files assume a 1MHz clock speed, and have hard-coded delays in terms of number of clock cycles, rather than in terms of time. Set XJEase / XJAnalyser to run at 1MHz, or change the delays in your SVF file.

Where can I get example XJEase scripts?

There are lots of example scripts on this website. If you cannot find what you are looking for, .

Dynamic width integers

Unlike most conventional programming languages, XJEase supports dynamic-width integers, which can be up to 2^32 (over four billion) bits wide. Dealing with these integers can cause a significant speed reduction if not carefully considered. This article describes this feature and a technique for avoiding these situations.

The FLUSH command in XJEase

The FLUSH command allows you more control over the timings of JTAG writes. This application note describes a few examples of how it might be used.

The HOLDOFF command in XJEase

The HOLDOFF command allows you to speed up JTAG cycles by grouping sets of writes together. This application note gives an example of using it to meet timing constraints on an Atmel flash device.

Testing analogue ports with XJTAG

The IEEE1149.1 (JTAG) standard does not explicitly support the testing of analogue devices, but it is easily possible to test in-circuit analogue functions using XJTAG. This application note describes a real-world example of testing an analogue RGB video port, as a demonstration of the type of solution that can be used. This type of solution can be easily adapted to test a variety of analogue functions.

Using TextPad advanced features with XJTAG

The XJTAG Development System is supplied with TextPad, a fully featured and sophisticated text editor. This application note describes some of the advanced features of TextPad that can be used to help with the development and execution of XJEase files.

Troubleshooting the connection test

This application note covers problems seen when running the connection test, such as the "JTAG chain broken" error message, or current consumption suddenly increasing (meaning that there is a contention on the circuit).

It also includes more general searching for contentions/conflicts.

Generating serial numbers in XJEase

XJRunner can generate / read and log unique board identifiers during testing, such as serial numbers and MAC addresses. This application note describes how these should be handled by the XJEase code.

I'm having problems with backslashes '\' in XJEase strings.

\ is an escape character in XJEase. To get a literal backslash in an XJEase string, you need to use two backslashes.

Example

STRING MyFilePath1 := "c:\\projects\\MyBoard\\";

Alternatively, you can use forward slashes for file paths:

STRING MyFilePath2 := "c:/projects/MyBoard/";

How do I functionally test a JTAG device?

To functionally test a JTAG device, it must be kept in BYPASS mode during the device file tests:

JTAG LIST
    U1 := "myfile.bsdl" IN "BYPASS";
END;

You can then add the device to the TEST LIST section of the project file, and run tests on it in the same way as you would for a non-JTAG device.

Can I use devscript on a JTAG device?

Yes, using the -d switch in devscript:

devscript -d D1 -d "U4(phy)" example.xje

How should I describe DDR termination resistors in XJEase?

DDR termination resistors go to a common rail at a voltage level between VSS and ground. As JTAG is a digital technology, it can only read 1 or 0, giving an indeterminate result for these pins. DDR termination resistors should therefore be put in the IGNORE section in the XJEase project file.

Changing the Connection Test Fault Coverage

The XJTAG connection test is an automated interconnect test which checks for shorts, opens, stuck high and stuck low errors on a circuit board. Some circuit boards have cross-talk or similar issues, which do not affect the normal running of the board, but are picked up by the XJTAG connection test. To handle such boards, there are three debug options which can be used to change how the connection test runs. This application note describes these debug options.