2. 开发环境搭建:Vivado/Quartus安装、仿真工具配置、版本控制(Git)初始化、项目目录结构设计
好,咱们正式开始动手了。这一章说白了就是「磨刀」——把开发环境搭好,后面写代码才不闹心。我见过太多新手一上来就急着写Verilog,结果装个工具装三天,最后发现版本不对,又重来。嗯,咱们别走这个弯路。
2.1 选哪个工具?Vivado vs Quartus
先说说这两个主流IDE。我个人习惯是:做Xilinx的片子就用Vivado,做Intel(原Altera)的片子就用Quartus。听起来像废话?其实这里有个坑——版本兼容性。
两个工具的核心区别,我整理了个表:
| 对比项 | Vivado (Xilinx) | Quartus (Intel) |
|---|---|---|
| 主流器件 | Artix-7, Kintex-7, Zynq, Virtex | Cyclone V, Arria 10, Stratix 10 |
| 仿真器 | 自带XSim | 自带ModelSim (OEM版) |
| 安装包大小 | 约30-50GB (全功能) | 约15-25GB (全功能) |
| 学习曲线 | 中等偏陡 | 相对平缓 |
| IP核生态 | 非常丰富 | 也很丰富,但部分收费 |
你想想看,如果你只是做个小实验,用Quartus Lite版(免费)就够了。但要做高速收发器这类东西,我建议还是上Vivado——它的SerDes IP核支持更全。
2.2 安装流程与避坑指南
安装过程其实挺无脑的,但有几个关键点我得提醒你:
- 路径不要有中文和空格。我见过有人装到「D:\FPGA工具\Vivado 2022」——结果编译报错,查了半天是空格惹的祸。
- 安装时勾选「Device Libraries」。默认只装当前选中的器件,但万一你以后换板子呢?我建议全选,反正硬盘现在也不贵。
- 仿真工具单独配。Vivado自带的XSim够用,但如果你习惯用ModelSim或QuestaSim,记得在Tools → Settings → Tool Settings里指定路径。
2.3 仿真工具配置:让波形说话
仿真,说白了就是「让代码跑一遍,看看波形对不对」。我个人习惯用Vivado自带的XSim + GTKWave的组合——XSim跑仿真,GTKWave看波形,轻量又好用。
配置步骤其实很简单:
- 在Vivado里新建一个仿真文件(.v或.sv)
- 写好testbench,记得加`timescale 1ns/1ps`
- 在Flow Navigator里点「Run Simulation」→「Run Behavioral Simulation」
但如果你用Quartus,默认的ModelSim需要额外配置:
# 在Quartus中设置ModelSim路径
Assignments → Settings → EDA Tool Settings → Simulation
选择 ModelSim-Altera,指定安装路径
2.4 Git初始化:版本控制不是摆设
做FPGA项目,版本控制太重要了。我见过有人把代码存在「final_v2_真的不改了.v」这种文件里——结果改了三版后自己都分不清哪个是最终版。Git就是来解决这个问题的。
初始化步骤:
# 在项目根目录下
git init
git add .
git commit -m "Initial commit: 项目骨架"
但要注意,Vivado/Quartus生成的文件很多是二进制或临时文件,不需要全部提交。我建议创建.gitignore文件,过滤掉这些:
# Vivado
*.jou
*.log
*.str
*.xpr
*.rpt
*.bit
*.bin
.cache/
.runs/
.hw/
# Quartus
*.qws
*.db/
*.rpt
*.sof
*.pof
incremental_db/
git status看看哪些文件变了。如果发现不该提交的临时文件,赶紧更新.gitignore。这样仓库保持干净,别人拉下来也能直接跑。
2.5 项目目录结构设计:别让文件乱飞
一个好的目录结构,能让你的项目活得更久。我见过最惨的案例:所有文件堆在桌面,最后找不到源码,只能重写。所以,咱们从一开始就定好规矩。
我推荐的结构是这样的:
project_name/
├── src/ # 源码
│ ├── rtl/ # 可综合的Verilog/VHDL
│ ├── sim/ # testbench
│ └── ip/ # IP核文件
├── constraints/ # 约束文件 (.xdc / .sdc)
├── scripts/ # Tcl脚本、Makefile
├── docs/ # 文档、笔记
├── sim/ # 仿真输出
├── build/ # 综合/实现结果
├── .gitignore
└── README.md
你想想看,这样分好类,找文件是不是一目了然?而且用Git管理时,每个目录的变更历史也清晰。
2.6 知识体系总览
为了让你对整个开发环境搭建有个全局认识,我画了张图:
这张图把咱们这章的核心逻辑串起来了:从工具选择开始,到安装配置、仿真工具、版本控制,最后汇聚成一个可复现的开发环境。说白了,就是让你少走弯路,一次搭好,后面安心写代码。
2.7 小结
嗯,这一章内容不少,但都是实打实的经验。你照着做,环境搭好后,记得跑个简单的LED闪烁工程验证一下。如果仿真能出波形,综合能出bit文件,那恭喜你——开发环境搭建成功了。
可可精品资料库