Fix of clock alignment in Arbiter.

This commit is contained in:
Lukas Steiner
2020-03-27 15:08:50 +01:00
parent e306c6c118
commit aa246c31bf

View File

@@ -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: