AXI Quad SPI IP核配置详解

news2025/1/14 18:36:36

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)通常用于设备的初始化和配置。然而,在某些情况下,可能有些启动端口并未被使用。这时,可以考虑共享这些未使用的启动端口,以提高资源的利用率和设计的灵活性。

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

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

相关文章

ARM32开发--外部中断EXTI

知不足而奋进 望远山而前行 目录 文章目录 前言 目标 内容 外部中断概念 中断触发机制 中断触发源 硬件外部中断 需求 开发流程 关心的内容 完整代码 软件外部中断 需求 开发流程 关心的内容 完整代码 中断消抖处理 系统计数模块 自定义计数器 systick完成…

LCD屏的价格和显示区的尺寸有关

LCD屏的价格和显示区的尺寸有关,和外尺寸无关。 下面通过12864点阵屏,对不同尺寸的屏,进行价格比较,就可以发现:LCD屏的价格和显示区的尺寸有关; 同点阵的屏,显示区域太小,显示12*1…

AMD在行动:揭示应用程序跟踪和性能分析的力量

AMD in Action: Unveiling the Power of Application Tracing and Profiling — ROCm Blogs 导言 Rocprof是一款强大的工具,设计用于分析和优化基于AMD ROCm平台上运行的HIP程序的性能,帮助开发者找出并解决性能瓶颈。Rocprof提供了多种性能数据&#x…

8.11 矢量图层线要素单一符号使用六(光栅线)

文章目录 前言光栅线(Raster Line)QGis设置线符号为光栅线(Raster Line)二次开发代码实现光栅线(Raster Line) 总结 前言 本章介绍矢量图层线要素单一符号中光栅线(Raster Line)的使…

【三维重建】增量SFM系统

在学习完鲁鹏老师的三维重建基础后,打算用C代码复现一下增量SFM系统(https://github.com/ldx-star/SFM)。 本项目的最终目标就是通过相机拍摄的多视角视图获取三维点云。由于资金有效,博主使用的是相机是小米12。 先来看一下最终…

Linux 安装ab测试工具

yum -y install httpd-tools ab -help #10个并发连接,100个请求 ab -n 200 -c 100 http://www.baidu.com/

算法之分治

分而治之 分治法所能解决的问题一般具有以下几个特征: 1) 该问题的规模缩小到一定的程度就可以容易地解决 2) 该问题可以分解为若干个规模较小的子问题,即该问题具有最优子结构性质 3) 利用该问题分解出的子问题的解可以合并为该问题的解 4) 该问题所分…

动态内存管理学不懂,小代老师带你深入理解动态内存管理(下卷)

动态内存管理学不懂,小代老师带你深入理解动态内存管理(下卷 柔性数组6.1 柔性数组的特点:6.2 柔性数组的使用 7. 总结C/C中程序内存区域划分 柔性数组 也许你从来没有听说过柔性数组(flexible array)这个概念&#x…

探索C++ STL的设计方式:将算法与数据结构分离

STL的设计 一、简介二、STL容器三、C数组四、用户定义的集合4.1、使用标准集合的typedef4.2、重用标准迭代器4.3、实现自己的迭代器 五、总结 一、简介 本文介绍STL的设计方式,以及如何设计自己的组件,使其能够充分利用STL的功能。 STL的设计旨在将算法…

Golang | Leetcode Golang题解之第135题分发糖果

题目&#xff1a; 题解&#xff1a; func candy(ratings []int) int {n : len(ratings)ans, inc, dec, pre : 1, 1, 0, 1for i : 1; i < n; i {if ratings[i] > ratings[i-1] {dec 0if ratings[i] ratings[i-1] {pre 1} else {pre}ans preinc pre} else {decif dec…

【权威发布】2024年新能源与人工智能国际会议(ICNEAI 2024)

2024年新能源与人工智能国际会议 2024 International Conference on New Energy and Artificial Intelligence 会议简介 2024年新能源与人工智能国际会议是一场聚焦新能源与人工智能交叉领域前沿科技探讨的盛会。此次会议汇集了全球能源、环保和人工智能领域的专家学者、科技人…

WT32-ETH01作为TCP Server进行通讯

目录 模块简介WT32-ETH01作为TCP Server设置W5500作为TCP Client设置连接并进行通讯总结 模块简介 WT32-ETH01网关主要功能特点: 采用双核Xtensa⑧32-bit LX6 MCU.集成SPI flash 32Mbit\ SRAM 520KB 支持TCP Server. TCP Client, UDP Server. UDP Client工作模式 支持串口、wi…

服务部署:解决Docker容器与虚拟机主机之间MySql连接访问问题

一、场景&#xff1a; 虚拟机上Ubuntu系统安装了Mysql&#xff0c;现在有一个服务应用需要使用docker来部署&#xff0c;服务应用需要连接mysql做数据库基础使用&#xff0c;配置文件中配置了虚拟主机的IP和端口&#xff0c;但是还是无法连接到Mysql&#xff0c;报错无法连接超…

零基础直接上手java跨平台桌面程序,使用javafx(四)用Apache POI读取excel文件。

Apache POI这个库&#xff0c;可能是JAVA平台最好操作excel文件的库了。怎么才能使用呢&#xff1f; 1、下载Apache POI&#xff0c;本来是个很简单的事情&#xff0c;但是也有坑。这也就是我一直不敢用java的原因之一&#xff0c;这些莫名其妙的坑&#xff0c;总是让人烦躁。…

MAC安装idea教程

https://blog.csdn.net/qq_41810415/article/details/131649541 JDK安装 https://blog.csdn.net/dddebug/article/details/121713633 2、编辑.bash_profile文件 vim .bash_profile 进入编辑模式后 按 i 开始添加内容 结束编辑模式按 ESC 结束后保存输入 :wq! 不保存输入 :q! 检…

Apple - IOKit Fundamentals

本文翻译整理自&#xff1a;IOKit Fundamentals &#xff08;Updated: 2014-04-09 https://developer.apple.com/library/archive/documentation/DeviceDrivers/Conceptual/IOKitFundamentals/Introduction/Introduction.html 文章目录 一、I/O Kit 基础知识简介1、谁应该阅读本…

vue2插槽

本节目标 默认插槽后备内容具名插槽作用域插槽案例-商品列表 默认插槽 让组件内部的一些结构 支持自定义 步骤 组件内需要定制的结构, 使用<slot></slot>占位 使用组件时, 传入结构替换slot的位置 后备内容 封装组件时, 可以为预留的<slot>插槽提供默认内…

Nacos长轮询底层是怎么实现的?

点击下方“JavaEdge”&#xff0c;选择“设为星标” 第一时间关注技术干货&#xff01; 免责声明~ 任何文章不要过度深思&#xff01; 万事万物都经不起审视&#xff0c;因为世上没有同样的成长环境&#xff0c;也没有同样的认知水平&#xff0c;更「没有适用于所有人的解决方案…

【perl】环境搭建

1、Vscode Strawberry Perl 此过程与tcl环境搭建很类似&#xff0c;请参考我的这篇文章&#xff1a; 【vscode】 与 【tclsh】 联合搭建tcl开发环境_tclsh软件-CSDN博客 perl语言的解释器可以选择&#xff0c;strawberry perl。Strawberry Perl for Windows - Releases。 …

一次性全部给你,这4款名不见经传的精品软件,用了就放不下

Geek Geek是个电脑卸载软件神器。 Geek 电脑空间不够了&#xff0c;想卸点应用来腾地方&#xff0c;但总是遇到各种问题&#xff0c;要么卸不干净&#xff0c;留下一些乱七八糟的文件&#xff0c;要么就是那些流氓软件&#xff0c;怎么卸都卸不掉&#xff0c;简直让人崩溃&am…