GHDL
From Wikipedia, the free encyclopedia
To meet Wikipedia's quality standards, this article or section may require cleanup because it is in a list format that may be better presented using prose. You can help by converting this section to prose, if appropriate. Editing help is available. (September 2007) |
GHDL | |
---|---|
GHDL, operated via the command line |
|
Developed by | Tristan Gingold |
Latest release | 0.26 / 9 April 2007 |
OS | Linux |
Genre | Compiler, Simulator |
License | GNU General Public License |
Website | http://ghdl.free.fr/ |
GHDL is a complete free software simulator for VHDL using GCC technology. The VHDL language is implemented according to the IEEE 1076-1987 or the IEEE 1076-1993 standard. It works by compiling VHDL files into a binary which simulates (or executes) the design. Some have already reported GHDL has (in a few cases) better implementation of standards than some commercial simulators. However, GHDL does not do synthesis and it cannot translate a design into a netlist.
[edit] Features
- GHDL implements the VHDL87 (common name for IEEE 1076-1987) standard, the VHDL93 standard (aka IEEE 1076-1993) and the protected types of VHDL00 (aka IEEE 1076a or IEEE 1076-2000). GHDL can also implement non-standard third party libraries such as those provided by Synopsys and Mentor Graphics, but this is discouraged [1].
- GHDL directly creates binaries or executable images, which is considered the best form for testbenches (autonomous self-checking VHDL designs which use assert). These binaries can also create a VCD file or a GHW file, which may be visually inspected with a waveform viewer such as GTKWave.
- GHDL can also be used to pretty print or to generate cross references in HTML.
- GHDL can generate a Makefile for any component in a design.
[edit] Shortcomings
- GHDL is only officially available on Linux systems, but some have had success compiling GHDL on Solaris Sparc, Mac OS X, and Microsoft Windows (using Cygwin).
- Overflow detection is not yet implemented.
- Some constraint checks are missing.
- VHDL-93 is not completely implemented.
- Partial support of VHDL-02.
- There are no checks for elaboration order.