1vvp(1)                      Version 11.0  (stable)                      vvp(1)
2
3
4

NAME

6       vvp - Icarus Verilog vvp runtime engine
7
8

SYNOPSIS

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

DESCRIPTION

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

OPTIONS

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

EXTENDED ARGUMENTS

71       The vvp options described above must come before the design file  name.
72       After the design file name, however, there may be any number of unspec‐
73       ified arguments. These arguments are not interpreted by vvp but are in‐
74       stead  passed  on  to  the  executed  design, and are available via the
75       $test$plusargs and $value$plusargs system functions.
76
77       Arguments that do not start with the plus(+) character are  not  avail‐
78       able  to  the $plusargs system tasks, but can still be accessed via PLI
79       code via the vpi_get_vlog_info function. This means  that  vpi  modules
80       may  use arguments that do not start with + and be assured that they do
81       not interfere with user defined plus-args.
82
83       There are a few extended arguments that are interpreted by the standard
84       system.vpi  module,  which implements the standard system tasks and are
85       always included. These arguments are described here.
86
87       -vcd    This extended argument sets the wave dump format to  VCD.  This
88               is  the  default in the absence of any IVERILOG_DUMPER environ‐
89               ment variable. The VCD dump files are large and ponderous,  but
90               are  also maximally compatible with third party tools that read
91               waveform dumps.
92
93
94       -lxt|-lxt-speed|-lxt-space
95               These extended arguments set the wave dump format to lxt,  pos‐
96               sibly  with  format optimizations. The -lxt-space flag sets the
97               output format to lxt with full compression enabled. The result‐
98               ing  files are quite small. The -lxt-speed chooses the lxt com‐
99               pression mode that leads to the best  execution  time  and  the
100               fastest read time, at the expense of some file size.
101
102
103       -lxt2|-lxt2-speed|-lxt2-space
104       -lx2|-lx2-speed|-lx2-space
105               The  LXT2  format  is  slower  than  LXT but usually takes less
106               space, and is written out incrementally.  Thus,  you  can  view
107               lxt2  files  while a simulation is still running (or paused) or
108               if your simulation crashes or is killed, you still have a  use‐
109               ful  dump. The -lxt2-speed or -lx2-speed arguments are the same
110               as -lxt2 or -lx2. The -lxt2-space or -lx2-space  arguments  en‐
111               able better compression and turn off incremental writing.
112
113
114       -fst|-fst-speed|-fst-space
115       -fst-space-speed|-fst-speed-space
116               This  is  a  modern dumping format that is both faster and more
117               compact than the other dumping formats. It supports incremental
118               dumping  just like -lxt2. The -fst-speed argument uses a faster
119               compression methods that creates  a  noticeably  larger  output
120               file.  The -fst-space argument performs a repack of the file on
121               close  to  produce  the  smallest  possible  dump   file.   The
122               -fst-space-speed  or  -fst-speed-space arguments use the faster
123               compression method and repack the file on close.
124
125
126       -none   This flag can be used by itself or appended to the end  of  the
127               above  dumpers  (vcd/lxt/lxt2/lx2/fst) to suppress all waveform
128               output. This can make long simulations run faster.
129
130
131       -sdf-warn
132               When loading an SDF annotation file, this option causes the an‐
133               notator  to  print  warnings for questionable but non-fatal is‐
134               sues.
135
136
137       -sdf-info
138               When loading an SDF annotation file, this option causes the an‐
139               notator to print information about the annotation.
140
141
142       -sdf-verbose
143               This is shorthand for -sdf-info -sdf-warn.
144
145
146       -compatible
147               This  extended  argument  enables  improved  compatibility with
148               other simulators. At present this only affects the display for‐
149               mat for real numbers when no format string is supplied.
150
151

ENVIRONMENT

153       The  vvp  command  also accepts some environment variables that control
154       its behavior. These can be used to make semi-permanent changes.
155
156
157       IVERILOG_DUMPER=fst|lxt|lxt2|lx2|vcd|none
158               This selects the output format for the  waveform  output.  Nor‐
159               mally,  waveforms  are  dumped in vcd format, but this variable
160               can be used to select lxt format, which is  far  more  compact,
161               though limited to GTKWave or compatible viewers. It can also be
162               used to suppress VCD output, a time-saver for regression tests.
163
164
165       IVERILOG_VPI_MODULE_PATH=/some/path:/some/other/path
166               This adds additional components to the VPI module search  path.
167               Paths  specified in this way are searched after paths specified
168               with -M, but before the default search path. Multiple paths can
169               be separated with colons or semicolons.
170
171

INTERACTIVE MODE

173       The simulation engine supports an interactive mode. The user may inter‐
174       rupt the simulation (typically by typing <Control-C>) to get to the in‐
175       teractive  prompt.  From  that  prompt, the help command prints a brief
176       summary of the available commands.
177
178       The interactive mode may also be entered by a call to the $stop  system
179       task  from  within  the simulation, or by a call to the vpi_control VPI
180       function with the vpiStop control argument. These means of entering in‐
181       teractive mode are equivalent.
182
183

AUTHOR

185       Steve Williams (steve@icarus.com)
186
187

SEE ALSO

189       iverilog(1), iverilog-vpi(1), <http://iverilog.icarus.com/>
190
191
193       Copyright ©  2001-2015 Stephen Williams
194
195       This document can be freely redistributed according to the terms of the
196       GNU General Public License version 2.0
197
198
199
200                                May 10th, 2015                          vvp(1)
Impressum