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

Research output: Contribution to journalJournal articleResearchpeer-review

Standard

Hog (HDL on git) : a collaborative management tool to handle git-based HDL repository. / Biesuz, N.; Camplani, A.; Cieri, D.; Giangiacomi, N.; Gonnella, F.; Peck, A.

In: Journal of Instrumentation, Vol. 16, No. 4, 04006, 04.2021.

Research output: Contribution to journalJournal articleResearchpeer-review

Harvard

Biesuz, N, Camplani, A, Cieri, D, Giangiacomi, N, Gonnella, F & Peck, A 2021, 'Hog (HDL on git): a collaborative management tool to handle git-based HDL repository', Journal of Instrumentation, vol. 16, no. 4, 04006. https://doi.org/10.1088/1748-0221/16/04/T04006

APA

Biesuz, N., Camplani, A., Cieri, D., Giangiacomi, N., Gonnella, F., & Peck, A. (2021). Hog (HDL on git): a collaborative management tool to handle git-based HDL repository. Journal of Instrumentation, 16(4), [04006]. https://doi.org/10.1088/1748-0221/16/04/T04006

Vancouver

Biesuz N, Camplani A, Cieri D, Giangiacomi N, Gonnella F, Peck A. Hog (HDL on git): a collaborative management tool to handle git-based HDL repository. Journal of Instrumentation. 2021 Apr;16(4). 04006. https://doi.org/10.1088/1748-0221/16/04/T04006

Author

Biesuz, N. ; Camplani, A. ; Cieri, D. ; Giangiacomi, N. ; Gonnella, F. ; Peck, A. / Hog (HDL on git) : a collaborative management tool to handle git-based HDL repository. In: Journal of Instrumentation. 2021 ; Vol. 16, No. 4.

Bibtex

@article{b33574eae849410bb40a47170c8144e6,
title = "Hog (HDL on git): a collaborative management tool to handle git-based HDL repository",
abstract = "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.",
keywords = "Digital electronic circuits, Software architectures (event data models, frameworks and databases)",
author = "N. Biesuz and A. Camplani and D. Cieri and N. Giangiacomi and F. Gonnella and A. Peck",
year = "2021",
month = apr,
doi = "10.1088/1748-0221/16/04/T04006",
language = "English",
volume = "16",
journal = "Journal of Instrumentation",
issn = "1748-0221",
publisher = "Institute of Physics Publishing Ltd",
number = "4",

}

RIS

TY - JOUR

T1 - Hog (HDL on git)

T2 - a collaborative management tool to handle git-based HDL repository

AU - Biesuz, N.

AU - Camplani, A.

AU - Cieri, D.

AU - Giangiacomi, N.

AU - Gonnella, F.

AU - Peck, A.

PY - 2021/4

Y1 - 2021/4

N2 - 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.

AB - 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.

KW - Digital electronic circuits

KW - Software architectures (event data models, frameworks and databases)

U2 - 10.1088/1748-0221/16/04/T04006

DO - 10.1088/1748-0221/16/04/T04006

M3 - Journal article

VL - 16

JO - Journal of Instrumentation

JF - Journal of Instrumentation

SN - 1748-0221

IS - 4

M1 - 04006

ER -

ID: 269724194