Expand description
VCD (value change dump) files from HDL simulators and logic analyzers, read into a long table: one row per value change of each signal.
A VCD file is whitespace-separated tokens: a header of $keyword ... $end sections
($timescale, $scope, $var), then #time markers and value changes. The reader
takes the file a piece at a time and keeps only the token being read, the header
and one batch of rows. Every length is bounded: a token, a header text, the scope
depth and the number of signals.
Structs§
- Header
- The file’s header.
- Stats
- What reading noticed.
- Var
- One declared signal.
- VcdReader
- Reads a VCD file a piece at a time.
Enums§
- Scale
- What the file’s
$timescalemakes of a#time.
Constants§
- BATCH_
ROWS - Rows held before a batch is handed over.
- BATCH_
TEXT - Text held before a batch is handed over, whatever its rows.
- MAX_
DEPTH - The deepest scope nesting.
- MAX_
EXTEND - The widest vector a short value is extended to: VCD leaves leading zeros out.
- MAX_
PATHS - The most bytes of signal paths held, all signals together.
- MAX_
TEXT - The most text kept of one header section (
$date,$version,$comment). - MAX_
TOKEN - The longest token read; a longer one is passed over.
Functions§
- detail
- The VCD tab of the Info panel: the header and the signals.
- looks_
like - Whether the first bytes are a VCD header: a
$section that VCD writers start with, closed by$end. - parse_
timescale 1 ns,10ps,100 fs: the timescale’s text as aScale.