Icarus Verilog vvp runtime engine man-page

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)