5.6.36 scx::scx_simcontrol_if

This interface is the simulation control interface.

class scx_simcontrol_if {
  public:
    virtual eslapi::CAInterface *get_scheduler() = 0;
    virtual scx_report_handler_if *get_report_handler() = 0;
    virtual void run() = 0;
    virtual void stop() = 0;
    virtual bool is_running() = 0;
    virtual void stop_acknowledge(sg::SchedulerRunnable *runnable) = 0;
    virtual void process_idle() = 0;
    virtual void shutdown() = 0;
    virtual void add_callback(scx_simcallback_if *callback_obj) = 0;
    virtual void remove_callback(scx_simcallback_if *callback_obj) = 0;
  protected:
    virtual ~scx_simcontrol_if();
};
The simulation controller, which interacts with the simulation framework, must implement this interface. The simulation framework uses this interface to access current implementations of the scheduler and report handler, as well as to request changes to the state of the simulation.
All requests provided by this interface are asynchronous and can return immediately, whether the corresponding operation has completed or not. Once the operation is complete, the corresponding notification must go to the simulation framework, which in turn notifies all connected debuggers to allow them to update their states.
An implementation of this interface must be thread-safe, that is it must not make assumptions about threads that issue requests.
The default implementation of the simulation controller provided with Fast Models is at: $MAXCORE_HOME/lib/template/tpl_scx_simcontroller.h/.cpp.
Non-ConfidentialPDF file icon PDF versionARM DUI0370S
Copyright © 2007-2014 ARM. All rights reserved.