DEDUPED Hot AI repos, turned into use cases Get the Monday 5

How to find the first divergence between pass and fail waveforms with Wave MCP

Compare a passing and a failing run, then trace the first differing signal back to its drivers.

Short answer: pip install wave-mcp; then wave-session --fst sim/dump.fst --top top_tb --filelist rtl.f (run once for the passing waveform and once for the failing one, with different --fst paths and output directories); call the diff_waveforms tool with the pass and fail waveforms. All steps.

  • Top pick
  • Software and DevOps
  • Advanced
  • 1 hour
  • From the README
  • Claude Code
  • Codex
  • Cursor
  • Gemini CLI

Who it is forA verification engineer whose regression case passes with one seed and fails with another and needs the failure point fast.

The problemScrolling two waveforms side by side to find where they split is slow, and it is easy to miss the signal that actually diverged first.

The outcomeThe first divergence time, the ranked list of diverging signals, their fan-in sources, and a dual-waveform viewer opened at the divergence moment.

What you need first

  • Linux x86_64, where the Python dependencies ship as prebuilt wheels (other platforms need pylibfst built from source)
  • Python 3.10 to 3.13
  • A simulation waveform (.fst or .vcd) and the same filelist used to run the simulation
  • An MCP-capable agent such as Claude Code, Codex, Cursor or Gemini CLI, or a terminal for the CLI

Steps

  1. pip install wave-mcp
  2. wave-session --fst sim/dump.fst --top top_tb --filelist rtl.f (run once for the passing waveform and once for the failing one, with different --fst paths and output directories)
  3. Call the diff_waveforms tool with the pass and fail waveforms
  4. Call the signal_fanin tool on the first diverging signal it reports
  5. wave-view pass.fst fail.fst --labels pass fail

Prompt for your agent

Using the wave-mcp MCP server, call diff_waveforms on <pass_wave> and <fail_wave>, then call signal_fanin on the first diverging signal it reports. Return the first divergence time, the top diverging signals and their fan-in sources. Verify that the reported time matches a value change of that signal in <fail_wave>.

Caveat. Driver and fan-in results depend on the pyslang netlist built from your filelist, and the browser viewer needs the separately built Surfer and surver assets described in SELF_BUILD.md.

Use this in your AI agent

Ask your agent

Using the Deduped MCP, get the setup steps for Tencent/wave-mcp and "Find the first divergence between pass and fail waveforms"

Add Deduped to Claude Code once

claude mcp add --transport http deduped https://dedupedai.com/mcp

Cursor, ChatGPT, others

Share: X LinkedIn Hacker News Email Copy link

Third-party repos we don't own. AI-written use cases can be wrong. Disclaimer