SCR1 RISC-V IP Overview: Key Features, Configurations, Performance Evaluation and Development Tools

1. Introduction

RISC-V enables open IP designs and provides access to modern processor technologies for both academic and commercial use. An example is the 32-bit, open-source, silicon-proven SCR1 core, developed by Syntacore. Introduced in 2017, the core has since been used in a number of projects – in commercial automotive, IoT and smart sensor applications, as well as in academic research and development.

The purpose of this article is to provide a comprehensive overview of the SCR1 core, review its architectural and microarchitectural characteristics and help developers and researchers make informed decisions about its use in their projects. The article also describes the core's available configurations, customization options, development tools, compares SCR1 with similar ARM IP cores and offers a detailed PPA evaluation.

2. Overview

SCR1 is a compact, 32-bit, energy-efficient microcontroller-class core. It has an area starting from just 10Kgates and is suitable for a wide range of domains, starting from general-purpose deeply embedded applications to industrial control and monitoring systems. Thanks to its open nature, the core can also be used for educational and academic purposes.

The core is based on a Harvard architecture with separate instruction and data buses, supports the RV32I/EMC instruction set, includes a configurable 2-4 stage in-order pipeline, an IPIC unit supporting up to 16 interrupts, TCM up to 64KB and industry-standard AXI4/AHB-Lite and JTAG/cJTAG* interfaces. SCR1 is fully compatible with the ratified specifications defined by RISC-V International.

*Available upon request

The SCR1 core is developed in SystemVerilog and distributed under the open source SHL license, allowing unrestricted commercial use. The core comes with pre-configured, tested and regularly updated software, detailed documentation, examples, projects and images for the popular FPGAs, allowing to get started right out of the box. Syntacore offers dedicated professional technical support on a commercial basis, ensuring rapid and seamless integration for your projects.

Technical Specifications

The following are the detailed technical specifications of the SCR1 core.

Table 1. Key technical parameters of the SCR1 core.

Core
ISA RV32I/E[MC]*, Integer Multiplication and Division [M], Compressed Instructions [C] — optional
Execution Privilege Levels Machine mode
Pipeline In-order, 2 – 4 stage (integer)
Hardware Multiplier/Divider Speed-optimized/area-optimized according to requirements (iterative or pipelined configuration depending on frequency and performance requirements)
Memory Subsystem
Tightly-Coupled Memory (TCM) I/D-shared, configurable: size — up to 64KB
Interrupt Subsystem
Interrupt types Direct/vector interrupts support
IPIC Low interrupt latency, up to 16 interrupt lines, fixed interrupt priority levels support (based on interrupt ID), Machine-mode timer interrupt support, Machine-mode software interrupt support
Low Power Management
Clock-gating support, power-gating support (coarse-grain power domain control, core-level UPF provided for low-power aware simulation and implementation), WFI (Wait for Interrupt) scheme to enter a sleep mode
Debug Subsystem
Interface JTAG/cJTAG-compliant interface
Breakpoints Up to 4 hardware breakpoints, unlimited software breakpoints support
Interfaces
AXI AXI4 AMBA standard interface
AHB AHB-Lite AMBA standard interface
Timers and Counters
Performance Monitoring 2 performance counters
Embedded 64-bit RTC Timer Machine-mode timer interrupt support

*Optional extensions are given in parentheses. The letter coding for the extensions is I: Base Integer, E: Reduced Base Integer, M: Integer Multiplication and Division, C: Compressed Instructions.

Block diagram of the SCR1 cluster

Figure 1. Block diagram of the SCR1 cluster.

Available Configurations

The SCR1 is available in three standard configurations — Min, Base and Max — providing a flexible set of features that can be adapted to meet the unique requirements of your specific application.

  • The minimum (Min) configuration supports the RV32EC ISA, includes a two-stage pipeline and a TCM. This configuration features 16 general-purpose registers, making it suitable for deeply-embedded applications such as, for example, IoT sensors where minimal footprint is critical.
  • The base (Base) configuration supports the RV32IC ISA, includes 32 general-purpose registers, a 3-stage pipeline, a TCM, an IPIC interrupt controller, support for vectored interrupt mode via the MTVEC register, a debug subsystem with a JTAG/cJTAG interface and 2 hardware breakpoints, offering an optimal balance of area efficiency and performance. This makes it suitable for general embedded applications like industrial control systems.
  • The maximum (Max) configuration supports the RV32IMC instruction set, includes 32 general-purpose registers, a 4-stage pipeline, a hardware multiply and divide unit, extended debug functions with the JTAG/cJTAG interface (up to 4 hardware breakpoints), an IPIC interrupt controller and vectored interrupt mode via the MTVEC register, making ideal for high-performance embedded systems such as control systems and automotive electronics that demand maximum processing power.

Table 2. Key features and specifications of the SCR1 core configurations.

Feature/Configuration Min Base Max
Core
Area, kGates 10 28 36
ISA RV32EC RV32IC RV32IMC
Pipeline Stages 2 3 4
Hardware Multiplier/Divider +
Number of GPRs 16 32 32
Memory Subsystem
Tightly-Coupled Memory (TCM), up to 64KB + + +
Interrupt Subsystem
IPIC + +
Interrupt lines 1 16 16
Vector interrupt support + +
Debug Subsystem
JTAG/cJTAG-compliant interface + +
Hardware Triggers 2 4

Performance

The table below includes the basic PPA (performance, power and area) metrics for three SCR1 core configurations — minimum, base and maximum — using the widely adopted 90LP and 28HPC process technologies.

Table 3. SCR1 core performance characteristics.

Parameter/SCR1 Config Min Base Max
Dhrystone, per/MHz Obest (LTO)* 2,85 3,14 2,86
Coremark, per/MHz  Obest** 1,17 1,11 2,64
Frequency, MHz (90LP) 170+ 270+ 310+
Frequency, MHz (28HPC) 750+ 1100+ 1200+

Dhrystone 2.1, Coremark 1.0 run from TCM; SC-DT 2025.09, LLVM-20-sc *Obest with LTO; **Obest with ground rules
90LP, 9 track, LVT, typical, 1.2V, 25°C;
28HPC+, 12 track, LVT, typical 0.9V, 25°C;

Performance Comparison: SCR1 vs. ARM

The Table 4 below evaluates the performance and operating frequencies of SCR1 in comparison with ARM Cortex-M0 and M3 cores across 28HPC and 90LP process technologies.

Table 4. Key performance characteristics of SCR1 and ARM Cortex-M0, Cortex-M3 сores.

Parameter/Core SCR1 Max config Cortex-M0 Cortex-M3
Dhrystone, per/MHz, Obest (LTO) 2,86 1,91 3,49
Coremark, per/MHz, Obest 2,64/3,05 2,33 3,45
Frequency, MHz (90 nm)* 310+ 268
Frequency, MHz (28 nm)** 1200+ 891

*SCR1 — 90LP, 9 track, LVT, typical, 1.2V, 25°C; Cortex-M0 — 90LP, Arm SC7 RVT SS 1.08V, 125°C;
**SCR1 — 28HPC+, 12 track, LVT, typical 0.9V, 25°C; Cortex-M3 — 28HPM, 12 track, LVT, typical 0.9V, 85°C

SCR1 surpasses the ARM Cortex-M0 in performance, approaching Cortex-M3 levels. It can be further optimized by enabling the SCR1_NO_DEC_STAGE define for Max configuration, which reduces the processor pipeline by one stage, allowing it to reach Coremark scores of about 3,05 per MHz. Additionally, it offers some improvements in area efficiency and power consumption.

Area and Power Efficiency

The Table 5 below provides characteristics for the 90LP process technology.

Table 5. Area and power efficiency of SCR1 and ARM Cortex-M0, Cortex-M3 cores.

Parameter SCR1* ARM**
Min, from Base, from Max, from Cortex-M0, min Cortex-M3, min
Area, mm2 0,0027 0,07 0,091 0,03 0,09
Power, uW/MHz 5,82 10,18 9,96 12,5 31

*Area — 90LP, 9 track, LVT, typical 1.2V, 25°C @50MHz, core logic only;
Power — 90LP, 9 track, LVT, worst 1.08V, 125°C @50MHz;
**Cortex-M0 — min configuration, 90LP, 7 track, typical 1.2V, 25°C, 125°C;
***Cortex-M3 — min configuration, 90LP, 7 track, RVT, typical 1.2V, 25°С

3. Configuration Options

On top of standard configurations there is number of architectural and microarchitectural features that can be fine-tuned to better meet the requirements of a specific application. In addition, Syntacore provides comprehensive services and support, including architectural and microarchitectural tuning, ISA configuration and compiler optimizations ensuring optimal implementation adapted to specific project requirements.

The following are key configuration options available for adapting SCR1 to diverse application needs (overall design includes more than 40 configurable options).

Table 6. SCR1 configuration options.

Feature Description
Core
ISA RV32(I/IM/IMC/E/EM/EMC)
Pipeline Stages 2/3/4 (based on frequency requirements)
Hardware Multiplier/Divider Speed-optimized/area-optimized according to requirements (iterative or pipelined configuration depending on frequency and performance requirements)
Number of GPRs 16/32
Memory Subsystem
Tightly-Coupled Memory (TCM) 4KB to 64KB
Interrupt Support
IPIC Up to 16 interrupt lines, fixed interrupt priority levels support based on ID (up to 16), direct/vectored interrupt mode
Low Power Management
Clock-gating support, power-gating support (coarse-grain power domain control, core-level UPF provided for low-power aware simulation and implementation), WFI (Wait for Interrupt) scheme to enter a sleep mode
Debug Subsystem
Debug unit Debug subsystem with the JTAG/cJTAG interface, hardware triggers support
Number of Hardware Triggers Up to 4
Interfaces
32-bit AXI4 or AHB-Lite external interface
Timers and Counters
Performance Monitoring 2 performance counters (cycle counter, retired instructions counter)
Embedded 64-bit RTC Timer Machine-mode timer interrupt support

4. Complete Development Platform

In addition to the SCR1 core and HW collateral, Syntacore provides a full set of pre-configured and tested tools that significantly boost productivity and simplify the development workflow.

Professional Software Development Suite

Syntacore Development Toolkit (SC-DT) is a comprehensive solution for developers that includes GCC/LLVM-based toolchains, an integrated development environment with support for Visual Studio Code and Eclipse, GDB and openOCD debuggers, a QEMU simulation environment, a bootloader, system software, sample applications, benchmarks and detailed documentation.

In addition, Syntacore provides extensive support for third-party debugging hardware and software from leading vendors: SEGGER, Lauterbach, Ashling, Digilent, Olimex.

Table 7. SC-DT components and supported 3rd party tools.

SC-DT
Feature Description
IDE Visual Studio Code plugin
Eclipse
Toolchain GCC with binutils and Newlib libraries
clang/LLVM compiler
Debuggers GNU GDB
OpenOCD
Simulator QEMU
Software Examples Sample applications and benchmarks
HAL and BSP
OS FreeRTOS/(RTEMS/Zephyr)*
Bootloader and Firmware First-stage bootloader
Documentation User Guide, Tools Guide (IDE, CLI)
Third-Party Tools
SEGGER Probe J-Link Ultra+
IDE Embedded Studio
Lauterbach Probes PowerDebug
PowerTrace
Debugger Trace32
Ashling Probe Opella-XD
IDE RiscFree™
Digilent Probe JTAG-HS2
Olimex Probes ARM-USB-TINY-H
ARM-USB-OCD-H

*Downloaded separately

FPGA SDK

The FPGA SDK is a ready-to-use project that includes an IP core, peripheral modules, standard interfaces, memory and the ability to add custom peripherals for testing on a specific board.

The SDK includes pre-built images, a bootloader, an OS (Zephyr), tests, HAL and BSP, as well as the Eclipse or Visual Studio development environments.

Off-the-shelf projects are available for the most popular FPGA boards*:

  • Digilent Arty (Xilinx)
  • Digilent Nexys4DDR (Xilinx)
  • Altera Arria-V (Intel)
  • Terasic DE10-Lite (Intel)

*Boards from other manufacturers can be considered upon request.

All SDKs for these boards are available on the GitHub repository, ready to install and configure and are continually supported by Syntacore.

Documentation

The SCR1 package includes comprehensive documentation:

  • User Manual with detailed technical specifications, configuration guidelines and operational instructions
  • External Architecture Specification (EAS) Manual, providing an in-depth description of the SCR1 architecture and microarchitecture, including components, ISA and interfaces
  • FPGA SDK Guide, offering step-by-step instructions for FPGA setup, image loading and application development tailored to specific boards

5. Summary

This article describes main architectural and microarchitectural features of the open-source SCR1 core, presents its PPA characteristics, compares it with similar ARM cores, describes development tools and provides an overview of the supported FPGA boards.

Fully compliant with the ratified RISC-V specifications and distributed under the open-source SHL license, SCR1 allows unrestricted use in both commercial and academic applications.

SCR1 is available in three default out-of-the-box configurations — Min, Base and Max — and offers flexible options for further fine-tuning. SCR1 can be customized with the help of our professional team to meet your specific requirements, making it suitable for a wide range of domains — from general-purpose embedded and Internet of Things (IoT) to control and monitoring systems.

SCR1 delivers competitive PPA results compared to similar ARM Cortex-M0 and Cortex-M3 IP cores. The core comes with fully pre-configured tools, an FPGA SDK and detailed documentation for a quick start with professional SLA-based support available.