OnWorks favicon

iverilog-vpi - Online in the Cloud

Run iverilog-vpi in OnWorks free hosting provider over Ubuntu Online, Fedora Online, Windows online emulator or MAC OS online emulator

This is the command iverilog-vpi that can be run in the OnWorks free hosting provider using one of our multiple free online workstations such as Ubuntu Online, Fedora Online, Windows online emulator or MAC OS online emulator



iverilog-vpi - Compile front end for VPI modules


iverilog-vpi [--name=name] sourcefile...


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.

The output is named after the first source file. For example, if the first source file is
named foo.c, the output becomes foo.vpi.


iverilog-vpi accepts the following options:

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

Add directory to the list of directories that will be search for header files.

Define a macro named define.

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.

This flag causes the program to print the install directory for VPI modules, then
exit. It is a convenience for makefiles or automated plug-in installers.

--cflags, --ldflags and --ldlibs
These flags provide compile time information.


The PC port of iverilog-vpi includes two special flags needed to support the more
intractable development environment. These flags help the program locate parts that it

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. This is normally not needed, and if you do use
it, it is only needed once. The compiler will save the path in the registry for
use later.

Set for the use during compilation the root if the Icarus Verilog install. This is
the place where you installed Icarus Verilog when you ran the installer. This flag
is also only needed once, and the path is stored in the registry for future use.


The UNIX version of 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.

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

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

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

-m32 On 64bit systems that support it (and support vvp32) this flag requests a 32bit
vpi binary instead of the default 64bit binary.

Example GNU makefile that takes advantage of these flags:

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

Use iverilog-vpi online using onworks.net services

Free Servers & Workstations

Download Windows & Linux apps

  • 1
    The strace project has been moved to
    https://strace.io. strace is a
    diagnostic, debugging and instructional
    userspace tracer for Linux. It is used
    to monitor a...
    Download strace
  • 2
    A GUI for mkvextract utility (part of
    MKVToolNix) which incorporates most (if
    not all) functionality of mkvextract and
    mkvinfo utilities. Written in C#NET 4.0,...
    Download gMKVExtractGUI
  • 3
    JasperReports Library
    JasperReports Library
    JasperReports Library is the
    world's most popular open source
    business intelligence and reporting
    engine. It is entirely written in Java
    and it is able to ...
    Download JasperReports Library
  • 4
    Frappe Books
    Frappe Books
    Frappe Books is a free and open source
    desktop book-keeping software that's
    simple and well-designed to be used by
    small businesses and freelancers. It'...
    Download Frappe Books
  • 5
    Numerical Python
    Numerical Python
    NEWS: NumPy 1.11.2 is the last release
    that will be made on sourceforge. Wheels
    for Windows, Mac, and Linux as well as
    archived source distributions can be fou...
    Download Numerical Python
  • 6
    CMU Sphinx
    CMU Sphinx
    CMUSphinx is a speaker-independent large
    vocabulary continuous speech recognizer
    released under BSD style license. It is
    also a collection of open source tools ...
    Download CMU Sphinx
  • More »

Linux commands