卷积神经网络(CNN)轻量化加速器IP

实现毫瓦级机器学习推理

利用FPGA的并行处理能力实现轻量化CNN,包括二值化的BNN版本。该IP能让您在莱迪思iCE40 UltraPlus FPGA上实现CNN,功耗仅为毫瓦级。

该IP使用iCE40 UltraPlus器件的片上DSP资源来实现CNN。加速引擎使用了11个嵌入式块存储器作为(EBR)工作存储器。用户可选择EBR或更大的单端口存储器(SPRAM)来存储引擎所使用的权重和指令。

该加速器IP与莱迪思神经网络编译器工具配合使用。编译器针对在常见的神经网络训练工具中开发的网络,编译成可由加速器IP运行的指令。

  • 使用iCE40 UltraPlus片上DSP和存储器模块实现CNN和BNN
  • 实现毫瓦级功耗深度学习
  • 网络权重和操作序列存储在EBR或SPRAM中
  • 在不改变FPGA RTL的情况下,调整不同BNN功能的操作和网络权重
Lattice sensAI

跳转到

框图

BNN方案实现

CNN方案实现

性能和尺寸

在BNN模式下iCE40 UltraPlus的性能和资源使用情况1
存储类型 BNN Blob类型 寄存器 LUT EBR SRAM clk Fmax 2 (MHz)
EBRAM +1/0 1822 2419 27 0 41.762
DUAL_SPRAM +1/0 1803 2447 11 2 31.565
SINGLE_SPRAM +1/0 1802 2430 11 1 41.103
SINGLE_SPRAM +1/-1 1992 2706 11 1 40.748

1. 使用莱迪思Radiant 1.0.0.350.0搭配莱迪思综合引擎在iCE40 UP5K-SG48I器件上生成的数据。使用不同的软件版本或不同密度或速度等级的器件时,性能可能会有所不同。
2. Fmax是在FPGA设计仅包含轻量化CNN加速器IP核时生成,当用户逻辑添加到FPGA设计时,该数值可能会降低。

在CNN模式下iCE40 UltraPlus的性能和资源使用情况1
存储类型 暂存器3 寄存器 LUT EBR SRAM clk Fmax2 (MHz)
EBRAM 1K 1725 2816 23 0 28.164
DUAL_SPRAM 1K 1706 2867 7 2 27.672
SINGLE_SPRAM 1K 1705 2841 7 1 26.782
SINGLE_SPRAM 4K 2052 3989 19 1 25.950

1. 使用莱迪思Radiant 1.0.0.350.0搭配莱迪思综合引擎在iCE40 UP5K-SG48I器件上生成的数据。使用不同的软件版本或不同密度或速度等级的器件时,性能可能会有所不同。
2. Fmax是在FPGA设计仅包含轻量化CNN加速器IP核时生成,当用户逻辑添加到FPGA设计时,该数值可能会降低。
3. 暂存器一列中“K”相当于“kB”。例如,1 K是指1 kB大小的暂存器。

订购信息

产品系列 OPN 描述
iCE40 UltraPlus CNN-CPACCEL-UP-U 单次设计许可
iCE40 UltraPlus CNN-CPACCEL-UP-UT 多站点设计许可

点击此处获取轻量化CNN加速器为期30天的评估许可。

文档

快速参考
标题 编号 版本 日期 格式 文件大小
Compant CNN Accelerator IP User Guide
FPGA-IPUG-02038 1.7 12/16/2020 PDF 1.2 MB