SCR5 应用核心
SCR5 是一款高效的、经过硅验证的入门级 Linux 32/64 位 RISC-V 处理器核心。
SCR5 核心完全支持 RISC-V 标准的"I"整数、"M"整数乘除、"A"原子、"C"16位压缩、"F"单精度浮点和"D"双精度浮点扩展。SCR5 包括一个 9 级顺序流水线、一个浮点单元、一个用于高效代码执行的分支预测单元、用于高效中断处理的 PLIC 或 IPIC 单元,以及符合行业标准的 AXI4、JTAG 和 cJTAG 接口,从而提高了灵活性和兼容性。
SCR5 的内存子系统包括 TCM 单元、L1 和 L2缓存、MMU 单元,并支持实时和 Linux 操作系统的执行。该处理器核心能在异构多核(一个集群中最多 4 个核心)环境下运行,为内存一致性和简化外部加速器的集成提供硬件级支持。
应用场景
- 物联网
- 工业自动化
- 汽车
- 智能家居
- 可穿戴设备
- 传感器集群
SCR5 主要特性
核心 | |
---|---|
ISA | RV32/RV64(IM[A][F]DC),原子指令[A],单精度浮点指令[F]——可选 |
流水线 | 7-9 个阶段 |
浮点运算单元(FPU) | 单/双精度,IEEE 754-2008 标准 |
多核支持(SMP) | 最多 4 个带高速缓存一致性的核心 |
分支预测单元 (BPU) | 静态/动态 |
内存子系统 | |
紧密耦合内存(TCM) | 最大 256KB,错误保护——奇偶校验/ECC |
L1 高速缓存 | 高达 64KB + 64KB,错误保护——奇偶校验/ECC |
二级缓存 | 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 从端口、二级缓存一致性端口 |
计时器和计数器 | |
性能监控 | 最多 32 个性能计数器 |
嵌入式 64 位 RTC 定时器 | 支持机器模式定时器中断 |
开发工具
Syntacore 开发工具包(SCR5 优化版)
SC-DT 软件包是一个即用型软件开发工具包,包含预构建和预配置工具,可简化 SCR5 核心的软件开发。通过 SC-DT,您可以利用预置工具和配置,减少使用 SCR5 启动和运行所需的时间和精力。SC-DT 支持 Windows、Linux 和 RISC-V Linux 操作系统,包括:
- Eclipse IDE 和 Visual Studio Code 插件
- 带有优化库的编译器(GCC、LLVM)
- 调试器(带 gdbserver 的 GDB、OCD)
- 模拟器(QEMU)
- FreeRTOS
- 本地工具包(设计用于在 RISC-V SCR Linux 主机上运行)
- BSP 和 HAL
- 应用示例
- 基准测试
- 文档
Syntacore 还支持和维护Linux、Zephyr、OpenJDK 和 U-boot 等系统软件,这些软件不属于 SC-DT 软件包,可单独下载。