英特尔 AN 932 闪存访问从基于控制块的设备到基于 SDM 的设备的迁移指南
从基于控制块的设备到基于 SDM 的设备的闪存访问迁移指南
介绍
闪存访问迁移指南提供了有关如何在 V 系列设备、英特尔® Arria® 10、英特尔 Stratix® 10 和英特尔 Agilex™ 设备上实施具有闪存访问和远程系统更新 (RSU) 操作的设计的想法。 这些指南还可以帮助您从基于控制块的设计迁移到具有闪存访问和 RSU 操作的基于安全设备管理器 (SDM) 的设计。 与 V 系列和英特尔 Arria 10 设备相比,较新的设备(例如英特尔 Stratix 10 和英特尔 Agilex)使用基于 SDM 的架构,具有不同的闪存访问和远程系统更新。
在闪存访问和 RSU 操作中从基于控制块的设备迁移到基于 SDM 的设备
基于控制块的设备(Intel Arria 10 和 V 系列设备)
下图显示了在 V 系列和英特尔 Arria 10 设备上进行闪存访问和远程系统更新操作的 IP,以及每个 IP 的接口。
图 1. 基于控制块的设备框图(Intel Arria 10 和 V 系列设备)
英特尔公司。 版权所有。 英特尔、英特尔徽标和其他英特尔标志是英特尔公司或其子公司的商标。 英特尔根据英特尔的标准保修保证其 FPGA 和半导体产品的性能符合当前规格,但保留随时更改任何产品和服务的权利,恕不另行通知。 英特尔不承担因应用或使用此处描述的任何信息、产品或服务而产生的任何责任或义务,除非英特尔明确书面同意。 建议英特尔客户在依赖任何已发布信息和下订单购买产品或服务之前获取最新版本的设备规格。 *其他名称和品牌可能被认为是他人的财产。
您可以使用 Generic Serial Flash Interface Intel FPGA IP 和 QUAD Serial Peripheral Interface (SPI) Controller II 来执行闪存访问,类似地,Remote Update Intel FPGA IP 用于执行 RSU 操作。 Intel 建议您使用 Generic Serial Flash Interface Intel FPGA IP,因为该 IP 较新,可用于任何四通道串行外设接口 (QSPI) 闪存设备。 闪存设备可以连接到专用的活动串行 (AS) 引脚或通用 I/O (GPIO) 引脚。 如果要使用 QSPI 闪存设备进行 FPGA 配置和存储用户数据,则 QSPI 设备必须连接到专用的活动串行存储器接口 (ASMI) 引脚。 在主动串行配置中,MSEL 引脚设置为 samp当 FPGA 上电时 LED。 控制块从配置设备接收 QSPI 闪存数据并配置 FPGA。
基于 SDM 的设备(Intel Stratix 10 和 Intel Agilex 设备)
当您在闪存访问和远程系统更新中从基于控制块的设备迁移时,可以通过三种方式访问基于 SDM 的设备中的 QSPI 闪存。 Intel 建议您使用 Mailbox Client Intel FPGA IP 进行闪存访问和远程系统更新,如下图所示。 当配置闪存连接到 SDM I/O 引脚时,Intel 还建议您使用 Mailbox Client Intel FPGA IP。
图 2. 使用邮箱客户端英特尔 FPGA IP 访问 QSPI 闪存和更新闪存(推荐)
您可以使用 Mailbox Client Intel FPGA IP 访问连接到 SDM I/O 的 QSPI 闪存,并在 Intel Stratix 10 和 Intel Agilex 设备中执行远程系统更新。 命令和/或配置图像被发送到主机控制器。 然后主机控制器将命令转换为 Avalon® 内存映射格式并将其发送到邮箱客户端英特尔 FPGA IP。 邮箱客户端英特尔 FPGA IP 驱动命令/数据并接收来自 SDM 的响应。 SDM 将配置映像写入 QSPI 闪存设备。 Mailbox Client Intel FPGA IP 也是一个 Avalon 内存映射从组件。 主机控制器可以是 Avalon master,例如 JTAG master、Nios® II 处理器、PCIe、自定义逻辑或以太网 IP。 您可以使用邮箱客户端英特尔 FPGA IP 命令 SDM 使用 QSPI 闪存设备中的新/更新映像执行重新配置。 Intel 建议您在新设计中使用 Mailbox Client Intel FPGA IP,因为该 IP 可以访问 QSPI 闪存并执行 RSU 操作。 英特尔 Stratix 10 和英特尔 Agilex 设备也支持该 IP,从而简化了从英特尔 Stratix 10 到英特尔 Agilex 设备的设计迁移。
图 3. 使用串行闪存邮箱客户端英特尔 FPGA IP 和邮箱客户端英特尔 FPGA IP 访问 QSPI 闪存和更新闪存
您只能使用串行闪存邮箱客户端英特尔 FPGA IP 来访问连接到英特尔 Stratix 10 设备中的 SDM I/O 的 QSPI 闪存。 命令和/或配置图像被发送到主机控制器。 然后主机控制器将命令转换为 Avalon 内存映射格式并将其发送到串行闪存邮箱客户端英特尔 FPGA IP。 串行闪存邮箱客户端英特尔 FPGA IP 然后发送命令/数据并接收来自 SDM 的响应。 SDM 将配置映像写入 QSPI 闪存设备。 串行闪存邮箱客户端英特尔 FPGA IP 是一个 Avalon 内存映射从组件。 因此,主机控制器可以是 Avalon master,例如 JTAG master、Nios II 处理器、PCI Express (PCIe)、自定义逻辑或以太网 IP。 邮箱客户端 Intel FPGA IP 需要执行远程系统更新操作。 因此,不建议在较新的设计中使用串行闪存邮箱客户端英特尔 FPGA IP,因为它仅支持英特尔 Stratix 10 设备并且只能用于访问 QSPI 闪存设备。
图 4. 使用带有 Avalon 流接口的邮箱客户端英特尔 FPGA IP 访问 QSPI 闪存和更新闪存
带有 Avalon 流接口英特尔 FPGA IP 的邮箱客户端在您的自定义逻辑和英特尔 Agilex 中的安全设备管理器 (SDM) 之间提供了一个通信通道。 您可以使用此 IP 发送命令包和接收来自 SDM 外围模块(包括 QSPI)的响应包。 SDM 将新映像写入 QSPI 闪存设备,然后根据新的或更新的映像重新配置 Intel Agilex 设备。 带 Avalon 流接口的邮箱客户端 Intel FPGA IP 使用 Avalon 流接口。 您必须使用带有 Avalon 流接口的主机控制器来控制 IP。 具有 Avalon Streaming Interface Intel FPGA IP 的 Mailbox Client 比 Mailbox Client Intel FPGA IP 具有更快的数据流。 但是,此 IP 不支持 Intel Stratix 10 设备,这意味着您无法将您的设计直接从 Intel Stratix 10 迁移到 Intel Agilex 设备。
相关信息
- 邮箱客户端英特尔 FPGA IP 用户指南
- 串行闪存邮箱客户端英特尔 FPGA IP 用户指南
- 带有 Avalon 流接口的邮箱客户端英特尔 FPGA IP 用户指南
Serial Flash Mailbox、Mailbox Client 与 Mailbox Client with Avalon Streaming Interface Intel FPGA IPs 的比较
下表总结了每个 IP 之间的比较。
带有 Avalon 流接口英特尔 FPGA IP 的邮箱客户端 | 串行闪存邮箱客户端英特尔 FPGA IP | 邮箱客户端英特尔 FPGA IP | |
支持的设备 | 英特尔敏捷 | 仅限英特尔 Stratix 10 | 英特尔 Agilex 和英特尔 Stratix 10 |
接口 | 阿瓦隆流接口 | Avalon 内存映射接口 | Avalon 内存映射接口 |
建议 | 使用 Avalon 流接口来流式传输数据的主机控制器。 | 使用 Avalon 内存映射接口执行读写的主机控制器。 | • 使用Avalon 内存映射接口执行读写的主机控制器。
• 建议在Intel Stratix 10 设备中使用该IP。 • 易于从Intel Stratix 10 迁移到Intel Agilex 设备。 |
数据传输速度 | 比串行闪存邮箱客户端英特尔 FPGA IP 和邮箱客户端英特尔 FPGA IP 更快的数据流。 | 比使用 Avalon Streaming Interface Intel FPGA IP 的 Mailbox Client 更慢的数据流。 | 比使用 Avalon Streaming Interface Intel FPGA IP 的 Mailbox Client 更慢的数据流。 |
使用 GPIO 作为访问闪存设备的接口
图 5. 访问 QSPI 闪存
如果设计使用通用串行闪存接口英特尔 FPGA IP 并将闪存引脚导出到 GPIO,则您可以将基于控制块的设备中的设计直接移植到基于 SDM 的设备。 在极少数情况下,QSPI 闪存设备连接到 FPGA 中的 GPIO 引脚。 当连接到 GPIO 时,QSPI 闪存设备将仅用作通用内存存储。 通过选择将 SPI 引脚导出到 GPIO 的选项,可以通过通用串行闪存接口英特尔 FPGA IP(推荐)或通用 QUAD SPI 控制器 II 英特尔 FPGA IP 访问闪存设备。
在英特尔 Stratix 10 和英特尔 Agilex 设备中,您可以将闪存设备连接到 FPGA 中的 GPIO 引脚,以用作通用内存存储。 但请注意,当您使用 Intel Stratix 10 和 Intel Agilex 设备时,必须在 Generic Serial Flash Interface Intel FPGA IP 中启用参数设置 enable SPI pin interface,以防止编译期间出错。 这是因为 Intel Stratix 10 和 Intel Agilex 器件中没有可用的专用主动串行接口。 为了在这些设备中进行配置,您必须将闪存设备连接到 SDM I/O,如基于 SDM 的设备(Intel Stratix 10 和 Intel Agilex 设备)部分所述。
相关信息
基于 SDM 的设备(Intel Stratix 10 和 Intel Agilex 设备)
基于控制器类型支持的 QSPI 设备
下表总结了基于通用串行闪存接口英特尔 FPGA IP 和通用 QUAD SPI 控制器 II 英特尔 FPGA IP 的受支持闪存设备。
设备 | IP | QSPI 设备 |
Cyclone® V、英特尔 Arria 10、英特尔 Stratix 10(1), 英特尔 Agilex(1) | 通用串行闪存接口英特尔 FPGA IP | 所有 QSPI 设备 |
Cyclone V、英特尔 Arria 10、英特尔 Stratix | 通用 QUAD SPI 控制器 II Intel | • EPCQ16(美光*兼容) |
10(1), 英特尔 Agilex(1) | FPGA知识产权 | • EPCQ32(美光*兼容) |
• EPCQ64(美光*兼容) | ||
• EPCQ128(美光*兼容) | ||
• EPCQ256(美光*兼容) | ||
• EPCQ512(美光*兼容) | ||
• EPCQL512(美光*兼容) | ||
• EPCQL1024(美光*兼容) | ||
• N25Q016A13ESF40 | ||
• N25Q032A13ESF40 | ||
• N25Q064A13ESF40 | ||
• N25Q128A13ESF40 | ||
• N25Q256A13ESF40 | ||
• N25Q256A11E1240(低电压tage) | ||
• MT25QL512ABA | ||
• N2Q512A11G1240(低电压tage) | ||
• N25Q00AA11G1240(低电压tage) | ||
• N25Q512A83GSF40F | ||
• MT25QL256 | ||
• MT25QL512 | ||
• MT25QU256 | ||
• MT25QU512 | ||
• MT25QU01G |
有关串行闪存邮箱和邮箱客户端英特尔 FPGA IP 支持的闪存设备的更多信息,请参阅设备配置 – 支持中心页面中的英特尔支持的配置设备部分。
相关信息
英特尔支持的配置设备,设备配置 – 支持中心
AN 932 的文档修订历史:从基于控制块的设备到基于 SDM 的设备的闪存访问迁移指南
文档版本 | 更改 |
2020.12.21 | 初始版本。 |
AN 932:从基于控制块的设备到基于 SDM 的设备的闪存访问迁移指南
文件/资源
![]() |
英特尔 AN 932 闪存访问从基于控制块的设备到基于 SDM 的设备的迁移指南 [pdf] 用户指南 AN 932 从基于控制块的设备到基于 SDM 的设备的闪存访问迁移指南,AN 932,从基于控制块的设备到基于 SDM 的设备的闪存访问迁移指南,闪存访问迁移指南 |