SCR4 微控制器核心
SCR4 是一款 32/64 位 RISC-V 低功耗、高性能、面积优化的处理器核心,具备浮点运算功能。
SCR4 核心完全支持 RISC-V 标准的 "I" 整数、"M" 整数乘法与除法、"A" 原子操作、"C" 16位压缩指令、"F" 单精度浮点、"D" 双精度浮点、"B" 位操作、"P" 打包SIMD(单指令多数据流)和 "K" 标量密码学扩展。SCR4 包含一个顺序执行的 5 级流水线、一个浮点单元、一个用于高效代码执行的分支预测单元、独立的 L1 指令和数据缓存、用于高效中断处理的 PLIC 或 IPIC 单元,以及行业标准的 AHB、AXI4、JTAG 和 cJTAG 接口,提高了灵活性和兼容性。
SCR4 内存子系统包括一个 TCM 单元、L1 和 L2 缓存、一个 MPU 单元,并支持无缝执行各种实时操作系统。该处理器核心可在异构多核(一个集群内最多 4 个核)环境中运行,提供硬件级别的内存一致性支持,并简化外部加速器的集成。
* 支持 PLIC 或 IPIC,** L2 缓存仅支持 AXI 接口
应用领域
- 工业自动化
- 汽车电子
- 物联网
- 智能传感器
- 智能家居
- 移动设备
SCR4 主要特性
| 核心 | |
|---|---|
| 指令集架构 ISA | RV32/RV64IMCF[ADBPK]。 原子操作指令[A]、双精度浮点指令[D]、位操作指令[B]、打包 SIMD 指令[P]、及标量加密指令[K]一可选配 |
| 流水线 | 3–5 级 |
| 浮点单元 (FPU) | 单/双精度,符合 IEEE 754-2008 标准 |
| 多核支持 (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 标准的接口 |
| 断点 | 最多 8 个硬件断点,支持无限个软件断点 |
| 接口 | |
| AXI | 符合 AXI4 AMBA 标准的主接口 |
| AHB | 符合 AHB AMBA 标准的主接口 |
| 定时器和计数器 | |
| 性能监视 | 最多 32 个性能计数器 |
| 嵌入式 64 位 RTC 定时器 | 支持机器模式定时器中断 |
开发工具
Syntacore 开发工具包 (针对 SCR4 优化)
SC-DT 软件包是一个开箱即用的软件开发套件,包含预构建和预配置的工具,可简化针对 SCR4 核心的软件开发。使用 SC-DT,您可以利用预构建的工具和配置,减少上手和运行 SCR4 所需的时间和精力。SC-DT 支持 Windows 和 Linux 操作系统,并包括:
- Eclipse IDE 和 Visual Studio Code 插件
- 编译器(GCC、clang/LLVM,包含微架构优化)
- 调试器(GDB、OCD)
- 模拟器(QEMU)
- FreeRTOS
- HAL(板级支持包)
- 应用示例
- 基准测试
- 文档
Syntacore 还支持并维护Zephyr操作系统,该操作系统不属于 SC-DT 软件包的一部分,可单独下载。