Prototyping/examples for 'next generation' HDL.
It is assumed, that you are familiar with Python and Jupyter Notebooks (see also below).
This is legacy of a 'next generation' syntax study. It is left as a note collection to help migrating code from MyHDL to the Cyrite layer. See 'Changes' below.
For details, see
Syntax issues:
Pitfalls: Classical 'programming' mistakes and legacy issues
A few examples on how to write extensions in IRL notation to be used from cyHDL code.
<=
for signal assignmentsThe mybinder environment allows you to run your HDL simulation demos via the browser in a virtual machine, spinning somewhere in the cloud. This virtual machine is supplied as a Docker container hackfin/cyrite
(check for matching tag in the Dockerfile of this repo). If you don't feel safe with clouds in general, you can also run it locally as specified in the cyrite README.
To create your own notebooks, you may simply use your own repo and pull them using git, such as this fork from @pcornier's project (unverified to synthesize):
!git clone https://github.com/hackfin/1pCPU.git -b v2we
fatal: destination path '1pCPU' already exists and is not an empty directory.
Or, you might just create a fork of this project via github and change the code of the launch button in README.md
(replace hackfin
by your user ID).
[![Binder](https://mybinder.org/badge_logo.svg)](https://mybinder.org/v2/gh/hackfin/myhdl.v2we.git/HEAD?filepath=examples%2Findex.ipynb)
Note: One important thing to know: Google binders can time out and your work is then lost. For persistent storage of your notebook, you can:
The safest method is to run the container locally and mount your project's directory as /work
volume.