Shrike:低成本开源 FPGA+MCU 异构开发板

Shrike 是开源 FPGA‑MCU 一体化硬件平台,集成微控制器与 1120LUT FPGA,依靠板载高速链路实现双芯协同。提供三款硬件版本,硬件遵循 CERN‑OHL 开源协议,支持动态重配置,为数字逻辑教学、异构原型开发提供高性价比方案。

Shrike:低成本开源 FPGA+MCU 异构开发板封面
oshw_hqzl2026-08-05 15:23:26CERN-OHL-P v2
92
Star

PCBA
该项目存在多块PCBA,可切换查看

shrike-lite-v1_r0.5
shrike-lite-v1_r0.4

设计文件

KiCad图标shrike-lite-v1_r0.5.zip2.41MB(3次下载)

EDA查看器

复制嵌入代码

详细介绍

Shrike 是印度硬件团队 Vicharak 推出的完全开源、低成本 FPGA+MCU 异构开发板项目,目标解决传统 FPGA 开发门槛高、工具链封闭、价格昂贵的痛点,面向学生、创客、硬件爱好者,把微控制器与 FPGA 融合,实现 “MCU 做应用,FPGA 做高速并行逻辑” 的异构计算平台。

一、项目设计理念

传统 FPGA 开发存在几个痛点:

  1. FPGA 芯片昂贵,开发板价格高;

  2. FPGA 本身缺少外设,需要搭配外部 MCU;

  3. 厂商工具链笨重,上手难度大。

Shrike 的思路:板载双芯片(MCU+FPGA)

  • MCU:负责 USB、文件、网络、人机交互、外设驱动,同时承担 FPGA 配置加载;

  • FPGA:负责并行高速逻辑处理;

    两者板上直连通信,不用外接接线,一套板子同时拥有单片机与可编程逻辑的全部能力,适合数字逻辑教学、快速原型开发。

    全部硬件开源,原理图、PCB、约束文件全部开放,允许用户复刻修改。

二、核心芯片规格

FPGA(全系列统一)

Renesas ForgeFPGA SLG47910V

  • 1120 个 5 输入 LUT,1120 个 D 触发器

  • 5KB 分布式 RAM,32KB BRAM 块存储

  • 支持 Verilog 开发,支持 SPI 加载比特流,内置非易失存储

  • 封装 STQFN‑24,低功耗架构

三款板子完整硬件对比

参数

Shrike‑Lite

Shrike

Shrike‑Fi

主控 MCU

RP2040(双核 Cortex‑M0+)

RP2350(Cortex‑M0+ + RISC‑V Hazard 双核)

ESP32‑S3(双核 Xtensa‑LX7)

FPGA

SLG47910V 1120LUT

SLG47910V 1120LUT

SLG47910V 1120LUT

Flash

4MB QSPI

4MB QSPI

8MB QSPI

无线

WiFi4 + BLE

PSRAM

可选配件

可选配件

最高 8MB(板载)

板载 BMS

可选配件

板载 BMS,支持锂电池

MCU ↔ FPGA 链路

4bit 并行通信

6bit 并行通信

6bit 并行通信

FPGA 引出 IO

14 路 PMOD 接口

14 路 PMOD 接口

14 路 PMOD 接口

MCU 引出 IO

23 路

24 路

21 路

用户 LED

2 颗

2 颗

2 颗

接口

Type‑C 供电下载、PMOD、面包板兼容

Type‑C 供电下载、PMOD、面包板兼容

Type‑C 供电下载、PMOD、面包板兼容

MCU 与 FPGA 之间的并行链路,承担两件工作:①MCU 向 FPGA 下发比特流完成配置;②运行时双向高速数据交互,MCU 代码可以读写 FPGA 内部寄存器,FPGA 逻辑也可以读取 MCU 信号。

三、系统架构与工作流程

  1. 比特流加载方式:MCU 充当 FPGA 配置控制器。PC 把 FPGA 比特流下载到板上 Flash;上电时 MCU 自动读取 Flash,通过板上并行总线配置 FPGA;运行中也可以随时重新重配 FPGA 逻辑,实现动态重配置。

  2. IO 资源隔离

  • MCU 拥有独立 GPIO,用于普通单片机任务;

  • FPGA 的 IO 全部接到标准 PMOD 接口,方便外接模块;

  • 板内专用通信通道,不需要占用外部引脚做互通。

3. 存储共享:QSPI Flash 可以被 MCU 与 FPGA 双方访问。

四、开发工具链与软件生态

  1. 官方 EDA:Renesas Go‑Configure Software Hub,图形界面,用于 Verilog 综合、布局布线,生成 FPGA 比特流。

  2. 社区工具shrike‑gen,开源 CLI 工具,脱离 GUI,Makefile 驱动,命令行完成 Verilog 编译、生成比特流,适合自动化脚本开发。

  3. MCU 开发支持

  • Arduino IDE:官方提供 Shrike 库,一键完成 FPGA 配置调用;

  • MicroPython / TinyGo:提供板级支持包;

  • C/C++ 裸机开发。

五、开源许可

  1. 软件代码:GPL‑2.0;

  2. 硬件设计(原理图、PCB、约束)CERN‑OHL‑V1.2开源硬件协议,允许商业复刻、修改,衍生硬件同样开源。

六、适用场景

  1. 教学学习:数字电路、Verilog 入门,对比传统 FPGA 降低上手门槛;

  2. 异构原型:MCU 处理网络、USB,FPGA 实现高速 IO、PWM、信号采集;

  3. 物联网 FPGA 原型(Shrike‑Fi):WiFi+FPGA 组合,做无线高速采集;

  4. 创客 DIY 项目、竞赛作品。

七、项目优缺点总结

✅优点

  • 价格低廉,把 FPGA+MCU 做到单块小板;

  • 硬件全部开源,可复刻;

  • MCU 直接配置 FPGA,支持运行时重配置;

  • PMOD、面包板友好,适合教学。

⚠️局限

  • FPGA 规模仅 1120LUT,属于中小规模,不能运行大型 SoC;

  • FPGA 芯片本身是闭源商用器件;

  • 官方工具是 GUI,社区命令行工具还处于 Alpha 阶段。

八、项目地址

https://github.com/vicharak-in/shrike