| |||
| Home > SystemC Export > 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:
Exported Virtual Subsystem (EVS), this is a Fast Model Virtual Platform exported into SystemC using the SystemC export feature from System Canvas.
SystemC components.
The SystemC export feature generates one component and generates a SystemC wrapper for this component. The resulting component is the EVS. SystemC 2.2 and TLM 2.0 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.
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.