|
NAMEgvhdl - Frontend to the VHDL compiler/simulator FreeHDL.SYNOPSISgvhdl [OPTION] ... [VHDL_FILES] ... [OBJECT_FILES] ...DESCRIPTIONFreeHDL is a compiler/simulator suite for the hardware description language VHDL. VHDL'93 as well as VHDL'87 standards are supported.FreeHDL 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 gvhdl script. VHDL_FILES 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. OBJECT_FILES specifies a list of object files that are linked to the simulator executable. gvhdl 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. OPTIONS
ENVIRONMENT VARIABLES
SUPPORTED VHDL SUBSETCurrently, 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. EXAMPLESUsegvhdl -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 last 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 last 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. SIMULATION COMMANDSAfter the simulator has been started a short summary of the available commands is printed to the screen:c <number> : execute cycles = execute <number> simulation cycles n : next = execute next simulation cycle q : quit = quit simulation r <time> : run = execute simulation for <time> d : dump = dump signals doff : dump off = stop dumping signals don : dump on = continue dumping signals s : show = show signal values dv : dump var = dump a signal from the signal lists ds : dump show = shows the list of dumped signals nds : number show = shows the number of dumped signals dc [-f <filename>] [-t <timescale> <time unit>] [-cfg <translation file>] [-q] : configures dump process Note that signals are dumped into a file (default file name is "wave.dmp") in VCD format. This file format should be accepted by each VCD waveform viewer. The file name is set to "wave.dmp" but may be changed using "dc -f <new_file_name>". However, make sure to execute "dc -f ..." before executing "d". SIMULATOR COMMAND LINE OPTIONSSimulation can be controlled via the command line parameter '-cmd "cmd1; cmd2; ..."' where 'cmd1', 'cmd2', ... are simulation commands as described in the previous section. Note that each command must be separated by ';'. E.g., executing./top -cmd "d;run 1000 ns;q;" will start simulation program 'top', dump all signals and run simulation for 1000 ns. Finally, simulation is terminated. Actually, the last command 'q;' is optional as the simulator automatically terminates as soon as the last command has been executed. SEE ALSOfreehdl-v2cc(1), freehdl-config(1), v2cc.libs(5)AVAILABILITYThe latest version of FreeHDL can always be obtained from www.freehdl.seul.orgREPORTING BUGSKnown bugs are documented within the BUGS file. If your report addresses a parser related topic then contact Marius Vollmer <mvo@zagadka.ping.de>. If it is related to the code generator or compiler then send an email to Edwin Naroska <edwin@ds.e-technik.uni-dortmund.de>. If your are not sure send it to Edwin. He will take care of forwarding your report to the appropriate recipient.COPYRIGHTEdwin Naroska © 1999, 2000, 2001, 2002, 2003, 2004, 2005 <edwin@ds.e-technik.uni-dortmund.de>This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. AUTHORSWritten by Marius Vollmer <mvo@zagadka.ping.de> and Edwin Naroska <edwin@ds.e-technik.uni-dortmund.de>.
Visit the GSP FreeBSD Man Page Interface. |