把 Vivado 项目放心交给 Git:一篇 FPGA 工程师必读的实战指南

之前分享过一篇文章《FPGA 版本管理三种方式:你会选哪一种?》,评论区很多人都推荐使用Git进行版本管理,今天这篇文章主题就是使用Git进行备份指南。

在 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

ip/ 下是各个 IP 的 .xci 配置文件

👉 这些都是必须纳入 Git 管理的内容

2️⃣ .gen 目录

.gen 中包含:

自动生成的顶层 wrapper

IP 的生成文件

综合与仿真所需的中间文件

👉 这些文件不需要提交到 Git

将 Vivado 工程加入 Git 仓库

假设你已经在 GitHub 上创建了一个空仓库,下面是核心的步骤。

初始化仓库

git init

添加 Vivado 工程文件

只需要添加两部分:

git add git_demo.srcs/* git add git_demo.xpr

提交到本地仓库

提交这些文件并附带一条消息。

git commit -m "initial issue"

你会看到:

.xpr

RTL / VHDL 文件

IP .xci 文件

都已经被 Git 跟踪。

绑定远程仓库并推送

git remote add origin <url> git push -u origin master

此时在 GitHub 网页上,就可以看到完整的 Vivado 工程源文件了。

从 Git 仓库重建 Vivado 工程

为了验证流程是否正确,我们新建一个文件夹:

git clone <repo_url>

然后直接打开 .xpr 文件。

我们需要重新生成顶层 wrapper,重新生成 IP,正常完成综合与实现即可。

整个流程无需额外脚本,运行非常顺利。

小结

Vivado 2022.1 之后,工程结构已经非常适合 Git 管理

只需管理 .srcs + .xpr

IP、BD、RTL 都能自然融入 Git 流程

Vivado 工程终于可以像软件工程一样被“正常管理”

上面只是简单的使用,后续文章将继续介绍高级点的用法及 Vitis 与源码管理的协同方式。

Read more

【AIGC文生图】通义万相2.1应用拓展与蓝耘云平台实践

【AIGC文生图】通义万相2.1应用拓展与蓝耘云平台实践

探索调参之道:通义万相2.1应用拓展与平台调优实践 近年来,随着生成模型不断迭代升级,通义万相在图像生成领域的表现愈发引人瞩目。相比于基础的文生图使用,如何在平台应用拓展和参数调优上发掘更大潜力,已成为众多开发者与工程师关注的热点。本文将从实际应用案例出发,分享一些调参心得与平台优化策略,并着重探讨蓝耘GPU平台在这方面的独特优势,力求帮助读者快速上手并走上创新之路。 一、通义万相2.1来临 前几日,通义官方发布了万相最新文生图模型2.1。 通义万相2.1在模型底层和交互体验上都有显著升级,具体来说: * 模型参数与语义理解升级 新版本参数规模已经突破千亿级别,使得对输入文本的语义捕捉更为精准,能更好地理解复杂描述,生成的图像在细节和质感上都有明显提升。与此同时,内置的智能改写功能可以自动优化用户输入,使得图像风格和表现更符合预期。 * 生成速度与细节表现的提升 得益于优化的算法和模型架构,生成速度大幅加快,尤其在高分辨率(最高支持200万像素)输出时,依然能保持流畅高效。同时,细节表现力增强后,无论是人物表情、光影效果还是场景布置,都能呈现得更加生动自

TRAE vs Qoder vs Cursor vs GitHub Copilot:谁才是真正的“AI 工程师”?

引言:工具选择 = 成本 + 效率 + 风险 的综合权衡 2026 年,AI 编程工具已从“玩具”走向“生产主力”。但面对 TRAE、Qoder、Cursor、GitHub Copilot 等选项,开发者不仅要问: * 它能写 Rust 吗?支持中文需求吗? * 更要问:一个月多少钱?团队用得起吗?代码安全有保障吗? 本文将从 五大核心维度 深度剖析四大主流 AI IDE: 1. 核心理念与自主性 2. 多语言与跨生态支持能力 3. 工程化与交付闭环能力 4. 中文本地化与业务适配 5. 收费模式、定价策略与企业成本 帮你做出技术可行、经济合理、风险可控的决策。 一、核心理念:

【实战】从零搭建GEO多平台监控系统:支持ChatGPT、豆包、Kimi、文心一言

【实战】从零搭建GEO多平台监控系统:支持ChatGPT、豆包、Kimi、文心一言

【实战】从零搭建GEO多平台监控系统:支持ChatGPT、豆包、Kimi、文心一言 背景 Sora死了。 我的第一反应不是"AI完了",而是"我的监控代码要不要改"。 因为之前我专门写了Sora的监控脚本。 Sora一关,代码废了。 痛定思痛,我决定写一套通用的GEO多平台监控方案。 本文分享完整代码,支持:ChatGPT、豆包、Kimi、文心一言、通义千问。 系统架构 ┌─────────────────────────────────────────────────────────┐ │ GEO多平台监控系统 │ ├─────────────────────────────────────────────────────────┤ │ │ │ ┌───────────┐ ┌───────────┐ ┌───────────┐ │ │ │ 任务调度 │→ │ 平台查询 │→ │ 结果分析 │ │ │ └───────────┘ └───────────┘ └───────────┘ │ │ ↑ ↓ ↓ │ │ └──── 告警通知 ←────── 报告生成 ←─

【FPGA/EDA】Quartus 18.0 软件安装及 ModelSim 环境配置

【FPGA/EDA】Quartus 18.0 软件安装及 ModelSim 环境配置

最近在上《EDA技术》这门电气专业的任选课,用到了Quartus 18.0和ModelSim软件工具进行波形图仿真,安装及配置教程十分曲折晦涩,故作此篇笔记用以记录。 软件资源及安装方法大纲由以下链接提供,以此为基准,本文只重点说明其中可能会遇到的问题及如何配置内部ModelSim波形图仿真工具。 在此感谢这位作者为大众提供了安装包资源及非常详细的安装教程!微信公众平台https://mp.weixin.qq.com/s?__biz=MzA4MjU4MTg2Ng==&mid=2247552337&idx=4&sn=c743d0f98c0b1be42fa7e92f9ea4f51a&chksm=9f81cd54a8f64442c4e7cc206e0907e56feee88ed8b30cb00ea7a72b797d4bbe406219c962d1&scene=178&cur_album_id=3421644748383879180&search_click_id=#rd  一、Quartus 18.0 软件安装中可能会遇到的问题