三输入前导零预测算法制造技术

技术编号:33085290 阅读:27 留言:0更新日期:2022-04-15 10:47
本发明专利技术公开一种三输入前导零预测算法,包括如下步骤:S1、预设三个二进制的数分别为A、B、C,将需要预测的A、B、C三个数进行编码,生成中间变量D、E、G、H、M、N和Q;S2、将中间变量D、E、G、H、M、N和Q输入预测编码公式,得出预测结果,F_pos和F_neg;S3、将S2中F_pos和F_neg分别输入正编码树和负编码树,得出预测数的前导零数量;S4、根据外部的选择信号进行结果选择。优点:本发明专利技术,可以对三个数的减法运算(A+B

【技术实现步骤摘要】
三输入前导零预测算法


[0001]本专利技术涉及芯片设计
,具体为用于浮点乘加器的三输入前导零预测算法。

技术介绍

[0002]浮点乘加器(浮点乘加器的作用是计算浮点数A*B
±
C)、两输入前导零预测(两个二进制数相减在高位会产生一大堆零,此算法预测出首个一前面有多少个零然后交给后续模块移位)、前导零检测(输入为一串二进制数,直接输出二进制数首个1前面连续零的个数)
[0003]已有技术及其缺陷:现在已有的技术为两输入的前导零算法,在进行浮点乘加器设计的时候少一个操作数,不满足设计要求,于是对两输入前导零预测进行改进,增加一个操作数来满足设计要求。两输入前导零算法在运用到浮点乘加器中的时候至少需要一级3:2压缩器将三个操作数压缩到两个操作数才可以使用,并且前导零算法只针对减法,经过一级3:2压缩器的时候减法符号已经使数据变成补码融合在了数据中,无法使用预测算法进行预测。

技术实现思路

[0004]本专利技术提出一种三输入前导零预测算法,采取的技术方案为:
[0005]一种三输入前导零预测算法,包括如下步骤:
[0006]S1、预设三个二进制的数分别为A、B、C,将需要预测的A、B、C三个数进行编码,生成中间变量D、E、G、H、M、N和Q;
[0007]其中,D=A&B&(~C)
[0008]E=(A&B&C)|((A^B)&~C)
[0009]G=((~A)&(~B)&(~C))|((A^B)&C)
[0010]H=(~A)&(~B)&C
[0011]M=A^B^C
[0012]N=(A&B)|((A^B)&(~C))
[0013]Q=((~A)&(~B))|((A^B)&C);
[0014]S2、将中间变量D、E、G、H、M、N和Q输入预测编码公式,得出预测结果,F_pos和F_neg;
[0015]F_pos=[G
i
+D
i
]D
i+1
+M
i
G
i+1
+[(G
i
+D
i
)E
i+1
+M
i
H
i+1
]N
i+2

[0016]F_neg=[H
i
+E
i
][H
i+1
+G
i+1
Q
i+2
]+G
i
E
i+1
+[D
i
+G
i
]D
i+1
Q
i+2
+D
i
E
i+1

[0017]其中,i为二进制数的第i位,F_pos为正预测结果,F_neg为负预测结果;
[0018]S3、将S2中F_pos和F_neg分别输入正编码树和负编码树,得出预测数的前导零数量;
[0019]S4、根据外部的选择信号进行结果选择。
[0020]对本专利技术技术方案的优选,S4中外部的选择信号为加法电路输出的符号位,当符号位为0,表示加法结果为正,选择正编码树;当符号位为1表示加法结果为负,选择负编码树。
[0021]本专利技术与现有技术相比,其有益效果是:
[0022]本专利技术方法,可以对三个数的减法运算(A+B

C)进行前导零的预测,可以用在浮点乘加器中和压缩器路径并行运算,缩短时序路径,以提高浮点乘加器的运行频率,实现高性能运算。
附图说明
[0023]图1是本专利技术方法的流程框图。
[0024]图2是本专利技术方法的模型图。
具体实施方式
[0025]下面对本专利技术技术方案进行详细说明,但是本专利技术的保护范围不局限于所述实施例。
[0026]为使本专利技术的内容更加明显易懂,以下结合附图1

附图2和具体实施方式做进一步的描述。
[0027]为了使本专利技术的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本专利技术进行进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本专利技术,并不用于限定本专利技术。
[0028]本专利技术提出的一种三输入前导零预测算法,包括如下步骤:
[0029]S1、预设三个二进制的数分别为A、B、C,将需要预测的A、B、C三个数进行编码,生成中间变量D、E、G、H、M、N和Q;
[0030]其中,D=A&B&(~C)
[0031]E=(A&B&C)|((A^B)&~C)
[0032]G=((~A)&(~B)&(~C))|((A^B)&C)
[0033]H=(~A)&(~B)&C
[0034]M=A^B^C
[0035]N=(A&B)|((A^B)&(~C))
[0036]Q=((~A)&(~B))|((A^B)&C);
[0037]S2、将中间变量D、E、G、H、M、N和Q输入预测编码公式,得出预测结果,F_pos和F_neg;
[0038]F_pos=[G
i
+D
i
]D
i+1
+M
i
G
i+1
+[(G
i
+D
i
)E
i+1
+M
i
H
i+1
]N
i+2

[0039]F_neg=[H
i
+E
i
][H
i+1
+G
i+1
Q
i+2
]+G
i
E
i+1
+[D
i
+G
i
]D
i+1
Q
i+2
+D
i
E
i+1

[0040]其中,i为二进制数的第i位,F_pos为正预测结果,F_neg为负预测结果;
[0041]S3、将S2中F_pos和F_neg分别输入正编码树和负编码树,得出预测数的前导零数量;
[0042]S4、根据外部的选择信号进行结果选择。
[0043]本方法,S4中外部的选择信号为加法电路输出的符号位,当符号位为0,表示加法
结果为正,选择正编本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种三输入前导零预测算法,其特征在于,包括如下步骤:S1、预设三个二进制的数分别为A、B、C,将需要预测的A、B、C三个数进行编码,生成中间变量D、E、G、H、M、N和Q;其中,D = A & B & (~C)E = (A & B & C) | ((A ^ B) & ~C)G = ((~A) & (~B) & (~C)) | ((A ^ B) & C)H = (~A) & (~B) & CM = A ^ B ^ CN = (A & B) | ((A ^ B) & (~C))Q = ((~A) & (~B)) | ((A ^ B) & C);S2、将中间变量D、E、G、H、M、N和Q输入预测编码公式,得出预测结果,F_pos和F_neg;F_pos=[G
i
+D
i
]D
i+1
+M
i
G
i+1
+[(G

【专利技术属性】
技术研发人员:王嗣茗张先义
申请(专利权)人:中国电子科技集团公司第十四研究所
类型:发明
国别省市:

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

1