diff options
author | Tushar Krishna <tushar@ece.gatech.edu> | 2016-10-06 14:35:22 -0400 |
---|---|---|
committer | Tushar Krishna <tushar@ece.gatech.edu> | 2016-10-06 14:35:22 -0400 |
commit | dbe8892b761067c5c1e828f889a513ea085b044f (patch) | |
tree | d3101cc8dbf74f1d3bc2f3f9ead1b948fd4ac33e /configs/topologies/Crossbar.py | |
parent | b512f4bf71fac79fb6e17bb2a9e05c1f494f69f4 (diff) | |
download | gem5-dbe8892b761067c5c1e828f889a513ea085b044f.tar.xz |
ruby: garnet2.0
Revamped version of garnet with more optimized single-cycle routers,
more configurability, and cleaner code.
Diffstat (limited to 'configs/topologies/Crossbar.py')
-rw-r--r-- | configs/topologies/Crossbar.py | 15 |
1 files changed, 12 insertions, 3 deletions
diff --git a/configs/topologies/Crossbar.py b/configs/topologies/Crossbar.py index 35d20de34..447b1c597 100644 --- a/configs/topologies/Crossbar.py +++ b/configs/topologies/Crossbar.py @@ -35,6 +35,12 @@ class Crossbar(SimpleTopology): description='Crossbar' def makeTopology(self, options, network, IntLink, ExtLink, Router): + + # default values for link latency and router latency. + # Can be over-ridden on a per link/router basis + link_latency = options.link_latency # used by simple and garnet + router_latency = options.router_latency # only used by garnet + # Create an individual router for each controller plus one more for # the centralized crossbar. The large numbers of routers are needed # because external links do not model outgoing bandwidth in the @@ -45,7 +51,8 @@ class Crossbar(SimpleTopology): xbar = routers[len(self.nodes)] # the crossbar router is the last router created network.routers = routers - ext_links = [ExtLink(link_id=i, ext_node=n, int_node=routers[i]) + ext_links = [ExtLink(link_id=i, ext_node=n, int_node=routers[i], + latency = link_latency) for (i, n) in enumerate(self.nodes)] network.ext_links = ext_links @@ -55,13 +62,15 @@ class Crossbar(SimpleTopology): for i in range(len(self.nodes)): int_links.append(IntLink(link_id=(link_count+i), src_node=routers[i], - dst_node=xbar)) + dst_node=xbar, + latency = link_latency)) link_count += len(self.nodes) for i in range(len(self.nodes)): int_links.append(IntLink(link_id=(link_count+i), src_node=xbar, - dst_node=routers[i])) + dst_node=routers[i], + latency = link_latency)) network.int_links = int_links |