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

FreeBSD Manual Pages

  
 
  

home | help
iverilog-vpi(1)		     Version 12.0 (stable)	       iverilog-vpi(1)

NAME
       iverilog-vpi - Compile front end	for VPI	modules

SYNOPSIS
       iverilog-vpi [options] sourcefile...

DESCRIPTION
       iverilog-vpi  is	 a tool	to simplify the	compilation of VPI modules for
       use with	Icarus Verilog.	It takes on the	command	line a list  of	 C  or
       C++  source files, and generates	as output a linked VPI module. See the
       vvp(1) man page for a description of how	the linked module is loaded by
       a simulation.

       By default the output is	named after the	first source file.  For	 exam-
       ple,  if	 the  first  source  file  is  named foo.c, the	output becomes
       foo.vpi.

OPTIONS
       iverilog-vpi accepts the	following options:

       -llibrary
	       Include the named library in the	link of	the VPI	 module.  This
	       allows VPI modules to further reference external	libraries.

       -Ldirectory
	       Add  directory to the list of directories that will be searched
	       for library files.

       -Idirectory
	       Add directory to	the list of directories	that will be  searched
	       for header files.

       -Ddefine
	       Define a	macro named define.

       --name=name
	       Normally,  the  output VPI module will be named after the first
	       source file passed to the command.  This	 flag  sets  the  name
	       (without	the .vpi suffix) of the	output vpi module.

PC-ONLY	OPTIONS
       When  built as a	native Windows program (using the MinGW	toolchain), by
       default iverilog-vpi will attempt to locate the MinGW tools  needed  to
       compile a VPI module on the system path (as set by the PATH environment
       variable).  As an alternative, the user may specify the location	of the
       MinGW tools via the following option.

       -mingw=path
	       Tell the	program	the root of the	MinGW compiler tool suite. The
	       vvp runtime is compiled with this compiler,  and	 this  is  the
	       compiler	 that  iverilog-vpi  expects  to  use  to compile your
	       source code. If this option accompanies a  list	of  files,  it
	       will  apply  to	the current build only.	If this	option is pro-
	       vided on	its own, iverilog-vpi will save	the path in  the  reg-
	       istry  and  use	that path in preference	to the system path for
	       subsequent operations, avoiding the need	to specify it  on  the
	       command line every time.

INFORMATIONAL OPTIONS
       iverilog-vpi  includes  additional  flags to let	Makefile gurus peek at
       the configuration of the	iverilog installation.	 This  way,  Makefiles
       can  be	written	 that  handle complex VPI builds natively, and without
       hard-coding values that depend on the system and	installation.  If used
       at all, these options must be used one at a time, and without any other
       options or directives.

       --install-dir
	       Print the install directory for VPI modules.

       --cflags
	       Print the compiler flags	(CFLAGS	or CXXFLAGS) needed to compile
	       source code destined for	a VPI module.

       --ldflags
	       Print the linker	flags (LDFLAGS)	needed to link a VPI module.

       --ldlibs
	       Print the libraries (LDLIBS) needed to link a VPI module.

       Example GNU makefile that takes advantage of these flags:

	   CFLAGS = -Wall -O $(CFLAGS_$@)
	   VPI_CFLAGS := $(shell iverilog-vpi --cflags)
	   CFLAGS_messagev.o = $(VPI_CFLAGS)
	   CFLAGS_fifo.o = $(VPI_CFLAGS)
	   messagev.o fifo.o: transport.h
	   messagev.vpi: messagev.o fifo.o
		iverilog-vpi $^

AUTHOR
       Steve Williams (steve@icarus.com)

SEE ALSO
       iverilog(1),  vvp(1),   <http://iverilog.icarus.com/>,	<http://mingw-
       w64.yaxm.org/>,

COPYRIGHT
       Copyright (C)  2002-2017	Stephen	Williams

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

				Jan 29th, 2017		       iverilog-vpi(1)

Want to link to this manual page? Use this URL:
<https://man.freebsd.org/cgi/man.cgi?query=iverilog-vpi&sektion=1&manpath=FreeBSD+Ports+15.0>

home | help