tfpwl_lj的个人空间 https://blog.eetop.cn/1638430 [收藏] [复制] [分享] [RSS]

空间首页 动态 记录 日志 相册 主题 分享 留言板 个人资料

日志

基于AXI总线的bridge设计要点总结

已有 2113 次阅读2020-2-23 11:51 |系统分类:芯片设计

一、概述

    在前文有提到AXIAHBbridge,但在本部分中,介绍的不是这个而是另外一种自定义的XBUS总线转换为AXIbridge设计。

协议特点

    AXI的协议有固定的标准,这里就不在多说。主要介绍一下XBUS的特点,XBUS总线是一种数据流形式的总线,数据位宽为32-data_xbus,有一个first_xbus信号,其为高时表明这是一次数据传输的头,有一个last_xbus信号,其为高时表明这是一次数据传输的尾,另外还有一对握手信号ready_xbus, valid_xubs. XBUS的数据头里包含有读写flag,起始地址,数据长度,成功/失败flagXBUS的数据流是顶格放置的,举例来说,如果32位数据中有3byte数据有效,那么这32位数据中,前24bit有效,后8bit无效,且不管起始地址是什么样的。

二、设计要点

针对这样一种数据流的格式,其设计的主要要点有如下几个:1,在AXI总线中,数据的有效性是根据wstrb线来标注的,且AXI总线的地址是对齐的。因此,第一个设计要点就是要将XBUS的顶格的数据通过移位的方式来使得AXI总线地址对齐。2AXI总线每一个burst传输的数据量的最大值比XBUS总线的数据量要小,因此,第二个设计要点就是要将来自XBUS总线的大量数据进行拆包处理。在以上两个关键点的约束要能设计出一个计算wstrb, addr, blenAXI关键数据的逻辑。3,跨时钟域处理问题,总线桥的设计总是不免会涉及到不同时钟域数据交换问题。这一点还比较容易处理,直接使用AFIFO来进行数据同步。4,性能问题,总线桥属于数据通路,其数据传输效率是最重要的性能指标。这个性能指标除了与本身的拆包、移位功能相关以外,还与AFIFO的深度有关,如果AFIFO的深度设置过低,即使AFIFO前级的速度很快,由于AFIFO同步数据需要时间,那么也会导致性能的降低,一般而言,AFIFO的同步周期位4cycle。所以最好设置AFIFO的深度为8即可达到效率最大化。

一般来说,总线桥的设计,在SOC设计中是大概率会有的。前面提到的设计要点,都适用于各种总线桥的设计,设计的重点在于:1)熟悉两种总线的特征;2)提取两种总线的相同点和不同点;3)确定好固定的参数和可变参数,针对可变参数进行细节设计,固定参数直接固化。

评论 (0 个评论)

facelist

您需要登录后才可以评论 登录 | 注册

关闭

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

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

GMT+8, 2021-12-9 18:48 , Processed in 0.026163 second(s), 6 queries , Gzip On, Redis On.

eetop公众号 创芯大讲堂 创芯人才网
返回顶部