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

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

3天内不再提示

Xilinx zynq AXI总线全面解读

电子设计 来源:FPGA技术联盟 作者:默宸 2020-12-04 12:22 次阅读

AXI (Advanced eXtensible Interface) 本是由ARM公司提出的一种总线协议, Xilinx从 6 系列的 FPGA 开始对 AXI 总线提供支持,目前使用 AXI4 版本。

AXI总线

ZYNQ有三种AXI总线:

(A)AXI4:(For high-performance memory-mapped requirements.)主要面向高性能地址映射通信的需求,是面向地址映射的接口,允许最大256轮的数据突发传输;

(B)AXI4-Lite:(For simple, low-throughput memory-mapped communication )是一个轻量级的地址映射单次传输接口,占用很少的逻辑单元。

(C)AXI4-Stream:(For high-speed streaming data.)面向高速流数据传输;去掉了地址项,允许无限制的数据突发传输规模。

AXI4总线和AXI4-Lite总线具有相同的组成部分:

① 读地址通道,包含ARVALID, ARADDR, ARREADY信号

② 读数据通道,包含RVALID, RDATA, RREADY, RRESP信号;

③ 写地址通道,包含AWVALID,AWADDR, AWREADY信号;

④ 写数据通道,包含WVALID, WDATA,WSTRB, WREADY信号;

⑤ 写应答通道,包含BVALID, BRESP, BREADY信号;

⑥ 系统通道,包含:ACLK,ARESETN信号。

而AXI4-Stream总线的组成有:

① ACLK信号:总线时钟,上升沿有效;

② ARESETN信号:总线复位,低电平有效

③ TREADY信号:从机告诉主机做好传输准备;

④ TDATA信号:数据,可选宽度32,64,128,256bit

⑤ TSTRB信号:每一bit对应TDATA的一个有效字节,宽度为TDATA/8

⑥ TLAST信号:主机告诉从机该次传输为突发传输的结尾;

⑦ TVALID信号:主机告诉从机数据本次传输有效;

⑧ TUSER信号 :用户定义信号,宽度为128bit。

AXI接口

AXI有三种接口:

(A)AXI-GP接口(4个):是通用的AXI接口,包括两个32位主设备接口和两个32位从设备接口,用过该接口可以访问PS中的片内外设。

(B)AXI-HP接口(4个):是高性能/带宽的标准的接口,PL模块作为主设备连接(从下图中箭头可以看出)。主要用于PL访问PS上的存储器(DDR和On-Chip RAM

(C)AXI-ACP接口(1个):是ARM多核架构下定义的一种接口,中文翻译为加速器一致性端口,用来管理DMA之类的不带缓存的AXI外设,PS端是Slave接口。

AXI协议

协议的制定是要建立在总线构成之上的。因此说AXI4,AXI4-Lite,AXI4-Stream都AXI4协议。AXI总线协议的两端可以分为分为主(master)、从(slave)两端,他们之间一般需要通过一个AXI Interconnect相连接,作用是提供将一个或多个AXI主设备连接到一个或多个AXI从设备的一种交换机制。

AXI Interconnect的主要作用是,当存在多个主机以及从机器时,AXIInterconnect负责将它们联系并管理起来。由于AXI支持乱序发送,乱序发送需要主机的ID信号支撑,而不同的主机发送的ID可能相同,而AXI Interconnect解决了这一问题,他会对不同主机的ID信号进行处理让ID变得唯一。

AXI协议将读地址通道,读数据通道,写地址通道,写数据通道,写响应通道分开,各自通道都有自己的握手协议。每个通道互不干扰却又彼此依赖。这是AXI高效的原因之一。

01:AXI握手协议

AXI4 所采用的是一种 READY,VALID 握手通信机制,简单来说主从双方进行数据通信前,有一个握手的过程。传输源产生 VLAID 信号来指明何时数据或控制信息有效。

而目地源产生READY信号来指明已经准备好接受数据或控制信息。 传输发生在VALID和 READY信号同时为高的时候。

如下图中的一种实例:

02:突发式读写

突发式读的时序:

当地址出现在地址总线后,传输的数据将出现在读数据通道上。设备保持VALID 为低直到读数据有效。为了表明一次突发式读写的完成,设备用 RLAST 信号来表示最后一个被传输的数据。

突发式写的时序:

这一过程的开始时,主机发送地址和控制信息到写地址通道中,然后主机发送每一个写数据到写数据通道中。当主机发送最后一个数据时,WLAST 信号就变为高。当设备接收完所有数据之后他将一个写响应发送回主机来表明写事务完成。

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

    关注

    70

    文章

    2121

    浏览量

    119373
  • 总线协议
    +关注

    关注

    0

    文章

    80

    浏览量

    14736
  • Zynq
    +关注

    关注

    9

    文章

    600

    浏览量

    46620
收藏 人收藏

    评论

    相关推荐

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

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

    AXI总线协议总结

    在介绍AXI之前,先简单说一下总线、 接口 以及协议的含义 总线、接口和协议,这三个词常常被联系在一起,但是我们心里要明白他们的区别。 总线是一组传输通道,是各种逻辑器件构成的传输数据
    的头像 发表于 12-16 15:55 319次阅读

    ZYNQ的ARM和FPGA数据交互——AXI交互最重要的细节

    大部分器件的接口要求,提供互联架构的灵活性与独立性。 (1)AXI总线 总线是一组传输通道,是各种逻辑器件构成的传输数据的通道,一般由数据线、地址线、控制线等构成。在ZYNQ中支持三
    发表于 11-03 10:51

    AXI传输数据的过程

    AXI4为例,有AXI full/lite/stream之分。 在Xilinx系列FPGA及其有关IP核中,经常见到AXI总线接口,
    的头像 发表于 10-31 15:37 466次阅读
    <b class='flag-5'>AXI</b>传输数据的过程

    AXI IIC总线接口介绍

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

    什么是AXIAXI如何工作?

    Xilinx 从 Spartan-6 和 Virtex-6 器件开始采用高级可扩展接口 (AXI) 协议作为知识产权 (IP) 内核。Xilinx 继续将 AXI 协议用于针对 7 系
    的头像 发表于 09-27 09:50 688次阅读
    什么是<b class='flag-5'>AXI</b>?<b class='flag-5'>AXI</b>如何工作?

    基于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读写测试

    基于Xilinx FPGA AXI-EMC IP的EMIF通信测试

    外部存储器接口( EMIF )通信常用于FPGA和DSP之间的数据传输,即将FPGA作为DSP的外部SRAM、或者协同处理器等。Xilinx提供了AXI-EMC IP核,将其挂载到AXI总线
    的头像 发表于 08-31 11:25 2750次阅读
    基于<b class='flag-5'>Xilinx</b> FPGA <b class='flag-5'>AXI</b>-EMC IP的EMIF通信测试

    如何把ICB总线转为AXI

    现在我要用block design搭建SOC,需要将总线转为AXI。按照论坛中的帖子,将e203_subsys_mems模块中的sirv_gnrl_icb2axi模块放到system层中,然后声明
    发表于 08-12 06:12

    Xilinx Zynq7035算力指标

    本文介绍广州星嵌DSP C6657+Xilinx Zynq7035平台下Xilinx Zynq7035算力指标。
    的头像 发表于 07-07 14:15 873次阅读
    <b class='flag-5'>Xilinx</b> <b class='flag-5'>Zynq</b>7035算力指标

    自定义AXI-Lite接口的IP及源码分析

    在 Vivado 中自定义 AXI4-Lite 接口的 IP,实现一个简单的 LED 控制功能,并将其挂载到 AXI Interconnect 总线互联结构上,通过 ZYNQ 主机控制
    发表于 06-25 16:31 2044次阅读
    自定义<b class='flag-5'>AXI</b>-Lite接口的IP及源码分析

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

    从 FPGA 应用角度看看 AMBA 总线中的 AXI4 总线
    发表于 06-21 15:21 1875次阅读
    <b class='flag-5'>Xilinx</b> 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】

    简单讲解AXI Interconnect IP核的使用方法

    最近需要用到AXI接口的模块,xilinx的IP核很多都用到了AXI总线进行数据和指令传输。如果有多个设备需要使用AXI协议对
    的头像 发表于 06-19 15:45 5334次阅读
    简单讲解<b class='flag-5'>AXI</b> Interconnect IP核的使用方法

    Xilinx ZYNQ UltraScale+系列产品介绍

    Zynq UltraScale+MPSoC是Xilinx推出的第二代多处理SoC系统,它在第一代Zynq-7000的基础上进行了全面升级。
    的头像 发表于 06-09 10:07 1858次阅读
    <b class='flag-5'>Xilinx</b> <b class='flag-5'>ZYNQ</b> UltraScale+系列产品介绍

    AXI总线工作流程

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