Support|documentation
 
 
Home : Publications : Xcell Journal Online : Articles by Date : Article

Xcell Journal Online Article
   
     
   
   
   
 
  Xcell Home
  Articles by Date
   
  Subscription
  Comments & Suggestions
  Write Articles for Xcell
   
   
   
   
 
BugHunters@Siemens
by Alfred Fuchs, MSEE, Project Manager, Siemens CES Design Services
alfred.fuchs@siemens.com

Gerhard R. Cadek, Pd.D., EDA Trainer, Oregano Systems
cadek@oregano.at  (02/15/03)

Siemens has developed a powerful diagnostic tool for its high-volume telephone switches. Advanced FPGA technology and high-productivity EDA tools from Xilinx have enabled sophisticated test strategies.

Most people are unaware that hundreds of microprocessors are involved in placing a cellular telephone call. Although this may be a surprising fact for the average cell phone user, mobile communications experts are even more astonished that such a complex system is stable and seemingly robust.

For despite a well-defined development methodology and quality assurance measures, bugs are sure to exist in any microprocessor code or software. Particularly annoying are sporadic bugs, which show up only under special, rare circumstances at intervals as long as months apart. Typically, such bugs are associated with the dynamics of the multiprocessor system.

Of course, there are plenty of debug tools to analyze software, but applying them may change the dynamics of the system and can therefore mask the problem. This is where the Siemens Hardware (HW) Tracer comes into its own in identifying software bugs before they can cause problems in the field. Based on Xilinx Virtex™-E FPGAs, HW-Tracer is a standalone, rack-based data capture, analysis, and debug tool.

Hardware Tracer

The HW-Tracer’s task is to acquire, filter, and qualify all bus cycles and additional monitor signals. These signals can be accessed via interfaces on the front panels of every processor and memory board and are recorded in trace memory together with a timestamp that is 2 million cycles deep. The tracer can log the complete activity of the system in real time without interfering with its operation. Moreover, it can also trigger specific events due to a tight coupling with the Coordination Processor’s (CP) operating system.

HW-Tracer is essentially a logic analyzer with many proprietary extensions. Because of the number, high speed, and complexity of these extensions, we developed the HW-Tracer as an in-house tool for Siemens. For example, it tracked processes (whose addresses were determined at runtime) and compiled a view containing only program jumps. To meet the demanding requirements of the new CP generation, HW-Tracer has to cope with a peak data rate of 2 gigabytes per second. Actual cycle rates can even be higher, as data bursts are transferred in a compressed format.

To use the HW-Tracer’s two channels independently for processor or memory, we dynamically reconfigured the FPGA that acts as the heart of the tool. Reconfiguring the hardware to complete two different trace tasks halved the cost of the hardware.

The Technical Challenge

A number of key design considerations decided the final hardware implementation. Because of their reprogrammability and dynamic reconfigurability, we selected Virtex-E FPGAs.

The tasks the HW-Tracer had to perform included:

  • Analyze nearly 200 input signals at a system speed of 75 MHz
  • Capture a high number of 32-bit buses with a data path as wide as 144 bits, which would stress routing resources
  • Cope with signal integrity issues on the board level.
Power aspects also had to be taken into account in the overall design.

We conducted a feasibility study before we developed the new HW-Tracer. Specifically, we investigated whether FPGA technology was capable of dealing with the necessary system performance. Our study showed that the Xilinx Virtex-E family of FPGAs was the only technology available that could meet the requirements. We chose Virtex-E FPGAs because:

  • Virtex-E devices have up to 804 user I/Os and a 130 MHz internal performance level.
  • There were more than enough routing resources to capture the 32-bit busses with widths as wide as 144 bits. With densities ranging from 58K to 4M system gates, a cascade chain for wide-input functions, and dedicated carry logic for high-speed arithmetic functions, the Virtex-E FPGAs were ideal for this task.
  • The programmable SelectIO™ standards on Virtex-E devices were able to handle signal integrity issues at the board level, supporting 20 high-performance interface standards with as many as 804 single-ended I/Os or 344 differential I/O pairs.
  • The fast, high-density, 1.8V Virtex-E family is designed for low-power operation.
The circuit design took a massive pipelining approach, mathematically speaking. In addition to a design complexity of about 400K gates, which was mainly determined by the logic in the data path, there was also complex control logic to be implemented. A unique feature in Xilinx FPGAs is a mode called SRL16 (Shift Register LUT), which can be used to increase the effective number of flip-flops per configurable logic block (CLB) by a factor of 16. (Adding flip-flops enables fast pipelining.)

The state machines required to control the operation modes of the HW-Tracer could not be pipelined and threatened to limit the achievable system speed. We have found, however, that arithmetic performance is not the bottleneck in today’s leading-edge FPGAs.

Choosing the Design Flow

Despite the extreme performance needed, we decided to code the design in VHDL, which is technology-independent at a high level and controls the implementation via just the constraints in the synthesis and place-and-route tools. We have successfully used this automated design flow already in the past for several FPGA designs. It prevents design issues and saves time when modifying the design.

Only the memory modules had to be instantiated; using the Xilinx CORE Generator™ tool, this proved to be quick and easy to implement.

It was clear that we would have to utilize simulation as if we were developing an ASIC. Simulation (including a gate-level simulation with the VHDL output of Xilinx Alliance Series™ software) added to the overall design time but paid off at the end, when the FPGA was delivered with only two very minor bugs detected.

Striving for Timing Closure

We selected Mentor Graphics’ Leonardo Spectrum™ software to synthesize the design and Alliance Series software for the back-end task. Both tools enabled us to implement a completely automated design flow. This was important because in past designs, timing closure could not be guaranteed; code changes tended to result in new worst-case paths that violated the tight timing constraints. We have experienced this timing constraints problem when designing with ASICs.

The most recent releases of the Leonardo Spectrum synthesis tool address this issue successfully by interacting with Xilinx Alliance software, and thus, reducing the number of design iterations. We have seen improvements on the critical paths as high as 15%.

We carried out many implementation runs to incrementally move toward our performance goal. In our project, we started the development based on preliminary timing data; later updates of the timing data entailed some refinements of the constraints.

We benefited a great deal from the stability and performance of Xilinx design software. We achieved turnaround times of three to four hours for the whole implementation task, which is excellent when taking into account the complexity and tough timing constraints.

Management Views
The CP’s bring-up-phase depended heavily on the availability of HW-Tracer, which was developed in parallel. To address this risk, we added several additional verification steps to the process.

The test equipment included in the VHDL system simulation comprised:

  • Two main memory units, each with a million-gate ASIC containing two embedded CPU-cores
  • Several different processing units, each with a million-gate ASIC and two CPUs
  • Up to 16 peripheral models and an ATM-controller.
In the context of the system simulation, the CPU’s firmware was already verified.

“The verification of the HW-Tracer at the virtual, simulated level ensured that it could be immediately used for testing the physical prototype of the CP unit. This is a great advantage over ASIC designs. Using FPGA simulation tools shortened our design time greatly,” said Johann Notbauer, Siemens CES Design Services’ technical director for ASIC and FPGA design. Friedrich Wilhelm, technical director and specialist for proprietary test tools at Siemens, added, “The high logic densities, flexible high-performance interface standards, and pipelining capabilities of Virtex-E combined with the powerful design tools made the choice of FPGA easy.”

Emulation

The application software of the HW-Tracer had to be thoroughly verified before its first use. In this environment, the Tracer design was stimulated by a pattern generator, which was included into the FPGA design using internal Virtex-E block memories. The patterns were again derived from the system simulation. In the final product the pattern generator is used for a “learn mode,” which helps users familiarize themselves with HW-Tracer before being connected to an actual CP unit for test and debug.

Internet Reconfigurable

In order to facilitate troubleshooting on any of the switches installed throughout the world, the HW-Tracer was designed as a portable device and squeezed into a 3U-CompactPCI chassis.

The FPGAs were loaded by the embedded PC, which took the configuration data from the hard disk. Embedded software as well as FPGA design files are accessible on a dedicated homepage – where future updates and upgrades can be downloaded.

Conclusion

The powerful combination of Mentor Graphics’ Leonardo Spectrum synthesis with Alliance software and Virtex-E hardware from Xilinx enabled Siemens to bring its new range of telephone switches to market. Virtex-E FPGAs were used at the heart of the HW-Tracer, which was used to debug and test the Coordination Processor project. The software combination allowed FPGA design iterations to be completed quickly without affecting the tight timing constraints. We chose Virtex-E devices for their high logic densities, high system speeds, flexible system I/O, and ability to perform fast pipelining utilizing the SRL16 mode.

As one customer put it, “The HW-Tracer is the most important debug tool in the CP project.”

Printable PDF version of this article. PDF logo (02/15/03) 255 KB

 
/csi/footer.htm