5.1. About SystemC export

The SystemC export feature of System Canvas generates a SystemC component that contains and wraps a Fast Models system. This involves two different simulation domains:

The SystemC export feature generates one component and generates a SystemC wrapper for this component. The resulting component is the EVS. SystemC 2.2, TLM 2.0 and TLM 2.0.1 are supported by Fast Models.

Figure 5.1 shows how the Fast Models virtual platform interacts as an SC_THREAD with the SystemC master scheduler and communicates with other SystemC threads or modules.

Figure 5.1. Scheduling between Fast Models and SystemC domains

To view this graphic, your browser must support the SVG format. Either install a browser with native support, or install an appropriate plugin such as Adobe SVG Viewer.

The SystemC scheduler uses the wait() command to track the simulated time reported by the SC_THREAD and ensures that, over a long time period, all components are activated to simulate the same amount of time.

After the SC_THREAD (that encapsulates the Fast Models virtual platform) is activated, the Fast Models scheduler is invoked. It activates all components that are part of the subsystem until the (configurable) time quantum is finished. The actual time that has passed is calculated and the SystemC scheduler is notified.

Data can be exchanged between components in the Fast Models platform and other SystemC components by using either the Direct Memory Interface (DMI) or normal (blocking) transactions.


The examples in this chapter assume the following:

  • main.cpp is the file where the generated EVS, as well as other SystemC components, are instanciated.

  • MySystem is the name of the top level component of the Fast Models system

  • AConfig is the build configuration name, for example, Linux-Release-GCC-3.4 or Win32-Release-VC2005.

To export your own component, replace main.cpp, MySystem, and AConfig with the appropriate names for your model.

Copyright © 2007-2010 ARM Limited. All rights reserved.ARM DUI 0370K