Xcell Journal Online
  Xcell Journal Archives
   
  Writing for Xcell
  Advertising in Xcell
  FREE Subscription
   
  Partner Yellow Pages
  Reference Pages
  Contact Us

    

Home : Documentation : Xcell Journal Online : Article
Un-Tethered Debugging



by Brent Przybus, ChipScope Pro Product Marketing Manager, Xilinx, Inc.
brent.przybus@xilinx.com (12/1/05)


Remote debugging enables designers to configure, debug, and verify Xilinx FPGA systems remotely.
article link to PDF
Article PDF 250 KB


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 engineer’s 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. PDF logo (12/1/05) 250 KB

 
职位招聘 本地活动及在线座谈 本地新闻稿 投资者关系 反馈 法律声明 网站地图
© 1994-2008 Xilinx, Inc. All Rights Reserved.