This shows you the differences between two versions of the page.
geda:icarus_vvp_runtime [2012/02/20 15:14] |
geda:icarus_vvp_runtime [2012/02/20 15:14] (current) |
||
---|---|---|---|
Line 1: | Line 1: | ||
+ | ====== Icarus Verilog vvp runtime engine man-page ====== | ||
+ | <code>vvp(1) $Date: 2005/01/29 06:28:19 $ vvp(1) | ||
+ | |||
+ | |||
+ | NAME | ||
+ | vvp - Icarus Verilog vvp runtime engine | ||
+ | |||
+ | |||
+ | SYNOPSIS | ||
+ | vvp [-sv] [-Mpath] [-mmodule] [-llogfile] inputfile [extended-args...] | ||
+ | |||
+ | |||
+ | DESCRIPTION | ||
+ | vvp is the run time engine that executes the default compiled form gen- | ||
+ | erated by Icarus Verilog. The output from the iverilog command is not | ||
+ | by itself executable on any platform. Instead, the vvp program is | ||
+ | invoked to execute the generated output file. | ||
+ | |||
+ | |||
+ | OPTIONS | ||
+ | vvp accepts the following options: | ||
+ | |||
+ | -llogfile | ||
+ | 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>. | ||
+ | |||
+ | -Mpath 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 directo- | ||
+ | ries. Multiple paths are allowed, and modules will be searched | ||
+ | in order. | ||
+ | |||
+ | -mmodule | ||
+ | Tell the vvp run time to load the named module before executing | ||
+ | the simulation. The system.vpi 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. | ||
+ | |||
+ | 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. | ||
+ | |||
+ | -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. | ||
+ | |||
+ | -v Turn on verbose messages. This will cause information about run | ||
+ | time progress to be printed to standard out. | ||
+ | |||
+ | |||
+ | EXTENDED ARGUMENTS | ||
+ | The vvp options described above must come before the design file name. | ||
+ | After the design file name, however, there may be any number of unspec- | ||
+ | ified arguments. These arguments are not interpreted by vvp but are | ||
+ | instead passed on to the executed design, and are available via the | ||
+ | $test$plusargs and $value$plusargs system functions. | ||
+ | |||
+ | Arguments that do not start with the plus(+) character are not avail- | ||
+ | able to the $plusargs system tasks, but can still be accessed via PLI | ||
+ | code via the vpi_get_vlog_info 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. | ||
+ | |||
+ | There are a few extended arguments that are interpreted by the standard | ||
+ | system.vpi module, which implements the standard system tasks and so is | ||
+ | always included. These arguments are described here. | ||
+ | |||
+ | -vcd|-vcd-none | ||
+ | This extended argument sets the wave dump format to VCD. This | ||
+ | is the default in the absence of any IVERILOG_DUMPER environ- | ||
+ | ment variable. The VCD dump files are large and ponderous, but | ||
+ | are also maximally compatible with third party tools that read | ||
+ | waveform dumps. | ||
+ | |||
+ | The -vcd-none variant actually suppresses all waveform output. This can | ||
+ | make long simulations run faster. | ||
+ | |||
+ | |||
+ | -lxt|-lxt-speed|-lxt-space|-lxt-none | ||
+ | These extended arguments set the wave dump format to lxt, pos- | ||
+ | sibly with format optimizations. The -lxt-space flag sets the | ||
+ | output format to lxt with full compression enabled. The result- | ||
+ | ing files are quite small. The -lxt-speed chooses the lxt com- | ||
+ | pression mode that leads to the best execution time and the | ||
+ | fastest read time, at the expense of some file size. | ||
+ | |||
+ | The -lxt-none variant actually suppresses all waveform output. This can | ||
+ | make long simulations run faster. | ||
+ | |||
+ | |||
+ | -lxt2 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. | ||
+ | |||
+ | |||
+ | ENVIRONMENT | ||
+ | The vvp command also accepts some environment variables that control | ||
+ | its behavior. These can be used to make semi-permanent changes. | ||
+ | |||
+ | |||
+ | IVERILOG_DUMPER=lxt|lxt2|vcd|none | ||
+ | This selects the output format for the waveform output. Nor- | ||
+ | mally, waveforms are dumped in vcd format, but this variable | ||
+ | can be used to select lxt format, which is far more compact, | ||
+ | though limited to gtkwave or compatible viewers. It can also be | ||
+ | used to suppress VCD output, a time-saver for regression tests. | ||
+ | |||
+ | |||
+ | INTERACTIVE MODE | ||
+ | The simulation engine supports an interactive mode. The user may inter- | ||
+ | rupt the simulation (typically by typing Ctrl-C) to get to the interac- | ||
+ | tive prompt. From that prompt, the help command prints a brief summary | ||
+ | of the available commands. | ||
+ | |||
+ | The interactive mode may also be entered by a call to the $stop system | ||
+ | task from within the simulation, or by a call to the vpi_control VPI | ||
+ | function with the vpiStop control argument. These means of entering | ||
+ | interactive mode are equivalent. | ||
+ | |||
+ | |||
+ | AUTHOR | ||
+ | Steve Williams (steve@icarus.com) | ||
+ | |||
+ | |||
+ | SEE ALSO | ||
+ | iverilog(1), iverilog-vpi(1), <http://www.icarus.com/eda/verilog/> | ||
+ | |||
+ | |||
+ | COPYRIGHT | ||
+ | Copyright © 2001-2003 Stephen Williams | ||
+ | |||
+ | This document can be freely redistributed according to the terms of the | ||
+ | GNU General Public License version 2.0 | ||
+ | |||
+ | |||
+ | |||
+ | Version $Date: 2005/01/29 06:28:19 $ vvp(1)</code> |