aboutsummaryrefslogtreecommitdiffstats
path: root/doc/getting
diff options
context:
space:
mode:
author1138-4EB <1138-4EB@users.noreply.github.com>2017-02-24 19:00:45 +0100
committertgingold <tgingold@users.noreply.github.com>2017-12-10 12:02:05 +0100
commit6871bbba1bdc4332cf68e1494e3c6f1615fefbcb (patch)
tree11312327321a34dee990a575bf3eaaa2df8cdd0c /doc/getting
parent1a38eff0e9f9814f5d0615e238544fac62d2f1f3 (diff)
downloadghdl-6871bbba1bdc4332cf68e1494e3c6f1615fefbcb.tar.gz
ghdl-6871bbba1bdc4332cf68e1494e3c6f1615fefbcb.tar.bz2
ghdl-6871bbba1bdc4332cf68e1494e3c6f1615fefbcb.zip
Files in the root not capitalized.
Second chapter ready for first review: Invoking reordered, some content moved to Command Reference, information compacted, command shortcuts added to titles. Known features which are missing in the doc added to TODOs or to Roadmap. Add export subsections to Using/Simulation Directory structure described in Building
Diffstat (limited to 'doc/getting')
-rw-r--r--doc/getting/Building.rst39
-rw-r--r--doc/getting/VendorPrimitives.md16
2 files changed, 42 insertions, 13 deletions
diff --git a/doc/getting/Building.rst b/doc/getting/Building.rst
index 68f086c56..9c357b476 100644
--- a/doc/getting/Building.rst
+++ b/doc/getting/Building.rst
@@ -20,11 +20,11 @@ GHDL currently supports three supported different backends (code generators): `m
| | - Easier to build than GCC | |
+------------------------+------------------------------------------------------------------------------------------+---------------------------------------------------------+
-.. HINT:: The output of both GCC and LLVM is an executable file, but `mcode` does not generate any. Therefore, if using GCC/LLVM, the call with argument :samp:`-r` can be replaced with direct execution of the binary.
+.. HINT:: The output of both GCC and LLVM is an executable file, but `mcode` does not generate any. Therefore, if using GCC/LLVM, the call with argument :samp:`-r` can be replaced with direct execution of the binary. See section :ref:`USING:QuickStart`.
After making your choice, you can jump to the corresponding section below. However, we suggest you to read :ref:`BUILD:dir_structure` before, so that you know where the content is placed and which temporal files are expected to be created.
-.. HINT:: Since GHDL is written in `Ada`, independently of the code generator you use, the `GNU Ada compiler`, `GNAT GPL`, is required, 2014 (or later) for :samp:`x86` (32 or 64 bits). `GNAT GPL` can be downloaded anonymously from `libre.adacore.com <http://libre.adacore.com/tools/gnat-gpl-edition/>`_ . Then, untar and run the doinstall script. Alternatively, most GNU/Linux provide a package named :samp:`gcc-ada` or :samp:`gcc-gnat`.
+.. HINT:: Since GHDL is written in `Ada`, independently of the code generator you use, the `GNU Ada compiler`, `GNAT GPL`, is required, 2014 (or later) for :samp:`x86` (32 or 64 bits). `GNAT GPL` can be downloaded anonymously from `libre.adacore.com <http://libre.adacore.com/tools/gnat-gpl-edition/>`_. Then, untar and run the doinstall script. Alternatively, most GNU/Linux provide a package named :samp:`gcc-ada` or :samp:`gcc-gnat`.
.. TODO::
@@ -37,9 +37,41 @@ After making your choice, you can jump to the corresponding section below. Howev
Directory structure
=================
+* :samp:`src`: sources of GHDL, all of them in Ada.
+
+* :samp:`libraries`: mostly third party libraries such as, `ieee`, `mentor`, `std`, `synopsys` and `vital`. Except a few shell and `Python` scripts, all the content is written in VHDL.
+
+ * Vendors like Altera, Lattice and Xilinx have their own simulation libraries, especially for FPGA primitives, soft and hard macros. These libraries can not be shipped with GHDL, but we offer prepared compile scripts to pre-compile the vendor libraries, if the vendor tool is present on the computer. These are located in :samp:`libraries/vendor`. See `Vendor Primitives <VendorPrimitives.html>`_ for information on how to use them.
+
+* :samp:`dist`: scripts and auxiliar files to build GHDL in different environments:
+
+ * :samp:`gcc`: header and configuration files to build GHDL with GCC (all the platforms).
+
+ * :samp:`linux`: build and test script written in shell, and other auxiliar files used to i) launch docker containers and ii) automate multiple builds in `Travis CI <https://travis-ci.org/>`_.
+
+ * :samp:`windows`:
+
+ * :samp:`mcode`:
+
+ * :samp:`appveyor`:
+
+* :samp:`doc`: `Markdown` and `reStructuredText` sources and auxiliar files to build the documentation with `Sphinx <http://www.sphinx-doc.org>`_. Indeed, `Read the docs <http://readthedocs.org>`_ (RTD) is used to automatically build and deploy this site and/or PDF you are reading.
+
+* :samp:`testsuite`: see section :ref:`test_suites`.
+
+* `.yml` configuration files for CI environments (:samp:`readthedocs`, :samp:`travis` and :samp:`appveyor`) and `ignore` files for source control management tools (:samp:`git` and :samp:`.hg`).
+
+* Files for building GHDL: :samp:`configure` and :samp:`Makefile.in`.
+
+* Auxiliar files for development: :samp:`.gdbinit` and :samp:`ghdl.gpr.in` (GNAT project file).
+
+* Text files: :samp:`COPYING.md`, :samp:`NEWS.md` and :samp:`README.md`.
+
.. TODO::
- Directory structure of the main branch [1138: #279]
+ - [@1138-4EB|@Paebbels] Replace link to VendorPrimitives, when the file is translated from md to rst.
+
+ - [@Paebbels] Add brief description of how the content in dist/windows is ordered.
Mcode backend
=================
@@ -157,6 +189,7 @@ Windows?
Install file for the binary distribution of GHDL. The binary are installed in /usr/local directory. You cannot change this default location, unless you set links. You must be root to install this distribution. To install ghdl: `tar -C / -jxvf @TARFILE@.tar.bz2`. Note: you must also have a C compiler and zlib installed.
+.. _test_suites:
Test suites
=================
diff --git a/doc/getting/VendorPrimitives.md b/doc/getting/VendorPrimitives.md
index 3b9c9b11f..b25b4bb9a 100644
--- a/doc/getting/VendorPrimitives.md
+++ b/doc/getting/VendorPrimitives.md
@@ -1,16 +1,12 @@
## Vendor Primitives
-Vendors like Altera, Lattice and Xilinx have their own simulation libraries, especially for FPGA primitives, soft and hard macros. These libraries can not be shipped with *GHDL*, but we offer prepared compile scripts to pre-compile the vendor libraries, if the vendor tool is present on the computer. There are also popular simulation and verification libraries like [OSVVM][osvvm] and [VUnit][vunit], which can be pre-compiled, too.
+Vendors like Altera, Lattice and Xilinx have their own simulation libraries, especially for FPGA primitives, soft and hard macros. These libraries can not be shipped with *GHDL*, but we offer prepared compile scripts to pre-compile the vendor libraries, if the vendor tool is present on the computer. There are also popular simulation and verification libraries like [OSVVM](http://osvvm.org) and [VUnit](https://github.com/LarsAsplund/vunit), which can be pre-compiled, too.
-The compilation scripts are writen in the shell languages: *PowerShell* for *Windows* |trade| and *Bash* for *GNU/Linux*. The compile scripts can colorize the *GHDL* warning and error lines with the help of `grc/grcat` ([generic colourizer][grc]).
-
-- [osvvm]: http://osvvm.org/
-- [vunit]: https://github.com/LarsAsplund/vunit
-- [grc]: http://kassiopeia.juls.savba.sk/~garabik/software/grc.html
+The compilation scripts are writen in the shell languages: *PowerShell* for *Windows* |trade| and *Bash* for *GNU/Linux*. The compile scripts can colorize the *GHDL* warning and error lines with the help of `grc/grcat` ([generic colourizer](http://kassiopeia.juls.savba.sk/~garabik/software/grc.html)).
##### Supported Vendors Libraries
- - Altera/Intel Quartus (&ge;13.0):
+ - Altera/Intel Quartus (13.0 or later):
- `lpm`, `sgate`
- `altera`, `altera_mf`, `altera_lnsim`
- `arriaii`, `arriaii_pcie_hip`, `arriaiigz`
@@ -21,19 +17,19 @@ The compilation scripts are writen in the shell languages: *PowerShell* for *Win
- `stratixiv`, `stratixiv_pcie_hip`
- `stratixv`, `stratixv_pcie_hip`
- `fiftyfivenm`, `twentynm`
- - Lattice (&ge;3.6):
+ - Lattice (3.6 or later):
- `ec`
- `ecp`, `ecp2`, `ecp3`, `ecp5u`
- `lptm`, `lptm2`
- `machxo`, `machxo2`, `machxo3l`
- `sc`, `scm`
- `xp`, `xp2`
- - Xilinx ISE (&ge;14.0):
+ - Xilinx ISE (14.0 or later):
- `unisim` (incl. `secureip`)
- `unimacro`
- `simprim` (incl. `secureip`)
- `xilinxcorelib`
- - Xilinx Vivado (&ge;2014.1):
+ - Xilinx Vivado (2014.1 or later):
- `unisim` (incl. `secureip`)
- `unimacro`