1vvp(1)                      Version 10.3  (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
18       invoked 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
42               locally, 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
74       instead  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
111               enable 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
133               annotator  to  print  warnings  for  questionable but non-fatal
134               issues.
135
136
137       -sdf-info
138               When loading an SDF annotation file,  this  option  causes  the
139               annotator 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

INTERACTIVE MODE

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

AUTHOR

178       Steve Williams (steve@icarus.com)
179
180

SEE ALSO

182       iverilog(1), iverilog-vpi(1), <http://iverilog.icarus.com/>
183
184
186       Copyright ©  2001-2015 Stephen Williams
187
188       This document can be freely redistributed according to the terms of the
189       GNU General Public License version 2.0
190
191
192
193                                May 10th, 2015                          vvp(1)
Impressum