用于实现基4Booth乘法器的32位加法器及其实现方法、运算电路及芯片技术

技术编号:34376818 阅读:54 留言:0更新日期:2022-07-31 13:54
本申请实施例提供了一种用于实现基4Booth乘法器的32位加法器及其实现方法、运算电路和芯片,该加法器包括:用于确定8组带有基4Booth乘法进位权重的16比特的部分积在第0

32-bit adder for realizing base 4booth multiplier and its implementation method, operation circuit and chip

【技术实现步骤摘要】
用于实现基4 Booth乘法器的32位加法器及其实现方法、运算电路及芯片


[0001]本申请实施例涉及电路领域,尤其涉及一种用于实现基4 Booth乘法器的32位加法器及其实现方法、运算电路及芯片。

技术介绍

[0002]基4 Booth乘法器是数字电路设计中常用电路之一,例如,基4 Booth乘法器常常用于中央处理器(central processing unit,CPU)、图形处理器(graphics processing unit,GPU)等复杂逻辑芯片,也常常用于微控制单元(Microcontroller Unit,MCU)、现场可编程门阵列(Field Programmable Gate Array,FPGA)等综合性设计芯片。一般地,乘法运算可以分为三个步骤:部分积生成、部分积压缩至两行向量、最后将两行向量再相加。在部分积生成中,通常采用基4

Booth编码,基4

Booth编码可使乘法器的部分积数量减少一半。
[0003]因此,如何基于基4

Booth编码中部分积得到最终的计算结果,进而提升基4

Booth编码乘法器整体性能,成为亟待解决的技术问题。

技术实现思路

[0004]有鉴于此,本申请实施例提供了一种用于实现基4 Booth乘法器的32位加法器及其实现方法、运算电路及芯片,用以克服上述全部或部分技术缺陷。
[0005]第一方面,本申请实施例提供了一种用于实现基4 Booth乘法器的32位加法器,其包括:
[0006]多路进位保存加法器用于确定8组带有基4 Booth乘法进位权重的16比特的部分积在第0

31个比特位上对应的比特位,并对第0

31个比特位上的部分积分别进行压缩,输出32比特的2组数据,所述多路进位保存加法器在第0

31个比特位上用于压缩的进位保存加法器的数量为对应比特位上部分积的数量与符号位的数量之和减2;
[0007]带进位链的进位加法器,用于将所述32比特的2组数据进行相加求和,所述带进位链的进位加法器包括:
[0008]N个进位模块,每个进位模块对应所述32比特的2组数据的多个比特位,其中,第n个进位模块与第n

1个进位模块连接,以用于接收所述第n

1进位模块输出的级间进位参数,所述被乘数和所述乘数为16位二进制数,N为小于或者等于5的整数,n为大于1且小于或等于N的整数;每个进位模块包括预处理单元和多个进位计算单元,一个进位计算单元对应所述32比特的2组数据的一个比特位;其中,所述部分积用于表征乘数的第i+1个比特位、第i个比特位和第i

1个比特位与被乘数基于基4 Booth乘法的乘积;i为大于或等于0且小于或等于15的整数;
[0009]其中,所述第n个进位模块包含的预处理单元,用于对对应的所述32比特的2组数据中的多个比特位进行预处理;
[0010]所述第n个进位模块包含的多个进位计算单元,用于根据所述预处理的结果和所
述第n

1个进位模块的级间进位参数进行运算,生成所述第n个进位模块对应的每个比特位的进位输出和所述第n个进位模块的级间进位参数;
[0011]求和模块,所述求和模块与所述N个进位模块电连接,以用于所述32比特的2组数据的符号位选通控制信号为有效位时,将所述32比特的2组数据进行处理,所述处理包括:将所述32比特的2组数据的部分积的最高比特位取反、对第一个部分积的最高比特位加1、以及在所有部分积的最高位前增加1个比特数,且所述比特数取值为1;以及用于根据处理后的所述所述32比特的2组数据中的每个比特位、以及对应的进位输出进行运算,得到对应的求和结果;其中,符号位选通控制信号用于表征部分积为被乘数乘以负数倍。
[0012]第二方面,本申请提供了一种用于实现基4 Booth乘法器的32位加法器的实现方法,其包括:
[0013]接收8组带有基4 Booth乘法进位权重的16比特的部分积;所述部分积用于表征乘数的第i+1个比特位、第i个比特位和第i

1个比特位与被乘数基于基4 Booth乘法的乘积;i为大于或等于0且小于或等于15的整数;
[0014]确定8组带有基4 Booth乘法进位权重的16比特的部分积在第0

31个比特位上对应的比特位,并对第0

31个比特位上的部分积分别进行压缩,输出32比特的2组数据;所述多路进位保存加法器在第0

31个比特位上用于压缩的进位保存加法器的数量为对应比特位上部分积的数量与符号位的数量之和减2;
[0015]将压缩得到的所述32比特的2组数据按照比特位从低到高的顺序划分为N个数据组,每个数据组包括32比特的2组数据中的多个比特位,N为小于或者等于5的整数;其中,所述部分积用于表征乘数的第i+1个比特位、第i个比特位和第i

1个比特位与被乘数基于基4 Booth乘法的乘积;i为大于或等于0且小于或等于15的整数;
[0016]对所述每个数据组包含的多个比特位进行预处理;
[0017]计算所述每个数据组包含的多个比特位的进位输出,其中,对于N个数据组中的第n个数据组,根据所述第n个数据组的预处理结果和第n

1个数据组的级间进位参数进行运算,生成所述第n个数据组对应的每个比特位的进位输出和所述第n个进位模块的级间进位参数,n为大于1且小于或等于N的整数;
[0018]在所述32比特的2组数据的符号位选通控制信号为有效位时,将所述32比特的2组数据的部分积进行处理,所述处理包括:将所述32比特的2组数据中部分积的最高比特位取反、对第一个部分积的最高比特位加1、以及在所有部分积的最高位前增加1个比特数,且所述比特数取值为1;其中,符号位选通控制信号用于表征部分积为被乘数乘以负数倍;
[0019]根据处理后的所述32比特的2组数据中的每个比特位、以及对应的进位输出进行运算,得到对应的求和结果。
[0020]第三方面,本申请提供了一种运算电路,所述运算电路包括根据第一方面任一实施例提供的加法器。
[0021]第四方面,本申请提供了一种芯片,所述芯片包括根据第二方面任一实施例提供的运算电路。本申请实施例提供了一种用于实现基4 Booth乘法器的32位加法器及其实现方法、运算电路和芯片,由于多路进位保存加法器用于用于确定8组带有基4 Booth乘法进位权重的16比特的部分积在第0

31个比特位上对应的比特位,并对第0

31个比特位上的部分积分别进行压缩,输出32比特的2组数据;带进位链的进位加法器,用于将所述32比特的2
组数据进行相加求和,所述带进位链的进位加法器包括包括N个进位模块,每个进位模块对应32比特的2组数据中的多个本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种用于实现基4Booth乘法器的32位加法器,其特征在于,所述用于实现基4Booth乘法器的32位加法器包括:多路进位保存加法器,用于确定8组带有基4Booth乘法进位权重的16比特的部分积在第0

31个比特位上对应的比特位,并对第0

31个比特位上的部分积分别进行压缩,输出32比特的2组数据,所述多路进位保存加法器在第0

31个比特位上用于压缩的进位保存加法器的数量为对应比特位上部分积的数量与符号位的数量之和减2;带进位链的进位加法器,用于将所述32比特的2组数据进行相加求和,所述带进位链的进位加法器包括:N个进位模块,每个进位模块对应所述32比特的2组数据的多个比特位,其中,第n个进位模块与第n

1个进位模块连接,以用于接收所述第n

1进位模块输出的级间进位参数,所述被乘数和所述乘数为16位二进制数,N为小于或者等于5的整数,n为大于1且小于或等于N的整数;每个进位模块包括预处理单元和多个进位计算单元,一个进位计算单元对应所述32比特的2组数据的一个比特位;其中,所述部分积用于表征乘数的第i+1个比特位、第i个比特位和第i

1个比特位与被乘数基于基4Booth乘法的乘积;i为大于或等于0且小于或等于15的整数;其中,所述第n个进位模块包含的预处理单元,用于对对应的所述32比特的2组数据中的多个比特位进行预处理;所述第n个进位模块包含的多个进位计算单元,用于根据所述预处理的结果和所述第n

1个进位模块的级间进位参数进行运算,生成所述第n个进位模块对应的每个比特位的进位输出和所述第n个进位模块的级间进位参数;求和模块,所述求和模块与所述N个进位模块电连接,以用于在所述32比特的2组数据的符号位选通控制信号为有效位时,将所述32比特的2组数据进行处理,所述处理包括:将所述32比特的2组数据的部分积的最高比特位取反、对第一个部分积的最高比特位加1、以及在所有部分积的最高位前增加1个比特数,且所述比特数取值为1;以及用于根据处理后的所述32比特的2组数据中的每个比特位、以及对应的进位输出进行运算,得到对应的求和结果;其中,符号位选通控制信号用于表征部分积为被乘数乘以负数倍。2.根据权利要求1所述的用于实现基4Booth乘法器的32位加法器,其特征在于,N等于5,第1个进位模块对应32比特的2组数据的第0比特位至第3比特位,所述第2个进位模块对应32比特的2组数据的第4比特位至第7比特位,所述第3个进位模块对应32比特的2组数据的第8比特位至15比特位,所述第4个进位模块对应32比特的2组数据的第16比特位至23比特位,所述第5个进位模块对应32比特的2组数据的第24比特位至31比特位。3.根据权利要求2所述的用于实现基4Booth乘法器的32位加法器,其特征在于,所述预处理结果包括:组内进位生成信号和组内进位传播信号;第n个进位模块包含的预处理单元,具体用于:对对应的所述32比特的2组数据中的每个比特位进行运算,生成每个比特位对应的进位生成信号和进位传播信号;基于对应的至少一个比特位的进位生成信号和进位传播信号分别生成每个比特位的组内进位生成信号和组内进位传播信号;所述第n个进位模块包含的每个进位计算单元,具体用于根据对应的比特位的组内进位生成信号和组内进位传播信号以及所述第n

1个进位模块的级间进位参数进行运算,生
成对应的比特位的进位输出。4.根据权利要求3所述的用于实现基4Booth乘法器的32位加法器,其特征在于,所述第n个进位模块对应的最高位的进位计算单元,还用于将在所述第n个进位模块对应的多个比特位中的最高位的进位输出的计算中得到的进位参数,作为所述第n个进位模块的级间进位参数,其中,所述最高位的进位输出基于所述最高位的进位参数与所述最高位的进位传播信号进行运算得到。5.根据权利要求4所述的用于实现基4Booth乘法器的32位加法器,其特征在于,所述第n个进位模块包含的预处理单元包括交替布置的至少一个第一预处理单元和至少一个第二预处理单元;其中,所述第一预处理单元用于对对应的32比特的2组数据中的第i个比特位和第i

1个比特位进行运算,生成第一预处理结果,所述第一预处理结果指示所述第i个比特位和所述第i

【专利技术属性】
技术研发人员:ꢀ七四专利代理机构
申请(专利权)人:北京源启先进微电子有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1