Set correct time of generation in arbiter.

This commit is contained in:
Lukas Steiner
2020-10-22 13:43:00 +02:00
parent 328a371843
commit 32c7148dd9
2 changed files with 4 additions and 4 deletions

View File

@@ -84,7 +84,7 @@ tlm_sync_enum Arbiter::nb_transport_fw(int id, tlm_generic_payload &payload,
// In the begin request phase the socket ID is appended to the payload.
// It will extracted from the payload and used later.
appendDramExtension(id, payload);
appendDramExtension(id, payload, fwDelay);
payload.acquire();
}
else if (phase == END_RESP)
@@ -228,10 +228,10 @@ void Arbiter::peqCallback(tlm_generic_payload &payload, const tlm_phase &phase)
"Payload event queue in arbiter was triggered with unknown phase");
}
void Arbiter::appendDramExtension(int socketId, tlm_generic_payload &payload)
void Arbiter::appendDramExtension(int socketId, tlm_generic_payload &payload, sc_time delay)
{
// Set Generation Extension and DRAM Extension
GenerationExtension::setExtension(&payload, sc_time_stamp());
GenerationExtension::setExtension(&payload, sc_time_stamp() + delay);
unsigned int burstlength = payload.get_streaming_width();
DecodedAddress decodedAddress = addressDecoder->decodeAddress(payload.get_address());

View File

@@ -87,7 +87,7 @@ private:
void peqCallback(tlm::tlm_generic_payload &payload, const tlm::tlm_phase &phase);
void appendDramExtension(int socketId, tlm::tlm_generic_payload &payload);
void appendDramExtension(int socketId, tlm::tlm_generic_payload &payload, sc_time delay);
std::vector<uint64_t> nextPayloadID;
};