4 releases
0.2.0 | Sep 5, 2024 |
---|---|
0.1.2 | Dec 22, 2022 |
0.1.1 | Nov 8, 2022 |
0.1.0 | Oct 21, 2022 |
#2306 in Parser implementations
70KB
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
andBitVec
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.
VCD
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.
Dependencies
~2MB
~38K SLoC