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

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

3天内不再提示

浅谈ZYNQ-AXI总线的信号接口要求以及时序关系

FPGA之家 来源:embeddeder 作者:embeddeder 2021-06-01 10:57 次阅读

学习内容

学习关于AXI总线的信号接口的具体要求(包括不同通道之间的关系,握手机制说明等)和AXI4-Lite的相关信息,在文章后半部分对AXI读写时序进行了简要讲解,主要针对ARM公司的IHI0022D进行阅读总结。

Clock and Reset

前面也提到了信号和复位的功能,这里对AXI全局时钟ACLK)和复位信号(ARESETn)做进一步的解释说明。Clock: 每个AXI组件都要使用时钟信号(ACLK)。

所有的输入信号都在ACLK的上升沿上采样。

所有输出信号的变化必须发生在ACLK上升沿之后。

在主机接口和从机接口上,输入和输出信号之间不能有组合路径。

Reset: AXI使用一个单独的低复位信号(ARESETn)。复位信号可以进行异步复位,但是复位完必须与ACLK的上升沿同步。在复位过程中,要求:

主机接口必须驱动ARVALID、AWVALID、和WVALID为低电平。

从机接口必须驱动RVALID和BVALD 为低电平。

所有其他信号可以为任何值。

在完成复位后,允许master驱动ARVALID,、AWVALID、WVALID为高。但是上升沿信号是在ARESETn是拉高之后而且要在ACLK上升沿。如下图:

da0b5d66-c238-11eb-9e57-12bb97331649.png

Basic read and write transactions

在基本的读写传输中,要完成正常的传输功能要进行握手并且遵守协议中对每个通道的信号的要求。

握手机制

所有五个通道都使用相同的VALID/READY握手处理来传输地址、数据和控制信息。这种双向握手机制表示主机和从机都可以控制信息在主机和从机之间传输的速率。

源端(master)生成VALID信号来指示地址、数据或控制信息何时传输可用。目的端(slave)生成READY信号来表示它可以接受该信息。传输只发生在VALID和READY信号都为高电平时。 在主机接口和从机接口上,输入和输出信号之间不能有组合路径。

双向握手协议表示主机和从机都可以控制信息在主机和从机之间传输的速率。换句话说也就是在传输中VALID和READY,都可以进行等待对方从而完成数据传输。如下图所示,下图的VALID的上升沿在T1时刻之后完成拉高,在T2时刻VALID信号为高,而READY信号为低,所以要继续等待READY信号拉高。在T2时刻的上升沿之后,READY拉高,在T3时刻上升沿时,READY和VALID信号都为高,所以数据传输发生。也就是下图的数据传输发生在T3时刻。

da13fbd8-c238-11eb-9e57-12bb97331649.png

下图的分析方法同上,在T1时刻READY和VALID信号都为低,不进行数据传输;在T2时刻READY和VALID信号分别为高、低,不进行数据传输;在T3时刻READY和VALID信号都为高,进行数据传输。

da318b80-c238-11eb-9e57-12bb97331649.png

并且,READY和VALID可以同时设置为高进行数据传输,如下图,在T2时刻发生数据传输。

da617f66-c238-11eb-9e57-12bb97331649.png

针对不同的信号通道,握手信号加上不同的前缀加以区分,如下表:

da6b1454-c238-11eb-9e57-12bb97331649.png

对于不同通道的握手信号,AXI协议有具体的建议要求:Write address channel主机可以在地址和控制信息都有效的时候拉高 AWVALID。当AWVALID拉高后要保持不变,直到AWREADY也拉高并且时钟产生上升沿之后。换句话说,在握手传输的时,我们的数据信息和地址信息要保持不变,这样才能确保传输的数据为有效可靠的。也就是AWVALID和信息数据是同步变化的。下面给出两个示例:

da8ac15a-c238-11eb-9e57-12bb97331649.png

dabb5108-c238-11eb-9e57-12bb97331649.png

AWREADY的默认状态可以是高或者低。AXI协议建议的默认状态为高。当AWREADY为高时,从机能够接受任何提供给它的有效地址。不建议默认AWREADY状态为低,因为它强制进行握手传输,至少需要两个时钟周期,一个周期拉高AWVALID,另一个周期拉高AWREADY。

Read address channel和上面的写地址通道要求类似,主机可以在地址和控制信息都有效的时候拉高 AWVALID。当AWVALID拉高后要保持不变,直到AWREADY也拉高并且时钟产生上升沿之后。WREADY的默认状态可以是高或者低。AXI协议建议的默认状态为高。当AWREADY为高时,从机能够接受任何提供给它的有效地址。不建议默认AWREADY状态为低,因为它强制进行握手传输,至少需要两个时钟周期,一个周期拉高AWVALID,另一个周期拉高AWREADY。

Write response channel当它驱动有效的写响应时,从机才能拉高BVALID信号。当BVALID拉高后要保持不变,直到BREADY也拉高并且时钟产生上升沿之后。BREADY的默认状态可以是高电平,但前提是在主机总是能够在一个周期内接受写响应的情况下。

Write data channel:在写突发传输期间,当主机驱动有效的写数据时,才需要拉高WVALID信号。当WVALID拉高后要保持不变,直到WREADY也拉高并且时钟产生上升沿之后。WREADY的默认状态可以是高电平,但前提是从机总是能在一个周期内接受写数据。当主机在突发传输中进行最后一个数据传输时,必须拉高WLAST信号,用于指示传输结束。

Read data channel:当它驱动有效的读数据时,从机才能拉高RVALID信号。当RVALID拉高后要保持不变,直到RREADY也拉高并且时钟产生上升沿之后。即使从机只有一个读数据信息,它也必须在响应数据请求时拉高RVALID信号。主机接口使用RREADY信号来表示它接受数据状态。RREADY的默认状态可以为高电位,但前提是无论何时启动读操作,主机都能立即接受读数据。当从机在突发传输中进行最后一个数据传输时,必须拉高RLAST信号,用于指示传输结束。

通道之间的关系

AXI协议中需要保持以下关系:

在写操作中,写响应必须始终跟随它是其中一部分的最后一个写传输。

读取数据必须始终跟在与数据相关的地址后面。

通道握手必须符合在通道握手信号之间的依赖关系。

通道握手信号之间的依赖关系

通道握手信号之间的依赖关系,,由下面的流程图进行描述,这里先进行图示说明:在依赖关系图中,单箭头指向可以在箭头指向的信号之前或之后拉高信号;双箭头指向的信号必须在箭头指向的信号断言之后才能拉高。

读操作依赖关系

dadd37b4-c238-11eb-9e57-12bb97331649.png

上图显示读操作握手信号的依赖关系,在读操作中:

从机必须等待ARVALID和ARREADY都拉高后,RVALID才能进行拉高指示数据有效。

对于ARVALID和ARREADY的顺序,可以任意设置先后顺序,从机可以等待ARVALID拉高后,再拉高ARREADY,也可以相反,也可以同时拉高。

对于RVALID和RREADY不用关心顺序,主机可以任意设置先后顺序。可以先后,可以同时。

写操作依赖关系

db0b2f84-c238-11eb-9e57-12bb97331649.png

上图显示写操作握手信号的依赖关系,在写操作中:

主机在拉高AWREADY or WREADY不需要关心从机AWVALID or WVALID先后顺序。

从机在BVALID拉高之前,WVALID和WREADY必须被拉高。

从机必须WLAST拉高之后,才能拉高BVALID,因为写响应(BRESP)在写操作的最后一次数据传输之后,才发出信号。

从机不用关心BVALID和BREADY的先后顺序。

写响应依赖关系

db315cea-c238-11eb-9e57-12bb97331649.png

上图显示写响应握手信号的依赖关系,在写响应中:

单头箭头指向可以在箭头指向的信号之前或之后拉高信号

从机须等待AWVALID、AWREADY、WVALID和WREADY都拉高之后,BVALID才能拉高使能。

从机必须WLAST拉高之后,才能拉高BVALID,因为写响应(BRESP)在写操作的最后一次数据传输之后,才发出信号。

AXI4-Lite协议

AXI4-Lite和AXI4类似,当不需要完整AXI4功能的时,进行一些简单的控制寄存器的读写。AXI4-Lite协议简单描述如下:

AXI4-Lite协议的所有传输的突发长度都是1(相当于不支持突发传输)。

所有数据访问都使用数据总线的全部位宽,支持32位或64位的数据总线宽度。

所有访问都是不可修改的,不可缓冲的。

不支持独占访问。

接口定义

相比前面介绍的AXI4-Full,这里的信号端口就少了很多。但对于相同名字的接口信号含义是相同的,功能相同。

db6fedc0-c238-11eb-9e57-12bb97331649.png

AXI总线协议时序

AXI突发读

下图所示,当ARVALID信号和ARREADY信号都拉高时地址有效(地址信息和ARVALID是同步的),也就是在T2时刻读取到所要读取的地址,然后等待RVALID和RREADY都拉高,即可读取到数据,也就是在T5时刻内读取到第一个数据A0(数据和RVALID是同步的),依次读取A1、A2、这里的时序图定义A3为最后一次传输,所以RLAST也被拉高。

db7ce110-c238-11eb-9e57-12bb97331649.png

突发写

下图所示,当AWVALID信号和AWREADY信号都拉高时地址有效(地址信息和AWVALID是同步的),也就是在T2时刻上升沿读取到所要写入的地址。然后主机发送写入的数据(数据和WVALID信号是同步的),依次写入A0、A1、A2、A3,当写入最后一个数据时,WLAST信号也要拉高,当写操作完成后,从机要发送一个响应信号,这个信号也是在BVALID和BREADY为高时有效。

dba7ff8a-c238-11eb-9e57-12bb97331649.png

Reference

ARM公司的IHI0022D。

正点原子ZYNQ开发视频教程

编辑:jq

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

    关注

    134

    文章

    9034

    浏览量

    366638
  • 数据传输
    +关注

    关注

    9

    文章

    1810

    浏览量

    64440
  • AXI
    AXI
    +关注

    关注

    1

    文章

    127

    浏览量

    16586

原文标题:ZYNQ-AXI总线的信号接口要求以及时序关系

文章出处:【微信号:zhuyandz,微信公众号:FPGA之家】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    AMBA AXI4接口协议概述

    AMBA AXI4(高级可扩展接口 4)是 ARM 推出的第四代 AMBA 接口规范。AMD Vivado Design Suite 2014 和 ISE Design Suite 14 凭借半导体产业首个符合
    的头像 发表于 10-28 10:46 141次阅读
    AMBA <b class='flag-5'>AXI</b>4<b class='flag-5'>接口</b>协议概述

    接口芯片的读写信号与系统的关系

    接口芯片在现代电子系统中扮演着至关重要的角色,它们负责在不同设备或系统之间传输数据。接口芯片的读写信号是数据传输的基础,它们确保数据能够正确、高效地在系统中流动。 1. 接口芯片的基本
    的头像 发表于 09-30 14:05 239次阅读

    瀚海微SD NAND之SD 协议(31)总线信号时序

    总线信号电平 由于总线可以提供可变的电源电压,所以所有的信号电平都与电源电压有关。 为了满足JEDEC规范JESD8-1A和JESD8-7的要求
    的头像 发表于 09-25 15:20 201次阅读
    瀚海微SD NAND之SD 协议(31)<b class='flag-5'>总线</b>的<b class='flag-5'>信号</b>和<b class='flag-5'>时序</b>

    Xilinx NVMe AXI4主机控制器,AXI4接口高性能版本介绍

    NVMe AXI4 Host Controller IP可以连接高速存储PCIe SSD,无需CPU,自动加速处理所有的NVMe协议命令,具备独立的数据写入和读取AXI4接口,不但适用高性能、顺序
    的头像 发表于 07-18 09:17 459次阅读
    Xilinx NVMe <b class='flag-5'>AXI</b>4主机控制器,<b class='flag-5'>AXI</b>4<b class='flag-5'>接口</b>高性能版本介绍

    FPGA 高级设计:时序分析和收敛

    结果当然是要求系统时序满足设计者提出的要求。 下面举一个最简单的例子来说明时序分析的基本概念。 假设信号需要从输入到输出在FPGA 内部经
    发表于 06-17 17:07

    有关PL端利用AXI总线控制PS端DDR进行读写(从机wready信号一直不拉高)

    PS:先来看一下AXI Interconnect这个M_AXI接口信号,它会产生一个S_AXI接口没有的
    发表于 05-31 12:04

    SoC设计中总线协议AXI4与AXI3的主要区别详解

    AXI4和AXI3是高级扩展接口(Advanced eXtensible Interface)的两个不同版本,它们都是用于SoC(System on Chip)设计中的总线协议,用于处
    的头像 发表于 05-10 11:29 5914次阅读
    SoC设计中<b class='flag-5'>总线</b>协议<b class='flag-5'>AXI</b>4与<b class='flag-5'>AXI</b>3的主要区别详解

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

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

    PCIe-AXI-Cont用户手册

    PCIe-AXI-Controller兼容PCI Express base Specification Revision 3.1,实现PCIe PHY layer,Data link layer以及
    发表于 02-22 09:15 3次下载

    AMBA总线AXI设计的关键问题讲解

    首先我们看一下针对AXI接口的IP设计,在介绍之前我们先回顾一下AXI所具有的一些feature。
    的头像 发表于 02-20 17:12 1587次阅读
    AMBA<b class='flag-5'>总线</b>之<b class='flag-5'>AXI</b>设计的关键问题讲解

    CAN总线接口保护方案

    CAN总线的应用范围广,应用环境相当复杂,一些静电、浪涌等干扰很容易耦合到总线上,并直接作用于CAN总线接口。为了满足一些高等级EMC的要求
    的头像 发表于 01-13 08:27 662次阅读
    CAN<b class='flag-5'>总线</b><b class='flag-5'>接口</b>保护方案

    想用adp5050给zynq供电,而zynq各电源有上电时序要求,请问这个应该怎么处理?

    我想用adp5050给zynq供电,而zynq各电源有上电时序要求,请问这个应该怎么处理?
    发表于 01-08 10:57

    AXI总线协议总结

    在介绍AXI之前,先简单说一下总线接口 以及协议的含义 总线接口和协议,这三个词常常被联系
    的头像 发表于 12-16 15:55 762次阅读

    使用 PCIE 更新 AMD ZYNQ™ 的 QSPI Flash 参考设计

    简介 AMD ZYNQ™ 7000 的 S_AXI 端口提供了外设访问 PS 内部外设控制器的接口,这其中包括 4 个 S_AXI_HP 端口以及
    发表于 11-30 18:49

    XILINX FPGA IP之AXI Traffic Generator

    AXI Traffic Generator IP 用于在AXI4和AXI4-Stream互连以及其他AXI4系统外设上生成特定序列(流量)。
    的头像 发表于 11-23 16:03 2316次阅读
    XILINX FPGA IP之<b class='flag-5'>AXI</b> Traffic Generator