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

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

3天内不再提示

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

FPGA之家 来源:embeddeder 作者:embeddeder 2021-04-30 11:22 次阅读

学习内容

学习关于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上升沿。如下图:

022fb932-a960-11eb-9728-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时刻。

02803ff6-a960-11eb-9728-12bb97331649.png

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

02988e9e-a960-11eb-9728-12bb97331649.png

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

02b89860-a960-11eb-9728-12bb97331649.png

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

02c313e4-a960-11eb-9728-12bb97331649.png

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

02dfa6a8-a960-11eb-9728-12bb97331649.png

03177ed4-a960-11eb-9728-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协议中需要保持以下关系:

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

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

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

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

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

读操作依赖关系

0322e8aa-a960-11eb-9728-12bb97331649.png

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

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

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

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

写操作依赖关系

032c9dbe-a960-11eb-9728-12bb97331649.png

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

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

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

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

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

写响应依赖关系

0338c6d4-a960-11eb-9728-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,这里的信号端口就少了很多。但对于相同名字的接口信号含义是相同的,功能相同。

0345e15c-a960-11eb-9728-12bb97331649.png

AXI总线协议时序

AXI突发读

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

039e1f7a-a960-11eb-9728-12bb97331649.png

突发写

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

03f24f3c-a960-11eb-9728-12bb97331649.png

编辑:jq

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

    关注

    8

    文章

    6511

    浏览量

    87590
  • 主机
    +关注

    关注

    0

    文章

    896

    浏览量

    34606
  • AXI总线
    +关注

    关注

    0

    文章

    65

    浏览量

    14158

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

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

收藏 人收藏

    评论

    相关推荐

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

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

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

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

    AXI总线协议总结

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

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

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

    AXI传输数据的过程

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

    AXI IIC总线接口介绍

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

    什么是AXIAXI如何工作?

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

    SPI总线协议及时序图详解

    SPI,是英语 Serial Peripheral Interface 的缩写,顾名思义就是串行外围设备接口。SPI,是一种高速的,全双工,同步的通信总线,并且在芯片的管脚上只占用四根线,节约了芯片
    发表于 09-22 08:10

    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 2269次阅读
    基于<b class='flag-5'>AXI</b><b class='flag-5'>总线</b>的DDR3读写测试

    AXI内部存储器接口的功能

    库的慢-慢工艺点对块进行合成,以200 MHz的目标速度确认时序特性。 接口存储器端口上的信号符合RAM编译器为TSMC CL013G工艺技术生产的单端口同步存储器组件所要求
    发表于 08-21 06:55

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

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

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

    从 FPGA 应用角度看看 AMBA 总线中的 AXI4 总线
    发表于 06-21 15:21 1872次阅读
    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】

    FPGA 控制 RGMII 接口 PHY芯片基础

    tx_d[3:0] tx_ctrl为什么接口变少了?首先数据总线从时钟单边沿采样8bit转变为了双边沿采样4bit,从88E1512 Datasheet中时序图可以直观看出这一点。从上边的
    发表于 06-06 15:43

    AXI总线工作流程

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