This is a prototyping environment to play with a novel approach to myHDL using a different, HLS capable signal kernel.
What it is:
What it is not:
It is assumed, that you are familiar with Python and Jupyter Notebooks (see also below).
Documentation examples/HOWTOs - The HOWTO and kernel reference 'manual'. Check this out first.
The notebooks from this repository are prototypes that may not be continously tested.
v2we does not try to be fully compatible. It is more of a draft of a 'next generation' syntax.
For details, see
@block
creationBasic examples:
Direct synthesis and CXXRTL simulation via yosys:
<=
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/myhdl_v2we
(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 myhdl_v2we 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.