走向开放硅:Baochip-1x 的 RISC-V MCU 架构与工程实践

在开源硬件领域,一款既有芯片级代码又可用于工程实践的项目并不多见。baochip-1x 就是这样一个鲜明例子:它是一个围绕 RISC-V 架构、绝大部分开源逻辑描述的 MCU(微控制器)项目。该项目的代码托管在 GitHub 上,并提供部分 RTL(硬件逻辑)源码,支持文档自动生成与功能仿真。

22nm台积电工艺制造350MHz主频单片机完整流片RTL文件。

项目简介

Baochip-1x是一颗以开放源码RTL为主体、基于RISC-V指令集架构的微控制器,采用台积电22纳米工艺制造。其搭载的Vexriscv内核主频达350MHz,集成2MB RAM、4MB RRAM Flash、USB 2.0高速接口,以及基于PicoRV32设计、主频700MHz的四核I/O加速器。

所谓 RTL,是对数字硬件逻辑的结构化描述,可用于综合、仿真与验证,并能提取生成相关文档。该项目提供的 RTL 足够用于自动化文档生成与功能级仿真。

代码组织

  • 位于Xous代码库中的官方 Rust SDK。

https://github.com/betrusted-io/xous-core/

  • docs包含Baochip 1x 书籍的源代码。

https://baochip.github.io/baochip-1x/

  • rtl包含已流片的 RTL 的开源代码。

  • Vexriscv包含 Vex CPU 的源配置

  • scripts包含用于仓库管理的辅助脚本

  • verilate包含使用 Verilator 模拟 Baochip-1x 子集 RTL 模拟程序的文件。

  • arty包含用于构建面向 Arty-A7 的 SoC 存根的文件。可用于调试和开发未来的扩展功能。

核心特性

🧠 1. 主要由开源架构构成

项目的源代码主要采用开源技术栈,既有 Verilog / SystemVerilog 代码,也包括借助 SpinalHDL 与 Litex 生成的片段。尽管某些组件由于工程和 IP 原因未完全开源,但现有代码能完整描述 SoC 的主要结构,可用于建立文档和执行功能验证。

🔍 2. 文档与自动生成机制

项目中包含了一些自动化工具,可以从 RTL 代码自动提取以下信息:

  • SoC 外设的部分 SVD 文件

  • Xous 核心代码能使用的头文件

  • 可读的 SoC 结构文档

这些内容通过脚本从 RTL 自动生成,有助于理解芯片设计与使用。

🧪 3. 支持 Verilator 仿真

为了便于软件开发和验证,该项目支持使用 Verilator 进行功能仿真。Verilator 是一款开源的 Verilog 模拟器,相比商业级模拟工具,它执行速度更快,适合软件调试与大型 CI(持续集成)测试。

  • 通过 Verilator 仿真,你可以:

  • 启动和运行操作系统如 Xous

  • 查看 SoC 内部信号波形

  • 调试程序计数器、寄存器文件、AXI 总线状态等

  • 使用 GTKwave 结合 Codezoom 实现在仿真波形图中定位指令与状态

  • 尽管此仿真不处理时序细节和未知逻辑 X 状态,但在软件验证和开发流程中非常实用。

硬件验证

专门设计的开发板
https://github.com/baochip/dabao

总结

baochip-1x 是一个围绕 RISC-V 架构的开源 MCU 项目源码库,提供了 RTL 描述、自动文档生成与仿真工具支持。虽然部分模块由于工程原因尚未开源,但现有代码足以用于:

✔ 学习数字 SoC 架构与模块组织

✔ 在 Verilator 上进行功能模拟与软件开发

✔ 自动文档提取与头文件生成

✔ 支持后续开发板与软件堆栈构建

作为连接开源硬件与嵌入式软件世界的桥梁,这个项目为关注 RISC-V 与开源硅生态的工程师提供了一个极具参考价值的源代码资源。

相关推荐
女神下凡2 小时前
芯参谋(85):Linux_PPI_NAND_驱动开发指南
linux·运维·arm开发·驱动开发·单片机·嵌入式硬件·设计规范
硅基手札4 小时前
【Linux 内核专栏 19】20 · 嵌入式子系统 — GPIO·pinctrl·clock·regulator
linux·运维·单片机·linux内核·嵌入式开发·调试定位
何粥学6 小时前
Vivado 2024.2 开发记录(AC820 Zynq-7020)——软件使用,点亮led灯
单片机·嵌入式硬件·zynq
Sakura_j_h_6 小时前
51 单片机驱动四位数码管:动态扫描、限流电阻与消影的取舍
单片机·嵌入式硬件·51单片机·嵌入式·数码管·动态扫描·限流电阻
HANDY092008 小时前
从“不照人”到“剂量达标”:扇叶遮挡式UV-C空气消毒的工程边界与可验证评估框架
开发语言·人工智能·嵌入式硬件·智能家居
飞凌嵌入式10 小时前
千次静电放电试炼,守住飞凌嵌入式硬件可靠底线
嵌入式硬件
蹊黎19 小时前
Linux 下用 C 语言实现进度条
linux·c语言·单片机
无敌贵点大王1 天前
从寄存器层面重学STM32(6)——串口USART实战部分
stm32·单片机·嵌入式硬件
庙堂龙吟奈我何1 天前
二进制和十六进制
stm32·单片机
国科安芯1 天前
长期在轨的计算底座:商业空间站与在轨服务飞行器健康管理中的抗辐射MCU—— 面向可维护空间平台的分层容错与安全通信综述
人工智能·单片机·嵌入式硬件·安全·低轨卫星·抗辐射