|
For years I have looked at other career
choices with envy. Pilots have an office in
the sky, traveling routes like New York to
London and Los Angeles to Tokyo.
Archeologists go on digs to such exotic
locales as Egypt, Africa, and South
America. Even cable television installers get
to visit exotic homes in the Bay Area hills.
Engineers, on the other hand, toil away
in cold, sterile labs within the bowels of a
corporate complex, trying to solve problems
and bring their next engineering marvel
to life. As FPGA designers, most of that
time is spent running simulations, verifying,
and debugging designs implemented
with the latest Xilinx® FPGA technology.
:
I am happy to say that the days of pasty
white skin and wearing sweaters in summer
are over. Remote debugging is finally here.
Preparing for Remote Debugging
If you have used ChipScope Pro
tools, then you understand the value of
placing ILA, VIO, IBA, and ATC2
cores within your FPGA designs to gain
access and insight into what is happening.
If you have not used the ChipScope
Pro analyzer before, do not despair. The
ChipScope Pro debugging and verification
design tool allows you to debug
and verify your Xilinx FPGA designs
on-chip by following these steps:
- Instrument your design by using
either the ChipScope Pro core inserter
or core generator. These tools
allow you to add ChipScope Pro
debugging cores to your new or existing
designs. The debugging cores
come in several different flavors: integrated
logic analysis (ILA), integrated
bus analysis (IBA), virtual input output
(VIO), and the Agilent Trace
Core 2 (ATC2).
- Configure, debug, and verify your
design using the ChipScope Pro
analyzer. The ChipScope Pro analyzer
runs on a standard PC running
either Windows or Linux and
interfaces to the FPGA through the
JTAG port. Through the analyzer,
you can interact with the debugging
cores you have placed in your
design, setting trigger conditions,
capturing data, and displaying that
data in a convenient waveform or
list view interface similar to a
bench-top logic or bus analyzer.
Figure 1 shows how ChipScope Pro
tools are integrated into the standard
Xilinx FPGA design flow.
The latest version of the ChipScope
Pro analyzer includes remote debugging
capability. To use this new feature,
you need to specify a ChipScope Pro
server a lab machine with network
access connected to the board and
the FPGA through the JTAG port
using a Parallel IV or USB configuration
cable. In most cases, this is the
standard setup that has kept designers
in the lab all these years (Figure 2).
Setting up and starting the ChipScope
Pro analyzer server is easy using version
7.1i or later of the ChipScope Pro tools:
- Start the server on a Windows machine
by executing:
$CHIPSCOPE/cs_server.bat
or start the server on a Linux machine
by executing:
$CHIPSCOPE/bin/lin/cs_server.sh
($CHIPSCOPE refers to the directory
path where ChipScope Pro tools are
installed on the server machine.)
- Use the following command line
option, as required:
- -port <portnumber>. Specify the
TCP/IP port number to be used by
the client and server to establish a
connection. The default port number
is 50001.
- -password <password>. Protect the
server from unauthorized access. No
password is set by default.
- -l <logfile>. Specify a location for the
log file. The default location is
$HOME/.chipscope/cs_analyzer_
<portnumber>.log.
Moving Out of the Lab
With the ChipScope Pro server running
back in the lab, the next step is to run the
ChipScope Pro client software on your
remote system with a network connection,
such as a laptop with wireless access.
Setting up the client is easy from within the
ChipScope Pro analyzer software:
- Launch the ChipScope Pro analyzer
from the start menu or from the ISE
Project Navigator.
- Select the JTAG Chain > Server Host
Settings menu option. This will
launch a server settings dialog box.
- For remote operation, set the host setting
to the IP address of the server or
the appropriate network system name
for the server. Set the port and password
setting to the same values used
on the server. If default settings were
used on the server, these settings are
already set correctly. Click OK.
- Open a connection to the JTAG
download cable you are using and start
device configuration and debugging.
The remote connection to the server
will not be established until you open a
connection to a JTAG download cable.
Note that you must use the same version
of ChipScope Pro tools on both the
client and server machines.
By running the Xilinx ISE tools on
the client machine, you can create and
modify your design and add ChipScope
Pro cores from the comfort of your remote
location. When you have finished implementing
your design and creating the configuration
file, simply launch the
ChipScope Pro analyzer, connect to the
server in the lab, reconfigure the FPGA,
and debug just as if you were in the lab.
Practical Applications
Beyond debugging from anywhere, there
are some very real, practical applications
for remote debug.
- Sharing resources. Xilinx FPGA
designs utilize embedded processors:
the PowerPC 405 hard-core or
MicroBlaze soft-core processor. The
designs may consume as many as
100,000 logic cells, more than 10 Mb
of blockRAM, and leverage as many as
512 XtremeDSP slices. Often an
entire design team works on a single
FPGA design, and at some point each
member of the design team requires
access to the FPGA. Remote debugging
allows the design team to share a
single board in one lab location, with
design team members accessing the lab
from offices throughout the world.
- Support fielded systems. Your product
has shipped, but there is a problem.
The field application resource is on-site
with a laptop but needs factory assistance.
ChipScope Pro remote debugging
allows the factory to access the
fielding system through the field application
engineers laptop connected to
the board through JTAG. The factory
can quickly uncover the design problem
using ChipScope Pro cores left in
the original design; determine, implement,
and test a fix; and upgrade the
system remotely from the factory.
- Move to hardware faster. The availability
of hardware sooner in the design process
can greatly accelerate the overall FPGA
design flow. Rather than spending hours
simulating a complex sequence of
events, run this portion of the design in
hardware. By using an evaluation development
board or a prototype system
with a target FPGA, you can run simulations
in hardware with real system
data, at the system clock rate and
complete analysis in a fraction of time
software simulation takes. The remote
debugging and verification solution
enabled by ChipScope Pro tools allows
you to do this from your design
machine, in the comfort of your office.
Conclusion
Remote debugging can increase productivity
and the quality of the work environment.
For more information about how to
use ChipScope Pro tools, visit www.xilinx.com/chipscopepro/, where you will find
ChipScope Pro documentation, links to
demo-on-demand sessions, and answers to
frequently asked questions.
Printable PDF version of this article with graphics. (12/1/05) 250 KB
|