waveform-debugging

Guide waveform-driven debugging of RTL simulation failures using VCD/FSDB dumps and signal tracing techniques.

1|1|Updated Jan 29, 2026
One-click install
npx skills add https://github.com/KishoreDamam/VLSI-agkit --skill waveform-debugging
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: waveform-debugging
Source: https://github.com/KishoreDamam/VLSI-agkit/tree/main/.agent/skills/waveform-debugging
Command: npx skills add https://github.com/KishoreDamam/VLSI-agkit --skill waveform-debugging

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve?

Waveform debugging helps you quickly identify where and why a hardware design fails by tracing the earliest divergence, the source of X/Z propagation, and the presence of timing or logic errors seen in simulation.

Core Features & Use Cases

  • Waveform dumping control: Set up VCD/FSDB dumping and limit it to the smallest useful scope to keep iteration fast.
  • Signal tracing methods: Use $display-style prints and file logging to trace values at the exact failing times and cycles.
  • Debug strategies for convergence: Apply binary search, reverse tracing from an error, or compare known-good vs known-bad runs to find the divergence point.
  • Bug-pattern recognition: Detect common root causes such as uninitialized/multi-driven X values, combinational glitches, missing transactions, and edge/enable timing issues.

Quick Start

Use the waveform-debugging skill to analyze the failing simulation waveform by selecting the earliest divergence cycle and tracing back the origin of any X/Z propagation using scoped dumping and reverse tracing.

Frequently Asked Questions about waveform-debugging

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I find the earliest divergence point in an RTL simulation waveform?

To debug X propagation in VCD or FSDB waveform dumps, trace signals backwards from the point where the unknown value appears. This identifies the uninitialized or multi-driven source signal causing the corruption in your RTL verification environment.

What is the best way to trace X propagation in VCD or FSDB waveform dumps?

To debug X propagation in VCD or FSDB waveform dumps, trace signals backwards from the point where the unknown value appears. This identifies the uninitialized or multi-driven source signal causing the corruption in your RTL verification environment.

How do I set up scoped waveform dumping to keep simulation iterations fast?

Set up VCD or FSDB waveform dumping by limiting the scope to only the smallest useful subset of signals and time ranges. This keeps file sizes manageable and ensures fast iteration during RTL debugging cycles.

When do I need to use binary search for waveform debugging?

Use binary search for waveform debugging when dealing with large cycle-specific simulation failures. By repeatedly halving the analysis window, you can deterministically narrow down the exact failing cycle and identify timing or logic mistakes efficiently.

Can I use $display prints to debug RTL timing issues alongside waveforms?

Yes, you can use $display-style prints and file logging to trace exact signal values at failing times and cycles. This complements waveform analysis by providing precise text-based output for detecting combinational glitches and edge timing issues.