CN111488133B - 高基数近似布斯编码方法和混合基数布斯编码近似乘法器 - Google Patents

高基数近似布斯编码方法和混合基数布斯编码近似乘法器 Download PDF

Info

Publication number
CN111488133B
CN111488133B CN202010292881.4A CN202010292881A CN111488133B CN 111488133 B CN111488133 B CN 111488133B CN 202010292881 A CN202010292881 A CN 202010292881A CN 111488133 B CN111488133 B CN 111488133B
Authority
CN
China
Prior art keywords
bit
approximate
multiplier
radix
partial product
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.)
Active
Application number
CN202010292881.4A
Other languages
English (en)
Other versions
CN111488133A (zh
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.)
University of Electronic Science and Technology of China
Original Assignee
University of Electronic Science and Technology of China
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 University of Electronic Science and Technology of China filed Critical University of Electronic Science and Technology of China
Priority to CN202010292881.4A priority Critical patent/CN111488133B/zh
Publication of CN111488133A publication Critical patent/CN111488133A/zh
Application granted granted Critical
Publication of CN111488133B publication Critical patent/CN111488133B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

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
    • G06F7/533Reduction of the number of iteration steps or stages, e.g. using the Booth algorithm, log-sum, odd-even
    • G06F7/5334Reduction of the number of iteration steps or stages, e.g. using the Booth algorithm, log-sum, odd-even by using multiple bit scanning, i.e. by decoding groups of successive multiplier bits in order to select an appropriate precalculated multiple of the multiplicand as a partial product
    • G06F7/5336Reduction of the number of iteration steps or stages, e.g. using the Booth algorithm, log-sum, odd-even by using multiple bit scanning, i.e. by decoding groups of successive multiplier bits in order to select an appropriate precalculated multiple of the multiplicand as a partial product overlapped, i.e. with successive bitgroups sharing one or more bits being recoded into signed digit representation, e.g. using the Modified Booth Algorithm
    • G06F7/5338Reduction of the number of iteration steps or stages, e.g. using the Booth algorithm, log-sum, odd-even by using multiple bit scanning, i.e. by decoding groups of successive multiplier bits in order to select an appropriate precalculated multiple of the multiplicand as a partial product overlapped, i.e. with successive bitgroups sharing one or more bits being recoded into signed digit representation, e.g. using the Modified Booth Algorithm each bitgroup having two new bits, e.g. 2nd order MBA
    • YGENERAL 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
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE 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/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Engineering & Computer Science (AREA)
  • Computational Mathematics (AREA)
  • Mathematical Analysis (AREA)
  • Mathematical Optimization (AREA)
  • Pure & Applied Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)

Abstract

高基数近似布斯编码方法和混合基数布斯编码近似乘法器,属于集成电路技术领域。高基数近似布斯编码方法将n位被乘数中权重更低的m位进行编码并结合n位乘数获得两个不完全部分积A和B,相加后获得近似编码结果。混合基数布斯编码近似乘法器结合精确布斯编码模块和高基数近似布斯编码模块分别获得精确部分积和近似部分积,再结合本发明提出的符号位扩展算法生成的符号扩展位形成部分积阵列,对部分积阵列进行压缩和相加就获得了近似乘法器的最终计算结果,另外本发明对近似乘法器的误差模型进行推导获取了精度指标。高基数近似布斯编码在保证较高计算精度同时降低了乘法器的结构复杂度,符号扩展位避免大量相同数字累加使得硬件设计得以简化。

Description

高基数近似布斯编码方法和混合基数布斯编码近似乘法器
技术领域
本发明属于集成电路技术领域,涉及一种高基数近似布斯编码方法和基于该高基数近似布斯编码方法设计了一种混合基数布斯编码近似乘法器。
背景技术
随着大数据、云计算、物联网等新技术的兴起,计算机系统越来越多地被用来与物理世界进行交互。虽然半导体技术和低功耗设计技术也在不断发展,但为了处理不断增加的信息量,计算机系统的总能耗仍在以惊人的速度快速增长。现如今,功耗与能耗问题已经成为芯片设计时不得不考虑的重要因素。对于高性能运算设备,如服务器、高性能处理器等,功耗过高会导致严重的散热问题,造成电路损坏;对于便携式设备,设备的使用时间受限于电池的电量,功耗过高会降低设备的续航能力。同时,许多应用场景并不要求完全精确的计算,例如图像处理、多媒体、搜索引擎、神经网络、数据挖掘等。近似计算是一种新兴的电路设计方法,其计算结果是一个带有误差的近似值,这使得电路结构可以简化,从而提高电路性能,降低电路功耗,节约电路面积。
乘法器作为一种常用的基本运算单元,对电路的延迟、功耗、面积都有很大的影响。布斯编码乘法器是一种典型的并行二进制乘法器,通常由部分积产生模块、部分积压缩模块、进位传播加法器三个部分组成。传统的精确布斯编码乘法器通常采用低基数的布斯编码产生部分积,虽然编码单元较为简单,但是需要的编码单元数量较多,产生的部分积的个数较多,不利于后续部分积压缩模块的设计。同时高基数的布斯编码能更显著地减少部分积的个数,但是编码电路与部分积产生电路更加复杂。如果能将低基数的布斯编码与高基数的布斯编码相结合,并采用近似计算技术,就能进一步提高乘法器的硬件性能。同时如果能对采用近似计算技术的布斯编码乘法器的误差模型进行推导,就更易于得到各项误差指标。
发明内容
针对上述传统乘法器中,利用低基数的布斯编码产生部分积存在的编码单元数量较多和产生部分积的个数较多的问题,和利用高基数的布斯编码产生部分积存在的电路复杂问题,本发明提出了一种高基数近似布斯编码方法,并利用这种高基数近似布斯编码方法设计了一种混合基数布斯编码近似乘法器,采用混合基数的设计方法,在高有效位采用精确的基-4布斯编码,在低有效位使用本发明提出的高基数近似布斯编码,能够显著降低编码电路与部分积压缩电路的硬件复杂度;由于混合基数布斯编码的符号扩展位中存在大量重复数据,所以本发明还重新设计了符号扩展位,能够避免数据冗余;另外针对本发明的混合基数布斯编码近似乘法器还进行了误差推导,验证了本发明的精度和功耗。
本发明的技术方案为
高基数近似布斯编码方法,包括如下步骤:
步骤一、获取n位乘数和n位被乘数,将所述n位被乘数按照权重分为两部分,选择被乘数中权重较低的m位和n位乘数作为待编码数据进行基-2m的高基数近似布斯编码,其中m、n均为正整数且n>m;
步骤二、所述被乘数中权重较低的m位中从最高位至最低位依次为ym-1至y0,选择所述被乘数权重较低的m位中的高四位ym-1至ym-4,将所述待编码数据的所有情况按照被乘数中权重较低的m位中的高四位分为十六个区间,每个区间的分组信号为:
Figure BDA0002451068110000021
其中sel0至sel15分别是第一个区间至第十六个区间的分组信号;
步骤三、根据式(2)获取所述待编码数据经过基-2m的高基数近似布斯编码后产生的部分积A和部分积B:
Figure BDA0002451068110000022
其中:
Figure BDA0002451068110000031
Ai为部分积A中的第i位,Bi为部分积B中的第i位,xi-m+5为乘数中的第i-m+5位,xi-m+4为乘数中的第i-m+4位,xi-m+3为乘数中的第i-m+3位,xi-m+2为乘数中的第i-m+2位,i∈[0,n-1],ck为符号修正位;
步骤四、将部分积A和部分积B对应相加后获得所述待编码数据的编码结果。
混合基数布斯编码近似乘法器,包括编码模块、符号位扩展模块、树形压缩模块和进位加法器模块;
所述编码模块用于对被乘数进行编码,产生乘数和被乘数在乘法运算中的部分积;
所述符号位扩展模块用于产生符号扩展位;
所述树形压缩模块接收所述编码模块产生的所有部分积和所述符号位扩展模块产生的符号扩展位并进行压缩,获得经压缩和添加符号扩展位后的部分积阵列;
所述进位加法器模块将经过压缩和添加符号扩展位后的部分积阵列的所有部分积相加得到所述混合基数布斯编码近似乘法器的最终计算结果;
所述编码模块包括精确布斯编码模块和高基数近似布斯编码模块,输入数据包括n位乘数和n位被乘数,将被乘数按照权重分为两部分,被乘数中权重较高的n-m位和n位乘数输入到所述精确布斯编码模块中,由所述精确布斯编码模块进行编码获得精确部分积所有位的值;被乘数中权重较低的m位和n位乘数输入到所述高基数近似布斯编码模块中,由所述高基数近似布斯编码模块进行编码获得近似部分积所有位的值;其中m、n均为正整数且n>m;
所述高基数近似布斯编码模块包括分组单元、编码单元、部分积产生单元,
所述分组单元用于对所述高基数近似布斯编码模块接收的输入数据进行分组分为十六个区间,每个区间的分组信号为:
Figure BDA0002451068110000041
其中sel0至sel15分别是第一个区间至第十六个区间的分组信号,ym-1至ym-4分别是所述被乘数中权重较低的m位中的最高位至第四高位;
所述编码模块用于根据所述分组单元产生的分组结果进行编码,获得符号修正位ck和编码的中间结果:
Figure BDA0002451068110000042
所述部分积产生单元用于根据所述编码模块产生的符号修正位ck和编码的中间结果结合乘数产生部分积A和部分积B:
Figure BDA0002451068110000043
其中Ai为部分积A中的第i位,Bi为部分积B中的第i位,xi-m+5为乘数中的第i-m+5位,xi-m+4为乘数中的第i-m+4位,xi-m+3为乘数中的第i-m+3位,xi-m+2为乘数中的第i-m+2位,i∈[0,n-1]。
具体的,所述符号位扩展模块利用式(7)进行:
Figure BDA0002451068110000044
Figure BDA0002451068110000051
其中Sign表示所有扩展的符号位的和,S0
Figure BDA0002451068110000052
是所述部分积阵列中第0行部分积的最高有效位至第/>
Figure BDA0002451068110000053
行部分积的最高有效位;
根据式(7)中的
Figure BDA0002451068110000054
将所述部分积阵列中2n+m-3权重位的第0行部分积最高有效位S0取反,根据式(7)中的/>
Figure BDA0002451068110000055
将所述部分积阵列中2n+m-3权重位的第1行部分积最高有效位S1取反,……,根据式(7)中的/>
Figure BDA0002451068110000056
将所述部分积阵列中22n-2权重位的第/>
Figure BDA0002451068110000057
行部分积最高有效位/>
Figure BDA0002451068110000058
取反,即将所述部分积阵列中每一行部分积的最高有效位S0至/>
Figure BDA0002451068110000059
都取反并与所在权重位一一对应;
根据式(7)中的
Figure BDA00024510681100000510
在所述部分积阵列中2n+m-2
Figure BDA00024510681100000511
权重位补1。
具体的,记所述混合基数布斯编码近似乘法器对乘数X和被乘数Y进行处理获得的近似乘法结果为ZA,对被乘数Y的近似编码结果为YA,所述乘数X和被乘数Y的精确乘法结果为Z;
根据被乘数Y的近似编码结果YA能够计算得到经过所述混合基数布斯编码近似乘法器近似编码后所述被乘数Y的绝对误差ED{YA}=|EY|=|YA-Y|,所述被乘数Y的平均误差
Figure BDA00024510681100000512
所述被乘数Y的最大绝对误差EDmax{YA}=max{ED}=2m-4,所述被乘数Y的平均误差距离/>
Figure BDA00024510681100000513
其中PY为被乘数Y出现的概率;
进一步能够获得所述混合基数布斯编码近似乘法器近似乘法结果ZA的平均误差:
Figure BDA00024510681100000514
所述混合基数布斯编码近似乘法器近似乘法结果ZA的最大绝对误差:
EDmax{ZA}=max{|X|}·EDmax{YA}=2n+m-5
所述混合基数布斯编码近似乘法器近似乘法结果ZA的平均误差距离:
Figure BDA0002451068110000061
其中PX为乘数X出现的概率。
本发明的有益效果为:本发明提出了一种新型高基数近似布斯编码方法,虽然损失了部分计算精度,但却大大地降低了编码电路与部分积压缩电路的硬件复杂度;基于本发明提出的高基数近似布斯编码方法设计了一种混合基数布斯编码近似乘法器,将低基数精确布斯编码和高基数近似布斯编码相结合分别用于产生精确的部分积和近似的部分积,在保证较高计算精度同时降低了乘法器的结构复杂度;提出了一种符号位扩展方法,能够避免大量相同数字累加,简化了硬件设计;本发明适用于对于计算结果的误差有一定容忍度,但要求乘法器的功耗和硬件复杂度较低的运算场景;另外基于本发明的混合基数布斯编码近似乘法器的误差模型进行了推导,相比于通过仿真方式能够直接准确地得到精度指标,节省了仿真时间且避免了大数据量的运算。
附图说明
图1为本发明提出的混合基数布斯编码近似乘法器的结构示意图。
图2为实施例中采用基-64的近似布斯编码与部分积产生对应表。
图3为符号位扩展后位宽为16×16位的精确基-4与近似基-256混合编码部分积阵列图。
图4为符号位优化后位宽为16×16位的精确基-4与近似基-256混合编码部分积阵列图。
图5为符号位优化后位宽为16×16位的精确基-4与近似基-64混合编码部分积阵列图。
图6为符号位优化后位宽为16×16位的精确基-4与近似基-1024混合编码部分积阵列图。
图7为近似区间与产生的近似值的关系表。
具体实施方式
下面结合附图和具体实施方式对本发明做进一步叙述。
本发明提出了一种新型的高基数近似布斯编码方法,能够显著降低编码电路与部分积压缩电路的硬件复杂度。对于n位乘数和n位被乘数,本发明提出的高基数近似布斯编码方法对被乘数中权重较低的m位进行编码,并结合n位乘数获得部分积。在乘法和加法运算中,越靠近最高有效位的数据对最终的结果影响就越大。因此,虽然低有效位部分里基-64、基-256、基-1024三种高基数的布斯编码需要的位数分别为6、8、10位,但本发明只取其中的高4位进行编码。对这三种高基数布斯编码算法而言,其编码电路的逻辑与硬件实现是一致的,等效为一个传统的4-16译码器。通过近似高基数布斯编码,将待编码数据分割为16个区间,对基-64、基-256、基-1024三种高基数的布斯编码算法而言,每个区间分别包含4、16、64个输入情况;即对基-2m的高基数布斯编码算法来说,每个区间包含2m-4个输入情况。以基-64的近似高基数布斯编码算法为例的编码方法图2所示。对于其他近似高基数布斯编码而言,分组也依然只由被乘数的高4位决定。
在得到编码分组后,希望产生的部分积的误差尽可能的小,并且部分积产生电路尽可能简单。因此,本发明提出的高基数近似布斯编码方法采用不完全编码的方法,一般的编码方法只产生一个部分积,本发明中提出的高基数近似布斯编码采用不完全编码的方法产生两个部分积A和B,再将两个同权重的部分积在压缩树中进行相加获得了编码结果。这样虽然增加了一个部分积,但相较于基-4布斯编码产生的部分积数量依然较少。同时,利用本发明的方法产生的这两个不完全编码的部分积都是通过将被乘数移位产生的,因此在产生过程中并不会引入复杂的计算逻辑。如图2所示,根据分组信号获得编码中间结果,再根据编码中间结果结合乘数获得部分积A、B,第一组编码分组中,获得的编码中间结果就是0和2,乘数×0得到部分积A,乘数×2得到部分积B;第二组编码分组中,获得的编码中间结果就是4和2,乘数×4得到部分积A,乘数×2得到部分积B,依次类推可知基-64的布斯编码产生两个不完全编码的部分积A和部分积B,二者相加得到了高基数布斯编码的近似值,并且保持较低的误差。
对基-2m的高基数近似布斯编码,可以得到一般性的逻辑表达式。产生编码分组的编码电路的逻辑表达式为:
Figure BDA0002451068110000071
其中,sel0至sel15分别是第一个区间至第十六个区间的分组信号,用于产生16个分组,分组信号会给到两个部分积的编码电路。
部分积的编码电路逻辑表达式为:
Figure BDA0002451068110000081
其中,ck为符号修正位,用于区分被乘数编码后的正负。M2m-4A、M2m-3A、M2m-2A、M2m- 5B、M2m-4B、M2m-3B、M2m-2B是编码的中间结果,中间结果中用于产生部分积A的相关编码M2m- 4A、M2m-3A、M2m-2A分别意味着乘数与2m-4、2m-3、2m-2相乘。例如对基-64的布斯编码而言,m=6意味着乘数与4、8、16相乘。对其他的基数以及不完全部分积B同理。
在得到以上的符号修正位ck和编码的中间结果后,根据下式获得不完全部分积A和B:
Figure BDA0002451068110000082
Ai为部分积A中的第i位,Bi为部分积B中的第i位,xi-m+5为乘数中的第i-m+5位,xi-m+4为乘数中的第i-m+4位,xi-m+3为乘数中的第i-m+3位,xi-m+2为乘数中的第i-m+2位,i∈[0,n-1],部分积A和部分积B共n位,分别记为第0位至第n-1位。
本发明还提出一种基于以上高基数近似布斯编码方法的近似乘法器,该近似乘法器采用混合基数布斯编码,其主要思想为将低基数精确布斯编码和高基数近似布斯编码相结合,在权重较高的部分采用低基数精确布斯编码产生精确的部分积,在权重较低的部分采用高基数近似布斯编码产生近似的部分积。如图1所示,本发明提出的近似乘法器包括精确布斯编码模块、高基数近似布斯编码模块、符号位扩展模块、树形压缩模块、进位加法器模块;其中精确布斯编码模块的输入端接外部输入数据,其输出端接部分积符号位扩展模块的第一输入端和树形压缩模块的第一输入端;高基数近似布斯编码模块的输入端接外部输入数据,其输出端接部分积符号位扩展模块的第二输入端和树形压缩模块的第二输入端;部分积符号位扩展模块的输出端接树形压缩模块的第三输入端;树形压缩模块的输出端接进位加法器模块的输入端;进位加法器模块的输出端输出该乘法器的最终结果;
精确布斯编码模块可选择基-4精确布斯编码模块,用于接收固定字长的外部数据,包括乘数和被乘数,外部数据为具有任意比特的二进制数据,通过精确基-4布斯编码对n位乘数和被乘数中权重较高的n-m位进行运算得到精确部分积所有位的值;高基数近似布斯编码模块用于接收固定字长的外部数据,包括乘数和被乘数,外部数据为具有任意比特的二进制数据,通过本发明提出的高基数近似布斯编码方法对n位乘数和被乘数中权重较低的n位进行编码得到近似部分积所有位的值。其中由于乘法运算中乘数和被乘数可以交换,本申请以对被乘数进行编码为例进行说明,本领域技术人员应该清楚,本发明提出的编码方法和乘法器同样适用于对乘数进行编码。
部分积符号位扩展模块通过本发明提出的符号位扩展算法生成符号扩展位,将确定的符号扩展位添加到部分积阵列中,并作为树形压缩模块的输入。近似树形压缩模块接收基-4精确布斯编码模块、高基数近似布斯编码模块和部分积符号位扩展模块的数据,用4-2压缩器、全加器、半加器等运算单元对部分积进行压缩。进位加法器模块接收树形压缩模块输出的数据,将其相加得到本发明提出的近似乘法器的最终计算结果。
本发明提出的混合基数布斯编码近似乘法器中,高基数近似布斯编码模块包括分组单元、编码单元和部分积产生单元,其中分组单元用于将输入进行分组生成分组信号sel0至sel15,将输入的数据分割为16个区间,对基-2m的高基数布斯编码算法来说,每个区间包含2m-4个输入情况,分组由输入到高基数近似布斯编码模块的被乘数中的高4位决定;编码单元用于将分组结果进行编码获得编码的中间结果,并给出符号修正位ck表示正负;部分积产生单元采用不完全编码的方法,根据编码模块产生的符号修正位ck和编码的中间结果产生部分积A和部分积B,这两个不完全编码的部分积都是通过将被乘数移位产生的,因此在产生过程中并不会引入复杂的计算逻辑。
在部分积累加的过程中,需要考虑符号位扩展问题。对于n×n的乘法器,所有的部分积符号位都要扩展到权重为22n-1的最高有效位。对采用精确基-4与近似基-256混合基数布斯编码的位宽为16×16位的乘法器,其符号位扩展后的部分积阵列如图3所示。其中,黑色三角形表示近似基-256布斯编码产生的部分积,黑色圆形表示精确基-4布斯编码产生的部分积,空心三角形和空心圆形表示对应部分积的符号修正位,黑色方块表示符号位扩展。因此图3中乘法器所有部分积阵列中同一行的黑色方块数值相同,具有数据相关性,如果直接进行压缩将会浪费硬件资源。因此,本发明提出了一种符号位扩展的优化方法,避免了数据冗余,简化了硬件设计。
结合图3,以采用本发明中提出的精确基-4与近似基-256混合基数布斯编码的位宽为16×16位的乘法器为例进行说明。用Sk表示第k行部分积的最高有效位,也就是要进行扩展的符号位;Sign表示所有扩展的符号位的和,也就是图3中所有的黑色方块代表的数值的和。另外,结合公式(11)与公式(12)中所示的基本数学和逻辑原理,可以得到公式(13)的推导。
Figure BDA0002451068110000101
Figure BDA0002451068110000102
Figure BDA0002451068110000103
公式(13)中最后一个等式中的第一项权重为232,而该乘法器的实际最高有效位权重为231,因此,权重为232的项可以被化简,并得到公式(14)。
Figure BDA0002451068110000104
将公式(14)中的减法常数项通过二进制补码的原则进行转换,可以得到公式(15)所示的结果。
Figure BDA0002451068110000105
公式(15)的最后一个等式表明了优化后的部分积符号位在压缩树中所处的位置。其中,公式(15)最后一个等式的第一项
Figure BDA0002451068110000106
表明了所有部分积的最高有效位都需要取反并与所在权重位一一对应,即部分积阵列中221权重位的第0行部分积最高有效位S0取反,部分积阵列中221权重位的第1行部分积最高有效位S1取反,部分积阵列中224权重位的第2行部分积最高有效位S2取反,部分积阵列中226权重位的第3行部分积最高有效位S3取反,部分积阵列中228权重位的第4行部分积最高有效位S4取反,部分积阵列中230权重位的第5行部分积最高有效位S5取反,本实施例中部分积阵列共6行,分别记为第0行至第5行,操作对应图4中灰色三角形和灰色圆形。公式(15)最后一个等式的第二项(1010101011)·222表明了在部分积阵列中需要在对应权重上引入多个“1”进行累加,而其中“0”的位置可以直接忽略,具体结合图4可知,分别在部分积阵列中222权重位的第1行部分积最高有效位前补1,在部分积阵列中223权重位的第1行部分积最高有效位前补1,在部分积阵列中225权重位的第2行部分积最高有效位前补1,在部分积阵列中227权重位的第3行部分积最高有效位前补1,部分积阵列中229权重位的第4行部分积最高有效位前补1,部分积阵列中231权重位的第5行部分积最高有效位前补1。基于以上分析,根据本发明提出的符号位扩展的优化方法可以将图3的部分积阵列优化为图4所示的部分积阵列。
类似地,对于采用本发明中提出的精确基-4与近似基-2m混合基数布斯编码的n×n乘法器,一般性结论的简化推导过程如公式(16)所示。
Figure BDA0002451068110000111
其中,第三步到第四步约去了对结果没有影响的项;第四步到第五步对常数项进行了合并;最终推导结果中的补码表示方法中,“1”的总个数为(n-m)/2+2个。符号位优化的结果在部分积压缩树阵列当中的对应方式与图3类似,这里仅对位宽为16×16位乘法器采用基-64和基-1024近似的混合编码进行示例,如图5与图6所示,其他情况不再展开列举。
针对上述混合基数布斯编码近似乘法器,本发明还提出了一种误差模型的推导方法。假设二进制补码乘数X与被乘数Y的位宽为n,乘法器的精确结果为Z,近似结果为ZA,其中被乘数Y的近似编码结果为YA。则基于本发明的近似方法,乘法器产生的误差如公式(17)所示,可以知道乘法结果的误差本质上由被乘数Y的近似编码误差EY所引起,并且乘数X起到了对误差的线性放缩效果。
Error{ZA}=X·YA-X·Y=X·(YA-Y)=X·EY (17)
对被乘数Y的近似编码误差EY展开,可以发现由于高有效位部分都采用精确的基-4的布斯编码因此并不会引入误差。因此,对基-64、基-256、基-1024三种近似高基数布斯编码进行分析。
基-64的近似高基数布斯编码具体规则可见图2。为了对其有更完整的分析,选取平均误差Emean、误差距离(也称为绝对误差)ED、最大绝对误差EDmax、平均误差距离MED进行讨论。对一组基-64的近似高基数布斯编码有6个输入,输入情况共有26即64种,假设每一位输入为“1”或为“0”的概率是一致的,为1/2,则每种情况发生的概率均为1/64。则其均值误差公式如式(18)所示,其中PY为相应的被乘数Y出现的概率。
Figure BDA0002451068110000121
/>
误差距离ED、最大绝对误差EDmax、平均误差距离MED的推导公式如式(19)所示,其中max{~}表示取集合{~}中的最大值。
Figure BDA0002451068110000122
以上信息都可以根据计算式和图2得到。对基-64、基-256、基-1024三种近似高基数布斯编码,可以得到统一的表达式。若采用基-2m的高基数近似布斯编码,则相关的误差参数可以推导为:
Figure BDA0002451068110000123
能得到统一的误差参数表达式,是由于基-2m的高基数近似布斯编码所分成的16段近似区间中的数值具有如图7所示的特点,每个区间都包含2m-4个值。
通过图7可以发现具体的数值分布都与基-2m的高基数近似布斯编码的参数m相关。并且,其中0、1、2、4、11、13、14、15这8个分组具有相同的输出方式;其中3、5、6、8这4个分组具有相同的输出方式;其中7、9、10、12这4个分组具有相同的输出方式。这些特点都为误差分析的推导提供了切实的依据。
结合公式(17)的实质含义与公式(20)具体推导,可以进一步得到乘法器相关参数的推导方式。假设乘法器的输入情况是完全独立随机的,乘数X与被乘数Y的位宽为n,乘法器的精确结果为Z,近似结果为ZA,则乘法器的平均误差Emean的推导如公式(21)所示。
Figure BDA0002451068110000131
可以看出这种近似方法引入的均值误差非常小,并且与乘法器的位宽n与所选的基数参数m无关。在乘法器的误差分析中,归一化均值误差更加通用。归一化均值误差是将均值误差除以最大的输出情况得到的统计值。即使对于位宽较小的8×8的乘法器而言,采用本发明提出的高基数近似混合基数布斯编码的归一化均值误差也仅仅为-2-18
乘法器的最大绝对误差EDmax推导如公式(22)所示。
Figure BDA0002451068110000132
将最大绝对误差进行归一化处理,归一化最大绝对误差是最大绝对误差除以最大的输出情况得到的统计值。采用本发明提出的高基数近似混合基数布斯编码的归一化最大绝对误差为2m-n-5,表现为m取值越小、n取值越大,则归一化最大绝对误差越小,表现出误差的可控性。
乘法器的平均误差距离MED推导如公式(23)所示
Figure BDA0002451068110000141
将平均误差距离进行归一化处理,归一化平均误差距离是平均误差距离除以最大的输出情况得到的统计值。采用本发明提出的高基数近似混合基数布斯编码的归一化平均误差距离为1.5×2m-n-8,表现为m取值越小、n取值越大,则归一化平均误差距离越小,同样表现出误差的可控性。
相比传统的精确基-4布斯编码乘法器,本发明提出的使用精确基-4与近似基-1024混合布斯编码的乘法器的延迟降低了8.3%,功耗降低了39.1%,并且具有几乎为0的均值误差与较小的归一化误差。同时本发明中提出了一种针对近似的混合基数布斯编码乘法器的误差模型的推导方法,相比于通过仿真得到精度指标,节省了仿真时间且避免了大数据量的运算。
综上所述,本发明提出了一种高基数近似布斯编码方法和基于高基数近似的混合基数布斯编码的近似乘法器,由于高基数近似的布斯编码误差不易控制,本发明的乘法器采用混合基数的方式将低基数精确布斯编码和高基数近似布斯编码相结合,分别用于生成乘法器部分积的精确部分和近似部分,在保证计算结果精确度较高的同时达到降低电路复杂度的目的;同时由于混合基数的布斯编码的符号扩展位中存在大量重复数据,所以本发明还重新设计了符号扩展位,避免数据冗余。另外针对高位宽乘法器精度仿真需要较长时间且数据量大的问题,本发明建立了近似乘法器的误差模型,并通过对该乘法器误差模型的推导计算出对应的误差指标数据。
本领域的普通技术人员将会意识到,这里所述的实施例是为了帮助读者理解本发明的原理,应被理解为本发明的保护范围并不局限于这样的特别陈述和实施例。本领域的普通技术人员可以根据本发明公开的这些技术启示做出各种不脱离本发明实质的其它各种具体变形和组合,这些变形和组合仍然在本发明的保护范围内。

Claims (4)

1.高基数近似布斯编码方法,其特征在于,包括如下步骤:
步骤一、获取n位乘数和n位被乘数,将所述n位被乘数按照权重分为两部分,选择被乘数中权重较低的m位和n位乘数作为待编码数据进行基-2m的高基数近似布斯编码,其中m、n均为正整数且n>m;
步骤二、所述被乘数中权重较低的m位中从最高位至最低位依次为ym-1至y0,选择所述被乘数权重较低的m位中的高四位ym-1至ym-4,将所述待编码数据的所有情况按照被乘数中权重较低的m位中的高四位分为十六个区间,每个区间的分组信号为:
Figure FDA0002451068100000011
其中sel0至sel15分别是第一个区间至第十六个区间的分组信号;
步骤三、根据式(2)获取所述待编码数据经过基-2m的高基数近似布斯编码后产生的部分积A和部分积B:
Figure FDA0002451068100000012
其中:
Figure FDA0002451068100000013
Ai为部分积A中的第i位,Bi为部分积B中的第i位,xi-m+5为乘数中的第i-m+5位,xi-m+4为乘数中的第i-m+4位,xi-m+3为乘数中的第i-m+3位,xi-m+2为乘数中的第i-m+2位,i∈[0,n-1],ck为符号修正位;
步骤四、将部分积A和部分积B对应相加后获得所述待编码数据的编码结果。
2.混合基数布斯编码近似乘法器,包括编码模块、符号位扩展模块、树形压缩模块和进位加法器模块;
所述编码模块用于对被乘数进行编码,产生乘数和被乘数在乘法运算中的部分积;
所述符号位扩展模块用于产生符号扩展位;
所述树形压缩模块接收所述编码模块产生的所有部分积和所述符号位扩展模块产生的符号扩展位并进行压缩,获得经压缩和添加符号扩展位后的部分积阵列;
所述进位加法器模块将经过压缩和添加符号扩展位后的部分积阵列的所有部分积相加得到所述混合基数布斯编码近似乘法器的最终计算结果;
其特征在于,所述编码模块包括精确布斯编码模块和高基数近似布斯编码模块,输入数据包括n位乘数和n位被乘数,将被乘数按照权重分为两部分,被乘数中权重较高的n-m位和n位乘数输入到所述精确布斯编码模块中,由所述精确布斯编码模块进行编码获得精确部分积所有位的值;被乘数中权重较低的m位和n位乘数输入到所述高基数近似布斯编码模块中,由所述高基数近似布斯编码模块进行编码获得近似部分积所有位的值;其中m、n均为正整数且n>m;
所述高基数近似布斯编码模块包括分组单元、编码单元、部分积产生单元,
所述分组单元用于对所述高基数近似布斯编码模块接收的输入数据进行分组分为十六个区间,每个区间的分组信号为:
Figure FDA0002451068100000021
其中sel0至sel15分别是第一个区间至第十六个区间的分组信号,ym-1至ym-4分别是所述被乘数中权重较低的m位中的最高位至第四高位;
所述编码模块用于根据所述分组单元产生的分组结果进行编码,获得符号修正位ck和编码的中间结果:
Figure FDA0002451068100000031
所述部分积产生单元用于根据所述编码模块产生的符号修正位ck和编码的中间结果结合乘数产生部分积A和部分积B:
Figure FDA0002451068100000032
其中Ai为部分积A中的第i位,Bi为部分积B中的第i位,xi-m+5为乘数中的第i-m+5位,xi-m+4为乘数中的第i-m+4位,xi-m+3为乘数中的第i-m+3位,xi-m+2为乘数中的第i-m+2位,i∈[0,n-1]。
3.根据权利要求2所述的混合基数布斯编码近似乘法器,其特征在于,所述符号位扩展模块利用式(7)进行:
Figure FDA0002451068100000033
其中Sign表示所有扩展的符号位的和,S0
Figure FDA0002451068100000034
是所述部分积阵列中第0行部分积的最高有效位至第/>
Figure FDA0002451068100000035
行部分积的最高有效位;
根据式(7)中的
Figure FDA0002451068100000036
将所述部分积阵列中2n+m-3权重位的第0行部分积最高有效位S0取反,根据式(7)中的/>
Figure FDA0002451068100000037
将所述部分积阵列中2n+m-3权重位的第1行部分积最高有效位S1取反,……,根据式(7)中的/>
Figure FDA0002451068100000041
将所述部分积阵列中22n-2权重位的第
Figure FDA0002451068100000042
行部分积最高有效位/>
Figure FDA0002451068100000043
取反,即将所述部分积阵列中每一行部分积的最高有效位S0至/>
Figure FDA0002451068100000044
都取反并与所在权重位一一对应;
根据式(7)中的
Figure FDA0002451068100000045
在所述部分积阵列中2n+m-2
Figure FDA0002451068100000046
权重位补1。
4.根据权利要求2或3所述的混合基数布斯编码近似乘法器,其特征在于,记所述混合基数布斯编码近似乘法器对乘数X和被乘数Y进行处理获得的近似乘法结果为ZA,对被乘数Y的近似编码结果为YA,所述乘数X和被乘数Y的精确乘法结果为Z;
根据被乘数Y的近似编码结果YA能够计算得到经过所述混合基数布斯编码近似乘法器近似编码后所述被乘数Y的绝对误差ED{YA}=|EY|=|YA-Y|,所述被乘数Y的平均误差
Figure FDA0002451068100000047
所述被乘数Y的最大绝对误差EDmax{YA}=max{ED}=2m-4,所述被乘数Y的平均误差距离/>
Figure FDA0002451068100000048
其中PY为被乘数Y出现的概率;/>
进一步能够获得所述混合基数布斯编码近似乘法器近似乘法结果ZA的平均误差:
Figure FDA0002451068100000049
所述混合基数布斯编码近似乘法器近似乘法结果ZA的最大绝对误差:
EDmax{ZA}=max{|X|}·EDmax{YA}=2n+m-5
所述混合基数布斯编码近似乘法器近似乘法结果ZA的平均误差距离:
Figure FDA00024510681000000410
其中PX为乘数X出现的概率。
CN202010292881.4A 2020-04-15 2020-04-15 高基数近似布斯编码方法和混合基数布斯编码近似乘法器 Active CN111488133B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010292881.4A CN111488133B (zh) 2020-04-15 2020-04-15 高基数近似布斯编码方法和混合基数布斯编码近似乘法器

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010292881.4A CN111488133B (zh) 2020-04-15 2020-04-15 高基数近似布斯编码方法和混合基数布斯编码近似乘法器

Publications (2)

Publication Number Publication Date
CN111488133A CN111488133A (zh) 2020-08-04
CN111488133B true CN111488133B (zh) 2023-03-28

Family

ID=71794887

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010292881.4A Active CN111488133B (zh) 2020-04-15 2020-04-15 高基数近似布斯编码方法和混合基数布斯编码近似乘法器

Country Status (1)

Country Link
CN (1) CN111488133B (zh)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111966323B (zh) * 2020-08-18 2022-09-13 合肥工业大学 基于无偏压缩器的近似乘法器及计算方法
CN112612446B (zh) * 2020-12-15 2024-02-23 东南大学 一种基于布斯编码的16*8近似乘法器片上动态计算系统
CN112732224B (zh) * 2021-01-12 2024-01-05 东南大学 一种面向卷积神经网络的可重构近似张量乘加单元及方法
CN113778377B (zh) * 2021-08-19 2024-03-29 南京航空航天大学 一种基于基8布斯折叠编码的平方器结构
CN116048455B (zh) * 2023-03-07 2023-06-02 南京航空航天大学 一种插入型的近似乘法累加器
CN116991359B (zh) * 2023-09-26 2023-12-22 上海为旌科技有限公司 Booth乘法器、混合Booth乘法器及运算方法

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1201182A (zh) * 1997-04-30 1998-12-09 朗迅科技公司 为乘法器提供纯进位保存输出的方法
CN101122850A (zh) * 2007-09-21 2008-02-13 清华大学 基于二次Booth编码的大数乘法器
CN102257473A (zh) * 2008-10-30 2011-11-23 音频专用集成电路公司 高基数字乘法器
CN102591615A (zh) * 2012-01-16 2012-07-18 中国人民解放军国防科学技术大学 结构化混合位宽乘法运算方法及装置
CN110362292A (zh) * 2019-07-22 2019-10-22 电子科技大学 一种基于近似4-2压缩器的近似乘法运算方法和近似乘法器
CN110673823A (zh) * 2019-09-30 2020-01-10 上海寒武纪信息科技有限公司 乘法器、数据处理方法及芯片
CN110955403A (zh) * 2019-11-29 2020-04-03 电子科技大学 近似基-8布斯编码器及混合布斯编码的近似二进制乘法器

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11010134B2 (en) * 2017-06-20 2021-05-18 Intel Corporation High radix subset code multiplier architecture

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1201182A (zh) * 1997-04-30 1998-12-09 朗迅科技公司 为乘法器提供纯进位保存输出的方法
CN101122850A (zh) * 2007-09-21 2008-02-13 清华大学 基于二次Booth编码的大数乘法器
CN102257473A (zh) * 2008-10-30 2011-11-23 音频专用集成电路公司 高基数字乘法器
CN102591615A (zh) * 2012-01-16 2012-07-18 中国人民解放军国防科学技术大学 结构化混合位宽乘法运算方法及装置
CN110362292A (zh) * 2019-07-22 2019-10-22 电子科技大学 一种基于近似4-2压缩器的近似乘法运算方法和近似乘法器
CN110673823A (zh) * 2019-09-30 2020-01-10 上海寒武纪信息科技有限公司 乘法器、数据处理方法及芯片
CN110955403A (zh) * 2019-11-29 2020-04-03 电子科技大学 近似基-8布斯编码器及混合布斯编码的近似二进制乘法器

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
Design and Analysis of Area and Power Efficient Approximate Booth Multipliers;Suganthi Venkatachalam等;《IEEE》;1697-1703 *
Design of an Energy-Efficient Approximate Compressor for Error-Resilient Multiplications;Xilin Yi等;《IEEE》;1-5 *
基于近似计算的二进制乘法器设计及其在可容错系统中的应用;衣溪琳;《中国优秀硕士论文电子期刊网 信息科技辑》;I137-44 *

Also Published As

Publication number Publication date
CN111488133A (zh) 2020-08-04

Similar Documents

Publication Publication Date Title
CN111488133B (zh) 高基数近似布斯编码方法和混合基数布斯编码近似乘法器
Liu et al. A low-power, high-performance approximate multiplier with configurable partial error recovery
TWI783295B (zh) 乘法器及乘法運算方法
CN111832719A (zh) 一种定点量化的卷积神经网络加速器计算电路
CN109165006B (zh) Softmax函数的设计优化及硬件实现方法及系统
US20190294412A1 (en) Stochastic rounding logic
CN110187866B (zh) 一种基于双曲cordic的对数乘法计算系统及方法
CN115407965A (zh) 一种基于泰勒展开的高性能近似除法器及误差补偿方法
Lohray et al. Rounding technique analysis for power-area & energy efficient approximate multiplier design
CN110825346B (zh) 一种低逻辑复杂度的无符号近似乘法器
CN111966323B (zh) 基于无偏压缩器的近似乘法器及计算方法
Abdelhamid et al. Applying the residue number system to network inference
CN117014017A (zh) 一种基于高位宽数据计算多项式除法余数的crc计算方法
CN114115803B (zh) 一种基于部分积概率分析的近似浮点乘法器
Udupa et al. IKW: Inter-kernel weights for power efficient edge computing
Temenos et al. A stochastic computing sigma-delta adder architecture for efficient neural network design
Basha et al. Design and Implementation of Radix-4 Based High Speed Multiplier for ALU's Using Minimal Partial Products
Kumar et al. Complex multiplier: implementation using efficient algorithms for signal processing application
Pranay et al. Accuracy configurable modified booth multiplier using approximate adders
Li A Single Precision Floating Point Multiplier for Machine Learning Hardware Acceleration
Bhusare et al. Low-power high-accuracy fixed-width Radix-8 booth multiplier using probabilistic estimation technique
CN113778377B (zh) 一种基于基8布斯折叠编码的平方器结构
Ercan et al. Power-delay analysis of an ABACUS parallel integer multiplier VLSI implementation
Bhongale et al. Review on Recent Advances in VLSI Multiplier
US20240152327A1 (en) Computing circuit, computing method, and decoder

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
GR01 Patent grant
GR01 Patent grant