当选择Enable XIP Mode时,系统会设置XIP模式。XIP模式在ROM操作中特别有用,其中可执行文件被存储在flash存储器中并由处理器或其他主设备访问。

在XIP模式下,AXI Quad SPI IP核支持24位寻址模式,这是Winbond、Micron和Spansion设备之间的通用模式。在标准、双通道和四通道模式下,该IP核都支持这种寻址模式。同时,对于Micron和Spansion存储器,该IP核还支持32位地址模式。

在XIP模式下,首先使用AXI4-Lite接口来配置IP核以选择正确的CPOL和CPHA模式。有效的模式为00和11,任何其他组合将导致IP核不接受AXI4事务。AXI4-Lite接口仅用于设置配置寄存器和读取状态寄存器。

而AXI4接口则用于根据AXI4接口提供的地址从存储器中读取数据。AXI4接口负责数据的读取。当需要从存储器中读取数据时,AXI4接口的读通道会提供起始地址。IP核会将这个地址转换成SPI接口上的SPI事务,进而从存储器中读取数据。

当IP核的操作模式通过“Mode”设置,而目标存储器的选择则基于“Slave Device”设置。在这种模式下,IP核只支持单个存储器,不支持多个存储器。目标存储器可以是Winbond、Micron、Spansion或任何其他支持默认三个读取命令的存储器。

AXI4接口上的读事务的最大突发长度为64,因为FIFO的深度为64。如果超过这个长度,IP核的行为将无法保证。

在这种模式下,AXI Quad SPI IP核使用固定的读取命令集,以确保与不同制造商的SPI闪存存储器兼容。

默认命令:

  • 快速读取(Fast Read)命令:0x0B
  • 快速读取双I/O(Fast Read Dual I/O)命令:0xBB
  • 快速读取四路I/O(Fast Read Quad I/O)命令:0xEB

根据IP核配置的“Mode”设置,在整个操作过程中会使用相同的命令。这些命令由IP核内部生成,用户无法更改。

AXI Quad SPI IP核具有内部参考逻辑,用于为特定的读取命令填充所需的dummy字节。这些dummy字节是SPI闪存存储器在读取数据之前所需的一些额外时钟周期,用于准备数据和设置内部状态。

XIP模式是直接从SPI闪存存储器中执行代码的一种操作模式。它基于Winbond、Micron和Spansion等公司提供的SPI闪存存储器数据手册中指定的读取命令行为。这意味着AXI Quad SPI IP核会遵循这些存储器制造商的数据手册中定义的读取命令格式和时序要求,以确保正确的数据读取和执行。

IP核的配置参数和特性如下:

  • Enable Performance Mode: 启用性能模式,这可能会优化SPI通信的速度和效率。
  • Enable XIP Mode: 启用XIP模式,允许处理器直接从SPI闪存中执行代码。
  • Mode
  • Slave Device: 如果设置为从设备,则IP核将作为从设备工作,等待主设备的指令。
  • Enable STARTUPEn Primitive: 启用STARTUPEn原语,这通常用于FPGA设计中的上电配置。对于不同的FPGA系列(如7系列和UltraScale系列),可能需要使用不同的STARTUPE原语(如STARTUPE2或STARTUPE3)。

SPI逻辑使用ext_spi_clk作为参考时钟。这个时钟独立于AXI4接口时钟,并且其频率应该是SPI接口所需频率的两倍。AXI Quad SPI IP核使用固定的频率比率设置(2)来生成SPI接口上的SPI时钟。

在XIP模式下,没有与软复位或中断相关的寄存器。要复位IP核,必须复位互联(如AXI互联)。

AXI Quad SPI IP核仅支持WRAP和INCR类型的AXI4事务。FIXED类型的事务会导致错误,并且AXI Quad SPI IP核不接受此类事务。如果发生此类错误,XIP状态寄存器中的事务错误标志将被设置。

在XIP模式下,目标存储器是Winbond或Spansion。如果IP核配置为四通道模式,则需要在从SPI闪存启动IP核之前,确保已经使用外部编程工具设置了Winbond存储器的状态寄存器的QE位或Spansion存储器的配置寄存器的QE位。

点赞(0) 打赏

评论列表 共有 0 条评论

暂无评论

微信公众账号

微信扫一扫加关注

发表
评论
返回
顶部