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
- Host: GitHub
- URL: https://github.com/gasparka/pyha
- Owner: gasparka
- License: other
- Created: 2016-10-15T15:45:31.000Z (over 9 years ago)
- Default Branch: develop
- Last Pushed: 2024-12-08T17:34:35.000Z (over 1 year ago)
- Last Synced: 2025-09-19T02:29:44.503Z (9 months ago)
- Topics: dsp, fixed-point, python, simulation, verification, vhdl
- Language: Jupyter Notebook
- Homepage:
- Size: 86.7 MB
- Stars: 9
- Watchers: 3
- Forks: 1
- Open Issues: 78
-
Metadata Files:
- Readme: README.rst
- License: LICENSE
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!