HOME       UP       PREV       NEXT (ESL Loose Timing Continued)  

Typical ISS setup with Loose Timing (Temporal Decoupling)

Typical setup of thread using loosely-timed modelling with a quantum keeper.

In this reference example, for each CPU core, a single thread is used that passes between components and back to the originator and only rarely enters the SystemC Kernel.

Each thread has a variable called delay of how far it has run ahead of kernel simulation time, and it only yields when it needs an actual result from another thread or because its delay exceeds a locally-chosen value. This is loose timing.

Each component increments the delay field in the TLM calls it processes, according to how long it would have delayed the client thread under approximate timing.

Every thread must encounter a quantum keeper at least once in its outermost loop.


33: (C) 2008-18, DJ Greaves, University of Cambridge, Computer Laboratory.