Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages


home | help
vvp(1)			    Version 10.3  (stable)			vvp(1)

       vvp - Icarus Verilog vvp	runtime	engine

       vvp  [-inNsvV]  [-Mpath]	 [-mmodule]  [-llogfile]  inputfile [extended-

       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  in-
       voked to	execute	the generated output file.

       vvp accepts the following options:

       -i      This flag causes	all output to <stdout> to be unbuffered.

	       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

       -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.

	       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  lo-
	       cally,  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.

       -n      This  flag  makes $stop or a <Control-C>	a synonym for $finish.
	       It can be used to give the program a more meaningful  interface
	       when running in a non-interactive environment.

       -N      This  flag  does	 the  same thing as -n,	but results in an exit
	       code of 1 if the	stimulation calls $stop.  It can  be  used  to
	       indicate	a simulation failure when running a testbench.

       -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.

       -V      Print the version of the	runtime, and exit.

       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 in-
       stead  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 are
       always included.	These arguments	are described here.

       -vcd    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.

	       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  LXT2  format  is  slower  than  LXT	but usually 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  use-
	       ful  dump. The -lxt2-speed or -lx2-speed	arguments are the same
	       as -lxt2	or -lx2. The -lxt2-space or -lx2-space	arguments  en-
	       able better compression and turn	off incremental	writing.

	       This  is	 a  modern dumping format that is both faster and more
	       compact than the	other dumping formats. It supports incremental
	       dumping	just like -lxt2. The -fst-speed	argument uses a	faster
	       compression methods that	creates	 a  noticeably	larger	output
	       file.  The -fst-space argument performs a repack	of the file on
	       close  to  produce  the	smallest  possible  dump   file.   The
	       -fst-space-speed	 or  -fst-speed-space arguments	use the	faster
	       compression method and repack the file on close.

       -none   This flag can be	used by	itself or appended to the end  of  the
	       above  dumpers  (vcd/lxt/lxt2/lx2/fst) to suppress all waveform
	       output. This can	make long simulations run faster.

	       When loading an SDF annotation file, this option	causes the an-
	       notator	to  print  warnings for	questionable but non-fatal is-

	       When loading an SDF annotation file, this option	causes the an-
	       notator to print	information about the annotation.

	       This is shorthand for -sdf-info -sdf-warn.

	       This  extended  argument	 enables  improved  compatibility with
	       other simulators. At present this only affects the display for-
	       mat for real numbers when no format string is supplied.

       The  vvp	 command  also accepts some environment	variables that control
       its behavior. These can be used to make semi-permanent changes.

	       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.

       The simulation engine supports an interactive mode. The user may	inter-
       rupt the	simulation (typically by typing	<Control-C>) to	get to the in-
       teractive 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 in-
       teractive mode are equivalent.

       Steve Williams (

       iverilog(1), iverilog-vpi(1), <>

       Copyright (C)  2001-2015	Stephen	Williams

       This document can be freely redistributed according to the terms	of the
       GNU General Public License version 2.0

				May 10th, 2015				vvp(1)


Want to link to this manual page? Use this URL:

home | help