Hog (HDL on git): a collaborative management tool to handle git-based HDL repository

Hog (HDL on git): a collaborative management tool to handle git-based HDL repository
复制标题

Hog (HDL on git):一个协作管理工具,用于处理基于 git 的 HDL 存储库

DOI:
10.1088/1748-0221/16/04/t04006
复制
发表时间:
2021
影响因子:
1.3
通讯作者:
A. Peck
A. Peck
中科院分区:
工程技术4区
文献类型:
--
作者:
N. Biesuz;A. Camplani;D. Cieri;N. Giangiacomi;F. Gonnella;A. Peck

文献摘要

参考文献

被引文献

相似文献

在本文中,我们介绍了Hog(git上的HDL),一组Tcl脚本和一种合适的方法,可以有效地使用git作为HDL存储库,并保证合成和放置的可重复性和二进制文件的可追溯性。Tcl脚本,能够重新创建HDL项目提交到存储库。这确保了对项目所做的所有修改都被正确地传播,从而允许再现性。为了使系统更加用户友好,每个项目中使用的所有源文件都列在专用的文本文件中,这些文件由项目Tcl文件读取并导入到项目中。Hog支持Xilinx Vivado、伊势(PlanAhead)和Intel Quartus。为了保证二进制文件的可追溯性,Hog通过将git-commit hash(SHA)嵌入到二进制文件中,并通过存储在固件寄存器中的HDL泛型将其永久链接到特定的git commit。这是通过预合成脚本完成的,它与git存储库交互。项目创建和合成前/后Tcl脚本使用Hog实用程序库,其中包括处理git,解析标记,读取列表文件等的函数。Gitlab持续集成(CI)由Hog自动配置以模拟,合成和构建设计。Hog-CI生成二进制文件并检查时序违规。这允许通过利用Gitlab合并请求(MR)系统在接受新修改之前对其进行验证。这是为了避免官方分支的污染,破坏其他开发商的出发点。Hog-CI在共享和私有(必须安装所需的IDE)Gitlab运行器上运行。它可以解析MR参数,允许通过Gitlab网站上MR标题/描述中的特殊关键字指定指令。
In this paper, we present Hog (HDL on git), a set of Tcl scripts and a suitable methodology to allow a fruitful use of git as a HDL repository and guarantee synthesis and placing reproducibility and binary file traceability. Tcl scripts, able to recreate the HDL projects are committed to the repository. This ensures that all the modifications done to the project are correctly propagated, allowing reproducibility. To make the system more user friendly, all the source files used in each project are listed in dedicated text files that are read out by the project Tcl file and imported into the project. Hog supports Xilinx Vivado, ISE (PlanAhead) and Intel Quartus. To guarantee binary file traceability, Hog links it permanently to a specific git commit by embedding the git-commit hash (SHA) into the binary file via HDL generics stored into firmware registers. This is done by means of a pre-synthesis script, which interacts with the git repository. The project creation and the pre/post synthesis Tcl scripts make use of the Hog utility library, that includes functions to handle git, parse tags, read list files, etc. Gitlab Continuous Integration (CI) is automatically configured by Hog to simulate, synthesise, and build the design. Hog-CI generates binary files and checks for timing violations. This permits validating new modifications before accepting them, by exploiting the Gitlab Merge Request (MR) system. This is meant to avoid the pollution of the official branch, undermining the starting point for other developers. Hog-CI runs on shared and private (where the needed IDE must be installed) Gitlab runners. It can parse MR parameters, allowing the specification of directives through special keywords in the MR title/description on Gitlab website.
用于 ATLAS L1Calo 升级的协作 HDL 管理工具
DOI: 10.22323/1.343.0142
发表时间: 2019
期刊: --
影响因子: --
作者:
Gonnella F
通讯作者: Gonnella F