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

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

3天内不再提示

AXI总线协议总结

FPGA设计论坛 来源:未知 2023-12-16 15:55 次阅读

在介绍AXI之前,先简单说一下总线、接口以及协议的含义

总线、接口和协议,这三个词常常被联系在一起,但是我们心里要明白他们的区别。

  • 总线是一组传输通道,是各种逻辑器件构成的传输数据的通道,一般由由数据线、地址线、控制线等构成。

  • 接口是一种连接标准,又常常被称之为物理接口。

  • 协议是传输数据的规则。

  • 1.简介
    AXI4总线协议是
    ARM公司提出的AMBA(Advanced Microcontroller Bus Architecture)3.0协议中最重要的部分,是一种面向高性能、高带宽、低延迟的片内总线。

    AXI4总线协议规定的数据传输方式是猝发式的。它的地址/控制和数据相位是分离的,支持不对齐的数据传输。在突发传输中,使用首字节选通方式,只需要首地址,在独立的读写数据通道,采用独立的地址、控制和数据周期进行数据传输,支持非对齐方式的数据传输,能够发出多个未解析的地址,从而完成无序的数据传输交易,并更加容易并行时序收敛。

    AXI是AMBA 中一个新的高性能协议。AXI 技术丰富了现有的AMBA 标准内容,满足超高性能和复杂的片上系统(SoC)设计的需求。

    常用的AXI总线有:AXI4、 AXI_Lite、AXI_Stream。

    AXI4:主要面向高性能地址映射通信的需求,允许最大256轮的数据突发传输;

    AXI4-Lite:是一个轻量级的地址映射单次传输接口,占用很少的逻辑单元;

    AXI4-Stream:面向高速流数据传输,去掉了地址项,允许无限制的数据突发传输规模。

    AXI4总线分为主、从两端,两者间可以连续的进行通信

    2. AXI_Lite 协议
    axi总线的6个通道

    ( 1) 读地址通道, 包含 ARVALID, ARADDR, ARREADY信号
    ( 2) 读数据通道, 包含 RVALID, RDATA, RREADY, RRESP信号;
    ( 3) 写地址通道, 包含 AWVALID, AWADDR, AWREADY信号;
    ( 4) 写数据通道, 包含 WVALID, WDATA, WSTRB, WREADY信号;
    ( 5) 写应答通道, 包含 BVALID, BRESP, BREADY信号;
    ( 6) 系统通道, 包含
    ACLK, ARESETN信号。

    AXI4总线和AXI4-Lite总线的信号也有他的命名特点:

    读地址信号都是以AR开头( A:address;R:read)

    写地址信号都是以AW开头( A:address;W:write)

    读数据信号都是以R开头( R:read)

    写数据信号都是以W开头( W:write)

    3.AXI_Stream 协议
    AXI4-Stream总线的组成有:
    ( 1) ACLK 信号:总线时钟, 上升沿有效;
    ( 2) ARESETN 信号:总线复位, 低电平有效
    ( 3) TREADY 信号:从机告诉主机做好传输准备;
    ( 4) TDATA 信号:数据, 可选宽度32,64,128,256bit
    ( 5) TSTRB 信号:字节修饰符, 每一bit对应TDATA的一个有效字节, 宽度为TDATA/8,用来描述TDATA相关字节内容作为一个数字字节或者一个位置字节被处理。
    ( 6) TLAST 信号:主机告诉从机该次传输为突发传输的结尾;
    ( 7) TVALID 信号:主机告诉从机数据本次传输有效;
    ( 8) TUSER 信号 :用户定义信号, 宽度为128bit。

    4.其他
    4.1 AXI架构
    AXI协议是基于bu
    rst的传输,并且定义了5个独立的传输通道:

    读地址通道、读数据通道、写地址通道、写数据通道、写响应通道。

    地址通道携带控制消息用于描述被传输的数据属性;

    数据传输使用写通道来实现“主”到“从”的传输;

    “从”使用写响应通道来完成一次写传输;

    读通道用来实现数据从“从”到“主”的传输。

    图4-1 读结构


    图4-2 写架构

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

    读/写地址通道:读、写传输每个都有自己的地址通道,对应的地址通道承载着对应传输的地址控制信息。

    读数据通道:读数据通道承载着读数据和读响应信号包括数据总线(8/16/32/64/128/256/512/1024bit)和指示读传输完成的读响应信号。

    写数据通道:写数据通道的数据信息被认为是缓冲(buffered)了的,“主”无需等待“从”对上次写传输的确认即可发起一次新的写传输。写通道包括数据总线(8/16…1024bit)和字节线(用于指示8bit 数据信号的有效性)。

    写响应通道:“从”使用写响应通道对写传输进行响应。所有的写传输需要写响应通道的完成信号。

    图4-3 接口与互联

    AXI协议提供单一的接口定义,能用在下述三种接口之间:master/interconnect、slave/interconnect、master/slave。

    可以使用以下几种典型的系统拓扑架构:

    共享地址与数据总线
    共享地址总线,多数据总线
    multilayer多层,多地址总线,多数据总线

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

    寄存器片(Register Slices):

    每个AXI通道使用单一方向传输信息,并且各个通道直接没有任何固定关系。因此可以可以在任何通道任何点插入寄存器片,当然这会导致额外的周期延迟。

    使用寄存器片可以实现周期延迟(cycles of latency)和最大操作频率的折中;使用寄存器片可以分割低速外设的长路径。

    4.2 信号描述
    表 4-4 全局信号

    表 4-5 写地址通道信号

    表 4-6 写数据通道信号

    表 4-7 写响应通道信号

    表 4-8 读地址通道信号

    表 4-9 读数据通道信号

    表 4-10 低功耗接口信号

    4.3 信号接口要求
    4.3.1
    时钟复位
    时钟:

    每个AXI组件使用一个时钟信号ACLK,所有输入信号在ACLK上升沿采样,所有输出信号必须在ACLK上升沿后发生。

    复位:

    AXI使用一个低电平有效的复位信号ARESETn,复位信号可以异步断言,但必须和时钟上升沿同步去断言。

    复位期间对接口有如下要求:①主机接口必须驱动ARVALID,AWVALID,WVALID为低电平;②从机接口必须驱动RVALID,BVALID为低电平;③所有其他信号可以被驱动到任意值。

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

    4.3.2基本读写传输
    握手过程

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

    图 4-11 VALID before READY 握手

    图 4-12 READY before VALID 握手

    图 4-13 VALID with READY 握手

    4.3.3 通道信号要求
    通道握手信号:每个通道有自己的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。

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

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









精彩推荐



至芯科技FPGA就业培训班——助你步入成功之路、11月30号北京中心开课、欢迎咨询!
基于RISC-V加速器实现现场可编程门阵列 CNN异构的控制方案
基于FPGA实现分离用软件的图像处理系统设计
扫码加微信邀请您加入FPGA学习交流群




欢迎加入至芯科技FPGA微信学习交流群,这里有一群优秀的FPGA工程师、学生、老师、这里FPGA技术交流学习氛围浓厚、相互分享、相互帮助、叫上小伙伴一起加入吧!

点个在看你最好看




原文标题:AXI总线协议总结

文章出处:【微信公众号:FPGA设计论坛】欢迎添加关注!文章转载请注明出处。

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

    关注

    1602

    文章

    21320

    浏览量

    593195

原文标题:AXI总线协议总结

文章出处:【微信号:gh_9d70b445f494,微信公众号:FPGA设计论坛】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

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

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

    漫谈AMBA总线-AXI4协议的基本介绍

    本文主要集中在AMBA协议中的AXI4协议。之所以选择AXI4作为讲解,是因为这个协议在SoC、IC设计中应用比较广泛。
    发表于 01-17 12:21 382次阅读
    漫谈AMBA<b class='flag-5'>总线</b>-<b class='flag-5'>AXI</b>4<b class='flag-5'>协议</b>的基本介绍

    LogiCORE JTAG至AXI Master IP核简介

    LogiCORE JTAG至AXI Master IP核是一个可定制的核,可生成AXIAXI总线可用于处理和驱动系统中FPGA内部的AXI信号。AXI
    的头像 发表于 10-16 10:12 479次阅读
    LogiCORE JTAG至<b class='flag-5'>AXI</b> Master IP核简介

    AXI IIC总线接口介绍

    LogiCORE™IPAXI IIC总线接口连接到AMBA®AXI规范,提供低速、两线串行总线接口,可连接大量流行的设备。
    的头像 发表于 09-28 15:56 4544次阅读

    AMBA3.0 AXI总线接口协议的研究与应用

    本文介绍了AMBA3.0AXI的结构和特点,分析了新的AMBA3.0AXI协议相对于AMBA2.0的优点。它将革新未来高性能SOC总线互连技术,其特点使它更加适合未来的高性能、低延迟设
    发表于 09-20 08:30

    基于AXI总线的DDR3读写测试

    本文开源一个FPGA项目:基于AXI总线的DDR3读写。之前的一篇文章介绍了DDR3简单用户接口的读写方式:《DDR3读写测试》,如果在某些项目中,我们需要把DDR挂载到AXI总线上,
    的头像 发表于 09-01 16:20 2280次阅读
    基于<b class='flag-5'>AXI</b><b class='flag-5'>总线</b>的DDR3读写测试

    AMBA AXI协议指南

    AXI协议支持高性能、高频的系统设计,用于 管理器和下属组件。 AXI协议的特点是: •适用于高带宽和低延迟设计。 •在不使用复杂桥梁的情况下提供高频操作。 •该
    发表于 08-02 09:44

    Xilinx FPGA AXI4总线(一)介绍【AXI4】【AXI4-Lite】【AXI-Stream】

    从 FPGA 应用角度看看 AMBA 总线中的 AXI4 总线
    发表于 06-21 15:21 1875次阅读
    Xilinx FPGA <b class='flag-5'>AXI</b>4<b class='flag-5'>总线</b>(一)介绍【<b class='flag-5'>AXI</b>4】【<b class='flag-5'>AXI</b>4-Lite】【<b class='flag-5'>AXI</b>-Stream】

    AXI4-Lite协议简明学习笔记

    AXI4协议是ARM的AMBA总线协议重要部分,ARM介绍AXI4总线
    发表于 06-19 11:17 2317次阅读
    <b class='flag-5'>AXI</b>4-Lite<b class='flag-5'>协议</b>简明学习笔记

    快速了解最新的AMBA AXI5协议功能

    Arm® AMBA® 5 AXI 协议规范支持高性能、高频系统设计,用于管理器和从属组件之间的通信。AMBA AXI5 协议扩展了前几代规范,并增加了几个重要的性能和可扩展性功能,这些
    的头像 发表于 05-25 16:01 1682次阅读

    AXI总线工作流程

    在zynq开发过程中,AXI总线经常遇到,每次看到AXI总线相关的信号时都一头雾水,仔细研究一下,将信号分分类,发现其实也不难。
    的头像 发表于 05-25 11:22 620次阅读
    <b class='flag-5'>AXI</b><b class='flag-5'>总线</b>工作流程

    FPGA AXI4协议学习笔记(三)

    上文FPGA IP之AXI4协议1_信号说明把AXI协议5个通道的接口信息做了说明,本文对上文说的信号进行详细说明。
    的头像 发表于 05-24 15:06 718次阅读
    FPGA <b class='flag-5'>AXI</b>4<b class='flag-5'>协议</b>学习笔记(三)

    FPGA AXI4协议学习笔记(二)

    上文FPGA IP之AXI4协议1_协议构架对协议框架进行了说明,本文对AXI4接口的信号进行说明。
    的头像 发表于 05-24 15:05 902次阅读
    FPGA <b class='flag-5'>AXI</b>4<b class='flag-5'>协议</b>学习笔记(二)

    深入剖析AXI协议与架构(下)

    之前文章为大家介绍了AXI协议与架构,本篇我们接着往下讲AXI的读写传输 内容概括
    的头像 发表于 05-04 14:41 1482次阅读
    深入剖析<b class='flag-5'>AXI</b>的<b class='flag-5'>协议</b>与架构(下)

    深入剖析AXI协议与架构(上)

    AMBA AXI协议支持用于主从模块之间通信的高性能、高频率系统设计。
    的头像 发表于 05-04 14:35 1345次阅读
    深入剖析<b class='flag-5'>AXI</b>的<b class='flag-5'>协议</b>与架构(上)