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

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

手机号码,快捷登录

手机号码,快捷登录

找回密码

  登录   注册  

快捷导航
搜帖子
查看: 2243|回复: 4

[求助] 如何处理AXI master在transactions没有完成时就复位的情况

[复制链接]
发表于 2022-8-1 13:59:29 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?注册

x
场景1:当几个CPU core和其他的AXI master通过互联矩阵与其他的AXI slave相连。若CPU在执行程序时,跑飞了或有其他异常情形,需要复位,若此时CPU的AXI interface发出的transaction并未完成,这种应该如何处理?
前提1:NIC-400矩阵自身并不能处理这种异常情况,只能designer自行处理。
AXI协议本身并不支持burst提前终止
同事的建议是做一个总线接管的模块,当AXI master复位时,就把AXI interface接管起来,保证后续的transaction能够完成,数据可以丢掉

业内有没有什么好的方法处理此类情况?
发表于 2022-8-1 18:46:05 | 显示全部楼层
如果mst maxtri slave 用不同的复位的话,要处理mst这种状况,matri最好有带错误的trans送出去到slave。
 楼主| 发表于 2022-8-1 21:30:49 | 显示全部楼层


A1985 发表于 2022-8-1 18:46
如果mst maxtri slave 用不同的复位的话,要处理mst这种状况,matri最好有带错误的trans送出去到slave。 ...


目前就是CPU core和matrix分别用不同的复位,确实存在这种问题。前几天仿真了一下ARM的matrix的行为,发现ARM不会对master复位之后,transaction没发完的情况进行处理。所以必须得在master处进行处理。不知道你们以前有没有遇到这种问题,这个在业界应该是很常见的东西,毕竟AXI协议都出了这么久了
发表于 2022-8-9 19:37:53 | 显示全部楼层
这个应该是有更高级的系统场景来保证的,你们的系统应该规定好异常场景的reset sequence

实际处理有很多种方式,比如master读了一半不读了,需要reset, 那么可以给slave做一个pre_reset, 必须把数吐完再reset slave.

再比如master彻底动不了了,那么看门狗触发更高级的global reset把master和slave都reset掉。

不需要什么都靠master解决
 楼主| 发表于 2022-8-10 13:38:01 | 显示全部楼层


seabeam 发表于 2022-8-9 19:37
这个应该是有更高级的系统场景来保证的,你们的系统应该规定好异常场景的reset sequence

实际处理有很多种 ...


你说的有道理,这个其实是更高层级该考虑的事情。目前还是在每个master/slave的挂了一个接管模块,保证能够发完所有的握手,这样再去复位master或者slave,总线矩阵不至于挂死
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

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


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

GMT+8, 2024-12-22 21:52 , Processed in 0.018754 second(s), 6 queries , Gzip On, Redis On.

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