1iverilog-vpi(1)          $Date: 2004/10/04 01:10:53 $          iverilog-vpi(1)
2
3
4

NAME

6       iverilog-vpi - Compile front end for VPI modules
7
8

SYNOPSIS

10       iverilog-vpi [--name=name] sourcefile...
11
12

DESCRIPTION

14       iverilog-vpi  is  a tool to simplify the compilation of VPI modules for
15       use with Icarus Verilog. It takes on the command line a list  of  C  or
16       C++  source files, and generates as output a linked VPI module. See the
17       vvp(1) man page for a description of how the linked module is loaded by
18       a simulation.
19
20       The  output  is  named after the first source file. For example, if the
21       first source file is named foo.c, the output becomes foo.vpi.
22
23

OPTIONS

25       iverilog-vpi accepts the following options:
26
27       -llibrary
28               Include the named library in the link of the VPI  module.  This
29               allows VPI modules to further reference external libraries.
30
31
32       --name=name
33               Normally,  the  output VPI module will be named after the first
34               source file passed to the command.  This  flag  sets  the  name
35               (without the .vpi suffix) of the output vpi module.
36
37
38       --install-dir
39               This flag causes the program to print the install directory for
40               VPI modules, then exit. It is a convenience  for  makefiles  or
41               automated plug-in installers.
42
43

PC-ONLY OPTIONS

45       The  PC  port of iverilog-vpi includes two special flags needed to sup‐
46       port the more intractable development environment. These flags help the
47       program locate parts that it needs.
48
49
50       -mingw=path
51               Tell the program the root of the Mingw compiler tool suite. The
52               vvp runtime is compiled with this compiler,  and  this  is  the
53               compiler  that  iverilog-vpi  expects  to  use  to compile your
54               source code. This is normally not needed, and if you do use it,
55               it  is only needed once. The compiler will save the path in the
56               registry for use later.
57
58
59       -ivl=path
60               Set for the use during compilation the root if the Icarus  Ver‐
61               ilog install. This is the place where you installed Icarus Ver‐
62               ilog when you ran the installer. This flag is also only  needed
63               once, and the path is stored in the registry for future use.
64
65

UNIX-ONLY OPTIONS

67       The UNIX version of iverilog-vpi includes additional flags to let Make‐
68       file gurus peek at the  configuration  of  the  iverilog  installation.
69       This  way,  Makefiles  can  be  written  that handle complex VPI builds
70       natively, and without hard-coding values that depend on the system  and
71       installation.   If  used  at  all,  these options must be used one at a
72       time, and without any other options or directives.
73
74
75       --cflags
76               Print the compiler flags (CFLAGS or CXXFLAGS) needed to compile
77               source code destined for a VPI module.
78
79
80       --ldflags
81               Print the linker flags (LDFLAGS) needed to link a VPI module.
82
83
84       --ldlibs
85               Print the libraries (LDLIBS) needed to link a VPI module.
86
87
88       -m32    On  64bit systems that support it (and support vvp32) this flag
89               requests a 32bit  vpi  binary  instead  of  the  default  64bit
90               binary.
91
92
93       Example GNU makefile that takes advantage of these flags:
94
95           CFLAGS = -Wall -O $(CFLAGS_$@)
96           VPI_CFLAGS := $(shell iverilog-vpi --cflags)
97           CFLAGS_messagev.o = $(VPI_CFLAGS)
98           CFLAGS_fifo.o = $(VPI_CFLAGS)
99           messagev.o fifo.o: transport.h
100           messagev.vpi: messagev.o fifo.o
101                iverilog-vpi $^
102
103

AUTHOR

105       Steve Williams (steve@icarus.com)
106
107

SEE ALSO

109       iverilog(1),        vvp(1),       <http://www.icarus.com/eda/verilog/>,
110       <http://www.mingw.org>,
111
112
114       Copyright ©  2002 Stephen Williams
115
116       This document can be freely redistributed according to the terms of the
117       GNU General Public License version 2.0
118
119
120
121Version                  $Date: 2004/10/04 01:10:53 $          iverilog-vpi(1)
Impressum