一般涉及DDR读写仲裁的控制逻辑需要注意哪些方面

基于vivado2020.1和zcu102开发板(rev1.1)开发项目,工程涉及ddr4(mig)和pl端多个读写接口交互的问题,通过axi interconnect进行互联和仲裁(采用默认配置)。一个完整控制周期内(约100ms),各端口读写情况如下(awsize均为4)。
axi1:只写入,awlen=119,每次写请求共计4320次突发写,完整控制周期内1次读请求
axi2:读写,arlen=35,awlen=3,每次读请求共计56-232次突发读,写请求共计192-384次突发写,完整控制周期内读写请求各176次
axi3:读写,arlen=5-6,awlen=3,每次读请求共计56-232次突发读,写请求共计192-384次突发写,完整控制周期内读写请求各60次
axi4:读写,arlen=7,awlen=127,每次读请求共计320-1152次突发读,写请求共计62-128次突发写,完整控制周期内1次写请求,48次读请求
axi5:只读,arlen=127,每次读请求共计3240次突发读,该模块是hdmi显示模块(1920*1080*3)的输入,频率为60hz,它的读操作是独立于控制周期的
axi3与axi4的读会同时请求相同内存区域的数据,axi4的写与axi5的读会访问相同内存区域的数据。
axi2-axi4是计算模块的输入输出接口,设计之初默认ddr读写速度远高于计算速度,ddr读写会先于计算完成。因此在设计计算模块控制逻辑的时候,没有考虑ddr读写相关的握手信号。但在实际验证过程中,各通道会随机出现阻塞,因此会导致ddr读写地址乃至控制逻辑的错乱。
经过估算ddr带宽是远高于读写数据带宽的,为了解决这一问题,包括但不限于改变突发长度、调整axi interconnect仲裁优先级等操作中的哪些会起到作用?
以及,一般涉及ddr读写仲裁的控制逻辑需要注意哪些方面?
注:控制逻辑产生的问题是,以axi2为例,它的176次读写是分为176个子阶段完成的,阶段1首先读取第1批读数据后,开始对第1批数据进行计算,同时开始读取第2批数据。之前默认读一定快于计算,所以以计算完成作为状态转移的标志,在计算完成后发出第1批数据的写请求后,进入第2阶段的逻辑。在该阶段计算第2批数据的同时,读入第3批数据,并完成第1批数据的写入。同样默认读写一定快于计算,在计算完成后,发出第2批数据的写请求,并进入第3阶段。阻塞会导致读数据晚于计算完成,在此情况下,所有的控制逻辑都会发生错乱,ddr的读写地址将不受预期的控制。
通常如果你多个端口同时访问ddr,就会发生阻塞,你可以通过设置priority的方式(如下图),设置优先的通道。
并且建议你的optimization strategic设置成 maximum performance,提高interconnect本身的时钟频率。
关于 ddr(mig),如果你都是地址随机读写的话,并且长度一致的话,ddr效率可以变得很低,这是你的系统设计需要注意的。
有关ddr的效率问题,可以到ip应用的板块进一步咨询。
原文标题:本周一问 | 多axi通道读写ddr的阻塞问题?
文章出处:【微信公众号:xilinx开发者社区】欢迎添加关注!文章转载请注明出处。


华为发布Matebook笔记本,比MacBook更薄、更强 吗?
多芯并联封装IGBT的缺陷以及失效先导的判据
运营商积极推进NB-IoT应用
Vishay新型SMD HI-TMP®液钽电容器可节省基板空间并提高可靠性
什么是区块链?可以传递价值的区块链
一般涉及DDR读写仲裁的控制逻辑需要注意哪些方面
区块链如何使数字媒体获得更高的利润
常用电容的识别
首个无人驾驶出租车采用初速度科技研发的L4级别完全无人驾驶技术
苹果OLED显示屏订单落入韩企三星口袋:日本显示器公司明显慌了
双张检测传感器应用和特点
具精准50uV失调电压的运算放大器 工作在76V输入电压范围
如何使用ESP8266和Android控制继电器
英特尔发布第五代至强可扩展处理器:性能和能效大幅提升,AI 加速
C语言的万能“三板斧”
华为首款5G商用芯片已定 5G手机有望2019年上市
5G手机防水滤网膜材料是如何实现IP68级防水的
区块链与云技术将如何构建新型游戏生态系统
PCB行业未来三大发展趋势,新三板市场相关PCB企业介绍
拜腾汽车已经完成了三轮融资,还有8亿欠款却豪言要上市