From aa246c31bf2eedafa676a531e5bc82a57a547578 Mon Sep 17 00:00:00 2001 From: Lukas Steiner Date: Fri, 27 Mar 2020 15:08:50 +0100 Subject: [PATCH] Fix of clock alignment in Arbiter. --- DRAMSys/library/src/simulation/Arbiter.cpp | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/DRAMSys/library/src/simulation/Arbiter.cpp b/DRAMSys/library/src/simulation/Arbiter.cpp index 18b62a4a..a8c31caa 100644 --- a/DRAMSys/library/src/simulation/Arbiter.cpp +++ b/DRAMSys/library/src/simulation/Arbiter.cpp @@ -68,8 +68,9 @@ Arbiter::Arbiter(sc_module_name name) : tlm_sync_enum Arbiter::nb_transport_fw(int id, tlm_generic_payload &payload, tlm_phase &phase, sc_time &fwDelay) { - sc_time notDelay = clkAlign(sc_time_stamp() + fwDelay) - - (sc_time_stamp() + fwDelay); + sc_time notDelay = std::ceil((sc_time_stamp() + fwDelay) / Configuration::getInstance().memSpec->clk) + * Configuration::getInstance().memSpec->clk - sc_time_stamp(); + if (phase == BEGIN_REQ) { // adjust address offset: