只读分享解决方案文档调试&解决方案📅 2026-09-21🔖 Rev 1.0⏳ 29天有效(至 2026-10-31)
🔧解决方案&应用市场分析 -> 调试&解决方案 -> 存储_样机问题测试 -> XT25W1GBSFIGA_ISE_iMPACT固化烧录教程

XT25W1GBSFIGA_ISE_iMPACT固化烧录教程

生成时间 2026-09-24 17:29:48 有效期至 2026-10-31 23:59:59(29天有效(至 2026-10-31))
同系列 · 调试&解决方案

XT25W1GBSFIGA 基于 ISE iMPACT 的固化烧录教程

编制日期 2026-09-21 | 版本号 Rev 1.0

面向 Xilinx 7 系列 / Spartan-6 FPGA 外挂 XTX 1 Gbit SPI NOR Flash 的间接编程(Indirect Programming)操作规范 · 依据《ISE 软件 iMPACT 固化教程》改编扩充 · 2026-09

128 MB
XT25W1GBSFIGA 实际容量(1 Gbit)
SOP16-300mil · 1.65~3.6V · 104 MHz · Page 256 B
32 MB
iMPACT 单次可寻址上限
选 N25Q256 时的可写窗口,仅占全片 1/4
1 个
必须设置的环境变量
XIL_IMPACT_SKIPIDCODECHECK=1,否则 ID 校验必失败
9 步
打开 iMPACT → Program Succeeded
擦除 + 编程 + 校验,典型耗时 3~10 分钟

一句话结论:XT25W1GBSFIGA 不在 Xilinx 官方器件白名单里,iMPACT 既认不出它的 JEDEC ID、也没有 1 Gb 的容量档位。要让 iMPACT 正常工作只有一条路:先设环境变量 XIL_IMPACT_SKIPIDCODECHECK=1 绕开 ID 校验,再在「Select Attached SPI/BPI」里按容量降档选同体系的美光 N25Q256(可写前 32 MB)或 N25Q128(可写前 16 MB,最稳)。超过 32 MB 的部分 iMPACT 无能为力,必须换 Vivado 或专用烧录器。

这份文档解决什么

  • Vivado Hardware Manager 因 Invalid device ID 拒绝烧录 XT25W1GBSFIGA 时,如何改走 ISE iMPACT。
  • iMPACT 弹 ID Check failed / 找不到对应型号时,应该选哪个型号、为什么。
  • 1 Gb(128 MB)器件用 iMPACT 只能写前 32 MB,这个边界怎么理解、怎么规避。
  • 烧完以后怎么确认「真的固化成功了」,以及常见失败现象的定位路径。

不适用于

  • 需要把 128 MB 全片写满的场景(iMPACT 做不到,见 第 4 章 方案三)。
  • UltraScale / UltraScale+ / Zynq-7000 的 QSPI 启动配置(那是 Vivado 的领地)。
  • 把 XT25W1GB 当作文件系统或大容量数据存储来量产烧录(应走离线烧录器)。

1. 适用范围与准备清单

先把「这套方法成立的前提」钉死——iMPACT 走的是间接编程:它不直接碰 Flash,而是往 FPGA 里塞一段桥接位流,借 FPGA 的 I/O 模拟 SPI 时序去擦写 XT25W1GB。理解这一点,后面所有的现象(慢、容量受限、依赖 FPGA 型号)就都能解释了。

PC / 工作站ISE 14.7 iMPACTWindows 环境JTAG 下载器Platform Cable USB II或 Digilent HS2Xilinx FPGAxc7k325t / xc6slx..内部临时桥接位流XT25W1GBSFIGA1 Gbit SPI NORSOP16-300milUSBJTAGTDI · TDO · TCK · TMSSPI x1CCLK · FCS_B · DQ0~DQ3关键点:iMPACT 不直接访问 Flash,而是把桥接位流载入 FPGA,由 FPGA 引脚产生 SPI 时序。走线信号完整性直接决定烧录成败——这也是最常见的隐性故障源。
图 1 · iMPACT 间接编程(Indirect Programming)系统连接拓扑

1.1 软件 / 硬件 / 文件准备

类别项目要求与说明
软件ISE Design Suite 14.7必须使用完整版 Xilinx_ISE_DS_Win_14.7;仅装 LabTools 也可,但需含 iMPACT。
软件Vivado(配套)与 FPGA 器件系列匹配的版本,用于生成 .bit 与 .mcs。
软件下载器驱动ISE 自带 Platform Cable 驱动;Digilent 下载器需装 Adept / Vivado Cable Driver。
硬件FPGA JTAG 下载器Platform Cable USB II、Digilent HS2/HS3、或兼容的国产下载器。
硬件目标板FPGA 与 XT25W1GBSFIGA 的 SPI 走线已连通,且 VCCO_0(配置 Bank)电压与 Flash VCC 一致。
文件XXX.bitVivado 综合实现后生成,仅用于让 iMPACT 识别 FPGA 型号。
文件XXX.mcs由 .bit 经 write_cfgmem 转换而来,这才是写进 Flash 的数据。见第 8 章。
最容易漏的一条

生成 .mcs 时填的 Flash 容量,必须和 iMPACT 里选的型号容量一致(例如 iMPACT 选 N25Q256,write_cfgmem 就得按 32 MB 生成)。两者不一致会直接报 size 超出或校验失败。详见 第 8 章。

1.2 硬件侧的三个硬前提

  1. 电压同一轨:XT25W1GBSFIGA 是 1.65~3.6 V 宽压器件,但上电时它必须和 FPGA 配置 Bank(VCCO_0)在同一电平。3.3 V 系统就都跑 3.3 V,1.8 V 系统就都跑 1.8 V。
  2. SPI 走线完整:至少 CS#、SCLK、SI/IO0、SO/IO1 四根线要通;若后续要 x4 启动,WP#/IO2、HOLD#/IO3 也必须接到 FPGA。
  3. Flash 未被锁死:确认状态寄存器的块保护位(BP 位)与 WP# 引脚没有把整片写保护;被保护时 iMPACT 会在 Erase 阶段就失败。

2. 器件速查:XT25W1GBSFIGA

烧录参数(页大小、擦除粒度、容量、地址模式)全部由 Flash 本身决定。这一章把需要用到的参数一次列全,后面选型号、算地址都从这里取数。

XT品牌前缀芯天下 XTX25产品系列SPI NORW工作电压1.65~3.6V1G容量1 Gbit / 128 MBB硬件版本代次代码SF封装SOP16 300milI温度等级-40~+85℃GA尾缀出货/版本代码注:硬件版本 B、尾缀 GA/GT/GU 的精确含义以 XTX 原厂选型手册为准;本文只保证完整料号 XT25W1GBSFIGA 对应「1 Gbit + SOP16-300mil + 工业级」。
图 2 · XT25W1GBSFIGA 料号结构解码(SF = SOP16-300mil,I = 工业级 -40~+85℃)

2.1 关键参数

参数数值对烧录的影响
容量1 Gbit = 128 MB(4 × 32 MB)iMPACT 无此档位,必须降档选型号,可写窗口被限制在前 32 MB。
页大小256 Byte决定页编程(Page Program)的分包粒度;iMPACT 按所选型号的页大小分包,256 B 与 N25Q 系列一致。
扇区 / 块4 KB 扇区;32 KB / 64 KB 块N25Q 体系同样支持 4 KB/32 KB/64 KB 粒度,算法可复用。
地址模式3 字节 / 4 字节可切换16 MB(0x1000000)以上必须切到 4 字节地址,这是 32 MB 以上区域的隐患点。
工作电压1.65 ~ 3.6 V宽压:3.3 V 与 1.8 V 系统都能直接上,但必须与 FPGA 配置 Bank 同轨。
最高时钟104 MHz(标准/双/四线)iMPACT 走 JTAG 桥,实际 SPI 时钟远低于此值,不是瓶颈。
页编程时间0.3 ms(典型)128 MB 全片写满理论下限约 26 分钟;实际受 JTAG 桥速率限制更慢。
块擦除时间0.38 s @32 KB / 0.52 s @64 KB擦除是耗时大头。
整片擦除时间300 s(典型)这解释了为什么 iMPACT 会卡在 Erase 很久——若勾选了整片擦除,等 5 分钟以上是正常的。
擦写寿命10 万次 / 数据保持 10 年量产反复烧录无需担心,但避免无意义的全片擦除。
封装SOP16-300mil(宽体,非 SOP8)硬件替换时注意与 SOP8-208mil 器件不兼容。
XT25W1GBSFIGAXTX 1 Gbit SPI NORWide Voltage Quad I/OSOP16-300milVCC 1.65~3.6 VTop View1HOLD#/IO32VCC3RESET#4NC5NC6NC7CS#8SO/IO116SCLK15SI/IO014NC13NC12NC11NC10VSS9WP#/IO2说明:右侧引脚号自下而上为 9→16,故 9 脚(WP#/IO2)在最下、16 脚(SCLK)在最上,与标准 SOP 封装的逆时针编号一致。
图 3 · XT25W1GBSFIGA(SOP16-300mil)引脚排布与关键信号

来源:LCSC C42162957 公开引脚图(引自 XTX 原厂 Datasheet 的引脚配置图)

引脚以原厂 Datasheet 为唯一准绳

上图取自公开渠道的引脚配置图。投板、改板前务必用 XTX 原厂最新版 Datasheet 复核一遍,尤其是 RESET#(3 脚)与 HOLD#/IO3(1 脚)——不同代次、不同容量的宽体 SOP16 封装,这两脚的定义存在差异,接错会直接导致 Flash 一直处于复位或保持状态,iMPACT 读到全 0xFF 或全 0x00。

2.2 与美光 / 华邦同类器件的对应关系

选型替代与 iMPACT 型号映射都绕不开这张表。XT25W1GBSFIGA 的封装与命令体系与美光 1 Gb 器件对齐,这正是「降档选 N25Q 系列」能够成立的基础。

对比项XT25W1GBSFIGA(XTX)MT25QL01G(Micron)对 iMPACT 选型的意义
容量1 Gbit / 128 MB1 Gbit / 128 MB二者同档,但 iMPACT 都没有 1 Gb 档位可选。
封装SOP16-300mil16-SOIC(SOP2)引脚级兼容,硬件可直接替换评估。
电压1.65 ~ 3.6 V2.7 ~ 3.6 V(另有 1.8 V 版本)XTX 为宽压,1.8 V 系统更友好。
命令体系标准 SPI 指令集N25Q 指令集页编程 / 扇区擦除 / 读 ID 指令一致,算法可套用。
iMPACT 可选项无无(需选 N25Qxxx 等效)这正是本教程要解决的核心矛盾。

3. 问题本质:为何 Vivado 与 iMPACT 都烧不进去

两台工具卡住的原因不一样,必须分开看:Vivado 卡在器件 ID 白名单,iMPACT 卡在 ID 白名单 + 容量档位。看清楚各自的机制,才知道该绕什么。

1 · 下发读 ID 指令命令 0x9F(Read JEDEC ID)2 · XT25W1GB 应答制造商 ID + 容量 ID不在 Micron/Spansion 表内3 · iMPACT 查白名单内建表只有 N25Q / W25Q / S25FL4 · 校验失败ID Check failed烧录中止绕行办法设置环境变量 XIL_IMPACT_SKIPIDCODECHECK=1,iMPACT 跳过 ID 比对,按所选型号的算法继续操作。
图 4 · iMPACT 的 ID 校验链路:XT25W1GB 的应答不在内建白名单内,第 4 步必然报错

3.1 机制一:器件 ID 白名单

Xilinx 工具在做间接编程前,会先通过桥接位流对 Flash 发 0x9F(Read JEDEC ID),把返回的 Manufacturer ID / Memory Type / Capacity 与内建白名单比对。XT25W1GBSFIGA 是 XTX 的料号,自然不在表里,于是:

  • Vivado Hardware Manager 报 ERROR: [Labtools 27-3165] Invalid device ID detected;
  • iMPACT 报 ID Check failed 或直接提示找不到匹配器件。
这不是技术不兼容,是商业认证的结果

XT25W1GB 的指令集与美光 N25Q 体系一致,电气特性也完全满足 7 系列的要求——工具拒绝它仅仅因为 ID 不在认证名单里。因此「绕过 ID 校验 + 套用同体系型号的算法」是一条被 AMD 官方与多家原厂应用笔记共同认可的做法(见 附录 12.2)。

3.2 机制二:iMPACT 的容量天花板(更硬的墙)

即使绕过了 ID 校验,还有第二道限制:iMPACT 14.7 的 SPI PROM 下拉列表里根本没有 1 Gb 档位。这份支持矩阵来自 Xilinx 14.7 官方文档:

厂商系列支持容量适用 FPGA
Micron (Numonyx)N25Q 3.3V32 Mb ~ 256 MbKintex-7、Artix-7
Micron (Numonyx)N25Q 1.8V32 Mb ~ 256 MbKintex-7、Virtex-7、Artix-7
WinbondW25Q 各版本8 Mb ~ 128 MbKintex-7、Virtex-7、Artix-7
SpansionS25FLxxP32 Mb ~ 256 MbKintex-7
SpansionS25FLxxS128 / 256 / 512 MbKintex-7、Virtex-7、Artix-7
Micron (Numonyx)M25P / M25PE / M45PE512 kb ~ 128 MbSpartan-3E/3A/6、Virtex-5/6
——1 Gb / 1024 Mb无对应条目——
注:上表为 7 系列与 Virtex/Spartan 系列的 SPI 间接编程支持范围摘要;完整版以 Xilinx 14.7 pim_r_supported_spi_bpi_proms 文档为准。
1 Gb 是 iMPACT 越不过去的墙

下拉列表里最大的美光条目是 N25Q256(256 Mb = 32 MB)。这意味着无论怎么选,iMPACT 最多只能操作 XT25W1GBSFIGA 的前 32 MB,剩下的 96 MB 完全够不着。这不是配置问题,是工具能力的上限。

如果项目需要用到 32 MB 以外的空间,请直接看 第 4 章 的方案三。

4. 方案总览与选型决策

按「待写镜像落在哪个容量区间」选路,三条路径的边界是清晰的。

待写镜像落在哪个区间?≤ 16 MB:选 N25Q128全程 3 字节地址,最稳妥覆盖绝大多数 7 系列位流16 ~ 32 MB:选 N25Q256触及 iMPACT 容量上界须开 SPI_32BIT_ADDR=YESProgram Succeeded 即完成再按第 9 章做断电重启验证> 32 MB:iMPACT 无解改用 Vivado 或专用烧录器(见方案三)是否注:N25Q128 与 N25Q256 指 iMPACT 下拉列表中的美光条目名,非实际器件型号。
图 5 · 按镜像容量选择 iMPACT 方案的决策树

4.1 三条路径对比

#路径可写范围优点代价 / 限制
方案一iMPACT + N25Q1280 ~ 16 MB全程 3 字节地址,不涉及地址模式切换;兼容性最好,成功率最高。16 MB 以上空间浪费(对 1 Gb 器件而言)。
方案二iMPACT + N25Q2560 ~ 32 MB可写窗口翻倍,能容纳超大位流或双镜像(MultiBoot)。跨越 16 MB 边界需处理 4 字节地址;iMPACT 对此的行为无官方保证,实测存在校验失败案例。
方案三Vivado / 专用烧录器0 ~ 128 MB 全片唯一能用满 1 Gb 容量的路径;Vivado 支持 mt25ql01g 等 1 Gb 配置。需要 Vivado 2020.1 以上;或额外采购支持 XT25W1GB 的离线/在线烧录器。
方案一 · 推荐
iMPACT + N25Q128
位流小于 16 MB 时的一选。绝大多数 7 系列设计(含 xc7k325t)的位流在 10 MB 量级,16 MB 足够。
iMPACT 选型:SPI PROM → N25Q128 · Data Width → 1
方案二 · 谨慎
iMPACT + N25Q256
位流或镜像超过 16 MB、但不超过 32 MB 时使用。必须同时在 Vivado 侧打开 SPI_32BIT_ADDR。
iMPACT 选型:SPI PROM → N25Q256 · Data Width → 1
方案三 · 全容量
Vivado / 专用烧录器
需要写满 128 MB、或把 XT25W1GB 用作数据存储时使用。iMPACT 在此场景下没有补救空间。
Vivado:write_cfgmem -size 128;或第三方烧录器自定义型号
怎么快速判断自己的位流有多大

直接看 Vivado 生成的 .bit 文件大小:字节数 ÷ 1024 ÷ 1024 ≈ MB。例如 11 MB 的位流 → 选 N25Q128;25 MB → 只能选 N25Q256 并走方案二。

若 .bit 尚未生成,也可用 Vivado Tcl 预估:get_property STATS.BITSTREAM_SIZE [current_design] 会给出比特流字节数。