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:
- Flexible signal queries: find and batch-load related signals from hierarchical waveform data using multiple path-matching options.
- 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.
- 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¶
- Install wavekit.
- Follow the first waveform tutorial.
- Choose a reader for your waveform format.
- Learn signal queries, waveform analysis, and pattern matching.
- Browse the API reference or complete examples.
The optional wavekit-mcp project exposes wavekit analysis through MCP tools for AI-assisted workflows.