AMBA4—无聊的Narrow transfers介绍

编 者 按   
    amba总线无论fpga还是asic,应该都是比较常用的一组总线协议。对于其中的协议,有一种传输格式叫narrow transfers,颇有些“无聊”~
》axsize
在axi4总线里,aw通道以及ar通道均存在一个size字段:
这里面就有点儿意思了。比如说在fpga里面常用的512总线位宽场景下,fpga设计里一般也会直接固定死arsize、awsize为0x6,即每拍传输64bytes,然而协议里面的设置也允许了axsize可以设置为0x0~0x6中的任一值,即每拍可以传输1、2、4、8、16、32、64中的任一情况。而这种不满位宽输出的场景,即为“narrow transfers”。
》传输规则
在axi4总线中,协议中规定了其传输规则:
start_addr:master发起传输的起始地址。
data_bytes:总线数据位宽。
aligned_addr:地址对齐的起始地址
address_n:第n拍的传输地址(1为第一拍)
wrap_boundary:warp传输的相应低位地址
lower_byte_lane:每拍传输的低位地址
upper_byte_lane:每拍传输的高位地址
int(x):x向下取整
    对于传输,定义:
start_addr=axaddr
aligned_addr = int(start_addr / size)* size
对于awsize为2,即4字节时,传输时序为:
对于awsize为1时,即2字节,传输时序为:
仔细分析上面的这三张图,除了awsize为3的正常传输外,剩下的两个均是narrow transfer。
如果你从下往上看,像俄罗斯方块那种从下往上堆叠,在地址不跨越总线位宽地址(8 byte)的情况下,像俄罗斯方块那种模式,则会有:
所以,所谓的narrow transfer,不过是正常的传输给拆分成按照(1<确实有点儿蛮“无聊”的是吧~
》实现考虑
从逻辑实现的角度来考虑,对于master实现,当满带宽的数据(总线位宽用满)进来后,我们所需要考虑的是数据需要停留几拍。
而停留几拍数据,所需要考虑的是地址累加什么时候到达data_bytes的整数倍(或者数据全部送完)。然后再取下一拍送出即可,同时输出相应的strb信号进行字节选取。
而对于slave端实现的角度,我们同样需要根据相应的规则选择停留合并合适的n拍后进行输出,比如写通道,则可以:



依赖政府补贴,江丰电子、阿石创净利下滑
角度传感器的选择 如何选择角度传感器
宁德时代的总市值已超过7500亿美元
陶瓷PCB在汽车LED行业的应用
长春光机所高速垂直腔面发射激光器研究进展
AMBA4—无聊的Narrow transfers介绍
快商通新冠肺炎咨询机器人入选工信部人工智能支撑疫情防控平台
网络安全系统及服务提供商安博通发布2021年报
IBM收购红帽背后 混合云将成发展趋势
解决瘫痪病人日常生活 科学家开发出一种新设备
雷赛推出中国首创混合伺服驱动器亮相高交会电子展
4G向5G的跨越什么时候可以完成
超级电容器20秒内完成充电,电动汽车不用愁了
WCDMA向后3G演进中基带传输技术
解读中国新能源汽车发展的内忧外患
美国正在发布初步禁令,以防止TikTok应用商店禁令生效
Fluke5320A校准仪
信息技术与课程整合的目标和方法
如何通过4G无线PLC网关对PLC进行远程控制
蓄电池的主要成份有哪些?