vivado AXI_interconnector ID信号的一些总结

很久没有写东西了。最近尽力了很多生活上的事情,最终也算圆满结局。

言归正传:主要是以AXI4为背景介绍4组ID信号,以及其计算方式。对照vivado PG059以及PG247。见解都是基于个人所学,会有偏差还望谅解。

AXI4中去掉了WID,所以write不再支持interleaving功能;具体解释:深入 AXI4 总线(五B)多主机传输事务场景 - 知乎

知乎的一份关于AXI4协议的解读,总体讲的很好。 其余四组ID信号的意义不再描述、AxID主要有master提供,BID、RID由slave提供,ID信号对于单组对单从的AXI传输没有太大意义。ID信号主要是引出outstanding address;out of order;interleaving三种突发传输中的排序方式。主要是多master对多slave。xilinx vivado提供两种常用的Interconnect:smartconnect(pg247);interconnector(pa059).

 如图两个相同的interconnect(3slave 2master)级联;对应pg059 74page进行解释:S00_AXI_0设置ID为14位(max THREAD_ID_WIDTH);ceil_log2 NUM_SI = 2;所以M00处ID_width 为16位,即interconnect在salve device处添加了两位ID信号用于标识通往那一路master device。地址分配好之后进行valid验证,发现报错:error:[BD 41-1680] found multiple address paths from master interface ... starting at interface ....:该错误表示两个MI处访问了同一块地址空间,报错。所以interconnectMI处端口应该连接不用的Device。

按照上图所示方法即可实现interconnect级联。

smartconnect 这个IP只会计算最低的ID位宽,即原始的THREAD_ID并不会被传递。

 

  • 2
    点赞
  • 20
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值