myhdl.v2we workspace

Prototyping/examples for 'next generation' HDL.

It is assumed, that you are familiar with Python and Jupyter Notebooks (see also below).

myHDL emulation

Draft of a 'next generation' syntax, not trying to be fully compatible.

For details, see

Basic examples:

Direct synthesis and CXXRTL simulation via yosys:

IRL extension examples

Kernel reference and examples

Documentation examples/HOWTOs - The HOWTO and kernel reference 'manual' for developers

Mybinder

The 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):

In [1]:
!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:

  • Use an authentication token to push your changes to a git repo
  • Download the notebook and store locally

The safest method is to run the container locally and mount your project's directory as /work volume.