summaryrefslogtreecommitdiff
path: root/src/mem/ruby/network/BasicLink.py
diff options
context:
space:
mode:
authorTushar Krishna <tushar@ece.gatech.edu>2016-10-06 14:35:18 -0400
committerTushar Krishna <tushar@ece.gatech.edu>2016-10-06 14:35:18 -0400
commit003c08fa90f8b3eb7fbbbc96e0caa5f46bf58196 (patch)
tree13b408554ffbebd11ae2322e8a070a0c4d5b9c56 /src/mem/ruby/network/BasicLink.py
parentb9e23a6d741cdcdf0ffb7364c6aae36a487335ef (diff)
downloadgem5-003c08fa90f8b3eb7fbbbc96e0caa5f46bf58196.tar.xz
config: make internal links in network topology unidirectional.
This patch makes the internal links within the network topology unidirectional, thus allowing any deadlock-free routing algorithms to be specified from the topology itself using weights. This patch also renames Mesh.py and MeshDirCorners.py to Mesh_XY.py and MeshDirCorners_XY.py (Mesh with XY routing). It also adds a Mesh_westfirst.py and CrossbarGarnet.py topologies.
Diffstat (limited to 'src/mem/ruby/network/BasicLink.py')
-rw-r--r--src/mem/ruby/network/BasicLink.py11
1 files changed, 5 insertions, 6 deletions
diff --git a/src/mem/ruby/network/BasicLink.py b/src/mem/ruby/network/BasicLink.py
index 8fc83c9e2..5da5dc6a2 100644
--- a/src/mem/ruby/network/BasicLink.py
+++ b/src/mem/ruby/network/BasicLink.py
@@ -35,10 +35,9 @@ class BasicLink(SimObject):
cxx_header = "mem/ruby/network/BasicLink.hh"
link_id = Param.Int("ID in relation to other links")
latency = Param.Cycles(1, "latency")
- # The following banwidth factor does not translate to the same value for
- # both the simple and Garnet models. For the most part, the bandwidth
- # factor is the width of the link in bytes, expect for certain situations
- # with regard to the simple network.
+ # Width of the link in bytes
+ # Only used by simple network.
+ # Garnet models this by flit size
bandwidth_factor = Param.Int("generic bandwidth factor, usually in bytes")
weight = Param.Int(1, "used to restrict routing in shortest path analysis")
@@ -52,6 +51,6 @@ class BasicExtLink(BasicLink):
class BasicIntLink(BasicLink):
type = 'BasicIntLink'
cxx_header = "mem/ruby/network/BasicLink.hh"
- node_a = Param.BasicRouter("Router on one end")
- node_b = Param.BasicRouter("Router on other end")
+ src_node = Param.BasicRouter("Router on src end")
+ dst_node = Param.BasicRouter("Router on dst end")
bandwidth_factor = 16