AXI4总线学习心得(一)

这篇具有很好参考价值的文章主要介绍了AXI4总线学习心得(一)。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

一、AXI总线概述

1.三种AXI总线

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

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

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

2.AXI通道

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

(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-Stream 总线的组成有:

(1)ACLK 信号:总线时钟,上升沿有效;

(2)ARESETN 信号:总线复位,低电平有效

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

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

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

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

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

(8)TUSER 信号 :用户定义信号,宽度为 128bit。

二、AXI4协议

AXI4 所采用的是一种 READY,VALID 握手通信机制,简单来说主从双方进行数据通信前,有一个握手的过程。

1.时序

其时序如图:

axi awsize,verilog,fpga开发

2.信号

master

FPGA——DDR3 AXI控制接口实现 - CNL中子 - 博客园 (cnblogs.com)

信号介绍

//system
input             clk;                //时钟
input             rst_n;              //复位
input             init_calib_complete; //DDR3存储器初始化和校准已经完成
//read address
input             m_axi_arready;       //读地址就绪 指明设备已经准备好接受数据了
output            m_axi_araddr;        //读地址,一次读突发传输的读地址
output            m_axi_arvalid;       //读地址有效。信号一直保持,直到 ARREADY 为高
output            m_axi_arid   ;       //读地址 ID,用来标志一组读信号
output            m_axi_arsize ;       //突发式读大小,每个突发传输数据的字节数
output            m_axi_arburst;       //突发式读类型
output            m_axi_arlock ;       //总线锁信号,可提供操作的原子性
output            m_axi_arcache;       //Cache 类型
output            m_axi_arprot ;       //保护类型,一次传输的特权级及安全等级
output            m_axi_arqos  ;       //质量服务 QoS
//write address
input             m_axi_awready;       //写地址准备好 来指明设备已经准备好接受地址和控制信息了
output            m_axi_awvalid;       //写地址有效
output            m_axi_awlen;         //突发式写的长度,突发式写所传输的数据的个数。数据个数= AWLEN + 1       "Burst Length: 0-255"
output            m_axi_awid   ;       //写地址ID
output            m_axi_awsize ;       //每个数据的字节数                                                   "Burst Size: Fixed 2'b011"          
output            m_axi_awburst;       //突发式写的类型                                                     "Burst Type: Fixed 2'b01(Incremental Burst)"
output            m_axi_awlock ;       //锁类型                                                            "Lock: Fixed 2'b00"
output            m_axi_awcache;       //Cache 类型。这信号指明事务的 bufferable、cacheable、write-through、write-back、allocate attributes 信息    " Cache: Fiexd 2'b0011"
output            m_axi_awprot ;       //保护类型,表明一次传输的特权级及安全等级                             "Protect: Fixed 2'b000 "          
output            m_axi_awqos  ;       //质量服务 QoS                                                      "QoS: Fixed 2'b0000"      
output            m_axi_awaddr;        //写地址,给出一次写突发传输的写地址
//write data
input             m_axi_wready;        //写就绪 指明设备已经准备好接受数据了
output            m_axi_wstrb  ;       //写数据有效的字节阀门,用来表明哪 8bits 数据是有效的。WSTRB[n]标示的区间为 WDATA[(8*n)+7:(8*n)]
output            m_axi_wdata  ;       //写的数据
output            m_axi_wvalid;        //写有效
output            m_axi_wlast;         //此次传输是最后一个数据传输
//write respose
input             m_axi_bid;           //写响应 ID , 这个数值必须与 AWID 的数值匹配
input             m_axi_bvalid;        //写响应有效
input             m_axi_bresp;         //写响应 这个信号指明写事务的状态
output            m_axi_bready;        //接受响应就绪。该信号表示主机已经能够接受响应信息
//read data
input             m_axi_rid;           //读响应 ID , 这个数值必须与 ARID 的数值匹配
input             m_axi_rvalid;        //读数据有效
input             m_axi_rlast;         //读事务传送的最后一个数据
input             m_axi_rresp;         //读响应。这个信号指明读传输的状态
output            m_axi_rready;        //读数据就绪

三、AXI通道信号定义

axi awsize,verilog,fpga开发

axi awsize,verilog,fpga开发

axi awsize,verilog,fpga开发

axi awsize,verilog,fpga开发

axi awsize,verilog,fpga开发

 文章来源地址https://www.toymoban.com/news/detail-658944.html

到了这里,关于AXI4总线学习心得(一)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • FPGA开发(4)——AXI_LITE总线协议

    对于axi总线的学习我主要是参考了赛灵思的ug1037文档以及arm的INI0022D手册,对其中的内容做了总结。 AXI是amba总线的一种,包含三种,axi full、axi lite和axi stream。 AXI工作:axi接口包含了五组通道,分别是读地址、写地址、读数据、写数据以及写响应。数据可以在主机和从机中双

    2024年01月16日
    浏览(41)
  • ZYNQ AXI4总线访问DDR3实现图像数据乒乓存储与显示

    目录 前言 一、添加端口 二、添加局部变量 三、例化读写FIFO 四、内部变量修改,设置一次读写进行多少次突发操作 五、写地址 六、读地址 七、状态机 1.写状态机 2.读状态机 总结 在Altera FPGA进行图像处理时,我们采用的存储芯片为SDRAM,当时参照正点原子的例程是封装SDR

    2024年02月02日
    浏览(42)
  • ZYNQ使用AXI4-HP接口总线读取DDR中的数据

    最近笔者在做项目的时候需要使用zynq中的AXI4-HP总线在PL端读取DDR中的数据这种功能,但是网上很多历程对于这方面只是创建了一个官方提供的IP核用于测试,并且每次写入和读取的长度为4K字节。所以为了满足我自己的项目需求,笔者将官方提供的测试IP核上做修改,主要实现

    2023年04月15日
    浏览(32)
  • FPGA - AXI4_Lite(实现用户端与axi4_lite之间的交互逻辑)

    在之前的博客中对AXI4总线进行了介绍(FPGA-AXI4接口协议概述),在这篇博客中, 实现用户端与axi4_lite之间的交互逻辑。 对AXI4总线简单介绍(具体可见FPGA-AXI4接口协议概述) ①AXI4是ARM公司提出的是一种高性能、高带宽、低延迟的片内总线 ②主要描述了主设备和从设备之间的

    2024年04月11日
    浏览(31)
  • AXI4-写DMA如何使用verilog实现(三)DMA例子

    这里给一个小例子: 往0地址写入 突发长度为256突发,数据位宽为64bit 数据为0~255

    2024年02月12日
    浏览(36)
  • 【FPGA】 xilinx vivado中AXI4通信协议详解

    AXI是ARM 1996年提出的微控制器总线家族AMBA中的一部分。AXI的第一个版本出现在AMBA3.0,发布于2003年。当前的最新的版本发布于2010年。AXI 4总线和别的总线一样,都用来传输bits信息 (包含了数据或者地址) 。AXI4总线有三种类型,分别是AXI4、AXI4-Lite、AXI4-Stream AXI4:主要面向高性能

    2024年04月28日
    浏览(32)
  • FPGA-基于AXI4接口的DDR3读写顶层模块

    AXI4(Advancede Xtensible Interface 4)是一种高性能、高带宽的总线接口协议,用于在系统级芯片设计中连接不同的IP核(Intellectual Property)或模块。它是由ARM公司开发的,被广泛应用于各种SoC(System-on-Chip)设计中。 AXI4接口协议定义了一组规范,用于描述数据传输、地址传输、控

    2024年04月15日
    浏览(42)
  • DDR3 控制器 MIG IP 详解完整版 (AXI4&VIVADO&Verilog)

    DDR系列文章分类地址: (1)DDR3 基础知识分享 (2)DDR3 控制器 MIG IP 详解完整版 (AXI4VivadoVerilog) (3)DDR3 控制器 MIG IP 详解完整版 (nativeVivadoVerilog) (4)基于 DDR3 的串口传图帧缓存系统设计实现 (5)基于 DDR3 的native接口串口局部传图缓存系统设计实现 (6)基于 DDR3 的

    2024年02月11日
    浏览(34)
  • AXI4-Full Xilinx FPGA使用理解---信号定义理解

             一、AXI4 signal dir Xilinx 中文理解 ID类 AWID M2S Masters need only output the set of ID bits that it varies (if any) to indicate re-orderable transaction threads. Single-threaded master interfaces can omit this signal. Masters do not need to output the constant portion that comprises the Master ID, as this is appended by the AXI Interco

    2024年02月22日
    浏览(38)
  • 紫光FPGA DDR3 IP使用和注意事项(axi4协议)

    紫光DDR3 IP使用 对于紫光ddr3 IP核的使用需要注意事情。 阅读ddr ip手册: 1、注意:对于写地址通道,axi_awvalid要一直拉高,axi_awready才会拉高。使用的芯片型号时PG2L100H-6FBG676,不同的型号IP核接口和axi的握手协议也不一样(一定要注意),这点要注意,这也给我挖了一个很大的

    2024年04月12日
    浏览(39)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包