Man Linux: Main Page and Category List

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
       generated  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
               directories.  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.

       -n      This  flag  makes $stop or a <Control-C> a synonym for $finish.
               It can be used to give the program a more meaningful  interface
               when running in a non-interactive environment.

       -N      This  flag  does  the  same thing as -n, but results in an exit
               code of 1 if the stimulation calls $stop.  It can  be  used  to
               indicate a simulation failure when running a testbench.

       -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.

       -V      Print the version of the runtime, and exit.

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
       unspecified 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
       available  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    This extended argument sets the wave dump format to  VCD.  This
               is   the   default   in  the  absence  of  any  IVERILOG_DUMPER
               environment  variable.  The  VCD  dump  files  are  large   and
               ponderous,  but  are also maximally compatible with third party
               tools that read waveform dumps.

       -lxt|-lxt-speed|-lxt-space
               These extended arguments set  the  wave  dump  format  to  lxt,
               possibly  with  format  optimizations. The -lxt-space flag sets
               the output format to lxt with  full  compression  enabled.  The
               resulting files are quite small. The -lxt-speed chooses the lxt
               compression mode that leads to the best execution time and  the
               fastest read time, at the expense of some file size.

       -lxt2|-lx2
               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.

       -none   This  flag  can be used by itself or appended to the end of the
               above  dumpers  (vcd/lxt/lxt2/lx2)  to  suppress  all  waveform
               output. This can make long simulations run faster.

       -sdf-warn
               When  loading  an  SDF  annotation file, this option causes the
               annotator to print  warnings  for  questionable  but  non-fatal
               issues.

       -sdf-info
               When  loading  an  SDF  annotation file, this option causes the
               annotator to print information about the annotation.

       -sdf-verbose
               This is shorthand for -sdf-info -sdf-warn.

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|lx2|vcd|none
               This  selects  the  output  format  for  the  waveform  output.
               Normally, 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
       interrupt  the  simulation  (typically by typing <Control-C>) to get to
       the interactive 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-2009 Stephen Williams

       This document can be freely redistributed according to the terms of the
       GNU General Public License version 2.0

                               April 17th, 2009                         vvp(1)