【技术实现步骤摘要】
乘法器、乘法计算方法、处理系统及存储介质
[0001]本专利技术涉及数字电路技术,特别是一种乘法器、乘法计算方法、处理系统及存储介质。
技术介绍
[0002]目前,国内外乘法器的设计思想大体有四种类型,总体为并行乘法器、移位相加乘法器、查找表乘法器以及加法树乘法器。其中,并行乘法器易于实现,运算速度快,然而,当乘法运算位宽增大时,其设计将会耗用较多的内部资源;耗用内部资源小的设计方案是移位相加乘法器,它通过逐项求和来实现,但是,这种设计将会耗用大量时钟,处理速度较慢;处理速度较快的是查找表乘法器,该设计直接将乘积存放于存储器中,将乘数和被乘数作为访问存储器的地址,这样通过查表方式得到的对应存储器相应位置的结果即为所求的乘积结果,不过,存储器的读写访问速度决定着乘法器的运算速度,另外,随着乘数与被乘数的位宽增大,将会急剧增加存储器的空间,因此,此法不太适合大数乘法器的操作;采用流水线结构的加法树乘法器,两个数相乘能在一个时钟内完成,然而,当乘数位宽增加时,流水线的分段随之增加,必将使用更多寄存器资源,增加器件的耗用。采用 Booth 算法的乘法器,在速度,器件消耗等方面有很大优势,然而,这种算法需要做多次右移,加减法运算,取补等。
[0003]传统的乘法器运算,是N位乘N位将得到N个部分积,需要做N
‑
1次加法运算,最终将得到 2N 位乘积。为了提高乘法器的运算效率,增强乘法器的性能,国内大体提出四种设计算法。随着大规模集成电路的发展,MOS 管的工艺体积由0.18mm,0.13mm,28nm ...
【技术保护点】
【技术特征摘要】
1.一种乘法器,其特征在于,包括:第一运算单元,用于计算A0×
B3,A1×
B2,A2×
B1,A3×
B0的和,并存储所述和的低8位X1、高8位与1位进位;计算A0×
B1,A1×
B0之和,得到16位结果X4X5与一位进位Cout
low1
;第二运算单元,用于对所述低8位X1与进位Cout
low1
进行8位加法运算,得到X
´1,并存储加法运算产生的进位Cout
low3
;将加法运算的结果X
´1扩展为32位值X
´1000;拼接所述32位值X
´1000与32位结果0X4X50,得到X
´1X4X50以及1位进位Cout
low2
;计算A0×
B2,A1×
B1,A2×
B0的和,得到X2X300,将X2X300与A0×
B0的结果00X6X7按位相加,得到32位结果X2X3X6X7;计算A2×
B3,A3×
B2,产生一位进位Cout
high3
与16位和X8X9,将其分别扩展成32位的Cout
high3
000和0X8X90,并与之前存储的扩展后的32位000X1计算结果按位相加得32位结果Cout
high3
X8X9X1;第三运算单元,用于将X
´1X4X50与X2X3X6X7两个32位值进行加和,得到低32位结果与1位进位Cout
low4
;计算A1×
B3,A2×
B2,A3×
B1之和,得到16位结果X
10
X
11
与1位进位Cout
high2
,计算A3×
B3得到16位结果X
12
X
13
,两个32位结果00X
10
X
11
与X
12
X
13
00拼接成32位数X
12
X
13
X
10
X
11
;其中,A3A2A1A0与B3B2B1B0为将32位定点数A、B分别分解为8位得到的结果,X
i
为位宽8位的数,i=1,2...n,n为正整数。2.根据权利要求1所述的乘法器,其特征在于,还包括:第四运算单元,用于将Cout
high3
X8X9X1与X
12
X
13
X
10
X
11
进行32位加法,得到高32位结果的中间值和1位进位Cout
high1
,拼接Cout
high2
、Cout
high1
和Cout
low
,得到0Cout
high2
Cout
high1
Cout
low
,将高32位结果的中间值与进位的拼接值再进行一次32位加法运算,得到高32位计算结果;Cout
low
为对第三运算单元加和过程中产生的3个进位Cout
low2
、Cout
low3
、Cout
low4
进行二进制编码得到的结果。3.根据权利要求1所述的乘法器,其特征在于,所述第一运算单元包括:第一计算模块,用于计算A0×
B3,A1×
B2,A2×
B1,A3×
B0的和,并存储所述和的低8位X1、高8位与1位进位;第二计算模块,计算A0×
B1,A1×
B0之和,得到32位结果0X4X50与一位进位Cout
low1
。4.根据权利要求3所述的乘法器,其特征在于,所述第二运算单元包括:8位加法运算模块,用于对所述第一计算模块产生的低8位X1与进位Cout
low1
进行8位加法运算,得到X
´1,并存储加法运算产生的进位Cout
low3
;扩展模块,用于将加法运算的结果X
´1扩展为32位值X
´1000;第一拼接模块,将32位值X
´1000与32位结果0X4X50按位相加,得到X
´1X4X50以及1位进位Cout
low2
;复用模块,用于复用所述第一计算模块,以计算A0×
B2,A1×
B1,A2×
B0三个部分积的和X2X300;以及复用所述第二计算模块,计算A2×
B3,A3×
B2,产生一位进位Cout
high3
与16位和X8X9;第二拼接模块,用于拼接X2X300与A0×
B0的结果00X6X7,得到32位结果X2X3X6X7;将Cout
high3
、0X8X90与之前存储的扩展后的32位000X1位计算结果按位拼接相加得32位结果Cout
high3
X8X9X1。5.根据权利要求3所述的乘法器,其特征...
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。