Simics SystemC Bridge

The Simics SystemC Bridge allows users to include unmodified SystemC device models into a Simics virtual platform setup. As shown below, the SystemC devices are used just like regular Simics devices to help create a complete virtual platform for a particular target system.

With the SystemC Bridge, virtual platforms can be built that mix existing Simics models, new Simics models, and SystemC device models. This saves time in virtual platform creation by reusing existing SystemC models, while leveraging the Simics library of devices and the high simulation speed of Simics. There is no need to change the SystemC code to work within Simics, as the SystemC library and kernel is maintained unchanged within Simics.

Details

SystemC is integrated into Simics by including a standard OSCI SystemC 2.2.0 kernel as a Simics module, along with the SystemC device models that will be used the particular virtual platform. There is no need to modify the SystemC device models to work inside Simics. The SystemC bridge takes care of coordinating and synchronizing the activities of the SystemC kernel and the Simics kernel, and moving transactions between the SystemC subsystem and the rest of the Simics system.

Note that SystemC devices can call the Simics kernel API directly to implement extra features specific to Simics.

The performance of the combined system depends on the nature of the integrated SystemC models. If they are fast functional TLM models, the impact on simulation speed is very small in general. This is thanks to the SystemC bridge working as a slave towards to the Simics kernel, only activating the SystemC devices when they accessed by the target software or need to handle timed events.

News & Events | Feedback | Contact Us | About Us | Partners | Academia
All Content © 2004-2008 Virtutech unless otherwise noted | Privacy Policy