-
Notifications
You must be signed in to change notification settings - Fork 529
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge pull request #1068 from gatk555/libvvp
Configure option --enable-libvvp allows vvp to be used a shared library
- Loading branch information
Showing
10 changed files
with
621 additions
and
374 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,29 @@ | ||
VVP as a library | ||
================ | ||
|
||
If configured with :: | ||
|
||
--enable-libvvp | ||
|
||
the vvp program will be built as a small stub that | ||
depends on a shared library, libvvp.so. | ||
The library may also be used to include a vvp simulation | ||
in a larger program. Typically, the simulation communicates | ||
with its host program using VPI, but since | ||
almost all the functions of vvp are included in the library | ||
it may be possible to use text output and interactive mode. | ||
|
||
The accessible functions of the library are defined and documented | ||
in the header file, vvp/libvvp.h. Although vvp is a C++ program, the | ||
header file presents a C interface. | ||
|
||
Note that the vvp software was not designed to be used this way | ||
and the library is a straightforward recompilation of the program code. | ||
That imposes some restrictions, mostly arising from the use | ||
of static variables: only a single run of a single simulation instance | ||
can be expected to work without special actions. | ||
To mitigate these restrictions, the library may by loaded dynamically | ||
and unloaded at the end of each simulation run. | ||
Parallel simulation should be possible by making multiple copies | ||
of the library with different names. | ||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.