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

https://github.com/gasparka/pyha

Describe, simulate and debug hardware in Python
https://github.com/gasparka/pyha

dsp fixed-point python simulation verification vhdl

Last synced: 5 months ago
JSON representation

Describe, simulate and debug hardware in Python

Awesome Lists containing this project

README

          

====
pyha
====

.. image:: https://img.shields.io/pypi/v/pyha.svg
:target: https://pypi.python.org/pypi/pyha

.. image:: https://img.shields.io/travis/gasparka/pyha.svg
:target: https://travis-ci.org/gasparka/pyha

.. image:: https://pyup.io/repos/github/gasparka/pyha/shield.svg
:target: https://pyup.io/repos/github/gasparka/pyha/
:alt: Updates

.. image:: https://coveralls.io/repos/github/gasparka/pyha/badge.svg?branch=develop
:target: https://coveralls.io/github/gasparka/pyha?branch=develop

* Free software: Apache Software License 2.0

Install
-------

From pip:

``pip install --user pyha``

RTL/NETLIST level simulations require `Docker `_ :

``curl -fsSL https://get.docker.com | sh``

Follow the instructions to add yourself to the 'docker' group.

Features
--------

* Describe hardware in Python and convert to VHDL
* Cycle-accurate and fast simulator
* Debuggable in Python – very useful as Python and VHDL sources are highly correlated
* Simple testing framework by pairing pytest and cocotb
* Builtin fixed-point and complex types

Quick start
-----------

Take a look at the cores implemented in Pyha, each of them have a Notebook to ease the experimentation.
For example, start with the moving-average core:

`Python source `_

`Notebook `_

`VHDL conversion `_

And then see how the 'dc-removal' is built by reusing the 'moving-average' component:

`Python source `_

`Notebook `_

`VHDL conversion `_

Documentation
-------------

Under construction!