summaryrefslogtreecommitdiff
path: root/src/mem/ruby/network/BasicLink.py
diff options
context:
space:
mode:
authorBrad Beckmann <Brad.Beckmann@amd.com>2011-04-28 17:18:14 -0700
committerBrad Beckmann <Brad.Beckmann@amd.com>2011-04-28 17:18:14 -0700
commit8733ed4b7d3f4c138738c9636da1437e7724e9cc (patch)
tree199888d55fda3837f9ddb62fdee9a8dbdeab766a /src/mem/ruby/network/BasicLink.py
parent40bcbf42539fec83628f2ae2627238adff27f62c (diff)
downloadgem5-8733ed4b7d3f4c138738c9636da1437e7724e9cc.tar.xz
network: basic link bw for garnet and simple networks
This patch ensures that both Garnet and the simple networks use the bw value specified in the topology. To do so, the patch generalizes the specification of bw for basic links. This value is then translated to the specific value used by the simple and Garnet networks. Since Garent does not support non-uniformed link bandwidth, the patch also adds a check to ensure all bws are equal. --HG-- rename : src/mem/ruby/network/BasicLink.cc => src/mem/ruby/network/simple/SimpleLink.cc rename : src/mem/ruby/network/BasicLink.hh => src/mem/ruby/network/simple/SimpleLink.hh rename : src/mem/ruby/network/BasicLink.py => src/mem/ruby/network/simple/SimpleLink.py
Diffstat (limited to 'src/mem/ruby/network/BasicLink.py')
-rw-r--r--src/mem/ruby/network/BasicLink.py10
1 files changed, 7 insertions, 3 deletions
diff --git a/src/mem/ruby/network/BasicLink.py b/src/mem/ruby/network/BasicLink.py
index 53df4d57e..fb73f9ac7 100644
--- a/src/mem/ruby/network/BasicLink.py
+++ b/src/mem/ruby/network/BasicLink.py
@@ -34,17 +34,21 @@ class BasicLink(SimObject):
type = 'BasicLink'
link_id = Param.Int("ID in relation to other links")
latency = Param.Int(1, "latency")
- bw_multiplier = Param.Int("simple network bw constant, usually in bytes")
+ # 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.
+ bandwidth_factor = Param.Int("generic bandwidth factor, usually in bytes")
weight = Param.Int(1, "used to restrict routing in shortest path analysis")
class BasicExtLink(BasicLink):
type = 'BasicExtLink'
ext_node = Param.RubyController("External node")
int_node = Param.BasicRouter("ID of internal node")
- bw_multiplier = 64
+ bandwidth_factor = 64
class BasicIntLink(BasicLink):
type = 'BasicIntLink'
node_a = Param.BasicRouter("Router on one end")
node_b = Param.BasicRouter("Router on other end")
- bw_multiplier = 16
+ bandwidth_factor = 16