diff options
author | Nilay Vaish <nilay@cs.wisc.edu> | 2013-02-10 21:43:09 -0600 |
---|---|---|
committer | Nilay Vaish <nilay@cs.wisc.edu> | 2013-02-10 21:43:09 -0600 |
commit | f6e3ab7bd4d6c27fd400c718bfe225b09a3b486b (patch) | |
tree | 2caf127834234cf6e6bcaef279f179d08ce385da /src/mem/ruby/network/garnet/flexible-pipeline/Router.cc | |
parent | 9d6d6c67180533464fc839a8a6da182226cb3ee2 (diff) | |
download | gem5-f6e3ab7bd4d6c27fd400c718bfe225b09a3b486b.tar.xz |
ruby: replace Time with Cycles in garnet fixed and flexible
Diffstat (limited to 'src/mem/ruby/network/garnet/flexible-pipeline/Router.cc')
-rw-r--r-- | src/mem/ruby/network/garnet/flexible-pipeline/Router.cc | 20 |
1 files changed, 11 insertions, 9 deletions
diff --git a/src/mem/ruby/network/garnet/flexible-pipeline/Router.cc b/src/mem/ruby/network/garnet/flexible-pipeline/Router.cc index 71ee1d0bf..98317818b 100644 --- a/src/mem/ruby/network/garnet/flexible-pipeline/Router.cc +++ b/src/mem/ruby/network/garnet/flexible-pipeline/Router.cc @@ -227,7 +227,7 @@ Router::get_valid_vcs(int invc) } void -Router::grant_vc(int out_port, int vc, Time grant_time) +Router::grant_vc(int out_port, int vc, Cycles grant_time) { assert(m_out_vc_state[out_port][vc]->isInState(VC_AB_, grant_time)); m_out_vc_state[out_port][vc]->grant_vc(grant_time); @@ -235,7 +235,7 @@ Router::grant_vc(int out_port, int vc, Time grant_time) } void -Router::release_vc(int out_port, int vc, Time release_time) +Router::release_vc(int out_port, int vc, Cycles release_time) { assert(m_out_vc_state[out_port][vc]->isInState(ACTIVE_, release_time)); m_out_vc_state[out_port][vc]->setState(IDLE_, release_time); @@ -269,7 +269,7 @@ Router::routeCompute(flit *m_flit, int inport) assert(m_net_ptr->getNumPipeStages() >= 1); // Subtract 1 as 1 cycle will be consumed in scheduling the output link - m_flit->set_time(curCycle() + (m_net_ptr->getNumPipeStages() - 1)); + m_flit->set_time(curCycle() + Cycles((m_net_ptr->getNumPipeStages() - 1))); m_flit->set_vc(outvc); m_router_buffers[outport][outvc]->insert(m_flit); @@ -282,9 +282,10 @@ Router::routeCompute(flit *m_flit, int inport) NetDest destination = nm->getInternalDestination(); if (m_net_ptr->getNumPipeStages() > 1) { - m_out_vc_state[outport][outvc]->setState(VC_AB_, curCycle() + 1); + m_out_vc_state[outport][outvc]->setState(VC_AB_, curCycle() + + Cycles(1)); m_out_link[outport]->request_vc_link(outvc, destination, - curCycle() + 1); + curCycle() + Cycles(1)); } else { m_out_vc_state[outport][outvc]->setState(VC_AB_, curCycle()); m_out_link[outport]->request_vc_link(outvc, destination, @@ -293,8 +294,8 @@ Router::routeCompute(flit *m_flit, int inport) } if ((m_flit->get_type() == TAIL_) || (m_flit->get_type() == HEAD_TAIL_)) { - m_in_vc_state[inport][invc]->setState(IDLE_, curCycle() + 1); - m_in_link[inport]->release_vc_link(invc, curCycle() + 1); + m_in_vc_state[inport][invc]->setState(IDLE_, curCycle() + Cycles(1)); + m_in_link[inport]->release_vc_link(invc, curCycle() + Cycles(1)); } } @@ -361,7 +362,7 @@ Router::scheduleOutputLinks() flit *t_flit = m_router_buffers[port][vc_tolookat]->getTopFlit(); - t_flit->set_time(curCycle() + 1 ); + t_flit->set_time(curCycle() + Cycles(1)); m_out_src_queue[port]->insert(t_flit); m_out_link[port]->scheduleEvent(Cycles(1)); break; // done for this port @@ -397,7 +398,8 @@ Router::check_arbiter_reschedule() { for (int port = 0; port < m_in_link.size(); port++) { for (int vc = 0; vc < m_num_vcs; vc++) { - if (m_in_vc_state[port][vc]->isInState(VC_AB_, curCycle() + 1)) { + if (m_in_vc_state[port][vc]->isInState(VC_AB_, curCycle() + + Cycles(1))) { m_vc_arbiter->scheduleEvent(Cycles(1)); return; } |