You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 

2.4 KiB

vivado-git

Trying to make Vivado more git-friendly on Windows.

Requirements

  • Git for Windows
  • Add C:\Program Files\Git\bin (or wherever you have your git.exe) to your PATH

Installation

Add Vivado_init.tcl (or append the relevant lines if you already have something in it) along with the scripts directory to %APPDATA%\Roaming\Xilinx\Vivado.

How it works

Vivado is a pain in the ass to source control decently, so these scripts provide:

  • A modified write_project_tcl_git.tcl script to generate the project script without absolute paths.

  • A git wrapper that will recreate the project script and add it before committing.

Workflow

  1. When first starting with a project, create it in a folder called vivado_proj (e.g. C:/.../PROJECT_NAME/vivado_proj) . All the untracked files will be under this directory.

  2. Place your source files anywhere you want in your project folder (usually in the C:/.../PROJECT_NAME/src).

    Here is an example of a possible project structure:

    PROJECT_NAME
        ├── .git
        ├── .gitignore
        ├── project_name.tcl         # Project generator script
        ├── src/                     # Tracked source files
        │   ├── design
        │   │    ├── *.v
        │   │    └── *.vhd
        │   ├── testbench
        │   │    ├── *.v
        │   │    └── *.vhd
        │   └── ...
        └── vivado_proj/             # Untracked generated files
            ├── project_name.xpr
            ├── project_name.cache/
            ├── project_name.hw/
            ├── project_name.sim/
            └── ...
    
  3. Initiate the git repository with git init on the Tcl Console. This will create the repository, automatically change to your project directory (C:/.../PROJECT_NAME), generate the .gitignore file and stage it.

  4. Stage your source files with git add.

  5. When you are done, git commit your project. A PROJECT_NAME.tcl script will be created in your C:/.../PROJECT_NAME folder and added to your commit.

  6. When opening the project after a cloning, do it by using Tools -> Run Tcl Script... and selecting the PROJECT_NAME.tcl file created earlier. This will regenerate the project so that you can continue working.