VexRiscv
VexRiscv
3/5
🧩 软硬件结合
已发布
项目简介
A FPGA friendly 32 bit RISC-V CPU implementation
VexRiscv 是一个基于 SpinalHDL 硬件描述语言实现的高性能 RISC-V 处理器核心,专为 FPGA 设计优化。它支持 RV32I[M][A][F[D]][C] 指令集,采用 2 到 5 级流水线架构(取指、译码、执行、访存、写回),在功能全开时可达 1.44 DMIPS/MHz 的性能表现。
标签
项目特点
**高度可配置**:通过插件系统,可以灵活组合 CPU 功能,从极简配置到高性能配置均可实现。
**FPGA 优化**:不依赖任何厂商特定 IP,适合在各种 FPGA 上部署。
**丰富的指令集支持**:支持 RV32I、M、A、F、D、C 扩展。
**多种总线接口**:支持 AXI4、Avalon、Wishbone 等标准总线。
**可选高级功能**:包括 MMU、FPU、缓存、调试模块、分支预测等。
**操作系统兼容**:可运行 Linux、Zephyr、FreeRTOS 等操作系统。
**软件化硬件设计**:采用 SpinalHDL 的软件化方法,实现自动流水线数据传递和服务系统。
技术规格
| 指令集 | RV32I[M][A][F[D]][C] |
|---|---|
| 流水线深度 | 2 到 5+ 级(Fetch、Decode、Execute、Memory、WriteBack) |
| 性能 | 最高 1.44 DMIPS/MHz(全功能开启) |
| 总线接口 | AXI4、Avalon、Wishbone |
| 可选扩展 | MUL/DIV、F32/F64 FPU、指令/数据缓存、MMU、调试模块 |
| 分支预测 | 支持 NONE、STATIC、DYNAMIC、DYNAMIC_TARGET |
| 操作系统 | Linux、Zephyr、FreeRTOS |
| 硬件描述语言 | SpinalHDL |
| 目标平台 | FPGA(无厂商特定依赖) |
项目资源
搜索资源
物料清单 (BOM)
| 物料名称 | 数量 | 参考价格 | 备注 |
|---|---|---|---|
| Java JDK 8 | 1 | — | 编译 SpinalHDL 必需 |
| SBT | 1 | — | Scala 构建工具 |
| Verilator | 1 | — | 仿真测试(可选) |
| FPGA 开发板 | 1 | — | 部署目标 |
能力画像
⚪ 记忆与知识检索: 1/5
🔵 逻辑推演: 4/5
⚪ 表达与交流: 1/5
⚪ 感知与观察: 1/5
🔵 数理与计算: 4/5
🔵 动手与操作: 3/5
🔵 狂热与坚持: 4/5
🔵 创造与创新: 4/5
所需技能
🔧 **动手能力**:需要熟悉 FPGA 开发流程,包括综合、实现和下载比特流。
💻 **编程能力**:需要掌握 Scala 语言和 SpinalHDL 硬件描述语言,了解 RISC-V 指令集架构。
⚡ **电子电路**:需要了解数字电路设计基础,特别是流水线架构和 FPGA 资源利用。
适用场景
在 FPGA 上实现自定义 RISC-V 处理器,用于嵌入式系统或 SoC 设计。
研究和学习 RISC-V 架构、流水线设计、分支预测等计算机体系结构概念。
作为开源硬件项目的基础,用于开发特定应用领域的专用处理器。
在教育和学术环境中,用于教学和实验。