SCR5 应用核心

SCR5 是一款高效、经过硅验证、支持 Linux 的入门级 32/64 位 RISC-V 处理器核心。

SCR5 核心完全支持 RISC-V 标准的 "I" 整数、"M" 整数乘法与除法、"A" 原子操作、"C" 16位压缩指令、"F" 单精度浮点、"D" 双精度浮点、"B" 位操作、"P" 打包SIMD(单指令多数据流)和 "K" 标量密码学扩展。SCR5 包含一个顺序执行的 9 级流水线、一个浮点单元、一个用于高效代码执行的分支预测单元、用于高效中断处理的 PLIC 或 IPIC 单元,以及行业标准的 AXI4、JTAG 和 cJTAG 接口,提高了灵活性和兼容性。

SCR5 内存子系统包含一个 TCM 单元、L1 和 L2 缓存、一个 MMU 单元,并支持实时操作系统和 Linux 操作系统的执行。该处理器核心可在异构多核(一个集群内最多 4 个核)环境中运行,提供硬件级别的内存一致性支持,并简化外部加速器的集成。

* 支持 PLIC 或 IPIC,** L2 缓存仅支持 AXI 接口

SCR5 应用核心

应用领域

  • 物联网
  • 工业自动化
  • 汽车电子
  • 智能家居
  • 可穿戴设备
  • 传感器中枢

SCR5 主要特性

核心
指令集架构 ISA RV32/RV64(IMC[AFDBPK])
原子操作指令[A]、单精度浮点指令[F]、双精度浮点指令[D]、位操作指令[B]、打包SIMD指令[P]、标量加密指令[K]一可选配
流水线 7–9级
浮点单元 (FPU) 单/双精度,符合 IEEE 754-2008 标准
多核支持 (SMP) 最多 4 个核,支持缓存一致性
分支预测单元 (BPU) 静态/动态
内存子系统
紧耦合内存(TCM) 最大 256KB,支持错误保护一奇偶校验/ECC
L1缓存 最大 64KB + 64KB,支持错误保护一奇偶校验/ECC
L2缓存 128KB 到 512KB,支持错误保护一ECC
内存管理单元 (MMU) 最多 64 个指令 TLB 条目,最多 64 个数据 TLB 条目
内存保护单元 (MPU) 可配置,最多支持 32 个区域的 MPU
中断子系统
IPIC 最多 32 个中断线
PLIC 最多 1023 个中断线,最多 256 个优先级
调试子系统
接口 符合 JTAG/cJTAG 标准的接口
断点 最多 8 个硬件断点,支持无限个软件断点
接口
AXI 符合 AXI4 AMBA 标准的主接口
AHB 符合 AHB AMBA 标准的主接口
外部端口 TCM AXI 从端口,L2 缓存一致性端口
定时器和计数器
性能监视 最多 32 个性能计数器
嵌入式 64 位 RTC 定时器 支持机器模式定时器中断

开发工具

Syntacore 开发工具包 (针对 SCR5 优化)

SC-DT 软件包是一个开箱即用的软件开发套件,包含预构建和预配置的工具,可简化针对 SCR5 核心的软件开发。使用 SC-DT,您可以利用预构建的工具和配置,减少上手和运行 SCR5 所需的时间和精力。SC-DT 支持 Windows、Linux 和 RISC-V Linux 操作系统,并包括:

  • Eclipse IDE 和 Visual Studio Code 插件
  • 编译器(GCC、clang/LLVM,包含微架构优化和针对 Linux 的优化库)
  • 调试器(GDB 与 gdbserver、OCD)
  • 模拟器(QEMU)
  • FreeRTOS 和 Linux 操作系统
  • OpenSBI 和 U-boot 引导加载程序
  • 原生工具包(设计在 RISC-V SCR Linux 主机上运行)
  • HAL(板级支持包)
  • 应用示例
  • 基准测试
  • 文档

Syntacore 还支持并维护Zephyr操作系统,该操作系统不属于 SC-DT 软件包的一部分,可单独下载。