设计应用

一种高能效基4-Booth编码并行乘法器设计

作者:黄焘,闰闰,胡毅,尹立,谢翔
发布日期:2023-05-08
来源:2023年电子技术应用第4期

0 引言

自从2012年AlexNet[1]在ImageNet比赛中获得冠军以来,各种结构的卷积神经网络被发明并广泛应用于图像分类、目标识别、语义分割等场景。由于任务复杂度以及对准确率要求的提高,神经网络的计算量也不断提高,从2012年AlexNet[具有次乘法运算量,到2014年VGG-16的次乘法运算量,再到2017年SENet的次乘法运算量。大量的乘法运算使得运行神经网络的硬件消耗巨大能耗,妨碍了神经网络在移动端硬件平台上的实现。Horowitz M 在2014年ISSCC上发表的论文显示,8 bit乘法消耗的能耗是8 bit加法的6.7倍。所以,降低乘法的能耗是降低神经网络加速器能耗的关键。

乘法器实现乘法可以分为如下三步:部分积生成、部分积压缩和部分积最终相加。前人对乘法器能耗优化的研究主要关注点放在第二步,即部分积压缩的优化上,通过使用4-2压缩器或者7-3压缩器]等新型压缩器来降低乘法器能耗。4-2压缩器、7-3压缩器适用于操作数位宽较宽的乘法,例如16 bit或32 bit,而在8 bit乘法器中由于部分积行数较少,因此降低能耗效果甚微。在神经网络的移动端应用中,以神经网络的推理为主,而神经网络的推理过程使用8 bit精度就足够[。所以,通过设计新型压缩器来降低8 bit乘法器的能耗不是一个有效的方法。第三步部分积最终相加实际上是两行部分积相加得到最终乘法结果,对于这一步能耗最低的设计已有定论,使用行波进位加法器能够以最低能耗完成部分积最终相加。第一步生产部分积的方法中,基-4 Booth编码能够减少一半的部分积数量,是高能效乘法器常用的方法。然而,人们采用传统的取反加一的方法来实现基-4 Booth编码中的求相反数,使得部分积多了若干比特的“加一”补偿位。“加一”补偿位不仅增加了部分积的比特总数,需要更多的加法器或压缩器来完成部分积压缩和最终相加,而且这些补偿位出现在每行部分积的最低位,导致部分积压缩和最终相加过程的关键路径长。可见,“加一”补偿位是导致8 bit乘法器能耗高、延时大的主要原因。

本文提出了一种新的高能效基4-Booth编码并行乘法器设计,通过改进基4-Booth编码部分积生成模块,消除了传统方法中的“加一”补偿位,减少了部分积数目,而且使得部分积阵列规整易于压缩,从而降低了乘法器延时和能耗。



本文详细内容请下载:https://www.chinaaet.com/resource/share/2000005294




作者信息:

黄焘,闰闰,胡毅,尹立,谢翔

(清华大学 集成电路学院,北京 100084)


微信图片_20210517164139.jpg

此内容为AET网站原创,未经授权禁止转载。
卷积神经网络 乘法器 基4-Booth编码 高能效