PyVCD
The PyVCD package writes and reads Value Change Dump (VCD) files as specified in clause 21.7 of IEEE 1800-2023, which supersedes IEEE 1364-2005 without changing the VCD format.
Read the documentation.
Visit PyVCD on GitHub.
Quick Start
>>> import sys
>>> from vcd import VCDWriter
>>> with VCDWriter(sys.stdout, timescale='1 ns', date='today') as writer:
... counter_var = writer.register_var('a.b.c', 'counter', 'integer', size=8)
... real_var = writer.register_var('a.b.c', 'x', 'real', init=1.23)
... for timestamp, value in enumerate(range(10, 20, 2)):
... writer.change(counter_var, timestamp, value)
... writer.change(real_var, 5, 3.21)
$date today $end
$timescale 1 ns $end
$scope module a $end
$scope module b $end
$scope module c $end
$var integer 8 ! counter $end
$var real 64 " x $end
$upscope $end
$upscope $end
$upscope $end
$enddefinitions $end
#0
$dumpvars
b1010 !
r1.23 "
$end
#1
b1100 !
#2
b1110 !
#3
b10000 !
#4
b10010 !
#5
r3.21 "
PyVCD and the waveform ecosystem
PyVCD is a pure-Python library for producing VCD files and their GTKWave companions, and for tokenizing VCD files exactly as written:
vcd.writer streams standard VCD from Python programs.
vcd.reader yields every declaration and value change as a typed token with exact file locations, suiting linters, filters, and translators. It tolerates the nonstandard output of real-world simulators.
vcd.gtkw generates GTKWave save files: trace layout, groups, combined vectors, colors, and filters.
PyVCD is deliberately not a bulk waveform reader. To load signal values from large VCD, FST, or GHW files, use pywellen, the Python bindings of the Rust wellen library that powers the Surfer viewer. To produce FST, write VCD with PyVCD and convert with GTKWave’s vcd2fst, or have your simulator emit FST directly.
Metadata
Release files for pyvcd 0.5.1
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | Actions |
|---|---|---|---|---|
| pyvcd-0.5.1.tar.gz | 45.5 kB | Without provenance | Details for pyvcd-0.5.1.tar.gz |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Actions Reset |
|---|---|---|---|---|
| pyvcd-0.5.1-py3-none-any.whl | Python 3 | none | any | Details for pyvcd-0.5.1-py3-none-any.whl |
Total release size: 73.1 kB
Release files / pyvcd-0.5.1.tar.gz
| Download URL | pyvcd-0.5.1.tar.gz |
|---|---|
| Size | 45.5 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
cd298f5d9038a8cb98bd4addbd7b4593563e320104957e705de949b9938ed7f7
|
|
BLAKE2b-256 checksum How to use checksums |
3093a87a9bf5f97916a5bc44202362f73ca917c450efde8445b067655d6af641
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
uv/0.13.1 {"installer":{"name":"uv","version":"0.13.1","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}
|
Release files / pyvcd-0.5.1-py3-none-any.whl
| Download URL | pyvcd-0.5.1-py3-none-any.whl |
|---|---|
| Size | 27.6 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
a27461a3f64e89f59b3fbd2c1f554b91d21c6f50d864ca134ad8f43513c6ff03
|
|
BLAKE2b-256 checksum How to use checksums |
d95bd0ceaf5f6c717937ba94aa3b31b639ea06932d7915dfadd62f248e37e047
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
uv/0.13.1 {"installer":{"name":"uv","version":"0.13.1","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}
|
Security for pyvcd 0.5.1
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.