AXI 系列 之 AXI概述

这篇具有很好参考价值的文章主要介绍了AXI 系列 之 AXI概述。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

 

目录

AXI简介

AMBA总线的演进图

  AXI overriew 

 AXI读写通道

AXI读取传输 事务

AXI 写入传输事务

AXI 概念解读

burst传输

FIXED模式下传输首地址后就可以不停传输数据吗?

突发传输不能跨4KB边界?

非对齐传输

复位期间对接口有如下要求:

AXI 协议Q & A

AXI3与AXI4之间的区别是什么?

AXI VIP的使用

AXI VIP 介绍

AXI VIP 设计的思想

AXI VIP加入到TB


AXI简介

AMBA总线的演进图

        在介绍AXI协议前,先看下AMBA的演进情况。

AXI 系列 之 AXI概述

        随着移动和智能手机时代发生了进一步的演进,SOC集成了2/4/8核处理器和共享cache,并且需要跨内存子系统的硬件管理一致性。这导致了在AMBA修订版4中引入了ACE(AXI一致性协议扩展)

        在当前HPC和数据中心市场的异构计算时代,单个芯片上集成越来越多的处理器核心以及GPU、DSP、FPGA、内存控制器和IO子系统。2013年,AMBA5引入了CHI协议,作为AXI/ACE协议的重新设计。基于信号的AXI/ACE协议被新的基于包的CHI协议所取代。

1、APB:高级外围设备总线(APB)用于连接低带宽的外围设备。它是一个简单的非流水线协议。读写操作共享同一组信号,不支持burst数据传输。最新的规范(APB2.0)可以在ARM网站上找到,是最容易学习的AMBA 协议

2、AHB:高级高性能总线(AHB)用于连接共享总线上需要更高带宽的组件。这些slave组件可以是内部内存或外部内存接口、DMA、DSP等。AHB可以通过burst数据传输来获得更高的带宽。

3、AHB-lite协议是AHB的一个简化版本。简化后只支持一个主设计,这消除了对任何仲裁、重试、分割事务等的需求。

4、高级可扩展接口(AXI)适合于高带宽和低延迟互连。这是一个点对点的互连,并克服了AHB、APB等共享总线协议在可连接的代理数量方面的限制性。该协议支持多个outstanding的数据传输、burst数据传输、单独的读写通道和支持不同的总线宽度。

5、AXI-lite协议是AXI的简化版本,简化后不支持突发数据传输。

6、AXI-stream协议是AXI协议的另一种风格,它只支持数据流从master 流到slave。与完整的AXI或AXI-lite不同,AXI-stream 协议中没有单独的读/写通道,因为其目的是只在一个方向上流。

7、ACE-AXI协议是AXI4协议的扩展,应用于在一个芯片上集成多个CPU核心与一致性cache的场景。ACE协议扩展了AXI读写数据通道,同时引入了单独的snoop 地址、snoop 数据和snoop 响应通道。这些额外的通道提供了实现基于snoop 的一致性协议的机制。

8、ACE-Lite—对于没有自己cache的agents ,但仍属于可共享一致性域的一部分,如DMA或网络接口agent,使用ACE-lite协议实现这种“单向”一致性。

9、CHI—ACE协议作为AXI的扩展而开发,以支持一致性互连。ACE协议使用了master/slave之间的信号电平通信,因此互连需要大量的线和增加的通道来进行snoops 和响应。这对于具有2/4核移动SOC 的小一致性clusters非常有效。随着SOC上集成越来越多的一致性clusters ——AMBA5修订版引入了CHI协议。CHI协议使用基于分层分组的通信协议,具有协议、链路层和物理层实现,还支持基于QoS的流控制和重试机制。

  AXI overriew 

        AXI 表示 Advanced eXtensible Interface(高级可扩展接口),它是由 Arm 定义的接口协议,包含在“高级微控制器总线架构 AMBA”标准中。

        AXI4 接口 (AMBA 4.0) 分 3 种类型:

AXI 系列 之 AXI概述

  • AXI4 (AXI4-Full):用于满足高性能存储器映射需求
  • AXI4-Lite:用于简单的低吞吐量存储器映射通信(例如,往来于状态寄存器的通信)
  • AXI4-Stream:用于高速数据流传输
注 1 :本文不涵盖 AXI4-Stream 相关内容。此处“AXI”表示 AXI3、AXI4 和 AXI4-Lite。
注 2:AXI3 接口与 Full AXI 接口接近。

 AXI读写通道

AXI 协议定义了 5 条通道:

  • 其中 2 条用于读取传输事务
    • 读地址
    • 读数据
  • 另 3 条用于写入传输事务
    • 写地址
    • 写数据
    • 写响应

AXI 系列 之 AXI概述

通道 (channel) 是与 VALID 和 READY 信号关联的 AXI 信号的独立集合。

注:AXI4/AXI3/AXI4-Lite 接口只能用于读取(仅包含 2 条读取通道)或者只能用于写入(仅包含 3 条写入通道)。

任一通道上发射的每一条数据都称为一次传输 (transfer)。当 VALID 和 READY 信号均处于高位并且时钟存在上升沿时,就会发生传输。例如,在下图中,在 T3 处正在发生传输:

AXI 系列 之 AXI概述

AXI读取传输 事务

AXI 读传输事务需要在 2 条读取通道上发生多次传输。

  • 首先,地址读通道 (Address Read Channel) 从主接口 (Master) 发送到从接口 (Slave),以便设置地址和部分控制信号。
  • 然后,此地址的数据通过读数据通道 (Read data channel) 从从接口发射到主接口。

请注意,根据下图所示,每个地址中可发生多次数据传输。此类型的传输事务称为突发 (burst)。

AXI 系列 之 AXI概述

AXI 写入传输事务

AXI 写入传输事务需要在 3 条读取通道上存在多次传输。

  • 首先,写地址通道 (Address Write Channel) 从主接口发送到从接口,以便设置地址和部分控制信号。
  • 然后,此地址的数据通过写数据通道 (Write data channel) 从主接口发射到从接口。
  • 最后,写入响应通过写响应通道 (Write Response Channel) 从从接口发送到主接口,以指示传输是否成功。

AXI 系列 之 AXI概述

写响应通道 (Write Response Channel) 上可能的响应值包括:

  • OKAY (0b00):正常访问成功。表示已成功完成正常访问
  • EXOKAY (0b01):专属访问成功。
  • SLVERR (0b10):从接口错误。已成功访问从接口,但从接口希望向发端主接口返回错误条件(例如,数据读取无效)。
  • DECERR (0b11):解码器错误。通常由互连组件生成,用于指示传输事务地址处没有任何从接口
注:读取传输事务同样包含响应值,但此响应通过读响应通道 (Read Response Channel) 来发射

AXI 概念解读

burst传输

突发传输。连续传输

FIXED模式下传输首地址后就可以不停传输数据吗?

是的,在配合每次传输的byte数,就可以确定下一个传输的地址。

突发传输不能跨4KB边界?

因为AXI4协议规定主机上寄存器块的最小分块单元为4K Byte,每个从机的开始映射地址都是4KB的边界。这也影响了AXI4的一个读写规则,那就是一个burst传输不能跨越4KB的界限,否则就会引入将数据错误写入其他从机的风险。注意这个4KB的界限指的是MASTER的地址界限,例如一个burst中不能越过0xXXXX_X000的地址位。FFF=4095,

就是1024个寄存器,*4byte =4KB。

非对齐传输

非对其传输指当传输的目标地址(byte)与寄存器的边界(word对齐)未对齐时,可以使用非对齐传输,例如一个传输在0x3地址开始,而不是0x0或者0x4,非对其传输只会影响一个burst传输中的第一笔数据,可采用WSTRB信号来表示第一个data中的哪几个byte是有效的,其余的数据还是正常的burst传输。

复位期间对接口有如下要求:

valid(表示地址/数据/应答输出有效信号)驱动到低电平

①主机ARVALID,AWVALID,WVALID为低电平;

② 从机接口必须驱动RVALID,BVALID为低电平;

③ 所有其他信号可以被驱动到任意值。

在复位后,主机可以在时钟上升沿驱动ARVALID,AWVALID,WVALID为高电平

• 读取地址,其信号名称以AR 开头。

• 读取信号名称以 R 开头的数据。
• 写入地址,信号名称以AW 开头。
• 写入信号名称以 W 开头的数据。
• 写入响应,其信号名称以 B 开头。

AXI 协议Q & A

AXI3与AXI4之间的区别是什么?

1、AXI3只支持多达16拍的burst 。而AXI4支持高达256拍的burst 。

2、AXI3支持write interleave。AXI4不支持write interleave(去掉了wid)

3、AXI3支持locked 传输,AXI4不支持locked 传输

4、AXI4支持QoS,AXI3不支持QoS。

为什么没有单独的read 响应通道?

VALID/READY握手机制只允许一个方向的数据流,所以对于读事务,数据(data和resp)从slave流向master,而对于写事务,数据从master流向slave,所以就需要单独的响应通道

为什么在burst 写中,不是每拍都有写响应。但是在burst 读中,每拍都有一个单独的读响应?

所有的AXI信道只在1个方向传递信息 ,所以才需要一个单独的写响应通道。在大多数应用中不管slave能不能接受完整的数据这个burst传输都会执行完成,slave无需在每一拍都返回ERROR响应

如何终止burst 传输?

不能。AXI不能够提前终止burst传输。对于写事务,master可以完成burst 传输,通过WSTRB信号丢弃掉无效数据即可,对于读事务同样也可以将读回的数据丢弃。

master 可以在burst 传输中间给WLAST吗?

不行。只有在burst 传输的最后一拍才能拉高WLAST,在burst传输的中间拉高WLAST是违反协议的行为。此外,许多slave设计不会使用WLAST信号,而是自己计数,所以master拉高WLAST也不会提前终止burst传输。

Slave能在burst传输完成之前置起rlast么?

和上题一样,slave在burst传输的未完成就拉起RLAST是违反协议的行为。master同样也有可能不依赖RLAST

既然WLAST和RLAST可能不被使用,那为什么需要支持这两个信号?

为了支持所有的master和slave,无论其是否依赖这两个信号传输数据。

Exclusive 读写事务是什么?在哪里使用?

如果一个内存区域被多个master共享,某个master需要希望确保在没有其他master更改共享内存的情况下完成读然后写的序列,就可以使用Exclusive 传输

读取事务是否有可能在一个周期内完成?

需要至少1个时钟周期传递地址(从master到slave),然后至少1个时钟周期传递数据(从slave到master)。

axi slave是如何支持Exclusive 访问的?

假设 AXI Master1(M1)已经启动了对地址位置12h100到12h10F的exclusive 读写。那么相应的salve将开始监视由M1给出的这些地址。如果此时该地址被其他master执行写操作,此时会返回Exclusive error

发送给slave的读写地址和读写数据是如何关联的?

AR总线和AW总线是独立的,不管读写请求的地址是否顺序发出的,响应的数据都可能是无序的,他们之间是通过awid和arid对应配对的(axi3)axi4去掉了wid,所以写通道的写顺序必须与写地址通道保持一致
 

AXI VIP的使用

AXI VIP 介绍

         AXI Verification IP (AXI VIP) 对 AXI4 接口进行仿真。

AXI Verification IP (AXI VIP) 是支持用户对 AXI4 和 AXI4-Lite 进行仿真的 IP。它还可作为 AXI Protocol Checker 来使用。

此 IP 只是仿真 IP,将不进行综合,它将在直通 (Pass-through) 配置中被连线所替代。

AXI VIP IP 核用途如下:

  • 生成 AXI 主 (Master) 接口命令和写入有效载荷
  • 生成 AXI 从 (Slave) 接口读取有效载荷和写入响应
  • 检查 AXI 传输事务是否符合协议标准

它支持 5 种不同配置:

  • AXI Master VIP
  • AXI Pass-through VIP(无存储器模型)   ---  了解下这里的无存储器模型?!
  • AXI Pass-through VIP(有存储器模型)
  • AXI Slave VIP(无存储器模型)
  • AXI Slave VIP(有存储器模型)

AXI VIP 设计的思想

AXI VIP 的设计示例包含 3 个 AXI VIP:其中一个配置为 Master、一个配置为 Pass-through,另一个配置为 Slave。

AXI 系列 之 AXI概述

工程中包含了多个测试激励文件 (Test Bench) 源文件,以匹配不同 AXI VIP 组合。

:所有测试激励文件都是以 SystemVerilog 语言编写的。要使用 AXI VIP 的全部功能,应将此 IP 例化包含在 SystemVerilog 测试激励文件中。文章来源地址https://www.toymoban.com/news/detail-439867.html

AXI VIP加入到TB

Snop AXI VIP overriew (TBC)

AXI VIP 的设计示例包含 3 个 AXI VIP:其中一个配置为 Master、一个配置为 Pass-through,另一个配置为 Slave。

AXI 系列 之 AXI概述

:所有测试激励文件都是以 SystemVerilog 语言编写的。要使用 AXI VIP 的全部功能,应将此 IP 例化包含在 SystemVerilog 测试激励文件中。

到了这里,关于AXI 系列 之 AXI概述的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • AXI总线协议

    目录 AXI协议简介 通道结构 基本传输 读burst示例 连续读burst示例  写burst示例 传输顺序 握手过程 写地址通道 写数据通道 写响应通道 读地址通道 读数据通道 通道之间的关系 通道握手信号的依赖关系 关于寻址选择 burst长度 burst大小 burst类型  地址固定的burst 地址递增的bur

    2024年02月15日
    浏览(29)
  • AXI协议详解(9)-数据总线

    本章描述了 AXI 读写数据总线上不同大小的传输,以及接口如何使用字节不变字节序来处理混合字节序传输。 它包含以下部分: 数据总线 写选通 窄传输 字节不变性 AXI协议有两条独立的数据总线,一条用于读数据,一条用于写数据。 因为这些数据总线有自己独立的握手信号

    2024年02月04日
    浏览(31)
  • FPGA——AXI4总线详解

    目录 AXI4总线 1、什么是AXI 2、AXI4协议的优势 AXI4的工作模式 AXI4读操作: AXI4写操作 AXI4和AXI4-Lite、AXI4-Stream接口信号 握手信号 AXI相关术语     AXI(Advanced eXtensible Interface高级可扩展总线)是一种总线协议     AXI4包含3种类型的接口: 1)AXI4:主要面向高性能地址映射通信的

    2024年02月02日
    浏览(43)
  • AMBA总线协议AXI——学习笔记

    2023.3.25 2023.4.23 AXI :高级可拓展接口 高性能、高带宽、低延迟 单向通道体系结构 独立的地址和数据通道 支持多项数据交换。通过 并行执行burst操作 ,极大地提高了数据吞吐能力。 AXI4 :高性能内存映射需求(如读写DDR、使用BRAM控制器读写BRAM等),为了区别,有时候也叫这

    2023年04月23日
    浏览(34)
  • AXI4总线学习心得(一)

    AXI4:(For high-performance memory-mapped requirements.)主要面向高性能地址映射通信的需求,是面向地址映射的接口,允许最大 256 轮的数据突发传输; AXI4-Lite:(For simple, low-throughput memory-mapped communication )是一个轻量级的地址映射单次传输接口,占用很少的逻辑单元。 AXI4-Stream:

    2024年02月12日
    浏览(34)
  • 【ARM AMBA AXI 入门 11 - AXI 总线 AWCACHE 和 ARCACHE 介绍】

    请阅读 【ARM AMBA AXI 总线 文章专栏导读】 转自:https:

    2024年02月09日
    浏览(40)
  • XILINX ZYNQ 7000 AXI总线 (二)

    了解了AXI 的大部分内容后,开始做一个实战,就是完成AXI 结构的输入输出搭建。 一.创建一个IP 3. 4. 5. 6.选择AXI FULL,创界主接口和从接口 7. 8.可以看到XILINX AXI FULL 的源代码 二.创建一个新的工程,把IP导入到这个工程 2.创建 block design 放入两个AXI IP 三 设计 创建两个 接口进行

    2024年02月16日
    浏览(45)
  • 【ARM AMBA AXI 入门 9 - AXI 总线 AxPROT 与安全之间的关系 】

    请阅读 【ARM AMBA AXI 总线 文章专栏导读】 上篇文章:ARM AMBA AXI 入门 8 - AXI 协议中 RID/ARID/AWID/WID 信号 ARMv8 架构中的AXI(Advanced eXtensible Interface)总线与NS(Non-Secure)位密切相关。NS位是指在ARM TrustZone安全扩展中定义的一种状态,用于区分安全和非安全的处理器执行环境。AXI总

    2024年02月11日
    浏览(31)
  • FPGA AXI4总线信号介绍篇

    AXI是一种总线协议,可以挂在多个master和slave:         (1)AXI4:主要面向高性能地址映射通信的需求;(突发数据)(地址映射模式)         (2)AXI4-Lite:是一个轻量级的,适用于吞吐量较小的地址映射通信总线;(无突发)(地址映射模式)         (3)AXI4-

    2024年04月11日
    浏览(48)
  • 手撕AXI-Full总线接口,实现AXI_Full Master接口

    AXI全称Advanced eXtensible Interface,属于AMBA总线中的一种,由ARM公司制定。目前主流的包括AXI3和AXI4,其中AXI4又包括AXI4_Lite、AXI4_Full以及AXI4_Stream。本文是基于Xilinx AXI4 IP实现AXI4_FULL Master控制接口。 AXI协议是基于突发传输的,意味着只需要告诉首地址以及突发大小等信息即可实现

    2024年01月19日
    浏览(39)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包