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:
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. |