#vcd #verilog #eda

bin+lib vcd-ng

Read and write VCD (Value Change Dump) files, the next generation

3 releases

0.1.2 Dec 22, 2022
0.1.1 Nov 8, 2022
0.1.0 Oct 21, 2022

#1078 in Parser implementations

MIT license

1.5K SLoC

VCD Next Generation

This is a fork of rust-vcd that does some performance-centric changes, including:

  • IdCode changed to natural byte order, which gives consecutive indices with Synopsys VCS generated trace.

  • FastFlow is implemented which uses a fast line reader to scan for bit vector changes.

  • CompactString and BitVec are used to represent strings and bits in the original API.

By experiments, FastFlow is very fast, but lacks some compatibility with ill-indented file and bad-formed whitespaces. BitVec actually slows down the program if there are many 1-bit signals. Please benchmark before you use.

The original version is by Kevin Mehall, with README as follows.


Documentation | Changelog

This crate reads and writes VCD (Value Change Dump) files, a common format used with logic analyzers, HDL simulators, and other EDA tools. It provides streaming wrappers around the io::Read and io::Write traits to read and write VCD commands and data.


~36K SLoC