SPRUIU1C July 2020 – February 2024 DRA821U , DRA821U-Q1
The read scoreboard keeps track of all read transactions currently in-flight through the gasket. The read scoreboard can keep track of <num_reads> read transactions at a time (specified at configuration time, see Section 3.3.6.5.1). If a new read transaction comes in and the read scoreboard is full, the command bus (including all writes and reads) is stalled until a slot becomes available. The read scoreboard tracks the following information about all ad commands that come through.
When read data is received on the read data bus, the read scoreboard compares the tag (stored in the RID) to find the associated transaction. If the transaction matches one being tracked by the read scoreboard, then the data is passed to the read egress FIFO and rbytecnt is subtracted from the current bytecnt. If the current bytecnt becomes 0, then the transaction is evicted from the read scoreboard and the tag is returned. If there are bytes left, then it is kept.
If the read data 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 read data 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 read, the read scoreboard issues responses so that the initiator is not hung: