Comparison between Script-based and Source-based Revision Control Methodologies - Comparison between Script-based and Source-based Revision Control Methodologies - 2026.1 English - UG892

Vivado Design Suite User Guide: Design Flows Overview (UG892)

Document ID
UG892
Release Date
2026-06-23
Version
2026.1 English

The following table compares the two methods of revision controlling a Vivado project.

Table 1. Script-based and Source-based Revision Control Methodologies Comparison
  Script-based Source-based
Files to check in A script to regenerate the project
  • Auto-generate using write_project_tcl with the Verbose option.
  • Manually generate the script and ensure you keep it up-to-date.
Project XPR and .srcs directory
Size Small Medium
Compile time
  • BD and IP sources
  • Output products
Slow

Must be rebuilt

Must be regenerated 1

Medium

Available immediately

Must be regenerated 1

External sources Revision control separately Revision control separately
Read-only capable
  • BD sources
  • IP sources
Must be writable

Can be locked

Must be writable

Can be locked

  1. Using out-of-context synthesis with external caching enabled, the compile time differences are negligible.

Script-based projects require fewer revision-controlled files than source-based projects. Whether you auto-generate or manually create the build script, only that script needs revision control.

Source-based projects require managing both the XPR file and the .srcs directory, which are much larger than a text script. This method makes the project available immediately after checkout.

With script-based methodology, you must run the script to completion before opening the project. AMD does not typically revision control output products, so recompiling consumes considerable compute time. Maintaining an external cache reduces the compile time significantly in either method.

In both methods, revision control all external separately from the project. AMD does not fully support BDs or IPs as entirely read-only. BDs must be writable to run validation. Validation updates XCI files in the BD directory even if no design changes occur. IP can be read-only, but they are locked and cannot upgrade in this state.