首页 > 其他分享 >AXI4-Lite 接口

AXI4-Lite 接口

时间:2024-10-15 13:48:49浏览次数:3  
标签:事务 Full 接口 Lite 用于 信号 AXI4

AXI4-Lite 接口


注:axi4-lite 源码文件及 testbench 的 task 文件见附件!

简介

AXI4-Lite 是 AMBA AXI4 协议的一个简化版本,专为简单的控制寄存器访问和不需要完整 AXI4 协议复杂性的场景而设计。它提供了一个轻量级的接口,适用于不需要高速数据传输或复杂内存管理单元(MMU)操作的设备和外设。

以下是 AXI4-Lite 的一些关键特点:

  1. 简化的信号集:AXI4-Lite 只包含了 AXI4 协议中最基本的信号,以支持简单的读写操作。
  2. 不支持突发传输:与完整的 AXI4 协议不同,AXI4-Lite 不支持突发(burst)传输,所有事务都是单拍(burst length 为 1)。
  3. 固定数据宽度:AXI4-Lite 通常用于 32 位或 64 位的固定数据宽度,这意味着所有的读写操作都是针对整个数据宽度。
  4. 非缓存和非可修改事务:AXI4-Lite 协议中的所有事务都被定义为非缓存(Non-cacheable)和非可修改(Non-modifiable)。
  5. 不支持独家访问:AXI4-Lite 不支持独家(Exclusive)访问,这意味着它不提供对共享资源的独占访问。
  6. 简化的握手机制:AXI4-Lite 使用简化的握手机制,只有当读写操作准备好进行时,才通过 VALID 和 READY 信号进行通信。
  7. 适用于控制寄存器:AXI4-Lite 非常适合用于访问控制寄存器,这些寄存器通常不需要复杂的内存操作。
  8. 互操作性:AXI4-Lite 设计了与完整 AXI4 协议的互操作性,允许在需要时通过桥接逻辑将 AXI4-Lite 事务转换为 AXI4 事务。

AXI4-Lite 的这些特性使其成为嵌入式系统中外围设备和简单内存映射接口的理想选择,特别是在资源受限的环境中。

信号

AXI4-Lite接口由五个独立的通道构成:读地址、读数据、写地址、写数据和写响应。以下是各个通道的详细接口定义:

  1. 全局信号

    • ACLK:全局时钟信号,用于同步所有AXI4-Lite接口的读写操作。

    • ARESETn:全局复位信号,低电平有效,用于初始化和同步复位。

      复位期间,除 ARVALID、AWVALID、WVALID、RVALID、BVALID 必须为低电平,其他信号可以为任何值

  2. 写地址通道(Write Address Channel)

    • AWADDR[31:0]:写地址信号,用于指定写事务的目标地址。

    • AWPROT[2:0]AWPROT 信号是一个保护类型信号,用于定义事务的权限和安全级别。具体来说,AWPROT 信号指示事务是特权(Privileged)还是非特权(Unprivileged),以及事务是安全(Secure)还是非安全(Non-secure)。

      AWPROT 信号是一个 3 位的信号,其位分配如下:

      • AWPROT[2]:指示事务是数据访问还是指令访问。在 AXI4-Lite 中,这个位通常被用作事务类型(Data or Instruction)的指示,但在 AXI4-Lite 规范中,这个位的具体使用没有明确的定义,因为它是一个 Lite 版本,一些 AXI4 的特性在 AXI4-Lite 中被简化或省略。
      • AWPROT[1]:安全位。当这个位被设置为 1 时,事务被标记为非安全(Non-secure)。当这个位被设置为 0 时,事务被标记为安全(Secure)。
      • AWPROT[0]:特权位。这个位用来区分事务是特权(Privileged)还是非特权(Unprivileged)。在某些系统中,特权访问可能用于操作系统或高优先级的处理,而非特权访问可能用于普通用户模式的操作。

      在 AXI4-Lite 中,AWPROT 信号的具体实现和使用可能会根据具体的系统设计和安全需求有所不同。一些系统可能不需要区分安全和非安全事务,也可能会忽略特权和非特权的区别。然而,如果系统确实需要这些区分,AWPROT 信号提供了一种机制来实现这一点。

    • AWVALID:写地址有效信号,用于指示AWADDR和AWPROT信号是否有效。

    • AWREADY:写地址准备就绪信号,用于指示从设备是否准备好接收写地址。

  3. 写数据通道(Write Data Channel)

    • WDATA:写数据信号,用于在写事务中传输数据。
    • WSTRB:写掩码信号,用于指示WDATA中的哪些字节是有效的。
    • WVALID:写数据有效信号,用于指示WDATA和WSTRB信号是否有效。
    • WREADY:写数据准备就绪信号,用于指示从设备是否准备好接收数据。
  4. 写响应通道(Write Response Channel)

    • BRESP[1:0]:写响应信号,用于指示写事务的状态(成功或错误)。

      • 0b00:OKAY - 表示写事务成功完成。
      • 0b01:EXOKAY - 在 AXI4-Lite 中不使用,保留用于独家访问(Exclusive access)的成功响应。
      • 0b10:SLVERR - 表示从目标设备返回了一条 Slave Error,可能是因为目标设备无法完成事务。
      • 0b11:DECERR - 表示解码错误,通常由互联组件生成,表示无法成功解码目标地址。

      BRESPRRESP 信号通常只使用 OKAYSLVERR 两种状态。EXOKAY 状态在 AXI4-Lite 中不被使用,因为 AXI4-Lite 不支持独家访问。此外,如果目标设备无法完成事务,它会返回 SLVERR 响应,而解码错误 DECERR 通常由互联组件生成,而不是由目标设备生成。

    • BVALID:写响应有效信号,用于指示BRESP信号是否有效。

    • BREADY:写响应准备就绪信号,用于指示主设备是否准备好接收写响应。

  5. 读地址通道(Read Address Channel)

    • ARADDR[31:0]:读地址信号,用于指定读事务的目标地址。
    • ARPROT[2:0]:保护信号,功能与写事务中的AWPROT相同。
    • ARVALID:读地址有效信号,用于指示ARADDR和ARPROT信号是否有效。
    • ARREADY:读地址准备就绪信号,用于指示从设备是否准备好接收读地址。
  6. 读数据通道(Read Data Channel)

    • RDATA:读数据信号,用于在读事务中传输数据。
    • RRESP[1:0]:读响应信号,用于指示读事务的状态(成功或错误),同BRESP信号
    • RVALID:读数据有效信号,用于指示RDATA和RRESP信号是否有效。
    • RREADY:读数据准备就绪信号,用于指示主设备是否准备好接收读数据。

AXI4-Lite不支持突发事务,因此不包括与突发长度和类型相关的信号,如AWLEN、AWSIZE、AWBURST等。此外,AXI4-Lite中的所有事务都是线性的,不支持乱序处理。这意味着AXI4-Lite协议的实现可以更加简单,适用于那些不需要复杂内存操作的设备。

握手机制

image-20241014233059571
  • 单头箭头指向的信号可以在同一周期内被断言(asserted),也可以在箭头起始信号之前或之后被断言。(没有先后顺序要求)
  • 双头箭头指向的信号必须在箭头起始信号被断言之后才能被断言。(有先后顺序要求)

在这里插入图片描述

在这里插入图片描述

AXI4-Lite 与 AXI4-Full的区别

AXI4-Lite 和 AXI4-Full 是 AMBA AXI 协议的两个不同版本,它们在功能和复杂性上有所不同。以下是它们之间的主要区别:

  1. 信号数量
    • AXI4-Full:包含完整的AXI信号集,用于支持复杂的内存和外设访问,包括突发传输(burst transfers)、乱序传输(out-of-order transfers)和多个独立的事务队列。
    • AXI4-Lite:是AXI4-Full的简化版本,用于控制寄存器访问和简单的外设接口,信号数量较少,不支持突发传输。
  2. 突发传输(Burst Transfers)
    • AXI4-Full:支持突发传输,允许在一个事务中传输多个数据项。
    • AXI4-Lite:不支持突发传输,每个事务只传输一个数据项。
  3. 通道
    • AXI4-Full:包含读写地址通道、读写数据通道、读写响应通道以及可选的扩展通道,如QoS(服务质量)和用户定义信号。
    • AXI4-Lite:只包含基本的读写地址通道和读写数据通道,不支持扩展通道。
  4. 事务属性
    • AXI4-Full:支持多种事务属性,如缓存一致性、内存属性、保护属性等。
    • AXI4-Lite:简化了事务属性,主要针对非缓存的控制寄存器访问。
  5. 握手机制
    • AXI4-Full:使用复杂的握手机制,包括VALID/READY信号对,以及可选的LAST信号来指示突发传输的结束。
    • AXI4-Lite:使用简化的握手机制,每个事务只涉及一个数据项,不需要LAST信号。
  6. 支持的事务类型
    • AXI4-Full:支持多种事务类型,包括读事务、写事务、锁定事务和原子事务。
    • AXI4-Lite:主要支持简单的读事务和写事务,不支持锁定事务和原子事务。
  7. 性能
    • AXI4-Full:由于其丰富的功能和信号,可以支持高性能和复杂的系统设计。
    • AXI4-Lite:由于其简化的设计,通常用于低带宽和简单的外设接口,以减少资源消耗和提高响应速度。
  8. 资源消耗
    • AXI4-Full:由于信号数量多和功能复杂,资源消耗较大。
    • AXI4-Lite:资源消耗较少,适用于资源受限的系统。

总的来说,AXI4-Full 提供了一套完整的功能,适合于需要高性能和复杂内存管理的系统,而 AXI4-Lite 则是一种轻量级的解决方案,适合于简单的控制寄存器访问和外设接口。

Xilinx 官方源码生成

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

标签:事务,Full,接口,Lite,用于,信号,AXI4
From: https://blog.csdn.net/qq_38695100/article/details/142950872

相关文章

  • AXI4-Full 接口
    AXI4-Full接口简介信号全局信号(GlobalSignals)写地址通道信号(WriteAddressChannelSignals)写数据通道信号(WriteDataChannelSignals)写响应通道信号(WriteResponseChannelSignals)读地址通道信号(ReadAddressChannelSignals)读数据通道信号(ReadDataChannelSigna......
  • 双十一将近,如何解决API接口调用数据超量及报错问题?
    随着双十一的临近,电商平台的API接口面临着巨大的挑战,尤其是在数据超量和报错问题上。以下是一些解决方案和最佳实践,可以帮助你一站式解决这些问题。1.性能测试在大促期间,如双十一,流量会大幅增长,因此进行性能测试是必要的。性能测试包括负载测试、基线测试、冒烟测试、浸泡......
  • 智能AI对话绘画二合一源码系统 内置所有大模型的接口 带完整的安装代码包以及搭建部署
    系统概述人工智能技术的飞速发展,越来越多的创新应用正在改变着我们的生活。本文将向大家介绍一款集成了智能对话与创意绘画功能的开源项目——“智能AI对话绘画二合一源码系统”。它不仅融合了最新的自然语言处理(NLP)和计算机视觉技术,还为开发者提供了从零开始构建自己专属AI服......
  • 身份证实名认证API集成-二要素实名认证-实名认证接口-身份认证
    身份证实名认证接口是当下互联网服务用于验证用户真实身份的重要手段之一。在互联网金融、电子商务、社交网络等众多领域中,实名认证可以帮助平台更好的了解和服务在线用户,以做到防范欺诈行为的发生,保障交易资金与信息安全,该接口功能一般由第三方平台(如翔云、阿里云)来提供。......
  • Golang中接口和结构体之间转换的方法
    目录接口转结构体结构体转接口使用ok-idiom进行安全的类型断言在Golang中,接口和结构体之间的转换涉及到类型断言和类型断言的操作符。接口转结构体如果我们有一个接口变量,并且我们知道它的内部具体类型,我们可以使用类型断言来将其转换为该具体类型的结构体。packagemain......
  • 淘宝商品详情API接口信息获取指南
    淘宝商品详情API接口,作为我国电商巨头淘宝开放平台的重要组成部分,为广大开发者提供了一种便捷、高效的方式,以获取淘宝商品详细信息。该接口的推出,不仅满足了开发者对商品数据的需求,也为消费者带来了更加丰富的购物体验。一、淘宝商品详情API接口具有以下特点:数据丰富:该接口......
  • 淘宝商品关键词API接口:关键词数据智能分析
    淘宝商品关键词API接口是淘宝开放平台(TaobaoOpenPlatform,TOP)提供的一项服务,它允许第三方开发者通过编程方式访问淘宝的商品信息数据库。这个接口的主要功能是根据开发者提供的关键词,检索淘宝平台上的商品列表及相关信息。一、功能和特点数据检索:可以检索特定关键词下的......
  • VU9P处理板设计原理图:412-基于单XCVU9P+双DSP C6678的双FMC接口 100G光纤传输加速计算
    基于单XCVU9P+双DSPC6678的双FMC接口100G光纤传输加速计算卡一、板卡概述板卡包括一片Xilinx FPGA  XCVU9P,两片 TI 多核DSP TMS320C6678及其控制管理芯片CFPGA.设计芯片满足工业级要求。FPGA VU9P 需要外接4路QSFP+(100Gbps)及其两个FMC HPC接口。DS......
  • 用python、JavaScript、JAVA等多种语言的实例代码演示教你如何免费获取股票数据(实时数
    ​近一两年来,股票量化分析逐渐受到广泛关注。而作为这一领域的初学者,首先需要面对的挑战就是如何获取全面且准确的股票数据。因为无论是实时交易数据、历史交易记录、财务数据还是基本面信息,这些数据都是我们进行量化分析时不可或缺的宝贵资源。我们的核心任务是从这些数据......
  • 苍穹外卖 实现新增菜品及其口味接口
        DishControllerpackagecom.sky.controller.admin;importcom.sky.dto.DishDTO;importcom.sky.result.Result;importcom.sky.service.DishService;importio.swagger.annotations.Api;importio.swagger.annotations.ApiOperation;importlombok.extern.......