突发长度(AWLEN):一次突发中可能会有多次数据的传输(每次数据传输叫做一个tranfer),该信号给出了传输的次数,需要注意的是,实际传输的次数是 AWLEN + 1,比如该信号的值是2,那么实际上一共有三次传输,即会对三个地址处的值进行写入。
突发大小(AWSIZE ):该信号给出了每次传输的数据的大小,需要注意的是,该信号给出的数据大小不能超过数据宽度(即 C_S_AXI_DATA_WIDTH),下表是该信号的值与其表示的传输数据大小的对应关系。

突发类型(AWBURST):AWBURST 和 AWSIZE 决定了突发中每次传输的地址是如何计算的,下表给出了该信号的值与突发类型的对应关系。

Fixed Burst:每次传输的地址是固定的,即为 AWADDR。该类型主要用于读或者清空 FIFO。
INCR (incrementing) Burst:每次传输的地址等于上一次传输的地址加上传输的大小(即AWSIZE信号所给出的传输的字节数),需要注意的是,Master 给出的初始地址必须是对齐的,比如说如果 AxSIZE 的值为 0b010,那么起始地址必须要是4字节对齐(此处如何理解?)。该类型主要用于访问一般的存储器。
WRAP (wrapping) Burst:根据起始地址和传输大小,可以计算出一个 lower address 和 upper address,WRAP Burst 下每次传输地址的计算和INCR Burst 是相似的,除了当地址增加到 upper address 时,下次传输的地址需要回落到 lower address 。需要注意的是,起始地址必须是和 AxSIZE 对齐的,而且突发长度只能为2、4、8或16。lower address 必须与此次突发中所有传输的字节总数(即突发大小 * 突发长度)是对齐的,现在举个例子说明 lower address 和 upper address 如何计算的。例如,突发长度为 8(即AxLEN的值为7),突发大小为 4 字节(即AxSIZE为0b010),那么此次突发中传输的总字节数是 32,因此 lower address 必须是32的整数倍。假如起始地址是 72(必须和突发大小是对齐的),相邻两个32字节对齐,并且起始地址位于其间的地址是 64 和 96,因此 lower address 便是 64,upper address 便是 96-4=92 (即减去突发大小),因此此次突发的地址依次是 72, 76, 80, 84, 88, 92, 64, 68,需要注意的是传输地址中不包括96这个地址。

1876

被折叠的 条评论
为什么被折叠?



