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 的软件化方法,实现自动流水线数据传递和服务系统。
技术规格
| 指令集 | |
|---|---|
| 流水线深度 | |
| 性能 | |
| 总线接口 | |
| 可选扩展 | |
| 分支预测 | |
| 操作系统 | |
| 硬件描述语言 | |
| 目标平台 |
项目资源
物料清单 (BOM)
| 物料名称 | 数量 | 参考价格 | 备注 |
|---|---|---|---|
| Java JDK 8 | 1 | — | 编译 SpinalHDL 必需 |
| SBT | 1 | — | Scala 构建工具 |
| Verilator | 1 | — | 仿真测试(可选) |
| FPGA 开发板 | 1 | — | 部署目标 |
所需工具
| 工具 | 用途 | 是否必需 |
|---|---|---|
| Java JDK 8 | 编译 SpinalHDL 代码 | ✅ 是 |
| SBT | 构建和管理 Scala 项目 | ✅ 是 |
| Verilator | 仿真测试 CPU | ▢ 推荐 |
| FPGA 综合工具 | 生成 FPGA 比特流 | ▢ 推荐 |
能力画像
记忆与知识检索
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 架构、流水线设计、分支预测等计算机体系结构概念。
作为开源硬件项目的基础,用于开发特定应用领域的专用处理器。
在教育和学术环境中,用于教学和实验。