SCR3 微控制器核心
SCR3 是一款高效、经过硅验证、面向微控制器类应用的 32/64 位 RISC-V 处理器核心。它针对对功耗敏感、面积受限且要求高性能的嵌入式应用进行了优化。
SCR3 支持 RISC-V 标准的 "I" 整数、"M" 整数乘法与除法、"A" 原子操作、"C" 16位压缩指令、"B" 位操作、"P" 打包SIMD(单指令多数据流)和 "K" 标量密码学扩展。SCR3 配备了顺序执行的 5 级流水线、一个用于高效代码执行的分支预测单元、用于高效中断处理的 PLIC 或 IPIC 单元,以及行业标准的 AHB、AXI4、JTAG 和 cJTAG 接口,以实现灵活性和兼容性。
SCR3 内存子系统包括一个 TCM 单元、L1 和 L2 缓存,以及一个支持用户模式和机器模式权限级别的 MPU 单元,允许执行各种实时操作系统。该处理器核心可在最多 4 个核的异构集群中运行,提供硬件级别的内存一致性支持,并简化外部加速器的集成。
* 支持 PLIC 或 IPIC,** L2 缓存仅支持 AXI 接口
应用领域
- 工业自动化
- 物联网
- 存储设备
- 智能表计
- 汽车电子
- 智能家居
SCR3 主要特性
| 核心 | |
|---|---|
| 指令集架构 ISA | RV32/RV64(IMC[ABPK])。 原子操作指令[A]、位操作指令[B]、打包 SIMD 指令[P]、及标量加密指令[K]一可选配。 |
| 流水线 | 3-5 级 |
| 多核支持(SMP) | 最多 4 个核,支持缓存一致性。支持通过 CHI 接口集成到基于 L3 缓存的集群系统中。 |
| 分支预测单元 (BPU) | 静态/动态 |
| 内存子系统 | |
| 紧耦合内存(TCM) | 最大 256KB,支持错误保护一奇偶校验/ECC |
| L1缓存 | 最大 32KB + 32KB,支持错误保护一奇偶校验/ECC |
| L2缓存 | 128KB 到 512KB,支持错误保护一ECC |
| 内存保护单元 (MPU) | 可配置,最多支持 32 个区域的 MPU |
| 中断子系统 | |
| IPIC | 最多 32 个中断线 |
| PLIC | 最多 1023 个中断线,最多 256 个优先级 |
| 调试子系统 | |
| 接口 | 符合 JTAG/cJTAG 标准的接口 |
| 断点 | 最多 4 个硬件断点,支持无限个软件断点 |
| 接口 | |
| AXI | 符合 AXI4 AMBA 标准的主接口 |
| AHB | 符合 AHB AMBA 标准的主接口 |
| 定时器和计数器 | |
| 性能监视 | 最多 32 个性能计数器 |
| 嵌入式 64 位 RTC 定时器 | 支持机器模式定时器中断 |
开发工具
Syntacore 开发工具包 (针对 SCR3 优化)
SC-DT 软件包是一个开箱即用的软件开发套件,包含预构建和预配置的工具,可简化针对 SCR3 核心的软件开发。使用 SC-DT,您可以利用预构建的工具和配置,减少上手和运行 SCR3 所需的时间和精力。SC-DT 支持 Windows 和 Linux 操作系统,并包括:
- Eclipse IDE 和 Visual Studio Code 插件
- 编译器(GCC、clang/LLVM,包含微架构优化)
- 调试器(GDB、OCD)
- 模拟器(QEMU)
- FreeRTOS
- HAL(板级支持包)
- 应用示例
- 基准测试
- 文档
Syntacore 还支持并维护Zephyr操作系统,该操作系统不属于 SC-DT 软件包的一部分,可单独下载。