ARTICLE DETAIL

建站实战干货

来自一线的建站与推广经验沉淀,每一条都经过真实交付验证。

FPGA 设计的快速启动方法与远程更新(一)

2026/8/4 1:32:04 拓冰建站 浏览量
FPGA 设计的快速启动方法与远程更新(一) 引言本系列笔记对Xilinx FPGA快速启动QuickBoot方法实现远程更新进行详细阐述这些内容对于评估该方案以及调试实际部署过程中出现的问题至关重要。1. 概 述Xilinx FPGA 的一大核心优势在于其远程更新能力。该功能支持对已部署的系统进行设计补丁更新或功能升级。本应用笔记提供了一套解决方案实现稳定的现场更新。该套解决方案被统称为快速启动QuickBoot方法。2. 介 绍图 1 展示了一种具备 FPGA 远程更新功能的系统架构。如图所示新FPGA比特流可以通过以太网、PCIe、USB接口或者USB存储器、SD卡等多媒体存储卡实现比特流传输。图1FPGA 远程更新功能的系统架构Xilinx 快速启动QuickBoot方法支持 7 系列所有 FPGA内置远程更新故障恢复机制可回退至经验证可用的 “可靠比特流”无论是更新比特流还是可靠比特流均可实现快速配置。另外QuickBoot兼容多种配置模式包括SPI 模式、BPI模式、加密比特流以及多 FPGA 配置菊花链。3. 传统远程更新的方案面向可远程更新 FPGA 的传统方案其设计思路是在Flash闪存中划分出专用保留区域用于存储以下两类内容■ 升级比特流■ 经验证可用的 “可靠比特流”黄金比特流或出厂默认比特流该方案会部署一套远程编程机制通过这一机制将新的或增强版比特流烧录至升级比特流存储区。FPGA 在启动时优先采用该升级比特流完成配置配置过程如图2所示。图2传统故障回退多重启动的闪存组成与配置方法传统远程更新方案会采用 FPGA 内置的多重启动MultiBoot 与故障回退Fallback 功能。其中多重启动功能支持 FPGA 从闪存的指定地址选择性加载比特流当 FPGA 检测到配置错误远程更新流程失败或被中断时故障回退功能会将 FPGA 复位并从闪存的零地址重新尝试配置并用黄金比特流完成配置。通常情况下黄金比特流会被设置为不可修改状态以确保其在任何场景下都能保持可靠的可用状态。注意在故障回退过程中FPGA 会忽略热启动跳转序列。故障回退多重启动方案采用了直接覆盖升级比特流的更新方式与顺序尝试--恢复的配置机制。FPGA 的配置逻辑独立负责解决所有编程错误或流程中断问题。FPGA 优先尝试从升级比特流加载配置若检测到配置错误则启动故障回退机制基于可靠比特流重新完成配置。由于多了一次初始的配置尝试故障回退场景下的配置耗时可达标准配置耗时的两倍。4. 快速启动QuickBoot方法远程更新方案4.1 快速启动系统的整体架构快速启动QuickBoot方法通过微调比特流更新流程的编程算法将编程错误与中断的恢复职责转移至编程操作环节来承担。该方法将编程方式与一种基于专用配置头的特殊配置方法相融合形成一套完整的远程更新方案。此方案兼具高可靠性可兼容多种配置方案变体且在所有场景下均能实现快速配置。快速启动系统的整体架构详见图 3。图3QuickBoot 远程更新解决方案生态系统4.2 QuickBoot配置方法图4展示了面向远程更新的快速启动QuickBoot配置方法。图4面向远程更新的快速启动QuickBoot配置方法快速启动QuickBoot方案在闪存中包含以下组成部分■ 专用快速启动头文件■ 黄金比特流镜像存储区■ 升级比特流镜像存储区快速启动头文件的子组件进一步细分为■ 关键切换字■ 热启动跳转序列关键切换字是快速启动QuickBoot配置方法的核心所在。该关键切换字仅有开启ON和关闭OFF两种状态当切换字处于开启状态时FPGA 加载升级比特流反之当切换字处于关闭状态时FPGA 则加载可靠比特流。快速启动QuickBoot配置方法会在配置流程的第一步通过关键切换字快速判定需要加载的比特流类型。随后FPGA 便从选定的比特流存储区开始执行标准的配置流程。欢迎关注FPGA技术实战公众号喜欢就多多转发吧!