summaryrefslogtreecommitdiff
path: root/src/mem/ruby/network/garnet/fixed-pipeline/NetworkInterface_d.cc
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/NetworkInterface_d.cc
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/NetworkInterface_d.cc')
-rw-r--r--src/mem/ruby/network/garnet/fixed-pipeline/NetworkInterface_d.cc7
1 files changed, 7 insertions, 0 deletions
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 45270ad7a..8299a294f 100644
--- a/src/mem/ruby/network/garnet/fixed-pipeline/NetworkInterface_d.cc
+++ b/src/mem/ruby/network/garnet/fixed-pipeline/NetworkInterface_d.cc
@@ -163,6 +163,13 @@ NetworkInterface_d::flitisizeMessage(MsgPtr msg_ptr, int vnet)
// flitisized and an output vc is acquired
net_msg_ptr->getInternalDestination().removeNetDest(personal_dest);
}
+ if (num_flits > 1) { // data packet
+ // defining ctrl vnet to be 1-flit packets
+ // and data vnet to be > 1 flit packets
+ m_net_ptr->set_vnet_type(vc, DATA_VNET_);
+ m_out_vc_state[vc]->set_credit_count();
+ }
+
for (int i = 0; i < num_flits; i++) {
m_net_ptr->increment_injected_flits();
flit_d *fl = new flit_d(i, vc, vnet, num_flits, new_msg_ptr);