summaryrefslogtreecommitdiff
path: root/src/mem/ruby/network/garnet/fixed-pipeline/GarnetNetwork_d.hh
diff options
context:
space:
mode:
authorTushar Krishna <tushar@csail.mit.edu>2011-02-06 22:14:16 -0800
committerTushar Krishna <tushar@csail.mit.edu>2011-02-06 22:14:16 -0800
commit59163f824c71e4290399be7c1c4b6e70b799a388 (patch)
tree77942dd87d46e09326f1239cc4147f9218829d9f /src/mem/ruby/network/garnet/fixed-pipeline/GarnetNetwork_d.hh
parentafd754dc0d644f989e8aa00884203ce0e4143d47 (diff)
downloadgem5-59163f824c71e4290399be7c1c4b6e70b799a388.tar.xz
garnet: separate data and ctrl VCs
Separate data VCs and ctrl VCs in garnet, as ctrl VCs have 1 buffer per VC, while data VCs have > 1 buffers per VC. This is for correct power estimations.
Diffstat (limited to 'src/mem/ruby/network/garnet/fixed-pipeline/GarnetNetwork_d.hh')
-rw-r--r--src/mem/ruby/network/garnet/fixed-pipeline/GarnetNetwork_d.hh16
1 files changed, 16 insertions, 0 deletions
diff --git a/src/mem/ruby/network/garnet/fixed-pipeline/GarnetNetwork_d.hh b/src/mem/ruby/network/garnet/fixed-pipeline/GarnetNetwork_d.hh
index d3fb9f39b..1fe65f18d 100644
--- a/src/mem/ruby/network/garnet/fixed-pipeline/GarnetNetwork_d.hh
+++ b/src/mem/ruby/network/garnet/fixed-pipeline/GarnetNetwork_d.hh
@@ -68,6 +68,21 @@ class GarnetNetwork_d : public BaseGarnetNetwork
void printConfig(std::ostream& out) const;
void print(std::ostream& out) const;
+ void
+ set_vnet_type(int vc, VNET_type vnet_type)
+ {
+ int vnet = vc/getVCsPerClass();
+ m_vnet_type[vnet] = vnet_type;
+ }
+
+ VNET_type
+ get_vnet_type(int vc)
+ {
+ int vnet = vc/getVCsPerClass();
+ return m_vnet_type[vnet];
+ }
+
+
inline void increment_injected_flits() { m_flits_injected++; }
inline void increment_received_flits() { m_flits_received++; }
@@ -106,6 +121,7 @@ class GarnetNetwork_d : public BaseGarnetNetwork
GarnetNetwork_d(const GarnetNetwork_d& obj);
GarnetNetwork_d& operator=(const GarnetNetwork_d& obj);
+ std::vector<VNET_type > m_vnet_type;
// int m_virtual_networks;
// int m_nodes;
int m_flits_received, m_flits_injected;