xwave

Query FSDB waveform facts through a structured JSON API for AI agents.

62|13|Updated May 8, 2026
One-click install
npx skills add https://github.com/BLANK2077/xwave --skill xwave-blank2077
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: xwave
Source: https://github.com/BLANK2077/xwave/tree/main/skill
Command: npx skills add https://github.com/BLANK2077/xwave --skill xwave-blank2077

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill includes references (resource) components.

What problem does it solve? Debugging hardware waveforms normally requires launching the Verdi GUI and manually inspecting signals, which AI agents and scripts cannot do. This Skill provides structured JSON access to FSDB waveform facts—signal values, transactions, events, and anomalies—without opening a GUI. ## Core Features & Use Cases - Waveform Fact Queries: Read signal values at specific times, batch-read multiple signals, discover scope hierarchies, and manage named signal lists with diff and validation support. - Protocol and Event Analysis: Query APB/AXI transactions, latency and outstanding statistics, channel stalls, generic valid/ready events, and expression-based event search with protocol context. - Verification and Debug Actions: Verify conditions over clocked windows, inspect handshakes, detect glitches and stuck signals, analyze signal trends, and bookmark key times with named cursors. - Use Case: An AI agent investigating a valid/ready stall opens a session, runs handshake.inspect to find the stall window, sets a cursor at the stall start, then uses value.batch_at and window.verify to gather evidence of the blocking condition. ## Quick Start Ask the agent to open your FSDB file with xwave and query the value of a specific signal at a given time, for example top.clk at 10ns.

Frequently Asked Questions about xwave

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

FAQPage Schema
How do I query FSDB waveform values from the command line?

Use the xwave ai query entry point with a JSON request specifying an action like value.at, a target FSDB or session_id, and the signal path and time. The response returns structured JSON with the value and a known flag, avoiding any GUI launch.

How do I analyze AXI or APB transactions in a waveform?

Load a protocol config with axi.config.load or apb.config.load, then run actions like axi.query, axi.analysis, axi.channel_stall, or apb.transfer_window. Results include transactions, latency statistics, and stall findings as JSON.

Does xwave require the Verdi GUI to read FSDB files?

No, xwave uses the Synopsys NPI library directly through a background daemon, so no GUI is needed. It does require VERDI_HOME and library paths set, which the tools/xwave-env wrapper handles automatically.

Why does my query return SIGNAL_NOT_FOUND?

The signal path must exactly match the FSDB hierarchy, including generate scopes and array naming. Run scope.list on the parent scope to discover the real dumped signal paths, then retry with a candidate path.

What are the limitations of xwave AI query output?

Compact output omits session, tool, and empty warning fields, and value objects only contain value and known. Broad scans need explicit limits on max_rows, max_events, or max_samples, and unknown x/z values must be treated as inconclusive rather than failures.