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 主要特性
| 核心 | |
|---|---|
| 指令集架构 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 软件包的一部分,可单独下载。