# Node ID 4e99eb9997e2e1de7d5c2a5c964e5cdad5b52c08 # Parent 2c489108cb3128cf5722dd79f6a61fcab8e18b60 diff --git a/src/mem/ruby/system/RubyPort.cc b/src/mem/ruby/system/RubyPort.cc --- a/src/mem/ruby/system/RubyPort.cc +++ b/src/mem/ruby/system/RubyPort.cc @@ -177,8 +177,7 @@ DPRINTF(RubyPort, "Response for address: 0x%#x\n", pkt->getAddr()); // send next cycle - rp->pioSlavePort.schedTimingResp( - pkt, curTick() + rp->m_ruby_system->clockPeriod()); + rp->pioSlavePort.schedTimingResp(pkt, rp->nextCycle()); return true; } @@ -201,7 +200,7 @@ // attempt to send the response in the next cycle RubyPort *rp = static_cast(&owner); - port->schedTimingResp(pkt, curTick() + rp->m_ruby_system->clockPeriod()); + port->schedTimingResp(pkt, rp->nextCycle()); return true; } @@ -251,9 +250,8 @@ pkt->pushSenderState(new SenderState(this)); // send next cycle - RubySystem *rs = ruby_port->m_ruby_system; - ruby_port->memMasterPort.schedTimingReq(pkt, - curTick() + rs->clockPeriod()); + Tick enqueue_time = ruby_port->nextCycle(); + ruby_port->memMasterPort.schedTimingReq(pkt, enqueue_time); return true; } }