1vvp(1)                          Version 0.9.4                           vvp(1)
2
3
4

NAME

6       vvp - Icarus Verilog vvp runtime engine
7
8

SYNOPSIS

10       vvp [-sv] [-Mpath] [-mmodule] [-llogfile] inputfile [extended-args...]
11
12

DESCRIPTION

14       vvp is the run time engine that executes the default compiled form gen‐
15       erated by Icarus Verilog. The output from the iverilog command  is  not
16       by  itself  executable  on  any  platform.  Instead, the vvp program is
17       invoked to execute the generated output file.
18
19

OPTIONS

21       vvp accepts the following options:
22
23       -llogfile
24               This flag specifies a logfile where  all  MCI  <stdlog>  output
25               goes.   Specify  logfile as '-' to send log output to <stderr>.
26               $display and friends send their output  both  to  <stdout>  and
27               <stdlog>.
28
29       -Mpath  This  flag adds a directory to the path list used to locate VPI
30               modules. The default path includes only the  install  directory
31               for the system.vpi module, but this flag can add other directo‐
32               ries. Multiple paths are allowed, and modules will be  searched
33               in order.
34
35       -mmodule
36               Tell the vvp run time to load the named module before executing
37               the simulation. The system.vpi module is loaded by default, but
38               additional   modules,   including  modules  that  you  compiled
39               locally, can be specified with this flag. Any number of modules
40               can  be  loaded,  and they will be linked in the order they are
41               listed on the command line.
42
43               Normally, you only need to specify  the  name  of  the  module,
44               without  any  directory path or .vpi suffix and the search path
45               is scanned to find the module. However, if the name includes at
46               least  one  directory  character,  then  the search path is not
47               scanned and the name is assumed to be a complete file name.
48
49       -n      This flag makes $stop or a <Control-C> a synonym  for  $finish.
50               It  can be used to give the program a more meaningful interface
51               when running in a non-interactive environment.
52
53       -N      This flag does the same thing as -n, but  results  in  an  exit
54               code  of  1  if the stimulation calls $stop.  It can be used to
55               indicate a simulation failure when running a testbench.
56
57       -s      Stop. This will cause the simulation to stop in the  beginning,
58               before  any  events  are scheduled. This allows the interactive
59               user to get hold of the simulation just before it starts.
60
61       -v      Turn on verbose messages. This will cause information about run
62               time progress to be printed to standard out.
63
64       -V      Print the version of the runtime, and exit.
65
66

EXTENDED ARGUMENTS

68       The  vvp options described above must come before the design file name.
69       After the design file name, however, there may be any number of unspec‐
70       ified  arguments.  These  arguments  are not interpreted by vvp but are
71       instead passed on to the executed design, and  are  available  via  the
72       $test$plusargs and $value$plusargs system functions.
73
74       Arguments  that  do not start with the plus(+) character are not avail‐
75       able to the $plusargs system tasks, but can still be accessed  via  PLI
76       code  via  the  vpi_get_vlog_info function. This means that vpi modules
77       may use arguments that do not start with + and be assured that they  do
78       not interfere with user defined plus-args.
79
80       There are a few extended arguments that are interpreted by the standard
81       system.vpi module, which implements the standard system tasks and so is
82       always included. These arguments are described here.
83
84       -vcd    This  extended  argument sets the wave dump format to VCD. This
85               is the default in the absence of any  IVERILOG_DUMPER  environ‐
86               ment  variable. The VCD dump files are large and ponderous, but
87               are also maximally compatible with third party tools that  read
88               waveform dumps.
89
90
91       -lxt|-lxt-speed|-lxt-space
92               These  extended arguments set the wave dump format to lxt, pos‐
93               sibly with format optimizations. The -lxt-space flag  sets  the
94               output format to lxt with full compression enabled. The result‐
95               ing files are quite small. The -lxt-speed chooses the lxt  com‐
96               pression  mode  that  leads  to the best execution time and the
97               fastest read time, at the expense of some file size.
98
99
100       -lxt2|-lx2
101               The LXT2 format is slower then LXT (faster then VCD) but  takes
102               less  space,  and  is  written out incrementally. Thus, you can
103               view lxt2 files while a simulation is still running (or paused)
104               or  if  your  simulation crashes or is killed, you still have a
105               useful dump.
106
107
108       -none   This flag can be used by itself or appended to the end  of  the
109               above  dumpers (vcd/lxt/lxt2/lx2) to suppress all waveform out‐
110               put. This can make long simulations run faster.
111
112
113       -sdf-warn
114               When loading an SDF annotation file,  this  option  causes  the
115               annotator  to  print  warnings  for  questionable but non-fatal
116               issues.
117
118
119       -sdf-info
120               When loading an SDF annotation file,  this  option  causes  the
121               annotator to print information about the annotation.
122
123
124       -sdf-verbose
125               This is shorthand for -sdf-info -sdf-warn.
126
127

ENVIRONMENT

129       The  vvp  command  also accepts some environment variables that control
130       its behavior. These can be used to make semi-permanent changes.
131
132
133       IVERILOG_DUMPER=lxt|lxt2|lx2|vcd|none
134               This selects the output format for the  waveform  output.  Nor‐
135               mally,  waveforms  are  dumped in vcd format, but this variable
136               can be used to select lxt format, which is  far  more  compact,
137               though limited to gtkwave or compatible viewers. It can also be
138               used to suppress VCD output, a time-saver for regression tests.
139
140

INTERACTIVE MODE

142       The simulation engine supports an interactive mode. The user may inter‐
143       rupt  the  simulation  (typically  by typing <Control-C>) to get to the
144       interactive prompt. From that prompt, the help command prints  a  brief
145       summary of the available commands.
146
147       The  interactive mode may also be entered by a call to the $stop system
148       task from within the simulation, or by a call to  the  vpi_control  VPI
149       function  with  the  vpiStop  control argument. These means of entering
150       interactive mode are equivalent.
151
152

AUTHOR

154       Steve Williams (steve@icarus.com)
155
156

SEE ALSO

158       iverilog(1), iverilog-vpi(1), <http://www.icarus.com/eda/verilog/>
159
160
162       Copyright ©  2001-2009 Stephen Williams
163
164       This document can be freely redistributed according to the terms of the
165       GNU General Public License version 2.0
166
167
168
169                               April 17th, 2009                         vvp(1)
Impressum