update documentation to describe vpi in vvp.

This commit is contained in:
steve 2001-06-12 23:32:49 +00:00
parent b6e1d63cb0
commit e28b7f06c5
2 changed files with 16 additions and 13 deletions

View File

@ -13,10 +13,10 @@ home page at <http://www.icarus.com/eda/verilog>.
Icarus Verilog is not aimed at being a simulator in the traditional
sense, but a compiler that generates code employed by back-end
tools. These back-end tools currently include a simulator written in
C++ called VVM and an XNF (Xilinx Netlist Format) generator. See
"vvm.txt" and "xnf.txt" for further details on these back-end
processors. In the future, backends are expected for EDIF/LPM,
structural Verilog, VHDL, etc.
C++ called VVM, another faster simulator called VVP and an XNF (Xilinx
Netlist Format) generator. See "vvm.txt" and "xnf.txt" for further
details on these back-end processors. In the future, backends are
expected for EDIF/LPM, structural Verilog, VHDL, etc.
For instructions on how to run Icarus Verilog, see the ``iverilog''
man page.
@ -36,7 +36,7 @@ You need the following software to compile Icarus Verilog from source
on a UNIX-like system:
- GNU Make
The Makefiles use some GNU extensions to, so a basic POSIX
The Makefiles use some GNU extensions, so a basic POSIX
make will not work. Linux systems typically come with a
satisfactory make. BSD based systems (i.e. NetBSD, FreeBSD)
typically have GNU make as the gmake program.
@ -403,6 +403,7 @@ Verilog guidance, and especially testing from many people, including
Larry Doolittle <LRDoolittle@lbl.gov>
Guy Hutchison <ghutchis@pacbell.net>
Ales Hvezda <ahvezda@seul.org>
Venkat Iyer <venkat@comit.com>
Yasuhisa Kato <ykato@mac.com>
James Lee <jml@jmlzone.com>
Peter Monta <pmonta@halibut.imedia.com>

18
vpi.txt
View File

@ -38,12 +38,12 @@ small "C" source file that defines only the startup table like so:
Compile this table source down to its object file, as well. Finally,
link the application with the command:
cc -o foo.vpi -shared <all the .o files>
cc -o foo.vpi -shared <all the .o files> -lvpi
No VPI libraries need to be included because the product that loads
the module will supply all the standard vpi functions. If you use any
non-vpi library functions, you may need to include libraries to
support them.
The -lvpi flag brings in the interface library that handles the
interface between the module you are making and the simulator run-time
that is loading this module. This contains the supported vpi functions
as stubs that bind to the appropriate implementations.
The resulting foo.vpi file is the vpi module. Place it in a location
where the product to use it can locate it.
@ -51,6 +51,8 @@ where the product to use it can locate it.
CAVEAT EMPTOR
Only the calltf function is supported. The compiletf and sizetf
functions are invoked at compile time, and the ivl compiler does not
yet support VPI.
Only the calltf function is supported in general. The sizetf function
is used by the vvp runtime if the object is a function, but only to
check that the function width really is what the compiler already
guessed. The compiletf function may be supported by the vvp runtime
sometime in the future but not yet.