DarkRISCV darkriscv

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

项目简介

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 上正常工作

技术规格

指令集架构 RISC-V RV32E / RV32I
流水线级数 3 级(预取、取指、译码/执行)
最大频率 250MHz (KU040), 400MHz (超频), 100MHz (Spartan-6)
资源占用 850-1500 LUTs(核心,取决于配置)
IPC(每时钟指令数) 约 0.7(3级流水线),约 0.8(2级流水线)
处理密度 233 DMIPS/1kLUT (KU040@400MHz)
处理效率 0.6 IPC/1kLUT (1200LUT, IPC~0.7)
许可证 BSD
开发语言 Verilog
可选特性 CSR、RV32E、MAC、DBNZ、MT、中断、断点、缓存、桥接、SDRAM控制器、大端、M扩展

项目资源

物料清单 (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 波形文件

能力画像

⚪ 记忆与知识检索: 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 等传统处理器的替代方案,提供更高的性能和更低的资源消耗