stimc
,'-,
,' ', '.
,' ;. '.,'
,----------------------,' ,' ,'';'
| ,---, ,---, ,--,' ,' ,' ,'
| | | | | |,' ,' ,' ,'
| | | | | /'.' ,' ,' _ _
|-' '---' '--/ :' ,' ___| |_(_)_ __ ___ ___
| ,----, ,-,/%_..-'' | / __| __| | '_ ` _ \ / __|
|___/ \/ ( | \__ \ |_| | | | | | | (__
| \ /\ ) | |___/\__|_|_| |_| |_|\___|
| '----' '--' |
| ,-------, |
| | | |
| | | |
|---' '------------|
`------------------------'
stimc is a lightweight Verilog-VPI wrapper to simplify simulation control via C/C++ code similar to SystemC. In contrast to SystemC you can only use stimc together with a Verilog simulator and it is not meant as a standalone hardware description or modelling language. The main purpose is to control and observe ports of an empty Verilog shell-module via C/C++ code to provide abstract models for external components or emulate functionality of an external software-based access to a hardware component.
stimc was originally created to allow testing of ICGlue generated regfile C/C++ code with generated Verilog register files via Icarus Verilog.
Licensing
stimc itself is licensed under the GNU LGPLv3.
Starting with version 1.3 this is compatible with the license of the default coroutine library, libco
.
But depending on the used coroutine library the derived work might fall under the coroutine library's license.
pcl
is licensed under GNU GPL, so if pcl
is explicitly selected, the combination is also licensed as GPL,
whereas when using libco
or boost
the combination will be licensed under GNU LGPL.
Acknowledgement
Similar to its origin, ICGlue, a lot of the work was done at the Chair of Highly-Parallel VLSI Systems and Neuro-Microelectronics (HPSN) at TU Dresden (see HPSN). It is inspired by SystemC.