CERN Accelerating science

Talk
Title Paying off technical debt of SoC code-bases through standards and good practices
Video
If you experience any problem watching the video, click the download button below
Download Embed
Show n. of views
Mp4:1080p
(presentation)
270p
(presentation)
360p
(presentation)
720p
(presentation)
360p
(presenter)
270p
(presenter)
720p
(presenter)
1080p
(presenter)
Subtitles:
Copy-paste this code into your page:
Author(s) Laforge, Clyde (speaker) (CERN)
Corporate author(s) CERN. Geneva
Imprint 2022-11-23. - 1679.
Series (System-on-Chip)
(SoC Interest Group Meeting)
Lecture note on 2022-11-23T14:50:00
Subject category System-on-Chip
Abstract 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.
Copyright/License © 2022-2024 CERN
Submitted by [email protected]

 


 Record creato 2022-11-25, modificato l'ultima volta il 2024-06-26


Collegamenti esterni:
Scarica documentoTalk details
Scarica documentoEvent details