5.1. About SystemC export

The SystemC export feature of System Canvas can generate 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 manages the scheduling of both domains. 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.

Figure 5.1. Scheduling between Fast Models and SystemC domains


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.

Note

The examples in this appendix assume the following:

  • main.cpp is the name of the SystemC system into which is added the generated SystemC component

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

  • AConfig is the build configuration name, for example, Linux-Debug or Windows-Release.

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

Copyright © 2007-2009 ARM Limited. All rights reserved.ARM DUI 0370H
Non-Confidential