... | @@ -25,7 +25,7 @@ provide means for performing simulation and synthesis for VHDL projects. |
... | @@ -25,7 +25,7 @@ provide means for performing simulation and synthesis for VHDL projects. |
|
|
|
|
|
The script is written in Python and is checked under Python 2.7. There
|
|
The script is written in Python and is checked under Python 2.7. There
|
|
have been some issues with compatibility in Python 3.1 but they have
|
|
have been some issues with compatibility in Python 3.1 but they have
|
|
been resolved. Nevertheless, there can occur some unexptected problems
|
|
been resolved. Nevertheless, there can occur some unexpected problems
|
|
following that the Python maintainer don't hesitate to remove functions
|
|
following that the Python maintainer don't hesitate to remove functions
|
|
or change calling syntax. I did my best to ensure compatibility but
|
|
or change calling syntax. I did my best to ensure compatibility but
|
|
there is no guarantee for proper working in the newest versions of
|
|
there is no guarantee for proper working in the newest versions of
|
... | @@ -46,7 +46,7 @@ ssh client and rsync. |
... | @@ -46,7 +46,7 @@ ssh client and rsync. |
|
|
|
|
|
The basis for Hdlmake are configuration files called \`\`manifests''.
|
|
The basis for Hdlmake are configuration files called \`\`manifests''.
|
|
Those files have form of Python scripts and therefore must obey its
|
|
Those files have form of Python scripts and therefore must obey its
|
|
syntax. They should also have Python exstension (.py). As Hdlmake
|
|
syntax. They should also have Python extension (.py). As Hdlmake
|
|
supports synthesis and simulation, they are used for both testbenches
|
|
supports synthesis and simulation, they are used for both testbenches
|
|
and top modules. The major goal of the manifests is to describe the
|
|
and top modules. The major goal of the manifests is to describe the
|
|
structure of the project:
|
|
structure of the project:
|
... | @@ -67,7 +67,7 @@ of available variables you can find in a section below. For a quick help |
... | @@ -67,7 +67,7 @@ of available variables you can find in a section below. For a quick help |
|
you can also use built-in user help.
|
|
you can also use built-in user help.
|
|
Hdlmake makes use also of run arguments. In general, their purpose is to
|
|
Hdlmake makes use also of run arguments. In general, their purpose is to
|
|
indicate the action that should be taken by the script. Some of them are
|
|
indicate the action that should be taken by the script. Some of them are
|
|
also used for specifing additional parameteter that are not enclosed in
|
|
also used for specifying additional parameter that are not enclosed in
|
|
manifests. All supported actions are listed in an appropriate section
|
|
manifests. All supported actions are listed in an appropriate section
|
|
below
|
|
below
|
|
|
|
|
... | @@ -78,8 +78,8 @@ Hdlmake consists of two major ingredients which are described below. |
... | @@ -78,8 +78,8 @@ Hdlmake consists of two major ingredients which are described below. |
|
### File-based project description
|
|
### File-based project description
|
|
|
|
|
|
Hdlmake defines a way to describe projects that consist of smaller
|
|
Hdlmake defines a way to describe projects that consist of smaller
|
|
modules. Usually developers kept these modules together, altough each of
|
|
modules. Usually developers kept these modules together, although each
|
|
them \`\`deserved'' an own repository. When some of these modules are
|
|
of them \`\`deserved'' an own repository. When some of these modules are
|
|
reused accross several projects, then there can appear a mess. Hdlmake
|
|
reused accross several projects, then there can appear a mess. Hdlmake
|
|
offers easy and convenient way to specify where to find necessary
|
|
offers easy and convenient way to specify where to find necessary
|
|
modules. There is no need to store them permanently on the local hard
|
|
modules. There is no need to store them permanently on the local hard
|
... | @@ -125,8 +125,8 @@ modules that are stored locally, in a git or in a SVN repository. |
... | @@ -125,8 +125,8 @@ modules that are stored locally, in a git or in a SVN repository. |
|
When the list of used modules is ready, Hdlmake checks if any of those
|
|
When the list of used modules is ready, Hdlmake checks if any of those
|
|
modules has in its manifest a list of files, that should be used in the
|
|
modules has in its manifest a list of files, that should be used in the
|
|
testbench. If not, all of the module's files are added to the list of
|
|
testbench. If not, all of the module's files are added to the list of
|
|
files. In the next step, hdlmake scans all of the listed files and tries
|
|
files. In the next step, Hdlmake scans all of the listed files and tries
|
|
to figure out dependencies between them by analizing each file's
|
|
to figure out dependencies between them by analyzing each file's
|
|
content. They are next written down as a makefile in the testbench's
|
|
content. They are next written down as a makefile in the testbench's
|
|
directory.
|
|
directory.
|
|
|
|
|
... | | ... | |