Waveform MCP Server
MCP (Model Context Protocol) server for RTL waveform analysis using WAL (Waveform Analysis Language).
Tools
get_signal_list
Get hierarchical list of signals from waveform file with optional regex filtering.
waveform_file(required): Path to waveform filepattern(optional): Regex pattern to filter signals
Example:
get_signal_transitions
Extract signal transitions within specified time ranges.
waveform_file(required): Path to waveform filesignal_name(required): Full signal namestart_time(optional): Start time, default 0end_time(optional): End time, default end of simulation
Example:
get_waveform_length
Get the total simulation length/duration.
waveform_file(required): Path to waveform file
Example:
execute_wal_expression
Execute WAL expressions for advanced waveform analysis.
waveform_file(required): Path to waveform fileexpression(required): WAL expression to execute
Example:
get_wal_help
Get comprehensive WAL documentation and syntax reference.
topic(optional): Help topic ('overview', 'functions', 'examples', 'debugging', 'syntax')
Example:
get_wal_examples
Generate signal-specific WAL examples for your waveform.
waveform_file(required): Path to waveform file
Example:
Related MCP server: Project Explorer MCP Server
Supported Formats
VCD (Value Change Dump)
FST (Fast Signal Trace)
Other formats supported by WAL
Credits
Built on WAL (Waveform Analysis Language), a domain-specific language for hardware waveform analysis. See the WAL website for more information.
Installation
Development
To set up a development environment, install the dev dependencies:
Testing
To run the test suite:
Usage
Add to your MCP client configuration:
For WAL expression syntax and advanced examples, see the WAL documentation.
Requirements
Python 3.10+
cmake(for FST support)WAL (Waveform Analysis Language) >= 0.8.0
MCP Python SDK >= 1.0.0
License
BSD 3-Clause License. See LICENSE for details.