HOME       UP       PREV       NEXT (Replacing Queues With Delay Estimates)  

TLM - Measuring Utilisation and Modelling Contention

When more than one client wants to use a resource at once we have contention.

Real queues are used in hardware, either in FIFO memories or by flow control applying backpressure on the source to stall it until the contended resource is available. An arbiter allocates a resource to one client at a time.

Contention like this can be modelled using real or virtual queues:

  1. In a low-level model, the real queues are modelled in detail.
  2. A TLM model may queue the transactions, thereby blocking the client's thread until the transaction can be served.
  3. Alternatively, the transactions can be run straightaway and the estimated delay of a virtual queue can be added to the client's delay account.

To support style 2, SystemC provides a TLM payload queue:
»tlm_utils::peq_with_get< PAYLOAD >


30: (C) 2008-17, DJ Greaves, University of Cambridge, Computer Laboratory.