S2C.
S2C.

Unlocking SoC Debugging Challenges: Paving the Way for Efficient Prototyping

Unlocking SoC Debugging Challenges: Paving the Way for Efficient Prototyping Oct 21, 2024

by Daniel Nenni on 10-21-2024 at 10:00 am

picture.jpg

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/

PREV: No information
Back to list Back to list
Related S2C Complete Prototyping Solutions
Virtex UltraScale Series
S2C's Virtex UltraScale (VU) Prodigy Logic Systems are built on the Virtex UltraScale XCVU440 FPGA from Xilinx.
Prodigy Logic Module
S2C's FPGA Prototyping system has been in the market since 2004 and has since been widely adopted by many leading SoC/ASIC design companies. The Prodigy Logic Module series are specially designed ...
Connector Connectivity
Prodigy Interconnection Module Type CConnects 144 GPIO and 4 SerDes between two Prodigy I/O connectors.The spacing between two connectors is 75mm.Available TypesReference ClockP-PM-IMCFixed 100MHzP-PM...
What's New at S2C
Request for Quote
What type of chip are you designing
What is the capacity of the ASIC gate included in the design?
5 million-20 million
20 million-50 million
50 million-100 million
100 million-1 billion
More than 1 billion
Which FPGA do you prefer to use?
Xilinx VU440
Xilinx KU115
Xilinx VU19P
Xilinx VU13P
Xilinx VU9P
AMD VP1802
AMD VP1902
Intel S10-10M
Intel S10-2800
Not sure, need professional advice
What kind of FPGA configuration do you need?
Single FPGA
Dual FPGA
Four FPGAs
Eight FPGAs
Not sure, need professional advice
What kind of peripheral interface do you need?
How many prototype verification platforms do you need?
Do you need the following tools?
Segmentation tool
Multiple FPGA debugging tools
Co-modeling tool (allows large amounts of data to interact between FPGA and PC host)
When do you need to use our products?
0-6 months
6-12 months
More than 12 months
Not sure
Any additional comments?