NEORV32 RISC-V处理器
neorv32
⭐⭐⭐☆☆ (3/5)
🧩 软硬件结合
已发布
项目简介
🖥️ A small, customizable and extensible MCU-class 32-bit RISC-V soft-core CPU and microcontroller-like SoC written in pl
NEORV32 是一个高度可定制的、基于 RISC-V 架构的微控制器级系统芯片(SoC),其核心是使用平台无关的 VHDL 语言编写的 NEORV32 CPU。该项目旨在作为一个“开箱即用”的完整解决方案,特别适合作为大型 SoC 设计中的辅助控制器,或作为一个独立、精简的微控制器使用。
标签
项目特点
**一体化包**:CPU + SoC + 软件框架 + 测试基础设施,完全自包含,无外部依赖
**平台无关性**:完全用行为级、平台无关的VHDL描述,不使用任何原语、宏、属性等
**高度可配置**:通过泛型(generics)实现广泛的CPU和SoC配置选项,可根据应用需求灵活定制
**RISC-V兼容**:支持RV32 I/E/M/A/C/B/U等多种指令集扩展,兼容RISC-V非特权规范和特权架构规范
**丰富的SoC外设**:包括定时器、计数器、多种串行接口(UART、SPI、I²C、1-Wire等)、GPIO、PWM、TRNG等
**多核支持**:支持单核或SMP双核配置
**操作系统支持**:支持Zephyr、FreeRTOS、MicroPython、Rust(Embassy框架),并能运行nommu-Linux
**开源文档完善**:提供详细的数据手册、用户指南、Doxygen API文档和在线文档
技术规格
| 架构 | |
|---|---|
| 指令集 | |
| 特权模式 | |
| 核心数 | |
| 内存 | |
| 引导加载程序 | |
| 定时器 | |
| 串行接口 | |
| 其他外设 | |
| 描述语言 | |
| 目标技术 | |
| 许可证 |
项目资源
stnolting/neorv32
stnolting/neorv32
stnolting.github.io/neorv32
stnolting/neorv32
neorv32/ug
sw/files.html
stnolting/neorv32-setups
stnolting/neorv32-setups
doc/index.html
stnolting/neorv32-freertos
stnolting/neorv32-micropython
crates/embassy-neorv32
GNAT-Academic-Program/neorv32-hal
14sea/see_neorv32_run_linux
enjoy-digital/litex
stnolting/neorv32
stnolting/neorv32
搜索资源
物料清单 (BOM)
| 物料名称 | 数量 | 参考价格 | 备注 |
|---|---|---|---|
| FPGA开发板 | 1 | — | 支持AMD、Intel、Lattice、Microchip、Gowin、Cologne Chip等品牌 |
| USB-UART适配器 | 1 | — | 用于与引导加载程序通信 |
| 可选外设 | 若干 | — | 根据应用需求选择(传感器、显示器等) |
| VHDL仿真工具 | 1 | — | 如GHDL、ModelSim、Vivado Simulator等 |
| FPGA综合工具 | 1 | — | 如Vivado、Quartus、Radiant、iCEcube2等 |
| RISC-V工具链 | 1 | — | GCC、Binutils、Newlib等 |
| 串口终端 | 1 | — | 如PuTTY、minicom、screen等 |
所需工具
| 工具 | 用途 | 是否必需 |
|---|---|---|
| FPGA开发板 | 运行NEORV32处理器 | ✅ 是 |
| VHDL仿真器 | 仿真和验证设计 | ✅ 是 |
| FPGA综合工具 | 综合并下载到FPGA | ✅ 是 |
| RISC-V GCC工具链 | 编译软件 | ✅ 是 |
| 串口终端 | 与引导加载程序交互 | ✅ 是 |
| Git | 版本控制和获取源码 | ✅ 是 |
| Make | 构建自动化 | ▢ 推荐 |
| Python | 脚本和工具支持 | ▢ 推荐 |
能力画像
记忆与知识检索
2/5
逻辑推演
4/5
表达与交流
2/5
感知与观察
2/5
数理与计算
5/5
动手与操作
4/5
狂热与坚持
4/5
创造与创新
4/5
项目图库
所需技能
🔧 **动手能力**:需要能够使用FPGA开发板,进行硬件连接和调试,理解数字电路设计基础
💻 **编程能力**:需要掌握RISC-V汇编和C语言编程,了解嵌入式系统开发流程,熟悉VHDL硬件描述语言
⚡ **电子电路**:需要理解FPGA工作原理、数字逻辑设计、时钟和复位管理、外设接口协议(UART、SPI、I²C等)
适用场景
**嵌入式系统教学**:作为RISC-V架构和SoC设计的教学平台,帮助学生理解CPU微架构和片上系统设计
**FPGA原型验证**:在FPGA上快速原型验证RISC-V相关设计或自定义指令扩展
**定制化微控制器**:为特定应用定制微控制器,只包含所需的外设和功能,优化资源占用
**SoC集成**:作为更大SoC设计中的辅助控制器或协处理器
**操作系统研究**:在RISC-V平台上研究和移植嵌入式操作系统(Zephyr、FreeRTOS、Linux)
**安全研究**:利用内置的加密扩展(Zkn、Zks等)进行密码学研究和安全应用开发
**学术研究**:用于计算机体系结构、RISC-V指令集扩展、多核处理器等方向的研究