|Home > SystemC Export with Multiple Instantiation > Scheduler API > Scheduler API - about|
This API makes modeling components and systems accessible in different environments, with or without a built-in scheduler. Examples are a SystemC environment or a standalone simulator.
The Fast Models Scheduler API is a C++ interface consisting of a set of pure virtual base classes. The header file that defines these classes is $PVLIB_HOME/include/fmruntime/sg/SGSchedulerInterfaceForComponents.h. This header file depends on other header files under $PVLIB_HOME/include.
All Scheduler API constructs are in the namespace
The interface decouples the modeling components from the scheduler implementation. The parts of the Scheduler API that the modeling components use are for the scheduler or scheduler adapter to implement. The parts that the scheduler or scheduler adapter use are for the modeling components to implement.
createThread()creates instances of. For example, CT core models use this class. The scheduler implements it. Threads have co-routine semantics.
SchedulerThreadclass. The modeling components, which contain the thread functionality, implement it.
notify()but no timing functions. The scheduler implements it.
createTimer()creates instances of. The scheduler implements it.
Timerclass. The modeling components, which contain the functionality for the timer call-back, implement it. Arm deprecates this class.
addCallback()(asynchronous call-backs), implement it.
FrequencySourceand changes to the frequency value. The scheduler implements it for objects that have access to a
SchedulerThread). Arm deprecates this class.