基于verilog实现AXI4协议接口读写功能

VIP基于verilog实现AXI4协议接口读写功能
AXI4是ARM公司推出的第四代AMBA总线协议,专为高带宽、低延迟的片上通信设计,广泛应用于FPGA、处理器及DSP等复杂系统,AXI4包含三中形态,分别为AXI4:标准版本,支持高带宽内存映射通信。AXI4-Lite:简化版,用于寄存器等简单设备的轻量级访问。AXI4-Stream:无地址协议,适用于高速数据流传输(如视频、音频)。本文章主要介绍AXI4协议的代码实现1. 写地址通道定义2. 写数据通道定义3. 写响应通道定义4. 读地址通道定义5. 读数据通道定义。
开通可读全文 ·626 人阅读
最低0.47元/天 解锁文章


前言

AXI4是ARM公司推出的第四代AMBA总线协议,专为高带宽、低延迟的片上通信设计,广泛应用于FPGA、处理器及DSP等复杂系统,AXI4包含三中形态,分别为

  • AXI4:标准版本,支持高带宽内存映射通信。
  • AXI4-Lite:简化版,用于寄存器等简单设备的轻量级访问。
  • AXI4-Stream:无地址协议,适用于高速数据流传输(如视频、音频)。

本文章主要介绍AXI4协议的代码实现

一、AXI4结构

AXI4主要有五个事务(通道)组成,分别为写地址通道、写数据通道、写响应通道、读地址通道、读数据通道;其中读响应通道包含于读数通道,通道传输流程如下:
在这里插入图片描述
在这里插入图片描述

通道解释:

  1. 这5条独立的通道都包含一个双路的VALD、READY握手机制。信息源通过VALID信号来指示通道中的数据和控制信息什么时候有效。目地源用READY信号来表示何时准备好接收数据。传输地址信息和数据都是在VALID和READY同时为高时有效。
  2. 读数据和写数据通道都包括一个 LAST 信号,用来指明一个事物传输的最后一个数据。
  3. 读/写事务都有自己的地址通道,地址通道携带着传输事务所必须的地址和信息。
  4. 读数据通道传送着从设备到主机的读数据和读响应信息。读响应信息指明读事务的完成状态。
  5. 写数据通路传送着主机向设备的写数据和写控制信息。写响应通道提供了设备响应写事务的一种方式。在每一次突发式写会产生一个完成信号。

二、AXI4各通道定义

1. 写地址通道定义
在这里插入图片描述
2. 写数据通道定义
在这里插入图片描述
3. 写响应通道定义
在这里插入图片描述
4. 读地址通道定义
在这里插入图片描述
5. 读数据通道定义
在这里插入图片描述

二、代码设计

1.思维导图

在这里插入图片描述
上述图片为代码状态机的流程图

2.代码设计

module axi_ram #
(
   parameter               WADDR_BASE = 28'h0            ,
   parameter               WADDR_BEND = 28'h0            ,
   parameter               RADDR_BASE = 28'h0            ,
   parameter               RADDR_BEND = 28'h0            ,
   parameter               AXI_ID     = 4'd0             ,
   parameter               AXI_LEN    = 8'd31            ,
   parameter               DWID       = 128              ,
   parameter               ADDR       = 28
)
(
   input                   clk_sys                       ,
   input                   rst_sys                       ,
   // DDR INIT
   input                   mmcm_locked                   ,
   input                   init_calib_complete           ,
   // Slave Interface Write Address Ports
   output    [3:0]         m_axi_
VIP FPGA概念理解之:AXI、AMBA、IP核、总线、接口、协议 源起 AXI(Advanced eXtensible Interface),是Xilinx从6系列的FPGA开始引入的一个接口协议,主要描述了主设备核从设备之间的数据传输方式。 在ZYNQ中继续使用,版本是AXI4,所以我们经常会看到AXI4.0,ZYNQ内部设备都有AXI接口。 其实AXI就是ARM公司提出的AMBA(Advanced Microcontroller Bus Archite... 开通可读全文·9.1k 阅读·17 点赞·108 收藏 阅读全文

相关推荐

基于FPGA的AXI协议讲解(1)

基于FPGA的AXI_Lite协议讲解项目简述AXI协议简述 项目简述 这篇文章我们主要讲解AXI_Lite协议,主要内容包括AXI_Lite协议在FPGA中主要起到的作用,遵循的时序要求是什么,在FPGA中咋么编写Verilog代码。 本次实验将主要讲解AXI_Lite从机的协议,PS端通过AXI_Lite协议写寄存器控制PL端的LED、通过读寄存器读取PL端KEY的按键值。 这里为什么讲解AXI_Lite从机协议,因为PS端我们一般作为主机,那么需要我们实现的PL端的Verilog代码自然是从机 本次实

zhangningning1996的博客 6742

vivado 自定义ip【基于AXI总线协议】及调用

pwm_ip封装 vivado FPGA

xindongpai的博客 1万+

手撕AXI-Full总线接口,实现AXI_Full Master接口

基于Xlinx 的AXI4_Full手撕AXI_Full Master接口,采用Verilog实现,支持1~256的Burst_len,并对设计进行仿真验证。

modest_cat的博客 3898

Axi协议和verilog实现2-AXI接口

AXI协议及其verilog实现

m0_46407447的博客 2633

【学习笔记】AXI接口

其中,AXI4 是最完整、最全面的版本,它支持大量的高级特性,包括数据一致性、QoS(Quality of Service)、多周期传输、多个地址通道等。AXI4-Lite 则是一个更为简单的版本,它只支持简单的读写操作,适合于对带宽要求不高的设备。总之,AXI 接口是一种高度灵活、可扩展的高速总线接口,能够满足不同的应用需求,是数字系统设计中常用的重要接口之一。AXI 协议包括控制信号、地址信号、数据信号和返回信号等,每个信号的作用和时序都需要进行详细的定义。一个读响应信号,指示读传输的完成状态。

qq_62239917的博客 3065

【AXI4 verilog】手把手带你撸AXI代码(四、AXI4接口的RAM设计)

说明:1、本代码为原创设计,仅供学习使用。2、从这篇开始,这个专栏将正式进入到RTL设计阶段。3、这篇文章过后还会有 AXI-lite,Xilinx AXI主机等代码的分析,供大家学习参考。

helloworld573的博客 7606

【AXI4 verilog】手把手带你撸AXI代码 (一、AXI4协议解析)

这篇文章,将从使用的角度带您通俗的理解AXI4协议。

helloworld573的博客 6295

AXI4总线协议在SoC设计中的Verilog/VHDL实现

在现代系统芯片(SoC)设计中,高效的数据传输变得至关重要。随着电子系统设计的复杂性日益增加,传统的并行通信接口已经无法满足高速、低延迟的设计需求。为了解决这一问题,ARM公司推出了高级可扩展接口第四版(AXI4),这是一个高性能的片上通信协议,被广泛应用于FPGA和ASIC设计中。其前身AXI3虽然在之前的设计中得到了广泛应用,但随着技术的发展,对于更高的带宽和更灵活的数据处理能力的需求也随之增加。因此,AXI4协议应运而生,它不仅提升了性能,还增强了设计的灵活性。

weixin_36483050的博客 1217

Xilinx AXI-4协议Verilog实现与FPGA开发实战

AXI(Advanced eXtensible Interface)是由ARM公司提出的高性能、高带宽、低延迟的片上系统(SoC)通信协议,广泛应用于FPGA与ASIC设计中。AXI-4是该协议的第四代版本,支持突发传输、多主设备访问和非对齐数据传输等特性,适用于复杂系统中主设备与从设备之间的高效通信。其核心特点包括:分离的地址与数据通道:提高数据吞吐率;握手机制(VALID/READY):确保数据传输的可靠性;支持多种传输模式:如固定地址、递增地址、打包地址等;

weixin_34885746的博客 1785

基于AXI4总线协议的读写控制verilog代码

主要是基于aurora8b/10b设计的基于AXI4总线协议的读写控制器代码,可封装成IP在bd设计中使用

双层优化入门(1)—基本原理与求解方法(附matlab代码)

双层优化问题(Bilevel Programming Problems),也被称为双层规划,最早由Stackelberg与1934年在经济学相关研究中提出,因此也被称为Stackelberg问题。双层规划问题一般具有层次性、独立性、冲突性、优先性和自主性等特点。 本文介绍了双层优化的原理与求解方法,并提供了相应的matlab代码供参考学习。

配电网和matlab的博客 5万+

DINOv3 网络结构解析:从 ViT 到 ConvNeXt 的双路线设计

本文深入解析了DINOv3网络结构的双路线设计,包括ViT和ConvNeXt两种主干架构。ViT路线通过轴向旋转位置编码解决了传统ViT对固定分辨率的依赖,而ConvNeXt路线则优化了卷积设计,提升了实时处理能力。文章还探讨了Gram Anchoring、混合自监督目标等关键技术,展示了DINOv3在多任务和多模态应用中的强大潜力。

weixin_29214199的博客 554

大话西游2经典单机版V8:一键架设+GM全功能+仙玉自由修改

本文详细介绍大话西游2经典单机版V8的一键架设教程和GM全功能使用指南,包括仙玉自由修改技巧。该版本无需虚拟机,解压即玩,完美还原官服经典玩法,支持离线运行,是老玩家重温经典和新玩家体验游戏的理想选择。

weixin_27303545的博客 1107

RT-Thread Studio与CubeMX联合编程(超级详细)

RT-Thread Studio与CubeMX联合编程 本文章参考以下文章: https://blog.csdn.net/qq_40824852/article/details/122596043 https://zhuanlan.zhihu.com/p/395106066 https://blog.csdn.net/m0_37697335/article/details/108890584 一、简介 经过上次对RT-Thread Studio的初步尝试,发现RT-Thread Studio中存在官方支

zhuzhu的博客 3万+

计算机三级考试嵌入式系统重点精简汇总

第一章 嵌入式系统概论 1.1.1嵌入式系统 (1)特点:(1)专用性;(2)隐蔽性;(3)资源受限;(4)高可靠性;(5)实时性;(6)软件固化。 (2)应用:(1)冰箱、洗衣机、电饭煲、空调、摄影机、DVD播放器等;(2)数控机床、飞机、汽车、电梯、X光机、血压计等;(3)电话机、传真机、打印机、pos机、GPS导航仪、路由器等。 1.1.2嵌入式系统组成与分类 (1)逻辑组成:硬件和软件,分为处理器、存储器、I|0设备与I|O接口,数据总线; (2)处理器:分为主处理器(CPU)和协处

chemkrik的博客 1万+

【二】MADDPG多智能体算法实现(parl)【追逐游戏复现】

论文全称:Multi-Agent Actor-Critic for Mixed Cooperative-Competitive Environments 论文原文:https://download.csdn.net/download/sinat_39620217/16203960 论文翻译:https://blog.csdn.net/qiusuoxiaozi/article/details/79066612 ...

丨汀、的博客 2万+

UWB:FiRa Consortium UCI Generic Technical Specification v1.1.0(1)- UCI架构和通用数据包头

如果大家学习过WiFi的SPEC,比如从我的资源里面下载 IEEE 802.11-2007,应该很容易发现,FiRa的spec定义实在是太差了。有现成的好例子不学,非得自己来一套,搞一堆新的名词,其实都是一个意思。比如GID,OID等,而且GID、OID是最先出现的,但是对应表格 还得去附件的最后一项去找。 FiRa是UWB联盟,希望跟WIFi联盟学习一下,把UWB做大做强,而不是自成一派,自命不凡。

Ankie资深技术项目经理 2426

蓝牙模块HM-10手册

蓝牙模块HM-10手册,该手册对蓝牙模块HM-10进行了详细的介绍和使用方法以及一些AT指令。

迈瑞BS系列全自动生化分析仪LIS协议接口手册(内含HL7和ASTM)

迈瑞BS系列全自动生化分析仪LIS协议接口手册,内含HL7和ASTM)

温度PID控制PLC程序

温度PID稳定控制程序,适用于欧姆龙PLC,对其他PLC也具有很大参考价值

华为的C语言编程规范.pdf

华为技术有限公司内部技术规范。本规范制定了编写C语言程序的基本原则、规则和建议。从代码的清晰、简洁、可测试、安全、程序效率、可移植各个方面对C语言编程作出了具体指导。

上一篇: 基于FPGA实现HDMI数据传输
下一篇: 什么是物理 AI?一文讲清概念、原理、应用与未来

双11狂欢大促

盲盒赢 定制羽绒服

开启惊喜盲盒,抽取你的专属好礼

— 惊喜奖品抢先看 —
junpingc
博客等级 码龄4年 57粉丝 15原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值