NEORV32 RISC-V处理器 neorv32

3/5 🧩 软硬件结合 已发布
stnolting 1360 Stars 未知 BOM 完整度: 0/5 教程完整度: 0/5
NEORV32 RISC-V处理器

项目简介

🖥️ 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文档和在线文档

技术规格

架构 RISC-V 32位小端序流水线/多周期改进哈佛架构
指令集 RV32 I/E/M/A/C/B/U/X + 多种Z扩展(Zba, Zbb, Zbc, Zbkb, Zbkc, Zbkx, Zbs, Zcb, Zfinx, Zicntr, Zicond, Zicsr, Zifencei, Zihpm, Zimop, Zmmul, Zkn, Zknd, Zkne, Zknh, Zkt, Zks, Zksed, Zksh, Xcfu等)
特权模式 机器模式(M)和可选的用户模式(U)
核心数 单核或SMP双核
内存 紧耦合数据/指令存储器(DMEM/IMEM),指令/数据缓存(iCACHE/dCACHE)
引导加载程序 预装引导ROM(BOOTLDROM),支持通过UART、I²C、SPI闪存和SD卡引导
定时器 RISC-V兼容的CLINT、32位通用定时器(GPTMR,最多16个定时器切片)、看门狗定时器(WDT)
串行接口 2x UART、SPI主机、SPI设备(SDI)、I²C主机(TWI)、I²C设备(TWD)、1-Wire主机(ONEWIRE)
其他外设 最多32个GPIO(支持中断)、最多64个PWM通道、真随机数生成器(TRNG)、CFU自定义功能单元、系统控制、调试模块等
描述语言 行为级、平台无关的VHDL
目标技术 FPGA(AMD、Intel、Lattice、Microchip、Gowin、Cologne Chip)和ASIC
许可证 BSD

项目资源

物料清单 (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等

能力画像

⚪ 记忆与知识检索: 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指令集扩展、多核处理器等方向的研究