Articles Index
Boundary Scan Example
By Neil Jacobson
December 1998
Electronic systems designers incorporate devices that support IEEE Standard
1149.1, like Xilinx' XC9500 family of Complex Programmable Logic Devices
(CPLDs), in their applications to enhance overall system testability and
configurability. This page provides an example boundary-scan (IEEE Standard
1149.1) application that lets you program, test, and debug boundary-scan
chains comprised of XC9500 CPLDs using a prototype of the Java API
for Boundary-Scan.
Example
The example application lets you use boundary-scan to program, test, and
debug any number of XC9500 devices connected in a serial daisy chain. This
is called a boundary-scan chain. The process involves these steps, which
are described in more detail below:
-
Download and install
JTAGprogrammer
software and documentation.
-
Download and unzip the Example Files,
which consist of:
-
Hardware Interface DLL
-
Translation program
-
Boundary-Scan application
-
Install the Hardware Interface DLL.
-
Create Xilinx bit (xbt) files with the JTAGprogrammer software.
-
Translate the Xilinx bit (xbt) files with the Translation program.
-
Pass the translated files to the Boundary-Scan application.
The Boundary-scan application uses the Java API for Boundary-Scan prototype
implementation (the source files are listed below) to process the boundary-scan
data in accordance with IEEE Std 1149.1, and uses the hardware interface
DLL
to send the boundary-scan data to the devices in the daisy
chain.
Download and Install JTAGprogrammer Software
The example requires data files produced by the
JTAGprogrammer software and
documentation for Windows 95/NT by Xilinx. Follow the link to get the
download. You must download and install this software before you can run the
example. Since a hardware interface implementation is not currently available
for other platforms, this example will only work on PC's.
Download and Unzip Example Files
You can download all of the files you need for the example here:
jsproto.zip. The following text describes the
files in the download and how to run the example.
Install Hardware Interface DLL
After unzipping the download file and installing the JTAGprogrammer
software, you should install the javascanifcls.dll
file
in your <windows>/system
directory. This DLL
provides the interface to the Xilinx parallel port-connected download cable,
and presumes the installation of the parallel port driver included with the
JTAGprogrammer software.
Create XBT Files
Run the JTAGprogrammer software to create the xbt files. Follow the flow
in the documentation that comes with JTAGprogrammer for generating SVF files
to program a XC9500 device. A side effect of this flow is the creation
of an xbt file.
Translate XBT Files
The xbt2data.class
executable provided in the zip file translates
the Xilinx xbt files created by the JTAGprogrammer software into simple
format files. Limited compression is applied to these simple format files,
and so these files are suitable for prototyping only. Each xbt file must
be translated separately.
To run the translation application for each xbt file, type the following
at the command line:
xvt2data <xbtFileName> <dataFileName>
Pass Translated Files to Application
The boundary-scan application allows a user to erase and program any number
of Xilinx XC9500 CPLDs in a boundary-scan chain. In addition, several other
boundary-scan operations are exercised, including testing for chain continuity
and reading manufacturer's specified device IDs (IDCODEs) from the devices.
Here is the xc9500cls.java source code.
To run the application, type the following at the command line keeping
everything on one line.
Note: dataFile1
through dataFileN
and arranged in order of the device positions in the boundary-scan chain from
system test data input (TDI) pin to system test data output (TDO) pin.