diff options
author | Brad Beckmann <Brad.Beckmann@amd.com> | 2011-04-28 17:18:14 -0700 |
---|---|---|
committer | Brad Beckmann <Brad.Beckmann@amd.com> | 2011-04-28 17:18:14 -0700 |
commit | 8733ed4b7d3f4c138738c9636da1437e7724e9cc (patch) | |
tree | 199888d55fda3837f9ddb62fdee9a8dbdeab766a /src/mem/ruby/network/garnet/fixed-pipeline | |
parent | 40bcbf42539fec83628f2ae2627238adff27f62c (diff) | |
download | gem5-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/garnet/fixed-pipeline')
3 files changed, 4 insertions, 3 deletions
diff --git a/src/mem/ruby/network/garnet/fixed-pipeline/GarnetLink_d.py b/src/mem/ruby/network/garnet/fixed-pipeline/GarnetLink_d.py index 941746cbc..363ff2e44 100644 --- a/src/mem/ruby/network/garnet/fixed-pipeline/GarnetLink_d.py +++ b/src/mem/ruby/network/garnet/fixed-pipeline/GarnetLink_d.py @@ -41,7 +41,8 @@ class NetworkLink_d(SimObject): "virtual channels per message class") virt_nets = Param.Int(Parent.number_of_virtual_networks, "number of virtual networks") - channel_width = Param.Int(Parent.flit_size, "channel width == flit size") + channel_width = Param.Int(Parent.bandwidth_factor, + "channel width == bw factor") class CreditLink_d(NetworkLink_d): type = 'CreditLink_d' diff --git a/src/mem/ruby/network/garnet/fixed-pipeline/GarnetRouter_d.py b/src/mem/ruby/network/garnet/fixed-pipeline/GarnetRouter_d.py index 92e49b328..1a216abb9 100644 --- a/src/mem/ruby/network/garnet/fixed-pipeline/GarnetRouter_d.py +++ b/src/mem/ruby/network/garnet/fixed-pipeline/GarnetRouter_d.py @@ -39,6 +39,6 @@ class GarnetRouter_d(BasicRouter): "virtual channels per message class") virt_nets = Param.Int(Parent.number_of_virtual_networks, "number of virtual networks") - flit_width = Param.Int(Parent.flit_size, "flit width == flit size") + flit_width = Param.Int(Parent.ni_flit_size, "flit width == flit size") diff --git a/src/mem/ruby/network/garnet/fixed-pipeline/NetworkInterface_d.cc b/src/mem/ruby/network/garnet/fixed-pipeline/NetworkInterface_d.cc index 71fefa264..0dd51019c 100644 --- a/src/mem/ruby/network/garnet/fixed-pipeline/NetworkInterface_d.cc +++ b/src/mem/ruby/network/garnet/fixed-pipeline/NetworkInterface_d.cc @@ -129,7 +129,7 @@ NetworkInterface_d::flitisizeMessage(MsgPtr msg_ptr, int vnet) // Number of flits is dependent on the link bandwidth available. // This is expressed in terms of bytes/cycle or the flit size int num_flits = (int) ceil((double) m_net_ptr->MessageSizeType_to_int( - net_msg_ptr->getMessageSize())/m_net_ptr->getFlitSize() ); + net_msg_ptr->getMessageSize())/m_net_ptr->getNiFlitSize()); // loop to convert all multicast messages into unicast messages for (int ctr = 0; ctr < dest_nodes.size(); ctr++) { |