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