As chip design complexity increases, integration scales expand and time-to-market pressures grow, as a result, design verification has become increasingly challenging. In multi-FPGA environments, the complexity of design debugging and verification further escalates, making it difficult for traditional debugging methods to meet the demands for high performance and efficiency. This makes efficient debugging solutions critical for successful prototype verification. Today, we’ll explore common debugging methods ranging from basic to advanced approaches.
Why is Prototyping Important
With the growing complexity of large-scale integrated circuits, chip verification faces immense time and cost pressures. Historically, designers relied on simulation or silicon tape-out for validation, a process that is both time-consuming and costly. Prototyping allows for testing real-world scenarios before tape-out, ensuring the reliability and stability of functional modules while assessing performance. This not only shortens time-to-market but also enables early demonstrations to customers enabling pre-sales activities. Additionally, prototyping significantly reduces costs by enabling driver development ahead of silicon availability. Once silicon is ready, applications can be seamlessly integrated with drivers developed during prototyping which accelerates SoC deployment.
Prototyping offers a unique speed advantage, outperforming software simulation and hardware emulation in verification turn around times, though historically it has lacked robust debugging capabilities. While software simulation is user-friendly but it is slower and more suitable for small-scale or module-level verification. Hardware emulation is better suited for larger designs with strong debugging capabilities while prototyping stands out for its speed. As complexity increases, users increasingly rely on debugging tools provided by FPGA vendors which can be limited in scope. Here we’ll discuss how to overcome these debugging challenges and introduce S2C’s advanced debugging solutions.
S2C’s Prodigy prototyping solution offers a comprehensive and flexible debugging platform equipped with a complete toolchain that includes real-time control software (Player Pro-RunTime), design debugging software (Player Pro-DebugTime), the Multi-Debug Module (MDM) for deep debugging, and ProtoBridge co-simulation software. These tools significantly enhance user efficiency, catering to the diverse requirements of S2C’s broad customer base with capabilities that may not be available from other vendors.
What Are the Common Debugging Techniques
With prototype verification, debugging aims to pinpoint and resolve design issues, ensuring system functionality. In complex SoC designs, engineers must ensure that issues are debuggable, minimizing time spent troubleshooting during development. When users first deploy their designs on an FPGA, they often encounter various failures which could stem from network issues within the FPGA prototype, design errors, or compilation problems like timing errors due to design partitioning or pin multiplexing. Effective debugging and monitoring tools are essential for confirming hardware functionality and verifying that all modules operate as expected. This often requires using external or embedded logic analyzers to identify the root cause of issues.
Common debugging methods include basic I/O debugging, AXI bus transaction monitoring, signal-level debugging, and protocol-based debugging. While many users rely on embedded logic analyzers from FPGA vendors during prototype bring-up, these tools may become resource-intensive and harder to manage when dealing with complex multi-FPGA designs.
S2C offers a comprehensive set of debugging solutions, ranging from simple to advanced, meeting the diverse needs of engineers during prototype verification and ensuring a smoother debugging process.
-Basic I/O Debugging:
While FPGA vendors provide various signal monitoring tools such as VIO IP cores, signal editors, and probes typically accessed through JTAG, S2C’s solution extends I/O debugging capabilities. It integrates multiple basic I/O interfaces—such as push buttons, DIP switches, GPIOs, and UARTs—directly into the prototype, offering intuitive user interactions. Additionally, S2C’s Player Pro software enhances remote diagnostic capabilities through virtual interfaces, making the debugging process more efficient.
-Bus Transaction Debugging:
For complex SoC designs, debugging AXI bus transactions is highly effective, especially when AXI has become a standard protocol. S2C’s ProtoBridge solution uses PCIe to offer up to 4GB/s of high-bandwidth AXI transaction bridging. It includes an AXI-bridged RTL interface for seamless design integration, along with PCIe drivers and APIs to support software-based stimulus development. With built-in Ethernet debugging (~10Mbps), ProtoBridge enables rapid read/write access to memory-mapped AXI slaves, meeting low-bandwidth debugging needs.
– Signal-Level Debugging:
Signal-level debugging is one of the most commonly used methods in prototype verification, involving the extraction of internal signals for issue diagnosis. S2C’s Player Pro excels in this area which allows designers to easily map internal signals to I/O. A range of expansion cards offers additional flexibility, including pin connections, 3.3V voltage conversion, and extra interfaces for push buttons, switches, and external logic analyzers, making real-time testing more efficient.
-In-System Protocol Debugging:
When FPGA prototypes interact with real-world data, protocol-based debugging becomes essential. S2C supports over 90 expansion cards and reference designs to facilitate system-level testing across various protocols. Custom solutions are also available to optimize testing and debugging for a smooth prototyping experience.
-Deep Logic Analysis:
For users requiring in-depth debugging or dealing with multi-FPGA setups, challenges often include memory capacity for signal storage and the need for cross-FPGA debugging. S2C addresses these issues with the MDM Pro which supports concurrent signal probing across up to 8 FPGAs and includes cross-trigger functionality. Equipped with 64GB of DDR4 memory, MDM Pro captures up to 16K signals in 8 groups without the need for FPGA recompilation. Pre-built into S2C’s Quad 10M and Quad 19P Logic Systems, MDM Pro offers intuitive trigger settings similar to those in FPGA vendor tools ensuring a smooth transition for engineers. It supports both IP and compile modes which provides flexibility to match various design flows.
Conclusion:
Prototyping offers significant performance advantages over software and hardware emulation. This has driven a demand for advanced debugging solutions to maximize the benefits of prototyping. As one of the earliest providers of prototyping tools, S2C enhances productivity and efficiency with a comprehensive range of debugging methods. These solutions are particularly effective in addressing the challenges of multi-FPGA environments helping engineers accelerate verification and shorten time-to-market.
For more information: https://www.s2cinc.com/
Also Read:
Evolution of Prototyping in EDA
S2C Prototyping Solutions at the 2024 Design Automation Conference
Share this post via:
Comments
There are no comments yet.
You must register or log in to view/post comments.