卷积神经网络(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方案实现

Binarized Neural Network (BNN) Accelerator IP Block Diagram

CNN方案实现

CNN Block Diagram

性能和尺寸

在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