Using advanced logging techniques to debug & test SystemVerilog HDL code
By Bindesh Patel and Amanda Hsiao, SpringSoft US.
Embedded.com (05/12/09, 07:08:00 PM EDT)
SystemVerilog provides an advantage in addressing the verification complexity challenge—not simply as a new language for describing complex structures, but as a platform for driving a more efficient, realistic test of the design. It is no surprise then that the adoption of the language for verification purposes has been rapid.
However, there is a gap when it comes to the debug and analysis of SystemVerilog testbench code. The accepted "dumpvars"-based techniques are not practical for the softwarelike object-oriented testbench code, and their benefits in this realm are also questionable.
But, at the end of the day, engineers do need to know what the testbench is doing at any given point in time. Thus far, engineers have been forced to revert to low-level, text-based message logging and subsequent manual analysis of the resulting text log files.
Logging—the process of recording history—has been widely used in systems and software environments. And most SystemVerilog libraries used today provide some built-in utilities for logging information from the testbench to low-level text files that can be analyzed after simulation.
Engineers then manually correlate the testbench data to the design activity along the time axis. This is a painfully low-tech process with inherent disparity in the design and testbench debug flows, in which the visualization "tool" is often "vi" or "emacs".
Embedded.com (05/12/09, 07:08:00 PM EDT)
SystemVerilog provides an advantage in addressing the verification complexity challenge—not simply as a new language for describing complex structures, but as a platform for driving a more efficient, realistic test of the design. It is no surprise then that the adoption of the language for verification purposes has been rapid.
However, there is a gap when it comes to the debug and analysis of SystemVerilog testbench code. The accepted "dumpvars"-based techniques are not practical for the softwarelike object-oriented testbench code, and their benefits in this realm are also questionable.
But, at the end of the day, engineers do need to know what the testbench is doing at any given point in time. Thus far, engineers have been forced to revert to low-level, text-based message logging and subsequent manual analysis of the resulting text log files.
Logging—the process of recording history—has been widely used in systems and software environments. And most SystemVerilog libraries used today provide some built-in utilities for logging information from the testbench to low-level text files that can be analyzed after simulation.
Engineers then manually correlate the testbench data to the design activity along the time axis. This is a painfully low-tech process with inherent disparity in the design and testbench debug flows, in which the visualization "tool" is often "vi" or "emacs".
To read the full article, click here
Related Semiconductor IP
- Zigbee Transceiver PHY
- Data Flow Architecture IP
- AMBA SPI Controller MRAM Controller
- Ethernet MAC
- Protocol Bridges
Related Articles
- Tools for Test and Debug : Dealing with determinism in DSPs with pipelines and caches
- Tools for Test and Debug : Embedded real-time behavior requires "design-in" processes
- Tools for Test and Debug : Specialized net backplanes needed for DSP debug in distributed environments
- Tools for Test and Debug : Adapting traditional embedded debug strategies to SoC designs
Latest Articles
- A Low-Latency ASIC Architecture for Real-Time Line Segment Detection
- BitFair: A 12nm Bit-Serial CNN Accelerator with Learnable Early Termination and Adaptive Bit Ordering for Ultra-Low-Power XR Vision
- A Flexible Sparsity-Aware FPGA Accelerator with Column-Wise Compression for Efficient CNN Inference
- Reducing Instruction-Fetch Energy in RISC-V for Embedded AI Processing via Dynamic and Static Loop Caching
- SPARC: Automated Root-Cause Analysis of Pre-Silicon Power Side-Channel Leakage in the Processor Design Flow