导语

当前RISC-V架构在嵌入式、消费电子领域的落地速度不断加快,但市场上能够覆盖从硬件设计到软件适配全链路的开源便携设备参考方案却十分稀缺,很多开发者做定制化便携嵌入式设备时,往往需要从零搭建硬件逻辑、适配工具链,研发成本极高。此次开源的RISCBoy项目,恰好填补了这一空白,为全栈RISC-V便携设备开发提供了可直接复用的成熟模板。

项目核心事实

RISCBoy由海外开发者Wren6991完全从零自研,所有设计全部开源,核心构成包含四大部分:兼容RISC-V指令集的自研32位处理器、光栅图形管线与显示控制器、总线/内存控制器/UART/GPIO等外设基础设施、以及KiCad设计的完整PCB版图。

这是一个来自平行宇宙的Game Boy Advance——在那个宇宙里,RISC-V在2001年就已经诞生了。——RISCBoy项目README

硬件层面,该项目针对入门级FPGA做了极致优化,默认目标平台是Lattice iCE40-HX8k FPGA,这款芯片仅配备7680个LUT4逻辑单元,要在如此有限的资源里跑通32位游戏掌机的全栈逻辑,研发团队做了大量裁剪优化。同时项目也支持更小的iCE40 UP5k FPGA,可切换为精简的RV32I指令集版本进一步降低资源占用;针对更高配置的ECP5 FPGA也提供了实验性支持,可直接调用芯片内置的256KiB 32位同步内存替代外置SRAM。

软件与工具链层面,RISCBoy的自研RISC-V处理器支持RV32IMC指令集,已经通过了RISC-V官方合规测试套件、riscv-formal形式化验证套件的双重验证,还支持M模式CSR、异常处理、向量外部中断扩展,稳定性有保障。整个项目完全基于开源工具链开发,综合用Yosys、布局布线用nextpnr、比特流生成用Project Icestorm,不需要任何商用EDA授权即可完成全流程开发,项目还提供了完整的RV32IMC工具链编译教程、仿真脚本、测试用例,降低了开发者的上手门槛。

目前项目公开的是Rev A版本PCB,可兼容主流的4层5x5cm PCB打样服务,Rev B版本正在迭代中,待核心逻辑与 bootloader 成熟后将对外发布。

行业解读与开发者指南

RISCBoy的最大价值在于它是一个完全没有知识产权包袱的全栈参考设计,彻底打破了定制便携嵌入式设备的高门槛:以往开发者要做一款定制复古掌机、工业便携终端或者嵌入式教育实验板,至少需要花3-6个月的时间搭建硬件逻辑、适配工具链、调试外设,现在可以直接基于RISCBoy的开源组件修改,最快两周就能拿出原型。

对中国开发者来说,该项目的参考意义尤其突出:首先,国内RISC-V生态正在快速扩张,很多厂商都在布局低功耗便携设备、教育开发板产品线,RISCBoy在小资源FPGA上部署32位RISC-V+图形系统的优化思路、全开源工具链的适配经验,都可以直接复用,不需要支付任何授权费用;其次,项目的核心RISC-V处理器内核、图形管线、总线框架等组件都可以单独拆分,用于其他轻量级嵌入式项目,比如IoT节点、穿戴设备的主控开发;最后,该项目也非常适合作为高校RISC-V、嵌入式相关课程的实验平台,全开源的设计可以让学生从硬件到软件完整理解便携设备的运行逻辑。

当然开发者也要注意当前项目的局限性:目前官方仅提供了基础测试代码,还没有成熟的应用开发框架、游戏生态,上层软件需要开发者自行补充;Rev A版本硬件还处于原型阶段,可能存在未修复的设计问题;仿真流程目前仅在Linux环境下的Xilinx ISIM 14.x测试通过,其他环境的兼容性需要自行适配。