1 KiB
1 KiB
The Beginnings of a high-performance, low memory footprint VCD Viewer in Rust for massive multi-GB waveforms
Features
- very fast
- loads 200MB of VCD waveform per second on an 8 core 2017 desktop CPU with NVMe storage
- consumes roughly between 10 - 50MB of memory per GB of waveform
- elegant/pretty UI
- can be easily ported to work in browser via webassembly
- allows high-performance custom Rust plugins to manipulate and generate new waveforms live
Running
Make sure you have a test vcd file to get you started. You can grab a large VCD file from here.
The first build of the program may take some time.
cargo run --release test-vcd-files/aldec/SPI_Write.vcd
TODO
- We need a way to merge lines.
- We need to start regression testing the parser over all files
- Take a look at GTKWave parser to compare effificiency.
- Send survey to community channel.
May 18
- move while loop into word yielding iterator