走向开放硅: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 与开源硅生态的工程师提供了一个极具参考价值的源代码资源。

相关推荐
LCMICRO-1331084774614 小时前
长芯微LD9689完全P2P替代AD9689,是一款双通道、14位、2.0 GSPS/2.6 GSPS模数转换器(ADC)
网络·单片机·嵌入式硬件·网络协议·fpga开发·硬件工程·高速adc
逐步前行21 小时前
STM32_TIM_寄存器操作
stm32·单片机·嵌入式硬件
0南城逆流01 天前
【STM32】知识点介绍七:PWM功能
stm32·单片机·嵌入式硬件
智者知已应修善业1 天前
【51单片机独立按键控制数码管移动反向,2片74CH573/74CH273段和位,按键按下保持原状态】2023-3-25
经验分享·笔记·单片机·嵌入式硬件·算法·51单片机
我是一棵无人问荆的小草1 天前
单片机通电后延迟启动策略
单片机·嵌入式硬件
坏柠1 天前
ESP32-S3 蓝牙 BLE 从零到一:广播、服务、特征,用一个智能灯的例子全讲透
嵌入式硬件
日更嵌入式的打工仔1 天前
UART RX为什么要上拉
单片机
三佛科技-187366133971 天前
FT32F030F6AP7高性能32位RISC内核MCU解析(兼容STM32F030K6TP7)
stm32·单片机·嵌入式硬件
LCMICRO-133108477461 天前
长芯微LDC90810完全P2P替代ADC128D818,是一款八通道系统监控器,专为监控复杂系统状态而设计。
stm32·单片机·嵌入式硬件·fpga开发·硬件工程·模数转换芯片adc
嵌入式老菜鸟qq1252427731 天前
关于S2-LP休眠
单片机·嵌入式硬件·mcu·射频工程