Reading the fast models documentation we see a description of scx_min_sync_latency but I was not able to find a clear explanation of it's relation to tlm_global_quantum.
The examples we can find usually set both of these to different values (see below).
Is there some documentation available that would explain the relation in detail and if not could someone explain it? ie.
* If the settings are set to different values - when will one of them cause the execution to yield?
* Are there specific instructions that based on the min_sync_latency cause the execution to yield before reaching the quantum?
* What should be the best practice of setting the two values in relation to each other?
Thanks in advance for any help
Example:
int sc_main(int argc, char *argv[])
{ double quantum = 10000.0; double latency = 100.0;
...
/* Simulation quantum, i.e. seconds to run per quantum */ tlm::tlm_global_quantum::instance().set(sc_core::sc_time(quantum / 100000000.0, sc_core::SC_SEC));
/* Simulation minimum synchronization latency */ scx::scx_set_min_sync_latency(latency / 100000000.0);
Thank you Rafal for raising a support case through https://developer.arm.com/support . Since Fast Models is a commercial product, raising a support request is the right place to ask this type of questions if you license Fast Models.
Kind regards,
Toshi