How do you manage your Vivado projects in git?

This page summarizes the projects mentioned and recommended in the original post on /r/FPGA

Our great sponsors
  • WorkOS - The modern identity platform for B2B SaaS
  • InfluxDB - Power Real-Time Data Analytics at Scale
  • SaaSHub - Software Alternatives and Reviews
  • viv-prj-gen

    tcl scripts used to build or generate vivado projects automatically

  • corundum

    Open source FPGA-based NIC and platform for in-network compute

    My current method is to not check in any generated code in the first place. I have makefiles that create the vivado project and then run vivado to generate the bit file. All IP is done with tcl scripts, which were copied-and-pasted from what the IP wizard does to create the IP. The makefile writes out a tcl script that adds all of the source files, constraints files, and tcl scripts to generate the IP, then uses vivado batch mode to run the tcl script. I used to check in xci files, but these are locked to specific versions of vivado and as such are more annoying to work with; using TCL to create the IP has been significantly lower maintenance. See https://github.com/corundum/corundum/tree/master/fpga/mqnic for a bunch of different designs that use this same setup. It currently uses project mode so I can build from either the command line or from the GUI, but this would probably not be terribly difficult to change down the road if necessary.

  • WorkOS

    The modern identity platform for B2B SaaS. The APIs are flexible and easy-to-use, supporting authentication, user identity, and complex enterprise features like SSO and SCIM provisioning.

NOTE: The number of mentions on this list indicates mentions on common posts plus user suggested alternatives. Hence, a higher number means a more popular project.

Suggest a related project

Related posts