Axi ARSIZE with narrow subordinates

I have an AXI4 Initiator with data_width = 32bits and an APB Target with data_width = 8bit. There's a protocol conversion bridge between these two.
Suppose the initiator want to do a READ with ARSIZE = 1 (16bits). how does the data look on RDATA lines?

Address 7:0
0x1000 01
0x1001 00
0x1002 a1
0x1003 aa
0x1004 02
0x1005 00
0x1006 a2
0x1007 aa
0x1008 03
0x1009 00
0x100a a3
0x100b aa

Suppose axi initiator sends req : Araddr = 0x1000 ARSIZE = 1 ARLEN = 3 ARBURST= INCR then how does the RDATA look like ?

Case 1:
1st   rdata = 00010001  --  from address 0x1000
2nd  rdata = aaa1aaa1  --  from address 0x1002
3rd  rdata  = 00020002  -- from address 0x1004
4th  rdata  = aaa2aaa2  --  from address 0x1006

Case 2:
1st   rdata = 00000001  --  from address 0x1000
2nd  rdata = aaa10001  --  from address 0x1002
3rd  rdata  = 00000002  -- from address 0x1004
4th  rdata  = aaa20002  --  from address 0x1006

Basically, I want to understand how to handle the data being read from APB side should be handled inside the axi-to-apb bridge to be sent to AXI initiator.

Thank you in advance for all your response.

Parents Reply Children
No data