程潇扬 · 2020年03月29日

CMSDK中AHB总线矩阵的HREADYSx信号的作用是什么?

仿真发现主设备通过拉低HREADYSx信号并不能使HREADY信号同时拉低,那么如果传输过程中主设备未准备好,只能是不给出HTRANS信号吗?hreadysx.png

1 个回答 得票排序 · 时间排序
天津 · 2020年03月31日
  • 主设备是不会去驱动HREADY信号的,主设备如果在传输中没准备好会通过HTRANS插入BUSY。
  • 所有的HREADY信号都是由从设备和Multiplexor驱动
    • -

可以参照下面这个图
微信截图_20200331123740.png
而总线矩阵无非就是把多个这样的Multiplexor以及仲裁等封装到一起。

    • -
  • 如果上面这个图的slave只有一个的话,这个slave的HREADYIN就应该由它自己的HREADYOUT作为输入。
  • 同理,你在使用总线矩阵的时候,Slave Interface与Master Bus处的连接就等价于一主一从的直连,所以这里的HREADYSx应该直接由HREADYOUTSx做为输入。
  • 当然也有额外的情况,如果你的Master Bus除了与Slave Interface连接外,还有额外的slave就需要用到上图的这种结构
    • -

总结:
处理HREADY相关信号就按照上图处理,如果是1主多从就要使用Multiplexor,Slave的HREADYIN由Multiplexor驱动;如果是1主1从就不需要这个Multiplexor,Slave的HREADYIN直接由Slave的HREADYOUT信号驱动

你的回答