An open API service indexing awesome lists of open source software.

https://github.com/nic30/pydigitalwavetools

Python library for operations with VCD and other digital wave files
https://github.com/nic30/pydigitalwavetools

digital-wave-files python vcd vcd-parser

Last synced: 11 months ago
JSON representation

Python library for operations with VCD and other digital wave files

Awesome Lists containing this project

README

          

# pyDigitalWaveTools
[![CircleCI](https://circleci.com/gh/Nic30/pyDigitalWaveTools.svg?style=svg)](https://circleci.com/gh/Nic30/pyDigitalWaveTools)
[![Coverage Status](https://coveralls.io/repos/github/Nic30/pyDigitalWaveTools/badge.svg?branch=master)](https://coveralls.io/github/Nic30/pyDigitalWaveTools?branch=master)
[![PyPI version](https://badge.fury.io/py/pyDigitalWaveTools.svg)](http://badge.fury.io/py/pyDigitalWaveTools)
[![Documentation Status](https://readthedocs.org/projects/pydigitalwavetools/badge/?version=latest)](http://pydigitalwavetools.readthedocs.io/en/latest/?badge=latest)
[![Python version](https://img.shields.io/pypi/pyversions/pyDigitalWaveTools.svg)](https://img.shields.io/pypi/pyversions/pyDigitalWaveTools.svg)

python library for operations with VCD and other digital wave files

## Feature list
* parse VCD (std 2009) files to intermediate format
* write VCD files, user specified formatters for user types, predefined formatters for vectors, bits and enum values
* dump intermediate format as simple json

## Hello pyDigitalWaveTools

Here is a simple example how to use the VCD parser:

```python
#!/usr/bin/env python3
import json
import sys
from pyDigitalWaveTools.vcd.parser import VcdParser

if len(sys.argv) > 1:
fname = sys.argv[1]
else:
print('Give me a vcd file to parse')
sys.exit(-1)

with open(fname) as vcd_file:
vcd = VcdParser()
vcd.parse(vcd_file)
data = vcd.scope.toJson()
print(json.dumps(data, indent=4, sort_keys=True))
```

## Output json format
```
scope
{ "name": ""
"children" : {"" : child}
}

child can be scope or signal record

signal record
{ "name": ""
"type": {"sigType": "",
"width": },
"data": [],
}

data record format
[

## Related open source

* [verilog-vcd-parser](https://github.com/ben-marshall/verilog-vcd-parser) - Python, A parser for Value Change Dump (VCD) files as specified in the IEEE System Verilog 1800-2012 standard.
* [pyvcd](https://github.com/SanDisk-Open-Source/pyvcd) - Python, vcd writer, GTKWave config writer
* [vcdvcd](https://github.com/cirosantilli/vcdvcd) - Python, vcd parser, dump pretty printer