|
|||
Using Multi-Gigabit Transceivers to Test and Debug FPGAIntroducing Thunder Series Frédéric Leens, Sales and Marketing Manager, Byte Paradigm This white paper introduces Byte Paradigm’s new Thunder Series probe. This new generation PC-based instrument uses FPGA multi-gigabit transceivers as high-speed interface for collecting trace data and inserting test pattern stimulus during FPGA testing and debugging. This paper shows the advantages of using high bandwidth links in combination with adequate embedded instrumentation IP implemented in FPGA. New challenges in FPGA testing and debugging With increasing system complexities, engineers worldwide acknowledge that using a prototype in combination with simulation and other EDA tools-based techniques is a must to efficiently debug an embedded system. The programmable nature of FPGAs makes them particularly well fitted for this approach. Being able to reprogram FPGAs allows:
When troubleshooting a FPGA, the engineer is going to run pure simulation of HDL code and test sessions on a board equipped with the target FPGA. From traditional to embedded instrumentation Two main approaches are used today for FPGA debugging1 on prototype:
Let’s compare these 2 techniques. Typically, using a logic analyzer to debug a FPGA requires routing the internal nodes that have to be observed onto FPGA I/Os equipped with an accessible board connector. Figure 1: Using a logic analyzer to debug FPGA A logic analyzer is a very useful piece of equipment that can help overcome the limitations of a simple scope for functional – ‘digital-only’ signals. It often features 36 digital channels and more (even much more). In addition, its rich triggering and enhanced memory options allow finding infrequent error conditions. However, using a logic analyzer for FPGA debug has got its drawbacks:
FPGA internal nodes are often multiplexed onto the same set of I/Os used for debug. This helps observe more of the internal logic while avoiding extending the total number of functional I/Os required for debug. Alternatively, an embedded logic analyzer makes use of FPGA hardware resources to store and collect FPGA trace data. This approach requires ‘some’ logic, ‘some’ memory and using the JTAG port of the FPGA. Figure 2: Using an embedded logic analyzer to debug FPGA This technique uses the JTAG port to access trace data, which saves FPGA’s functional I/Os. Moreover, the JTAG connector footprint is generally small. It is often present for programming the FPGA. This is an advantage over having to reserve a specific high-speed connector on board. Trace data is collected using the internal clock resources of the FPGA – that is to say, in the same clock domain as the FPGA logic. This can be an advantage over collecting the data from the chip I/Os, as the I/O toggling rate can be more limited due to board constraints or constraints from the I/O buffers themselves. Embedded Instrumentation seems to be the natural evolution of traditional instrumentation - for many reasons:
As a consequence, the test and debug instrument tends to ‘enter the chip’. It is integrated close to the FPGA functional logic. However, such embedded instruments require FPGA resources to:
How do these techniques compete? Figure 3: FPGA debugging techniques - position chart Table 1: Main limiting factors of FPGA analysis techniques The table and the chart above summarize the respective limiting factor of each technique and show the usual possible solution to overcome these limitations. Of course, these solutions are always implemented at the expenses of the FPGA logic resources. Exploring the solutions space From the chart at Figure 4, two areas are left unexplored:
Let us try to reach ‘quadrant 2’ from the existing solutions. Reducing the impact of Embedded Logic Analyzer on FPGA memory would require storing trace data outside the FPGA. To be practical, this data must flow out of the FPGA at a sufficient rate. This is true even if a limited portion of the FPGA memory is used as a temporary buffer. On the other hand, reducing the pin count required by the Traditional Logic Analyzer solution would lead to increasing the throughput of the I/Os used for debug – if the same nodes must be observed. Hence, the basic requirements of an alternative debug solution are:
Figure 4: Thunder Series versus other solutions Thunder Series – overview The new Thunder Series probe from Byte Paradigm locates the trace/stimulus memory outside the FPGA while using available multi-gigabit transceivers for conveying data to and from the FPGA. Figure 5: Overview of Thunder solution Byte Paradigm’s Thunder solution is composed of 3 parts:
Figure 6: Thunder Series probe - overview A new solution for new FPGA challenges FPGA has become the platform of choice for complex digital systems. Full embedded systems that used to be implemented with a choice of separate digital ICs mounted on a board can now be implemented with a single FPGA chip. Today’s FPGAs are very powerful all-around digital chips that are able to hold multiple general-purpose RISC microcontrollers, implement a bus system, glue logic, DSP functions and other application-specific data processing. FPGAs also contain lots of memory resources, support multiple I/O standards and have advanced communication interface building blocks such as Ethernet or PCIe PHY. Internal frequency can be as high as 500 MHz and above, making of high-end FPGA very impressive pieces of hardware reaching unprecedented levels of computing and data processing power. This poses new challenges for FPGA design, debug and test. First, FPGAs need powerful connections able to ‘feed’ them at a very high throughput. This is a condition for efficiently using their computing power capable to process ‘a lot of data’ in real-time. For that reason, multi-gigabit transceivers able to transmit serial data at several Gbps (now even up to 28 Gbps on optical links) have become very common FPGA features (even for entry-level FPGA). Second, FPGA design has evolved towards real ‘platform design’, similar to ‘System-on-Chip’ (SoC) design. This evolution of FPGA architectures aims at reaching shorter product time-to-market while handling higher system complexity. Designing FPGA has become a matter of carefully choosing how to partition FPGA design between 3rd party IPs (Intellect Property) and IPs designed in-house. Debugging and testing each of these IPs or multiple IPs assembled as ‘subsystems’ is good practice before debugging and testing the whole system. It is no wonder why embedded instrumentation has been increasingly successful. When each functional block of an embedded system was implemented with a separate component, measurement and testing used to be executed at the components boundaries. In a system implemented with a single FPGA chip, the boundaries can be IP boundaries, which must be accessed from inside the chip. Moreover probing from physical board connections is not always possible and can be too intrusive. Thunder Series probe falls in the category of ‘embedded instrumentation solution’. It uses the available FPGA multi-gigabit transceivers as data channel to debug and test FPGA systems. It works with an instrumentation IP implemented in the FPGA to:
Table 2 below compares it with the other debug solutions described in this paper. Thunder Series probe uses full-duplex connections. With the proper embedded instrumentation IP in the FPGA, this enables generating the inputs of the internal IP as well. This can prove to be extremely useful when input stimulus must be used to test partial designs composed of IPs – especially when not everything in the system is available yet. It opens the way to new approach for testing FPGA, especially when testing partial designs or when using another kind of input source (like a digital pattern generator) is too invasive. In its first implementation, Thunder Series probe features two multi-gigabit links at 3.125 Gbps, implementing a 6.250 Gbps total bandwidth for test and debug data. Out of this bandwidth, useable throughput can be up to 5 Gbps full duplex. While this may seem very high, this bandwidth must be used wisely: This represents the continuous probing of 40 bits at 100 MHz, 20 bits at 200 MHz, 10 bits at 400 MHz, and so on…. With advanced triggering and filtering in the FPGA coupled with some buffering, bursts recorded from larger busses can be probed. Table 2: Debug techniques - comparison Conclusions Byte Paradigm’s new Thunder Series probe complements the existing solutions for FPGA debugging. Moreover, Thunder Series probe offers testing capabilities that are currently unexplored by existing instrumentation solutions. With the adequate set of instrumentation IP, Thunder Series probe uses full-duplex multi-gigabit transceivers and allows ‘injecting’ the input stimulus inside the FPGA. In a world of FPGA being used as a platform for full complex systems, this enables testing subsystem and blocks of IPs from PC. About the author Frédéric Leens is Sales and Marketing Manager at Byte Paradigm. 1 Let us stress again the importance of using simulation together with testing/debugging on a ‘real’ FPGA prototype for efficient debugging. |
Home | Feedback | Register | Site Map |
All material on this site Copyright © 2017 Design And Reuse S.A. All rights reserved. |