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