01
版本控制基础
为什么FPGA项目需要版本控制?Git与SVN的对比与选择。
入门核心概念
02
Git环境搭建
在Windows/Linux下安装Git,配置用户信息与SSH密钥。
环境配置
03
Git核心概念
工作区、暂存区、本地仓库、远程仓库的关系与操作流程。
理论工作流
04
Git基本操作
git init、add、commit、status、log的使用。
实操必备
05
分支管理策略
Git Flow、GitHub Flow、GitLab Flow在FPGA项目中的适用性。
分支策略
06
分支操作实战
创建、切换、合并、删除分支,解决合并冲突。
实战冲突
07
远程仓库协作
git clone、push、pull、fetch的用法与区别。
远程协作
08
标签与发布管理
使用git tag管理版本号,语义化版本规范。
发布标签
09
.gitignore文件
如何忽略FPGA编译中间文件(.rpt、.jou、.log等)。
配置FPGA
10
仓库结构设计
FPGA项目目录组织规范(src、sim、constr、doc等)。
规范结构
11
IP核管理
如何用Git管理第三方IP核与自研IP核。
IP复用
12
代码审查流程
Pull Request/Merge Request的创建、评审与合并。
审查协作
13
持续集成基础
GitLab CI/CD与Jenkins在FPGA项目中的应用。
CI/CD自动化
14
自动化编译
编写脚本自动触发Vivado/Quartus编译与回归测试。
脚本编译
15
版本回退与修复
git reset、revert、cherry-pick的使用场景。
回退修复
16
多人协作冲突处理
常见冲突类型(RTL、约束、IP配置)及解决方案。
冲突协作
17
Git Hooks
利用pre-commit钩子自动检查代码风格与语法。
钩子自动化
18
子模块管理
git submodule管理共享模块与公共库。
子模块模块化
19
大文件存储
Git LFS管理大型比特流文件与仿真波形。
LFS大文件
20
版本历史可视化
gitk、git log --graph、SourceTree的使用。
可视化工具
21
团队角色定义
项目经理、架构师、开发工程师、验证工程师的职责。
团队角色
22
工作流规范
每日站会、任务分配、进度跟踪(Jira/禅道)。
敏捷管理
23
代码规范制定
RTL命名规范、注释规范、文件头模板。
规范RTL
24
文档管理
需求文档、设计文档、测试文档的版本同步。
文档同步
25
仿真验证协作
共享testbench与测试用例,统一仿真环境。
仿真验证
26
硬件调试协作
ChipScope/SignalTap调试数据的共享与复现。
调试硬件
27
版本发布流程
从开发分支到发布分支的完整流程。
发布流程
28
紧急补丁管理
hotfix分支的创建与合并策略。
hotfix补丁
29
项目复盘与知识库
利用Wiki/Confluence沉淀项目经验。
复盘知识库
30
工具链集成
Vivado/Quartus与Git的深度集成技巧。
集成工具链