前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >常见的AXI总线仲裁器概述

常见的AXI总线仲裁器概述

作者头像
数字IC小站
发布2020-06-30 10:38:13
3.3K0
发布2020-06-30 10:38:13
举报
文章被收录于专栏:数字IC小站

"最近的文章可能更偏向于找工作"

SoC 设计广泛采用共享总线式的片上通信,其中的仲裁器是共享总线的关键技术之一。

AMBA AXI 总线协议以高性能、高频率的系统设计为目标,适合高带宽、低延迟的系统设计,可以达到高频率的操作而不需要复杂的总线桥,满足众多部件的接口要求,具备高度灵活的互联结构,并且向后兼容 AHB 和 APB 接口。

AXI 协议的关键特性总结如下:

  1. 多通道单向传输总线,将读/写地址、读数据、写数据、写响应信号在不同的通道中实现传输。
  2. 基于 burst 传输,对于一次 burst 传输,只需要主机给出起始地址。
  3. 地址/控制和数据阶段分开,地址/控制信息可以在数据开始传输之前发出(也可以同时发出)。
  4. 支持非对齐传输,每 8 比特搭配一个字节选通开关信号,可以控制传输数据中对应字节的有效与否。
  5. 支持乱序传输(仅AXI3支持写乱序,AXI4已经取消),用 ID 来标识各个访问的归属。当访问的 slaves 中有低速设备时,AXI 乱序传输数据的优点就非常明显,不过,一次 burst 传输内的数据是按序传输的。
  6. 支持 outstanding 传输,即主机可以连续发送多个 burst 传输首地址而无需等待前次burst 传输完成。

除以上数据传输协议,AXI 协议还支持可选的低功耗操作。

AXI 协议中,五个通道都各自有一套使用 VALID 和 READY 信号的握手机制,使得master 和 slave 有效控制数据和控制信息的传输速率。源端生成 VALID 信号表明数据和控制信号有效,目的端生成 READY 信号表明可以接收相应的数据和控制信号。只有当 VALID和 READY 同时为高时,才开始传输。另外,读数据和写数据通道都包含一个 LAST 信号表示 burst 中最后一个数据项的传输。

仲裁主要是在如下场景中会使用到:

a.多个主设备同时访问同一个从设备的读地址;

b.多个主设备同时访问同一个从设备的写地址;

c.多个写数据从不同的主设备而来,同时写向同一个从设备,在这种情况下,数据会发生间插,这时候需要判断数据是哪个主设备的;只适合AXI3,在AXI4中WID被设置为1;

d.从不同的从设备同时返回多个写回应信号;

e.从不同的从设备同时返回多个读数据;

f.多个通道源试图同时访问同一个共享层;

那么总共需要的仲裁器个数为每个从设备需要3个仲裁器,每个主设备需要2个仲裁器。

那么常见的仲裁机制如下:

a.优先级仲裁:每个端口都配置静态的优先级,当同一时刻多个不同优先级的到达时,优先级高的优先传输;当两个相同优先级的同时到达时,看哪个索引接在request[0]上;

b.先到先服务仲裁:没有优先级,等待时间最长的具有最高的优先级,当同时到达的,看索引最低的具有最高优先级;仲裁相对优先级仲裁,频率较低;

c.双层仲裁(平级公平仲裁):这是一种两层仲裁,第一层相当于优先级仲裁,但是这个优先级是外部给予的,然后第二层仲裁是在具有相同的优先级的情况下,使用先到先服务的仲裁机制,并且每次传输时,都更新内部的优先级;

d.动态仲裁:看QoS的值,当QoS值一致时,看索引值。

上述情况中,如果上次传输还未完成,那么必须等待上次传输完成,才能进入下一次仲裁。

具体实现的RTL代码,没有~~~

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2020-06-21,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 数字IC小站 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档