SCR1 Microcontroller Core

Minimalistic 32-bit MCU core for deeply embedded applications and accelerator control. It can be configured for a very small area - under 15kGates in a fully-fuctional configuration, and is open-sourced under the permissive SHL license, which allows commercial use.

Block diagram

Key features

  • 32bit microcontroller core with RISC-V ISA
    • RV32I|E[MC]
  • Harvard architecture, separate Instruction and Data memories
  • 32 or 16 32bit integer registers
  • RV32I or E basic instruction set, optional M and C extensions
    • 47 Integer (32bit encoding) instructions
    • 47 E instructions (subset of I, restricted to 16 registers)
    • 27 Compact (16 bit encoding) instructions
    • 8 Optional Multiply/Divide instructions
  • 15 kGates in basic fully functional configuration (ICE)
    • Includes IRQ controller and debug
  • 32bit AHB-compliant external interface
  • 2 to 4 stages pipeline
  • Machine-mode only
  • Embedded 64bit RTC timer
  • Tightly Coupled Memory (TCM) support
    • 4..64KB
  • Optional configurable Integrated Programmable Interrupt Controller (IPIC)
    • Low interrupt latency
    • 8..32 IRQs
  • Optional area-optimized MUL/DIV unit
  • Optional integrated Debug Controller
    • with JTAG-compliant interface

Full RTL and supplimentary collateral are avaialble from our github repository:

  • Verification suite
    • Testbench, tests, tracelog
  • Documentation
  • Basic simulation and synthesisenv
  • Reference design
  • Open FPGA-based SDKs