本文将讨论amba的第三次修订版,该修订版向世界介绍了高级可扩展接口(axi)协议。axi协议最初是为高频系统而设计的,旨在满足各种组件的接口要求,同时允许灵活地互连这些组件。适用于高频,低延迟设计,axi仍与先前的amba版本向后兼容ahb和apb。了解axi将使您深入了解soc的工作原理,同时使您成为一名多才多艺且全面的设计师。axi架构回想一下,ahb(高级高性能总线)是单通道总线,多个主机和从机用于交换信息。优先级仲裁器确定当前哪个主机使用该总线,而中央解码器执行从机选择。突发执行操作可能需要花费多个总线周期才能完成。每个突发传输都包括一个地址和控制阶段,随后是一个数据阶段。axi的设计理念相似,但使用多个专用通道进行读写。像它的前身一样,axi是基于突发的,并且在交换数据之前使用类似的地址和控制阶段。axi还包括许多新功能,包括乱序事务,未对齐的数据传输,高速缓存支持信号和低功耗接口。axi频道
axi主站和从站之间有五个独立的通道。它们是:
读取地址通道
读取数据通道
写地址通道
写数据通道
写响应通道
地址通道用于在执行主从之间的基本握手时发送地址和控制信息。数据通道是要交换信息的放置位置。主机从从机读取数据并将数据写入从机。读取响应信息放置在读取数据通道上,而写入响应信息具有专用通道。这样,主机可以验证写事务已完成。图1显示了通过五个axi通道连接的axi主从设备。图1.axi通道每次数据交换都称为事务。事务包括地址和控制信息,发送的数据以及任何响应信息。实际数据以突发方式发送,其中包含多次传输。图1显示了由4个拍子或数据传输组成的读写突发。我们将在本文后面详细讨论突发。axi信号
就像以前的amba版本中的ahb,asb和apb信号一样,每个axi通道都有许多与之相关的信号。有两个全局信号称为aclk和aresetn。它们分别是系统的全局时钟和复位信号。aresetn的后缀“ n”表示此信号为低电平有效。图2显示了与读取通道相对应的信号以及全局信号。图2.读取地址,读取数据和全局信号每个通道都有一个id标签,用于无序交易。具有相同id的任何事务都必须保留顺序,但是具有不同id的事务可以按任何顺序完成。这样,即使较慢的事务首先发出,也可以在较慢的事务之前完成较快的事务。例如,如果一个主设备正在将数据写入多个从设备,则事务id将允许更快的从设备更快完成。总线宽度是特定于实现的,但是这些信号以32位总线宽度显示。从机使用rlast信号向主机发送最后一个数据项正在传输的信号。其他值得注意的信号包括突发大小,长度和类型。valid和ready信号用于主机和从机之间的握手。这些将在本文后面讨论。缓存,锁定和保护信号分别用于缓存,互斥访问(原子操作)和非法访问保护。图3.写入地址,数据和响应信号图3显示了写地址,数据和响应信号。这些信号反映了上面的读取信号,但被主机用来将数据发送到从机。wlast向从站发出信号,表明正在发送最后一个数据项。专用的写响应信号使主机可以知道写事务已成功完成。有关这些信号的更详细说明,请参阅amba 3.0版,尤其是amba axi协议v1.0规范。axi交易
如前所述,axi数据传输称为事务。事务可以采用读或写的形式,并包括地址/控制信息,数据和响应。数据以脉冲串的形式发送,其中包括多个称为节拍的数据项。为了同步数据的发送和接收,axi主站和从站在事务开始时使用ready和valid信号执行握手。通道握手
每个axi通道都包含一个有效信号和一个就绪信号。这些用于同步和控制传输速率。这里要记住的重要一点是,源或发送者使用valid信号表示数据或控制信息可用。当目的地或接收者实际上能够使用该信息时,它会发出ready信号。因此,只有当valid和ready信号都有效时,才可以进行传输。图4显示了工作中的axi握手。通知信息传输(用箭头表示)仅在valid和ready都较高时发生,而不管哪个先断言。还要注意,axi在所有传输中都使用时钟上升沿。图4.axi握手机制(改编自axi规范v1.0)axi规范中的一个重要说明是,一个组件的valid信号绝不能依赖于另一个组件的ready信号。ready可以等待valid信号,但不是必须的。遵循这些规则消除了发生死锁的可能性。如果valid依赖于ready,而ready则依赖于valid,则很容易看到两个信号都不会置为有效,因为每个信号都在等待另一个信号。axi爆发
axi中的数据交换采用突发形式。每个突发包括多个节拍或数据传输。在事务开始时发送的控制信息指示正在传输的突发的长度,大小和类型。x代表r或w的axlen [3:0]表示突发中的拍数。宽度为4位,这意味着一个突发中最多可以进行16次传输。axlen = b0000表示每次连发有一个节拍。b0001,b0010和b0011的值分别代表两个拍子,三个拍子和四个拍子。这种模式一直持续到十六岁。组件必须完成axlen指定的所有节拍,无论是否使用数据。axsize [2:0]指定突发的每个拍中有多少个字节。axsize中的每个位代表另一次幂2,“ 000”代表每个节拍1个字节,“ 111”代表每个节拍最多128个字节。这些节拍的大小不能超过母线宽度。axburst[1:0]确定将执行的突发类型。axi中有三种突发类型。他们是:
固定爆发
突发增加
包装爆裂
在固定的脉冲串中,地址不会随着每个节拍而改变。一个典型的应用是fifo队列/缓冲区。增量突发代表更典型的传输类型,其中在每个拍子之后,传输地址都会递增。您可以将其视为与基址的偏移量。最终的突发类型是包装突发。包装突发与增量突发类似,不同之处在于存在一个包装边界,其中地址一旦增加到该点,它就会缠绕到一个较低的地址。图5显示了三种不同类型的axi突发的简化视图。图5.axi突发类型
axi互连
axi互连允许多个主机和/或多个从机相互连接。axi规范定义了主机和从机,主机和互连以及从机和互连之间的接口。实际上,互连包含连接到axi主设备的从设备接口和连接到axi从设备的主设备接口。互连中发生的事情(即,不同的主机如何与不同的从机通信)取决于实现方式。互连可以允许共享的地址总线,共享的数据总线都共享或不共享。在下一篇文章中,我们将研究axi互连,它们如何工作以及如何在设计中使用它们。结论
本文是对高级可扩展接口(axi)协议的基本介绍。我们查看了amba第三版中指定的旧版axi。如前所述,您可以参考amba axi协议v1.0(约一百页),以更深入地了解axi的第一个版本。随着新版本的axi(例如axi4,axi4-lite和axi4-stream),axi在amba版本4中看到了一些重大变化。将来的amba文章将讨论用于组件之间系统级缓存一致性的axi4和ace协议(axi一致性扩展)。axi已成为现代soc设计中广泛使用的协议。在学习axi时,更简单的总线协议(如avalon和wishbone)将变得更加容易。
今年第二季度全球智能手表出货量同比增长了44%苹果占了总量的一半
利尔达5G R16模组NE16U-CN性能优越 通过华为认证测试
关于全方位解析英特尔响应式零售平台之技术核心分析和介绍
HeHaQi手环评测 健康管理十分全面
pm2.5传感器四种工作原理及进口品牌介绍
高级可扩展接口(AXI)简介
2020年度中国工业互联网十件大事
物联网将是克服水能源短缺的关键方案
质疑:鸿蒙会不会没有APP可用
小型机内存容量
科创板铂力特副总经理喻文韬介绍、履历信息
未来的智能化生活都会有着哪些特点
智能开关柜操控装置设计及应用
感应灯一直亮怎么解决_感应灯是靠什么感应的
5G创新成果有哪些?华为、中兴、荣耀、OPPO在MWC2022交出答卷
摄像头AI优化:多摄像头平滑切换/魔法变天
vivox20评测:vivo x20首款全面屏新机告别低价高配,四大亮点值得入手
上游供应链告急 手机、电视掀涨价潮
硬核技术突破,华为新款MateBook X Pro定义PC“源创新”
英特尔傲腾持久内存的两种操作模式介绍