Modular SAIL: dream or reality?
Abstract
This paper addresses the critical challenge of compositionality in the RISC-V development flow, which is necessary to fully leverage the modular nature of the ISA specification. The authors introduce "modular SAIL," an experiment injecting compositionality directly into the SAIL-RISCV golden model to support modularity across emulation, simulation, and verification. They demonstrate the feasibility of adapting the SAIL-RISCV flow to create pluggable emulators using both static and dynamic binding techniques. Comparative study confirms that the resulting modular emulator maintains exact functional equivalence with the original monolithic RISC-V Instruction Set Simulator (ISS).
Report
Key Highlights
- The core goal is to inject compositionality into the RISC-V development ecosystem to maximize the benefits of the ISA's inherent modularity.
- The innovation, "modular SAIL," targets the compositionality issue by extending module support beyond mere specification to practical development stages (emulation, simulation, verification).
- The work focuses specifically on adapting the existing SAIL-RISCV golden model flow.
- The resulting architecture successfully yielded a pluggable emulator (aka RISC-V ISS) that uses modular components.
- Testing confirmed that the modular emulator, regardless of whether static or dynamic binding was used, exhibits identical functional behavior compared to the original, monolithic emulator.
Technical Details
- Target System: SAIL-RISCV golden model (the reference ISA specification tool).
- Technical Goal: Adapt the SAIL-RISCV flow, and potentially the SAIL compiler itself, to natively support modular components at the emulator level.
- Methodology: The implementation explores injecting compositionality mechanisms directly into the golden model derivation process.
- Binding Techniques: The pluggable emulator's performance and functional parity were studied using both static binding and dynamic binding mechanisms.
- Flow Coverage: The focus is on implementing compositionality across the crucial stages of the development flow, specifically mentioning emulation, simulation, and verification.
Implications
- Enabling RISC-V Modularity: This work directly tackles a significant tooling challenge preventing the RISC-V community from easily combining and verifying various standard and custom ISA extensions, thus accelerating innovation and customization.
- Improved Golden Model Efficiency: By transforming the monolithic golden model into a modular, pluggable system, development, maintenance, and verification of new ISA extensions become significantly easier and less error-prone.
- Tool Chain Advancement: Proving that modularity can be successfully injected at the emulator level using standard binding techniques (static/dynamic) provides critical feedback and a potential blueprint for future advancements in the SAIL compiler and related RISC-V tools.
- Verification Confidence: Establishing functional equivalence between the modular and monolithic ISS implementations ensures that the shift to compositionality does not introduce verification gaps or functional inconsistencies.
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.