待补充
ZipCPU/zipcpu
3/5
🧩 软硬件结合
已发布
项目简介
A small, light weight, RISC CPU soft core
ZipCPU 是一个轻量级、完全开源的 32 位 RISC 处理器核心,采用 GPLv3 协议发布。它并非 RISC-V 或任何现有指令集的变体,而是拥有自己独立设计的指令集架构,目前仅实现了 29 条核心指令,并预留了 6 条用于未来浮点运算扩展。该 CPU 采用经典的加载/存储架构,所有内存访问必须通过专门的加载和存储指令完成,指令在理想情况下每个时钟周期执行一条,乘除法和内存访问等操作会占用更多周期。ZipCPU 支持 Wishbone、AXI4-Lite 和 AXI4 三种总线接口,其中 Wishbone 版本采用冯·诺依曼结构共享指令和数据总线,而 AXI 版本则提供独立的指令和数据总线接口。处理器采用五级流水线设计,包含预取、译码、读操作数、执行(集成 ALU、内存、除法和浮点单元)以及写回阶段。它支持用户模式和超级用户模式两种运行级别,并通过双寄存器组机制处理中断——中断发生时自动切换寄存器组,无需中断向量表,简化了中断处理流程。几乎所有指令都可以条件执行,这提高了代码密度和执行效率。ZipCPU 主要面向嵌入式系统、FPGA 开发和教学研究场景,解决了在资源受限环境中需要一个完全可控、可定制、且拥有完整工具链支持的处理器核心的需求。该项目不仅提供 CPU 的 RTL 实现,还配套了完整的软件工具链(包括 binutils、GCC 和 newlib 支持)、详细的规格文档、仿真环境以及调试工具,开发者可以通过 ZBasic 仓库获得包含 RAM、QSPI 闪存和 SD 卡访问的完整开发板级支持,也可以使用 AutoFPGA 工具灵活调整外设配置。
标签
项目特点
独立指令集架构:并非 RISC-V 或任何现有指令集的变体,拥有完全自主设计的 29 条核心指令。
经典加载/存储架构:所有内存访问必须通过专门的加载和存储指令完成,简化了处理器设计。
多总线接口支持:兼容 Wishbone、AXI4-Lite 和 AXI4 三种总线,其中 Wishbone 版本采用冯·诺依曼结构,AXI 版本提供独立指令和数据总线。
高吞吐量设计:理想情况下每个时钟周期执行一条指令,乘除法和内存访问等操作会占用更多周期。
预留浮点扩展:预留了 6 条指令用于未来浮点运算扩展,便于后续功能升级。
完全开源:采用 GPLv3 协议发布,代码托管在 GitHub 上,社区活跃,星数达 716。
技术规格
| 架构 | |
|---|---|
| 指令集 | |
| 指令执行 | |
| 总线接口 | |
| 内存架构 | |
| 许可证 | |
| 开发语言 | |
| 目标平台 |
项目资源
搜索资源
物料清单 (BOM)
| 物料名称 | 数量 | 参考价格 | 备注 |
|---|---|---|---|
| Xilinx Artix-7 系列 | 1 | — | 推荐用于原型验证 |
| 3.3V/1.8V 稳压模块 | 1 | — | 为 FPGA 供电 |
| 50MHz 有源晶振 | 1 | — | 系统主时钟 |
| USB-JTAG 调试器 | 1 | — | 用于 FPGA 编程与调试 |
| 16MB SPI Flash | 1 | — | 存储固件与配置数据 |
| 2x20 排针 | 2 | — | 扩展 I/O 接口 |
能力画像
**记忆与知识检索**:3/5 — 需要查阅指令集手册和总线协议文档,但核心指令较少,记忆负担适中。
**动手与操作**:4/5 — 需要搭建 FPGA 开发环境、连接硬件、烧录固件,涉及实际硬件操作。
**编程与算法**:3/5 — 需要编写 Verilog 代码和简单的汇编/测试程序,算法复杂度不高。
**设计与建模**:4/5 — 需要理解处理器微架构、流水线设计、总线接口等,设计建模要求较高。
**实验与调试**:4/5 — 需要通过仿真和波形调试处理器行为,排查时序和逻辑错误。
**协作与分享**:3/5 — 开源社区活跃,可通过 Issue 和 PR 参与贡献,但核心开发以个人为主。
**学习与研究**:5/5 — 非常适合学习处理器设计、计算机体系结构、FPGA 开发等知识。
**系统集成**:4/5 — 需要将处理器集成到 SoC 系统中,连接外设和总线,系统集成能力要求较高。
项目图库
所需技能
Verilog / SystemVerilog 硬件描述语言
FPGA 开发流程(综合、布局布线、时序分析)
计算机体系结构基础(流水线、加载/存储架构)
总线协议(Wishbone、AXI4-Lite、AXI4)
仿真与调试工具(Verilator、GTKWave)
版本控制(Git)
基本汇编编程能力
适用场景
嵌入式系统设计与开发
FPGA 教学与实验课程
定制化 SoC(片上系统)设计
处理器微架构研究与教学
开源硬件爱好者学习 RISC 处理器设计
低功耗、轻量级控制器的原型验证