Provided by: iverilog_12.0-2build2_amd64 bug

NAME

       vvp - Icarus Verilog vvp runtime engine

SYNOPSIS

       vvp [-inNsvV] [-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:

       -i      This flag causes all output to <stdout> to be unbuffered.

       -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 are 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|-lxt2-speed|-lxt2-space
       -lx2|-lx2-speed|-lx2-space
               The  LXT2  format  is slower than LXT but usually 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. The -lxt2-speed or -lx2-speed arguments are  the  same  as  -lxt2  or
               -lx2.  The  -lxt2-space or -lx2-space arguments enable better compression and turn
               off incremental writing.

       -fst|-fst-speed|-fst-space
       -fst-space-speed|-fst-speed-space
               This is a modern dumping format that is both faster  and  more  compact  than  the
               other  dumping  formats.  It  supports  incremental  dumping  just like -lxt2. The
               -fst-speed argument uses a faster compression methods that  creates  a  noticeably
               larger  output  file.   The  -fst-space  argument performs a repack of the file on
               close to  produce  the  smallest  possible  dump  file.  The  -fst-space-speed  or
               -fst-speed-space  arguments  use the faster compression method and repack the file
               on close.

       -none   This flag can be used by itself or appended  to  the  end  of  the  above  dumpers
               (vcd/lxt/lxt2/lx2/fst)  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.

       -compatible
               This extended argument enables improved compatibility with  other  simulators.  At
               present  this  only  affects  the  display  format for real numbers when no format
               string is supplied.

ENVIRONMENT

       The vvp command also accepts some environment variables that control its  behavior.  These
       can be used to make semi-permanent changes.

       IVERILOG_DUMPER=fst|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.

       IVERILOG_VPI_MODULE_PATH=/some/path:/some/other/path
               This adds additional components to the VPI module search path. Paths specified  in
               this way are searched after paths specified with -M, but before the default search
               path. Multiple paths can be separated with colons (semicolons if using Windows).

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://iverilog.icarus.com/>

COPYRIGHT

       Copyright ©  2001-2022 Stephen Williams

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

                                         March 25th, 2022                                  vvp(1)