精华内容
下载资源
问答
  • AXI总线协议

    千次阅读 2019-01-03 08:55:14
    AXI(Advanced eXtensible Interface)是一种总线协议,该协议是ARM公司提出的AMBA3.0中最重要的部分,是一种面向高性能、高带宽、低延迟的片内总线。AMBA4.0将其修改升级为AXI4.0。   &nbsp...

    0.绪论

        AXI(Advanced eXtensible Interface)是一种总线协议,该协议是ARM公司提出的AMBA3.0中最重要的部分,是一种面向高性能、高带宽、低延迟的片内总线。AMBA4.0将其修改升级为AXI4.0。

        AMBA4.0 包括AXI4.0、AXI4.0-lite、ACE4.0、AXI4.0-stream。

        AXI4.0-lite是AXI的简化版本,ACE4.0 是AXI缓存一致性扩展接口,AXI4.0-stream是ARM公司和Xilinx公司一起提出,主要用在FPGA进行以数据为主导的大量数据的传输应用。

    1.简介

    1.1 AXI协议特点

    AMBA AXI协议支持支持高性能、高频率系统设计。

    • 适合高带宽低延时设计
    • 无需复杂的桥就能实现高频操作
    • 能满足大部分器件的接口要求
    • 适合高初始延时的存储控制器
    • 提供互联架构的灵活性与独立性
    • 向下兼容已有的AHB和APB接口
    关键特点:
    • 分离的地址/控制、数据相位
    • 使用字节选通,支持非对齐的数据传输
    • 基于burst传输,只需传输首地址
    • 读、写数据通道分离,能提供低功耗DMA
    • 支持多种寻址方式
    • 支持乱序传输
    • 易于添加寄存器级来进行时序收敛

    1.2 AXI读写架构

        AXI协议是基于burst的传输,并且定义了以下5个独立的传输通道:读地址通道、读数据通道、写地址通道、写数据通道、写响应通道。

        地址通道携带控制消息,用于描述被传输的数据属性;数据传输使用写通道来实现master到slave的传输,slave使用写响应通道来完成一次写传输;读通道用来实现数据从slave到master的传输。


    图1-1 读架构


    图1-2 写架构

        AXI使用基于VALID/READY的握手机制数据传输协议,传输源端使用VALID表明地址/控制信号、数据是有效的,目的端使用READY表明自己能够接受信息。

    • 读/写地址通道:读、写传输每个都有自己的地址通道,对应的地址通道承载着对应传输的地址控制信息。
    • 读数据通道:读数据通道承载着读数据和读响应信号包括数据总线(8/16/32/64/128/256/512/1024 bit)和指示读传输完成的读响应信号。
    • 写数据通道:写数据通道的数据信息被认为是缓冲(buffered)了的,master无需等待slave对上次写传输的确认即可发起一次新的写传输。写通道包括数据总线(8/16...1024 bit)和字节线(用于指示8 bit 数据信号的有效性)。
    • 写响应通道:slave使用写响应通道对写传输进行响应。所有的写传输需要写响应通道的完成信号。

    1.3 接口和互联

        AXI协议提供单一的接口定义,能用在下述三种接口之间:master/interconnect、slave/interconnect、master/slave。
    可以使用以下几种典型的系统拓扑架构:

    • 共享地址与数据总线
    • 共享地址总线,多数据总线
    • multilayer多层,多地址总线,多数据总线
        在大多数系统中,地址通道的带宽要求没有数据通道高,因此可以使用共享地址总线,多数据总线结构来对系统性能和互联复杂度进行平衡。



    寄存器片(Register Slices):
    每个AXI通道使用单一方向传输信息,并且各个通道直接没有任何固定关系。因此可以可以在任何通道任何点插入寄存器片,当然这会导致额外的周期延迟。
    使用寄存器片可以实现周期延迟(cycles of latency)和最大操作频率的折中;使用寄存器片可以分割低速外设的长路径。

    2. 信号描述

    表2-1 全局信号

    信号名 描述
    ACLK 时钟源 全局时钟信号
    ARESETn 复位源 全局复位信号,低有效

    表2-2 写地址通道信号

    信号名 描述
    AWID Master 写地址ID,用来标志一组写信号
    AWADDR Master 写地址,一次突发写的首地址
    AWLEN Master 突发长度,突发写传输数据的个数
    AWSIZE Master 突发大小,每次突发传输的字节数
    AWBURST Master 突发类型,FIXED,INCR,WRAP
    AWLOCK Master 总线锁信号,normal, exclusive, locked
    AWCACHE Master Cache类型,表明一次事务是怎样通过系统的
    bufferable, cacheable, read-allocate, write-allocate
    AWPROT Master 保护类型,传输的特权级及安全等级
    AWQOS Master 质量服务QoS,可作为安全级标志
    AWREGION Master 域标记,可以实现一个物理地址与多个逻辑地址的映射,也可以对某些地址进行保护
    AWUSER Master 用户自定义信号
    AWVALID Master 有效信号,表明此通道的地址控制信号有效
    AWREADY Slave 从设备已经准备好接受地址和控制信息

    表2-3 写数据通道信号

    信号名 描述
    WID Master 一次写传输的ID
    WDATA Master 写数据
    WSTRB Master 写数据有效的字节线,用来表明哪8bits数据是有效的
    WLAST Master 突发写传输的最后一个数据
    WUSER Master 用户自定义信号
    WVALID Master 写有效
    WREADY Slave 表明从机可以接收写数据

    表2-4 写响应通道信号

    信号名 描述
    BID Slave 写响应ID
    BRESP Slave 写响应,表明写事务的状态
    OKAY,EXOKAY,SLVERR,DECERR
    BUSER Slave 用户自定义信号
    BVALID Slave 写响应有效
    BREADY Master 表明主机能够接收写响应

    表2-5 读地址通道信号

    信号名 描述
    ARID Master 读地址ID,用来标志一组写信号
    ARADDR Master 读地址,一次突发读的首地址
    ARLEN Master 突发长度,突发读传输数据的个数
    ARSIZE Master 突发大小,每次突发传输的字节数
    ARBURST Master 突发类型,FIXED,INCR,WRAP
    ARLOCK Master 总线锁信号,normal, exclusive, locked
    ARCACHE Master Cache类型,表明一次事务是怎样通过系统的
    bufferable, cacheable, read-allocate, write-allocate
    ARPROT Master 保护类型,传输的特权级及安全等级
    ARQOS Master 质量服务QoS,可作为安全级标志
    ARREGION Master 域标记,可以实现一个物理地址与多个逻辑地址的映射,也可以对某些地址进行保护
    ARUSER Master 用户自定义信号
    ARVALID Master 有效信号,表明此通道的地址控制信号有效
    ARREADY Slave 从设备已经准备好接受地址和控制信息

    表2-6 读数据通道信号

    信号名 描述
    RID Master 一次读传输的ID
    RDATA Master 读数据
    RRESP Master 读响应,表明读传输的状态
    RLAST Master 突发读传输的最后一个数据
    RUSER Master 用户自定义信号
    RVALID Master 读有效
    RREADY Slave 表明从机可以接收读数据

    表2-7 低功耗接口信号

    信号名 描述
    CSYSREQ 时钟控制器 系统退出低功耗请求,此信号从“时钟控制器”到“外设"
    CSYSACK 外设 退出低功耗状态确认
    CACTIVE 外设 外设请求时钟有效

    3. 读写传输

    3.1 握手过程

        5个传输通道均使用VALID/READY信号对传输过程的地址、数据、控制信号进行握手。使用双向握手机制,传输仅仅发生在VALID、READY同时有效的时候。下图是几种握手机制:


    图 3-1 VALID before READY


    图 3-2 READY before VALID


    图 3-3 VALID with READY

    3.2 通道信号要求

    通道握手信号:每个通道有自己的xVALID/xREADY握手信号对。

    写地址通道:当主机驱动有效的地址和控制信号时,主机可以断言AWVALID,一旦断言,需要保持AWVALID的断言状态,直到时钟上升沿采样到从机的AWREADY。AWREADY默认值可高可低,推荐为高(如果为低,一次传输至少需要两个周期,一个用来断言AWVALID,一个用来断言AWREADY);当AWREADY为高时,从机必须能够接受提供给它的有效地址。

    写数据通道:在写突发传输过程中,主机只能在它提供有效的写数据时断言WVALID,一旦断言,需要保持断言状态,知道时钟上升沿采样到从机的WREADY。WREADY默认值可以为高,这要求从机总能够在单个周期内接受写数据。主机在驱动最后一次写突发传输是需要断言WLAST信号。

    写响应通道:从机只能它在驱动有效的写响应时断言BVALID,一旦断言需要保持,直到时钟上升沿采样到主机的BREADY信号。当主机总能在一个周期内接受写响应信号时,可以将BREADY的默认值设为高。

    读地址通道:当主机驱动有效的地址和控制信号时,主机可以断言ARVALID,一旦断言,需要保持ARVALID的断言状态,直到时钟上升沿采样到从机的ARREADY。ARREADY默认值可高可低,推荐为高(如果为低,一次传输至少需要两个周期,一个用来断言ARVALID,一个用来断言ARREADY);当ARREADY为高时,从机必须能够接受提供给它的有效地址。

    读数据通道:只有当从机驱动有效的读数据时从机才可以断言RVALID,一旦断言需要保持直到时钟上升沿采样到主机的BREADY。BREADY默认值可以为高,此时需要主机任何时候一旦开始读传输就能立马接受读数据。当最后一次突发读传输时,从机需要断言RLAST。

    AXI协议要求通道间满足如下关系:

    • 写响应必须跟随最后一次burst的的写传输
    • 读数据必须跟随数据对应的地址
    • 通道握手信号需要确认一些依耐关系

    3.3 通道握手信号的依赖关系

    为防止死锁,通道握手信号需要遵循一定的依赖关系。

    (1)VALID信号不能依赖READY信号。

    (2)AXI接口可以等到检测到VALID才断言对应的READY,也可以检测到VALID之前就断言READY。

    下面有几个图表明依耐关系,单箭头指向的信号能在箭头起点信号之前或之后断言;双箭头指向的信号必须在箭头起点信号断言之后断言。


    图 3-4 读传输握手依赖关系


    图 3-5 写传输握手依赖关系


    图 3-6 从机写响应握手依赖关系

    3.3 传输结构

    3.3.1 地址结构

        AXI协议是基于burst的,主机只给出突发传输的第一个字节的地址,从机必须计算突发传输后续的地址。突发传输不能跨4KB边界(防止突发跨越两个从机的边界,也限制了从机所需支持的地址自增数)。

    3.3.2 突发长度

        ARLEN[7:0]决定读传输的突发长度,AWLEN[7:0]决定写传输的突发长度。AXI3只支持1~16次的突发传输(Burst_length=AxLEN[3:0]+1),AXI4扩展突发长度支持INCR突发类型为1~256次传输,对于其他的传输类型依然保持1~16次突发传输(Burst_Length=AxLEN[7:0]+1)。

        burst传输具有如下规则:

    • wraping burst ,burst长度必须是2,4,8,16
    • burst不能跨4KB边界
    • 不支持提前终止burst传输
        所有的组件都不能提前终止一次突发传输。然而,主机可以通过解断言所有的写的strobes来使非所有的写字节来减少写传输的数量。读burst中,主机可以忽略后续的读数据来减少读个数。也就是说,不管怎样,都必须完成所有的burst传输。

    注:对于FIFO,忽略后续读数据可能导致数据丢失,必须保证突发传输长度和要求的数据传输大小匹配。

    3.3.3 突发大小

    ARSIZE[2:0],读突发传输;AWSIZE[2:0],写突发传输。

    AxSIZE[2:0] bytes in transfer
    'b000 1
    'b001 2
    'b010 4
    'b011 8
    'b100 16
    'b101 32
    'b110 64
    'b111 128

    3.3.4 突发类型

    FIXED:突发传输过程中地址固定,用于FIFO访问。

    INCR:增量突发,传输过程中,地址递增。增加量取决AxSIZE的值。

    WRAP:回环突发,和增量突发类似,但会在特定高地址的边界处回到低地址处。回环突发的长度只能是2,4,8,16次传输,传输首地址和每次传输的大小对齐。最低的地址整个传输的数据大小对齐。回环边界等于(AxSIZE*AxLEN)。

    AxBURST[1:0] burst type
    'b00 FIXED
    'b01 INCR
    'b10 WRAP
    'b11 Reserved

    Start_Address = AxADDR
    Number_Bytes = 2 ^ AxSIZE
    Burst_Length = AxLEN + 1
    Aligned_Addr = (INT(Start_Address / Number_Bytes)) x Number_Bytes。//INT表示向下取整。

    对于INCR突发和WRAP突发但没有到达回环边界,地址由下述方程决定:

    Address_N = Aligned_Address + (N-1) x Number_Bytes

    WRAP突发,突发边界:

    Wrap_Boundary=(INT(Start_Address / (Number_Bytes x Burst_Length))) x (Number_Bytes x Burst_Length)

    3.3.5 数据读写结构

        WSTRB[n:0]对应于对应的写字节,WSTRB[n]对应WDATA[8n+7:8n]。WVALID为低时,WSTRB可以为任意值,WVALID为高时,WSTRB为高的字节线必须指示有效的数据。

    3.3.6 读写响应结构

    读传输的响应信息是附加在读数据通道上的,写传输的响应在写响应通道。

    RRESP[1:0],读传输

    BRESP[1:0],写传输

    OKAY('b00):正常访问成功

    EXOKAY('b01):Exclusive 访问成功

    SLVERR('b10):从机错误。表明访问已经成功到了从机,但从机希望返回一个错误的情况给主机。

    DECERR('b11):译码错误。一般由互联组件给出,表明没有对应的从机地址。



    https://blog.csdn.net/ivy_reny/article/details/56274238?utm_source=blogxgwz1
    展开全文
  • AXI总线协议中文版

    2019-03-29 22:09:44
    Xilinx的AXI总线协议,给英文不好的同学准备的,介绍的很详细。
  • AXI总线协议详解

    2013-12-08 20:56:33
    此文档对AXI总线协议进行了系统的详解,有急需的同学可以下载看看!
  • AMBA AXI总线协议资料整理

    热门讨论 2012-10-22 14:41:42
    本资料是有关AMBA AXI总线协议的资料整理。是对AXI协议的一个综述。
  • 【FPGA】AXI总线协议

    2019-07-10 10:23:47
    文章目录AXI总线协议AXI总线类型 AXI总线协议 AXI 全称 Advanced eXtensible Interface 主要描述了主设备和从设备之间的数据传输方式 AXI 协议主要描述了主设备和从设备之间的数据传输方式,主设备和从设备之间通过...

    AXI总线协议

    • AXI 全称 Advanced eXtensible Interface 主要描述了主设备和从设备之间的数据传输方式
    • AXI 协议主要描述了主设备和从设备之间的数据传输方式,主设备和从设备之间通过握手信号建立连接
    • 当从设备准备好接收数据时,会发出 READY 信号。当主设备的数据准备好时,会发出和维持 VALID 信号,表示数据有效
    • 数据只有在 VALID 和 READY 信号都有效的时候才开始传输。当这两个信号持续保持有效,主设备会继续传输下一个数据
    • 主设备可以撤销VALID 信号,或者从设备撤销 READY 信号终止传输
    • AXI 的协议如图, T2 时,从设备的 READY信号有效, T3 时主设备的 VILID 信号有效,数据传输开始
      在这里插入图片描述

    AXI总线类型

    在这里插入图片描述

    AXI4-Lite

    • 具有轻量级,结构简单的特点,适合小批量数据、简单控制场合。不支持批量传输,读写时一次只能读写一个字( 32bit)。主要用于访问一些低速外设和外设的控制

    AXI4

    • 接口和 AXI-Lite 差不多,只是增加了一项功能就是批量传输,可以连续对一片地址进行一次性读写。也就是说具有数据读写的 burst 功能

    上面两种均采用内存映射控制方式,即 ARM 将用户自定义 IP 编入某一地址进行访问,读写时就像在读写自己的片内 RAM,编程也很方便,开发难度较低。代价就是资源占用过多,需要额外的读地址线、写地址线、读数据线、写数据线、写应答线这些信号线

    AXI4-Stream

    • 这是一种连续流接口,不需要地址线(很像 FIFO,一直读或一直写就行)。对于这类 IP,ARM 不能通过上面的内存映射方式控制( FIFO 根本没有地址的概念),必须有一个转换装置,例如 AXI-DMA 模块来实现内存映射到流式接口的转换
    • AXI-Stream 适用的场合有很多:视频流处理;通信协议转换;数字信号处理;无线通信等。其本质都是针对数值流构建的数据通路,从信源(例如 ARM 内存、 DMA、无线接收前端等)到信宿(例如 HDMI 显示器、高速 AD 音频输出,等)构建起连续的数据流。这种接口适合做实时信号处理

    AXI数据协议分析

    • AXI4 和 AXI4-Lite 接口包含 5 个不同的通道
    • Read Address Channel :读地址通道
    • Write Address Channel :写地址通道
    • Read Data Channel :读数据通道
    • Write Data Channel : 写数据通道
    • Write Response Channel :写响应通道

    其中每个通道都是一个独立的 AXI 握手协议。下面两个图分别显示了读和写的模型:
    在这里插入图片描述
    具体可看:AXI总线协议

    展开全文
  • AMBA AXI总线协议技术分析 AMBA AXI是ARM公司所制定的新一代总线协议规范,主要用于SoC内部各模块间的互连,是一种面向高性能、低延迟、高带宽的片内总线,并向下兼容已有的AHB、APB接口。因其具有传输性能突出、...

    AMBA AXI总线协议技术分析

    AMBA AXI是ARM公司所制定的新一代总线协议规范,主要用于SoC内部各模块间的互连,是一种面向高性能、低延迟、高带宽的片内总线,并向下兼容已有的AHB、APB接口。因其具有传输性能突出、功能完整等特点,得到广泛的应用。目前,Xilinx大部分标准IP的接口均升级为AXI总线,使得基于这些标准IP的设计拥有更好的性能、更加方便快捷以及更高的可靠性,并且不同模块间互连也变得十分高效。
    AMBA AXI4协议规范中制定了包括AXI、AXI-Lite以及AXI-Stream在内的多种总线。其中,AXI是主要面向地址映射形式的总线接口,支持协议规范中的大部分高性能功能,如读写通道分离、突发传输、乱序传输、Outstanding模式等。主从设备之间通过握手信号建立连接。当主设备端数据准备好时,发出并维持有效信号VALID,表示数据有效。当从设备端可接收数据时,便会发出响应信号READY。数据只有在这两个信号都有效时才完成一次传输;AXI-Lite总线则是AXI的轻量化版本,两者架构相似。然而,相比于功能完善的高性能AXI总线,AXI-Lite不支持突发传输、乱序传输等进阶功能,仅保留基本传输所需的内容,并且数据位宽也受到限制。所以,AXI-Lite总线多用于寄存器配置这类对时序要求较低的应用场景。由于无需支持大部分高性能功能,使其资源消耗也较少;AXI-Stream总线则是主要面向无地址映射形式的高速流数据传输应用。AXI-Stream去掉了地址信号,所以主从设备之间必须为一对一的连接关系。同时,高速流数据的传输仅通过少量控制信号即可完成,有效降低延迟。表 1 为三种总线的主要特性对比。
    在这里插入图片描述
    AXI总线的一大特点是其读写通道完全分离,使数据可以并行传输,并且各自通道中的地址线与数据线独立,能够实现流水线式的传输模式,可大幅提高传输效率。AXI总线分为读地址通道、读数据通道、写地址通道、写数据通道和写响应通道,所有通道均使用VALID/READY握手机制来实现数据传输和控制信息,仅当VALID和READY信号同时为高时,完成一次数据的传输。如图 1 所示,为AXI总线写通道架构。
    在这里插入图片描述
    写架构中包括写地址、写数据和写响应三个通道。首先,主机通过写地址通道发送地址信号至从机,当从机收到地址信号后,便将所需写入的数据放至写数据通道中等待从机接收。在此过程中,从机每成功接收一个数据,都会通过写响应通道返回状态信息,以指示此次数据的写入成功与否。
    读通道的架构则如图 2 所示。与写通道架构不同的是在读通道架构中没有响应通道,这是因为状态信息包含在读数据通道中,与读取回来的数据一并传输至主机端,节省资源消耗。
    在这里插入图片描述

    NVMe host IP 效果见 视频demo (B站 搜 NVMe IP):
    https://search.bilibili.com/all?keyword=nvme%20ip&from_source=nav_search_new
    qq:1943086312

    展开全文
  • AXI 总线协议检查器

    2009-11-14 20:44:19
    arm提供的AXI 总线协议检查器,上面是使用方法
  • [AMBA]AXI总线协议简介

    2021-05-11 19:24:49
    AXI总线协议简介 一、绪论 AXI(Advanced eXtensible Interface)是一种总线协议,该协议是ARM公司提出的AMBA3.0中最重要的部分,是一种面向高性能、高带宽、低延迟的片内总线。AMBA4.0将其修改升级为AXI4.0。...

                                           AXI总线协议简介

     

    一、绪论

        AXI(Advanced eXtensible Interface)是一种总线协议,该协议是ARM公司提出的AMBA3.0中最重要的部分,是一种面向高性能、高带宽、低延迟的片内总线。AMBA4.0将其修改升级为AXI4.0。AMBA4.0 包括AXI4.0、AXI4.0-lite、ACE4.0、AXI4.0-stream。AXI4.0-lite是AXI的简化版本,ACE4.0 是AXI缓存一致性扩展接口,AXI4.0-stream是ARM公司和Xilinx公司一起提出,主要用在FPGA进行以数据为主导的大量数据的传输应用。

     

    二、简介

     2.1 AXI协议特点

    • AMBA AXI协议支持支持高性能、高频率系统设计。
    • 适合高带宽低延时设计
    • 无需复杂的桥就能实现高频操作
    • 能满足大部分器件的接口要求
    • 适合高初始延时的存储控制器
    • 提供互联架构的灵活性与独立性
    • 向下兼容已有的AHB和APB接口

     2.2关键特点:

    • 分离的地址/控制、数据相位
    • 使用字节选通,支持非对齐的数据传输
    • 基于burst传输,只需传输首地址
    • 读、写数据通道分离,能提供低功耗DMA
    • 支持多种寻址方式
    • 支持乱序传输
    • 易于添加寄存器级来进行时序收敛

     

    三、AXI读写架构

    • AXI协议是基于burst的传输,并且定义了以下5个独立的传输通道:读地址通道、读数据通道、写地址通道、写数据通道、写响应通道。
    • 地址通道携带控制消息,用于描述被传输的数据属性;数据传输使用写通道来实现master到slave的传输,slave使用写响应通道来完成一次写传输;读通道用来实现数据从slave到master的传输。

       AXI使用基于VALID/READY的握手机制数据传输协议,传输源端使用VALID表明地址/控制信号、数据是有效的目的端使用READY表明自己能够接受信息

    • 读/写地址通道:读、写传输每个都有自己的地址通道,对应的地址通道承载着对应传输的地址控制信息。
    • 读数据通道:读数据通道承载着读数据和读响应信号包括数据总线(8/16/32/64/128/256/512/1024 bit)和指示读传输完成的读响应信号。
    • 写数据通道:写数据通道的数据信息被认为是缓冲(buffered)了的,master无需等待slave对上次写传输的确认即可发起一次新的写传输。写通道包括数据总线(8/16...1024 bit)和字节线(用于指示8 bit 数据信号的有效性)。
    • 写响应通道:slave使用写响应通道对写传输进行响应。所有的写传输需要写响应通道的完成信号。

     

     3.1 读架构

              

     

     3.2 写架构

              

     3.3 全局信号(System Signal)

    信号名 描述
    ACLK 时钟源 全局时钟信号
    ARESETn 复位源 全局复位信号,低有效

     

     3.4 写地址通道信号(Command Channel)

            信号名            源                                                                        描述
    AWID     Master     写地址ID,用来标志一组写信号
    AWADDR     Master     写地址,一次突发写的首地址
    AWLEN     Master     突发长度,突发写传输数据的个数
    AWSIZE     Master     突发大小,每次突发传输的字节数
    AWBURST     Master     突发类型,FIXED,INCR,WRAP
    AWLOCK   Master     总线锁信号,normal, exclusive, locked
    AWCACHE     Master     Cache类型,表明一次事务是怎样通过系统的bufferable, cacheable, read-allocate, write-allocate
    AWPROT     Master     保护类型,传输的特权级及安全等级
    AWQOS     Master     质量服务QoS,可作为安全级标志
    AWREGION     Master     域标记,可以实现一个物理地址与多个逻辑地址的映射,也可以对某些地址进行保护
    AWUSER     Master     用户自定义信号
    AWVALID     Master     有效信号,表明此通道的地址控制信号有效
    AWREADY     Slave     从设备已经准备好接受地址和控制信息

     

     3.5 写数据通道信号(Data Channel)

            信号名           源                                                                                     描述
    WID     Master     一次写传输的ID
    WDATA   Master     写数据
    WSTRB     Master     写数据有效的字节线,用来表明哪8bits数据是有效的
    WLAST     Master     突发写传输的最后一个数据
    WUSER     Master     用户自定义信号
    WVALID     Master     写有效
    WREADY    Slave     表明从机可以接收写数据

     

     3.6 写响应通道信号(Response Channel)

           信号名         源                                                                               描述
    BID Slave 写响应ID
    BRESP Slave 写响应,表明写事务的状态
    OKAY,EXOKAY,SLVERR,DECERR
    BUSER Slave 用户自定义信号
    BVALID Slave 写响应有效
    BREADY Master 表明主机能够接收写响应


     3.7 读地址通道信号(Command Channel)

            信号名          源                                                                                  描述
    ARID Master 读地址ID,用来标志一组写信号
    ARADDR Master 读地址,一次突发读的首地址
    ARLEN Master 突发长度,突发读传输数据的个数
    ARSIZE Master 突发大小,每次突发传输的字节数
    ARBURST Master 突发类型,FIXED,INCR,WRAP
    ARLOCK Master 总线锁信号,normal, exclusive, locked
    ARCACHE Master Cache类型,表明一次事务是怎样通过系统的bufferable, cacheable, read-allocate, write-allocate
    ARPROT Master 保护类型,传输的特权级及安全等级
    ARQOS Master 质量服务QoS,可作为安全级标志
    ARREGION Master 域标记,可以实现一个物理地址与多个逻辑地址的映射,也可以对某些地址进行保护
    ARUSER Master 用户自定义信号
    ARVALID Master 有效信号,表明此通道的地址控制信号有效
    ARREADY Slave 从设备已经准备好接受地址和控制信息

     

     3.8 读数据通道信号(Data Channel)

            信号名         源                                                                                   描述
    RID Master 一次读传输的ID
    RDATA Master 读数据
    RRESP Master 读响应,表明读传输的状态
    RLAST Master 突发读传输的最后一个数据
    RUSER Master 用户自定义信号
    RVALID Master 读有效
    RREADY Slave 表明从机可以接收读数据

     

     3.9 低功耗接口信号(System Level)

           信号名           源                                                                                        描述
    CSYSREQ 时钟控制器 系统退出低功耗请求,此信号从“时钟控制器”到“外设"
    CSYSACK 外设 退出低功耗状态确认
    CACTIVE 外设 外设请求时钟有效



    四、握手过程

    • 全部 5 个通道使用相同的 VALID/READY 握手机制传输数据及控制信息。
    • 传输源产生 VLAID 信号来指明何时数据或控制信息有效。而目地源产生 READY 信号来指明已经准备好接受数据或控制信息。
    • 传输发生在 VALID 和 READY 信 号同时为高的时候。VALID 和 READY 信号的出现有三种关系。

     

     4.1 三种握手关系

    (1)VALID 先变高 READY后变高

              

    (2)READY先变高VALID 后变高

              

    (3)VALID和READY 信号同时变高

               

     

     4.2 通道信号要求

    • 通道握手信号:每个通道有自己的xVALID/xREADY握手信号对。
    • 写地址通道(AW):当主机驱动有效的地址和控制信号时,主机可以断言AWVALID,一旦断言,需要保持AWVALID的断言状态,直到时钟上升沿采样到从机的AWREADY。AWREADY默认值可高可低,推荐为高(如果为低,一次传输至少需要两个周期,一个用来断言AWVALID,一个用来断言AWREADY);当AWREADY为高时,从机必须能够接受提供给它的有效地址。
    • 写数据通道(W):在写突发传输过程中,主机只能在它提供有效的写数据时断言WVALID,一旦断言,需要保持断言状态,知道时钟上升沿采样到从机的WREADY。WREADY默认值可以为高,这要求从机总能够在单个周期内接受写数据。主机在驱动最后一次写突发传输是需要断言WLAST信号。
    • 写响应通道(B):从机只能它在驱动有效的写响应时断言BVALID,一旦断言需要保持,直到时钟上升沿采样到主机的BREADY信号。当主机总能在一个周期内接受写响应信号时,可以将BREADY的默认值设为高。
    • 读地址通道(AR):当主机驱动有效的地址和控制信号时,主机可以断言ARVALID,一旦断言,需要保持ARVALID的断言状态,直到时钟上升沿采样到从机的ARREADY。ARREADY默认值可高可低,推荐为高(如果为低,一次传输至少需要两个周期,一个用来断言ARVALID,一个用来断言ARREADY);当ARREADY为高时,从机必须能够接受提供给它的有效地址。
    • 读数据通道(R):只有当从机驱动有效的读数据时从机才可以断言RVALID,一旦断言需要保持直到时钟上升沿采样到主机的RREADY。RREADY默认值可以为高,此时需要主机任何时候一旦开始读传输就能立马接受读数据。当最后一次突发读传输时,从机需要断言RLAST。

     

     4.3 AXI协议要求通道间满足如下关系:

    • 写响应必须跟随最后一次burst的的写传输
    • 读数据必须跟随数据对应的地址
    • 通道握手信号需要确认一些依耐关系

     

     4.4 通道握手信号的依赖关系

    • 为防止死锁,通道握手信号需要遵循一定的依赖关系。

    (1)VALID信号不能依赖READY信号。

    (2)AXI接口可以等到检测到VALID才断言对应的READY,也可以检测到VALID之前就断言READY。

    • 下面有几个图表明依耐关系,单箭头指向的信号能在箭头起点信号之前或之后断言;双箭头指向的信号必须在箭头起点信号断言之后断言。

     

     (1)读事务握手依赖关系如图

              

    • 设备可以在 ARVALID 出现的时候在给出 ARREADY 信号,也可以先给出 ARREADY 信号,再等待 ARVALID 信号。
    • 但是设备必须等待 ARVALID 和 ARREADY 信号都有效才能给出 RVALID 信号,开始数据传输。

     

     (2)写事务握手依赖关系如图

              

    • 主机必须不能够等待设备先给出 AWREADY 或 WREADY 信号信号后再给出信号 AWVALID 或 WVLAID。
    • 设备可以等待信号AWVALID或WVALID信号有效或者两个都有效之后再 给出 AWREADY 信号。
    • 设备可以等待AWVALID或WVALID信号有效或者两个信号都有效之后再 给出 WREADY 信号。

     

     (1)读事务握手依赖关系如图

              

    • The slave must wait for AWVALID, AWREADY, WVALID, and WREADY to be asserted before asserting BVALID.
    • The slave must also wait for WLAST to be asserted before asserting BVALID. This wait is because the write response, BRESP, must be signaled only after the last data transfer of a write transaction.
    • The slave must not wait for the master to assert BREADY before asserting BVALID.
    • The master can wait for BVALID before asserting BREADY
    • The master can assert BREADY before BVALID is asserted

     

    五、传输结构

     5.1 地址结构

    • AXI协议是基于burst的,主机只给出突发传输的第一个字节的地址,从机必须计算突发传输后续的地址。突发传输不能跨4KB边界(防止突发跨越两个从机的边界,也限制了从机所需支持的地址自增数)。

     

     5.2 突发长度

    • ARLEN[7:0]决定读传输的突发长度。
    • AXI3只支持1~16次的突发传输(Burst_length=AxLEN[3:0]+1),AXI4扩展突发长度支持INCR突发类型为1~256次传输,对于其他的传输类型依然保持1~16次突发传输(Burst_Length=AxLEN[7:0]+1)。
    • burst传输具有如下规则:
    • wraping burst ,burst长度必须是2,4,8,16
    • burst不能跨4KB边界
    • 不支持提前终止burst传输
    • 所有的组件都不能提前终止一次突发传输。然而,主机可以通过解断言所有的写的strobes来使非所有的写字节来减少写传输的数量。
    • 读burst中,主机可以忽略后续的读数据来减少读个数。也就是说,不管怎样,都必须完成所有的burst传输。
    • 注:对于FIFO,忽略后续读数据可能导致数据丢失,必须保证突发传输长度和要求的数据传输大小匹配。

     

     5.3 突发大小

    • ARSIZE[2:0],读突发传输;AWSIZE[2:0],写突发传输。
    • ARSIZE 信号或 AWSIZE 信号指定每一个时钟节拍所传输的数据的最大位 数。
                                        AxSIZE[2:0]                                           Bytes in transfer
    'b000 1
    'b001 2
    'b010 4
    'b011 8
    'b100 16
    'b101 32
    'b110 64
    'b111 128

     5.4 突发类型

    • FIXED:突发传输过程中地址固定,用于FIFO访问。
    • INCR:增量突发,传输过程中,地址递增。增加量取决AxSIZE的值。
    • WRAP:回环突发,和增量突发类似,但会在特定高地址的边界处回到低地址处。回环突发的长度只能是2,4,8,16次传输,传输首地址和每次传输的大小对齐。最低的地址整个传输的数据大小对齐。回环边界等于(AxSIZE*AxLEN)。
                                     AxBURST[1:0]                                                     Burst type
    'b00 FIXED
    'b01 INCR
    'b10 WRAP
    'b11 Reserved
    • Start_Address = AxADDR
    • Number_Bytes = 2 ^ AxSIZE
    • Burst_Length = AxLEN + 1
    • Aligned_Addr = (INT(Start_Address / Number_Bytes)) x Number_Bytes。//INT表示向下取整。

       对于INCR突发和WRAP突发但没有到达回环边界,地址由下述方程决定:

    Address_N = Aligned_Address + (N-1) x Number_Bytes

      WRAP突发,突发边界:

    Wrap_Boundary=(INT(Start_Address / (Number_Bytes x Burst_Length))) x (Number_Bytes x Burst_Length)

     5.5 数据读写结构

    • WSTRB[n:0]对应于对应的写字节,WSTRB[n]对应WDATA[8n+7:8n]。WVALID为低时,WSTRB可以为任意值,WVALID为高时,WSTRB为高的字节线必须指示有效的数据。

     5.6 读写响应结构

    • 读传输的响应信息是附加在读数据通道上的,写传输的响应在写响应通道。
    • RRESP[1:0],读传输
    • BRESP[1:0],写传输

    OKAY('b00):正常访问成功

    EXOKAY('b01):Exclusive 访问成功

    SLVERR('b10):从机错误。表明访问已经成功到了从机,但从机希望返回一个错误的情况给主机。

    DECERR('b11):译码错误。一般由互联组件给出,表明没有对应的从机地址。

     





     

    展开全文
  • AXI总线协议文档汇总

    2016-12-08 21:26:24
    包括ARM AXI总线的多份协议,花了很长时间收集,打包上传,方便需要的朋友。求好评
  • AXI总线协议 学习

    2019-07-23 16:00:55
    AXI 总线
  • AXI总线协议总结

    千次阅读 多人点赞 2019-10-30 10:26:14
    在介绍AXI之前,先简单说一下总线、接口以及协议的含义 总线、接口和协议,这三个词常常被联系在一起,但是我们心里要明白他们的区别。 ...AXI4总线协议是ARM公司提出的AMBA(Advanced Microco...
  • 特权同学玩转Zynq连载3——AXI总线协议介绍1 1 AXI协议简介 AMBA AXI(Advanced eXtensible Interface)协议是一种面向高性能、高带宽系统设计的总线协议,能够满足各种高速系统的总线互联。 AXI协议的主要特点有:...
  • AXI总线协议规范

    2013-06-22 15:08:22
    AXI(Advanced eXtensible Interface)是一种总协议,该协议是ARM公司提出的AMBA(Advanced Microcontroller Bus Architecture)3.0协议中最重要的部分,是一种面向高性能、高带宽、低延迟的片内总线
  • AXI总线协议入门

    2011-11-01 15:11:18
    ARM公司最新总线协议AXI介绍,内容深入浅出,适合初学者入门,读完之后,能够让读者对AXI有一个深刻明确的认识。
  • AXI总线协议时序

    万次阅读 2018-04-13 21:18:23
    由于ZYNQ架构和常用接口IP核经常出现 AXI协议,赛灵思的协议手册讲解时序比较分散。所以笔者收藏AXI协议的几种时序,方便编程。1>AXI_LITE协议:( 1) 读地址通道, 包含ARVALID, ARADDR, ARREADY信号;( 2...
  • AMBA-AXI总线协议

    2020-08-22 12:06:22
    本文参考: ...  2.AMBAAXI and ACE ProtocolSpecification 0.绪论 AXI是高级扩展接口,在AMBA3.0中提出,AMBA4.0将其修改升级为AXI4.0。...AXI4.0-lite是AXI的简化版本,ACE4.0 是AXI缓存一致性扩展接口,...
  • 四,AXI总线协议解析

    2020-09-24 14:38:30
    AXI(Advanced eXtensible Interface)是一种总线协议,该协议是ARM 公司提出的 AMBA(Advanced Microcontroller Bus Architecture)3.0 协议中最重要的部分,是一种面向高性能、高带宽、低延迟的片内总线。...
  • 特权同学玩转Zynq连载4——AXI总线协议介绍2 2 信号描述 2.1 全局信号 表2-1 全局信号 2.2 写地址通道信号 表2-2 写地址通道信号 注:对于一般的应用,AWBURST、AWLOCK、AWCACHE和AWPROT通常赋一个特定的值,即...
  • AXI总线协议资料整理

    千次阅读 2019-07-23 12:08:22
    AXI简介:AXI(Advanced eXtensible Interface)是一种总线协议,该协议是ARM公司提出的AMBA(Advanced Microcontroller Bus Architecture)3.0协议中最重要的部分,是一种面向高性能、高带宽、低延迟的片内总线。...
  • AMBA 系列之 AXI 总线协议初探

    千次阅读 2020-01-02 17:42:32
    1.1 AXI协议特点 1.2 AXI 读写架构 1.3 接口和互联 1.4 复位 2. 信号描述 2.1 全局信号 2.2 写地址通道信号 2.3 写数据通道信号 2.4 写响应通道信号 2.5 读地址通道信号 2.6 读数据通道信号 2.7 低功耗...
  • AXI(Advanced eXtensible Interface, 高级可扩展接口)隶属于ARM AMBA(Advanced Microcontroller Bus Architecture)家族,AMBA是1996年引入的微控制器总线标准。AMBA的本质是开放的片内总线互联标准,为多主机...
  • 参考链接:1.... ... 学习AXI是学习ZYNQ的必备知识,所以从以下几个方向了解和学习AXI总线的接口以及协议。自定义IP核是Zynq学习与开发中的难点,AXI I...
  • AMBA基础知识3:AMBA-AXI总线协议详解

    千次阅读 2018-04-10 15:15:35
    来自:http://blog.sina.com.cn/s/blog_13f7886010102x2iz.htmlAXI(Advanced eXtensible Interface)是一种总线协议,该协议是ARM公司提出的AMBA(Advanced Microcontroller Bus Architecture)3.0协议中最重要的...
  • AXI总线协议的初识

    2021-05-12 16:09:18
    https://www.cnblogs.com/electricdream/p/13039865.html#_label0_1

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 1,660
精华内容 664
关键字:

axi总线协议