在使用0x001地址在64位数据上进行未对齐的32位数据传输时,低位地址线用于指示未对齐的数据传输,但是如果还需要传输此低位地址线数据怎么办?假设传输大小为4。
在使用0x001地址在64位数据上进行未对齐的32位数据传输时,低位地址线用于指示未对齐的数据传输,但是如果还需要传输此低位地址线数据怎么办?假设传输大小为4。
这里最大的问题是AWBURST信号是什么?
如果AWBURST指示INCR突发,那么在您的示例中,使用WDATA [31:8]将4个传输传输到0x001(3个字节),然后在WDATA [63:32]中将其传输到0x004(4个字节),在WDATA上将其传输到0x008(4个字节) WDATA [63:32]上的[31:0]和0x00C(4个字节)。因此,只有第一个传输的4实际上是未对齐的。
如果AWBURST指示一个FIXED突发,则在您的示例中,这4次传输全部为0x001(3字节),每一次都使用WDATA [31:8]。FIXED突发中的每个传输都指向相同的地址,因此所有4个都不对齐。
如果AWBURST指示WRAP突发,则这些不允许不对齐的起始地址。
请注意,在INCR和FIXED示例中,我在每个数据传输中都说3或4个字节,这是可以传输的最大字节数,并且那些传输的WSTRB信息可能表示少于最大字节数。