31 lines
1003 B
Plaintext
31 lines
1003 B
Plaintext
|
|
LOADABLE TARGETS
|
|
|
|
Icarus Verilog supports dynamically loading code generator modules to
|
|
perform the back-end processing of the completed design. The user
|
|
specifies on the command line the module to load. The compiler loads
|
|
the module (once the design is compiled and elaborated) and calls it
|
|
to finally handle the design.
|
|
|
|
Loadable target modules implement a set of functions that the core
|
|
compiler calls to pass the design to it, and the module in turn uses a
|
|
collection of functions in the core (the API) to access details of the
|
|
design.
|
|
|
|
LOADING TARGET MODULES
|
|
|
|
The target module loader is invoked with the ivl flag "-tdll". That
|
|
is, the DLL loader is a linked in target type. The name of the target
|
|
module to load is then specified with the DLL flag, i.e. "-fDLL=<path>".
|
|
|
|
COMPILING TARGET MODULES
|
|
|
|
<write me>
|
|
|
|
LOADABLE TARGET MODULE API
|
|
|
|
The target module API is defined in the ivl_target.h header file. This
|
|
declares all the type and functions that a loadable module needs to
|
|
access the design.
|
|
|