update documentation to describe vpi in vvp.
This commit is contained in:
parent
b6e1d63cb0
commit
e28b7f06c5
11
README.txt
11
README.txt
|
|
@ -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
18
vpi.txt
|
|
@ -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.
|
||||
|
|
|
|||
Loading…
Reference in New Issue