| Crates.io | vcddiff |
| lib.rs | vcddiff |
| version | 0.1.0 |
| created_at | 2025-04-23 22:12:23.879246+00 |
| updated_at | 2025-04-23 22:12:23.879246+00 |
| description | A Rust library that can compare two VCD files and point to sources of divergence |
| homepage | |
| repository | https://github.com/joonho3020/vcddiff.git |
| max_upload_size | |
| id | 1646396 |
| size | 52,668 |
VCDDiff is a high-performance tool for comparing VCD (Value Change Dump) waveforms, designed specifically for RTL development and verification workflows. It helps identify differences between a reference implementation and a test implementation by comparing signal values across clock cycles.
VCDDiff is particularly useful when:
Developing RTL Compilers:
RTL Simulation:
Hardware Verification:
# Install dependencies
cargo install flamegraph # Required for performance profiling
# Build the project
cargo build --release
# Run the tool
cargo run --release -- \
--vcd1 path/to/reference.vcd \
--vcd2 path/to/test.vcd \
--clock "top.clk" \
--reset "top.reset"
# Print hierarchy
cargo run --release -- \
--vcd1 path/to/reference.vcd \
--vcd2 path/to/test.vcd \
--clock "top.clk" \
--reset "top.reset" \
--print-hier
Found differences in 3 signals:
Signal 'top.module1.signal_a' first diverged at cycle 42: 0x1 vs 0x0
Signal 'top.module1.signal_b' first diverged at cycle 57: 0x3F vs 0x2F
Signal 'top.module2.flag' first diverged at cycle 103: 1 vs 0
just flamegraph