比特流、配置与启动
两种下载路径
跳转到“两种下载路径”flowchart LR PC["Vivado / 编程器"] -->|"JTAG"| FPGA["FPGA 配置存储器<br/>断电丢失"] FLASH["板载配置 Flash<br/>断电保留"] -->|"上电启动接口"| FPGASRAM 型 FPGA 的配置存储器断电后丢失。JTAG 下载适合开发调试;产品上电自启动通常把配置镜像写入外部非易失存储,由模式引脚选择 SPI、BPI 等启动方式。
文件不是 CPU 指令
跳转到“文件不是 CPU 指令”| 文件 | 常见用途 | 说明 |
|---|---|---|
.bit | Vivado/JTAG 直接配置 | 带 Vivado 头信息的配置数据容器 |
.bin | Bootloader 或配置存储器 | 原始二进制配置数据,不等同于“MCU 指令” |
.mcs | 编程配置 Flash | Intel HEX 文本容器,可携带地址信息 |
具体格式、接口宽度和生成选项随器件系列与启动方案变化,必须以目标器件配置指南和板上 Flash 型号为准。这里主要讨论 Vivado/7 系列配置流程;带处理器的 SoC 启动镜像可能还包含引导程序、处理系统软件和其他分区,不能把其整个 .bin 文件都当作纯 FPGA 配置数据。
生成和烧写前
跳转到“生成和烧写前”- 确认 FPGA 精确料号、板上 Flash 精确型号、容量、电压和连接宽度。
- 确认模式引脚、启动时钟、SPI x1/x2/x4 能力和 bitstream 配置属性一致。
- 估算镜像容量和启动时间,不套用其他板卡的固定值。
- 先通过 JTAG 验证实现,再生成配置存储器镜像。
- 烧写后断电重启验证,不能只看“Program succeeded”。
可靠升级
跳转到“可靠升级”远程升级不只是“把新 bitstream 写入 Flash”。完整方案至少需要:
- 不可覆盖或受保护的 golden/recovery 镜像。
- 新镜像长度、版本、目标器件和完整性/真实性校验。
- 写入非活动区域,校验成功后再切换启动指针。
- 断电中断保护、启动 watchdog、失败回退和升级日志。
- 若使用 MultiBoot/ICAP,严格按器件指南发送 WBSTAR、IPROG 等配置命令。
配置镜像可能包含产品逻辑和密钥,量产时还要评估加密、认证、密钥生命周期和读回保护。