2个版本
0.1.2 | 2024年2月6日 |
---|---|
0.1.0 | 2024年1月28日 |
#1078 在 硬件支持
57KB
904 行
Shakti_riscv_hal
此crate是针对Shakti的C类PARASU、PINAKA和E类VAJRA处理器的硬件抽象层,该处理器采用riscv架构。
SHAKTI是由印度理工学院马德拉斯的可重构智能系统工程(RISE)小组发起的开源倡议。SHAKTI倡议的目标包括构建开源生产级处理器、完整的系统芯片(SoC)、开发板和基于SHAKTI的软件平台。SHAKTI项目正在构建一个基于RISC-V指令集架构(ISA)的处理器系列。该项目有一个路线图,为每个处理器类别开发参考系统芯片(SoC),这将为该系列提供范例。团队将多年的处理器架构研究转化为这些SoC,这些SoC在市场上有竞争力的商业产品,在功耗、面积和性能方面具有优势。截至2019年12月,当前的SoC开发是针对控制器(C类)和嵌入式(E类)类别。
处理器 SHAKTI是印度理工学院马德拉斯RISE实验室开发的基于RISC-V的处理器。SHAKTI在其路线图中设想了一系列处理器,以满足不同市场领域的需求。它们被广泛分为“基础处理器”、“多核处理器”和“实验性处理器”。E类和C类是针对物联网(IoT)、嵌入式和桌面市场的第一套国产处理器。处理器设计无任何版税,并采用BSD3许可证开源。以下是E类和C类处理器的简要概述。
E类 E类是一个32位微处理器,能够支持表1中列出的RISC-V ISA的所有扩展。E类是一个顺序3级流水线,在硅芯片上的运行频率小于200MHz。它与ARM的M类(CorTexM系列)核心相抗衡。E类处理器的主要预期用途是在低功耗计算环境、汽车和物联网应用(如智能卡、电机控制和家庭自动化)中。E类处理器还能够运行实时操作系统(RTOS)如Zephyr OS和FreeRTOS。
PINAKA(E32-A35)是围绕E类芯片构建的SoC。Pinaka是一款32位E类微控制器,具有4KB的ROM和128KB的BRAM,拥有32个通用输入输出(GPIO)引脚(其中上面的8个GPIO引脚专门用于板载LED和开关),一个平台级中断控制器(PLIC),一个定时器(CLINT),2个串行外设接口(SPI),3个通用异步收发传输器(UART),2个集成电路(I2C),6个脉冲宽度调制器(PWM),一个内置的Xilinx模拟数字转换器(X-ADC),支持软浮点库,启用物理内存保护(PMP),板载基于FTDI的调试器,以及支持引脚复用(Arduino兼容引脚分配)。表2详细描述。
PARASHU(E32-A100)是围绕E类芯片构建的SoC。Parashu是一款32位E类微控制器,具有4 KB的ROM和256 MB的DDR。该SoC的其余配置与PINAKA相同。
C类 C类是一个顺序执行的6级64位微控制器,支持整个RISCV指令集架构。它针对支持200-800MHz的中端计算系统。C类针对0.5-1.5 GHz范围内的计算应用。C类可根据低功耗和高性能进行定制。它与ARM的Cortex A35/A55竞争。Linux、SEL4和FreeRTOS是一些已移植并经过C类验证的操作系统。
VAJRA(C64-A100)是围绕C类芯片构建的SoC。这个SoC是一款单芯片64位C类微控制器,具有4KB的ROM和256MB DDR3 RAM。VAJRA针对中端应用负载,如工业控制器和桌面市场。
依赖项
~1.6–2.2MB
~46K SLoC