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

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

Ausführliche Beschreibung

Gespeichert in:
Bibliographische Detailangaben
Veröffentlicht in:Journal of instrumentation 2021-04, Vol.16 (4), p.T04006
Hauptverfasser: Biesuz, N.V., Camplani, A., Cieri, D., Giangiacomi, N., Gonnella, F., Peck, A.
Format: Artikel
Sprache:eng
Schlagworte:
Online-Zugang:Volltext
Tags: Tag hinzufügen
Keine Tags, Fügen Sie den ersten Tag hinzu!
container_end_page
container_issue 4
container_start_page T04006
container_title Journal of instrumentation
container_volume 16
creator Biesuz, N.V.
Camplani, A.
Cieri, D.
Giangiacomi, N.
Gonnella, F.
Peck, A.
description 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.
doi_str_mv 10.1088/1748-0221/16/04/T04006
format Article
fullrecord <record><control><sourceid>proquest_cross</sourceid><recordid>TN_cdi_proquest_journals_2521616126</recordid><sourceformat>XML</sourceformat><sourcesystem>PC</sourcesystem><sourcerecordid>2521616126</sourcerecordid><originalsourceid>FETCH-LOGICAL-c283t-d1b15fc101776ce57f025d996db12c6d03784470cf77767273e9d895b8879a603</originalsourceid><addsrcrecordid>eNpNkE1LxDAQhoMouK7-BQl40UPtJM1Xvcn6UWHBy3oOaZquXbrNmmSF_fe2rIgMzAzMwzvwIHRN4J6AUjmRTGVAKcmJyIHlK2AA4gTN_g6n__ZzdBHjBoCXnMEMrSq_xrfV0xL7Aa-7dPeADba-703tg0ndt8NbM5i127oh4eR9Pzb8aYamdxOf1Sa6Bk8Bwe187JIPh0t01po-uqvfOUcfL8-rRZUt31_fFo_LzFJVpKwhNeGtJUCkFNZx2QLlTVmKpibUigYKqRiTYFs5ApLKwpWNKnmtlCyNgGKObo65u-C_9i4mvfH7MIwvNeWUiLGoGClxpGzwMQbX6l3otiYcNAE9GdSTHD3J0URoYPposPgBypFhTQ</addsrcrecordid><sourcetype>Aggregation Database</sourcetype><iscdi>true</iscdi><recordtype>article</recordtype><pqid>2521616126</pqid></control><display><type>article</type><title>Hog (HDL on git): a collaborative management tool to handle git-based HDL repository</title><source>IOP Publishing Journals</source><source>Institute of Physics (IOP) Journals - HEAL-Link</source><creator>Biesuz, N.V. ; Camplani, A. ; Cieri, D. ; Giangiacomi, N. ; Gonnella, F. ; Peck, A.</creator><creatorcontrib>Biesuz, N.V. ; Camplani, A. ; Cieri, D. ; Giangiacomi, N. ; Gonnella, F. ; Peck, A.</creatorcontrib><description>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.</description><identifier>ISSN: 1748-0221</identifier><identifier>EISSN: 1748-0221</identifier><identifier>DOI: 10.1088/1748-0221/16/04/T04006</identifier><language>eng</language><publisher>Bristol: IOP Publishing</publisher><subject>Firmware ; Repositories ; Reproducibility ; Scripts ; Synthesis ; Websites</subject><ispartof>Journal of instrumentation, 2021-04, Vol.16 (4), p.T04006</ispartof><rights>Copyright IOP Publishing Apr 2021</rights><lds50>peer_reviewed</lds50><woscitedreferencessubscribed>false</woscitedreferencessubscribed><citedby>FETCH-LOGICAL-c283t-d1b15fc101776ce57f025d996db12c6d03784470cf77767273e9d895b8879a603</citedby><cites>FETCH-LOGICAL-c283t-d1b15fc101776ce57f025d996db12c6d03784470cf77767273e9d895b8879a603</cites></display><links><openurl>$$Topenurl_article</openurl><openurlfulltext>$$Topenurlfull_article</openurlfulltext><thumbnail>$$Tsyndetics_thumb_exl</thumbnail><link.rule.ids>314,776,780,27901,27902</link.rule.ids></links><search><creatorcontrib>Biesuz, N.V.</creatorcontrib><creatorcontrib>Camplani, A.</creatorcontrib><creatorcontrib>Cieri, D.</creatorcontrib><creatorcontrib>Giangiacomi, N.</creatorcontrib><creatorcontrib>Gonnella, F.</creatorcontrib><creatorcontrib>Peck, A.</creatorcontrib><title>Hog (HDL on git): a collaborative management tool to handle git-based HDL repository</title><title>Journal of instrumentation</title><description>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.</description><subject>Firmware</subject><subject>Repositories</subject><subject>Reproducibility</subject><subject>Scripts</subject><subject>Synthesis</subject><subject>Websites</subject><issn>1748-0221</issn><issn>1748-0221</issn><fulltext>true</fulltext><rsrctype>article</rsrctype><creationdate>2021</creationdate><recordtype>article</recordtype><recordid>eNpNkE1LxDAQhoMouK7-BQl40UPtJM1Xvcn6UWHBy3oOaZquXbrNmmSF_fe2rIgMzAzMwzvwIHRN4J6AUjmRTGVAKcmJyIHlK2AA4gTN_g6n__ZzdBHjBoCXnMEMrSq_xrfV0xL7Aa-7dPeADba-703tg0ndt8NbM5i127oh4eR9Pzb8aYamdxOf1Sa6Bk8Bwe187JIPh0t01po-uqvfOUcfL8-rRZUt31_fFo_LzFJVpKwhNeGtJUCkFNZx2QLlTVmKpibUigYKqRiTYFs5ApLKwpWNKnmtlCyNgGKObo65u-C_9i4mvfH7MIwvNeWUiLGoGClxpGzwMQbX6l3otiYcNAE9GdSTHD3J0URoYPposPgBypFhTQ</recordid><startdate>20210401</startdate><enddate>20210401</enddate><creator>Biesuz, N.V.</creator><creator>Camplani, A.</creator><creator>Cieri, D.</creator><creator>Giangiacomi, N.</creator><creator>Gonnella, F.</creator><creator>Peck, A.</creator><general>IOP Publishing</general><scope>AAYXX</scope><scope>CITATION</scope><scope>7U5</scope><scope>8FD</scope><scope>L7M</scope></search><sort><creationdate>20210401</creationdate><title>Hog (HDL on git): a collaborative management tool to handle git-based HDL repository</title><author>Biesuz, N.V. ; Camplani, A. ; Cieri, D. ; Giangiacomi, N. ; Gonnella, F. ; Peck, A.</author></sort><facets><frbrtype>5</frbrtype><frbrgroupid>cdi_FETCH-LOGICAL-c283t-d1b15fc101776ce57f025d996db12c6d03784470cf77767273e9d895b8879a603</frbrgroupid><rsrctype>articles</rsrctype><prefilter>articles</prefilter><language>eng</language><creationdate>2021</creationdate><topic>Firmware</topic><topic>Repositories</topic><topic>Reproducibility</topic><topic>Scripts</topic><topic>Synthesis</topic><topic>Websites</topic><toplevel>peer_reviewed</toplevel><toplevel>online_resources</toplevel><creatorcontrib>Biesuz, N.V.</creatorcontrib><creatorcontrib>Camplani, A.</creatorcontrib><creatorcontrib>Cieri, D.</creatorcontrib><creatorcontrib>Giangiacomi, N.</creatorcontrib><creatorcontrib>Gonnella, F.</creatorcontrib><creatorcontrib>Peck, A.</creatorcontrib><collection>CrossRef</collection><collection>Solid State and Superconductivity Abstracts</collection><collection>Technology Research Database</collection><collection>Advanced Technologies Database with Aerospace</collection><jtitle>Journal of instrumentation</jtitle></facets><delivery><delcategory>Remote Search Resource</delcategory><fulltext>fulltext</fulltext></delivery><addata><au>Biesuz, N.V.</au><au>Camplani, A.</au><au>Cieri, D.</au><au>Giangiacomi, N.</au><au>Gonnella, F.</au><au>Peck, A.</au><format>journal</format><genre>article</genre><ristype>JOUR</ristype><atitle>Hog (HDL on git): a collaborative management tool to handle git-based HDL repository</atitle><jtitle>Journal of instrumentation</jtitle><date>2021-04-01</date><risdate>2021</risdate><volume>16</volume><issue>4</issue><spage>T04006</spage><pages>T04006-</pages><issn>1748-0221</issn><eissn>1748-0221</eissn><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.</abstract><cop>Bristol</cop><pub>IOP Publishing</pub><doi>10.1088/1748-0221/16/04/T04006</doi></addata></record>
fulltext fulltext
identifier ISSN: 1748-0221
ispartof Journal of instrumentation, 2021-04, Vol.16 (4), p.T04006
issn 1748-0221
1748-0221
language eng
recordid cdi_proquest_journals_2521616126
source IOP Publishing Journals; Institute of Physics (IOP) Journals - HEAL-Link
subjects Firmware
Repositories
Reproducibility
Scripts
Synthesis
Websites
title Hog (HDL on git): a collaborative management tool to handle git-based HDL repository
url https://sfx.bib-bvb.de/sfx_tum?ctx_ver=Z39.88-2004&ctx_enc=info:ofi/enc:UTF-8&ctx_tim=2025-02-21T17%3A05%3A38IST&url_ver=Z39.88-2004&url_ctx_fmt=infofi/fmt:kev:mtx:ctx&rfr_id=info:sid/primo.exlibrisgroup.com:primo3-Article-proquest_cross&rft_val_fmt=info:ofi/fmt:kev:mtx:journal&rft.genre=article&rft.atitle=Hog%20(HDL%20on%20git):%20a%20collaborative%20management%20tool%20to%20handle%20git-based%20HDL%20repository&rft.jtitle=Journal%20of%20instrumentation&rft.au=Biesuz,%20N.V.&rft.date=2021-04-01&rft.volume=16&rft.issue=4&rft.spage=T04006&rft.pages=T04006-&rft.issn=1748-0221&rft.eissn=1748-0221&rft_id=info:doi/10.1088/1748-0221/16/04/T04006&rft_dat=%3Cproquest_cross%3E2521616126%3C/proquest_cross%3E%3Curl%3E%3C/url%3E&disable_directlink=true&sfx.directlink=off&sfx.report_link=0&rft_id=info:oai/&rft_pqid=2521616126&rft_id=info:pmid/&rfr_iscdi=true