mem: Add a header latency parameter to the XBar
authorNikos Nikoleris <nikos.nikoleris@arm.com>
Thu, 14 May 2020 10:10:07 +0000 (11:10 +0100)
committerNikos Nikoleris <nikos.nikoleris@arm.com>
Mon, 15 Jun 2020 12:57:52 +0000 (12:57 +0000)
commit6a4b69c4fd8dff27147a07f0f8005f73e7be8398
tree1beb475e22dd5c1798c17fb2ecf2c949591b328f
parentceb93d2182b0d5fd7703f613be3e863921fc2422
mem: Add a header latency parameter to the XBar

The XBar uses the concept of Layers to model throughput and
instantiates one Layer per master. As it forwards a packet to and from
master, the corresponding Layer is marked as occupied for a number of
cycles. Requests/responses to/from a master are blocked while the
corresponding Layer is occupied. Previously the delay would be
calculated based on the formula 1 + size / width, which assumes that
the Layer is always occupied for 1 cycle while processing the packet
header. This changes makes the header latency a parameter which
defaults to 1.

Change-Id: I12752ab4415617a94fbd8379bcd2ae8982f91fd8
Signed-off-by: Nikos Nikoleris <nikos.nikoleris@arm.com>
Reviewed-on: https://gem5-review.googlesource.com/c/public/gem5/+/30054
Reviewed-by: Daniel Carvalho <odanrc@yahoo.com.br>
Tested-by: kokoro <noreply+kokoro@google.com>
src/mem/XBar.py
src/mem/coherent_xbar.cc
src/mem/xbar.cc
src/mem/xbar.hh