From 2bea592952b8a9f9860bb646ddf72d26eac4ad29 Mon Sep 17 00:00:00 2001 From: umarcor <38422348+umarcor@users.noreply.github.com> Date: Fri, 10 Apr 2020 07:48:47 +0200 Subject: update doc (synth, overview, generics, etc.) (#1205) * doc: extend info about setting generics through the CLI * doc: rename 'Command Reference' to 'Additional Command Reference' * doc: use '``' instead of ':samp:' * doc: update info about synthesis * doc: add references to sources in internals/Overview * doc: add diagram to internals/Overview --- doc/about.rst | 19 ++++++++----------- 1 file changed, 8 insertions(+), 11 deletions(-) (limited to 'doc/about.rst') diff --git a/doc/about.rst b/doc/about.rst index 32915a05f..3e8ea0dd9 100644 --- a/doc/about.rst +++ b/doc/about.rst @@ -20,31 +20,28 @@ However, VHDL was not designed as a general purpose language but as an `HDL`. As Like a program written in any other language, a VHDL program can be executed. Since VHDL is used to model designs, the term :dfn:`simulation` is often used instead of `execution`, with the same meaning. At the same time, like a design written in another `HDL`, a set of VHDL sources can be transformed with a :dfn:`synthesis tool` into a netlist, that is, a detailed gate-level implementation. -The development of VHDL started in 1983 and the standard is named `IEEE `_ `1076`. Four revisions exist: `1987 `_, `1993 `_, `2002 `_ and `2008 `_. The standardization is handled by the VHDL Analysis and Standardization Group (`VASG/P1076 `_). +The development of VHDL started in 1983 and the standard is named `IEEE `_ `1076`. Five revisions exist: `1987 `_, `1993 `_, `2002 `_, `2008 `_ and `2019 `_. The standardization is handled by the VHDL Analysis and Standardization Group (`VASG/P1076 `_). .. _INTRO:GHDL: What is GHDL? ============= -`GHDL` is a shorthand for `G Hardware Design Language` (currently, `G` has no meaning). It is a VHDL analyzer, compiler and simulator that can execute (nearly) any VHDL program. GHDL is *not* a synthesis tool: you cannot create a netlist with GHDL (yet). +`GHDL` is a shorthand for `G Hardware Design Language` (currently, `G` has no meaning). It is a VHDL analyzer, compiler, simulator and (experimental) synthesizer that can process (nearly) any VHDL design. + +.. NOTE:: + For almost 20 years, GHDL was *not* a synthesis tool: you could not create a netlist. Hence, most of the content in this documentation corresponds to the usage of GHDL as a compiler/simulator. See :ref:`USING:Synthesis` for further details regarding synthesis. Unlike some other simulators, GHDL is a compiler: it directly translates a VHDL file to machine code, without using an intermediary language such as `C` or `C++`. Therefore, the compiled code should be faster and the analysis time should be shorter than with a compiler using an intermediary language. -GHDL can use multiple back-ends, i.e. code generators, (`GCC `_, `LLVM `_ or :wikipedia:`x86 `/:wikipedia:`i386 ` only, a built-in one) and runs on :wikipedia:`GNU/Linux `, :wikipedia:`Windows ` |trade| and :wikipedia:`macOS ` |trade| , both on x86 and on x86_64. +GHDL can use multiple back-ends, i.e. code generators, (`GCC `_, `LLVM `_ or :wikipedia:`x86 `/:wikipedia:`i386 ` only, a built-in one named *mcode*) and runs on :wikipedia:`GNU/Linux `, :wikipedia:`Windows ` |trade| and :wikipedia:`macOS ` |trade|; on x86, x86_64, armv6/armv7/aarch32/aarch64, etc. -The current version of GHDL does not contain any built-in graphical viewer: you cannot see signal waves. You can still check the behavior of your design with a test bench. Moreover, the current version can produce `GHW `_, :wikipedia:`VCD ` or `FST` files which can be viewed with a :wikipedia:`waveform viewer `, such as `GtkWave `_. +The current version of GHDL does not contain any built-in graphical viewer: you cannot see signal waves. You can still check the behavior of your design with a test bench. Moreover, `GHW `_, :wikipedia:`VCD ` or `FST` files can be produced, which can be viewed with a :wikipedia:`waveform viewer `, such as `GtkWave `_. -GHDL aims at implementing VHDL as defined by `IEEE 1076 `_. It supports the `1987 `_, `1993 `_ and `2002 `_ revisions and, partially, the latest, `2008 `_. :wikipedia:`PSL ` is also partially supported. +GHDL aims at implementing VHDL as defined by `IEEE 1076 `_. It supports the `1987 `_, `1993 `_ and `2002 `_ revisions and, partially, `2008 `_. :wikipedia:`PSL ` is also partially supported. Several third party projects are supported: `VUnit `_, `OSVVM `_, `cocotb `_ (through the `VPI interface `_), ... - -.. HINT:: - - Although synthesis is not available yet, there is some experimental support. See :ref:`DEV:Synthesis` for further info. - - .. _INTRO:WHO: Who uses GHDL? -- cgit v1.2.3