aboutsummaryrefslogtreecommitdiffstats
path: root/doc/Introduction.rst
diff options
context:
space:
mode:
authorTristan Gingold <gingold@adacore.com>2015-11-21 05:54:42 +0100
committerTristan Gingold <gingold@adacore.com>2015-11-24 05:22:09 +0100
commit60fd762fa36f72b9ddad8cda84b6c16c6936d942 (patch)
treebf6fe454ca4ed09519203f188b932408f6ceee5c /doc/Introduction.rst
parent27a4852201a41e7d6f8098cc05b7b0949ebc6af4 (diff)
downloadghdl-60fd762fa36f72b9ddad8cda84b6c16c6936d942.tar.gz
ghdl-60fd762fa36f72b9ddad8cda84b6c16c6936d942.tar.bz2
ghdl-60fd762fa36f72b9ddad8cda84b6c16c6936d942.zip
Convert documentation to sphinx.
Diffstat (limited to 'doc/Introduction.rst')
-rw-r--r--doc/Introduction.rst73
1 files changed, 73 insertions, 0 deletions
diff --git a/doc/Introduction.rst b/doc/Introduction.rst
new file mode 100644
index 000000000..135c8cb28
--- /dev/null
+++ b/doc/Introduction.rst
@@ -0,0 +1,73 @@
+************
+Introduction
+************
+
+
+Content of this manual
+======================
+
+This manual is the user and reference manual for GHDL. It does not
+contain an introduction to VHDL. Thus, the reader should have at least
+a basic knowledge of VHDL. A good knowledge of VHDL language reference
+manual (usually called LRM) is a plus.
+
+What is `VHDL`?
+===============
+
+`VHDL` is an acronym for Very High Speed Integrated Circuit Hardware
+Description Language which is a programming language used to describe a
+logic circuit by function, data flow behaviour, or structure.
+
+`VHDL` *is* a programming language: although `VHDL` was
+not designed for writing general purpose programs, you can write any
+algorithm with the `VHDL` language. If you are able to write
+programs, you will find in `VHDL` features similar to those found
+in procedural languages such as `C`, `Python`, or `Ada`.
+`VHDL` derives most of its syntax and semantics from `Ada`.
+Knowing `Ada` is an advantage for learning `VHDL` (it is an
+advantage in general as well).
+
+However, `VHDL` was not designed as a general purpose language but as an
+`HDL` (hardware description language). As the name implies, `VHDL`
+aims at modeling or documenting electronics systems. Due to the nature
+of hardware components which are always running, `VHDL` is a highly
+concurrent language, built upon an event-based timing model.
+
+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.
+
+Like a program written in another hardware description language, a
+`VHDL` program can be transformed with a :dfn:`synthesis tool`
+into a netlist, that is, a detailed gate-level implementation.
+
+What is `GHDL`?
+===============
+
+`GHDL` is a shorthand for G Hardware Design Language. Currently,
+`G` has no meaning.
+
+`GHDL` is a `VHDL` compiler that can execute (nearly) any
+`VHDL` program. `GHDL` is *not* a synthesis tool: you cannot
+create a netlist with `GHDL`.
+
+Unlike some other simulators, `GHDL` is a compiler: it directly
+translates a `VHDL` file to machine code, using the `GCC` or `LLVM`
+back-end and 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.
+
+The Windows(TM) version of `GHDL` is not based on `GCC` but on
+an internal code generator.
+
+The current version of `GHDL` does not contain any graphical
+viewer: you cannot see signal waves. You can still check with a test
+bench. The current version can produce a `VCD` file which can be
+viewed with a wave viewer, as well as `ghw` files to be viewed by
+`gtkwave`.
+
+`GHDL` aims at implementing `VHDL` as defined by IEEE 1076.
+It supports most of the 1987 standard and most features added by the
+1993 standard.