AXI 4年前提问
0
axi读地址和读数据分离

请问,axi读地址和读数据是分离的。如果master连续发送两个命令,一个是读slave A的一个寄存器,另一个是写slave B的寄存器,该寄存器的功能是复位slave A。如果写B寄存器先生效,A被复位了,但是A的读数据还没有返回,master会不会死掉,一般怎么处理?

被浏览 :  451
收起
( 0 ) 评论
mushroom 4年前回复
0
  1. 如果 A 在传输数据过程中被复位,从而导致 slave 返回的数据不符合协议要求, 这样导致的后果是不可预期的。对总线的影响可能是永久性的占用了一个 outstanding的能力。对于 master 来讲,对它的影响是不确定的。比如,如果 master 会检测 rlast 信号,可能就会永远等不到,就可能导致 livelock。
  2. 这种操作是软件的一个 defect。 软件 reset 一个 device 的前提,一般是该 device 处于一个安全的 IDLE状态(假设存在异步的 bridge, 那操作还会更复杂一些)。对于AXI 系统而言,为了避免系统挂死,一般要把整个子系统都进行一个复位操作。
    In summary, 这种操作的具体影响是视系统不同而不同的。
添加评论
我的答案
提交答案