2005-01-29 07:28:19 +01:00
|
|
|
.TH vvp 1 "$Date: 2005/01/29 06:28:19 $" Version "$Date: 2005/01/29 06:28:19 $"
|
2001-07-21 06:34:25 +02:00
|
|
|
.SH NAME
|
|
|
|
|
vvp - Icarus Verilog vvp runtime engine
|
|
|
|
|
|
|
|
|
|
.SH SYNOPSIS
|
|
|
|
|
.B vvp
|
2005-01-29 07:28:19 +01:00
|
|
|
[-sv] [-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
|
|
|
|
|
.l
|
|
|
|
|
\fIvvp\fP accepts the following options:
|
|
|
|
|
.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.
|
|
|
|
|
Specify logfile as '-' to send log output to <stderr>. $display and
|
|
|
|
|
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
|
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.
|
|
|
|
|
|
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
|
|
|
|
|
and so is 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
|
|
|
|
|
format optimizations. The \fB-lxt-space\fP flag sets the output
|
|
|
|
|
format to lxt with full compression enabled. The resulting files are
|
|
|
|
|
quite small. The \fB-lxt-speed\fP chooses the lxt compression mode
|
|
|
|
|
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
|
2007-11-09 00:56:10 +01:00
|
|
|
.B -lxt2\fR|\fP-lx2
|
2003-12-07 21:05:56 +01:00
|
|
|
The LXT2 format is slower then LXT (faster then VCD) but takes less
|
|
|
|
|
space, and 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.
|
|
|
|
|
|
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
|
|
|
|
|
dumpers (vcd/lxt/lxt2/lx2) to suppress all waveform output. This can
|
|
|
|
|
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
|
|
|
|
|
This is shorthand for -sdf-info -sdf-warn.
|
|
|
|
|
|
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
|
2007-11-09 00:56:10 +01:00
|
|
|
.B IVERILOG_DUMPER=\fIlxt|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
|
|
|
|
|
interrupt the simulation (typically by typing Ctrl-C) to get to the
|
|
|
|
|
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),
|
2003-02-20 01:50:28 +01:00
|
|
|
iverilog-vpi(1),
|
2001-07-21 06:34:25 +02:00
|
|
|
.BR "<http://www.icarus.com/eda/verilog/>"
|
|
|
|
|
|
|
|
|
|
.SH COPYRIGHT
|
|
|
|
|
.nf
|
2003-02-21 04:40:35 +01:00
|
|
|
Copyright \(co 2001-2003 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
|