Version control friendly project management system for FPGA designs
AbstractIn complex FPGA designs, usage of version control system is a necessity. It is especially important in the case of designs developed by many developers or even by many teams. The standard development mode, however, offered by most FPGA vendors is the GUI based project mode. It is very convenient for a single developer, who can easily experiment with project settings, browse and modify the sources hierarchy, compile and test the design. Unfortunately, the project configuration is stored in files which are not suited for use with Version Control System (VCS). Another important problem in big FPGA designs is reuse of IP cores. Even though there are standard solutions like IEEE 1685-2014, they suffer from some limitations particularly significant for complex systems (e.g. only simple types are allowed for IP-core ports, it is not possible to use parametrized instances of IP-cores). Additionally, the overhead associated with packaging of IP-cores is significant and not justified for simple reusable blocks. 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.
|Publication size in sheets||0.5|
|Book||Romaniuk Ryszard (eds.): Proc. SPIE. 10031, Photonics Applications in Astronomy, Communications, Industry, and High-Energy Physics Experiments 2016, vol. 10031, 2016, SPIE , ISBN 9781510604858, [781510604865 (electronic) ], 1170 p., DOI:10.1117/12.2257157|
|project||Research on measurement, circuit and signal theory and electronic circuits and systems. Project leader: Starecki Tomasz,
, Phone: +48 22 825 37 09; 22 234 7744; +48 22 234 3657, start date 12-05-2016, end date 31-12-2017, ISE/2016/DS, Completed
|Score|| = 15.0, 27-03-2017, BookChapterMatConf|
= 15.0, 27-03-2017, BookChapterMatConf
|Citation count*||1 (2018-02-15)|
* presented citation count is obtained through Internet information analysis and it is close to the number calculated by the Publish or Perish system.