1GVHDL(1) User Commands GVHDL(1)
2
3
4
6 gvhdl - Frontend to the VHDL compiler/simulator FreeHDL.
7
9 gvhdl [OPTION] ... [VHDL_FILES] ... [OBJECT_FILES] ...
10
12 FreeHDL is a compiler/simulator suite for the hardware description lan‐
13 guage VHDL. VHDL'93 as well as VHDL'87 standards are supported.
14
15 FreeHDL translates the original VHDL source FILEs into C++. Then, the
16 C++ source can be compiled and linked to the kernel to build the simu‐
17 lation program. Starting the generated executable will simulate the
18 corresponding VHDL model. The actual build process to generate the sim‐
19 ulator from the VHDL source is a complex process which is handled by
20 the gvhdl script.
21
22 VHDL_FILES is a list of VHDL source file names that must end with .vhdl
23 or .vhd. The first VHDL file name also determines the name of the simu‐
24 lator executable. This is, the final executable will be named after the
25 first VHDL file without the .vhdl or .vhd extension. Note that the
26 object files as well as the simulator will be created in the current
27 directory.
28
29 OBJECT_FILES specifies a list of object files that are linked to the
30 simulator executable. gvhdl considers all files that end with .o to be
31 object files. Typically, these object files are generated previously
32 (using option -c) from VHDL source code during a separate compilation
33 step.
34
36 -L VHDLLIB
37 Path to VHDL library root directory. Within this directory the
38 compiler search for a file named v2cc.libs. The mapping file
39 v2cc.libs translates library unit names to directories. Note
40 that more than one VHDLLIB may be provided.
41
42 -g Adds debug information to the executable. In detail, this
43 options associates the generated machine code to the correspond‐
44 ing lines in the VHDL source files.
45
46 -G Adds debug information to the executable but does not associate
47 machine code to VHDL source lines. This option is actually used
48 to debug the generated C++ code.
49
50 -c Do not generate simulator executable. Using this option, the
51 compiler translated VHDL source into executables and compiles
52 them into object code but does not generate a final simulator
53 executable. This option is especially useful to compile VHDL
54 packages.
55
56 -l LIBNAME
57 Associate the VHDL source code to VHDL library LIBNAME. As
58 default the library name WORK is used. This option is especially
59 important if VHDL components from several VHDL libraries shall
60 be build into the simulator. Note that in order to successfully
61 use a VHDL component from another than the current working
62 library, the corresponding VHDL files must be found by the com‐
63 piler using the mechanisms described in v2cc.libs. Further, com‐
64 ponents must be compiled with the appropriate -l LIBNAME option.
65
66 --relaxed-component-visibility
67 Allows invisible default bindings from WORK.
68
69 --libieee
70 Add the IEEE standard library files to the simulation exe‐
71 cutable.
72
73
74 ENVIRONMENT VARIABLES
75
76 V2CC_LIBRARY_PATH
77 The variable V2CC_LIBRARY_PATH consists of ":" separated file‐
78 names. In addition to the environment variable, you can use the
79 "-L libdir" command line option with v2cc. The directories
80 specified with "-L" are added in front of the ones specified by
81 V2CC_LIBRARY_PATH. In the final library path, they appear in
82 the same order as on the command line.
83
85 Currently, FreeHDL does not support the entire VHDL'93 standard. The
86 following incomplete list gives an overview on what is currently not
87 supported:
88
89 - Individual association of formals of composite type are not sup‐
90 ported.
91
92 - Shared variables are not supported.
93
94 - Attributes transaction, quiet, stable and delayed are not supported.
95
96 - User defined attributes are not supported.
97
98 - Groups are not supported.
99
100 - Guarded signal assignments are not supported.
101
102 - Configurations are not supported.
103
104 - Currently, drivers cannot be switched off.
105
107 Use
108
109 gvhdl -c adder.vhdl
110
111 to build an object file for adder.vhdl. Note that adder.vhdl may con‐
112 tain several VHDL models.
113
114 gvhdl adder.vhdl
115
116 will generate a simulator for the last VHDL model found in adder.vhdl.
117 However, in this case, all VHDL components that area required to build
118 the simulator must be included in the VHDL source file.
119
120 gvhdl top.vhdl adder.o --libieee
121
122 generates a simulator for the last VHDL model found in top.vhdl by com‐
123 piling all models in top.vhdl and linking (the previously generated)
124 adder.o object file and the IEEE standard libraries to the executable.
125
126 gvhdl -c -l mylib adder.vhdl
127
128 will build an object file including all components provided in
129 adder.vhdl. However, in this case the components will be associated
130 with library mylib instead of the default library name work. Note that
131 option -l does only effect the generated C++ source code but does not
132 alter the place where the object files or executables are stored.
133
135 After the simulator has been started a short summary of the available
136 commands is printed to the screen:
137
138 c <number> : execute cycles = execute <number> simulation cycles
139 n : next = execute next simulation cycle
140 q : quit = quit simulation
141 r <time> : run = execute simulation for <time>
142 d : dump = dump signals
143 doff : dump off = stop dumping signals
144 don : dump on = continue dumping signals
145 s : show = show signal values
146 dv : dump var = dump a signal from the signal lists
147 ds : dump show = shows the list of dumped signals
148 nds : number show = shows the number of dumped signals
149 dc [-f <filename>] [-t <timescale> <time unit>] [-cfg <translation
150 file>] [-q]
151 : configures dump process
152
153 Note that signals are dumped into a file (default file name is
154 "wave.dmp") in VCD format. This file format should be accepted by each
155 VCD waveform viewer. The file name is set to "wave.dmp" but may be
156 changed using "dc -f <new_file_name>". However, make sure to execute
157 "dc -f ..." before executing "d".
158
160 Simulation can be controlled via the command line parameter '-cmd
161 "cmd1; cmd2; ..."' where 'cmd1', 'cmd2', ... are simulation commands as
162 described in the previous section. Note that each command must be sepa‐
163 rated by ';'. E.g., executing
164
165 ./top -cmd "d;run 1000 ns;q;"
166
167 will start simulation program 'top', dump all signals and run simula‐
168 tion for 1000 ns. Finally, simulation is terminated. Actually, the last
169 command 'q;' is optional as the simulator automatically terminates as
170 soon as the last command has been executed.
171
173 freehdl-v2cc(1), freehdl-config(1), v2cc.libs(5)
174
176 The latest version of FreeHDL can always be obtained from www.free‐
177 hdl.seul.org
178
180 Known bugs are documented within the BUGS file. If your report
181 addresses a parser related topic then contact Marius Vollmer
182 <mvo@zagadka.ping.de>. If it is related to the code generator or com‐
183 piler then send an email to Edwin Naroska <edwin@ds.e-technik.uni-dort‐
184 mund.de>. If your are not sure send it to Edwin. He will take care of
185 forwarding your report to the appropriate recipient.
186
188 Edwin Naroska © 1999, 2000, 2001, 2002, 2003, 2004, 2005 <edwin@ds.e-
189 technik.uni-dortmund.de>
190
191 This is free software; see the source for copying conditions. There is
192 NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR
193 PURPOSE.
194
196 Written by Marius Vollmer <mvo@zagadka.ping.de> and Edwin Naroska
197 <edwin@ds.e-technik.uni-dortmund.de>.
198
199
200
201Debian/GNU Linux December 2005 GVHDL(1)