32、为什么在AHB中有一个1KB边界的限制?
1KB边界限制在AHB中表示burst传输不能跨越1KB边界的约束。该限制旨在防止burst传输从一个slave交叉到另一个slave。在实践中,这意味着如果master必须要进行跨1KB边界的burst传输则必须切分成两次传输。例如:
0x3F00 x3F40 x3F80 x3FC0 x4000 x4040 x4080
这种1KB地址边界地址传输需要划分成
NSEQ SEQ SEQ SEQ NSEQ SEQ SEQ
33、举例说明什么是Wrap 边界 ? WRAP4,WRAP8,WRAP16 ?
Wrap边界取决于Hsize和burst beat的数量(4,8,16)
"For wrapping bursts, if the start address of the transfer is not aligned to the total number of bytes in the burst (size x beats) then the address of the transfers in the burst will wrap when the boundary is reached" AHB SPEC
Case1: Start Address is 0x4,Wrap4,Hsize is 2.
beat1 - 0x4
beat2 - 0x8
beat3 - 0xc
beat4 - 0x0
Hsize为2,意味着一次传输4字节。Wrap4 意味着一次burst共4拍,并且总的传输字节为16(beats*Hsize)字节。如果起始地址从0x4开始,则在0x10处wrap
Case2: Start Address is 0x4,Wrap4,Hsize is 1.
beat1 - 0x4
beat2 - 0x6
beat3 - 0x0
beat4 - 0x2
Hsize为1,意味着一次传输2字节。Wrap4 意味着一次burst共4拍,并且总的传输字节为8(beats*Hsize)字节。如果起始地址从0x4开始,则在0x8处wrap
Case3: Start Address is 0x4,Wrap8,Hsize is 1.
beat1 - 0x4
beat2 - 0x6
beat3 - 0x8
beat4 - 0xa
beat5 - 0xc
beat6 - 0xe
beat7 - 0x0
beat8 - 0x2
Hsize为1,意味着一次传输2字节。Wrap8 意味着一次burst共8拍,并且总的传输字节为16(beats*Hsize)字节。如果起始地址从0x4开始,则在0x10处wrap。