第1章:FPGA开发环境搭建

大家好,我是你们的讲师。做FPGA这行十几年了,从Altera的Quartus II 9.0用到现在的Vivado 2024,踩过的坑比走过的路还多。今天咱们聊聊开发环境搭建——别小看这一步,我见过太多新手卡在安装配置上,一卡就是半天。

1.1 Vivado安装:Xilinx用户的必修课

Vivado是Xilinx(现在叫AMD)的官方工具。说实话,这玩意儿越来越臃肿了。我记得2012年刚出Vivado时,安装包才几个G,现在?动辄几十G。但没办法,功能确实强大。

安装前准备:

  • 硬盘空间:至少留80GB,我建议100GB以上
  • 内存:16GB起步,32GB更稳
  • 操作系统:Windows 10/11 64位,或者Ubuntu 18.04+
  • 网络:下载时别断,否则重下很痛苦
注意:Vivado对中文路径支持不好。我有个同事把项目放在"桌面/项目"下,结果综合时报错,查了半天才发现是路径里有中文。所以,安装路径和项目路径都别用中文!

安装步骤:

  1. 去官网下载Vivado HLx安装包(约30-40GB)
  2. 双击运行,选择"Vivado HL Design Edition"(够用了)
  3. 勾选器件支持:7系列、UltraScale、Versal等,按需选
  4. 安装路径:我习惯用 C:\Xilinx\Vivado\2024.1
  5. 等...大概1-2小时,取决于你的电脑
小技巧:安装时把杀毒软件关了,能快不少。我上次开着360装,硬是装了3个多小时。

1.2 Quartus安装:Intel FPGA的标配

Quartus Prime是Intel(原Altera)的工具。如果你用Cyclone系列或Arria系列,那必须装它。我个人觉得Quartus比Vivado轻量一些,但功能一点不差。

版本选择:

版本 适用场景 特点
Quartus Prime Pro 高端器件(Stratix 10、Agilex) 功能最全,但收费
Quartus Prime Standard 主流器件(Cyclone V、Arria 10) 免费版够用
Quartus Prime Lite 低端器件(Cyclone IV、MAX 10) 完全免费,功能受限

我建议初学者用Lite版,免费且够用。等做复杂项目了再升级。

安装要点:

  • 下载地址:Intel官网,需要注册账号
  • 安装时选"单独安装Quartus",别装ModelSim(后面单独配)
  • 器件支持包:只勾选你需要的,全选的话...硬盘会哭

我的经验:Quartus的License管理比较麻烦。如果你用Lite版,不需要License。但Standard版需要申请免费License,记得用网卡MAC地址绑定。

1.3 ModelSim/VCS配置:仿真工具的选择

仿真,说白了就是让你的代码在电脑上先跑一遍。我刚开始做FPGA时,觉得仿真浪费时间,直接上板调。结果?烧坏了两块板子才老实了。

ModelSim:

  • 适合小规模设计,编译速度快
  • Intel版免费,Xilinx版需要单独装
  • 命令行操作:vsim -c -do run.tcl

VCS:

  • Synopsys家的,适合大规模设计
  • 速度快,但配置复杂
  • 需要License,一般公司才用

配置步骤(以ModelSim为例):

  1. 安装ModelSim(约2GB)
  2. 设置环境变量:MODELSIM_HOME指向安装目录
  3. 编译库文件:vlib work
  4. 写个简单的testbench测试一下
// 简单的testbench示例
module tb_counter;
    reg clk;
    reg rst_n;
    wire [3:0] count;
    
    counter uut (
        .clk(clk),
        .rst_n(rst_n),
        .count(count)
    );
    
    initial begin
        clk = 0;
        forever #5 clk = ~clk;  // 100MHz时钟
    end
    
    initial begin
        rst_n = 0;
        #20 rst_n = 1;
        #200 $finish;
    end
endmodule
避坑指南:我曾经在ModelSim里编译Xilinx的库,结果报了一堆错。后来发现是库版本不对。记住:ModelSim版本要和Vivado版本匹配,否则仿真时会出现莫名其妙的时序问题。

1.4 Git基础:版本管理的救命稻草

做FPGA项目,代码版本管理太重要了。我见过有人用"final.v"、"final_v2.v"、"真的最终版.v"这种命名方式...结果呢?改出bug了都不知道从哪回退。

Git基本操作:

  • git init:初始化仓库
  • git add .:添加所有文件
  • git commit -m "描述":提交版本
  • git log:查看历史
  • git checkout:回退版本

FPGA项目的.gitignore示例:

# 忽略生成文件
*.jou
*.log
*.str
*.bit
*.rpt
*.dcp
*.xdc.bak

# 忽略缓存
.ip_cache/
.runs/
.sdk/
我的习惯:每次综合或实现前,先commit一次。这样如果新改动导致问题,可以快速回退。另外,分支管理也很重要——master分支只放稳定版本,开发在dev分支上进行。

常用Git工作流:

  1. 克隆项目:git clone url
  2. 创建分支:git checkout -b feature/xxx
  3. 开发、测试、提交
  4. 合并到主分支:git merge
  5. 推送远程:git push

总结一下:环境搭建看似基础,但直接影响后续开发效率。Vivado和Quartus选一个就行,别贪多。仿真工具必须配好,这是调试的利器。Git一定要用,别等到代码丢了才后悔。

好了,这一章就到这里。下一章我们聊聊Verilog基础语法——别觉得简单,很多老手都会在语法上翻车。咱们下章见!