Hardware and software build flow with SoCMake
Risto Peja\v{s}inovi\'c, Alessandro Caratelli, Anvesh Nookala,, Beno\^it Walter Denkinger, Marco Andorno

TL;DR
SoCMake is an open-source build system that automates hardware and software compilation for SoC design, addressing the need for integrated build flows in complex, reusability-focused ASIC development.
Contribution
It introduces a unified build flow tool supporting both hardware description and software compilation, filling a gap in existing hardware build systems.
Findings
Supports cross-compilation for C++, C, and assembly.
Automates generation of fault-tolerant RISC-V SoCs.
Evolved from CERN's radiation-tolerant ecosystem.
Abstract
The increasing demand for electronics is driving shorter development cycles for application-specific integrated circuits (ASICs). To meet these constraints, hardware designers emphasize reusability and modularity of IP blocks, leveraging standard system-on-chip (SoC) architectures with integrated processors and common interconnects. While these architectures reduce design and verification efforts, they also introduce complexity, as verification must encompass both hardware and software execution. To enhance reusability, hardware IP blocks are often described in higher-abstraction-level languages such as Chisel and SystemRDL, relying on compilers to generate Verilog for RTL simulation and implementation. At the system level, SoC modeling and verification leverage C++ and SystemC, underscoring the need for software compilation. Consequently, an effective build system must support both…
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
Taxonomy
TopicsParallel Computing and Optimization Techniques · Embedded Systems Design Techniques · Distributed and Parallel Computing Systems
