【FPGA开发】AXI-Full总线接口介绍、FPGA搭建仿真平台

news2024/11/22 17:21:20

文章目录

  • 协议解读
    • 接口介绍
      • AW—写地址通道
      • W—写数据通道
      • B—写响应通道
      • AR—读地址通道
      • R—读数据通道
  • FPGA搭建仿真平台

本文主要介绍AXI-FULL的相关基础内容,AXI-Lite请移步:
【FPGA开发】AXI-Lite总线协议解读、Verilog逻辑开发与仿真、Alex Forencich代码解读

相比于Lite接口,Full接口的变化,一个体现在端口数量变多,增加了很多定义和概念,另一个方面,也是个人理解最主要的变化是:突发。Full多了突发传输特性之后,又会引出很多其他概念,这是Lite无法比拟的,因此,丝滑的从Lite学习到Full是难以做到的,一个协议那么多内容,千人千面,量力而行,慢慢学即可,不必大包大揽的一次性全读懂。

协议解读

接口介绍

AW—写地址通道

AWID:写地址ID,这个信号是写地址组的标识标签。实际上,每个传输通道都有一个自己的ID。
在这里插入图片描述


AWADDR:写地址,该地址给出了写突发事务中第一次传输的地址。

AXI协议是基于突发的,主机驱动控制信息和事务中第一个字节的地址传输到从机,从而开始突发。

随着突发的进行,从机必须计算突发中后续传输的地址。

突发不能跨越4KB的地址边界。
在这里插入图片描述


AWLEN:突发长度,给出了突发中传输的确切数量。

AXI4对INCR突发模式支持1-256次传输,对所有其他突发模式支持1-16次传输,这里所说的突发模式,在下面展开。

AxLEN与突发长度之间的计算公式,如下图所示:

在这里插入图片描述

在这里插入图片描述


AWSIZE:表示每次突发中传输的大小。

在这里插入图片描述


AWBURST:突发类型,突发类型和大小信息决定了如何计算突发内每个传输的地址。

FIXED模式:每次突发传输的地址都相同。

INCR模式:每次突发的地址,会根据突发大小递增。

WRAP模式:和INCR类似,不同之处在于,如果达到了地址上限,地址就会换行回低地址。

在这里插入图片描述


AWLOCK:锁类型,提供有关传输的原子特性的其他信息。

AXI4不支持锁定事务。


AWCACHE:内存类型,该信号指示事务如何在系统中进行。


AWPORT:保护类型,该信号指示事务的特权和安全级别,以及该事务是数据访问还是指令访
问。


AWQOS:Quality of Service,服务质量,为每个写事务发送的QoS标识符。


AWREGION:区域标识符,允许从服务器上的单个物理接口用于多个逻辑接口。


AWUSER:用户信号,可选写地址通道中的用户自定义信号。


AWVALID:写地址有效,该信号表明通道正在发送有效的写地址和控制信息。


AWREADY:写地址准备信号,这个信号表明从机已经准备好接收一个地址和控制信号了。

W—写数据通道

WID:写ID标签


WDATA:写数据


WSTRB:该信号指示哪些字节通道保存有效数据。写数据总线的每8位对应一位WSTRB


WLAST:在一次写事务中,标志着最后一个传输。


WUSER:用户信号,可选写数据通道中的用户自定义信号。


WVALID:写有效信号。这个信号表明有效的写数据和strb可用。


WREADY:写准备信号,表示从机可以接收写数据了。

B—写响应通道

BID:写响应ID标签。


BRESP:写响应。


BUSER:用户信号。


BVALID:写响应有效信号。


BREADY:写响应准备信号。


AR—读地址通道

同写地址通道类似。

R—读数据通道

RID:读ID标签。


RDATA:读数据


RRESP:读响应


RLAST:对齐最后一个数据的last信号


RUSER:用户信号。


RVALID:读有效信号。


RREADY:读准备信号。

以上关于接口的相关内容,可在《IHI0022E_amba_axi》的手册中查阅到

FPGA搭建仿真平台

如下图所示,两个模块均为Vivado自己生成封装的IP核,这里快速搭建仿真平台以观察波形。
(Block Design搭建过程详见Lite的文章)
在这里插入图片描述

给入时钟、复位和tx触发信号后,就能跑起来AXI-Full的波形

在这里插入图片描述
看一次突发写的波形:
在这里插入图片描述
看一次突发读的波形:
在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2245455.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

网络安全,文明上网(1)享科技,提素养

前言 在这个信息化飞速发展的时代,科技的快速进步极大地丰富了我们的生活,并为我们提供了无限的可能性。然而,随着网络世界的不断扩张,增强我们的网络素养成为了一个迫切需要解决的问题。 与科技同行,培育网络素养 技术…

springboot基于Spring Boot的古城景区管理系统的设计与实现docx

摘 要 古城景区管理系统是一个集景区导游功能于一体的综合管理平台,旨在提升游客的参观体验和提高管理效率。系统通过提供详尽的热门景点、客房类型、酒店信息、美食类型、特色美食、文创产品及导游服务,使游客能够深入了解古城的历史与文化。该系统集成…

安装JDK

1、JDK下载 Java Downloads | Oracle 中国 确保从Oracle的官网下载最新的稳定版JDK: 选择合适的操作系统与安装包,找到Java SE 23的下载链接Download,下载安装即可。Windows优先选x64 MSI Installer。 安装过程直接双击下一步即可&#xf…

掌握移动端性能测试利器:深入JMeter手机录制功能

引言 在当今移动互联网时代,应用程序的性能和用户体验至关重要。为了确保应用程序在不同设备和网络环境下都能稳定运行,性能测试成为了不可或缺的一环。Apache JMeter作为一款强大的开源性能测试工具,不仅支持传统的PC端性能测试&#xff0c…

初始ArkUI

一. 什么是ArkUI ArkUI基于方舟UI框架为应用的UI开发提供了完整的基础设施,UI语法更加简洁,丰富的UI功能(组件、布局、动画以及交互事件),以及实现界面预览工具等,可以支持开发者进行可视化界面开发。 &a…

springboot基于数据挖掘的广州招聘可视化分析系统

摘 要 基于数据挖掘的广州招聘可视化分析系统是一个创新的在线平台,旨在通过深入分析大数据来优化和改善广州地区的招聘流程。系统利用Java语言、MySQL数据库,结合目前流行的 B/S架构,将广州招聘可视化分析管理的各个方面都集中到数据库中&a…

NuGet如何支持HTTP源

今天是2024年11月21号,最近更新了VisualStudio后发现HTTP的包源已经默认禁止使用了,生成时会直接报错。如下图: 官方也明确指出了要想使用HTTP包源的解决办法,这里就简单总结一下。 一、全局配置 1、全局NuGet包的配置文件路径在…

go 学习网站,go例子 go demo go学习视频

1. 代码例子: Go by Example 2. b站 视频: 尚硅谷视频: 004_尚硅谷_程序的基本概念_哔哩哔哩_bilibili 3. go技术文档: fmt Go语言中文文档

如何快速将Excel数据导入到SQL Server数据库

工作中,我们经常需要将Excel数据导入到数据库,但是对于数据库小白来说,这可能并非易事;对于数据库专家来说,这又可能非常繁琐。 这篇文章将介绍如何帮助您快速的将Excel数据导入到sql server数据库。 准备工作 这里&…

Spring Web入门练习

加法计算器 约定前后端交互接⼝ 约定 "前后端交互接⼝" 是进⾏ Web 开发中的关键环节. 接⼝⼜叫 API(Application Programming Interface), 我们⼀般讲到接⼝或者 API,指的都是同⼀个东西. 是指应⽤程序对外提供的服务的描述, ⽤于交换信息…

day26作业

1使用多线程基于TCP协议的并发执行&#xff0c;一个服务器对应多个客户端实现通信实验 #include <myhead.h> //主线程负责监听客户端连接请求 //子线程负责数据收发 #define IP "192.168.60.77" #define PORT 5555 #define BACKLOG 10 typedef struct {struct…

【Vue3新工具】Pinia.js:提升开发效率,更轻量、更高效的状态管理方案!

大家好&#xff0c;欢迎来到程序视点&#xff01;我是小二哥&#xff01; 前言 在VUE项目开发中&#xff0c;一些数据常常被多个组件频繁使用&#xff0c;为了管理和维护这些数据&#xff0c;就出现了状态管理模式。 今天小二哥要给大家推荐的不是VueX&#xff0c;而是称为新…

【机器学习chp6】对数几率回归

推荐文章1&#xff0c;其中解释了负log似然损失等价于交叉熵损失。 【王木头从感知机到神经网络】-CSDN博客 推荐文章2&#xff0c;其中有牛顿法的介绍 【王木头梯度下降法优化】随机梯度下降、牛顿法、动量法、Nesterov、AdaGrad、RMSprop、Adam-CSDN博客 推荐文章3&#…

图像处理实验报告

实验一 图像处理的MATLAB基础 实验目的&#xff1a;熟悉数字图象处理的基本软件工具和操作 实验内容&#xff1a;Matlab应用复习&#xff0c;矩阵产生、操作&#xff1b;矩阵运算以及字符运算。 1.利用增量产生向量[0,2,4,6,8,10]。 2.利用magic(n)函数产生7维魔鬼矩阵A&am…

离散数学---概率, 期望

本文根据 MIT 计算机科学离散数学课程整理&#xff08;Lecture 22 ~ Lecture 24&#xff09;。 1 非负整数期望性质 用 N 表示非负整数集合&#xff0c;R 是 N 上的随机变量&#xff0c;则 R 的期望可以表示成&#xff1a; 证明&#xff1a; 换一个形式&#xff0c;把每一列…

GPU服务器厂家:科研服务器领域机遇与博弈,AMD 新UDNA 架构

科研服务器作为推动科学研究进步的核心基础设施&#xff0c;其性能与架构的创新对于整个科研生态有着极为关键的影响。AMD 全新推出的 UDNA 架构&#xff0c;引发了广泛的关注与讨论。 AMD UDNA 架构于科研服务器的产品数据与市场格局 AMD 在计算机硬件领域的影响力持续攀升&a…

STM32H7开发笔记(2)——H7外设之多路定时器中断

STM32H7开发笔记&#xff08;2&#xff09;——H7外设之多路定时器中断 文章目录 STM32H7开发笔记&#xff08;2&#xff09;——H7外设之多路定时器中断0.引言1.CubeMX配置2.软件编写 0.引言 本文PC端采用Win11STM32CubeMX4.1.0.0Keil5.24.2的配置&#xff0c;硬件使用STM32H…

【Linux】Linux入门实操——定时任务调度

一、crond调度 1. 概述 任务调度: 是指系统在某个时间执行的特定的命令或程序。任务调度分类 1. 系统工作 : 有些重要的工作必须周而复始地执行。如病毒扫描等 2. 用户工作 &#xff1a;用户可能希望执行某些程序&#xff0c;比如对mysql数据库的备份。 2. 基本语法 cron…

找到字符串中所有字母异位词(java)

题目描述&#xff1a; 给定两个字符串 s 和 p&#xff0c;找到 s 中所有 p 的 异位词的子串&#xff0c;返回这些子串的起始索引。不考虑答案输出的顺序。 字母异位词 是由重新排列源单词的所有字母得到的一个新单词 示例 1: 输入: s "cbaebabacd", p "abc&…

Leetcode226. 翻转二叉树(HOT100)+Leetcode221. 最大正方形(HOT100)

链接 题解&#xff1a; 本题是要镜像反转二叉树&#xff0c;相当于从中间一分&#xff0c;然后把左子树和右子树对调&#xff0c;但又不是简单的对调&#xff0c;还要继续反转子树的子树&#xff0c;所以要用递归。 我们特判root是否为空&#xff08;否则出现nullptr->nul…