
XAPP 102 January 13, 1998 (Version 1.0)
1
Summary
This application note describes the concept and design of a remote field upgrade subsystem for an in-system programmable
XC9500 CPLD. The description of the subsystem is given along with guidelines that should help with variations on it.
Additional VHDL files are available for direct use of this design.
Specifically, the VHDL files include a complete IRDA receiver design fitting into an XC95108 CPLD.
Xilinx Family
XC9500
Key Terms:
Throughout this application note, frequent reference will be
made to XAPP058 and VHDL code for the XC95108.
These files along with others mentioned are obtainable
from the CPLD Application Notes section of the Xilinx
World Wide Website (http://www.xilinx.com). Also, several
key terms will be used frequently as follows:
EZTag
- an early Xilinx ISP download software module
JTAG
- Joint Test Action Group; the developers of the IEEE
1149.1 testing standard
JEDEC
- a committee that developed programming stan-
dards; a bit file in text form called a JEDEC file
XChecker
- one version of a Xilinx serial download cable
SVF
- Serial Vector Format, an industry standard data for-
mat
XSVF
- modified SVF with some data compression to
reduce code storage requirements
Introduction
In system field upgrades to an XC9500 CPLD are tradition-
ally done by field engineers using a portable PC. The PC
will have either the EZTag or JTAG Programmer Software,
an XChecker or JTAG Parallel Cable with flying wires to
connect to the target application, and an updated JEDEC
programming file. Once all the cables, software, and files
are in place, the engineer begins the field upgrade. This
application note goes one step further in not requiring the
field engineer to be present where the upgrade occurs. It
will require advanced planning and building circuitry into
the embedded system in advance, but that should be
expected.
As an example of making the upgrade when the system is
distant from the field engineer, the design presented com-
bines existing embedded download technology with an
infrared transceiver to introduce the remote nature of the
process. Clearly, the idea can be extended to other media
such as telephone/modem links, cables, laser or radio.
Many off the shelf communication devices are available
today. From another point of view, “remote” is relative. Sev-
eral companies have expressed a desire to simply isolate
their upgrade engineer from the end system, and in that
sense, a simple cable to the outside world via a connector
or a floppy disk interface would also qualify. In this last situ-
ation, customer service personnel have noted the benefit of
making the upgrade without “opening the box.”
Design Description
This application note, coupled with the existing Xilinx Appli-
cation Note XC9500 In-System Programming Using an
Embedded Microcontroller, XAPP058, uses a Siemens
Infrared Data Transceiver (IRM3105), to demonstrate the
concept of a remote field upgrade.
The Siemens infrared transceiver receives updated
XC9500 programming information in the form of an XSVF
(Xilinx Serial Vector Format File) file wrapped in RS232 for-
mat (8n1).
Figure 1
shows a block diagram of the XC9500
Remote Field Upgrade design. The XC95108 CPLD con-
tains the functionality described in the VHDL code. The
VHDL design contains a UART receiver (entity UART), tim-
ing interface control engine (entity TIMING), bus controller
(entity BUS_CNTL), and top level connectivity file (entity
IRDNLD).
At the beginning, a CPLD JEDEC design file must first be
transformed into a corresponding XSVF file. Details of this
are provided in XAPP058. Then, that file must be driven by
software through a serial port connected to the Siemens IR
data transceiver. The receiver end of the transceiver is
attached to the XC95108 where the bit-stream will be inter-
cepted by the UART receiver and loaded into the XSVF
RAM. This is done with a two step protocol process. First,
the UART captures each data byte, then passes it to the
timing interface control engine which manages the data
arrangement in the XSVF RAM memory. Once the data
transfer is complete, the interface control engine flags the
0
XC9500 Remote Field Upgrade
XAPP 102 January 13, 1998 (Version 1.0)
0
4*
Application Note
APPLICATION NOTE