Refactor and purge the documents

parent 7fb73546
......@@ -42,7 +42,7 @@ We have a mailing list located at:
If you are seeking for consultancy and training services on advanced ``hdlmake`` use cases, you can get **commercial support from GL Research**, the company on charge of maintaining and developing the tool.
- **Company web site**: https://gl-research.com
- **Project manager**: Javier Garcia <jgarcia@gl-research.com>
- **Project manager**: Javier Garcia Lasheras <jgarcia@gl-research.com>
.. figure:: images/gl_research.*
:scale: 100
......@@ -1196,10 +1196,28 @@ If you want to use a different Intel Quartus version, you will need to fix the I
hdlmake supported actions/commands
==================================
Makefile generation (``makefile``)
----------------------------------
This is the default command for ``hdlmake`` and its basic behaviour will be defined by the value of the ``action`` manifest parameter in the hierachy ``Manifest.py``. ``action`` can be set to ``simulation`` or ``synthesis``, and the associated command sequence will be:
Print manifest file variables description (``manifest-help``)
-------------------------------------------------------------
Print manifest file variables description
- **simulation**: generate a simulation makefile including all the files required for the defined testbench
- **synthesis**: generate a synthesis makefile including all the files required for bitstream generation
By using the ``-f FILENAME``, ``--filename FILENAME`` optional argument for the ``makefile`` command, we can choose the name of the synthesis or simulation Makefile that will be generated by ``hdlmake``.
In order to allow for a more agile development, we have included these shortcuts when using the ``hdlmake makefile`` command:
.. code-block:: bash
# These commands are equivalent
hdlmake makefile
hdlmake
# These commands are equivalent
hdlmake makefile -f FILENAME
hdlmake -f FILENAME
.. note:: in any case, it's supposed that all the required modules have been previously fetched. Otherwise, the process will fail.
Fetching submodules for a top module (``fetch``)
......@@ -1282,58 +1300,15 @@ The DELIMITER is defaulted to a white space, but it can be defined by using the
.. note:: the file list will be built considering that the Manifest.py stored in the folder from which we are launching the command is the root one.
Merge the different cores of a project (``merge-cores``)
--------------------------------------------------------
Merges the entire synthesizable content of an project into a pair of VHDL/Verilog files
Create/update an FPGA project (``project``)
-------------------------------------------
When a top manifest has been written for synthesis, ``hdlmake`` reads the targeted tool and creates
a new specific project by adding both the whole file set from the module tree and the appropriated project properties.
In order to build the file list, ``hdlmake`` will parse the HDL files to find the required dependencies that a **top entity** needs to be successfuly compiled. We can configure the name of the HDL module that will be considered as the top entity to build the required file hierarchy by using the ``--top TOP`` optional argument to the ``list-files`` command. If no top entity is defined, all of the design files will be listed.
The project will be specific for the targeted synthesis tool and, if this already exists, the ``hdlmake`` will update its contents with the ones derived from the module/files hierachy in the Manifest tree.
Finally, by using the ``--reverse`` optional argument we are able to reverse the order of the listed files.
Currently, the following FPGA IDEs are supported:
+----------------------------+----------------+
| Vendor | FPGA IDE |
+============================+================+
| Xilinx | ISE |
+----------------------------+----------------+
| Xilinx | PlanAhead |
+----------------------------+----------------+
| Altera | Quartus II |
+----------------------------+----------------+
| Lattice Semi. | Diamond IDE |
+----------------------------+----------------+
| Microsemi (formerly Actel) | Libero IDE/SoC |
+----------------------------+----------------+
.. note:: both ``ise-project`` and ``quartus-project`` commands has been mantained in the code for backwards compatiblity. In any case, when any of these are found, the general ``project`` action is launched.
Makefile generation (``makefile``)
----------------------------------
This is the default command for ``hdlmake`` and its basic behaviour will be defined by the value of the ``action`` manifest parameter in the hierachy ``Manifest.py``. ``action`` can be set to ``simulation`` or ``synthesis``, and the associated command sequence will be:
- **simulation**: generate a simulation makefile including all the files required for the defined testbench
- **synthesis**: generate a synthesis makefile including all the files required for bitstream generation
By using the ``-f FILENAME``, ``--filename FILENAME`` optional argument for the ``makefile`` command, we can choose the name of the synthesis or simulation Makefile that will be generated by ``hdlmake``.
In order to allow for a more agile development, we have included these shortcuts when using the ``hdlmake makefile`` command:
.. code-block:: bash
# These commands are equivalent
hdlmake makefile
hdlmake
# These commands are equivalent
hdlmake makefile -f FILENAME
hdlmake -f FILENAME
Print manifest file variables description (``manifest-help``)
-------------------------------------------------------------
Print manifest file variables description
.. note:: in any case, it's supposed that all the required modules have been previously fetched. Otherwise, the process will fail.
.. _vars:
......@@ -1413,16 +1388,6 @@ Icarus Verilog specific variables:
+----------------+--------------+-----------------------------------------------------------------+-----------+
Others:
+-------------------+-----------+-----------------------------------------------------------------+-----------+
| Name | Type | Description | Default |
+===================+===========+=================================================================+===========+
| sim_only_files | list, str | List of files that are used only in simulation | [] |
+-------------------+-----------+-----------------------------------------------------------------+-----------+
| bit_file_targets | list, str | List of files that are used only in simulation | [] |
+-------------------+-----------+-----------------------------------------------------------------+-----------+
Synthesis variables
-------------------
......@@ -1447,19 +1412,6 @@ Basic synthesis variables:
+-----------------+-------------+-----------------------------------------------------------------+-----------+
| syn_project | str | Project file name | None |
+-----------------+-------------+-----------------------------------------------------------------+-----------+
| syn_pre_cmd | str | Command to be executed before synthesis | None |
+-----------------+-------------+-----------------------------------------------------------------+-----------+
| syn_post_cmd | str | Command to be executed after synthesis | None |
+-----------------+-------------+-----------------------------------------------------------------+-----------+
Xilinx ISE specific variables:
+--------------------------+--------------+-----------------------------------------------------------------+-----------+
| Name | Type | Description | Default |
+==========================+==============+=================================================================+===========+
| syn_ise_version | str | Force particular ISE version | None |
+--------------------------+--------------+-----------------------------------------------------------------+-----------+
| syn_pre_synthesize_cmd | str | Command to be executed before synthesis: synthesize | '' |
+--------------------------+--------------+-----------------------------------------------------------------+-----------+
| syn_post_synthesize_cmd | str | Command to be executed after synthesis: synthesize | '' |
......@@ -1495,17 +1447,6 @@ Altera Quartus II / Prime specific variables:
+--------------------+----------+-----------------------------------------------------------------+-----------+
Miscellaneous variables
-----------------------
+-------------+-------+---------------------------------------------------------------------------+-----------+
| Name | Type | Description | Default |
+=============+=======+===========================================================================+===========+
| syn_name | str | Name of the folder at remote synthesis machine | None |
+-------------+-------+---------------------------------------------------------------------------+-----------+
| force_tool | str | Force certain version of a tool, e.g. 'ise < 13.2' or 'iverilog == 0.9.6 | None |
+-------------+-------+---------------------------------------------------------------------------+-----------+
.. _args:
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment