Skip to main content

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.

Documentation Status https://github.com/SanDisk-Open-Source/pyvcd/workflows/CI/badge.svg https://coveralls.io/repos/github/SanDisk-Open-Source/pyvcd/badge.svg?branch=master

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)

Source distribution for pyvcd 0.5.1
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)

Table of built distributions (wheels) for pyvcd 0.5.1
File Interpreter ABI Platform Actions
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.

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page