Xcell Journal Online
  Xcell Journal Article
  Partner Yellow Pages
   
  Xcell Archives
  Order Free Xcell Journal
  Comments & Suggestions
  Write Articles for Xcell

    

Home : Documentation : Xcell Journal Online : Article
A Low-Cost Solution for Debugging MGT Designs



by Joel Tan, Applications Engineer, Xilinx Global Services Division – Asia Pacific
joel.tan@xilinx.com (3/25/04)

Choose serial I/O technology for your designs without relying on expensive high-speed lab equipment.

article link to PDF
Article PDF 170 KB


Xilinx Virtex-II Pro X™ devices contain RocketIO™ X multi-gigabit transceivers (MGTs) capable of 10 Gbps line rates, representing the leading edge of serial I/O performance. In Virtex-II Pro™ devices, up to 3.125 Gbps are available from each RocketIO transceiver, with the largest device in the family possessing 20 MGTs. When channel bonded together, they yield a single aggregated data channel with 62.5 Gbps of bandwidth.

At line rates as much as two orders of magnitude higher than single-ended I/O, lab and test equipment used in the development environment must keep up. Unfortunately, equipment designed for use with high-speed serial I/O systems may consume a large portion of program budgets.

Should limited access to high-speed equipment stop you from reaping the benefits of serial I/O? In this article, we’ll present a solution that can lift this barrier to entry and make serial technology more accessible. It can also maximize the availability of expensive lab equipment for other projects.

The solution comprises a bit-error rate (BER) testing module connected to a flexible on-chip logic analyzer core, both implemented in FPGA fabric. Together with ChipScope™ Pro software tools, these two components can replace the diagnostic functions of a high-speed BER tester and logic analyzer, which together could cost more than $50,000.

RocketIO Design Flow Overview
Designing a RocketIO system requires you to simulate the system’s digital and analog portions. Figure 1 shows the typical flow for an MGT design.

To ensure a reliable link, SPICE simulation of the analog system is mandatory.

An accurate setup must include all of the physical connections between transmitter to receiver, using accurate models for each of the vias, traces, connectors, and transmission media. (The importance of SPICE simulation is highlighted elsewhere within this series of signal integrity articles.)

At the same time, you must also simulate MGT functionality together with user logic; Xilinx provides MGT SmartModels for this purpose. Please refer to Answer Record #14596 in the Xilinx Answers Database for HDL simulator requirements.

Using the simulation results, you can then design and build the prototype board for further testing. It is during this hardware test, debug, and development phase that you can realize the benefits of this complete, low-cost debugging solution.

Debugging Challenges
The RocketIO MGT functional block diagram shown in Figure 2 is divided into two layers. Functions in the physical media attachment (PMA) layer are implemented digitally, while those in the physical coding sublayer (PCS) are predominantly analog.

Diagnosing a serial link issue is also split along the same divide: analog and digital.

Locating errors in digital logic is a familiar process because symptoms are easily reproducible and isolated. You can detect and fix deterministic errors in hardware by comparing captured data from a logic analyzer against expected data from simulation.

Problems are more difficult to diagnose for the analog portion, especially if errors seem to occur infrequently and randomly. Results vary from trial to trial because of the random nature in which errors occur. However, over a number of repeated trials, it is possible to reproduce them reliably. The BER test does just this, and provides a useful metric for link performance.

Why Use BER Measurements?
BER equals the number of bit errors divided by the total number of bits transmitted. To measure the BER, test patterns are sent over the serial link and then compared to the original pattern at the receiver. Because the occurrence of errors is modeled as a stochastic process, a calculated minimum number of bits are transmitted before the BER is statistically valid. Xilinx Application Note XAPP661 discusses the method for calculating the confidence and precision of the BER measurement in detail.

Although many factors affect link performance, the final figure of merit for link reliability is the BER. These factors include signal trace design, clock quality, power integrity, and even impedance mismatches due to loose manufacturing tolerances. The BER metric has a systemic scope that covers all these factors, such that an anomaly in any part of the link (or its associated subsystem) will manifest as a higher than expected BER.

One assumption inherent to the BER measure is that the errors follow a Gaussian distribution. You should always test this by examining the distribution of errors in the data stream. If you observe bursts of errors, then the errors are non-random. This should prompt you to check if they are related to any noise sources, or even to the data pattern itself.

To simplify MGT designs, Xilinx provides a comprehensive list of power supply and oscillator recommendations within the RocketIO User’s Guide. Power integrity is virtually eliminated as a potential cause for a high BER if these recommendations are strictly followed. Similarly, clock quality is addressed by the oscillator recommendations. To date, the majority of signal integrity issues have been traced to non-recommended power supply and oscillator configurations.

BER testing also verifies that your SPICE simulations resulted in a physical connection that delivers all the performance of which the silicon is capable. With power and clock quality taken care of, any difference between measured and simulated results comes down to the accuracy of the models and manufacturing processes. To differentiate between these, use time-domain reflectometry (TDR) measurements of the high-speed traces to check impedance deviations from the PCB specification.

Determining the root cause of poor BER is not straightforward, since multiple factors interact to produce the measured effect. However, you can observe how incremental changes affect link performance by comparing BERs before and after each change. This is useful for quick what-if scenario testing of changes made to any part of the link, such as the PCB, power supply, clock source, connectors, and cables. An example of this is during a cost-down effort, where cost reductions are traded off with performance based on how each component change influences BER.

XBERT – The “Soft” BER Tester
The XBERT module pictured in Figure 4 measures BER and is delivered as a reference design with XAPP661. It uses an MGT to transmit serial data constructed by a pattern generator, while a pattern follower and compare logic detects bit errors at the receiver.

Control signals into the module toggle resets and select between various pseudo-random bit sequence (PRBS) and clock patterns, while the outputs provide statistics for BER calculation.

An idle MGT, placed close to the active MGT, provides a simulated noise source that is useful when diagnosing interference from nearby MGTs. Such active noise is often coupled to other MGTs through the power supply or through poorly designed traces.

An appropriate test pattern must stress the link sufficiently to accurately simulate the data-dependent stresses that it will encounter with real traffic. The patterns in XBERT are International Telecommunication Union (ITU) recommended test patterns used in standards such as SONET and 10 Gigabit Ethernet.

By stepping through the various stress levels and running each for a short time, you can obtain a coarse measure of link performance quickly. As the link reliability improves, patterns should get harder and you will need to run tests for longer periods.

On its own, XBERT is by no means a complete replacement. (For example, jitter tolerance testing is required by some standards, which XBERT cannot perform.) But it can perform many of the more time- and resource-intensive measurements than BERT test equipment can. XBERT frees up lab equipment for other measurements and makes more lab resources available.

Solution Overview
When implemented in Virtex-II Pro devices, the combination of XBERT and ChipScope software takes a form similar to the block diagram in Figure 3. In this particular test setup, the data is looped back at the far end so that both links are tested in the same trial. Alternatively, you can have another XBERT at the far end to test each link independently.

The inputs to XBERT are connected to ChipScope virtual I/Os (as shown) or to user logic. XBERT outputs such as the frame error count and bit error count are read by the ChipScope integrated logic analyzer (ILA) core and used as trigger conditions.

Together, the pair provides powerful diagnostic functionality as a data analyzer. You can trigger on a bit error or a combination of conditions to isolate certain types of errors. At the same time, you can sample the received data to examine the data pattern around an error condition.

This provides useful clues to identify the root cause of a bit error, especially if it is data-dependent. For example, if DC balance is disrupted, then bit errors will probably occur after long run lengths.

The ChipScope Pro tool implements a logic analyzer within the FPGA without additional hardware. It is a real-time debugging solution that lets you look at signals in a design as it is running. You can examine more ports simultaneously with ChipScope Pro software than with any other logic analyzer equipment available today.

Each FPGA requires a ChipScope ICON core to enable this JTAG connection to the host PC. In turn, the ICON core supports as many as 15 ILA, ILA/ATC, IBA/OPB, IBA/PLB, and VIO cores. The maximum number of signals possible per ILA core is limited by the amount of logic resources available up to a maximum of 16 trigger ports, each with a maximum width of 256 bits.

The ChipScope Pro analyzer GUI has a convenient waveform viewer that formats the sampled data in the same way as common HDL simulators. You can view MGT data and status signals as they appear in simulation, thus speeding up the verification process.

Typical Debugging Flow
Let’s consider a scenario where you are debugging a new prototype board and bit errors are reported by the user logic.

ChipScope software can monitor any bus or signal in the design. By manipulating the ChipScope probe locations in the design hierarchy, you can narrow in on the problem by comparing the data in hardware against simulation results at various checkpoints. When the digital logic has been eliminated as a possible cause, you can then proceed to debug the analog portion.

Here are some debugging steps to take when using the solution:

  1. Double-check the power supply and oscillator choices against Xilinx recommendations.
  2. Using ChipScope software, examine the received data and status signals directly from the MGT outputs before any user logic. If all is as expected, then the user logic is at fault.
  3. Use parallel and serial loopback modes to check transceiver settings and verify correct MGT operation.
  4. Use ChipScope software to check the associated status signals for each of the MGT functions in the following order:
         a) Clock and Data Recovery
         b) Comma alignment
         c) 8b/10b
         d) Clock correction
         e) Channel bonding
         f ) Cyclic redundancy check (CRC).
  5. Run BER tests on the PCB traces to see if the physical link itself can operate reliably at the target line rate. Try progressively more challenging patterns if no errors are detected with easier test patterns.
  6. Using XBERT with ChipScope software as a data analyzer, examine the distribution of bit errors and check if these errors are related to any noise sources.
  7. Measure TDR and analyze trace and via construction.
  8. If possible, gather more information using other lab equipment.
Debug Faster
The ChipScope tool speeds up debugging. When using ChipScope software, changing the trigger signal or data signal source does not require changes to the HDL code or re-synthesis, so you can change probe points to any signal within the same clock domain very quickly. To effect these changes, you need only rerun post-synthesis implementation, resulting in significantly shorter implementation iterations.

The ChipScope cores can be quickly and easily removed and inserted via the core inserter GUI. You can also place signal probes much faster than with a conventional logic analyzer, especially with wide signal buses.

The XBERT with ChipScope solution operates independently of user logic, software, and system-level control. Before measuring BER, the FPGA is simply configured using an image containing XBERT and ChipScope software. You can modify that same image to fit different devices and easily reuse the same design and techniques.

Crowded Boards and Remote Control
With increasing FPGA device densities, high pin counts make attaching test equipment probes a real challenge. Given the bus widths common today, numerous external test points are necessary; this greatly reduces the number of remaining I/Os.

In applications where board space is a concern, connectors for these test points consume precious real estate. The problem is further complicated by having to route these bus traces in tight places.

ChipScope software addresses this by requiring only a four-pin JTAG connection to the host PC. Because this connection is often provided for Boundary Scan testing during production, in most cases no additional pins are needed for the ChipScope tool.

Another advantage of the solution is that ChipScope virtual I/Os are used to toggle ports on the MGT and other control signals, when board space restrictions do not allow push buttons or DIP switches. In addition, they can also replace manual controls in an environmental testing context, giving full control over any net in the design.

If the selected device is too fully utilized for ChipScope software, try using the next larger footprint-compatible device during development. You can keep costs low by switching back to the smaller device for production.

The additional logic resources available through the use of footprint compatibility are freed up when ChipScope software and XBERT are not in use. Should the need arise, these resources can accommodate new features and design revisions that outgrow the original device. This eliminates the need for a board redesign, as the footprint can fit a range of FPGA densities.

Even without the option of a footprintcompatible device, you can employ a divideand- conquer strategy to debug parts of user logic at a time, leaving sufficient resources to implement the two solution components.

Conclusion
The Xilinx XBERT with ChipScope solution enables faster diagnostic testing, debugging, and development of an MGT system without the use of expensive lab equipment such as logic analyzers and BERT testers. These significant cost savings reduce total serial system development costs, allowing even more budgets to benefit from multigigabit serial technology.

Xilinx will be offering a signal integrity course in the coming months. In the meantime, to find out more about the complete serial connectivity solution from Xilinx, please contact your local FAE for more information, or visit the following web resources:

A Success Story
"My application uses four channel-bonded MGTs to communicate between processor boards in a universal mobile telecommunications system. The 128-bit wide channel- bonded data and numerous status signals made it very difficult to debug using a traditional logic analyzer.

ChipScope Pro™ enabled me to easily and accurately examine even the widest data paths and internal signals. XBERT also proved useful in verifying my PCB and backplane design. This solution enabled me to locate and fix a particularly elusive bug and is a great debugging tool.

With the assistance of a Xilinx Engineer on-site via the Xilinx Titanium Technical Service program, we very quickly started debugging using the advanced capabilities of ChipScope Pro. The Xilinx AE also introducted us to the use of XBERT as described in this article. The use of Xilinx Titanium Technical Service saved us many weeks of debug time!”

Hyung-Rak Kim
Hardware Engineer, UMTS Wireless Systems
LG Electronics

Printable PDF version of this article with graphics. PDF logo (3/25/04) 170 KB

 
Jobs Events Webcasts News Investors Feedback Legal Privacy Trademarks Sitemap
© 1994-2008 Xilinx, Inc. All Rights Reserved.