Hardware and software build flow with SoCMake

Hardware and software build flow with SoCMake

Abstract

The increasing complexity of System-on-Chip (SoC) designs requires robust build systems capable of simultaneously managing complex hardware generation and software cross-compilation. Recognizing that existing hardware build systems lack sufficient support for software flows (C++, C, and assembly), CERN developed SoCMake. This open-source tool automates and unifies the entire hardware and software build process, providing a generic solution initially leveraged for generating fault-tolerant RISC-V architectures.

Report

Key Highlights

  • Unified Build System: SoCMake is a novel, open-source build tool designed to unify the hardware design flow and the required software compilation processes for complex SoCs.
  • CERN Origin: The tool was initiated by the Microelectronics section of CERN as part of the System-on-Chip Radiation Tolerant Ecosystem (SOCRATES).
  • Initial Target: It was initially focused on automating the generation of fault-tolerant RISC-V SoCs for environments requiring high reliability (e.g., high-energy physics).
  • Addressing Tool Gaps: SoCMake addresses the critical limitation of previous hardware build systems which failed to adequately support necessary software compilation and cross-compilation capabilities.

Technical Details

  • Hardware Abstraction: The system supports high-level hardware design languages such as Chisel and SystemRDL, which are compiled to generate Verilog for RTL simulation and implementation.
  • Software Compilation: The build flow integrates comprehensive software compilation capabilities, supporting C++, C, and assembly, specifically including cross-compilation necessary for embedded processors.
  • System Modeling: SoC modeling and verification flows utilize standard tools and languages, including C++ and SystemC.
  • Automation Focus: The core function of SoCMake is to automate the complex process of generating all required artifacts for both hardware design flows and the subsequent software execution.

Implications

  • Faster Development Cycles: By streamlining the integrated hardware/software build and verification flow, SoCMake directly contributes to meeting the demand for shorter development cycles in ASIC design.
  • Enhanced RISC-V Ecosystem: Providing a dedicated, unified, open-source build infrastructure is crucial for industrializing and simplifying the adoption of complex, radiation-tolerant RISC-V architectures.
  • Improved Modularity: The tool facilitates greater reusability and modularity of IP blocks by providing a standardized, reliable mechanism for integrating high-level hardware descriptions with system-level software.
  • Genericity: Although rooted in a highly specialized environment (CERN/radiation tolerance), SoCMake's evolution into a generic open-source build tool suggests its potential adoption across the broader high-performance and customized SoC design community.
lock-1

Technical Deep Dive Available

This public summary covers the essentials. The Full Report contains exclusive architectural diagrams, performance audits, and deep-dive technical analysis reserved for our members.

Read Full Report →