Merge branch 'fix/trafficgeneratordelays' into 'develop'
Fix delays in traffic generators See merge request ems/astdm/modeling.dram/dram.sys.5!113
This commit is contained in:
@@ -190,7 +190,7 @@ Request TrafficGenerator::nextRequest()
|
||||
requestsInState++;
|
||||
|
||||
Request request = producers[currentState]->nextRequest();
|
||||
request.delay += generatorPeriod * static_cast<double>(clksToIdle);
|
||||
request.delay += generatorPeriod + generatorPeriod * static_cast<double>(clksToIdle);
|
||||
return request;
|
||||
}
|
||||
|
||||
|
||||
@@ -85,6 +85,13 @@ void RequestIssuer::sendNextRequest()
|
||||
|
||||
sc_core::sc_time sendingTime = sc_core::sc_time_stamp() + delay;
|
||||
|
||||
bool needsOffset = (sendingTime % interfaceClk) != sc_core::SC_ZERO_TIME;
|
||||
if (needsOffset)
|
||||
{
|
||||
sendingTime += interfaceClk;
|
||||
sendingTime -= sendingTime % interfaceClk;
|
||||
}
|
||||
|
||||
delay = sendingTime - sc_core::sc_time_stamp();
|
||||
iSocket->nb_transport_fw(payload, phase, delay);
|
||||
|
||||
|
||||
Reference in New Issue
Block a user