Metadata-Version: 2.4
Name: pyvcd
Version: 0.5.0
Summary: Value change dump (VCD) file support for Python
Author: Peter Grayson
Author-email: Peter Grayson <pete@jpgrayson.net>
License-Expression: MIT
License-File: LICENSE.txt
Classifier: Development Status :: 4 - Beta
Classifier: Environment :: Console
Classifier: Intended Audience :: Developers
Classifier: Intended Audience :: Education
Classifier: Intended Audience :: Science/Research
Classifier: Natural Language :: English
Classifier: Operating System :: OS Independent
Classifier: Programming Language :: Python
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Programming Language :: Python :: 3.13
Classifier: Programming Language :: Python :: 3.14
Classifier: Programming Language :: Python :: Implementation :: CPython
Classifier: Programming Language :: Python :: Implementation :: PyPy
Classifier: Topic :: Scientific/Engineering
Classifier: Topic :: Scientific/Engineering :: Electronic Design Automation (EDA)
Requires-Dist: typing-extensions ; python_full_version < '3.12'
Requires-Python: >=3.10
Project-URL: Homepage, http://pyvcd.readthedocs.io/en/latest/
Project-URL: Download, https://github.com/SanDisk-Open-Source/pyvcd
Project-URL: Repository, https://github.com/SanDisk-Open-Source/pyvcd
Description-Content-Type: text/x-rst

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 <http://pyvcd.readthedocs.io/en/latest/>`_.

Visit `PyVCD on GitHub <https://github.com/SanDisk-Open-Source/pyvcd>`_.

.. image:: https://readthedocs.org/projects/pyvcd/badge/?version=latest
   :target: http://pyvcd.readthedocs.io/en/latest/?badge=latest
   :alt: Documentation Status

.. image:: https://github.com/SanDisk-Open-Source/pyvcd/workflows/CI/badge.svg
   :target: https://github.com/SanDisk-Open-Source/pyvcd/actions?query=workflow%3ACI

.. image:: https://coveralls.io/repos/github/SanDisk-Open-Source/pyvcd/badge.svg?branch=master
   :target: https://coveralls.io/github/SanDisk-Open-Source/pyvcd?branch=master

Quick Start
-----------

.. code::

   >>> 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 "
