本节摘要:把"看懂资源"变成"手里有家伙"。本节给出选开发板的三条硬指标,对比三种典型板型;然后分别走通商用工具链(Vivado、Quartus)与开源工具链(Yosys、nextpnr)的进场流程,直到综合出第一份能落地的比特流。这是全书唯一的"纯准备"环节,但几乎所有后续章节都建立在它之上。
FPGA 学习的第一大流失点不是语法,而是买错开发板。有人图便宜买了几十块钱的 CPLD 板,跑不动需要的资源;有人被厂商宣传冲昏头买了上万的高端板,结果文档全英文、封装复杂,第一个工程都建不起来。这两类人都很容易在一个月内把板子挂上闲鱼。
选板的逻辑其实和 1.1 的选型逻辑同构:先定目标,再定资源,最后看生态。目标决定你需要多少 LUT 和 FF,资源决定你能跑多大的设计,生态决定你遇到问题时有多少人能帮你。
| 板型 | 代表配置 | 价位参考 | 适合人群 | 主要风险 |
|---|---|---|---|---|
| 入门逻辑板 | 几万 LUT、LED/按键/数码管、USB 调试 | 百元级 | 首次接触、只学基础 | 外设少,接口章节缺练手对象 |
| 进阶开发板 | 十万级 LUT、DDR3、HDMI、以太网 | 千元级 | 想深入接口与系统 | 布线较复杂,初次上电要仔细 |
| SoC 开发板 | FPGA 带 ARM 硬核 | 千元到数千 | 学软硬协同 | 门槛高,需要嵌入式基础 |
我的建议很直接:预算内选进阶板,哪怕只多花两百块。理由不是性能,而是 DDR 和 HDMI 这种外设一旦在板子上,你到第 5、6 章就有实物可以折腾——纸上谈兵和真正点通一次 DDR 的差距,只有试过的人懂。
开发板到手后,最重要的动作不是立刻接线,而是先把工具链跑通。工具链的角色,是把 Verilog 代码一步步变成能下载到芯片里的比特流。商用工具链两大主流:Xilinx 系(现 AMD,配套 Vivado)和 Intel 系(配套 Quartus),都提供免费 Web 版许可证,本书全部示例均可覆盖。
安装有几个要点:先装软件后插板子(驱动识别更干净)、安装路径别带中文和空格(编译脚本常有坑)、首次运行下载许可证文件。Vivado 全套安装体积可达数十 GB,只勾选自己用的器件型号可省一半时间——这是装过一次的人都懂的心得。
工程流程一句话概括:新建工程 → 选器件 → 添加 RTL 源码 → 加约束文件(管脚分配)→ 综合 → 实现 → 生成比特流 → 下载。这一步的细节各章节会拆开讲,先追求"跑通一次"。

两条路线值得都知道:商用工具链功能全、IP 丰富、调试器好用,是生产主力;开源工具链完全免费、可自动化、适合学习原理和做小项目。第 9 章会深挖开源路线,这里先装好商用的一套。
第一次跑工具链,别一上来就写复杂设计。目标是"把一个空壳综合成比特流",确认工具链活着。以 Vivado 为例,完整流程大致是:新建工程选器件型号(和你的板子对上)→ 新建一个顶层模块文件 → 写一段最简 Verilog → 添加管脚约束(把 led 引脚指到板子上那颗 LED 对应的物理引脚)→ 依次点综合、实现、生成比特流 → 连接下载器下载。
最简可综合设计长这样:
// 第一个可综合模块:把时钟分频后驱动一颗 LED // 板载晶振通常为 50MHz,此处分频约 25 万分之一,LED 每秒翻转两次 module blink( input clk, // 板载时钟,50MHz input rst_n, // 低电平复位 output led // 板载 LED ); reg [24:0] cnt; always @(posedge clk or negedge rst_n) begin if (!rst_n) cnt <= 25'd0; else cnt <= cnt + 1'b1; end assign led = cnt[24]; // 最高位每 33ms 翻转一次 endmodule
这段代码有两个地方马上会用上第 2 章的知识:posedge clk 描述时序逻辑,cnt <= cnt + 1 用非阻塞赋值——现在先照抄,第 2 章会解释为什么必须这么写。如果综合报错,八成是器件型号选错或管脚约束文件没加,对着报错把这两处改对就行。
问:综合和实现都通过了,下载时却报"设备不存在"或校验失败,怎么排查?答:按顺序查四样——电源(芯片和下载器都要供电,开发板常用跳线开关,忘拨是头号原因)、下载线连接(JTAG 线序和连接器方向,插反是常态)、驱动与工具识别(下载器驱动没装或被杀毒软件拦了,重装驱动再看工具能否枚举设备)、板子是否被占用(其他程序占着 JTAG,关掉再试)。下载能枚举到设备但校验失败,再考虑升级下载器固件或换线。先把"能不能枚举设备"当作第一关卡,这一步过了,问题范围就缩小一半。
💡 关键直觉:第一次跑通综合,重点不是理解每个按钮,而是建立"代码 → 工具 → 芯片"的路径感。之后再回头看每个步骤的细节,会容易十倍。
下一步进入第 2 章:材料认齐、工具就位,开始砌墙——Verilog 组合逻辑建模登场。