# Node ID 5a956f83fec5418eb5d3403097f31f63ffba7aed # Parent c919cedc7ffecc3344bf1866692fc7ab41858373 diff --git a/src/mem/ruby/network/garnet/fixed-pipeline/InputUnit_d.cc b/src/mem/ruby/network/garnet/fixed-pipeline/InputUnit_d.cc --- a/src/mem/ruby/network/garnet/fixed-pipeline/InputUnit_d.cc +++ b/src/mem/ruby/network/garnet/fixed-pipeline/InputUnit_d.cc @@ -81,7 +81,7 @@ m_vcs[vc]->set_enqueue_time(m_router->curCycle()); } else { - t_flit->advance_stage(SA_, m_router->curCycle()); + t_flit->advance_stage(SA_, m_router->curCycle() + Cycles(1)); m_router->swarb_req(); } // write flit into input buffer diff --git a/src/mem/ruby/network/garnet/fixed-pipeline/RoutingUnit_d.cc b/src/mem/ruby/network/garnet/fixed-pipeline/RoutingUnit_d.cc --- a/src/mem/ruby/network/garnet/fixed-pipeline/RoutingUnit_d.cc +++ b/src/mem/ruby/network/garnet/fixed-pipeline/RoutingUnit_d.cc @@ -58,7 +58,7 @@ { int outport = routeCompute(t_flit); in_unit->updateRoute(invc, outport, m_router->curCycle()); - t_flit->advance_stage(VA_, m_router->curCycle()); + t_flit->advance_stage(VA_, m_router->curCycle() + Cycles(1)); m_router->vcarb_req(); } diff --git a/src/mem/ruby/network/garnet/fixed-pipeline/SWallocator_d.cc b/src/mem/ruby/network/garnet/fixed-pipeline/SWallocator_d.cc --- a/src/mem/ruby/network/garnet/fixed-pipeline/SWallocator_d.cc +++ b/src/mem/ruby/network/garnet/fixed-pipeline/SWallocator_d.cc @@ -178,7 +178,7 @@ // remove flit from Input Unit flit_d *t_flit = m_input_unit[inport]->getTopFlit(invc); - t_flit->advance_stage(ST_, m_router->curCycle()); + t_flit->advance_stage(ST_, m_router->curCycle() + Cycles(1)); t_flit->set_vc(outvc); t_flit->set_outport(outport); t_flit->set_time(m_router->curCycle() + Cycles(1)); diff --git a/src/mem/ruby/network/garnet/fixed-pipeline/Switch_d.cc b/src/mem/ruby/network/garnet/fixed-pipeline/Switch_d.cc --- a/src/mem/ruby/network/garnet/fixed-pipeline/Switch_d.cc +++ b/src/mem/ruby/network/garnet/fixed-pipeline/Switch_d.cc @@ -73,7 +73,7 @@ flit_d *t_flit = m_switch_buffer[inport]->peekTopFlit(); if (t_flit->is_stage(ST_, m_router->curCycle())) { int outport = t_flit->get_outport(); - t_flit->advance_stage(LT_, m_router->curCycle()); + t_flit->advance_stage(LT_, m_router->curCycle() + Cycles(1)); t_flit->set_time(m_router->curCycle() + Cycles(1)); // This will take care of waking up the Network Link diff --git a/src/mem/ruby/network/garnet/fixed-pipeline/VirtualChannel_d.cc b/src/mem/ruby/network/garnet/fixed-pipeline/VirtualChannel_d.cc --- a/src/mem/ruby/network/garnet/fixed-pipeline/VirtualChannel_d.cc +++ b/src/mem/ruby/network/garnet/fixed-pipeline/VirtualChannel_d.cc @@ -57,7 +57,7 @@ m_vc_state.first = ACTIVE_; m_vc_state.second = curTime + Cycles(1); flit_d *t_flit = m_input_buffer->peekTopFlit(); - t_flit->advance_stage(SA_, curTime); + t_flit->advance_stage(SA_, curTime + Cycles(1)); } bool diff --git a/src/mem/ruby/network/garnet/fixed-pipeline/flit_d.hh b/src/mem/ruby/network/garnet/fixed-pipeline/flit_d.hh --- a/src/mem/ruby/network/garnet/fixed-pipeline/flit_d.hh +++ b/src/mem/ruby/network/garnet/fixed-pipeline/flit_d.hh @@ -69,7 +69,7 @@ advance_stage(flit_stage t_stage, Cycles curTime) { m_stage.first = t_stage; - m_stage.second = curTime + Cycles(1); + m_stage.second = curTime; } std::pair get_stage() { return m_stage; }