This discussion has been locked.
You can no longer post new replies to this discussion. If you have a question you can start a new discussion

What is the relation between scx_min_sync_latency and tlm_global_quantum?

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);

...

Parents Reply Children
No data