0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

使用高速NOR闪存配置FPGA

FPGA设计论坛 来源:未知 2023-08-15 13:55 次阅读
wKgZomToRQKABVKAAAAAuFYhST8971.png

点击上方蓝字关注我们

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存储器产品具有高密度、小封装尺寸和高读取吞吐量,以及最重要的特点——更高效的低引脚数接口。

wKgZomToRQKAHDfFAAAJKsAbK_E046.png

图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总线性能实现又一次跃迁。

总线类型

总线宽度

P引脚数

时钟频率(MHz)

传输类型

数据吞吐量(MB/秒)

SPI

x1

4

20

SDR

1.5

QSPI

x4

6

133

SDR

66

QSPI

x4

6

80

DDR

80

xSPI

x4

7

200

DDR

200

xSPI

x8

11

200

DDR

400

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

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

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

wKgZomToRQOACktiAAAJrXgrB1I784.png

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

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

双QSPI配置接口

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

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

wKgZomToRQOABfTrAAAKAeijl8s551.png

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

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

闪存配置

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

wKgZomToRQOALgQdAAAG0sgfGCE574.png

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

这一新的数据通选必须结合到FPGA配置接口中,从而可利用下一代闪存器件的高吞吐量读取性能。数据选通与输出读取数据边缘对齐,其方式与低功耗DDR DRAM器件上的选通方式相同(图5)。数据选通“绘制”数据眼图,并允许FPGA以高时钟频率有效抓取数据。

wKgZomToRQOAaEeRAAAOi5tKvUI544.png

图5 - 具有数据选通功能的x8 DDR读取事务与输出读取数据边缘对齐,使FPGA能够以高时钟频率有效抓取数据。

支持连续读取操作是非常适用于FPGA配置的闪存功能之一。连续读取始于主机(MCU微控制器)或FPGA)置位CS#(CS片选引脚),然后发出读取命令,后跟目标地址。经过多次延迟周期,存储器从目标地址输出数据。如果主机继续切换时钟,则存储器将通过从下一个顺序地址输出数据来响应。只要时钟继续切换,存储器将继续从顺序地址输出数据。这种顺序读取功能可以允许FPGA配置单个读取事务。

AutoBoot(自动启动)是另一项有助于FPGA配置的功能。AutoBoot在通电复位期间从预先配置的目标地址执行自动读取,然后在第一次CS#置位时立即输出数据(图6)。此功能对需要简单配置机制的ASIC(专用芯片)器件也十分有用。一旦CS#解除置位,内存将返回其待命状态,并以正常方式处理后续操作。

wKgZomToRQOARTjqAAAKBhYgm1Y879.png

图6 - 运行中的AutoBoot读取功能(具有3个预热周期)

NOR 闪存器件的写入事务(图7)与标准SPI操作几乎完全相同,但有两点例外。首先,在整个事务期间必须将新的数据选通信号驱动为LOW(低电平)。其次,当配置为DDR操作时,数据被写为字(16b),而非传统SPI产品的字节写编程粒度。

wKgZomToRQOAbOUlAAALQ6h_p60957.png

图7- NOR 闪存的写入事务需要在整个事务期间将数据选通信号驱动为LOW,并且在配置为DDR操作时将数据写为16位字。

下一代NOR闪存器件可提供满足大规模FPGA应用的高密度和随开即用要求所需的高吞吐量。各大NOR闪存制造厂商都参与了JEDEC xSPI规范的开发,为代工厂商提供了广泛的采购选择。JEDEC xSPI规范涵盖了上述八进制SPI接口以及HyperBus接口,两者均提供400MB/s的读取吞吐量,已实现的读取吞吐量远高于传统SPI产品。为利用高速基础设施,需要对FPGA SPI控制器进行修改。需要考虑的新功能包括DDR数据速率,用于数据抓取的新数据选通引脚和扩展的x8总线接口。此外,一些NOR闪存器件(例如赛普拉斯Semper NOR系列)允许在实施双QSPI配置架构时消除其中一个QSPI器件。在需要进行快速FPGA配置的情况下,以及在执行实时重新配置的FPGA应用中,下一代闪存所提供的性能将具有强大的优势。

wKgZomToRQOAbmC8AAAJM7aZU1A916.png    

wKgZomToRQOAIjJJAABUdafP6GM135.jpg

扫码加微信邀请您加入FPGA学习交流群

wKgZomToRQOASKizAABiq3a-ogY099.jpgwKgZomToRQSAO-XdAAACXWrmhKE029.png

欢迎加入至芯科技FPGA微信学习交流群,这里有一群优秀的FPGA工程师、学生、老师、这里FPGA技术交流学习氛围浓厚、相互分享、相互帮助、叫上小伙伴一起加入吧!

点个在看你最好看


原文标题:使用高速NOR闪存配置FPGA

文章出处:【微信公众号:FPGA设计论坛】欢迎添加关注!文章转载请注明出处。


声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • FPGA
    +关注

    关注

    1603

    文章

    21326

    浏览量

    593231

原文标题:使用高速NOR闪存配置FPGA

文章出处:【微信号:gh_9d70b445f494,微信公众号:FPGA设计论坛】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    CYUSB3KIT-003如何集成一个NOR闪存

    我有一个 CYUSB3KIT-003。 我需要集成一个 NOR 闪存,我可以从中将固件读取到 RAM,然后 NOR 闪存的一部分内存应该EVAL_2K4W_ACT_BRD_S7作为大容
    发表于 03-05 07:23

    2024年1月,预计NOR Flash价格将上涨5%

     NOR Flash是一种基于NOR门结构的闪存NOR是逻辑门电路中的“或非”门。NOR Flash具有并行访问结构,这意味着每个存储单元
    发表于 12-27 14:37 367次阅读

    Nor Flash的基本概念 Nor Flash的内部结构解析

    Nor Flash是一种非易失性存储技术,用于存储数据和代码。它是一种闪存存储器,类似于NAND Flash,但具有不同的特性和应用场景。
    的头像 发表于 12-05 13:57 1058次阅读

    NAND Flash和NOR Flash的区别

    NAND Flash和NOR Flash是两种常见的闪存类型。
    的头像 发表于 11-30 13:53 932次阅读
    NAND Flash和<b class='flag-5'>NOR</b> Flash的区别

    NAND FLASH与NOR FLASH的技术对比

    目前,NOR FLASH和NAND FLASH是市场上主要的非易失性闪存技术,但是据我了解,还是有很多工程师分不清NAND FLASH与NOR FLASH。
    发表于 10-01 14:05 539次阅读
    NAND FLASH与<b class='flag-5'>NOR</b> FLASH的技术对比

    使用STARTUPE3对并行NOR闪存进行配置后访问的UltraScale FPGA应用说明

    电子发烧友网站提供《使用STARTUPE3对并行NOR闪存进行配置后访问的UltraScale FPGA应用说明.pdf》资料免费下载
    发表于 09-14 15:18 1次下载
    使用STARTUPE3对并行<b class='flag-5'>NOR</b><b class='flag-5'>闪存</b>进行<b class='flag-5'>配置</b>后访问的UltraScale <b class='flag-5'>FPGA</b>应用说明

    UltraScale FPGA BPI配置闪存编程应用说明

    电子发烧友网站提供《UltraScale FPGA BPI配置闪存编程应用说明.pdf》资料免费下载
    发表于 09-14 11:21 0次下载
    UltraScale <b class='flag-5'>FPGA</b> BPI<b class='flag-5'>配置</b>和<b class='flag-5'>闪存</b>编程应用说明

    将SPI闪存与7系列FPGA结合使用

    电子发烧友网站提供《将SPI闪存与7系列FPGA结合使用.pdf》资料免费下载
    发表于 09-13 10:00 0次下载
    将SPI<b class='flag-5'>闪存</b>与7系列<b class='flag-5'>FPGA</b>结合使用

    ForgeFPGA 配置指南

    ForgeFPGA 配置指南
    发表于 06-30 19:10 0次下载
    Forge<b class='flag-5'>FPGA</b> <b class='flag-5'>配置</b>指南

    是否有用于Micron闪存的QSPI重新配置数据?

    记:S32G_QSPI_NOR_20211125_V3.pdf。不幸的是,在中文中,为 MT35XU256ABA1G12-0AAT 提供了 QSPI 重新配置数据,与我们的非常相似: LUT@0x244(从闪存基地址 0
    发表于 05-22 09:35

    如何使用RT1160-EVK上的八进制闪存

    了 evkmimxrt1160_flexspi_nor_config.c 中的闪存配置。 代码编译但在我运行它时永远不会进入主要状态(请参见下面的屏幕截图): 知道我哪里出错了吗?我附上了 MCUXpresso 项目。
    发表于 05-18 06:28

    求分享串行NOR引导实用程序

    BOOT_MODE[1:0]= x00 从保险丝启动后,尝试通过 FLEXSPI NOR(次级引脚,见图 2)连接到引导实用程序,但出现图 1 中的错误。 设备类型:试过 QuadSPI SDR NOR 和 QuadSPI DDR N
    发表于 05-10 08:53

    如何使用带有连接到lpspi3接口的NOR闪存的i.MX8Q?

    我正在使用带有连接到 lpspi3 接口的 NOR 闪存的 i.MX8Q。 这是我的设备树的相关部分 &lpspi3 { pinctrl-names = \\\"
    发表于 05-06 06:23

    iMX8QXP擦除NOR闪存的“boot0”分区时,没有任何反应是为啥?

    我有一个iMX8X iMX8QXP,我正在尝试在 NOR 闪存(最终是 eMMC)上设置辅助引导容器集。我试图在烧掉任何 OTP 保险丝之前验证基本功能,所以这就是我目前对 NOR 闪存
    发表于 05-05 10:40

    NOR闪存启动时,Core0如何获取启动代码?

    NOR 闪存启动时,Core0 如何获取启动代码? 电路板设置 (T1024RDB) 是: 开关将 RCW_SRC 设置为 NOR 闪存 PBL/RCW 设置为 BOOT_LOC
    发表于 05-04 07:16