凡亿教育 · 电子工程师实战教育品牌
嵌入式硬件培训:长沙/广州校区
|
课程咨询:15989478308(同微信)
免费领取课程大纲

JTAG下载成功,FPGA断电后为何又空了?

JTAG下载成功,FPGA断电后为何又空了?

JTAG下载成功,FPGA断电后为何又空了?封面技术图

以常见SRAM型FPGA为例,JTAG把SOF配置送入片内配置SRAM,下载完成后逻辑会立即运行,但这些配置位依赖供电保存。断电后SRAM清空,下次上电若没有外部配置存储器、启动模式或有效镜像,器件自然回到未配置状态。要实现掉电保持,必须把“本次调试下载”和“上电自动配置”当成两条流程。

Quartus提示下载100%,LED和逻辑分析都符合预期;拔掉电源再插上,板子却像从未烧写。换一根下载线不会改变结果,因为JTAG链路已经证明当次配置成功。真正缺少的是非易失配置路径:器件上电后要从哪里重新拿到位流。

01SOF让逻辑立刻运行,却不负责掉电保存

SRAM型FPGA的查找表、布线和寄存器连接由易失配置单元控制。JTAG配置常把SOF直接写入这些单元,适合频繁调试和快速迭代。只要电源稳定,配置可以持续工作;电源撤掉,配置单元丢失,下一次上电必须重新加载。

因此,“下载成功”只证明下载器识别了链路、目标器件接受了当前文件,并在本次上电中进入用户模式。它没有证明板上配置Flash可写、启动脚正确,也没有证明上电控制器能找到与器件匹配的镜像。把这两个验收合成一句“已经烧录”,最容易留下量产漏洞。

JTAG下载成功,FPGA断电后为何又空了?配图1:账号主证据明确区分:JTAG写入配置SRAM,Active Serial从外部配置器件加载。
账号主证据明确区分:JTAG写入配置SRAM,Active Serial从外部配置器件加载。

02掉电保持要多出一条启动链路

常见方案会把配置数据写入串行配置存储器,FPGA上电后按Active Serial等模式主动读取。所需文件类型与操作流程取决于器件系列、配置芯片和Quartus版本;某些流程生成POF,某些通过JIC让JTAG借助FPGA访问串行Flash。文件扩展名不能脱离目标器件和编程方式单独记忆。

板级还要保证配置存储器供电、时钟、片选和数据连接正确,并把配置模式引脚设到预期状态。Flash里即使有数据,模式脚选择了另一种启动方式,FPGA也不会沿这条路径读取。状态脚、完成脚和配置时钟能帮助区分“根本没启动”和“读取后校验失败”。

JTAG下载成功,FPGA断电后为何又空了?配图2:工程配置页要明确Active Serial方案与外部串行配置器件型号。
工程配置页要明确Active Serial方案与外部串行配置器件型号。

03Programmer里勾选的对象决定写到哪里

JTAG调试时,Programmer链上通常显示FPGA本体并加载SOF。做非易失编程时,链路里要出现对应配置存储器或JIC描述的访问关系,并选择Program/Configure等正确动作。若界面仍只有FPGA和SOF,重复点击Start只会再次配置SRAM。

转换文件时要核对器件密度、压缩选项、位流顺序和镜像容量。生成成功不代表内容一定能由板上器件启动。工程版本变更后,旧POF或JIC可能仍留在输出目录,手动选错文件会形成“调试版正常、上电版还是旧逻辑”的隐蔽问题。构建时间、哈希和版本号应一起进入发布记录。

JTAG下载成功,FPGA断电后为何又空了?配图3:Active Serial上电链路由配置存储器保留镜像,再由FPGA控制器读入片内SRAM。
Active Serial上电链路由配置存储器保留镜像,再由FPGA控制器读入片内SRAM。

04用断电测试把两条流程彻底分开

  1. JTAG下载SOF后确认当次逻辑运行,只把它记为易失配置通过。

  2. 生成并选择与器件、配置存储器和启动模式匹配的非易失编程文件。

  3. 完成编程后读取或校验配置存储器,保存工具日志、文件哈希和工程版本。

  4. 彻底断电并等待电源轨释放,再重新上电观察配置状态脚和用户功能。

  5. 重复冷启动与边界电压测试,确认不是下载器或USB线在背后替设备重新配置。

冷启动测试必须断开可能向板卡反向供电的路径。USB下载器、调试器参考电压和其他接口可能让配置器件或FPGA保持在半供电状态,造成“看似断电”的假象。测量关键电源轨确实降到规定范围,再观察独立上电结果,才能验证掉电保持。

JTAG下载成功,FPGA断电后为何又空了?配图4:SOF调试配置与POF或JIC非易失编程面向不同目标,必须分别验收。
SOF调试配置与POF或JIC非易失编程面向不同目标,必须分别验收。

若Flash校验通过却不上电运行,检查模式脚、上电时序、配置时钟、nSTATUS、CONF_DONE等状态链;若状态链正常而用户功能异常,继续核对启动镜像版本、复位释放与外设初始化。不要在上电失败时立即重新点SOF下载,因为这会绕过故障路径并掩盖现场。

并非所有FPGA都采用外部易失配置,同一厂商不同系列也可能集成非易失单元。这里的判断适用于资料所示的SRAM型器件与外部配置存储器流程。换器件后应以当前器件配置用户指南为准,确认启动模式、文件格式和安全选项。

量产工装也要避免只做在线JTAG功能测试。更可靠的流程是在非易失镜像写入并校验后,断开下载器触发独立冷启动,再读取固件版本或执行基础自检。这样既能发现漏烧Flash,也能发现模式脚、上电时序和配置器件焊接问题,测试结果才对应用户真正的开机路径。


上一篇BOOT0悬空,MCU为何偶发进不了程序? 下一篇两根天线S11都好,互扰为何仍会很大?