SCR6 微控制器核心

SCR6 是一款高性能、经过硅验证的 64 位 RISC-V 处理器核心。它针对需要强大计算能力的嵌入式 RTOS 应用进行了优化。

SCR6 核心支持 RISC-V 标准的 "I" 整数、"M" 整数乘法与除法、"A" 原子操作、"C" 16位压缩指令,以及单精度 ("F") 和双精度 ("D") 浮点扩展。SCR6 包含一个乱序执行的超标量 12 级流水线、一个高精度浮点单元、一个分支预测单元、用于高效中断处理的 PLIC 或 APLIC 单元,以及提供灵活性和兼容性的行业标准 AXI4 和 JTAG/cJTAG 接口。

SCR6 内存子系统包括 L1 和 L2 缓存,以及一个 PMP 单元,支持基于 RTOS 的操作系统的执行。该处理器核心可在异构多核(一个集群内最多 8 个核)环境中运行,提供硬件级别的内存一致性支持,并简化外部加速器的集成。

* 支持 PLIC 或 APLIC

SCR6 微控制器核心

应用领域

  • 汽车电子
  • 传感器融合
  • 工业自动化
  • 电机控制
  • 智能家居
  • 图像与语音处理

SCR6 主要特性

核心
指令集架构 ISA RV64GC[B][K]
位操作指令[B],标量加密指令[K]一可选配
流水线 乱序执行 12 级超标量
浮点单元(FPU) 单/双精度,符合 IEEE 754-2008 标准
多核支持(SMP) 最多 8 个核,支持缓存一致性。支持通过 CHI 接口集成到基于 L3 缓存的集群系统中。
分支预测单元(BPU) 静态/动态
内存子系统
L1缓存 最大 64KB + 64KB,支持错误保护一奇偶校验/ECC
L2缓存 128KB 到 2MB,支持错误保护一奇偶校验/ECC
物理内存保护单元(PMP) 可配置的内存保护区域(PMP),最多支持64个区域。
中断子系统
平台级中断控制器 (PLIC) 最多 1023 个中断线,最多 256 个优先级
高级中断架构 (AIA) 高级平台级中断控制器(APLIC) + 传入消息信号中断控制器(IMSIC),每个硬件线程最多支持 1023 个中断线,最多 2047 个不同的中断标识。
调试子系统
接口 符合 JTAG/cJTAG 标准的接口
断点 最多 8 个硬件断点,支持无限个软件断点
接口
AXI 符合 AXI4 AMBA 标准的主接口
外部端口 TCM AXI 从端口,L2 缓存一致性端口
定时器和计数器
性能监视 最多 32 个性能计数器
嵌入式 64 位 RTC 定时器 支持机器模式定时器中断

开发工具

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

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

  • Eclipse IDE 和 Visual Studio Code 插件
  • 编译器(GCC、clang/LLVM,包含微架构优化)
  • 调试器(GDB、OCD)
  • 模拟器(QEMU)
  • FreeRTOS
  • HAL(板级支持包)
  • 应用示例
  • 基准测试
  • 文档

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