2003-02-01 00:11:52 +00:00
|
|
|
\documentclass{manual}
|
|
|
|
\usepackage{palatino}
|
|
|
|
\renewcommand{\ttdefault}{cmtt}
|
|
|
|
\renewcommand{\sfdefault}{cmss}
|
|
|
|
\newcommand{\myhdl}{{MyHDL}}
|
|
|
|
|
2003-02-01 18:59:19 +00:00
|
|
|
\title{The \myhdl\ manual}
|
2003-02-01 00:11:52 +00:00
|
|
|
|
|
|
|
\input{boilerplate}
|
|
|
|
|
|
|
|
\begin{document}
|
|
|
|
|
|
|
|
\maketitle
|
|
|
|
|
|
|
|
\input{copyright}
|
|
|
|
|
|
|
|
\begin{abstract}
|
|
|
|
|
|
|
|
\noindent
|
2003-02-14 11:42:55 +00:00
|
|
|
|
2003-02-01 00:11:52 +00:00
|
|
|
\myhdl\ is a Python package for using Python as a hardware description
|
2003-02-14 11:42:55 +00:00
|
|
|
language. Popular hardware description languages, like Verilog and
|
2003-02-19 15:36:45 +00:00
|
|
|
VHDL, are compiled languages. \myhdl\ with Python can be viewed as a
|
2003-02-14 11:42:55 +00:00
|
|
|
"scripting language" counterpart of such languages. However, Python is
|
|
|
|
more accurately described as a very high level language
|
|
|
|
(VHLL). \myhdl\ users have access to the amazing power and elegance of
|
2003-02-19 15:36:45 +00:00
|
|
|
Python for their modeling work.
|
2003-02-14 11:42:55 +00:00
|
|
|
|
|
|
|
The key idea behind \myhdl\ is to use Python generators to model the
|
|
|
|
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
|
|
|
|
|
|
|
\myhdl\ 0.1 is the initial public release of the package. It can be
|
2003-02-19 15:36:45 +00:00
|
|
|
used to experiment with high level modeling, and with verification
|
2003-02-20 21:27:00 +00:00
|
|
|
techniques such as unit testing. But the primary goal is to generate
|
2003-02-23 12:07:20 +00:00
|
|
|
interest and to solicit feedback.
|
2003-02-14 11:42:55 +00:00
|
|
|
|
2003-02-20 21:27:00 +00:00
|
|
|
In a future release, \myhdl\ will hopefully be coupled to hardware
|
|
|
|
simulators for languages such as Verilog and VHDL. That would turn
|
|
|
|
Python into a powerful hardware verification language.
|
2003-02-01 00:11:52 +00:00
|
|
|
|
|
|
|
\end{abstract}
|
|
|
|
|
|
|
|
\tableofcontents
|
|
|
|
|
2003-02-01 18:59:19 +00:00
|
|
|
\input{background.tex}
|
2003-02-01 00:11:52 +00:00
|
|
|
\input{informal.tex}
|
2003-02-06 22:36:53 +00:00
|
|
|
\input{modeling.tex}
|
|
|
|
\input{unittest.tex}
|
2003-02-01 18:59:19 +00:00
|
|
|
\input{reference.tex}
|
2003-02-01 00:11:52 +00:00
|
|
|
|
|
|
|
\end{document}
|