pyvcd icon indicating copy to clipboard operation
pyvcd copied to clipboard

Python package for writing Value Change Dump (VCD) files.

PyVCD

The PyVCD package writes Value Change Dump (VCD) files as specified in IEEE 1364-2005.

Read the documentation <http://pyvcd.readthedocs.io/en/latest/>_.

Visit PyVCD on GitHub <https://github.com/westerndigitalcorporation/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/westerndigitalcorporation/pyvcd/workflows/CI/badge.svg :target: https://github.com/westerndigitalcorporation/pyvcd/actions?query=workflow%3ACI

.. image:: https://coveralls.io/repos/github/westerndigitalcorporation/pyvcd/badge.svg?branch=master :target: https://coveralls.io/github/westerndigitalcorporation/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 "