使用高速 NOR 闪存的 FPGA 配置

时间:2023-03-03

NOR 闪存被广泛部署为 FPGA 的配置设备。FPGA 在工业、通信和汽车 ADAS 应用中的使用取决于 NOR 闪存的低延迟和高数据吞吐量特性。快速启动时间要求的一个很好的例子是汽车环境中的摄像头系统。点火时后视图像出现在仪表板显示器上的速度是首要的设计挑战。

上电后,FPGA 立即加载存储在 NOR 设备中的配置位流。传输完成后,FPGA 转换为活动(已配置)状态。FPGA 包括许多配置接口选项,通常包括并行 NOR 总线和串行外设接口 (SPI) 总线。支持这些总线的存储器在不同制造商的产品之间总是存在细微的不兼容性,这使得存储器设备的多个来源变得更加困难。

新发布的 JEDEC xSPI 规范由所有主要的 NOR 闪存制造商共同开发。新标准结束了数十年来 NOR 闪存制造商在不遵守通用定义的情况下独立开发产品的情况。尽管仍然存在细微差异,但 JEDEC xSPI 功能现在在所有制造商的产品中都是相同的。JEDEC xSPI 规范对总线事务、命令和大量内部功能进行了标准化。结合高吞吐量,这些下一代闪存支持全新的应用程序和功能。例如,Cypress 的 Semper NOR Flash 系列符合 JEDEC xSPI 规范并提供持续的 400MB/s 读取传输速率,非常适合用作 FPGA 配置存储器。为了说明这一点,


当 FPGA 首次问世时,选择的配置存储器是并行 EPROM 或并行 EEPROM 产品。随着时间的推移,NOR 闪存技术出现并因其系统内可重新编程性和成本效益而被广泛采用。第二个进化转变是 SPI 存储器接口在大多数应用中取代了并行 NOR 接口。今天的 SPI 存储器产品提供高密度、小封装尺寸、高读取吞吐量,也许重要的是,提供高效的低引脚数接口。


图 1 – 千兆位四路 SPI(6 针)和并行 NOR(45 针)接口( Semiconductor)

图 1 显示了一个千兆位 SPI 设备与一个千兆位并行 NOR 产品的引出线对比。对于 1 GB 的存储器,四路串行外设接口 (QSPI) 设备有一个六引脚接口,而并行 NOR 设备需要 45 个引脚。引脚数的这种巨大差异导致 QSPI 设备被广泛用作配置接口。QSPI 接口允许在不改变器件封装的情况下改变密度。


随着工艺节点的缩小,FPGA 设备继续增加可用的可编程逻辑的数量。反过来,这导致需要更高密度和更快的配置内存。现代 FPGA 在配置期间需要加载多达 128MB 的数据。这些高密度配置比特流需要更长的时间从 NOR Flash 设备传输到 FPGA。配置接口不仅针对读取吞吐量进行了优化,还着重于促进不同 NOR 闪存制造商之间的互操作性。

SPI 读取吞吐量

SPI 读取吞吐量在过去几年中急剧增加,从以 x1 模式运行的原始 SPI 接口一直到运行 x4 DDR 的现代 QSPI 产品。从表 1 可以看出,下一代闪存设备能够提供 SPI 总线性能的另一个提升。

点击查看大图 
表 1 – 闪存设备的 SPI 读取吞吐量选项。()

现代 SPI 设备能够针对固定的总线宽度和传输类型进行配置,在加电时立即运行。这种配置也必须得到 FPGA 的支持,以允许配置过程在加电后立即开始。

或者,SPI 存储器可以在 x1 模式下退出加电,该模式允许主机系统 (FPGA) 查询存储器的串行闪存可发现参数 (SFDP) 表中的特性。这种 x1 模式已成为多个存储器供应商支持的标准功能,并允许 FPGA 检索有关设备功能的关键信息。检索到设备特性后,可以快速重新配置 FPGA 内存控制器和 SPI 内存设备以实现读取性能。


图 2 – 串行闪存可发现参数 (SFDP) 表用于在开机时配置 SPI 总线功能。()

当使用可以以 x1、x4 或 x8 总线宽度以及 SDR 或 DDR 传输类型运行的下一代闪存设备时,使用集成 SFDP 表检索关键设备信息将至关重要。总线宽度和传输类型的选择必须与 FPGA 上实现的总线接口基础设施保持一致。

双 QSPI 配置接口

为了减少 FPGA 配置时间,许多现代 FPGA 允许在两个 QSPI 设备之间分配配置比特流(图 3)。这两个 QSPI 设备以并行方式连接,其中比特流的低半字节存储在“主要”QSPI 设备 (QSPI_P) 中,比特流的高半字节存储在“辅助”QSPI 设备 (QSPI_S) 中. 这两个设备在加载比特流时并行运行,有效地将读取数据传输速率提高一倍。 

请注意,除了共享 SCK 线外,接口在很大程度上是独立于两个设备的。实现共享 SCK 线是为了在以并行(即同时)方式读取设备时限度地减少时序偏差。当使用相同的目标地址执行相同的操作时,可以访问一个设备或同时访问两个设备。


图 3 – 双 QSPI 配置接口(11 个引脚)允许配置比特流在两个 QSPI 设备之间进行分区,以有效地使读取数据传输速率加倍。()

当大型 FPGA 设备需要以快的方式传输大型配置(即高密度)配置比特流时,这种 11 引脚双 QSPI 配置很有吸引力。 


下一代闪存以 x1(主要用于 SFDP 访问)、x4 或 x8 IO 总线宽度运行。数据可以 SDR 或 DDR 格式传输,并且通过使用新的 Data Strobe 信号促进高速传输。例如,Cypress 的 Semper NOR Flash 器件的八进制配置使用 11 针接口(参见图 4)。


图 4 – 可以使用低引脚数接口以 SDR 或 DDR 格式使用 x1、x4 或 x8 IO 总线宽度传输数据。此处显示的是使用 11 针接口的赛普拉斯 Semper NOR 闪存的八进制配置。()

新的 Data Strobe 必须集成到 FPGA 配置接口中,以利用下一代闪存设备的高吞吐量读取功能。数据选通与输出读取数据边沿对齐,其方式与选通在低功耗 DDR DRAM 设备上的使用方式相同(图 5)。数据选通“绘制”数据眼并允许 FPGA 以高时钟速率有效地捕获数据。 


图 5 – 数据选通的 x8 DDR 读取事务与输出读取数据边沿对齐,使 FPGA 能够以高时钟速率有效地捕获数据。()

非常适合 FPGA 配置的一项闪存功能是支持连续读取操作。连续读取从主机(MCU 或 FPGA)断言 CS# 开始,然后发出读取命令和目标地址。经过多个潜伏期周期。存储设备从目标地址输出数据。如果主机继续切换时钟,存储器将通过从下一个顺序地址输出数据来响应。只要时钟继续切换,存储器就会继续从顺序地址输出数据。这种顺序读取功能可以让 FPGA 配置为具有单个读取事务。

另一个有助于 FPGA 配置的特性是自动引导功能。AutoBoot 在上电复位期间从预配置的目标地址执行自动读取,然后在 CS# 次断言时立即输出数据(图 6)。此功能对于需要简单配置机制的 ASIC 设备也很有用。一旦 CS# 被置低,存储器将返回其待机状态,后续操作将以正常方式处理。


图 6 – 自动引导读取功能(具有 3 个预热周期)正在运行。()

NOR 闪存设备的写入事务(参见图 7)实际上与标准 SPI 操作相同,但有两个例外。首先,新的数据选通信号必须在整个交易过程中被驱动为低电平。其次,当配置为 DDR 操作时,数据以字 (16b) 的形式写入,而不是传统 SPI 产品上的字节写入编程粒度。


图 7 – NOR 闪存的写入事务要求在整个事务期间将数据选通信号驱动为低电平,并且在配置为 DDR 操作时将数据写入 16 位字。()

下一代 NOR 闪存设备提供满足大规模基于 FPGA 的应用不断增加的密度和即时启动要求所需的高吞吐量。所有主要的 NOR 闪存制造商都参与了 JEDEC xSPI 规范的开发,确保为 OEM 提供广泛的采购选择。JEDEC xSPI 规范涵盖上述八进制 SPI 接口以及 HyperBus 接口,两者均提供 400MB/s 的读取吞吐量。已实现的读取吞吐量大大高于传统 SPI 产品。需要修改 FPGA SPI 控制器才能利用高速基础设施。需要考虑的新功能包括 DDR 数据速率、用于数据捕获的新 Data Strobe 引脚以及扩展的 x8 总线接口。此外,一些NOR Flash设备,例如来自赛普拉斯的 Semper NOR 系列,允许在实现双 QSPI 配置架构时消除其中一个 QSPI 设备。下一代闪存提供的性能在需要快速 FPGA 配置时间的情况下以及执行实时重新配置的 FPGA 应用程序中将具有吸引力。






















上一篇:用于 GaN HEMT 的超快分立式短路保护
下一篇:优化 PCB 设计中的射频馈线

免责声明: 凡注明来源本网的所有作品,均为本网合法拥有版权或有权使用的作品,欢迎转载,注明出处。非本网作品均来自互联网,转载目的在于传递更多信息,并不代表本网赞同其观点和对其真实性负责。

相关技术资料