vvp(1) $Date: 2005/01/29 06:28:19 $ vvp(1) NAME vvp - Icarus Verilog vvp runtime engine SYNOPSIS vvp [-sv] [-Mpath] [-mmodule] [-llogfile] inputfile [extended-args...] DESCRIPTION vvp is the run time engine that executes the default compiled form gen- erated by Icarus Verilog. The output from the iverilog command is not by itself executable on any platform. Instead, the vvp program is invoked to execute the generated output file. OPTIONS vvp accepts the following options: -llogfile This flag specifies a logfile where all MCI <stdlog> output goes. Specify logfile as ’-’ to send log output to <stderr>. $display and friends send their output both to <stdout> and <stdlog>. -Mpath This flag adds a directory to the path list used to locate VPI modules. The default path includes only the install directory for the system.vpi module, but this flag can add other directo- ries. Multiple paths are allowed, and modules will be searched in order. -mmodule Tell the vvp run time to load the named module before executing the simulation. The system.vpi module is loaded by default, but additional modules, including modules that you compiled locally, can be specified with this flag. Any number of modules can be loaded, and they will be linked in the order they are listed on the command line. Normally, you only need to specify the name of the module, without any directory path or .vpi suffix and the search path is scanned to find the module. However, if the name includes at least one directory character, then the search path is not scanned and the name is assumed to be a complete file name. -s Stop. This will cause the simulation to stop in the beginning, before any events are scheduled. This allows the interactive user to get hold of the simulation just before it starts. -v Turn on verbose messages. This will cause information about run time progress to be printed to standard out. EXTENDED ARGUMENTS The vvp options described above must come before the design file name. After the design file name, however, there may be any number of unspec- ified arguments. These arguments are not interpreted by vvp but are instead passed on to the executed design, and are available via the $test$plusargs and $value$plusargs system functions. Arguments that do not start with the plus(+) character are not avail- able to the $plusargs system tasks, but can still be accessed via PLI code via the vpi_get_vlog_info function. This means that vpi modules may use arguments that do not start with + and be assured that they do not interfere with user defined plus-args. There are a few extended arguments that are interpreted by the standard system.vpi module, which implements the standard system tasks and so is always included. These arguments are described here. -vcd|-vcd-none This extended argument sets the wave dump format to VCD. This is the default in the absence of any IVERILOG_DUMPER environ- ment variable. The VCD dump files are large and ponderous, but are also maximally compatible with third party tools that read waveform dumps. The -vcd-none variant actually suppresses all waveform output. This can make long simulations run faster. -lxt|-lxt-speed|-lxt-space|-lxt-none These extended arguments set the wave dump format to lxt, pos- sibly with format optimizations. The -lxt-space flag sets the output format to lxt with full compression enabled. The result- ing files are quite small. The -lxt-speed chooses the lxt com- pression mode that leads to the best execution time and the fastest read time, at the expense of some file size. The -lxt-none variant actually suppresses all waveform output. This can make long simulations run faster. -lxt2 The LXT2 format is slower then LXT (faster then VCD) but takes less space, and is written out incrementally. Thus, you can view lxt2 files while a simulation is still running (or paused) or if your simulation crashes or is killed, you still have a useful dump. ENVIRONMENT The vvp command also accepts some environment variables that control its behavior. These can be used to make semi-permanent changes. IVERILOG_DUMPER=lxt|lxt2|vcd|none This selects the output format for the waveform output. Nor- mally, waveforms are dumped in vcd format, but this variable can be used to select lxt format, which is far more compact, though limited to gtkwave or compatible viewers. It can also be used to suppress VCD output, a time-saver for regression tests. INTERACTIVE MODE The simulation engine supports an interactive mode. The user may inter- rupt the simulation (typically by typing Ctrl-C) to get to the interac- tive prompt. From that prompt, the help command prints a brief summary of the available commands. The interactive mode may also be entered by a call to the $stop system task from within the simulation, or by a call to the vpi_control VPI function with the vpiStop control argument. These means of entering interactive mode are equivalent. AUTHOR Steve Williams (steve@icarus.com) SEE ALSO iverilog(1), iverilog-vpi(1), <http://www.icarus.com/eda/verilog/> COPYRIGHT Copyright © 2001-2003 Stephen Williams This document can be freely redistributed according to the terms of the GNU General Public License version 2.0 Version $Date: 2005/01/29 06:28:19 $ vvp(1)