Set correct time of generation in arbiter.
This commit is contained in:
@@ -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());
|
||||
|
||||
@@ -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;
|
||||
};
|
||||
|
||||
|
||||
Reference in New Issue
Block a user