当前位置: 首页 > news >正文

AXI协议之AXILite开发设计(二)

微信公众号上线,搜索公众号小灰灰的FPGA,关注可获取相关源码,定期更新有关FPGA的项目以及开源项目源码,包括但不限于各类检测芯片驱动、低速接口驱动、高速接口驱动、数据信号处理、图像处理以及AXI总线等
二、AXI-Lite关键代码分析
1、时钟与复位
需要注意的是:xilnx的axi的ip组件都是低复位有效;使用的开源的采用的是高复位有效
官方axi协议也采用的是低复位
在这里插入图片描述
在这里插入图片描述
2、写数据操作,对代码部分进行分析
写数据操作时候,使用三个通道,即写地址、写数据、写响应通道
①写地址准备信号生成,当写地址通道有效信号(S_AXI_AWVALID1)&&写数据通道有效信号(S_AXI_WVALID1)&&(aw_en1)&&(axi_awready0)时候,在S_AXI_ACLK时钟上升沿,axi_awready跳变为高电平;在写响应通道准备信号和有效信号为高时,axi_awready跳变为低电平,其余条件为低电平
代码开发中实例如下:
在这里插入图片描述
仿真时序图
在这里插入图片描述
②写地址信号生成,当写地址通道有效信号(S_AXI_AWVALID1)&&写数据通道有效信号(S_AXI_WVALID1)&&(aw_en1)&&(axi_awready0)时候,在S_AXI_ACLK时钟上升沿锁存S_AXI_AWADDR
代码开发中实例如下:
在这里插入图片描述
仿真时序图
在这里插入图片描述
③写数据准备信号生成,当写地址通道有效信号(S_AXI_AWVALID1)&&写数据通道有效信号(S_AXI_WVALID1)&&(aw_en1)&&(axi_wready0)时候,在S_AXI_ACLK时钟上升沿,axi_wready跳变为高电平,其余条件为低电平
代码开发中实例如下:
在这里插入图片描述
仿真时序图
在这里插入图片描述
④写数据寄存器
配合SOC或者MPSOC的PS部分完成对外设或者寄存器的控制,比如GPIO的控制等。
在写地址通道有效、写地址通道准备信号ok以及写数据通道有效、写数据通道准备信号ok时,寄存器写使能slv_reg_wren才有效。
axi_awaddr[ADDR_LSB+OPT_MEM_ADDR_BITS:ADDR_LSB],即axi_awaddr[3:2],写通道地址的高两位。
[(byte_index*8) +: 8],byte_index = 0/1/2/3,对应[0:7],[8:15],[16:23],[24:31],对应32位数据。
代码开发中实例如下:
在这里插入图片描述
仿真时序图
在这里插入图片描述
⑤写响应通道
axi_bavlid表示从机端数据已经接收完成
代码开发中实例如下:
在这里插入图片描述
仿真时序图
在这里插入图片描述
读数据操作时候,使用两个通道,即读地址、读数据通道
①读地址通道的axi_arready和axi_araddr
代码开发中实例如下:
在这里插入图片描述
仿真时序图
在这里插入图片描述
②读数据通道的axi_rvalid
代码开发中实例如下:
在这里插入图片描述
仿真时序图
在这里插入图片描述
③读数据通道的寄存器读取
代码开发中实例如下:
在这里插入图片描述
仿真时序图
在这里插入图片描述

http://www.lryc.cn/news/97201.html

相关文章:

  • Qgis二次开发-QgsMapTool地图交互工具详解
  • MySQL基础(四)数据库备份
  • 子类化QThread来实现多线程,moveToThread函数的作用
  • 经典面试题(力扣,接雨水)
  • 2023年深圳杯数学建模C题无人机协同避障航迹规划
  • PostgreSQL--实现数据库备份恢复详细教学
  • JDK工具之jstack说明
  • 34 | 牛顿迭代法
  • ChatGPT如何帮助学生学习
  • easyexcel导出excel-50行代码搞定大量数据导出
  • OpenAI宣布安卓版ChatGPT正式上线;一站式 LLM底层技术原理入门指南
  • Rust vs Go:常用语法对比(二)
  • 对于Vue3的一些思考
  • Bean的生命周期 - spring
  • 入门Linux基本指令(2)
  • 【C++】【自用】选择题 刷题总结
  • SkyWalking链路追踪-Collector(收集器)
  • typescript自动编译文件实时更新
  • qt6.5 download for kali/ubuntu ,windows (以及配置选项选择)
  • 【JS 原型链】
  • harmonyOS 开发之UI开发(ArkTS声明式开发范式)概述
  • 【人工智能】神经网络、M-P_神经元模型、激活函数、神经网络结构、学习网络参数、代价定义、总代价
  • 小程序新渲染引擎 Skyline 发布正式版
  • 网络安全作业1
  • 【NLP】视觉变压器与卷积神经网络
  • 【redis】通过配置文件简述redis的rdb和aof
  • Cypress 上传 pdf 变空白页问题
  • 【ArcGIS Pro二次开发】(52):布局导出图片(批量)
  • Git拉取远程分支并创建本地分支
  • OSI七层模型——物理层