OpenVINOTM,给你看得见的未来!>>
电子产品世界 » 论坛首页 » 嵌入式开发 » FPGA » 使用高速NOR闪存配置FPGA

共2条 1/1 1 跳转至

使用高速NOR闪存配置FPGA

菜鸟
2019-03-28 08:41:28    评分

NOR闪存已作为FPGA(现场可编程门列阵)的配置器件被广泛部署。其为FPGA带来的低延迟和高数据吞吐量特性使得FPGA在工业、通信和汽车ADAS(高级驾驶辅助系统)等应用中得到广泛采用。汽车场景中摄像头系统的快速启动时间要求就是很好的一个例子——车辆启动后后视图像在仪表板显示屏上的显示速度是最为突出的设计挑战。

 

上电后,FPGA立即加载存储于NOR器件中的配置比特流。传输完成后,FPGA转换为活动(已配置)状态。FPGA包括许多配置接口选项,通常包括并行NOR总线和串行外设接口(SPI)总线。支持这些总线的存储器在不同厂商的产品之间总是存在微小的不兼容性,增添了采购多款存储器件的困难程度。

 

全新发布的JEDEC xSPI规范由各大主要NOR闪存厂商联合制定。新标准结束了数十年来NOR闪存厂商独立开发产品、各自为政的局面。虽然存在细微差别,但目前各厂商产品的核心JEDEC xSPI功能已完全相同。JEDEC xSPI规范对总线事务、命令和大量内部功能进行了标准化。结合高吞吐量这一性能,这些下一代闪存可实现全新的应用和功能。例如,赛普拉斯Semper NOR Flash系列符合JEDEC xSPI规范,并提供持续400MB /s读取传输速率,非常适合作为FPGA配置存储器。具体而言,凭借400MB/s的数据速率,容量为128MB(1Gb)的器件,其内容可在320ms内完成传输。

 

FPGA配置历史回顾

当FPGA首次面世时,可选择的配置存储器是并行EPROM或并行EEPROM产品。随着时间的推移,NOR闪存技术应运而生,同时因其系统内可重复编程性和高性价比而被广泛采用。在第二次革命性转折中,SPI存储器接口在大多数应用中取代了并行NOR接口。今天的SPI存储器产品具有高密度、小封装尺寸和高读取吞吐量,以及最重要的特点——更高效的低引脚数接口。

 

1.jpg

图1  - 千兆位四路SPI(6引脚)和并行NOR(45引脚)接口

 

图1显示了千兆位SPI器件与千兆位并行NOR的引脚分配的对比。对于一个千兆位存储器,四路串行外设接口(QSPI)器件具有六引脚接口,而并行NOR器件则需要45个引脚。引脚数量的巨大差异导致QSPI器件作为首选配置接口而被广泛采用。QSPI接口允许在不改变器件占用空间的情况下更改密度。

 

FPGA配置速度

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

 

SPI读取吞吐量

过去几年,从最初以x1模式运行的SPI接口开始,一直到以x4 DDR模式运行的现代QSPI产品,SPI读取吞吐量发生了显著增长。从表1可以看出,下一代闪存器件能够推动SPI总线性能实现又一次跃迁。

 

2.jpg


表1  - 闪存器件SPI读取吞吐量选项

 

现代SPI器件能够永久配置为固定的总线宽度和传输类型,可在上电时立即运行。FPGA须支持这一永久配置,以便在上电后立即启动配置过程。

 

又或者,SPI存储器可在x1模式下退出通电状态,从而允许主机系统(FPGA)查询存储器中的串行闪存可发现参数(SFDP)表中的特性。这一x1模式已成为多家存储器厂商支持的标准功能,并允许FPGA检索有关器件功能的关键信息。一旦检索到器件特性,就可以快速重新配置FPGA存储器控制器和SPI存储器器件,以获得最大的读取性能。

 

3.jpg

图2  - 通电时使用串行闪存可发现参数(SFDP)表配置SPI总线功能

 

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

 

双QSPI配置接口

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

 

请注意,除共享SCK(串行时钟)线以外,接口在两个器件上基本上是独立的。之所以要共享SCK线,是为了在以并行方式(即同时)读取器件时实现时序偏差最小化。当使用相同目标地址执行相同操作时,可以一次仅对一个器件进行访问,也可以同时对两个器件进行访问。

 

4.jpg

图3  - 双QSPI配置接口(11个引脚)允许配置位流在两个QSPI器件之间进行分区,从而有效地将读取数据传输速率提升一倍。

 

当大型FPGA器件需要以最快的方式传输大配置(即高密度)配置比特流时,这种11引脚双QSPI配置将具有非常大的优势。

 

闪存配置

下一代闪存采用x1(主要用于SFDP访问)、x4或x8 IO总线宽度运行,支持SDR或DDR格式传输数据,并且通过使用新的数据选通(Data Strobe)信号以促进高速传输。例如,使用11引脚接口的赛普拉斯Semper NOR闪存八进制配置(图4)。

 

5.jpg

图4  - 低引脚数接口支持SDR或DDR格式的x1、x4或x8 IO总线宽度传输数据。图中显示的是采用11引脚接口的赛普拉斯Semper NOR闪存八进制配置。




工程师
2020-05-29 14:21:34    评分
2楼

谢谢楼主分享


共2条 1/1 1 跳转至

回复

匿名不能发帖!请先 [ 登陆 注册 ]