diff options
author | Nilay Vaish <nilay@cs.wisc.edu> | 2013-03-06 21:53:16 -0600 |
---|---|---|
committer | Nilay Vaish <nilay@cs.wisc.edu> | 2013-03-06 21:53:16 -0600 |
commit | e8802fa127f5a446e708eb9f7ce8509e850bf699 (patch) | |
tree | 7845eb915cdf2718e8264f5811e0be22aaddf342 /src/mem/ruby/network/garnet/fixed-pipeline/Router_d.cc | |
parent | 09b2430e95df4f744a000bac34100eeb9ebcb878 (diff) | |
download | gem5-e8802fa127f5a446e708eb9f7ce8509e850bf699.tar.xz |
ruby: garnet: fixed: implement functional access
Diffstat (limited to 'src/mem/ruby/network/garnet/fixed-pipeline/Router_d.cc')
-rw-r--r-- | src/mem/ruby/network/garnet/fixed-pipeline/Router_d.cc | 17 |
1 files changed, 17 insertions, 0 deletions
diff --git a/src/mem/ruby/network/garnet/fixed-pipeline/Router_d.cc b/src/mem/ruby/network/garnet/fixed-pipeline/Router_d.cc index eaa147c41..44ca81802 100644 --- a/src/mem/ruby/network/garnet/fixed-pipeline/Router_d.cc +++ b/src/mem/ruby/network/garnet/fixed-pipeline/Router_d.cc @@ -204,6 +204,23 @@ Router_d::printAggregateFaultProbability(std::ostream& out) out << aggregate_fault_prob << endl; } +uint32_t +Router_d::functionalWrite(Packet *pkt) +{ + uint32_t num_functional_writes = 0; + num_functional_writes += m_switch->functionalWrite(pkt); + + for (uint32_t i = 0; i < m_input_unit.size(); i++) { + num_functional_writes += m_input_unit[i]->functionalWrite(pkt); + } + + for (uint32_t i = 0; i < m_output_unit.size(); i++) { + num_functional_writes += m_output_unit[i]->functionalWrite(pkt); + } + + return num_functional_writes; +} + Router_d * GarnetRouter_dParams::create() { |