
本文概述
FPGA配置(上电加载bitstream)是FPGA面试的基础必考题,很多人只会在工具里点下载却没想过原理。面试官想听的不是“点Program”,而是你懂不懂FPGA为什么需要配置(SRAM架构掉电丢失)、配置文件的种类(bit/hex/bin)、配置模式(JTAG、主动SPI、被动配置)、以及配置流程(上电→模式选择→加载→DONE)。本文从“FPGA是SRAM架构”讲起,讲为什么需要配置、bitstream是什么、配置模式(JTAG调试、SPI Flash主动加载、被动模式)、SPI Flash烧录流程(生成bin、烧录、上电加载)、以及配置时序和常见问题(DONE不拉高、加载失败排查),强调模式选择按产品应用定,不套固定值。
核心要点
FPGA基于SRAM存储配置,掉电丢失,上电必须从外部加载bitstream
配置文件:bit(JTAG调试)、bin/hex(烧Flash用)
配置模式:JTAG(在线调试)、主动SPI(FPGA自己从Flash读)、被动模式(外部控制)
SPI烧录:生成bin→通过JTAG烧进Flash→上电FPGA主动加载
配置完成标志:DONE信号拉高,INIT_B状态指示
常见问题:DONE不拉高、加载失败→查模式引脚、时钟、Flash、bit格式
面试官考察点
考察点拆解
面试官问FPGA配置,重点考察:第一,你懂不懂FPGA为什么需要配置(SRAM架构);第二,你懂不懂配置文件和配置模式;第三,你懂不懂SPI Flash烧录和上电加载流程;第四,你懂不懂配置失败的排查。
追问方向:为什么掉电丢失、几种配置模式、怎么烧Flash、DONE信号。
回答思路
答题主线
建议按“为什么需要配置 → 配置文件 → 配置模式 → 烧录与加载流程 → 问题排查”来答,从原理到操作。
先讲原因:SRAM架构。
讲文件:bit/bin。
讲模式:JTAG/主动SPI。
讲流程排查:烧录、DONE。
参考回答
我先讲FPGA为什么需要配置,再讲配置流程。
第一,为什么需要配置。FPGA(如Xilinx/Intel器件)的配置存储是SRAM架构:上电时逻辑是空的,掉电后配置丢失。所以每次上电必须从外部存储器(SPI Flash)或主机加载bitstream(配置数据流),把电路“编程”进FPGA。这和MCU的Flash运行程序不一样。
第二,配置文件。综合实现后生成:bit文件(在线调试/JTAG加载用);bin/hex文件(烧录到SPI Flash用,去掉bit的头信息)。量产板卡上电从Flash自动加载。
第三,配置模式。
JTAG模式:通过下载器直接在线配置(调试用,不保存,掉电丢失);
主动SPI模式:FPGA上电后自己从SPI Flash读取配置(产品量产常用,掉电重上电自动加载);
被动模式:由外部主机(如MCU/CPU)控制加载(灵活,由系统管理加载时机)。
第四,SPI Flash烧录与加载流程。把生成的bin文件通过JTAG下载器烧进SPI Flash(一次编程,多次上电加载);上电后FPGA根据模式引脚选择主动SPI,从Flash读配置数据,配置完成后DONE信号拉高,用户逻辑开始运行。
第五,配置失败排查。DONE不拉高/INIT_B异常:查模式引脚设置、配置时钟、Flash型号和连接、bit/bin格式是否正确、供电是否正常。模式选择按产品(调试/量产)和系统架构定。

扫码关注





























