第二章 FPGA开发环境搭建:工欲善其事,必先利其器

做图像滤波的FPGA实现,第一步不是写代码,而是把环境搭好。我见过太多新手卡在安装配置上,一卡就是半天。说实话,这些工具装起来确实有点繁琐,但一次配好,后面就省心了。

这一章,咱们就把Vivado、Quartus、ModelSim、VCS这些家伙搞定。顺便聊聊开发板怎么选。

2.1 Vivado安装——Xilinx用户的必修课

如果你用Xilinx的FPGA,Vivado是跑不掉的。我个人习惯用Vivado 2020.1以后的版本,对图像处理IP的支持更完善。

安装要点:

  • 版本选择:建议Vivado HLx Edition,包含Vivado、Vitis、DocNav全套。别装WebPack,功能受限。
  • 磁盘空间:至少留80GB。我上次装2022.2,光安装包就25GB,解压后更夸张。
  • 操作系统:Windows 10/11 64位或Ubuntu 18.04/20.04。我个人更推荐Linux,编译速度快不少。
  • 安装步骤:下载安装包 → 解压 → 运行xsetup → 选择版本 → 勾选器件(Zynq、Artix、Kintex等)→ 等待1-2小时。
我的小技巧:安装时只勾选你需要的器件族,别全选。全选的话,安装时间能翻倍。我刚开始不懂,选了所有7系列和UltraScale,结果装了3个多小时。

2.2 Quartus安装——Intel/Altera用户的必备

用Intel FPGA的朋友,Quartus Prime是主力。我做过一个项目,客户指定要用Cyclone V,那就得老老实实用Quartus。

版本选择:

  • Quartus Prime Standard:适合Cyclone、Arria系列,稳定。
  • Quartus Prime Pro:适合Stratix 10、Agilex等高端器件,功能更强。
  • Lite版:免费,但器件支持有限。个人学习够用。

安装注意:

  • 先装Quartus,再装ModelSim Intel版(包含在安装包内)。
  • 记得勾选USB-Blaster驱动,不然下载线连不上。
  • 环境变量要配好:QUARTUS_ROOTDIR指向安装路径。
避坑指南:我曾经在Windows上装Quartus 18.1,结果因为路径里有中文,编译一直报错。折腾了两小时才发现。记住:安装路径不要有中文,不要有空格!

2.3 仿真工具配置——ModelSim与VCS

仿真,说白了就是让你的代码在电脑上先跑一遍。我做过一个5x5的均值滤波,直接烧到板子上才发现边界处理有问题。要是先仿真,10分钟就能发现。

2.3.1 ModelSim配置

ModelSim是FPGA仿真最常用的工具。Vivado和Quartus都自带,但独立版功能更全。

配置步骤:

  1. 安装ModelSim SE/DE版本(建议2020.4以上)。
  2. 设置环境变量MODELSIM_HOME。
  3. 在Vivado中设置:Tools → Settings → Tool Settings → 3rd Party Simulators → ModelSim,指定路径。
  4. 在Quartus中设置:Assignments → Settings → EDA Tool Settings → Simulation,选择ModelSim。

常用命令示例:

# 编译设计文件
vlog -work work top.v
# 编译testbench
vlog -work work tb_top.v
# 启动仿真
vsim -voptargs=+acc work.tb_top
# 添加波形
add wave -r /*
# 运行
run 10 us

个人经验:我习惯在仿真脚本里加上-voptargs=+acc,这样能看到所有内部信号。不然有些信号被优化掉了,查bug时急死人。

2.3.2 VCS配置(Linux环境)

VCS是Synopsys家的,主要用于ASIC验证。但做FPGA时,如果设计要转ASIC,用VCS仿真更稳妥。

配置要点:

  • 需要安装Synopsys License Server。
  • 设置VCS_HOME和LM_LICENSE_FILE环境变量。
  • 在Vivado中设置VCS路径:Tools → Settings → 3rd Party Simulators → VCS。

VCS仿真流程:

# 编译
vcs -full64 -sverilog -debug_access+all top.v tb_top.v
# 运行
./simv -l run.log
# 查看波形
dve -vpd vcdplus.vpd &
小提示:VCS编译速度比ModelSim快不少,但配置麻烦。我建议初学者先用ModelSim,等需要大规模仿真时再上VCS。

2.4 FPGA开发板选型——别买错了

开发板选型,说白了就是看你的项目需求。我做图像滤波,主要关注这几点:

需求 推荐芯片 推荐开发板 参考价格
入门学习 Artix-7 XC7A35T Nexys A7 / 正点原子开拓者 ¥500-1000
图像处理 Zynq-7020 ZedBoard / 米联客Z7 ¥1500-3000
高清视频 Kintex-7 / Zynq UltraScale+ KC705 / ZCU104 ¥5000-15000
量产验证 Cyclone V / Arria 10 DE10-Nano / Arria 10 GX ¥2000-8000

选型建议:

  • 初学者:选Artix-7或Cyclone IV,便宜、资料多。我第一个项目就是用Nexys A7做的。
  • 图像滤波:强烈推荐Zynq系列。ARM+FPGA的架构,ARM跑算法控制,FPGA做像素级加速,绝配。
  • 注意外设:要有HDMI输入输出、DDR3/DDR4、摄像头接口。不然你图像数据从哪来?
  • 调试接口:JTAG是必须的,最好有USB-UART,方便打印调试信息。
我曾经踩过的坑:买了一块只有VGA输出的板子,结果想接HDMI显示器还得转接,信号质量差得一塌糊涂。后来换了块带HDMI的板子,世界清净了。所以,外设接口一定要提前想清楚。

2.5 知识体系总览

下面这张图,把本章的核心逻辑串起来了。你一看就明白:

FPGA开发环境搭建知识体系 工具安装 仿真配置 硬件选型 Vivado (Xilinx) Quartus (Intel) ModelSim VCS (Synopsys) 入门:Artix-7 / Cyclone IV 进阶:Zynq / Kintex-7 核心要点 ① 安装路径不要有中文 ② 仿真先于烧录 ③ 外设接口要匹配 ④ 磁盘留足空间 ⑤ 版本选对不选新

嗯,这张图把工具安装、仿真配置、硬件选型串起来了。你照着这个框架去搭环境,不会乱。

2.6 环境验证——跑个Hello World

环境搭好没?跑个最简单的LED闪烁就知道了。我每次换电脑,第一件事就是跑这个,验证工具链通不通。

Vivado版本:

module led_blink(
    input  clk,
    input  rst_n,
    output reg led
);
    reg [23:0] cnt;
    always @(posedge clk or negedge rst_n) begin
        if (!rst_n)
            cnt <= 0;
        else
            cnt <= cnt + 1;
    end
    always @(posedge clk or negedge rst_n) begin
        if (!rst_n)
            led <= 0;
        else
            led <= (cnt == 24'hFFFFFF);
    end
endmodule

Quartus版本: 代码几乎一样,只是约束文件写法不同。Vivado用XDC,Quartus用SDC。

验证步骤:综合 → 实现 → 生成比特流 → 下载到板子。如果LED能闪烁,恭喜你,环境通了!

好了,环境搭好,工具配齐,板子到手。下一章咱们就开始写真正的图像滤波代码了。记住:环境是基础,基础不牢,地动山摇。


可可精品资料库