MyHDL – Python based hardware description language

The goal of the MyHDL project is to empower hardware designers with the elegance and simplicity of the Python language.

MyHDL is a free, open-source package for using Python as a hardware description and verification language. Python is a very high level language, and hardware designers can use its full power to model and simulate their designs. Moreover, MyHDL can convert a design to Verilog or VHDL. This provides a path into a traditional design flow.

Python's power and clarity make MyHDL an ideal solution for high level modeling. Python is famous for enabling elegant solutions to complex modeling problems. Moreover, Python is outstanding for rapid application development and experimentation.

The key idea behind MyHDL is the use of Python generators to model hardware concurrency. Generators are best described as resumable functions. MyHDL generators are similar to always blocks in Verilog and processes in VHDL.

A hardware module is modeled as a function that returns generators. This approach makes it straightforward to support features such as arbitrary hierarchy, named port association, arrays of instances, and conditional instantiation. Furthermore, MyHDL provides classes that implement traditional hardware description concepts. It provides a signal class to support communication between generators, a class to support bit oriented operations, and a class for enumeration types.

Install MyHDL in ubuntu 9.10 (Karmic)

Open the terminal and run the following commands

sudo add-apt-repository ppa:balau82/ppa
sudo apt-get update
sudo apt-get install myhdl

This will install all the required packages for myhdl including gpg key.

To get started, many examples are provided in “/usr/share/doc/myhdl/examples“, and more information can be found on the MyHDL cookbook.

For some basic myhdl tutorial and examples check here

Credit goes here

Sponsored Link

You may also like...

2 Responses

  1. Balau says:

    There’s a typo in the first command, it is actually:

    sudo add-apt-repository ppa:balau82/ppa


  2. admin says:

    Thank you i have updated the article

Leave a Reply

Your email address will not be published. Required fields are marked *