CN115480729A - 用于图像卷积处理的高速低功耗近似乘累加运算器 - Google Patents
用于图像卷积处理的高速低功耗近似乘累加运算器 Download PDFInfo
- Publication number
- CN115480729A CN115480729A CN202211161068.9A CN202211161068A CN115480729A CN 115480729 A CN115480729 A CN 115480729A CN 202211161068 A CN202211161068 A CN 202211161068A CN 115480729 A CN115480729 A CN 115480729A
- Authority
- CN
- China
- Prior art keywords
- gate
- input
- approximate
- input signal
- bit
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000012545 processing Methods 0.000 title claims abstract description 39
- 238000000034 method Methods 0.000 claims abstract description 20
- 230000006835 compression Effects 0.000 claims abstract description 10
- 238000007906 compression Methods 0.000 claims abstract description 10
- 238000009825 accumulation Methods 0.000 claims abstract description 9
- 238000004364 calculation method Methods 0.000 claims abstract description 6
- 239000011159 matrix material Substances 0.000 claims description 20
- 230000001902 propagating effect Effects 0.000 claims 1
- 238000013461 design Methods 0.000 description 3
- 230000000644 propagated effect Effects 0.000 description 3
- 230000007423 decrease Effects 0.000 description 2
- 238000010586 diagram Methods 0.000 description 2
- 238000013473 artificial intelligence Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000005265 energy consumption Methods 0.000 description 1
- 238000009499 grossing Methods 0.000 description 1
- 230000008676 import Effects 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 230000021317 sensory perception Effects 0.000 description 1
- 239000002699 waste material Substances 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F7/00—Methods or arrangements for processing data by operating upon the order or content of the data handled
- G06F7/38—Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation
- G06F7/48—Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation using non-contact-making devices, e.g. tube, solid state device; using unspecified devices
- G06F7/491—Computations with decimal numbers radix 12 or 20.
- G06F7/498—Computations with decimal numbers radix 12 or 20. using counter-type accumulators
- G06F7/4983—Multiplying; Dividing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F17/00—Digital computing or data processing equipment or methods, specially adapted for specific functions
- G06F17/10—Complex mathematical operations
- G06F17/15—Correlation function computation including computation of convolution operations
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F17/00—Digital computing or data processing equipment or methods, specially adapted for specific functions
- G06F17/10—Complex mathematical operations
- G06F17/17—Function evaluation by approximation methods, e.g. inter- or extrapolation, smoothing, least mean square method
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Computational Mathematics (AREA)
- Mathematical Analysis (AREA)
- Mathematical Optimization (AREA)
- Pure & Applied Mathematics (AREA)
- Mathematical Physics (AREA)
- Data Mining & Analysis (AREA)
- General Engineering & Computer Science (AREA)
- Computing Systems (AREA)
- Algebra (AREA)
- Databases & Information Systems (AREA)
- Software Systems (AREA)
- Image Processing (AREA)
Abstract
本发明公开了用于图像卷积处理的高速低功耗近似乘累加运算器,处理8bit有符号数×8bit无符号数。乘累加运算器由乘法器与加法器构成,分为部分积产生,部分积压缩,进位加法,累加四个阶段。本发明在部分积产生阶段使用了近似基‑8布斯算法,在进位加法和累加阶段使用近似4进位加法器。±3倍的被乘数被近似为±2,±4倍的被乘数,由于移位运算的延时,功耗较小,通过该近似能减小电路的复杂度,提高速度,降低功耗。对于nbit的加法运算,需要进行n‑1bit的进位;将16bit的加法运算使用4bit的进位,减小延时,加快了计算速度。通过近似计算提高了乘法累加器的速度,降低了功耗,适用于要求高速、低功耗、且容忍一定误差图像卷积处理。
Description
技术领域
本发明属于集成电路技术领域,具体来说是一种用于图像卷积处理的高速低功耗的近似乘累加器。
背景技术
近年来,随着大数据,人工智能的发展,物联网设备需要处理海量的图片,并且这些图像的尺寸和位深也在不断增加,这就对图像处理设备在速度,功耗方面的要求不断提高。卷积在图像中经常被用于平滑,模糊,锐化,去噪,边缘等工作,是图像处理中一种常用的操作。卷积计算就是乘累加运算,核心是乘累加(MultiplierAccumulator,MAC)运算器,设计一种高速,低功耗的乘累加器用于图像卷积处理有重要的意义。
物联网设备由于以下的原因,使得近似计算很有前途:1.图像、音频,视频处理中,最终的结果是由人的感官解释的,而人类感官感知受限的事实降低了对准确性的严格限制。2.需要处理冗余,噪音数据。近似计算的基本前提是用逻辑数少、复杂度低的数据处理块取代传统的复杂且浪费能量的数据处理块。该方法以降低处理数据的精度为代价,有效减少了芯片能耗和面积,提高了速度。
目前相关的乘累加器的相关研究并不充分,没有在速度,功耗,面积等性能上均衡的电路,同时也少有专门为图像卷积处理设计的乘累加器,因此本发明设计一种用于图像卷积处理,并且以近似计算的方法达到一种具备高速,低功耗性能的乘累加器。
发明内容
本发明设计的近似乘累加器能在速度,功耗,面积等性能方面相对于传统电路有全面的提升,同时该电路用于图像卷积处理,能满足图像处理的精度的容忍度。
用于图像卷积处理的高速低功耗近似乘累加运算器,处理8bit有符号数×8bit无符号数,其中无符号数用于处理图像像素,有符号数用于处理卷积核,对于输入的有符号数,增加一位符号位,值为有符号数的第8位。
该近似累加器分为部分积产生模块,部分积压缩模块,进位加法模块,累加模块四个模块。其中部分积产生模块为近似基8-布斯编码器,产生高度为3的部分积矩阵。其中部分积压缩模块为3:2压缩机。其中进位加法模块将16位的进位加法近似为4进位的加法。其中累加器由加法器和D触发器组成,加法运算采用4进位的近似加法。
本发明所述的近似基8-布斯编码器的特征在于:由两个两输入的异或门、一个两输入的同或门、一个两输入的或门、一个三输入的或门、一个四输入的或门、5个两输入与门、4个三输入与门、2个四输入与门、一个三输入的与非门组成,并依次为:两输入的第一异或门、第二异或门,两输入的同或门,两输入的第一或门,三输入的第二或门,四输入的第三或门,两输入的第一与门、第二与门、第三与门、第四与门、第五与门,三输入的第六与门、第七与门、第八与门、第九与门,四输入的第十与门、第十一与门,三输入的与非门。
将乘数(Y)编码为4位一组,分别为y3i+2、y3i+1、y3i、y3i-1作为输入,被乘数的xi、xi-1、xi-2作为输入,生成的部分积PPij为输出。
第一与非门的第一输入端连接第一输入信号(y3i+2),其第二输入端连接第二输入信号(y3i+1),其输出端连接第一与门的第一输入端。
第一同或门的第一输入端连接第三输入信号(y3i),其第二输入端连接第四输入信号(y3i-1),其输出端连接第一与门的第二输入端;
第二与门的第一输入端连接第一与门的输出端,其第二输入端连接第五输入信号(xi),其输出端连接第二或门的第一输入端;
第十与门的第一输入端连接第一输入信号(y3i+2),其第二输入端连接取反的第二输入信号(y3i+1),其第三输入端连接第三输入信号(y3i),其第四输入端连接第四输入信号(y3i-1),其输出端连接第三或门的第一输入端;
第十一与门的第一输入端连接取反的第一输入信号(y3i+2),其第二输入端连接第二输入信号(y3i+1),其第三输入端连接取反第三输入信号(y3i),其第四输入端连接第四输入信号(y3i-1),其输出端连接第三或门的第二输入端;
第六与门的第一输入端连接第二输入信号(y3i+1),其第二输入端连接取反的第三输入信号(y3i),其第三输入端连接取反的第三输入信号(y3i-1),其输出端连接第三或门的第三输入端;
第七与门的第一输入端连接取反的第二输入信号(y3i+1),其第二输入端连接第三输入信号(y3i),其第三输入端连接第四输入信号(y3i-1),其输出端连接第三或门的第四输入端;
第三与门的第一输入端连接第三或门的输出端,其第二输入端连接第六输入信号(xi-1),其输出端连接第二或门的第二输入端;
第八与门的第一输入端连接取反的第一输入信号(y3i+2),其第二输入端连接第二输入信号(y3i+1),其第三输入端连接第三输入信号(y3i),其输出端连接第一或门的第一输入端;
第九与门的第一输入端连接第一输入信号(y3i+2),其第二输入端连接取反的第二输入信号(y3i+1),其第三输入端连接取反的第三输入信号(y3i),其输出端连接第一或门的第二输入端;
第四与门的第一输入端连接第七输入信号(xi-2),其第二输入端连接第一或门的输出,其输出端连接第二或门的第三输入端;
与非门的第一输入端连接第二输入信号(y3i+1),其第二输入端连接第三输入信号(y3i),其第三输入端连接第四输入信号(y3i-1),其输出端连接第五与门的第一输入端;
第五与门的第一输入端连接与非门的输出端,其第二输入端连接第一输入信号(y3i+2),其输出端连接第二异或门的第二输入端;
第二异或门的第一输入端连接第二或门的输出端,其第二输入端连接第五与门的输出端,其输出端连接输出信号PPij;
本发明所述的部分积压缩模块的特点在于:3:2压缩机由16个全加器构成,第一个全加器的第一个输入为部分积矩阵的第一行的第一位数据,第一个全加器的第二个输入为部分积矩阵的第二行的第一位数据,第一个全加器的第三个输入为部分积矩阵的第三行的第一位数据,以此类推,每一个全加器的第一个输入为第一行的数据,第二个输入为第二行的数据,第三个输入为第三行的数据,每一个全加器处理部分积的一列数据,全加器的两个输出组成高度为2的矩阵。
本发明所述的近似进位加法模块的特点在于:该近似进位加法中,二进制整数表示为A,B,整数A,B的每一位表示为ai-1,bi-1。为了将两个n位整数A和B相加,可以在每个位定义生成信号gi、传播信号pi和终止信号ki,其中gi等于ai与bi,pi等于ai异或bi;ki等于ai或非bi。
使用这些信号,产生每个位i的进位输出信号ci,并用于计算每位的和si。ci和si的递归式为:
当Ki等于1时,ci等于0;当gi等于1时,ci等于1;当pi等于1时,ci等于ci-1。
si等于ai异或bi异或ci-1。
对于本发明的16位加法器,将其最长序列设为4,因此,si用从第i位开始的前5位的输入位来计算。即S5由a0~a5,b0~b5计算,S6由a1~a6,b1~b6计算,以此类推,S15由a10~a15,b10~b15计算。共形成11个6位加法器。
本发明所述的累加器模块,其特征在于:该累加器由近似加法器和D触发器组成,其中近似加法器为前述的近似进位加法,近似加法器的第一输入端连接输入信号(din),其第二输入端连接D触发器的输出(sum_d),其输出端连接D触发器的输入(dout)和输出信号(dout);D触发器的输入端连接近似加法器的输出(dout),其输出端连接近似加法器的输入(sum_d)。
与现有技术相比,本发明的有益效果在于:
1.本发明设计的近似乘累加器专用于图像处理,为8bit无符号数×8bit有符号数,其中无符号数用于处理图像像素,有符号数用于处理卷积核,减少了电路资源,提高了速度,减少了功耗,面积。
2.用了近似基8-布斯算法,简化了电路结构,减少了功耗和面积。
3.使用了近似4进位的加法器,减少了延时,提高速度。
4.使用该近似电路进行图像卷积处理,图像质量在容忍度内。
附图说明
图1本发明近似乘累加器原理结构图
图2乘累加器运算过程
图3近似基8-布斯编码器的值
图4本发明近似基8-布斯编码器电路
图5基-8布斯编码乘法器的部分积行
图6本发明近似加法器的示意图
图7三种乘法累加器的性能对比
图8使用近似乘累加器进行图像处理后的图片
具体实施方式
本实施例中,一种用于图像卷积处理的高速低功耗近似乘累加运算器,结构如图1所示。本发明设计的近似乘累加器用于图像卷积处理,图片的像素为8位无符号,而卷积核可为正数,也可为负数,如均值卷积核1/9[1,1,1;1,1,1;1,1,1],锐化卷积核[-1,-1,-1;-1,9,-1;-1,-1,-1]等,为了适用于这种情况,本发明设计的近似乘累加器为8bit无符号数(X)×8bit有符号数(Y),其中无符号数用于处理图像像素,有符号数用于处理卷积核。实现方法为:对于输入的有符号数Y,将最高位用于符号位,得到Y_MAC,即Y_MAC={B[7],Y[7:0]}。
乘累加运算器由乘法器与加法器构成,分为部分积产生,部分积压缩,进位加法,累加四个阶段,四个阶段如图2所示。本发明在部分积产生、进位加法和累加阶段使用了近似算法。
部分积产生,对于nbit的被乘数X与乘数Y,阵列乘法中用与逻辑门对被乘数和乘数进行位乘,产生n×n个部分积,部分积矩阵的高度为n。为了提高速度,普遍使用布斯编码器,基2r-布斯编码器将乘数(Y)编码为一组r+1位,重叠1位,产生的部分积矩阵高度为[n/r],共[n/r]×n个部分积。随着r值的增大,部分积矩阵的高度减小,部分积压缩阶段简化,但布斯编码器复杂度增加。以基4-布斯编码器为例,部分积矩阵高度从n减小为[n/2],需要被乘数(X)的0、±1和±2倍生成部分乘积。同样的,基8-布斯编码器,部分积矩阵高度从n减小为[n/3],需要被乘数(X)的0、±1、±2、±3和±4倍生成部分乘积。
由于本应用中乘累加器用于图像卷积处理,故乘累加的被乘数X与被乘数Y为8bit位宽,使用基8-布斯编码器在部分积矩阵的高度及编码器的复杂程度均衡来说是合适的,在基8-布斯编码器的项中,3X不是2的幂,它不能通过移动X来得到。3X项通常是通过一个n位加法器将X项和2X项相加得到的,这个n位加法器被称为重新编码加法器。编码加法器增加了总体关键路径延迟,这是基8—布斯编码器的主要缺点。
为了降低基8-布斯编码器中的复杂性,提出了近似的基8-布斯编码器。近似方法是将消耗大量资源的3X项近似为2X项,4X项,减少电路的复杂性,如图3所示,将3X输入项(0101,1010)和(0110,1001)近似于2X和4X项,在该图中,y3i+2y3i+1y3iy3i-1表示被乘数,ppij表示精确部分积,R8ABE1表示近似部分积,ED表示近似编码器的误差。
近似后的近似基8-布斯编码器的电路,如图4所示,其电路描述为:由两个两输入的异或门、一个两输入的同或门、一个两输入的或门、一个三输入的或门、一个四输入的或门、5个两输入与门、4个三输入与门、2个四输入与门、一个三输入的与非门组成,并依次为:两输入的第一异或门、第二异或门,两输入的同或门,两输入的第一或门,三输入的第二或门,四输入的第三或门,两输入的第一与门、第二与门、第三与门、第四与门、第五与门,三输入的第六与门、第七与门、第八与门、第九与门,四输入的第十与门、第十一与门,三输入的与非门。
将乘数(Y)编码为4位一组,分别为y3i+2、y3i+1、y3i、y3i-1作为输入,被乘数的xi、xi-1、xi-2作为输入,生成的部分积PPij为输出。
第一与非门的第一输入端连接第一输入信号(y3i+2),其第二输入端连接第二输入信号(y3i+1),其输出端连接第一与门的第一输入端。
第一同或门的第一输入端连接第三输入信号(y3i),其第二输入端连接第四输入信号(y3i-1),其输出端连接第一与门的第二输入端;
第二与门的第一输入端连接第一与门的输出端,其第二输入端连接第五输入信号(xi),其输出端连接第二或门的第一输入端;
第十与门的第一输入端连接第一输入信号(y3i+2),其第二输入端连接取反的第二输入信号(y3i+1),其第三输入端连接第三输入信号(y3i),其第四输入端连接第四输入信号(y3i-1),其输出端连接第三或门的第一输入端;
第十一与门的第一输入端连接取反的第一输入信号(y3i+2),其第二输入端连接第二输入信号(y3i+1),其第三输入端连接取反第三输入信号(y3i),其第四输入端连接第四输入信号(y3i-1),其输出端连接第三或门的第二输入端;
第六与门的第一输入端连接第二输入信号(y3i+1),其第二输入端连接取反的第三输入信号(y3i),其第三输入端连接取反的第三输入信号(y3i-1),其输出端连接第三或门的第三输入端;
第七与门的第一输入端连接取反的第二输入信号(y3i+1),其第二输入端连接第三输入信号(y3i),其第三输入端连接第四输入信号(y3i-1),其输出端连接第三或门的第四输入端;
第三与门的第一输入端连接第三或门的输出端,其第二输入端连接第六输入信号(xi-1),其输出端连接第二或门的第二输入端;
第八与门的第一输入端连接取反的第一输入信号(y3i+2),其第二输入端连接第二输入信号(y3i+1),其第三输入端连接第三输入信号(y3i),其输出端连接第一或门的第一输入端;
第九与门的第一输入端连接第一输入信号(y3i+2),其第二输入端连接取反的第二输入信号(y3i+1),其第三输入端连接取反的第三输入信号(y3i),其输出端连接第一或门的第二输入端;
第四与门的第一输入端连接第七输入信号(xi-2),其第二输入端连接第一或门的输出,其输出端连接第二或门的第三输入端;
与非门的第一输入端连接第二输入信号(y3i+1),其第二输入端连接第三输入信号(y3i),其第三输入端连接第四输入信号(y3i-1),其输出端连接第五与门的第一输入端;
第五与门的第一输入端连接与非门的输出端,其第二输入端连接第一输入信号(y3i+2),其输出端连接第二异或门的第二输入端;
第二异或门的第一输入端连接第二或门的输出端,其第二输入端连接第五与门的输出端,其输出端连接输出信号PPij;
简化逻辑的PPij的表达式由下式给出:
PPij=[xi(y3i+2⊙y3i+1)(y3i⊕y3i-1)+xi-1((~y3i+1)y3iy3i-1+y3i+1(~y3i)(~y3i-1)+(y3i+2)y3i+1(~y3i)y3i-1+y3i+2(~y3i+1)y3i(~y3i-1))+xi-1((~y3i+2)y3i+1y3i+y3i+2(~y3i=1)(~y3i))]⊕y3i+2(~(y3i+1y3iy3i-1))
对于负部分积行,还需在LSB处加1。图5中使用点符号表示出了基-8布斯编码乘法器的部分积行,其中每个点表示部分积位。
部分积压缩部分,经过部分积产生的矩阵的高度为3,使用一个3:2压缩机,完成部分积压缩部分。特征在于:3:2压缩机由16个全加器构成,第一个全加器的第一个输入为部分积矩阵的第一行的第一位数据,第一个全加器的第二个输入为部分积矩阵的第二行的第一位数据,第一个全加器的第三个输入为部分积矩阵的第三行的第一位数据,以此类推,每一个全加器的第一个输入为第一行的数据,第二个输入为第二行的数据,第三个输入为第三行的数据,每一个全加器处理部分积的一列数据,全加器的两个输出组成高度为2的矩阵。
进位加法,在精确的进位加法中,二进制整数表示为A,B,整数A,B的最高位表示为ai-1,bi-1。为了将两个n位整数A和B相加,可以在每个位定义生成信号gi、传播信号pi和终止信号ki如下:
gi=aibi,pi=ai⊕bi,ki=~(ai+bi)
使用这些信号,产生每个位i的进位输出信号ci,并用于计算每位的和。ci的递归式和每位的和如下所示。
ci=0(ki=1),ci=1(gi=1),ci=ci-1(pi=1)
si=ai⊕bi⊕ci-1
只有当传播信号pi为真时,进位ci才依赖于进位ci-1,否则ci可以根据gi和ki的值确定。类似地,只有当pi-1为真时,ci-1依赖于ci-2。这意味着只有当pi和pi-1都为真时ci才依赖于ci-2。一般来说,只有当位ci和ci-k+1之间的每个传播信号pi为真时,ci才依赖于ci-k。
对于16位的两个整数相加,其最长序列为14,但是平均的传播序列为(㏒2n),即4.故本发明的近似方法为将传播信号的最长序列设为4,在图6中,我们想要将两个16位整数相加。由于传播信号的最长序列为4,因此,si只能用从第i位开始的前5位的输入位来计算,即S5由a0~a5,b0~b5计算,S6由a1~a6,b1~b6计算,以此类推,S15由a10~a15,b10~b15计算。共形成11个6位加法器,如图6所示。这种特殊的20位加法器的延迟实际上与6位加法器相同。通过这种近似方法减小了累加器的延迟,提高了速度。
累加器由近似加法器和D触发器组成,其中近似加法器为前述的近似进位加法,近似加法器的第一输入端连接输入信号(din),其第二输入端连接D触发器的输出(sum_d),其输出端连接D触发器的输入(dout)和输出信号(dout);D触发器的输入端连接近似加法器的输出(dout),其输出端连接近似加法器的输入(sum_d)。
综上所述,本发明提出的用于图像卷积处理的高速低功耗近似乘累加运算器,由于卷积图像处理的特点,设计了8bit有符号数×8bit无符号数的累加器,避免了电路的资源浪费,减小延时,面积,功耗;在部分积生成阶段使用了近似基8-布斯编码器,减少了功耗和面积;在加法阶段使用近似算法,减少了进位的位数,从而减少了关键路径和延迟时间,提高了运算速度。
使用verilog语言设计了乘累加器的硬件设计,将该电路在DC中使用scc018ug_hd_rvt_ff_v1p98_-40c的库得到延迟,面积,功耗等各性能,如图7,其中无优化的MAC中,乘法器,加法器直接使用了*,+算数符号,由于乘法累加器要处理图像卷积,故无优化MAC为16bit*16bit的有符号数。优化的精确MAC为8bit有符号数×8bit无符号数,但是未使用近似算法。由图7可知本发明与未优化的MAC相比,延迟时间降低了44.29%,功耗降低了57.03%,面积减少了71.42%;与优化的精确MAC相比,延迟时间降低了6.02%,功耗降低了4.84%,面积减少了13.68%。
图像卷积处理的过程为,使用matlab处理图片,得到图片的像素,将图像的像素用近似累加器进行卷积处理,再将处理后的像素点,导入matlab,进行图像质量的评判。进行锐化卷积图像处理后的图片,如图8,其中灰度图片是未处理的原图,第二张图片为使用matlab自带的卷积处理后的图片,第三张图片为使用近似乘累加器处理后的图片。并且图像处理后的两张图片的峰值信噪比(PSNR)为11.0636。由此可见,使用该近似乘法累加器进行图像卷积处理后,图像的质量并未大幅度下降。
Claims (5)
1.用于图像卷积处理的高速低功耗近似乘累加运算器,其特征在于,该高速低功耗近似乘累加运算器用于处理8bit有符号数×8bit无符号数,其中8bit无符号数用于处理图像像素,8bit有符号数用于处理卷积核,对于输入的有符号数,增加一位符号位,符号位的值为有符号数的第8位;
该高速低功耗近似乘累加运算器分为部分积产生模块、部分积压缩模块、进位加法模块、累加模块四个模块;
所述部分积产生模块为近似基8-布斯编码器,产生高度为3的部分积矩阵;
所述部分积压缩模块为3:2压缩机;
所述进位加法模块将16位的进位加法近似为4进位的加法;
所述累加器由加法器和D触发器组成,其中加法运算采用4进位的近似加法。
2.根据权利要求1所述的用于图像卷积处理的高速低功耗近似乘累加运算器,其特征在于:近似基8-布斯编码器由两个两输入的异或门、一个两输入的同或门、一个两输入的或门、一个三输入的或门、一个四输入的或门、5个两输入与门、4个三输入与门、2个四输入与门、一个三输入的与非门组成,并依次为:两输入的第一异或门、第二异或门,两输入的同或门,两输入的第一或门,三输入的第二或门,四输入的第三或门,两输入的第一与门、第二与门、第三与门、第四与门、第五与门,三输入的第六与门、第七与门、第八与门、第九与门,四输入的第十与门、第十一与门,三输入的与非门;
将乘数Y编码为4位一组,分别为y3i+2、y3i+1、y3i、y3i-1作为输入,被乘数的xi、xi-1、xi-2作为输入,生成的部分积PPij为输出;
第一与非门的第一输入端连接第一输入信号y3i+2,其第二输入端连接第二输入信号y3i+1,其输出端连接第一与门的第一输入端;
第一同或门的第一输入端连接第三输入信号y3i,其第二输入端连接第四输入信号y3i-1,其输出端连接第一与门的第二输入端;
第二与门的第一输入端连接第一与门的输出端,其第二输入端连接第五输入信号xi,其输出端连接第二或门的第一输入端;
第十与门的第一输入端连接第一输入信号y3i+2,其第二输入端连接取反的第二输入信号y3i+1,其第三输入端连接第三输入信号y3i,其第四输入端连接第四输入信号y3i-1,其输出端连接第三或门的第一输入端;
第十一与门的第一输入端连接取反的第一输入信号y3i+2,其第二输入端连接第二输入信号y3i+1,其第三输入端连接取反第三输入信号y3i,其第四输入端连接第四输入信号y3i-1,其输出端连接第三或门的第二输入端;
第六与门的第一输入端连接第二输入信号y3i+1,其第二输入端连接取反的第三输入信号y3i,其第三输入端连接取反的第三输入信号y3i-1,其输出端连接第三或门的第三输入端;
第七与门的第一输入端连接取反的第二输入信号y3i+1,其第二输入端连接第三输入信号y3i,其第三输入端连接第四输入信号y3i-1,其输出端连接第三或门的第四输入端;
第三与门的第一输入端连接第三或门的输出端,其第二输入端连接第六输入信号xi-1,其输出端连接第二或门的第二输入端;
第八与门的第一输入端连接取反的第一输入信号y3i+2,其第二输入端连接第二输入信号y3i+1,其第三输入端连接第三输入信号y3i,其输出端连接第一或门的第一输入端;
第九与门的第一输入端连接第一输入信号y3i+2,其第二输入端连接取反的第二输入信号y3i+1,其第三输入端连接取反的第三输入信号y3i,其输出端连接第一或门的第二输入端;
第四与门的第一输入端连接第七输入信号xi-2,其第二输入端连接第一或门的输出,其输出端连接第二或门的第三输入端;
与非门的第一输入端连接第二输入信号y3i+1,其第二输入端连接第三输入信号y3i,其第三输入端连接第四输入信号y3i-1,其输出端连接第五与门的第一输入端;
第五与门的第一输入端连接与非门的输出端,其第二输入端连接第一输入信号y3i+2,其输出端连接第二异或门的第二输入端;
第二异或门的第一输入端连接第二或门的输出端,其第二输入端连接第五与门的输出端,其输出端连接输出信号PPij。
3.根据权利要求1所述的用于图像卷积处理的高速低功耗近似乘累加运算器,特征在于:部分积压缩模块为3:2压缩机中,3:2压缩机由16个全加器构成,第一个全加器的第一个输入为部分积矩阵的第一行的第一位数据,第一个全加器的第二个输入为部分积矩阵的第二行的第一位数据,第一个全加器的第三个输入为部分积矩阵的第三行的第一位数据,以此类推,每一个全加器的第一个输入为第一行的数据,第二个输入为第二行的数据,第三个输入为第三行的数据,每一个全加器处理部分积的一列数据,全加器的两个输出组成高度为2的矩阵。
4.根据权利要求1所述的用于图像卷积处理的高速低功耗近似乘累加运算器,其特征在于:近似进位加法模块的近似进位加法中,二进制整数表示为A,B,整数A,B的位表示为ai,bi;为了将两个n位整数A和B相加,在每个位定义生成信号gi、传播信号pi和终止信号ki,其中gi等于ai与bi,pi等于ai异或bi;ki等于ai或非bi;
使用这些信号,产生每个位i的进位输出信号ci,并用于计算每位的和si;ci和si的递归式为:
当Ki等于1时,ci等于0;当gi等于1时,ci等于1;当pi等于1时,ci等于ci-1;
si等于ai异或bi异或ci-1;
对于16位加法器,将其最长序列设为4,si用从第i位开始的前5位的输入位来计算;即S5由a0~a5,b0~b5计算,S6由a1~a6,b1~b6计算,直至,S15由a10~a15,b10~b15计算;共形成11个6位加法器。
5.根据权利要求1所述的用于图像卷积处理的高速低功耗近似乘累加运算器,其特征在于:累加器模块由近似加法器和D触发器组成,其中近似加法器为权利要求4所述的近似进位加法,近似加法器的第一输入端连接输入信号din,其第二输入端连接D触发器的输出sum_d,其输出端连接D触发器的输入dout和输出信号dout;D触发器的输入端连接近似加法器的输出dout,其输出端连接近似加法器的输入sum_d。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211161068.9A CN115480729A (zh) | 2022-09-22 | 2022-09-22 | 用于图像卷积处理的高速低功耗近似乘累加运算器 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211161068.9A CN115480729A (zh) | 2022-09-22 | 2022-09-22 | 用于图像卷积处理的高速低功耗近似乘累加运算器 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115480729A true CN115480729A (zh) | 2022-12-16 |
Family
ID=84393280
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211161068.9A Pending CN115480729A (zh) | 2022-09-22 | 2022-09-22 | 用于图像卷积处理的高速低功耗近似乘累加运算器 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115480729A (zh) |
-
2022
- 2022-09-22 CN CN202211161068.9A patent/CN115480729A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110362292B (zh) | 一种基于近似4-2压缩器的近似乘法运算方法和近似乘法器 | |
CN110780845A (zh) | 一种用于量化卷积神经网络的可配置近似乘法器及其实现方法 | |
CN111832719A (zh) | 一种定点量化的卷积神经网络加速器计算电路 | |
CN105183425B (zh) | 一种具有高精度低复杂度特性的固定位宽乘法器 | |
CN115407965B (zh) | 一种基于泰勒展开的高性能近似除法器及误差补偿方法 | |
CN110955403B (zh) | 近似基-8布斯编码器及混合布斯编码的近似二进制乘法器 | |
CN115982528A (zh) | 基于Booth算法的近似预编码卷积运算方法及系统 | |
CN111221499B (zh) | 基于近似6-2和4-2压缩器的近似乘法器及计算方法 | |
Li et al. | An efficient CNN accelerator using inter-frame data reuse of videos on FPGAs | |
CN106775577A (zh) | 一种高性能非精确冗余二进制乘法器及其设计方法 | |
CN110879697B (zh) | 一种近似计算tanh函数的装置 | |
CN110825346B (zh) | 一种低逻辑复杂度的无符号近似乘法器 | |
CN111966323B (zh) | 基于无偏压缩器的近似乘法器及计算方法 | |
CN110555519B (zh) | 一种基于符号随机计算的低复杂度卷积神经网络架构 | |
CN112764712A (zh) | 一种高性能近似Booth乘法器及计算方法 | |
Daud et al. | Hybrid modified booth encoded algorithm-carry save adder fast multiplier | |
CN115480729A (zh) | 用于图像卷积处理的高速低功耗近似乘累加运算器 | |
Kumar et al. | Complex multiplier: implementation using efficient algorithms for signal processing application | |
Arab Nezhad et al. | Design of low-power approximate logarithmic multipliers with improved accuracy | |
CN115526131A (zh) | 多级编码近似计算Tanh函数的方法及装置 | |
Dharani et al. | Design and analysis of high-speed low-power vedic multiplier with 3-1-1-2 compressor using reversible logic gates | |
CN113778377A (zh) | 一种基于基8布斯折叠编码的平方器结构 | |
CN209496362U (zh) | 三输入n位二进制加法器 | |
CN1567178A (zh) | 新型乘法器重构算法及电路 | |
Li | A single precision floating point multiplier for machine learning hardware acceleration |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |