mem-garnet: Integration of HeteroGarnet
authorSrikant Bharadwaj <srikant.bharadwaj@amd.com>
Thu, 19 Jul 2018 17:34:24 +0000 (13:34 -0400)
committerSrikant Bharadwaj <srikant.bharadwaj@amd.com>
Fri, 4 Sep 2020 22:17:36 +0000 (22:17 +0000)
commitb9f1c71fe781e823b399584a5a694420287b2a8c
tree6686c7478f7a55ebc9d8fa9735b0466a3b298220
parent808e573cda930258e306133369cfbe54ea224514
mem-garnet: Integration of HeteroGarnet

This upgrades the garnet model to support HeteroGarnet
1) Static and dynamic multi-freq domains in network
2) Support for CDC
3) Separate links for each message class
4) Separate linkwidth for each message class
5) Support for SerDes

Change-Id: I6d00e3b5cb3745e849d221066cb46b2138c47871
Reviewed-on: https://gem5-review.googlesource.com/c/public/gem5/+/32597
Maintainer: Jason Lowe-Power <power.jg@gmail.com>
Tested-by: kokoro <noreply+kokoro@google.com>
Reviewed-by: Jason Lowe-Power <power.jg@gmail.com>
45 files changed:
configs/example/garnet_synth_traffic.py
configs/network/Network.py
src/mem/ruby/common/Consumer.hh
src/mem/ruby/network/BasicLink.cc
src/mem/ruby/network/BasicLink.hh
src/mem/ruby/network/BasicLink.py
src/mem/ruby/network/Network.cc
src/mem/ruby/network/Network.hh
src/mem/ruby/network/Topology.cc
src/mem/ruby/network/Topology.hh
src/mem/ruby/network/garnet2.0/CommonTypes.hh
src/mem/ruby/network/garnet2.0/Credit.cc
src/mem/ruby/network/garnet2.0/Credit.hh
src/mem/ruby/network/garnet2.0/CrossbarSwitch.cc
src/mem/ruby/network/garnet2.0/GarnetLink.cc
src/mem/ruby/network/garnet2.0/GarnetLink.hh
src/mem/ruby/network/garnet2.0/GarnetLink.py
src/mem/ruby/network/garnet2.0/GarnetNetwork.cc
src/mem/ruby/network/garnet2.0/GarnetNetwork.hh
src/mem/ruby/network/garnet2.0/GarnetNetwork.py
src/mem/ruby/network/garnet2.0/InputUnit.cc
src/mem/ruby/network/garnet2.0/InputUnit.hh
src/mem/ruby/network/garnet2.0/NetworkBridge.cc [new file with mode: 0644]
src/mem/ruby/network/garnet2.0/NetworkBridge.hh [new file with mode: 0644]
src/mem/ruby/network/garnet2.0/NetworkInterface.cc
src/mem/ruby/network/garnet2.0/NetworkInterface.hh
src/mem/ruby/network/garnet2.0/NetworkLink.cc
src/mem/ruby/network/garnet2.0/NetworkLink.hh
src/mem/ruby/network/garnet2.0/OutVcState.hh
src/mem/ruby/network/garnet2.0/OutputUnit.cc
src/mem/ruby/network/garnet2.0/OutputUnit.hh
src/mem/ruby/network/garnet2.0/Router.cc
src/mem/ruby/network/garnet2.0/Router.hh
src/mem/ruby/network/garnet2.0/RoutingUnit.cc
src/mem/ruby/network/garnet2.0/RoutingUnit.hh
src/mem/ruby/network/garnet2.0/SConscript
src/mem/ruby/network/garnet2.0/SwitchAllocator.cc
src/mem/ruby/network/garnet2.0/VirtualChannel.cc
src/mem/ruby/network/garnet2.0/VirtualChannel.hh
src/mem/ruby/network/garnet2.0/flit.cc
src/mem/ruby/network/garnet2.0/flit.hh
src/mem/ruby/network/garnet2.0/flitBuffer.cc
src/mem/ruby/network/garnet2.0/flitBuffer.hh
src/mem/ruby/network/simple/SimpleNetwork.cc
src/mem/ruby/network/simple/SimpleNetwork.hh