FPGA 开发入门:Vivado 下载与烧录流程详解
你是否遇到过这样的情况?写好了 Verilog 代码,综合实现一路绿灯,结果点下'Download'按钮时 Vivado 卡住不动;或者好不容易下载成功,断电再上电,FPGA 却像失忆了一样,什么都没运行。
别急,这几乎是每个 FPGA 初学者都会踩的坑。问题不在你的代码,而在于你还没搞清楚一个关键区别:'临时下载'和'永久烧录'是两回事。
今天我们就来彻底讲明白:从你在电脑上点开 Vivado 开始,到 FPGA 真正稳定运行你的设计为止,这一整套流程到底是怎么走的。不绕术语,不说空话,只讲你实际会用到的东西。
一、先搞清一件事:为什么 FPGA 要'下载'两次?
很多新人困惑的第一个问题是:
'我都把.bit 文件下进去了,为啥断电就没了?'
答案很简单:FPGA 本质是一块超大规模的 SRAM 电路板。它内部没有存储能力,所有逻辑配置都是靠上电时加载的一串'开关指令'(也就是比特流)来决定的。一旦断电,这些开关状态全归零。
所以,我们通常说的'下载',其实分两个层次:
| 类型 | 目标位置 | 是否掉电保存 | 用途 |
|---|---|---|---|
| JTAG 下载 | FPGA 内部 SRAM | ❌ 否 | 调试验证阶段 |
| Flash 烧录 | 外部 SPI Flash 芯片 | ✅ 是 | 产品固化部署 |
你可以把前者想象成用 U 盘直接运行程序(即插即用),后者则是把系统装进硬盘里开机自动启动。
接下来我们就一步步拆解这两个过程。
二、第一步:通过 JTAG 把程序'临时'跑起来
1. 准备工作:软硬件都得在线
在动手前,请确认以下几点已经就绪:
- ✅ Vivado 已安装(推荐 2023.1 及以上版本)
- ✅ Xilinx USB Cable 驱动已正确安装(Windows 设备管理器中能看到'Xilinx JTAG Cable')
- ✅ 开发板供电正常(最好用外接电源,别靠 USB 口硬撑)
- ✅ JTAG 线连接无误(注意引脚方向,别反插)
如果 Vivado 打不开 Hardware Manager 或提示'no hardware found',90% 的问题出在这一步。
🔧 小贴士:如果你用的是 Digilent 下载器(比如 Nexys 系列常用),记得额外安装 Digilent Adept Runtime,否则可能无法识别。
2. 工程走到哪一步才能下载?
当你完成以下流程后,就可以准备下载了:
编写 HDL → 添加 XDC 约束(管脚 + 时钟) → 综合 (Synthesis) → 实现 (Implementation) → 生成比特流 (Generate Bitstream)
其中最关键的一步是 Generate Bitstream,它会输出一个 .bit 文件,这是 FPGA 能读懂的'二进制配置文件'。
⚠️ 注意:
.bit文件默认路径通常是./<project>.runs/impl_1/top.bit,名字取决于顶层模块名。
3. 打开 Hardware Manager,连上 FPGA
点击菜单栏 Open Hardware Manager → Open Target → Auto Connect。
这时你会看到 JTAG 链上的设备被扫描出来,通常是你的 FPGA 芯片(比如 xc7a35t_0)。

