ghdl - Man Page

VHDL compiler/simulator

Examples (TL;DR)


ghdl [command] [options] files...


This manual page documents briefly the ghdl command. This manual page was written for user of man, but is not as complete as the reference documentation.

Instead, users should read the GHDL texinfo manual


This program follows the usual GNU command line syntax, with long options starting with two dashes (`-'). A summary of the main modes and options is included below. For a complete description, refer to the GHDL texinfo manual.

Basic commands:


Analysis, i.e. ghdl -a file.vhdl


Elabortation, i.e. ghdl -e unit_name


Run: run the simulation, i.e. ghdl -r unit_name


Syntax-check, i.e. ghdl -s file.vhdl


Clean: remove generated files, i.e. ghdl --clean

-h, ā€‰--help

Help, i.e. ghdl --help


Version, i.e. ghdl --version

Basic options:


Name of the WORK library, i.e. ghdl -a --work=foo foo.vhdl


Which VHDL standard (87|93|93c|00|02), i.e. ghdl -a --std=87 old.vhdl


Which IEEE library (none|standard|synopsys|mentor), i.e. ghdl -a --ieee=synopsys broken.vhdl


Disable VITAL restriction checking, i.e. ghdl -a --no-vital-checks unsupported_vital.vhdl

There are many more modes and options; please consult the documentation.

Executables created by GHDL have addition simulation options. The most important ones are listed below:


Show options for simulation and execution.


Assert level at which to stop simulation (none|note|warning|error|failure), i.e. ./touchy_design --assert-level=note


Stop simuation after TIME, i.e. ./design --stop-time=50ns


Dump VCD to FILENAME (a waveform dump, viewable with--for instance--gtkwave), i.e. ./design --vcd=design.vcd


Back annotate SDF onto design using TYPE (min|typ|max), instance PATH, and SDF file FILENAME, i.e. ./sdf_design --sdf=typ=top/inst=inst.sdf

See Also


The texinfo manual fully documents GHDL. You may also browse it at <>.


This manual page was written by Wesley J. Landaker <>, for the Debian project (but may be used by others). It is released under the same terms as GHDL, i.e. the GNU General Public License. It was modified by Tristan Gingold to include it in the GHDL sources.


Jun 24, 2006