In 2020.2, significant improvements are made to the Vivado project directory structure to improve the ability to interact with the revision control systems. For new projects created in 2020.2, an additional project directory called project.gen is automatically created in the project directory. This directory stores all output products created by the IP and Block Diagram (BD). The result of this change is that the project.srcs directory contains only the sources used to create the design. Moving forward we can endorse a flow with the following behavior:
- Create the project and add all the sources to the project
- Manage project.xpr file
- Manage project.srcs directory
- Test your methodology. Revision control holds good depending on how well you test and maintain your methodology. Ideally, to ensure no files are missed and the design rebuilds completely from design sources using a script, the design would be regressed at a regular cadence. By rebuilding the design regularly, any issues with the revision control methodology can be caught and addressed in a timely manner.
The project can be re-created by restoring the project.srcs directory and project.xpr file. Opening the project.xpr file and proceeding with synthesis and implementation flows. Separating the output IP and BD output products from the project.srcs directory.