This paper presents a system aimed at storing the whole design in a VCS oriented form. The hierarchy of sources is described with textual ”extended project (EPRJ) files” which are fully controlled by the user and may also be put in a VCS. The IP blocks may be easily added to the project just by including the accompanying EPRJ file. Both absolute and relative file paths may be used which allows the flexible structure of directories. The sources of locally developed IP blocks may be stored in directories located inside the main source tree, while sources of independently developed blocks, using separate VCS repositories, may be located outside that tree. The environment allows splitting the design into smaller parts, which are synthesized independently. That reduces the time needed to recompile the whole design if only a few blocks are modified. The system creates the standard project, which can be used for convenient interactive work with the design. After the interactive session, the user should transfer changes of settings into the system files (also under VCS control). With that approach, it is always possible to recreate any stable version of the project from the VCS. The system also provides a possibility of automated rebuilding of the design from the VCS stored files. That is especially useful for ”build servers” used in serious projects. The development of the system was inspired by the needs of firmware development for the CBM experiment. The system has been developed mainly for Xilinx Vivado tools, but adaptation for Altera Quartus is planned in the nearest future. The system is developed as a free and Open Source solution.
ACCESS THE FULL ARTICLE
Wojciech M. Zabołotny, "Version control friendly project management system for FPGA designs," Proc. SPIE 10031, Photonics Applications in Astronomy, Communications, Industry, and High-Energy Physics Experiments 2016, 1003146 (28 September 2016);