Cargando…

Paying off technical debt of SoC code-bases through standards and good practices

<!--HTML-->CROME is CERN new generation of radiation monitoring system. It is based on semi-autonomous radiation detectors controlled by Zynq SoCs. The management of heterogeneous complex code had to deal with a growing technical debt due to an ever larger code-base and increased complexity....

Descripción completa

Detalles Bibliográficos
Autor principal: Laforge, Clyde
Lenguaje:eng
Publicado: 2022
Materias:
Acceso en línea:http://cds.cern.ch/record/2842061
_version_ 1780976227033546752
author Laforge, Clyde
author_facet Laforge, Clyde
author_sort Laforge, Clyde
collection CERN
description <!--HTML-->CROME is CERN new generation of radiation monitoring system. It is based on semi-autonomous radiation detectors controlled by Zynq SoCs. The management of heterogeneous complex code had to deal with a growing technical debt due to an ever larger code-base and increased complexity. In the early days, some light configuration was viable using scripts modifying directly the source code. After some time, we started having multiple scripts scattered across the code-base, each acting differently to either modifying existing files, generating new files or passing generics. Moreover, the use of a large set of different software for generating files, documenting the code, verification of the development and now linting made dependency tracking a challenge for newcomers. In this presentation, we will expose how we managed to reduce the complexity by using a combination of GNU Autotools, make and TCL scripts. We significantly reduced technical debt by: • Implementing a unified mechanism for configuring the project with a simple user interface, • Tracking software dependencies before building the project allowing us to give the user a clear view on what is or is not possible with the current build environment, • Separating source and build directories of heterogeneous codes, making it clear on what can or cannot be modified, • Implementing linting of the HDL file, thus reducing noise of new commits.
id cern-2842061
institution Organización Europea para la Investigación Nuclear
language eng
publishDate 2022
record_format invenio
spelling cern-28420612022-11-25T22:47:04Zhttp://cds.cern.ch/record/2842061engLaforge, ClydePaying off technical debt of SoC code-bases through standards and good practicesSoC Interest Group MeetingSystem-on-Chip<!--HTML-->CROME is CERN new generation of radiation monitoring system. It is based on semi-autonomous radiation detectors controlled by Zynq SoCs. The management of heterogeneous complex code had to deal with a growing technical debt due to an ever larger code-base and increased complexity. In the early days, some light configuration was viable using scripts modifying directly the source code. After some time, we started having multiple scripts scattered across the code-base, each acting differently to either modifying existing files, generating new files or passing generics. Moreover, the use of a large set of different software for generating files, documenting the code, verification of the development and now linting made dependency tracking a challenge for newcomers. In this presentation, we will expose how we managed to reduce the complexity by using a combination of GNU Autotools, make and TCL scripts. We significantly reduced technical debt by: • Implementing a unified mechanism for configuring the project with a simple user interface, • Tracking software dependencies before building the project allowing us to give the user a clear view on what is or is not possible with the current build environment, • Separating source and build directories of heterogeneous codes, making it clear on what can or cannot be modified, • Implementing linting of the HDL file, thus reducing noise of new commits.oai:cds.cern.ch:28420612022
spellingShingle System-on-Chip
Laforge, Clyde
Paying off technical debt of SoC code-bases through standards and good practices
title Paying off technical debt of SoC code-bases through standards and good practices
title_full Paying off technical debt of SoC code-bases through standards and good practices
title_fullStr Paying off technical debt of SoC code-bases through standards and good practices
title_full_unstemmed Paying off technical debt of SoC code-bases through standards and good practices
title_short Paying off technical debt of SoC code-bases through standards and good practices
title_sort paying off technical debt of soc code-bases through standards and good practices
topic System-on-Chip
url http://cds.cern.ch/record/2842061
work_keys_str_mv AT laforgeclyde payingofftechnicaldebtofsoccodebasesthroughstandardsandgoodpractices
AT laforgeclyde socinterestgroupmeeting