0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

高级可扩展接口(AXI)简介

嵌入式星球 2020-09-29 11:44 次阅读

本文将讨论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)将变得更加容易。


声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • AXI总线
    +关注

    关注

    0

    文章

    66

    浏览量

    14249
收藏 人收藏

    评论

    相关推荐

    接口测试理论、疑问收录与扩展相关知识点

    本文章使用王者荣耀游戏接口、企业微信接口的展示结合理论知识,讲解什么是接口测试、接口测试理论、疑问收录与扩展相关知识点的知识学院,快来一起看
    的头像 发表于 11-15 09:12 192次阅读
    <b class='flag-5'>接口</b>测试理论、疑问收录与<b class='flag-5'>扩展</b>相关知识点

    AMBA AXI4接口协议概述

    AMBA AXI4(高级扩展接口 4)是 ARM 推出的第四代 AMBA 接口规范。AMD V
    的头像 发表于 10-28 10:46 155次阅读
    AMBA <b class='flag-5'>AXI</b>4<b class='flag-5'>接口</b>协议概述

    ChatGPT 高级语音模式扩展至欧盟多国

    近日,OpenAI 宣布了一个重要的更新,将其 ChatGPT 高级语音模式扩展到了欧盟、瑞士、冰岛、挪威和列支敦士登等地区。这一功能最初在今年5月推出时,仅限于美国的 Plus 和 Team 用户
    的头像 发表于 10-23 11:08 363次阅读

    扩展PMIC NVM更新指南

    电子发烧友网站提供《扩展PMIC NVM更新指南.pdf》资料免费下载
    发表于 09-06 11:20 0次下载
    <b class='flag-5'>可</b><b class='flag-5'>扩展</b>PMIC NVM更新指南

    Xilinx NVMe AXI4主机控制器,AXI4接口高性能版本介绍

    NVMe AXI4 Host Controller IP可以连接高速存储PCIe SSD,无需CPU,自动加速处理所有的NVMe协议命令,具备独立的数据写入和读取AXI4接口,不但适用高性能、顺序
    的头像 发表于 07-18 09:17 477次阅读
    Xilinx NVMe <b class='flag-5'>AXI</b>4主机控制器,<b class='flag-5'>AXI</b>4<b class='flag-5'>接口</b>高性能版本介绍

    ESP32S3的USB HOST接口是否扩展以太网接口(USB-Ethernet)?

    请教ESP32 S3的USB HOST接口是否扩展以太网接口(USB-Ethernet)? 如果可以S3的usb还能否作为程序烧录口来使用?
    发表于 07-01 07:35

    有关PL端利用AXI总线控制PS端DDR进行读写(从机wready信号一直不拉高)

    怎么判断他到底采用了这三种握手里面的哪种握手,这实在令人费解。还是PS端的DDR的机制的问题。 5.31 update: 问题找到部分: 情形一:接口的设置上,如果是设置为AXI4,如图所示, 那么
    发表于 05-31 12:04

    SoC设计中总线协议AXI4与AXI3的主要区别详解

    AXI4和AXI3是高级扩展接口(Advanced eXtensible Interface)的两个不同版本,它们都是用于SoC(Syste
    的头像 发表于 05-10 11:29 6026次阅读
    SoC设计中总线协议<b class='flag-5'>AXI</b>4与<b class='flag-5'>AXI</b>3的主要区别详解

    FPGA通过AXI总线读写DDR3实现方式

    AXI总线由一些核心组成,包括AXI主处理器接口AXI4)、AXI处理器到协处理器接口
    发表于 04-18 11:41 1212次阅读

    PCIe-AXI-Cont用户手册

    Transaction layer的所有功能特性,不仅内置DMA控制器,而且具备AXI4用户接口,提供一个高性能,易于使用,定制化的PCIe-AXI互连解决方案,同时适用于ASIC和
    发表于 02-22 09:15 3次下载

    PCIe控制器(FPGA或ASIC),PCIe-AXI-Controller

    Transaction Layer的所有功能特性,不仅内置DMA控制器,而且具备AXI4用户接口,提供一个高性能,易于使用,定制化的PCIe-AXI互连解决方案,同时适用于ASIC和
    的头像 发表于 02-21 15:15 828次阅读
    PCIe控制器(FPGA或ASIC),PCIe-<b class='flag-5'>AXI</b>-Controller

    AMBA总线之AXI设计的关键问题讲解

    首先我们看一下针对AXI接口的IP设计,在介绍之前我们先回顾一下AXI所具有的一些feature。
    的头像 发表于 02-20 17:12 1618次阅读
    AMBA总线之<b class='flag-5'>AXI</b>设计的关键问题讲解

    分布式大屏控制系统的扩展性设计

    分布式大屏控制系统的扩展性设计是确保系统能够适应不断增长的需求和未来发展的关键因素。以下是扩展性设计的几个方面: 模块化设计:将系统划分为多个模块,每个模块具有独立的功能和
    的头像 发表于 01-29 14:46 535次阅读

    AXI总线协议总结

    由数据线、地址线、控制线等构成。 接口是一种连接标准,又常常被称之为物理接口。 协议是传输数据的规则。 1.简介 AXI4总线协议是 ARM 公司 提出的AMBA( Ad vanced
    的头像 发表于 12-16 15:55 773次阅读

    AXI通道读写DDR的阻塞问题?

    基于vivado2020.1和zcu102开发板(rev1.1)开发项目,工程涉及DDR4(MIG)和PL端多个读写接口交互的问题,通过AXI interconnect进行互联和仲裁(采用默认配置)。
    的头像 发表于 12-01 09:04 979次阅读
    <b class='flag-5'>AXI</b>通道读写DDR的阻塞问题?