.TH GVHDL "1" "December 2005" "Debian/GNU Linux" "User Commands" .SH NAME gvhdl \- Frontend to the VHDL compiler/simulator FreeHDL. .SH SYNOPSIS .B gvhdl [\fIOPTION\fR] ... [\fIVHDL_FILES\fR] ... [\fIOBJECT_FILES\fR] ... .SH DESCRIPTION \fBFreeHDL\fR is a compiler/simulator suite for the hardware description language VHDL. VHDL'93 as well as VHDL'87 standards are supported. \fBFreeHDL\fR translates the original VHDL source FILEs into C++. Then, the C++ source can be compiled and linked to the kernel to build the simulation program. Starting the generated executable will simulate the corresponding VHDL model. The actual build process to generate the simulator from the VHDL source is a complex process which is handled by the \fBgvhdl\fR script. \fIVHDL_FILES\fR is a list of VHDL source file names that must end with .vhdl or .vhd. The first VHDL file name also determines the name of the simulator executable. This is, the final executable will be named after the first VHDL file without the .vhdl or .vhd extension. Note that the object files as well as the simulator will be created in the current directory. \fIOBJECT_FILES\fR specifies a list of object files that are linked to the simulator executable. \fBgvhdl\fR considers all files that end with .o to be object files. Typically, these object files are generated previously (using option -c) from VHDL source code during a separate compilation step. .SH OPTIONS .TP \fB\-L\fR VHDLLIB Path to VHDL library root directory. Within this directory the compiler search for a file named \fIv2cc.libs\fR. The mapping file \fIv2cc.libs\fR translates library unit names to directories. Note that more than one VHDLLIB may be provided. .TP \fB\-g\fR Adds debug information to the executable. In detail, this options associates the generated machine code to the corresponding lines in the VHDL source files. .TP \fB\-G\fR Adds debug information to the executable but does not associate machine code to VHDL source lines. This option is actually used to debug the generated C++ code. .TP \fB\-c\fR Do not generate simulator executable. Using this option, the compiler translated VHDL source into executables and compiles them into object code but does not generate a final simulator executable. This option is especially useful to compile VHDL packages. .TP \fB\-l\fR LIBNAME Associate the VHDL source code to VHDL library LIBNAME. As default the library name WORK is used. This option is especially important if VHDL components from several VHDL libraries shall be build into the simulator. Note that in order to successfully use a VHDL component from another than the current working library, the corresponding VHDL files must be found by the compiler using the mechanisms described in v2cc.libs. Further, components must be compiled with the appropriate -l LIBNAME option. .TP \fB\--relaxed-component-visibility\fR Allows invisible default bindings from \fIWORK\fR. .TP \fB\--libieee\fR Add the IEEE standard library files to the simulation executable. .TP .SH "ENVIRONMENT VARIABLES" .TP V2CC_LIBRARY_PATH The variable V2CC_LIBRARY_PATH consists of ":" separated filenames. In addition to the environment variable, you can use the "-L libdir" command line option with v2cc. The directories specified with "-L" are added in front of the ones specified by V2CC_LIBRARY_PATH. In the final library path, they appear in the same order as on the command line. .SH SUPPORTED VHDL SUBSET Currently, FreeHDL does not support the entire VHDL'93 standard. The following incomplete list gives an overview on what is currently not supported: - Individual association of formals of composite type are not supported. - Shared variables are not supported. - Attributes transaction, quiet, stable and delayed are not supported. - User defined attributes are not supported. - Groups are not supported. - Guarded signal assignments are not supported. - Configurations are not supported. - Currently, drivers cannot be switched off. .SH EXAMPLES Use gvhdl -c adder.vhdl to build an object file for adder.vhdl. Note that adder.vhdl may contain several VHDL models. gvhdl adder.vhdl will generate a simulator for the \fBlast\fR VHDL model found in adder.vhdl. However, in this case, all VHDL components that area required to build the simulator must be included in the VHDL source file. gvhdl top.vhdl adder.o --libieee generates a simulator for the \fRlast\fR VHDL model found in top.vhdl by compiling all models in top.vhdl and linking (the previously generated) adder.o object file and the IEEE standard libraries to the executable. gvhdl -c -l mylib adder.vhdl will build an object file including all components provided in adder.vhdl. However, in this case the components will be associated with library mylib instead of the default library name work. Note that option -l does only effect the generated C++ source code but does not alter the place where the object files or executables are stored. .SH SIMULATION COMMANDS After the simulator has been started a short summary of the available commands is printed to the screen: c : execute cycles = execute simulation cycles n : next = execute next simulation cycle q : quit = quit simulation r