CN114691086A - 一种基于操作数裁剪的高性能近似乘法器及其计算方法 - Google Patents

一种基于操作数裁剪的高性能近似乘法器及其计算方法 Download PDF

Info

Publication number
CN114691086A
CN114691086A CN202210354915.7A CN202210354915A CN114691086A CN 114691086 A CN114691086 A CN 114691086A CN 202210354915 A CN202210354915 A CN 202210354915A CN 114691086 A CN114691086 A CN 114691086A
Authority
CN
China
Prior art keywords
input
operand
bit
module
output
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
Application number
CN202210354915.7A
Other languages
English (en)
Inventor
杜嘉程
王�琦
王超
贾忱皓
林木森
崔丰麒
黄楚盛
李明轩
吴共庆
杜高明
孙晓
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hefei University of Technology
Original Assignee
Hefei University of Technology
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Hefei University of Technology filed Critical Hefei University of Technology
Priority to CN202210354915.7A priority Critical patent/CN114691086A/zh
Publication of CN114691086A publication Critical patent/CN114691086A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/38Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation
    • G06F7/48Methods 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/52Multiplying; Dividing
    • G06F7/523Multiplying only

Abstract

本发明公开了一种基于操作数裁剪的高性能近似乘法器及其计算方法,该近似乘法器包括:部分积生成模块、部分积树形压缩模块、进位加法器模块和移位模块;部分积生成模块包括操作数裁剪模块和位乘积模块,操作数裁剪模块对乘数和被乘数进行截取操作,得到近似操作数,位乘积模块得到相应的部分积;部分积树形压缩模块用于得到最终求和的两个加数;进位加法器模块用于最终两个加数相加,移位模块用于对进位加法器模块的输出进行移位,得到所求的二进制结果。本发明能够极大程度降低多位乘法器的面积、延时和功耗,同时也能保持较好的精确度。

Description

一种基于操作数裁剪的高性能近似乘法器及其计算方法
技术领域
本发明属于集成电路技术领域,具体的说是一种基于操作数裁剪的高性能乘法器及计算方法。
背景技术
近些年来,随着大数据的快速发展,需要处理的图像信息呈指数型增长,基本的图像处理包括图像滤波、图像边缘检测和锐化等。图像滤波操作需要消耗大量的乘、加运算单元,而在滤波过程中对结果的精度要求并不十分严格。如果使用精确乘法器会使得计算单元过于庞大,且乘法器翻转频繁,使得图像处理单元功耗问题突出。同时由于边缘计算的终端大多数为移动设备,其供电受到限制,设备的功耗问题尤为突出。因此基于近似计算的低功耗乘法器应运而生,并成功地通过牺牲少量的计算精度获得了较为可观的性能并大大降低了乘法器功耗。
发明内容
本发明是为了解决上述现有技术存在的不足之处,提出一种基于操作数裁剪的低功耗高性能的近似乘法器,以期能在降低芯片功耗和面积的同时大大提升乘法器的性能,并保持较好的精确度。
本发明为达到上述发明目的,采用如下技术方案:
本发明一种基于操作数裁剪的高性能近似乘法器的特点包括:部分积生成模块、部分积树形压缩模块、进位加法器模块和移位模块;
所述部分积生成模块包括操作数裁剪模块和位乘积模块;
所述操作数裁剪模块根据操作数A的位数n设置截取间隔k,并生成近似标志位Ac;根据所述近似标志位Ac选择是否对所述操作数A进行移位,再按照所述截取间隔k进行裁剪,从而生成近似操作数Ap;所述操作数裁剪模块对操作数B也同样进行处理后,得到近似操作数Bp;
所述位乘积模块利用与门阵列对所述近似操作数Ap的每一位和近似操作数Bp的每一位进行“与”操作,生成部分积树;
所述部分积树形压缩模块是由全加器组和半加器组构成,用于将部分积树压缩成最终的两行加数;
所述进位加法器模块是由2n-2k-1个全加器和2个半加器组成,并用于对最终的两个加数进行相加,得到中间结果;
所述移位模块是由1个2n位的移位寄存器组成,用于对所述中间结果进行移位,得到所求的二进制乘积。
本发明所述的高性能近似乘法器的特点也在于:
所述操作数裁剪模块包括2个寄存器,第一n-2k-2输入的或门、2个二输入或门、第一移位寄存器、第一二选一多路选择器、2k-1个二输入与门;
第一寄存器的输入为操作数A,输出为操作数的位数n;
第二寄存器的输入端连接所述第一寄存器的输出端,第二寄存器的输出为截取间隔k;
第一移位寄存器输入为操作数A,输出为操作数A左移两位的结果A2_left
所述操作数裁剪模块的第一输入端为所述第一移位寄存器的输入端;
所述操作数裁剪模块的第二输入端为第一寄存器的输出端;
所述操作数裁剪模块的第三输入端为第二寄存器的输出端;
所述操作数裁剪模块的输出端是第一二选一多路选择器的输出端;
所述第一n-2k-2输入的或门的输入分别为操作数A的最高位到第2k+2位,输出为近似标志位Ac;
所述第一二选一多路选择器的选择控制端连接第一n-2k-2输入的或门的输出端,所述第一二选一多路选择器的“0”输入端连接所述第一移位寄存器的输出A2_left,所述第一二选一多路选择器的“1”输入为输入的操作数A,所述第一二选一多路选择器的输出为经过选择性移位而未裁剪的操作数A’;
2k-2个二输入与门的第一输入端依次连接到操作数A’的第1到第k-1位和第k+1到第2k-1位;2k-2个二输入与门的第二输入端连接低电平,输出均为“0”,并作为操作数裁剪模块输出的第1到k-1位和第k+1到第2k-1位;操作数AA’的第0位,第k位,第2k+1到第n位依次作为所述操作数裁剪模块输出的第0位,第k位,第2k+1到第n位;
第2k-1个二输入与门的第一输入端输入操作数A的第2k-2位、第二输入端输入操作数A的第2k-1位;第2k-1个二输入与门的输出端连接第一二输入或门的第一输入端,所述第一二输入或门的第二输入端输入操作数A的第2k位,所述第一二输入或门的输出为操作数裁剪模块输出的第2k位。
进一步的,所述移位模块是由1个二输入的与门,1个二输入的或门,2个二选一多路选择器,1个移位寄存器组成,并依次为:二输入的第2k与门,二输入的第四或门,第二多路选择器和第三多路选择器,第二移位寄存器,第三移位寄存器;
所述移位模块的第一输入为进位加法器模块的输出P0
所述移位模块的第二输入为第一或门的输出近似标志位Ac;
所述移位模块的第三输入为第一或门的输出近似标志位Bc;
所述第二移位寄存器的输入为进位加法器模块的输出P0;输出为进位加法器模块输出右移两位的结果Pright
所述第三移位寄存器的输入为第二多路选择器的输出,输出为第二多路选择器的输出右移两位的结果Pright’;
所述第2k与门的第一输入为第一或门的输出近似标志位Ac,第二输入为第一或门的输出近似标志位Bc;
所述第四或门的第一输入端的输入信号为第一或门的输出近似标志位Ac,第二输入端的输入信号为第一或门的输出近似标志位Bc;
所述第二多路选择器的控制端为第四或门的输出端,“0”输入端的输入信号为进位加法器模块的输出P0,“1”输入端为第二移位寄存器的输出端。
所述第三多路选择器的控制端为第2k与门的输出端,“0”输入端连接第二多路选择器的输出端;“1”输入端为第三移位寄存器的输出端;
所述移位模块的输出端为第三多路选择器的输出端。
本发明一种高性能近似乘法器的计算方法的特点是按如下步骤进行:
步骤一:按照式(1)得到操作数A的截取间隔k,并利用移位寄存器右移2位实现:
Figure BDA0003582045890000031
式(1)中,n为操作数位数,
Figure BDA0003582045890000032
表示向下取整操作;
步骤二:按照式(2)得到近似标志位Ac,并使用n-2k-2输入的或门来输出所述近似标志位Ac:
Ac=An-1+An-2+...+A2k+3+A2k+2 (2)
式(2)中,An-1是操作数A的最高位,并向后依次取n-2k-2位作为n-2k-2输入或门的输入,n-2k-2输入的或门的输出端与二选一多路选择器的选择控制端相连,用于决定是否对操作数A进行移位操作,输出结果为A’;
步骤三:操作数A的截取:
步骤3.1、2k-2个二输入的与门按照式(3)截取操作数A’的第1位到第k-1位和第k+1到第2k-1位,得到近似操作数的第1位到第k-1位和第k+1到第2k-1位。
APi=Ai·0, 当i=1、2...k-1或i=k+1、k+2...2k-1 (3)
式(3)表示对操作数A的第0到第2k-1位进行截取操作,并保留第0位和第k位,去除第1到第k-1位及第k+1到-第2k-1位;
步骤3.2、利用式(4)更新截取操作数A的第2k位A2k,从而得到更新后的第2k位A2k’:
Figure BDA0003582045890000041
步骤四:位乘积:
通过与门阵列将n-2k+2位的乘数和n-2k+2位的被乘数对应位分别做“与”操作,产生(n-2k+2)×(n-2k+2)个部分积,并排列组成n-2k+2行、2n-2k+1列的部分积树;
步骤五:部分积树的压缩化简:
使用全加器和半加器的组合对部分积树进行化简,从而得到精确的化简结果;
步骤六:二进制乘积的生成:
由2n-2k+1个全加器和2个半加器组成的进位加法器模块对所述精确的化简结果进行相加求和后,输入移位寄存器进行相应的移位操作,从而得到所求的二进制乘积。
与现有技术相比,本发明的有益效果在于:
1、以操作数位数n=8,截取间隔k=2为例。现有技术的精确乘法器产生的部分积树共有8行,15列。部分积压缩过程中,精确乘法器需要6个全加器,2个半加器。本发明提出的近似乘法器在压缩过程中只需要4个全加器,5个半加器,全加器个数明显小于精确乘法器中的全加器个数。因此,本发明的近似乘法器在面积方面优于精确乘法器。
2、以操作数位数n=8,截取间隔k=2为例。现有技术的精确乘法器在进位加法模块,需要13个全加器和2个半加器。本发明提出的近似乘法器在进位加法模块只需要11个全加器和两个半加器。因此,本发明的近似乘法器在硬件开销和功耗方面明显优于精确乘法器。
3、以操作数位数n=8,截取间隔k=2为例。现有技术的精确乘法器部分积压缩过程需要7步,至少需要7个机器周期。本发明提出的近似乘法器压缩过程只需要4步,关键路径的延时大大缩短。因此,本发明的近似乘法器在速度方面明显优于精确乘法器。
附图说明
图1为本发明基于操作数裁剪的高性能近似乘法器的结构示意图;
图2为本发明操作数裁剪模块示意图;
图3为本发明移位模块的示意图;
图4为操作数位数n和截取间隔k的关系图;
图5为更新操作数2k位A2k的门级电路图;
图6为当n=10,k=3时,a6,a5,a4的值和更新后的a6’的真值表;
图7为n=8时精确乘法器部分积压缩过程示意图;
图8为n=8时本发明基于操作数裁剪的近似乘法器部分积压缩过程示意图;
图9为本发明近似标志位和移位位数的关系图。
具体实施方式
本实施例中,如图1所示,一种高性能的基于操作数裁剪的近似乘法器,主要应用于图像处理、深度学习等可容错应用领域以及应对极端环境下的续航挑战,并具体包括:部分积生成模块、部分积压缩模块、进位加法器模块和移位模块;
部分积生成模块由操作数裁剪模块和位乘积模块组成;操作数裁剪模块根据操作数A的位数n设置截取间隔k,并生成近似标志位Ac;根据近似标志位Ac选择是否对操作数A进行移位,再按照截取间隔k进行裁剪,从而生成近似操作数Ap;操作数裁剪模块对操作数B也同样进行处理后,得到近似操作数Bp;
位乘积模块利用与门阵列对近似操作数Ap的每一位和近似操作数Bp的每一位进行“与”操作,一共会产生(n-2k+2)*(n-2k+2)个部分积,排列组成n-2k+2行、2n-2k+1列的部分积树;
部分积压缩模块利用全加器和半加器组合将压缩化简部分积树得到最终两行二进制数据。
进位加法器模块利用2个半加器和2n-2k+1个全加器组合将部分积压缩模块得到的两行二进制数据做最后的加法运算,得到一个二进制结果。
移位模块根据近似标志位Ac、Bc对进位加法器模块产生的结果进行移位,得到最终的二进制结果。移位模块根据由两个二选一多路选择器构成,第一个二选一多路选择器的控制端为两个近似标志位“或”的结果,若结果为1,说明两个近似标志位至少一个为1,先对结果进行右移两位。第二个二选一多路选择器的控制端为两个近似标志位“与”的结果,若结果为1说明两个近似标志位均为1,再对结果右移两位。
本实施例中,如图2所示,操作数裁剪模块包括2个寄存器,第一n-2k-2输入的或门、2个二输入或门、第一移位寄存器、第一二选一多路选择器、2k-1个二输入与门;
第一寄存器的输入为操作数A,输出为操作数的位数n;
第二寄存器的输入端连接第一寄存器的输出端,第二寄存器的输出为截取间隔k;
第一移位寄存器输入为操作数A,输出为操作数A左移两位的结果A2_left
操作数裁剪模块的第一输入端为第一移位寄存器的输入端;
操作数裁剪模块的第二输入端为第一寄存器的输出端;
操作数裁剪模块的第三输入端为第二寄存器的输出端;
操作数裁剪模块的输出端是第一二选一多路选择器的输出端;
第一n-2k-2输入的或门的输入分别为操作数A的最高位到第2k+2位,输出为近似标志位Ac;
第一二选一多路选择器的选择控制端连接第一n-2k-2输入的或门的输出端,第一二选一多路选择器的“0”输入端连接第一移位寄存器的输出A2_left,第一二选一多路选择器的“1”输入为输入的操作数A,第一二选一多路选择器的输出为经过选择性移位而未裁剪的操作数A’,2k-2个二输入与门的第一输入端依次连接到A’的第1到第k-1位和第k+1到第2k-1位;2k-2个二输入与门的第二输入端连接低电平,输出均为0,作为操作数裁剪模块输出的第1到k-1位和第k+1到第2k-1位,A’的第0位,第k位,第2k+1到第n位依次作为操作数裁剪模块输出的第0位,第k位,第2k+1到第n位;
第2k-1个二输入与门的第一输入端输入操作数A的第2k-2位、第二输入端输入操作数A的第2k-1位;第2k-1个二输入与门的输出端连接第一二输入或门的第一输入端,第一二输入或门的第二输入端输入操作数A的第2k位,第一二输入或门的输出为操作数裁剪模块输出的第2k位。
本实施例中,如图3所示,移位模块是由1个二输入的与门,1个二输入的或门,2个二选一多路选择器,1个移位寄存器组成,并依次为:二输入的第2k与门,二输入的第四或门,第二多路选择器和第三多路选择器,第二移位寄存器,第三移位寄存器。
移位模块的第一输入为进位加法器模块的输出P0
移位模块的第二输入为第一或门的输出近似标志位Ac;
移位模块的第三输入为第一或门的输出近似标志位Bc;
第二移位寄存器的输入端为进位加法器模块的输出P0;输出为进位加法器模块输出右移两位的结果Pright
第三移位寄存器的输入端为第二多路选择器的输出,输出端为第二多路选择器的输出右移两位的结果Pright’;
第2k与门的第一输入端为第一或门的输出近似标志位Ac,第二输入端为第一或门的输出近似标志位Bc;
第四或门的第一输入端的输入信号为第一或门的输出近似标志位Ac,第二输入端的输入信号为第一或门的输出近似标志位Bc;
第二多路选择器的控制端为第四或门的输出端,0输入端的输入信号为进位加法器模块的输出P0,1输入端为第二移位寄存器的输出端。
第三多路选择器的控制端为第2k与门的输出端,0输入端连接第二多路选择器的输出端;1输入端为第三移位寄存器的输出端;
移位模块的输出端为第三多路选择器的输出端。
本实施例中,一种高性能的基于操作数裁剪的近似乘法器的计算方法包括以下步骤:
步骤一:按照式(1)得到操作数A的截取间隔k,并利用移位寄存器右移2位实现:
Figure BDA0003582045890000071
式(1)中,n为操作数位数,
Figure BDA0003582045890000072
表示向下取整操作;操作数位数n和截取间隔k的关系如图4所示,当n≤5时,k=1,即不对操作数裁剪;当6≤n≤9时,k=2,即对低位的a1和a3裁剪(最低位为a0,依次递增),同时更新a4的值为a4’。当10≤n≤13时,k=3,即对a1,a2,a4,a5裁剪,同时更新a6的值为a6’。截取间隔的选取决定了近似乘法器的性能、面积、功耗、准确度等各个方面。本发明采取的操作数截取间隔的计算方法,保证了在操作数位数不高的情况下不进行裁剪或裁剪间隔很小,在操作数位数较大时,选取大的裁剪间隔。在保证性能的情况下,大大提高了结果的准确度。
步骤二:近似标志位的生成:
按照式(2)得到近似标志位Ac,并使用n-2k-2输入的或门来输出近似标志位Ac:
Ac=An-1+An-2+...+A2k+3+A2k+2 (2)
式(2)中,An-1是操作数A的最高位,并向后依次取n-2k-2位作为n-2k-2输入或门的输入,n-2k-2输入的或门的输出端与二选一多路选择器的选择控制端相连,用于决定是否对操作数A进行移位操作,输出结果为A’;
步骤三:操作数A的截取:
步骤3.1、2k-2个二输入的与门按照式(3)截取操作数A’的第1位到第k-1位和第k+1到第2k-1位,得到近似操作数的第1位到第k-1位和第k+1到第2k-1位。
APi=Ai·0, (i=1、2...k-1或i=k+1、k+2...2k-1) (3)
式(3)表示对操作数A的第0到第2k-1位进行截取操作,并保留第0位和第k位,去除第1到第k-1位及第k+1到-第2k-1位;
步骤3.2、利用式(4)更新截取操作数A的第2k位A2k,从而得到更新后的第2k位A2k’:
Figure BDA0003582045890000081
式(4)中,k=1即不对操作数进行近似裁剪,不改变A2k;当k≥2时,更新A2k的值;
如图5所示,更新第2k位的电路。如图6所示,当n=10,k=3时,a6,a5,a4的值和更新后的a6’的值。当输入a6a5a4=011时,若不更新a6的值,a6a5a4在裁剪之后变为000,相对误差为100%,更新完a6之后,a6a5a4=100,相对误差为33.33%,极大提高了裁剪操作的准确度。
步骤四:位乘积:
通过与门阵列将n-2k+2位的乘数和n-2k+2位的被乘数对应位分别做“与”操作,产生(n-2k+2)×(n-2k+2)个部分积,并排列组成n-2k+2行、2n-2k+1列的部分积树;
步骤五:部分积树的压缩化简:
使用全加器和半加器的组合对部分积树进行化简,从而得到精确的化简结果;如图7所示为精确乘法器的部分积压缩过程,图8所示为近似乘法器在n=8时的部分积压缩过程。n=8时精确乘法器的部分积树共8行15列,需要7步才能输出二进制结果,而近似乘法器的部分积树共6行13列,部分积树的规模远小于精确乘法器的部分积树,同时,精确乘法器第一步只能对前三行部分积做化简,而近似乘法器生成的部分积树前4行部分积树同一列只包含2个或3个部分积,第一步即可化简前四行部分积树,所以近似乘法器只需4步即可产生最终的二进制结果,相比于精确乘法器,本发明提出基于操作数裁剪的近似乘法器累加步骤减少约42.8%,性能提升的同时功耗也大大降低。
步骤六:二进制乘积结果的生成:
由2n-2k+1个全加器和2个半加器组成的进位加法器模块对精确化简结果进行相加求和,输入到移位寄存器进行相应的移位操作从而得到所求的二进制乘积。如图9所示,近似标志位Ac、Bc和移位位数的对应关系图。

Claims (4)

1.一种基于操作数裁剪的高性能近似乘法器,其特征包括:部分积生成模块、部分积树形压缩模块、进位加法器模块和移位模块;
所述部分积生成模块包括操作数裁剪模块和位乘积模块;
所述操作数裁剪模块根据操作数A的位数n设置截取间隔k,并生成近似标志位Ac;根据所述近似标志位Ac选择是否对所述操作数A进行移位,再按照所述截取间隔k进行裁剪,从而生成近似操作数Ap;所述操作数裁剪模块对操作数B也同样进行处理后,得到近似操作数Bp;
所述位乘积模块利用与门阵列对所述近似操作数Ap的每一位和近似操作数Bp的每一位进行“与”操作,生成部分积树;
所述部分积树形压缩模块是由全加器组和半加器组构成,用于将部分积树压缩成最终的两行加数;
所述进位加法器模块是由2n-2k-1个全加器和2个半加器组成,并用于对最终的两个加数进行相加,得到中间结果;
所述移位模块是由1个2n位的移位寄存器组成,用于对所述中间结果进行移位,得到所求的二进制乘积。
2.根据权利要求1所述的高性能近似乘法器,其特征在于:
所述操作数裁剪模块包括2个寄存器,第一n-2k-2输入的或门、2个二输入或门、第一移位寄存器、第一二选一多路选择器、2k-1个二输入与门;
第一寄存器的输入为操作数A,输出为操作数的位数n;
第二寄存器的输入端连接所述第一寄存器的输出端,第二寄存器的输出为截取间隔k;
第一移位寄存器输入为操作数A,输出为操作数A左移两位的结果A2_left
所述操作数裁剪模块的第一输入端为所述第一移位寄存器的输入端;
所述操作数裁剪模块的第二输入端为第一寄存器的输出端;
所述操作数裁剪模块的第三输入端为第二寄存器的输出端;
所述操作数裁剪模块的输出端是第一二选一多路选择器的输出端;
所述第一n-2k-2输入的或门的输入分别为操作数A的最高位到第2k+2位,输出为近似标志位Ac;
所述第一二选一多路选择器的选择控制端连接第一n-2k-2输入的或门的输出端,所述第一二选一多路选择器的“0”输入端连接所述第一移位寄存器的输出A2_left,所述第一二选一多路选择器的“1”输入为输入的操作数A,所述第一二选一多路选择器的输出为经过选择性移位而未裁剪的操作数A’;
2k-2个二输入与门的第一输入端依次连接到操作数A’的第1到第k-1位和第k+1到第2k-1位;2k-2个二输入与门的第二输入端连接低电平,输出均为“0”,并作为操作数裁剪模块输出的第1到k-1位和第k+1到第2k-1位;操作数AA’的第0位,第k位,第2k+1到第n位依次作为所述操作数裁剪模块输出的第0位,第k位,第2k+1到第n位;
第2k-1个二输入与门的第一输入端输入操作数A的第2k-2位、第二输入端输入操作数A的第2k-1位;第2k-1个二输入与门的输出端连接第一二输入或门的第一输入端,所述第一二输入或门的第二输入端输入操作数A的第2k位,所述第一二输入或门的输出为操作数裁剪模块输出的第2k位。
3.根据权利要求1所述的高性能近似乘法器,其特征在于:
所述移位模块是由1个二输入的与门,1个二输入的或门,2个二选一多路选择器,1个移位寄存器组成,并依次为:二输入的第2k与门,二输入的第四或门,第二多路选择器和第三多路选择器,第二移位寄存器,第三移位寄存器;
所述移位模块的第一输入为进位加法器模块的输出P0
所述移位模块的第二输入为第一或门的输出近似标志位Ac;
所述移位模块的第三输入为第一或门的输出近似标志位Bc;
所述第二移位寄存器的输入为进位加法器模块的输出P0;输出为进位加法器模块输出右移两位的结果Pright
所述第三移位寄存器的输入为第二多路选择器的输出,输出为第二多路选择器的输出右移两位的结果Pright’;
所述第2k与门的第一输入为第一或门的输出近似标志位Ac,第二输入为第一或门的输出近似标志位Bc;
所述第四或门的第一输入端的输入信号为第一或门的输出近似标志位Ac,第二输入端的输入信号为第一或门的输出近似标志位Bc;
所述第二多路选择器的控制端为第四或门的输出端,“0”输入端的输入信号为进位加法器模块的输出P0,“1”输入端为第二移位寄存器的输出端;
所述第三多路选择器的控制端为第2k与门的输出端,“0”输入端连接第二多路选择器的输出端;“1”输入端为第三移位寄存器的输出端;
所述移位模块的输出端为第三多路选择器的输出端。
4.一种高性能近似乘法器的计算方法,其特征是按如下步骤进行:
步骤一:按照式(1)得到操作数A的截取间隔k,并利用移位寄存器右移2位实现:
Figure FDA0003582045880000031
式(1)中,n为操作数位数,
Figure FDA0003582045880000032
表示向下取整操作;
步骤二:按照式(2)得到近似标志位Ac,并使用n-2k-2输入的或门来输出所述近似标志位Ac:
Ac=An-1+An-2+...+A2k+3+A2k+2 (2)
式(2)中,An-1是操作数A的最高位,并向后依次取n-2k-2位作为n-2k-2输入或门的输入,n-2k-2输入的或门的输出端与二选一多路选择器的选择控制端相连,用于决定是否对操作数A进行移位操作,输出结果为A’;
步骤三:操作数A的截取:
步骤3.1、2k-2个二输入的与门按照式(3)截取操作数A’的第1位到第k-1位和第k+1到第2k-1位,得到近似操作数的第1位到第k-1位和第k+1到第2k-1位;
APi=Ai·0, 当i=1、2...k-1或i=k+1、k+2...2k-1 (3)
式(3)表示对操作数A的第0到第2k-1位进行截取操作,并保留第0位和第k位,去除第1到第k-1位及第k+1到-第2k-1位;
步骤3.2、利用式(4)更新截取操作数A的第2k位A2k,从而得到更新后的第2k位A2k’:
Figure FDA0003582045880000033
步骤四:位乘积:
通过与门阵列将n-2k+2位的乘数和n-2k+2位的被乘数对应位分别做“与”操作,产生(n-2k+2)×(n-2k+2)个部分积,并排列组成n-2k+2行、2n-2k+1列的部分积树;
步骤五:部分积树的压缩化简:
使用全加器和半加器的组合对部分积树进行化简,从而得到精确的化简结果;
步骤六:二进制乘积的生成:
由2n-2k+1个全加器和2个半加器组成的进位加法器模块对所述精确的化简结果进行相加求和后,输入移位寄存器进行相应的移位操作,从而得到所求的二进制乘积。
CN202210354915.7A 2022-04-06 2022-04-06 一种基于操作数裁剪的高性能近似乘法器及其计算方法 Pending CN114691086A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202210354915.7A CN114691086A (zh) 2022-04-06 2022-04-06 一种基于操作数裁剪的高性能近似乘法器及其计算方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202210354915.7A CN114691086A (zh) 2022-04-06 2022-04-06 一种基于操作数裁剪的高性能近似乘法器及其计算方法

Publications (1)

Publication Number Publication Date
CN114691086A true CN114691086A (zh) 2022-07-01

Family

ID=82142458

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210354915.7A Pending CN114691086A (zh) 2022-04-06 2022-04-06 一种基于操作数裁剪的高性能近似乘法器及其计算方法

Country Status (1)

Country Link
CN (1) CN114691086A (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116205244A (zh) * 2023-05-06 2023-06-02 中科亿海微电子科技(苏州)有限公司 一种数字信号处理结构

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116205244A (zh) * 2023-05-06 2023-06-02 中科亿海微电子科技(苏州)有限公司 一种数字信号处理结构

Similar Documents

Publication Publication Date Title
US5790446A (en) Floating point multiplier with reduced critical paths using delay matching techniques
Ma et al. Multiplier policies for digital signal processing
US20210349692A1 (en) Multiplier and multiplication method
Pilipović et al. On the design of logarithmic multiplier using radix-4 booth encoding
JPH02196328A (ja) 浮動小数点演算装置
JP2010086547A (ja) 乗算器/アキュムレータ・ユニット
Krithivasan et al. Multiplier architectures for media processing
CN112540743B (zh) 面向可重构处理器的有无符号乘累加器及方法
Kumar et al. Power–Delay-Error-Efficient Approximate Adder for Error-Resilient Applications
CN115407965A (zh) 一种基于泰勒展开的高性能近似除法器及误差补偿方法
CN114691086A (zh) 一种基于操作数裁剪的高性能近似乘法器及其计算方法
US5734599A (en) Performing a population count using multiplication
Sharma et al. Modified booth multiplier using wallace structure and efficient carry select adder
CN110825346B (zh) 一种低逻辑复杂度的无符号近似乘法器
Kumar et al. VLSI architecture of pipelined booth wallace MAC unit
KR100513160B1 (ko) 감소된 면적을 갖는 캐리 예측 가산기
Mekhallalati et al. Novel radix finite field multiplier for GF (2 m)
Liang et al. ALU Architecture with Dynamic Precision Support
CN115658007A (zh) 一种高带宽可配流水级的并行乘法器运算方法
Wang et al. A high-speed pipeline architecture of squarer-accumulator (SQAC)
Li et al. A novel signed bit-serial fixed-point accumulator with configurable overflow-protection precision
Guem et al. Variable Precision Multiplier for CNN Accelerators Based on Booth Algorithm.
Sun et al. Multiple-precision subword-parallel multiplier using correction-value merging technique
Khan et al. Review of GRPF Strengthen Column
Supraja et al. Prominent Speed Low Power Compressor Based Multiplier for Proficient VLSI Architecture

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