Coordinating firmware development among many international collaborators is becoming a very widespread problem in high-energy physics. Guaranteeing firmware synthesis reproducibility and assuring traceability of binary files is paramount.
We devised Hog (HDL on git), a set of Tcl scripts (no external tool or library is needed) that tackles these issues and is deeply integrated with HDL IDEs (Xilinx Vivado Design Suite/ISE PlanAhead, Intel Quartus Prime).
Hog assures absolute control of HDL source files, constraint files, Vivado/Quartus settings and guarantees traceability by automatically embedding the git commit SHA and a numeric version into the binary file, also automatically renamed.
Hog allows the IDE GUI to be used normally, so developers can get quickly up to speed: clone repository, run Hog script, work on your IDE.
Hog works on Windows and Linux, supports IPbus, Sigasi and provides pre-made yml files to set up a working CI on Gitlab with no additional effort.
|TIPP2020 abstract resubmission?||No, this is an entirely new submission.|