2015-05-10 14:19:51 +02:00
|
|
|
.TH vvp 1 "May 10th, 2015" "" "Version %M.%m.%n %E"
|
2001-07-21 06:34:25 +02:00
|
|
|
.SH NAME
|
|
|
|
|
vvp - Icarus Verilog vvp runtime engine
|
|
|
|
|
|
|
|
|
|
.SH SYNOPSIS
|
|
|
|
|
.B vvp
|
2015-05-16 01:39:03 +02:00
|
|
|
[\-inNsvV] [\-Mpath] [\-mmodule] [\-llogfile] inputfile [extended-args...]
|
2001-07-21 06:34:25 +02:00
|
|
|
|
|
|
|
|
.SH DESCRIPTION
|
|
|
|
|
.PP
|
|
|
|
|
\fIvvp\fP is the run time engine that executes the default compiled
|
|
|
|
|
form generated by Icarus Verilog. The output from the \fIiverilog\fP
|
|
|
|
|
command is not by itself executable on any platform. Instead, the
|
|
|
|
|
\fIvvp\fP program is invoked to execute the generated output file.
|
|
|
|
|
|
|
|
|
|
.SH OPTIONS
|
|
|
|
|
\fIvvp\fP accepts the following options:
|
|
|
|
|
.TP 8
|
2015-05-16 01:39:03 +02:00
|
|
|
.B -i
|
|
|
|
|
This flag causes all output to <stdout> to be unbuffered.
|
|
|
|
|
.TP 8
|
2001-07-21 23:15:51 +02:00
|
|
|
.B -l\fIlogfile\fP
|
|
|
|
|
This flag specifies a logfile where all MCI <stdlog> output goes.
|
2009-11-03 21:59:19 +01:00
|
|
|
Specify logfile as '\-' to send log output to <stderr>. $display and
|
2001-07-21 23:15:51 +02:00
|
|
|
friends send their output both to <stdout> and <stdlog>.
|
|
|
|
|
.TP 8
|
2001-07-21 06:34:25 +02:00
|
|
|
.B -M\fIpath\fP
|
2001-07-26 05:13:51 +02:00
|
|
|
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.
|
2001-07-21 06:34:25 +02:00
|
|
|
.TP 8
|
|
|
|
|
.B -m\fImodule\fP
|
|
|
|
|
Tell the vvp run time to load the named module before executing the
|
|
|
|
|
simulation. The \fBsystem.vpi\fP 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.
|
2001-07-28 05:29:42 +02:00
|
|
|
|
|
|
|
|
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.
|
2001-07-21 06:34:25 +02:00
|
|
|
.TP 8
|
2007-12-30 07:26:02 +01:00
|
|
|
.B -n
|
2009-11-03 21:59:19 +01:00
|
|
|
This flag makes $stop or a <Control\-C> a synonym for $finish.
|
2007-12-30 07:26:02 +01:00
|
|
|
It can be used to give the program a more meaningful interface when
|
|
|
|
|
running in a non-interactive environment.
|
|
|
|
|
.TP 8
|
2009-04-24 13:21:58 +02:00
|
|
|
.B -N
|
2009-11-03 21:59:19 +01:00
|
|
|
This flag does the same thing as \-n, but results in an exit code
|
2009-04-24 13:21:58 +02:00
|
|
|
of 1 if the stimulation calls $stop. It can be used to indicate a
|
|
|
|
|
simulation failure when running a testbench.
|
|
|
|
|
.TP 8
|
2005-01-29 07:28:19 +01:00
|
|
|
.B -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.
|
|
|
|
|
.TP 8
|
2001-07-21 06:34:25 +02:00
|
|
|
.B -v
|
|
|
|
|
Turn on verbose messages. This will cause information about run time
|
|
|
|
|
progress to be printed to standard out.
|
2008-11-20 01:45:17 +01:00
|
|
|
.TP 8
|
|
|
|
|
.B -V
|
|
|
|
|
Print the version of the runtime, and exit.
|
2001-07-21 06:34:25 +02:00
|
|
|
|
2002-04-12 04:44:02 +02:00
|
|
|
.SH EXTENDED ARGUMENTS
|
|
|
|
|
.PP
|
|
|
|
|
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 \fI$test$plusargs\fP and \fI$value$plusargs\fP system functions.
|
|
|
|
|
.PP
|
|
|
|
|
Arguments that do not start with the plus(+) character are not
|
2003-03-06 21:04:42 +01:00
|
|
|
available to the \fI$plusargs\fP system tasks, but can still be
|
|
|
|
|
accessed via PLI code via the \fIvpi_get_vlog_info\fP 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.
|
2003-02-20 01:50:28 +01:00
|
|
|
.PP
|
|
|
|
|
There are a few extended arguments that are interpreted by the
|
2003-03-06 21:04:42 +01:00
|
|
|
standard system.vpi module, which implements the standard system tasks
|
2010-05-23 20:28:27 +02:00
|
|
|
and are always included. These arguments are described here.
|
2003-02-20 01:50:28 +01:00
|
|
|
.TP 8
|
2007-12-11 01:14:02 +01:00
|
|
|
.B -vcd
|
2003-02-20 01:50:28 +01:00
|
|
|
This extended argument sets the wave dump format to VCD. This is the
|
|
|
|
|
default in the absence of any \fBIVERILOG_DUMPER\fP environment
|
|
|
|
|
variable. The VCD dump files are large and ponderous, but are also
|
|
|
|
|
maximally compatible with third party tools that read waveform dumps.
|
|
|
|
|
|
|
|
|
|
.TP 8
|
2007-12-11 01:14:02 +01:00
|
|
|
.B -lxt\fR|\fP-lxt-speed\fR|\fP-lxt-space
|
2003-02-20 01:50:28 +01:00
|
|
|
These extended arguments set the wave dump format to lxt, possibly with
|
2009-11-03 21:59:19 +01:00
|
|
|
format optimizations. The \fB\-lxt\-space\fP flag sets the output
|
2003-02-20 01:50:28 +01:00
|
|
|
format to lxt with full compression enabled. The resulting files are
|
2009-11-03 21:59:19 +01:00
|
|
|
quite small. The \fB\-lxt\-speed\fP chooses the lxt compression mode
|
2003-02-20 01:50:28 +01:00
|
|
|
that leads to the best execution time and the fastest read time, at
|
|
|
|
|
the expense of some file size.
|
2002-07-12 04:35:35 +02:00
|
|
|
|
2003-12-07 21:05:56 +01:00
|
|
|
.TP 8
|
2010-05-23 20:28:27 +02:00
|
|
|
.B -lxt2\fR|\fP-lxt2-speed\fR|\fP-lxt2-space
|
|
|
|
|
.br
|
|
|
|
|
.ns
|
|
|
|
|
.TP
|
|
|
|
|
.B -lx2\fR|\fP-lx2-speed\fR|\fP-lx2-space
|
2011-03-11 20:27:54 +01:00
|
|
|
The LXT2 format is slower than LXT but usually takes less space, and
|
2010-05-23 20:28:27 +02:00
|
|
|
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 \fB\-lxt2\-speed\fP
|
|
|
|
|
or \fB\-lx2\-speed\fP arguments are the same as \fB\-lxt2\fP or
|
|
|
|
|
\fB\-lx2\fP. The \fB\-lxt2\-space\fP or \fB\-lx2\-space\fP arguments
|
|
|
|
|
enable better compression and turn off incremental writing.
|
2003-12-07 21:05:56 +01:00
|
|
|
|
2010-05-22 00:04:17 +02:00
|
|
|
.TP 8
|
2010-05-23 20:28:27 +02:00
|
|
|
.B -fst\fR|\fP-fst-speed\fR|\fP-fst-space
|
|
|
|
|
.br
|
|
|
|
|
.ns
|
|
|
|
|
.TP
|
|
|
|
|
.B -fst-space-speed\fR|\fP-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 \fB\-lxt2\fP. The \fB\-fst\-speed\fP argument uses a faster
|
|
|
|
|
compression methods that creates a noticeably larger output file.
|
|
|
|
|
The \fB\-fst\-space\fP argument performs a repack of the file on
|
|
|
|
|
close to produce the smallest possible dump file. The
|
|
|
|
|
\fB\-fst\-space\-speed\fP or \fB\-fst\-speed\-space\fP arguments
|
|
|
|
|
use the faster compression method and repack the file on close.
|
2010-05-22 00:04:17 +02:00
|
|
|
|
2007-12-11 01:14:02 +01:00
|
|
|
.TP 8
|
|
|
|
|
.B -none
|
|
|
|
|
This flag can be used by itself or appended to the end of the above
|
2010-05-22 00:04:17 +02:00
|
|
|
dumpers (vcd/lxt/lxt2/lx2/fst) to suppress all waveform output. This can
|
2007-12-11 01:14:02 +01:00
|
|
|
make long simulations run faster.
|
|
|
|
|
|
2007-11-23 03:22:46 +01:00
|
|
|
.TP 8
|
|
|
|
|
.B -sdf-warn
|
2007-12-11 01:14:02 +01:00
|
|
|
When loading an SDF annotation file, this option causes the annotator
|
2007-11-23 03:22:46 +01:00
|
|
|
to print warnings for questionable but non-fatal issues.
|
|
|
|
|
|
|
|
|
|
.TP 8
|
|
|
|
|
.B -sdf-info
|
2007-12-11 01:14:02 +01:00
|
|
|
When loading an SDF annotation file, this option causes the annotator
|
2007-11-23 03:22:46 +01:00
|
|
|
to print information about the annotation.
|
|
|
|
|
|
|
|
|
|
.TP 8
|
|
|
|
|
.B -sdf-verbose
|
2009-08-10 15:34:18 +02:00
|
|
|
This is shorthand for \-sdf\-info \-sdf\-warn.
|
2007-11-23 03:22:46 +01:00
|
|
|
|
2013-10-20 23:59:53 +02:00
|
|
|
.TP 8
|
|
|
|
|
.B -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.
|
|
|
|
|
|
2002-07-12 04:35:35 +02:00
|
|
|
.SH ENVIRONMENT
|
|
|
|
|
.PP
|
|
|
|
|
The vvp command also accepts some environment variables that control
|
|
|
|
|
its behavior. These can be used to make semi-permanent changes.
|
|
|
|
|
|
|
|
|
|
.TP 8
|
2010-05-22 00:04:17 +02:00
|
|
|
.B IVERILOG_DUMPER=\fIfst|lxt|lxt2|lx2|vcd|none\fP
|
2002-07-12 04:35:35 +02:00
|
|
|
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
|
2003-03-06 21:04:42 +01:00
|
|
|
gtkwave or compatible viewers. It can also be used to suppress VCD
|
|
|
|
|
output, a time-saver for regression tests.
|
2002-07-12 04:35:35 +02:00
|
|
|
|
2003-02-21 04:40:35 +01:00
|
|
|
.SH INTERACTIVE MODE
|
|
|
|
|
.PP
|
|
|
|
|
The simulation engine supports an interactive mode. The user may
|
2009-11-03 21:59:19 +01:00
|
|
|
interrupt the simulation (typically by typing <Control\-C>) to get to the
|
2003-02-21 04:40:35 +01:00
|
|
|
interactive prompt. From that prompt, the \fIhelp\fP command prints a
|
|
|
|
|
brief summary of the available commands.
|
|
|
|
|
.PP
|
|
|
|
|
The interactive mode may also be entered by a call to the \fI$stop\fP
|
|
|
|
|
system task from within the simulation, or by a call to the
|
|
|
|
|
\fIvpi_control\fP VPI function with the \fIvpiStop\fP control
|
|
|
|
|
argument. These means of entering interactive mode are equivalent.
|
|
|
|
|
|
2001-07-21 06:34:25 +02:00
|
|
|
.SH "AUTHOR"
|
|
|
|
|
.nf
|
|
|
|
|
Steve Williams (steve@icarus.com)
|
|
|
|
|
|
|
|
|
|
.SH SEE ALSO
|
2001-07-30 00:50:44 +02:00
|
|
|
iverilog(1),
|
2009-11-03 21:59:19 +01:00
|
|
|
iverilog\-vpi(1),
|
2015-05-10 14:19:51 +02:00
|
|
|
.BR "<http://iverilog.icarus.com/>"
|
2001-07-21 06:34:25 +02:00
|
|
|
|
|
|
|
|
.SH COPYRIGHT
|
|
|
|
|
.nf
|
2015-05-10 14:19:51 +02:00
|
|
|
Copyright \(co 2001\-2015 Stephen Williams
|
2001-07-21 06:34:25 +02:00
|
|
|
|
2004-10-04 03:10:51 +02:00
|
|
|
This document can be freely redistributed according to the terms of the
|
2001-07-21 06:34:25 +02:00
|
|
|
GNU General Public License version 2.0
|