Skip to content

wavekit documentation

High-level digital waveform analysis in Python.

Waveform files expose timestamps and value changes, while hardware engineers reason about clock cycles, signal relationships, and multi-cycle behavior. wavekit bridges that abstraction gap with flexible signal queries and analysis at both the cycle and transaction levels.

What wavekit provides

Wavekit loads VCD, FST, and FSDB files through the same API, representing signals as clock-sampled Waveform objects for further waveform operations and analysis.

Its main features include:

  1. Flexible signal queries: find and batch-load related signals from hierarchical waveform data using multiple path-matching options.
  2. Cycle-level analysis: use a range of waveform operations on clock-sampled data to analyze cycle-based behavior such as interface backpressure and FIFO occupancy.
  3. Transaction-level analysis: use temporal pattern matching to describe signal relationships across multiple clock cycles for protocol analysis, transaction extraction, and latency measurement.

Start here

The optional wavekit-mcp project exposes wavekit analysis through MCP tools for AI-assisted workflows.