The following is a contribution by Silicon DSP Corporation for the modeling and simulation of SystemC blocks using CapsimTMK. A block diagram editing and simulation capability for SystemC has been developed using CapsimTMK,. This was accomplished by adding additional tools based on scripts in XSLT and PERL .
The core CapsimTMK system is unmodified. CapsimTMK is used to create and edit a block digram for modeling and simulation of SystemC blocks. The procedure is shown in the figure below. Note that all steps are automated through the execution of a single Makefile and a script that makes a SystemC executable from the block diagram.
The User creates a SystemC block from existing templates or SystemC blocks, adds code for initialization (system reset) and run-time code. Parameters and states are defined. The system then creates include files for each SystemC block, generates a main.cpp SystemC code that instantiates the blocks, connects them and sets their parameters based on a topology generated by CapsimTMK.
The system reset and clock are generated in main.cpp. Click on this link for an example.
The tools written in XSLT and PERL are licensed by the GNU General Public License.
The sample SystemC XML blocks are licensed under the GNU Lesser General Public License.
The SystemC Block Diagram Modeling system uses CapsimTMK to generate and edit the block diagram and requires version 6.1 and above. All the XSLT and PERL scripts operate outside of CapsimTMK.
The SystemC Block Diagram Modeling System described in this page was developed by Silicon DSP Corporation and contributed as open source in May 2007. It is hoped that the contribution will lead to the development of more models in SystemC and that they will also be contributed to the open source community.