neorv32:基于 RISC-V 架构的可定制微控制器系统芯片项目

🖥️ A small, customizable and extensible MCU-class 32-bit RISC-V soft-core CPU and microcontroller-like SoC written in platform-independent VHDL.

分支5Tags98
文件最后提交记录最后更新时间
15 天前
7 天前
7 天前
8 天前
7 天前
7 个月前
4 个月前
7 天前
9 个月前
7 个月前
8 个月前
1 个月前

NEORV32 RISC-V 处理器

数据手册 (PDF) 数据手册 (HTML) 用户指南 (PDF) 用户指南 (HTML) 软件 API (HTML) 许可证

NEORV32 处理器是一款以 NEORV32 RISC-V CPU 为核心的可定制类微控制器片上系统(SoC),使用平台无关的 VHDL 编写。该处理器可作为大型 SoC 设计中的辅助控制器,也可作为小型且可定制的微控制器。项目旨在开箱即用,既面向数字设计 / RISC-V 初学者,也面向有经验的用户。

NEORV32 概览

主要特性

项目状态

release commits-since-latest-release

任务 CI 状态
GitHub pages GitHub Pages
文档 Documentation
处理器检查 Processor
Verilog 转换 Verilog Conversion
RISC-V 合规性 neorv32-riscv-act

该处理器已通过官方 RISC-V 架构认证测试(ACT)。 它能够成功运行包括 CoreMark 和 FreeRTOS 在内的任意软件,并可综合至任意目标工艺——已在 AMD、Intel、Lattice、Microchip、Gowin 和 Cologne Chip 的 FPGA 上测试。该处理器也已多次以 ASIC 形式流片。

特性

NEORV32 处理器提供一款功能完整的类微控制器 SoC,以 NEORV32 CPU 为核心构建。 通过使用通用参数,设计高度可配置,并支持灵活定制,以便 根据你的需求调整系统配置。请注意,以下所有 SoC 模块均为完全 可选 的。

CPU 核心

存储器

  • 紧耦合数据存储器与指令存储器(DMEM 与 IMEM)以及 缓存(iCACHE 与 dCACHE)
  • 串行存储器控制器(SMC),用于透明访问 最多 2 颗 PSRAM/闪存芯片(支持 XIP)
  • 预装引导加载程序(BOOTLDROM),带串行用户界面; 支持通过 UART、I²C 或 SPI 闪存启动应用代码,并可从 SD 卡启动

定时器与计数器

  • RISC-V 兼容核心本地中断器(CLINT)
  • 32 位通用定时器(GPTMR),最多包含 16 个独立定时器切片
  • 看门狗定时器(WDT)

输入 / 输出

  • 标准串行接口:2 路 UART, SPI(SPI 主机), SDI(SPI 设备), TWI(I²C 主机), TWD(I²C 设备), ONEWIRE(1-wire 主机)
  • 最多 32 个通用 IO(GPIO,支持中断) 以及最多 32 路独立 PWM 通道
  • 智能 LED 接口(NEOLED),用于直接控制 NeoPixel(TM) 灯珠

SoC 互连

  • 32 位外部总线接口 - 兼容 Wishbone (XBUS); 用于 AXI4 兼容接口的桥接器
  • 流式链接接口,具有独立 RX 与 TX 通道 - 兼容 AXI4-Stream (SLINK)

高级功能

  • 真随机数发生器(TRNG),基于 neoTRNG
  • 自定义功能子系统(CFS) 用于自定义紧耦合协处理器、加速器或接口
  • 直接存储器访问控制器(DMA),用于独立于 CPU 的 数据传输与转换
  • 兼容 RVFI 的跟踪端口 用于高级调试、性能剖析或验证

调试

  • 片上调试器(OCD),可通过标准 JTAG 接口访问
  • 兼容“RISC-V 调试规范第 1.0 版”
  • 兼容 OpenOCD、GDB 和 Segger Embedded Studio
  • RISC-V 触发模块,用于硬件辅助断点和观察点
  • 可选 JTAG 认证模块,用于实现自定义安全机制
  • 执行跟踪缓冲器(TRACER)

尺寸与性能

NEORV32 处理器专为极小尺寸而优化。然而,实际尺寸(硅面积或 FPGA 资源)取决于具体配置。例如,一个基于 rv32imc_Zicsr_Zicntr CPU 配置并支持 RTOS 的设置大约需要 2300 个 LUT 和 1000 个 FF,并可运行至最高 130 MHz(Altera Cyclone IV E EP4CE22F17C6 FPGA 上的实现结果)。该配置的 CoreMark 得分为 95(0.95 CoreMarks/MHz)。相应的双核版本 CoreMark 得分为 190(1.9 CoreMarks/MHz)。

有关 CPU 性能的更多信息,请参见 数据手册:性能。

快速上手

本概览提供了若干快速链接,指向 在线数据手册 和 在线用户指南 中的重要章节。

🔍 NEORV32 项目 - 简介

🖥️ NEORV32 处理器 - SoC

🧮 NEORV32 CPU - 核心

💾 软件框架 - 软件生态系统

🚀 用户指南 - 快速上手

这是一个免费开源项目,基于宽松的许可证提供。 更多详情请参阅法律声明部分。

参与贡献

非常欢迎贡献!如果您想改进某些内容、修复缺陷或新增功能, 请随时提交 issue 或发起 pull request。查看如何参与贡献。 向帮助改进本项目的社区以及所有贡献者致以诚挚的感谢:

项目介绍

🖥️ 一款微小、可定制且高度可扩展的MCU级32位RISC-V软核CPU及类似微控制器的SoC,采用与平台无关的VHDL语言编写。【此简介由AI生成】

定制我的领域
532.28 K390访问 GitHub