Logo
stimc — a Lightweight Verilog-VPI Wrapper for Stimuli Generation

Building

Compiling

Starting in version 1.3 the build is based on cmake with an experimental configure wrapper script. So in case you have cmake installed, you can either run cmake as usual or for convenience you can just run

./configure
make

The configure script provides command line options for typical scenarios (e.g. explicitly selecting the simulator to use), but the existing cmake files should also autodetect a supported available Verilog simulator otherwise.

For compiling in a project (depending on the simulator) you need to build a VPI library containing the stimc/stimc++ code (if you do not want a separated library) or linking against stimc as a shared library, and the module export code created with the STIMCXX_EXPORT (<module-name>) macro.

The VPI library, if compiled with stimc, or the linked stimc library depends on a coroutine library. Since version 1.3 the default is a local copy of libco from the higan-emu project. Alternatively it is possible to use an existing local coroutine library. Options are libco, pcl (portable coroutine library), boost/coroutine2 and boost/coroutine.

Installation

There is no need to install stimc, as you can just compile the sources together with your own code into a VPI shared library for the simulator to load. But it is also possible to compile it into a standalone shared library and link the VPI library against it. This can be achieved via running

./configure
make
make install

and can be controlled by command line options of the configure script (run ./configure --help for available options).

In case of a local installation make sure the VPI library can find the stimc library by using appropriate environment variables or linker settings (e.g. -Wl,rpath,).