SPRUIU1C July 2020 – February 2024 DRA821U , DRA821U-Q1
The write scoreboard keeps track of all write transactions currently in-flight through the gasket. The write scoreboard can keep track of <num_writes> write transactions at a time (specified at configuration time, see Section 3.3.6.5.1). If a new write transaction comes in and the write scoreboard is full, the command bus (including all writes and reads) and the write data bus are stalled until a slot becomes available. The write scoreboard tracks the following information about all write commands that come through.
When a write status is received on the status bus, the write scoreboard compares the tag (stored in the SID) to find the associated transaction. If the transaction matches one being tracked by the write scoreboard, then the status is passed to the egress FIFO and sbytecnt is subtracted from the current bytecnt. If the current bytecnt becomes 0, then the transaction is evicted from the write scoreboard and the tag is returned. If there are bytes left, then it is kept.
If the write status does not match a tracked transaction, then an Unexpected Response error is generated, the information about the response is logged (see Section 3.3.6.2.1.12), and the status is discarded (not forwarded to the egress FIFO). Probable reasons for an unexpected response are:
If the Timeout Queue is not empty and the next element in the queue is a write, the scoreboard issues a response so that the initiator is not hung: