Decrement active transactions after BEGIN_RESP.
This commit is contained in:
@@ -209,6 +209,16 @@ void Arbiter::peqCallback(tlm_generic_payload &payload, const tlm_phase &phase)
|
||||
if (returnValue == TLM_UPDATED)
|
||||
payloadEventQueue.notify(tPayload, tPhase, tDelay);
|
||||
}
|
||||
|
||||
if (activeTransactions[threadId] == maxActiveTransactions)
|
||||
{
|
||||
tlm_phase tPhase = END_REQ;
|
||||
sc_time tDelay = SC_ZERO_TIME;
|
||||
tlm_generic_payload &tPayload = *outstandingEndReq[threadId];
|
||||
tSocket[static_cast<int>(threadId)]->nb_transport_bw(tPayload, tPhase, tDelay);
|
||||
}
|
||||
|
||||
activeTransactions[threadId]--;
|
||||
}
|
||||
else
|
||||
{
|
||||
@@ -219,16 +229,6 @@ void Arbiter::peqCallback(tlm_generic_payload &payload, const tlm_phase &phase)
|
||||
{
|
||||
payload.release();
|
||||
|
||||
if (activeTransactions[threadId] == maxActiveTransactions)
|
||||
{
|
||||
tlm_phase tPhase = END_REQ;
|
||||
sc_time tDelay = SC_ZERO_TIME;
|
||||
tlm_generic_payload &tPayload = *outstandingEndReq[threadId];
|
||||
tSocket[static_cast<int>(threadId)]->nb_transport_bw(tPayload, tPhase, tDelay);
|
||||
}
|
||||
|
||||
activeTransactions[threadId]--;
|
||||
|
||||
if (!pendingResponses[threadId].empty())
|
||||
{
|
||||
tlm_generic_payload &tPayload = *pendingResponses[threadId].front();
|
||||
|
||||
Reference in New Issue
Block a user