在线咨询
eetop公众号 创芯大讲堂 创芯人才网
切换到宽版

EETOP 创芯网论坛 (原名:电子顶级开发网)

手机号码,快捷登录

手机号码,快捷登录

找回密码

  登录   注册  

快捷导航
搜帖子
查看: 2886|回复: 8

[求助] AXI协议:收发数据顺序不同怎样解决?

[复制链接]
发表于 2020-11-19 16:28:29 | 显示全部楼层 |阅读模式
300资产
这里的乱序指的是:
AXI4总线协议中,例如AXI_MASTER发送数据信号D1 D2 D3,传输后AXI_SLAVE返回的数据为【D2 D1 D3(顺序不同)。如何保证主机向从机按INCR地址递增发送的数据,从机返回主机的数据仍然是这个顺序呢?求指教!!感激不尽!



微信图片_20201119162623.jpg
发表于 2020-11-19 21:08:52 | 显示全部楼层
本帖最后由 yangyuf 于 2020-11-19 21:10 编辑

ARID固定为0.
如果还是这样,就是BUS, slave有Bug.

可以看看On-Chip-Bus:https://ke.qq.com/course/2900266?tuin=64ce5e2a
 楼主| 发表于 2020-11-20 14:17:06 | 显示全部楼层


yangyuf 发表于 2020-11-19 21:08
ARID固定为0.
如果还是这样,就是BUS, slave有Bug.


我可能没有表达清楚。。现在相当于是要对AXI协议中从机返回的具有相同id的数据做一个重排序,以便遵守协议中对于“具有给定AXI标识值的所有事务都必须保持有序”的规则。但是具体的实现方法我没有思路,请大佬指点指点!
发表于 2020-11-21 05:36:56 | 显示全部楼层


JINNINE 发表于 2020-11-20 14:17
我可能没有表达清楚。。现在相当于是要对AXI协议中从机返回的具有相同id的数据做一个重排序,以便遵守协 ...


系统中的每个AXI接口都要符合AXI协议。没有谁是例外的。没有谁需要给另一个“人”擦屁股。

如果你的DDR controller是个例外(可能某部分已经不是AXI接口),考虑添加sidebank signals来标志顺序。

可以见:https://zhuanlan.zhihu.com/p/299022498
 楼主| 发表于 2020-11-23 10:15:25 | 显示全部楼层


asic_service 发表于 2020-11-21 05:36
系统中的每个AXI接口都要符合AXI协议。没有谁是例外的。没有谁需要给另一个“人”擦屁股。

如果你的DDR  ...


现在的情况是:从主机写入的地址和对应的数据,在经过从机的处理后返回时可能因为读取路径不同造成顺序的错位。比如以INCR地址为A1,A1+1,A1+2,对应地址写入的数据为D11,D12,D13,但在读取的时候可能会变成D13,D12,D11。请问这种问题您有什么解决思路吗?请大佬指教!
 楼主| 发表于 2020-11-23 10:59:19 | 显示全部楼层


asic_service 发表于 2020-11-21 05:36
系统中的每个AXI接口都要符合AXI协议。没有谁是例外的。没有谁需要给另一个“人”擦屁股。

如果你的DDR  ...


关于您提到的利用sidebank signal来标记顺序,我想到的方法也是添加标志位。我在想是否可以对数据包不做改动,而是利用axi中的用户自定义信号来解决。但目前没有进展。所以可以麻烦您再详细点聊一下吗?谢谢!
 楼主| 发表于 2020-11-24 10:34:42 | 显示全部楼层
本帖最后由 JINNINE 于 2020-11-24 12:02 编辑

已经解决了,用闲置的比特位标记顺序,过个buffer按顺序输出。谢谢大家!
发表于 2020-11-24 23:25:56 | 显示全部楼层
好奇想请教下,问题的根因是Slave设计的问题吗?导致相同ID没有保序返回。
 楼主| 发表于 2020-11-25 16:14:25 | 显示全部楼层


IC.Michael 发表于 2020-11-24 23:25
好奇想请教下,问题的根因是Slave设计的问题吗?导致相同ID没有保序返回。


是的。详细来说: 由AXI的协议机制,INCR模式下读请求简单来说是发送首地址和地址长度,在slave里读取这些地址对应的数据。AXI slave在接收到master的读请求之后,会通过xbar先在cache里寻址,如果没有找到就需要到ddr里找。而第二个地址的数据在此之前被找到的话,就会先读取这个地址的信息,因此造成乱序。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

站长推荐 上一条 /2 下一条

×

小黑屋| 关于我们| 联系我们| 在线咨询| 隐私声明| EETOP 创芯网
( 京ICP备:10050787号 京公网安备:11010502037710 )

GMT+8, 2024-4-25 13:51 , Processed in 0.027017 second(s), 6 queries , Gzip On, Redis On.

eetop公众号 创芯大讲堂 创芯人才网
快速回复 返回顶部 返回列表