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

    文章

    7348

    浏览量

    95013
  • 主机
    +关注

    关注

    0

    文章

    1062

    浏览量

    36826
  • AXI总线
    +关注

    关注

    0

    文章

    68

    浏览量

    14782

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

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

收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    RDMA设计36:验证环境设计

    额外的激励。此复合体包含一个 Monitor,用于将总线信号转换为 AXIS事务发送到计分板。 AXI-Lite Complexes:负责对接 AXI-Lite
    发表于 02-04 15:22

    利用开源uart2axi4实现串口访问axi总线

    microblaze和jtag-to-axi(jtag2axi)虽然也提供了访问axi总线的能力,但是依赖于xilinx平台。而uart-to-ax
    的头像 发表于 12-02 10:05 2242次阅读
    利用开源uart2<b class='flag-5'>axi</b>4实现串口访问<b class='flag-5'>axi</b><b class='flag-5'>总线</b>

    使用AXI4接口IP核进行DDR读写测试

    本章的实验任务是在 PL 端自定义一个 AXI4 接口的 IP 核,通过 AXI_HP 接口对 PS 端 DDR3 进行读写测试,读写的内存大小是 4K 字节。
    的头像 发表于 11-24 09:19 3919次阅读
    使用<b class='flag-5'>AXI</b>4<b class='flag-5'>接口</b>IP核进行DDR读写测试

    NVMe高速传输之摆脱XDMA设计44:工程设计考量?

    连接到pci_exp引脚。 mig_7series 模块为 Xilinx 提供的 DDR 接口控制器, 该模块将 AXI 总线信号转换为 DDR
    发表于 11-12 09:52

    利用蜂鸟E203搭建SoC【1】——AXI总线的配置与板级验证

    融合进BD设计流程,第一步需要对其总线进行配置以便于后续的SoC搭建。 蜂鸟e203内部使用的是icb总线,这种总线协议与AXI类似,都采用了握手
    发表于 10-30 07:35

    关于ICB总线的应用

    来讲述ICB总线应用。 下图向ICB总线上挂载AXI Peripheral。 命令通道有: ①expl_axi_icb_cmd_valid; (主设备发送读写请求
    发表于 10-29 07:44

    移植E203到Genesys2开发板时遇到时序问题的常见原因

    在移植E203到自己的Genesys2开发板时候遇到时序问题的常见原因 1.在vivado中,连接的管脚的信号一般都会自动添加OBUF或IBUF。 但是对于inout类型的接口,不会主动添加
    发表于 10-29 07:04

    将e203 例化AXI总线接口

    将系统外设总线内部axi接口引出给gpio,注意vivado中gpio地址分配应保证移植 Debug: 通过Xil_Out32函数给gpio的地址写1或者0,注意这里地址是gpio地址也就是核中给
    发表于 10-29 06:08

    NVMe高速传输之摆脱XDMA设计23:UVM验证平台

    NVMe over PCIe采用 AXI4-Lite 接口AXI4 接口和 PCIe3.0X4 接口,其中
    的头像 发表于 08-25 18:53 3233次阅读
    NVMe高速传输之摆脱XDMA设计23:UVM验证平台

    RDMA简介8之AXI分析

    AXI4 总线是第四代 AXI 总线,其定义了三种总线接口,分别为:
    的头像 发表于 06-24 23:22 768次阅读
    RDMA简介8之<b class='flag-5'>AXI</b>分析

    RDMA简介9之AXI 总线协议分析2

    ​ 这里以功能完备的 AXI4 接口举例说明 AXI4 总线的相关特点。AXI4 总线采用读写通
    发表于 06-24 18:02

    RDMA简介8之AXI 总线协议分析1

    AXI 总线是一种高速片内互连总线,其定义于由 ARM 公司推出的 AMBA 协议中,主要用于高性能、高带宽、低延迟、易集成的片内互连需求。AXI4
    发表于 06-24 18:00

    NVMe IP之AXI4总线分析

    针对不同的应用场景,制定了三个不同类型的接口,其中包括AXI4-Full、AXI4-Lite以及AXI4-Stream。表1为三种
    发表于 06-02 23:05

    NVMe简介之AXI总线

    NVMe需要用AXI总线进行高速传输。而AXI总线是ARM公司提出的AMBA(Advanced Microcontroller Bus Architecture)协议中的重要组成部分,
    的头像 发表于 05-21 09:29 906次阅读
    NVMe简介之<b class='flag-5'>AXI</b><b class='flag-5'>总线</b>

    NVMe协议简介之AXI总线

    高性能、高带宽、低延时的片内互连需求。AXI4总线则是AXI总线的第四代版本,主要包含三种类型的接口,分别是面向高性能地址映射通信的
    发表于 05-17 10:27