use git manage vivado project
Published:
让我们说中文吧!使用Git管理vivado工程
Use Git to Manage Vivado Project
Motivation
- Firmware versions often need to be iterated, requiring version control. Using compressed packages takes up a lot of memory and is inconvenient to manage.
- Large projects require collaboration among multiple people, necessitating version control.
- You have multiple devices and need to synchronize projects when developing at home or in the lab.
Method
- Good file structure, only keeping project source files such as IP cores, RTL code, testbench, scripts, and ignoring project files and intermediate files.
- Rebuild the project using TCL scripts and source files.
- Use Git to manage source files and scripts.
Try to Use TCL to Rebuild the Project
nice folder structure(vivado_test)
vivado_test //top level project folder ├──vivado_prj //vivado project folder git ignore ├──modules //module folder │ ├──submodule1 //submodule1 folder │ │ ├── sim //submodule1 simulation folder │ │ │ ├── testbench //submodule1 testbench folder │ │ │ └─── script //submodule1 test script folder │ │ ├── rtl //submodule1 rtl folder │ │ ├── ip //submodule1 ip folder │ │ └─── doc //submodule1 document folder │ ├──submodule2 //submodule2 ... │ └──submodule3 //submodule3 ... ├──toplevel_source //top level source folder │ ├── constraints //top level constraints folder │ ├── rtl //top level rtl folder │ ├── bd //top level bd folder │ └─── doc //top level document folder ├──toplevel_sim //top level simulation folder │ ├── testbench //top level testbench folder │ ├── script //top level test script folder │ └─── doc //top level document folder ├──readme.md //project readme file ├──.gitignore //git ignore file └──project_gen.tcl //vivado project rebuild tcl script
Specific Steps
1. Create Project Folder Structure
- Project folder: vivado_test (top-level project folder)
- Project folder: vivado_prj (Vivado project folder)
- Source folders: modules, toplevel_source, toplevel_sim
- Project rebuild script: project_gen.tcl
2. Create a new project in Vivado, selecting vivado_prj as the project directory
3. Add source files (rtl - verilog/vhdl/systemverilog, ip - xci files) to the source folders
4. Add source files in Vivado
5. Generate project rebuild TCL script in Vivado
- open vivado tcl console
- cd to the project folder
- write_project_tcl ./project_gen.tcl
6. Delete the project files in the project folder vivado_prj (delete the entire project folder)
7. Manage the project with Git
- git init
- git add .
- git commit -m “first commit”
- …
8. Rebuild the Project
- Clone the project
- Open Vivado TCL console
- cd to the project folder
cd E:/work/vivado_git/
(replace with your own path) - source project_gen.tcl
source ./project_gen.tcl
- Complete the project rebuild