你训练了一个模型,部署到了云端。但如果你想让它跑在只有几毫瓦功耗的嵌入式设备上呢?大多数人会告诉你“这需要ASIC,成本太高”。但这个项目证明,用两块总共不到500块的FPGA开发板,你就能从零跑通ML硬件加速的完整链路。
学FPGA最让人焦虑的时刻,往往不是代码写不出来,是不知道学完能干什么。
你点了一学期的LED,写了UART,做了状态机。但面试官问“你做过什么项目”,你只能把课程实验复述一遍。你想做AI加速,但一打开论文就是“脉动阵列”“量化感知训练”“INT8 MAC阵列”——每个词都认识,连起来看不懂。
TinyML Accelerator这个项目,把这条链路从“看不懂”变成了“可以跟着做”。

01 它到底做了什么?两块开发板,一条完整的进阶路径
项目在GitHub上的描述很坦诚:“这是我学习FPGA和机器学习硬件加速的代码输出。”
它不是“已经做完的Demo”,是一个正在进行的、持续更新的学习记录。项目的核心思路是:用两块开发板,覆盖从FPGA基础到ML加速的完整学习路径。
第一块:iCESugar(基于Lattice iCE40UP5K)。 这是一块开源FPGA开发板,板载RGB LED、拨码开关、Type-C接口,大部分IO以标准PMOD接口引出。它使用完全开源的工具链——Yosys综合、nextpnr布局布线、icestorm打包烧录,不需要安装臃肿的IDE,不需要担心许可证问题。
核心规格:iCE40UP5K提供5280个逻辑单元、128KB双端口Block RAM、1Mbit单端口RAM、8个16×16 DSP乘法器,以及PLL、SPI、I2C硬核IP。板载调试器iCELink支持拖拽烧录——把比特流文件拖到虚拟U盘里,就完成了烧录。
第二块:Arty A7-100T(基于Xilinx Artix-7)。 用于运行Google的CFU-Playground——一个全栈开源框架,让你在FPGA上加速机器学习模型。
这条路径的工程意义很明确:iCESugar让你在开源工具链上建立FPGA基础能力,Arty A7-100T让你在工业级平台上学习ML硬件加速。两块板子的成本合计不到500元,学生完全负担得起。
02 CFU-Playground:这个框架到底在做什么?
CFU-Playground是Google开源的全栈框架,论文发表于arXiv(arXiv:2201.01863),作者来自哈佛大学、Google、普渡大学和斯坦福大学。
CFU是什么? Custom Function Unit——紧耦合到CPU流水线中的加速器硬件,用来添加新的自定义功能指令,补充CPU的标准功能(如算术/逻辑运算)。
CFU-Playground在做什么? 它让你基于RISC-V指令集,在FPGA上构建自己专用的ML处理器。工具链集成了开源软件(TensorFlow Lite Micro、GCC)、开源RTL生成器(LiteX、VexRiscv、Migen、Amaranth)和开源FPGA工具(Yosys、nextpnr)。
最硬核的数据:使用CFU-Playground的设计和评估循环,研究者展示了55倍到75倍的加速。这不是“理论峰值”,是在真实硬件上跑出来的端到端加速。
03 为什么CFU-Playground适合大学生?
第一,它是一个“渐进式”的学习框架。
大多数AI加速器项目要求你从零开始设计一个加速器。CFU-Playground不一样——它先让你跑通一个基准模型,然后profile每一层的周期数,找到最耗时的算子,再针对这个算子设计一个CFU。
这个流程是可迭代的、可量化的、可解释的。你不需要“猜”哪里需要加速,数据会告诉你。
第二,它降低了硬件工程师和软件工程师的协作门槛。
CFU-Playground的文档明确写道:“ML加速在微控制器级硬件上是一个新领域,由于ASIC的成本高昂,目前由硬件工程师主导。为了鼓励软件工程师参与创新,CFU-Playground的目标是让实验变得简单、快速、有趣”。
第三,它有完整的仿真环境,不需要硬件也能跑。
CFU-Playground集成了Renode仿真框架。Renode可以与Verilator协同仿真,让你在确定性、可调试、完全可控的环境中测试ML加速器和软件,甚至不需要看到目标FPGA板。
这意味着什么? 你可以在没有开发板的情况下,跑通整个CFU-Playground流程。写CFU、仿真、profile、优化——全部在电脑上完成。

04 硬件平台:iCESugar和Arty A7-100T
| 参数 | iCESugar | Arty A7-100T |
|---|---|---|
| FPGA芯片 | Lattice iCE40UP5K | Xilinx Artix-7 XC7A100T |
| 逻辑单元 | 5280 | 101,440 |
| DSP | 8个16×16乘法器 | 240个 |
| RAM | 128KB Block RAM + 1Mbit | 256MB DDR3 |
| 工具链 | 完全开源(Yosys/nextpnr) | Vivado(免费版支持) |
| 价格 | 约450元 | 约1000元 |
数据来源:CFU-Playground论文Table I和iCESugar规格
iCESugar的工程价值:它的资源极其有限(5280个逻辑单元),但这恰恰是学习的好起点。你被迫去理解资源约束——一个CFU不能随便用DSP,不能随便用BRAM,每一个逻辑单元都要精打细算。
Arty A7-100T的工程价值:101,440个逻辑单元、240个DSP,给了你足够的空间去实现复杂的CFU。而且它是工业界常用的开发板,你在这个平台上积累的经验可以直接迁移到工作中。

05 学习路径:从iCESugar到CFU-Playground
第一步:iCESugar基础。
安装开源工具链(Yosys + nextpnr + icestorm),跑通LED闪烁。用make构建流程,理解从Verilog到比特流的完整链路。这一步你会学到:开源FPGA工具链的工作流程、PMOD接口的使用、拖拽烧录机制。
第二步:CFU-Playground环境搭建。
按照官方Setup Guide配置环境。CFU-Playground支持Arty A7-35T/100T、iCEBreaker、Fomu、OrangeCrab、ULX3S、Nexys Video等开发板。如果你还没有Arty,可以先用Renode仿真跑通流程。
第三步:跑通基准模型,profile每一层。
选择一个TensorFlow Lite模型(比如关键词识别),在Arty上运行推理,获取每一层的周期数。你会看到哪些层最耗时——通常是卷积层或全连接层。
第四步:设计你的第一个CFU。
选择一个耗时的算子(比如int8矩阵乘法),用Verilog或Amaranth实现一个CFU。CFU通过自定义指令被CPU调用,指令格式是cfu_op(funct7, funct3, a, b),其中funct7和funct3是操作码字段,a和b是操作数。
第五步:对比加速前后的周期数。
用Renode或真实硬件跑通加速后的模型,对比profile数据。CFU-Playground的论文展示了55倍到75倍的加速,你的第一个CFU可能达不到这个数量级,但你可以看到每一步优化的量化收益。
06 简历怎么写?面试能讲什么?
简历写法示例:
“基于CFU-Playground开源框架,在Arty A7-100T FPGA上实现了RISC-V自定义功能单元(CFU)的ML加速器。通过TensorFlow Lite Micro基准模型profile,定位耗时算子,用Verilog实现了int8矩阵乘法CFU。通过Renode仿真验证功能正确性,对比加速前后的周期数,实现了显著加速。”
面试能讲什么:
方向一:CFU的设计与集成。 CFU如何紧耦合到RISC-V流水线?自定义指令的编码格式是什么?CFU的接口协议是怎样的?
方向二:profile驱动的优化方法。 你怎么找到最耗时的算子?周期数是怎么测量的?优化前后怎么量化收益?
方向三:Renode+Verilator协同仿真。 为什么需要协同仿真?Verilator在仿真中扮演什么角色?如何在没有硬件的情况下验证CFU?

TinyML Accelerator不是一个“已经做完”的项目。它的代码还在更新,CFU还在迭代。
但它的价值在于:它给了你一条从“点灯”到“ML加速器”的完整路径。 你不需要一开始就面对复杂的加速器设计,你从iCESugar的基础实验开始,逐步过渡到CFU-Playground的迭代优化循环。
两块开发板,不到500块,一条完整的进阶路径。 这是从“学FPGA”到“做AI硬件”最务实的一步。
项目地址:github.com/Marcobisky/TinyML
CFU-Playground文档:cfu-playground.readthedocs.io
关于成电国芯
成电国芯FPGA课程已升级边缘AI与硬件加速方向,覆盖RISC-V自定义指令、CFU设计、TinyML模型部署、Renode仿真等企业级实战内容。从开源工具链到ML加速器,每一步都有导师带练。想系统掌握FPGA AI加速的核心能力,欢迎联系我们了解课程详情。

评论 0