SPRUJB3 March 2024 AM67 , AM67A , TDA4AEN-Q1 , TDA4VEN-Q1
The following sequence will occur for each VBUSM read which is sent to the source interface:
RINGACC extracts ring # from incoming read transaction address
RINGACC looks up ring state using ring number
RINGACC calculates effective read address using ring base + ring_index
RINGACC increments RD index and decrements RD and WR occupancy for ring
RINGACC re-evaluates pending bit for ring
RINGACC munges cid to add indicator in 4 MSBs to reconstitute routeid for returning read data
RINGACC pushes altered caddress, cid and unaltered remainder of command attributes to output FIFO (note routeid is not included)
At a later time when read data returns:
RINGACC recovers original cid, crouteid, and ring number from scoreboard
RINGACC pushes restored rrouteid, rid, and unaltered read data, status, and other control signals to output read FIFO