在 FPGA 开发中,掌握 Git 等源码管理工具已经是必备技能。
在使用 Vivado 时,我们不仅需要处理源代码控制,还需要处理以 IP 为中心的设计产品。Vivado 的工程通常是 IP 为中心的设计,包含:
- IP Integrator Block Diagram
- 各类 IP 实例(独立 IP 或 BD 内 IP)
- 自动生成的包装文件与工程产物
这让很多 FPGA 工程师一开始会觉得:
'Vivado 项目到底该怎么和 Git 一起用?'
好消息是,从 Vivado 2022.1 开始,这一切已经变得非常清晰、也非常容易。
Vivado 2022.1 之后最重要的变化:源文件与生成文件分离
在 Vivado 2022.1 之前:
源文件和生成文件全部混在同一个 .srcs 目录中。

而从 Vivado 2022.1 起,工程目录被明确拆分为:
- .srcs:源文件
- .gen:生成文件
这一点非常关键。
这意味着:
只要我们保存 .srcs 目录 + .xpr 工程文件,就可以在任何地方完整重建 Vivado 工程。
示例工程说明
示例使用 Vivado 2024.1 创建了一个新工程,目标板卡为 Avnet ZU Board。
IP Integrator 设计包含:
- Zynq MPSoC Processing System
- Smart Interconnect
- AXI BRAM Controller
此外还加入了自定义 RTL 文件,通过 UART 提供 AXI 访问,用来演示自定义 RTL 与 IP 设计共存的情况。
完成后的 Block Diagram 如下:

Vivado 工程目录结构解析
1️⃣ .srcs 目录

imports/ 下是用户添加的 VHDL / Verilog 源文件

bd/ 下是 IP Integrator 的 Block Diagram









