AXI Quad SPI IP核配置详解

AXI Quad SPI IP核(Quad Serial Peripheral Interface)是一个提供串行接口连接SPI从设备的解决方案,它支持Standard(单线路)、Dual(双线路)、Quad(四线路)模式,其中线路数越多,传输速度越快。

要自定义AXI Quad SPI IP核以供您的设计使用,您可以按照以下步骤为与该IP核相关的各种参数指定值:

1 从Vivado IP目录中选择IP

打开Vivado软件,并加载您的项目。在左侧的IP浏览器中,找到并定位到AXI Quad SPI IP核。从IP目录中选择AXI Quad SPI IP核。

2 自定义IP

选中AXI Quad SPI IP核后,可以通过以下方式之一来打开其自定义界面:

  • 直接双击选中的IP核。
  • 在工具栏中找到并点击“Customize IP”命令。
  • 右键点击选中的IP核,从弹出的菜单中选择“Customize IP”命令。

3 配置参数

在打开的自定义界面中,将看到与AXI Quad SPI IP核相关的多个参数和选项。

(1)AXI Interface Options

  • Enable XIP Mode:在AXI Quad SPI IP核的配置中,启用XIP 模式将同时启用AXI4和AXI4-Lite接口。选择24位或32位寻址模式应该基于下游SPI设备的要求。

XIP (eXecute In Place) 模式
XIP模式允许在AXI Quad SPI存储器中的程序直接运行,而无需将其复制到其他存储器中。这通常用于存储FPGA的启动代码或配置数据,以便在FPGA上电时直接执行。在XIP模式下,AXI Quad SPI IP核的AXI4接口仅用于读取操作,不支持写入操作,因为该存储器被视为只读存储器。

寻址模式选择
AXI Quad SPI IP核支持24位和32位寻址模式。选择哪种寻址模式取决于连接到SPI从设备的存储器大小以及您如何配置该存储器。

  • 24位寻址模式:适用于最大4GB(2^24字节)的存储器空间。如果您的SPI从设备使用小于或等于4GB的存储器,并且您不需要32位寻址的全部功能,则可以选择24位寻址模式。
  • 32位寻址模式:适用于最大4TB(2^32字节)的存储器空间。如果您的SPI从设备使用大于4GB的存储器,或者您需要更大的寻址空间,则应该选择32位寻址模式。

请注意,在选择寻址模式时,还需要确保AXI Quad SPI IP核的AXI4和AXI4-Lite接口配置正确,以匹配您选择的寻址模式。例如,在32位寻址模式下,AXI4接口可能需要配置为支持32位数据宽度和地址宽度。

  • Enable Performance Mode:当“Enable Performance Mode”被选中时,AXI4接口被启用,从而允许使用突发传输(Burst Capability)和其他高级功能。如果不选择此选项,系统将使用AXI4-Lite接口,这可能会限制数据传输的性能。

(2)SPI Options

  • Mode:选择标准、双线路模式或四线路模式。正确的模式应根据目标SPI从设备和应用程序来选择。

    • 标准模式(Standard SPI):最基本的SPI通信模式,使用单条数据线进行数据传输。
    • 双线路模式(Dual SPI):使用两条数据线同时进行数据传输,提高了数据传输速率。
    • 四线路模式(Quad SPI):使用四条数据线同时进行数据传输,进一步提高了数据传输速率。
  • Transaction Width:选择8位、16位或32位事务。每个SPI事务都会包含所选位数的数据。在双线路模式和四线路模式下,事务宽度限制为8位。在XIP模式下,无论哪种模式,事务宽度都限制为8位。

  • Frequency Ratio:选择一个2的幂次方作为除数,范围从2到2048。由此产生的SPI时钟频率是与ext_spi_clk信号相关联的频率除以所选值的商。在双线路模式或四线路模式的传统和增强模式下,除数限制为2。在XIP模式下,无论哪种模式,频率比都限制为2。

  • No. of Slaves:在非XIP模式下,选择从设备数量,范围从1到32。在XIP模式下,SPI从设备数量限制为1。

  • Slave Device:在双线路模式或四线路模式下,选择从设备的类别,包括:

    • Mixed:选择Winbond、Micron和Spansion存储器规范中共同的命令子集。
    • Winbond:选择Winbond特定的存储器命令集。
    • Micron:选择Micron特定的存储器命令集。
    • Spansion:选择Spansion特定的存储器命令集。
      在非标准的XIP SPI模式下,从设备参数将被忽略。如果在Vivado IDE中选择了双模式或四模式作为SPI模式,则从设备选项将可见。

(3)Remaining Options

• Enable Master Mode:当选中此选项时,启用主SPI模式;未选中时,则启用从SPI模式。这个参数仅适用于标准SPI模式。在双线路模式或四线路模式下,仅支持主SPI模式。

主SPI模式:允许SPI设备主动发起数据传输。

从SPI模式:SPI设备等待外部主设备发起数据传输。


• Enable FIFO:当选中此选项时,设计中将包含发送或接收FIFO;未选中时,则省略FIFO。这个“启用FIFO”参数仅适用于标准SPI模式。在双线路模式或四线路模式下,FIFO总是包含在设计中。

• FIFO Depth:选择包含的FIFO的深度,可选值为0、16或256个节拍。在标准SPI模式下,此参数仅在包含FIFO时可用。在双模式或四模式下,FIFO深度限制为16或256。FIFO宽度固定为8位。

   FIFO深度:指的是FIFO可以存储的数据量。更深的FIFO可以存储更多的数据,有助于在高     数据速率下减少数据溢出或下溢的可能性。

   FIFO宽度:指的是每个存储单元可以存储的数据位数。在这里,每个存储单元可以存储8位     数据。

  • Enable STARTUPEn Primitive:选中此选项时,设计中将包含STARTUP原语;未选中时,则省略该原语。7系列FPGA中提供STARTUPE2原语,而UltraScale™器件中提供STARTUPE3原语。此原语对于与外部SPI从设备共享SPI时钟非常有用。在设备的从模式下,此原语始终被禁用。
  • Enable Async Clock Mode:仅当AXI Quad SPI IP核处于独立模式,且AXI接口和外部SPI时钟在相位/极性和频率方面不同时,才启用此选项。此选项在IP集成器中被禁用。此参数根据连接到内核的时钟自动传播。如果AXI时钟和ext_spi_clk彼此同步,则此参数设置为0;如果它们是异步的,则设置为1。

          IP核处于“独立模式”(standalone mode)时,这通常意味着该IP核不依赖于其他IP核或处              理器来运行,而是可以独立地处理数据和执行其功能。在独立模式下,IP核通常具有其自己            的时钟、复位逻辑和中断处理机制。

          异步时钟模式:允许AXI接口和外部SPI时钟以不同的频率和相位运行,这对于跨不同时钟              域的通信至关重要。

  • Share the un-used startup ports:启动端口(startup ports)通常用于设备的初始化和配置。然而,在某些情况下,可能有些启动端口并未被使用。这时,可以考虑共享这些未使用的启动端口,以提高资源的利用率和设计的灵活性。

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

luogu-P10570 [JRKSJ R8] 网球

题目传送门: [JRKSJ R8] 网球 - 洛谷https://www.luogu.com.cn/problem/P10570 解题思路 数学问题,暴力这个范围会超时。 首先,找出这两个数的最大公因数,将这两个数分别除以最大公因数,则这两个数互质,判…

启明智显工业级HMI芯片Model3功耗特性分享

前言: 【启明智显】专注于HMI(人机交互)及AIoT(人工智能物联网)产品和解决方案的提供商,我们深知彩屏显示方案在现代物联网应用中的重要性。为此,我们一直致力于为客户提供彩屏显示方案相关的技…

2024年6月11日 (周二) 叶子游戏新闻

万能嗅探: 实测 网页打开 某视频号、某音、某红薯、某站,可以做到无水印的视频和封面下载功能哦,具体玩法大家自行发挥吧。 WPS免登录一键修改器: 去除烦人的登录且能正常使用 日本一首部游戏《拼图世界》上架Steam 30年PS名作日本游戏厂商日本一的首部品…

【库】nprogress 顶部进度条

yarn add nprogress router文件 前置路由添加启动 后置路由添加关闭 router.beforeEach((to, from, next) > { NProgress.start() next() }) router.afterEach(() > { NProgress.done() }) App.vue 文件 引入样式 <script setup> import "nprogress/npro…

C#客户端

控件 打开链接 Socket socket; // 打开连接 private void button1_Click(object sender, EventArgs e) {button1.Enabled false;button2.Enabled true;//1 创建socket客户端对象socket new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp);// 2…

r语言数据分析案例25-基于向量自回归模型的标准普尔 500 指数长期预测与机制分析

一、背景介绍 2007 年的全球经济危机深刻改变了世界经济格局&#xff0c;引发了一系列连锁反应&#xff0c;波及各大洲。经济增长停滞不前&#xff0c;甚至在某些情况下出现负增长&#xff0c;给出口导向型发展中国家带来了不确定性。实体经济受到的冲击尤为严重&#xff0c;生…

springboot与flowable(3):启动、审批、各个Service服务

一、启动流程 流程定义与实例的关系类似于Java的类与对象&#xff0c;通过定义的id创建流程实例&#xff0c;编写测试代码&#xff1a; package org.example.flowabledemo2;import org.flowable.engine.RuntimeService; import org.flowable.engine.runtime.ProcessInst…

【渗透测试】|dvwa命令注入乱码问题

法一&#xff1a; 解决方法如下&#xff1a; 1、按住winr&#xff0c;在运行框中输入cmd弹出命令行&#xff0c;在命令行中输入“control intl.cpl” 2、这个命令是使用control命令行工具来打开"区域和语言设置"对话框 3、选中对话框中的管理选项卡 4、可以看到这里…

智能照明雷达传感器成品,办公室、学校人体传感器开启空间感知新篇章,灯光、空调联动

在科技飞速发展的今天&#xff0c;智能化已成为我们生活中不可或缺的一部分。从智能手机到智能家居&#xff0c;智能技术正逐渐渗透到我们生活的每一个角落。 雷达传感器成品正以其独特的技术优势和广泛的应用场景&#xff0c;创新着智能化生活的新潮流。 飞睿智能雷达传感器…

7.数据集处理库Hugging Face Datasets

数据集处理库Hugging Face Datasets Datasets 首先解决数据来源问题 使用 Datasets 下载开源数据集 Datasets.load_dataset 实现原理简介 构造 DatasetBuilder 类的主要配置 BuilderConfig 如果您想向数据集添加额外的属性,例如类别标签。有两种方法来填充BuilderConfig类或其…

idea自定义注释模板

1、打开配置 setting -> Editor -> Live Template 2、添加TemplateGroup&#xff0c;并在添加的group下加LiveTemplate 3、配置Live Template 内容&#xff1a; **** Description: * $param$* return $return$ * author $user$* date $date$ $time$**/变量&#xf…

IDEA:配置Golang的开发环境及异常

1、下载&安装 进入GO的官网下载对应的GO 我们可以下载安装版&#xff0c;不过本人习惯下载解压版&#xff0c;这个因个人而异 2、配置环境变量 GOBIN : %GOROOT%\bin GOPATH : D:\MyGo 工作区间 GOROOT : D:\Program Files\Go GOJDK地址PATH: %GOBIN% ; %GOROOT%\bin ; …

C++ | Leetcode C++题解之第145题二叉树的后序遍历

题目&#xff1a; 题解&#xff1a; class Solution { public:void addPath(vector<int> &vec, TreeNode *node) {int count 0;while (node ! nullptr) {count;vec.emplace_back(node->val);node node->right;}reverse(vec.end() - count, vec.end());}vect…

TCP三次握手和四次挥手过程简介

接上篇 传输层部分 链路层、网络层、传输层和应用层协议详解分析-CSDN博客文章浏览阅读689次&#xff0c;点赞10次&#xff0c;收藏15次。wireshark抓包分析-CSDN博客wireshark是网络包分析工具网络包分析工具的主要作用是尝试捕获网络包&#xff0c;并尝试显示包的尽可能详细…

JVM 根可达算法

Java中的垃圾 Java中"垃圾"通常指的是不再被程序使用和引用的对象&#xff0c;具体表现在没有被栈、JNI指针和永久代对象所引用的对象。Java作为一种面向对象的编程语言&#xff0c;它使用自动内存管理机制&#xff0c;其中垃圾收集器负责检测和回收不再被程序引用的…

Golang | Leetcode Golang题解之第145题二叉树的后序遍历

题目&#xff1a; 题解&#xff1a; func reverse(a []int) {for i, n : 0, len(a); i < n/2; i {a[i], a[n-1-i] a[n-1-i], a[i]} }func postorderTraversal(root *TreeNode) (res []int) {addPath : func(node *TreeNode) {resSize : len(res)for ; node ! nil; node n…

通过文本指令生成3D模型纹理贴图

在3D建模的广阔领域中,我们总是追求更高效、更直观的方法来创建和编辑模型。今天,我要向大家介绍一种革新性的技术,它能够通过文本指令来精确地控制3D模型的细节,包括纹理贴图的生成。 1. 技术定位 这项技术主要定位于交互式3D建模领域,它为用户提供了一种全新的方式来创…

可变参数以及不可变集合

可变参数&#xff1a; 格式&#xff1a; public class ArgsDemo {public static void main(String[] args) {System.out.println(getSum(1,2,3,4,5));}//可变参数public static int getSum(int...args){int sum 0;for (int arg : args) {sum arg;}return sum;} }可变参数的…

极致深耕,打造核心竞争壁垒——探寻蓝思科技穿越周期的密码

作者 | 曾响铃 文 | 响铃说 一家企业&#xff0c;如何才能在时代变幻的风云中不计较一时得失&#xff0c;长期稳健发展&#xff0c;穿越周期&#xff1f;本期主题就来探寻一家在湖南的国际化企业的发展密码。 穿越周期的企业&#xff0c;都在坚持一个驱动发展的“原点” 细…

✔️Vue基础++

✔️Vue基础 组件通信 什么是组件通信&#xff1f; 组件通信就是指 组件与组件 之间的 数据传递 组件的数据是独立的&#xff0c;无法直接访问其他组件的数据想使用其他组件的数据&#xff0c;就需要组件通信 组件之间如何通信&#xff1f; 组件关系 父子关系非父子关系 …