DarkRISCV darkriscv

⭐⭐⭐☆☆ (3/5) 🧩 软硬件结合 已发布
darklife 1296 Stars 未知 BOM 完整度: /5 教程完整度: /5

项目简介

opensouce RISC-V cpu core implemented in Verilog from scratch in one night!


这是一个基于Verilog硬件描述语言实现的32位RISC-V处理器核心开源项目,同时配套提供了指令集模拟器,完整支持RV32IM指令集架构。项目核心价值在于为嵌入式系统、FPGA开发以及RISC-V生态研究提供了一个可配置、可综合的处理器参考实现。

标签

项目特点

**高性能软核**:在 Ultrascale KU040 上可达 250MHz,超频可达 400MHz;在 Spartan-6 上可达 100MHz,处理密度高达 233 DMIPS/1kLUT
**紧凑设计**:核心仅占用 850-1500 LUTs(取决于使能的特性和优化),可适配 XC3S100E 等小型 FPGA
**灵活的哈佛架构**:易于集成缓存控制器、总线桥等外设
**DSP 风格流水线**:流水线级之间无需互锁/停顿/转发,大部分时间可维持每周期一条指令
**丰富的可选特性**:支持 CSR(控制和状态寄存器)用于中断和调试、RV32E 支持、16x16 MAC 指令、粗粒度多线程(MT)、指令和数据缓存、哈佛到冯·诺依曼桥接、SDRAM 控制器、大端支持、M 扩展等
**BSD 许可证**:完全开源,可无限制用于任何场景
**广泛的 FPGA 兼容性**:已验证可在 Xilinx(Spartan-3/6/7、Artix-7、Kintex-7、Kintex Ultrascale)、Altera 和 Lattice 等 FPGA 上正常工作

技术规格

指令集架构
流水线级数
最大频率
资源占用
IPC(每时钟指令数)
处理密度
处理效率
许可证
开发语言
可选特性

项目资源

物料清单 (BOM)

物料名称 数量 参考价格 备注
Xilinx Spartan-3E (XC3S100E) 1 最小目标板
Xilinx Spartan-6 1 推荐开发板
Xilinx Artix-7 / Kintex-7 1 高性能开发板
Xilinx Kintex Ultrascale (KU040) 1 最高性能开发板
Xilinx ISE / Vivado 1 FPGA 综合与实现工具
Icarus Verilog 1 开源 Verilog 仿真器
GTKWave 1 查看仿真 VCD 波形文件

所需工具

工具用途是否必需
Icarus Verilog Verilog 仿真 ✅ 是
GTKWave 查看仿真波形 ▢ 推荐
Xilinx ISE / Vivado FPGA 综合、实现与下载 ▢ 推荐
GCC for RISC-V (≥9.0) 编译 RISC-V 固件 ✅ 是
Make 构建自动化 ✅ 是
Git 版本控制与代码克隆 ✅ 是

能力画像

记忆与知识检索
1/5
逻辑推演
4/5
表达与交流
1/5
感知与观察
1/5
数理与计算
4/5
动手与操作
4/5
狂热与坚持
5/5
创造与创新
5/5

所需技能

🔧 **动手能力**:需要掌握 FPGA 开发板的使用,包括下载线连接、配置、烧录等硬件操作;具备焊接和调试基本电路的能力 💻 **编程能力**:需要精通 Verilog 硬件描述语言,理解数字电路设计;熟悉 C 语言以编写测试固件;了解 RISC-V 指令集架构;掌握 Makefile 构建系统和 Git 版本控制 ⚡ **电子电路**:需要理解 FPGA 内部架构(如 LUT、BRAM、DSP 等资源);了解时钟域、时序约束、流水线等数字电路设计概念;熟悉仿真和波形分析工具

适用场景

**嵌入式系统教学**:作为学习 RISC-V 架构和 CPU 设计的优秀教学案例,代码简洁且功能完整
**FPGA 原型验证**:在 FPGA 上快速验证 RISC-V 软核的性能和功能,适合学术研究和工业原型开发
**低成本 SoC 设计**:利用其紧凑的资源占用,在低成本 FPGA 上构建完整的片上系统(SoC)
**数字信号处理**:通过可选的 MAC 指令和 DSP 风格流水线,适用于需要实时信号处理的应用
**替换传统 MCU**:作为 680x0/Coldfire 等传统处理器的替代方案,提供更高的性能和更低的资源消耗