Updated the wiki docs from the online version (in prep for the next release)
[geda-gaf.git] / docs / wiki / geda-icarus_vvp_runtime.html
blob08277ee6607117b2f614fa898afdda828c046563
1 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
2 "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
3 <html>
4 <head>
5 <title></title>
6 <link rel="stylesheet" media="screen" type="text/css" href="./style.css" />
7 <link rel="stylesheet" media="screen" type="text/css" href="./design.css" />
8 <link rel="stylesheet" media="print" type="text/css" href="./print.css" />
10 <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
11 </head>
12 <body>
17 <h1><a name="icarus_verilog_vvp_runtime_engine_man-page" id="icarus_verilog_vvp_runtime_engine_man-page">Icarus Verilog vvp runtime engine man-page</a></h1>
18 <div class="level1">
19 <pre class="code">vvp(1) $Date: 2005/01/29 06:28:19 $ vvp(1)
23 NAME
24 vvp - Icarus Verilog vvp runtime engine
27 SYNOPSIS
28 vvp [-sv] [-Mpath] [-mmodule] [-llogfile] inputfile [extended-args...]
31 DESCRIPTION
32 vvp is the run time engine that executes the default compiled form gen-
33 erated by Icarus Verilog. The output from the iverilog command is not
34 by itself executable on any platform. Instead, the vvp program is
35 invoked to execute the generated output file.
38 OPTIONS
39 vvp accepts the following options:
41 -llogfile
42 This flag specifies a logfile where all MCI &lt;stdlog&gt; output
43 goes. Specify logfile as ’-’ to send log output to &lt;stderr&gt;.
44 $display and friends send their output both to &lt;stdout&gt; and
45 &lt;stdlog&gt;.
47 -Mpath This flag adds a directory to the path list used to locate VPI
48 modules. The default path includes only the install directory
49 for the system.vpi module, but this flag can add other directo-
50 ries. Multiple paths are allowed, and modules will be searched
51 in order.
53 -mmodule
54 Tell the vvp run time to load the named module before executing
55 the simulation. The system.vpi module is loaded by default, but
56 additional modules, including modules that you compiled
57 locally, can be specified with this flag. Any number of modules
58 can be loaded, and they will be linked in the order they are
59 listed on the command line.
61 Normally, you only need to specify the name of the module,
62 without any directory path or .vpi suffix and the search path
63 is scanned to find the module. However, if the name includes at
64 least one directory character, then the search path is not
65 scanned and the name is assumed to be a complete file name.
67 -s Stop. This will cause the simulation to stop in the beginning,
68 before any events are scheduled. This allows the interactive
69 user to get hold of the simulation just before it starts.
71 -v Turn on verbose messages. This will cause information about run
72 time progress to be printed to standard out.
75 EXTENDED ARGUMENTS
76 The vvp options described above must come before the design file name.
77 After the design file name, however, there may be any number of unspec-
78 ified arguments. These arguments are not interpreted by vvp but are
79 instead passed on to the executed design, and are available via the
80 $test$plusargs and $value$plusargs system functions.
82 Arguments that do not start with the plus(+) character are not avail-
83 able to the $plusargs system tasks, but can still be accessed via PLI
84 code via the vpi_get_vlog_info function. This means that vpi modules
85 may use arguments that do not start with + and be assured that they do
86 not interfere with user defined plus-args.
88 There are a few extended arguments that are interpreted by the standard
89 system.vpi module, which implements the standard system tasks and so is
90 always included. These arguments are described here.
92 -vcd|-vcd-none
93 This extended argument sets the wave dump format to VCD. This
94 is the default in the absence of any IVERILOG_DUMPER environ-
95 ment variable. The VCD dump files are large and ponderous, but
96 are also maximally compatible with third party tools that read
97 waveform dumps.
99 The -vcd-none variant actually suppresses all waveform output. This can
100 make long simulations run faster.
103 -lxt|-lxt-speed|-lxt-space|-lxt-none
104 These extended arguments set the wave dump format to lxt, pos-
105 sibly with format optimizations. The -lxt-space flag sets the
106 output format to lxt with full compression enabled. The result-
107 ing files are quite small. The -lxt-speed chooses the lxt com-
108 pression mode that leads to the best execution time and the
109 fastest read time, at the expense of some file size.
111 The -lxt-none variant actually suppresses all waveform output. This can
112 make long simulations run faster.
115 -lxt2 The LXT2 format is slower then LXT (faster then VCD) but takes
116 less space, and is written out incrementally. Thus, you can
117 view lxt2 files while a simulation is still running (or paused)
118 or if your simulation crashes or is killed, you still have a
119 useful dump.
122 ENVIRONMENT
123 The vvp command also accepts some environment variables that control
124 its behavior. These can be used to make semi-permanent changes.
127 IVERILOG_DUMPER=lxt|lxt2|vcd|none
128 This selects the output format for the waveform output. Nor-
129 mally, waveforms are dumped in vcd format, but this variable
130 can be used to select lxt format, which is far more compact,
131 though limited to gtkwave or compatible viewers. It can also be
132 used to suppress VCD output, a time-saver for regression tests.
135 INTERACTIVE MODE
136 The simulation engine supports an interactive mode. The user may inter-
137 rupt the simulation (typically by typing Ctrl-C) to get to the interac-
138 tive prompt. From that prompt, the help command prints a brief summary
139 of the available commands.
141 The interactive mode may also be entered by a call to the $stop system
142 task from within the simulation, or by a call to the vpi_control VPI
143 function with the vpiStop control argument. These means of entering
144 interactive mode are equivalent.
147 AUTHOR
148 Steve Williams (steve@icarus.com)
151 SEE ALSO
152 iverilog(1), iverilog-vpi(1), &lt;http://www.icarus.com/eda/verilog/&gt;
155 COPYRIGHT
156 Copyright © 2001-2003 Stephen Williams
158 This document can be freely redistributed according to the terms of the
159 GNU General Public License version 2.0
163 Version $Date: 2005/01/29 06:28:19 $ vvp(1)</pre>
165 </div>
166 </body>
167 </html>