Skip to main content

A vcd wave file read library

Project description

pyvcdr

this is a python library for vcd wave file read.

install:

pip install pyvcdr

or just copy pyvcdr.py file to your project.

readfile:

    import pyvcdr
    a = pyvcdr.VcdR()
    a.read_file('./test1.vcd')

read from str:

    import pyvcdr
    a = pyvcdr.VcdR()
    a.parse_str('$var wire 1 ! D0 $end\n#0 0!\n')

use the data:

after read. their are two ways to access the data. first is access data by signal:

    print(a.signals[0])#Signal(wire, 1, !, D0)
    print(a.signals[1])#Signal(wire, 1, ", D1)
    print(a.signals[2])#Signal(wire, 1, #, D2)
    print(a.signals[1].module)#D1
    for i in a.signals[1].steps:
        print(i)
        #(0, '1') time, val
        #(1250, '0')
        #(6250, '1')
        #。。。

second is access data by time:

    for i in a.time_values:
        print('time:', i[0], '. sig:', i[1], '. val:', i[2])
        #(0, 'D0', '0')
        #(0, 'D1', '1')
        #(0, 'D2', '1')
        #(1250, 'D1', '0')
        #(6250, 'D1', '1')
        #(10000, 'D1', '0')
        #(15000, 'D1', '1')
        #...

why I write this code:

I need a python vcd file read program.

I used this library first: https://github.com/westerndigitalcorporation/pyvcd but it could not read file. just write is supported.

then this one: https://github.com/em-/python-vcd/tree/master/vcd it works, but is very very slow.

info and thanks:

  • the class Signal is from pyvcd library.
  • import error fix and pep8 sytle fix by @EtlamGit

any issues:

I just write it for my file read. so it may not fit some IEEE 1364-2005 protocol. if it do not work for you, add an issue on github: https://github.com/Jiangshan00001/pyvcdr

post the file that could not work. or you can also change the code yourself.

CHANGE:

  • V0.7 2021.5.9 BUG FIX: import error fix and pep8 sytle fix. thanks to @EtlamGit.
  • V0.6 2021.5.8. add suport for bBrR data support.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

pyvcdr-0.0.8.tar.gz (4.5 kB view details)

Uploaded Source

Built Distribution

pyvcdr-0.0.8-py3-none-any.whl (4.9 kB view details)

Uploaded Python 3

File details

Details for the file pyvcdr-0.0.8.tar.gz.

File metadata

  • Download URL: pyvcdr-0.0.8.tar.gz
  • Upload date:
  • Size: 4.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.1 importlib_metadata/3.10.0 pkginfo/1.7.0 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.60.0 CPython/3.7.0

File hashes

Hashes for pyvcdr-0.0.8.tar.gz
Algorithm Hash digest
SHA256 e8dade15f4cc59f8bd2bdcdbbb760046c0ff50105ef4b4734d54becfe3a0fe53
MD5 7214cf0aa8aa40843c3de213cd1cff0b
BLAKE2b-256 5997a1772a2e36c56ebd58f3046735b55d2a6a263c8631ff77e6f30a058f5c9b

See more details on using hashes here.

File details

Details for the file pyvcdr-0.0.8-py3-none-any.whl.

File metadata

  • Download URL: pyvcdr-0.0.8-py3-none-any.whl
  • Upload date:
  • Size: 4.9 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.1 importlib_metadata/3.10.0 pkginfo/1.7.0 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.60.0 CPython/3.7.0

File hashes

Hashes for pyvcdr-0.0.8-py3-none-any.whl
Algorithm Hash digest
SHA256 a0c9a3e79f3b7db60584def1baf25f979a2d0fc3e705bed779be98f52fca1f04
MD5 9af236002e769e2fb4e3a9b9fb01fb80
BLAKE2b-256 5cc35b891a5aba1060e9e8f3f628ee3341db581adce5af1954af3f229a000319

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page