I am implementing a ACE5Lite subordinate (slave) & have a question regarding Read data chunking (RDC). RDC requires subordinate to drive read data in chunks of 128 bit aligned on RDATA bus as per address. I am not clear about behavior of other R channel signals (RUSER,RPOISON,RTRACE).
(Question 1) For RTAG , spec says "For read transactions that use read data chunking, only tags which correspond to valid chunk strobes are required to be valid." Does it mean following ?
Chunk1 :RDATA (256 bit) = <empty 128 bit lane> <128 bit data> RCHUNKSTRB (2 bit) = 2'b01 RTAG (8 bit) = < empty 4 bit lane > < 4 bit tag >
Chunk2 :RDATA (256 bit) = <128 bit data> <empty 128 bit lane> RCHUNKSTRB (2 bit) = 2'b10 RTAG (8 bit) = < 4 bit tag > < empty 4 bit lane >
(Question 2)Do we follow same behavior for RPOISON / RUSER ? Or are these signals repeated for all chunks for a particular beat ? Spec doesn't say anything about this !
(Question 3)I am assuming that same RRESP,TRACE value is used for all chunks related to a beat.RID , RLOOP , RIDUNQ should remain same for all chunks of a transaction.Am I correct in above 2 statements ?