5.8.2. Single SC_THREAD and wait() calls

All exported models from a System Generator EVS are exported within a single SC_THREAD. Therefore all initiators on the EVS side are seen from the SystemC scheduler as a single component.

Figure 5.15 shows a scenario where two cores in an EVS issue a transaction to peripherals modeled in SystemC (Peripheral 1 and 2). Both peripherals call wait(10ms) to finish the transaction. This results in an overall delay of 20ms. The correct delay would be 10ms if both Cores in the EVS were modeled in a separate SC_THREAD.

Figure 5.15. SC_THREAD wrapper for exported components

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.


Peripherals used with temporal decoupled models must not call wait(). It is recommended to model peripherals in a way to avoid wait() calls as EVS target functional correct behavior but is not timing accurate. This limitation is to be removed in a future release.

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