Boundary Scan Example
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
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
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
Hardware Interface DLL
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
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
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.