2003-05-13 00:14:37 +00:00
|
|
|
MyHDL Release 0.2
|
2003-01-30 17:30:38 +00:00
|
|
|
=================
|
|
|
|
|
|
|
|
INTRODUCTION
|
|
|
|
------------
|
|
|
|
|
2003-02-14 11:42:55 +00:00
|
|
|
MyHDL is a Python package for using Python as a hardware description
|
2003-01-30 22:36:49 +00:00
|
|
|
language. Popular hardware description languages, like Verilog and
|
2003-05-16 08:07:43 +00:00
|
|
|
VHDL, are compiled languages. Python with MyHDL can be viewed as a
|
2003-02-14 11:42:55 +00:00
|
|
|
"scripting language" counterpart of such languages. However, Python is
|
2003-05-16 22:20:28 +00:00
|
|
|
more accurately described as a very high level language (VHLL). MyHDL
|
|
|
|
users have access to the amazing power and elegance of Python for
|
|
|
|
their modeling work.
|
2003-01-30 22:36:49 +00:00
|
|
|
|
2003-02-14 11:42:55 +00:00
|
|
|
The key idea behind MyHDL is to use Python generators to model the
|
2003-01-30 22:36:49 +00:00
|
|
|
concurrency required in hardware descriptions. As generators are a
|
2003-02-19 15:36:45 +00:00
|
|
|
recent Python feature, MyHDL requires Python 2.2.2 or higher.
|
2003-02-14 11:42:55 +00:00
|
|
|
|
2003-05-13 08:03:51 +00:00
|
|
|
MyHDL can be used to experiment with high level modeling, and with
|
|
|
|
verification techniques such as unit testing. The most important
|
2003-05-15 09:30:34 +00:00
|
|
|
practical application however, is to use it as a hardware verification
|
|
|
|
language by co-simulation with Verilog and VHDL.
|
2003-05-13 08:03:51 +00:00
|
|
|
|
2003-05-16 22:20:28 +00:00
|
|
|
The present release, MyHDL 0.2, enables MyHDL for co-simulation. The
|
|
|
|
MyHDL side is designed to work with any simulator that has a PLI. For
|
|
|
|
each simulator, an appropriate PLI module in C needs to be
|
|
|
|
provided. The release contains such a module for the Icarus Verilog
|
|
|
|
simulator.
|
2003-02-14 11:42:55 +00:00
|
|
|
|
2003-01-30 22:36:49 +00:00
|
|
|
|
2003-01-30 17:30:38 +00:00
|
|
|
INSTALLATION
|
|
|
|
------------
|
|
|
|
|
2003-02-14 11:42:55 +00:00
|
|
|
If you have superuser power, you can install MyHDL as follows:
|
2003-01-30 22:36:49 +00:00
|
|
|
|
|
|
|
python setup.py install
|
|
|
|
|
|
|
|
This will install the package in the appropriate site-wide Python
|
|
|
|
package location.
|
|
|
|
|
|
|
|
Otherwise, you can install it in a personal directory, e.g. as
|
|
|
|
follows:
|
|
|
|
|
|
|
|
python setup.py install --home=$HOME
|
|
|
|
|
|
|
|
In this case, be sure to add the appropriate install dir to the
|
|
|
|
$PYTHONPATH.
|
|
|
|
|
|
|
|
If necessary, consult the distutils documentation in the standard
|
|
|
|
Python library if necessary for more details; or contact me.
|
|
|
|
|
|
|
|
You can test the installation as follows:
|
2003-03-06 22:16:03 +00:00
|
|
|
|
|
|
|
cd test
|
2003-01-30 22:36:49 +00:00
|
|
|
python test.py
|
|
|
|
|
2003-05-15 09:30:34 +00:00
|
|
|
To install co-simulation support:
|
2003-05-14 09:12:21 +00:00
|
|
|
|
2003-05-15 09:30:34 +00:00
|
|
|
Go to the directory co-simulation/<platform> for your target platform
|
2003-05-14 09:12:21 +00:00
|
|
|
and following the instructions in the README.txt file. Currently, the
|
2003-05-15 09:30:34 +00:00
|
|
|
only supported platform is Icarus.
|
2003-05-14 09:12:21 +00:00
|
|
|
|
2003-05-13 08:03:51 +00:00
|
|
|
|
2003-01-30 17:30:38 +00:00
|
|
|
DOCUMENTATION
|
|
|
|
-------------
|
|
|
|
|
2003-01-30 22:36:49 +00:00
|
|
|
See the doc/ subdirectory.
|
|
|
|
|
2003-05-13 08:03:51 +00:00
|
|
|
|
2003-01-30 17:30:38 +00:00
|
|
|
EXAMPLES
|
|
|
|
--------
|
2003-01-30 22:36:49 +00:00
|
|
|
|
|
|
|
See the example/ subdirectory for examples.
|
|
|
|
|
2003-05-13 08:03:51 +00:00
|
|
|
|
2003-01-30 22:36:49 +00:00
|
|
|
AUTHOR
|
|
|
|
------
|
|
|
|
Jan Decaluwe <jan@jandecaluwe.com>
|