发明名称 一种Booth编码器及乘法器
摘要 本发明公开了一种Booth编码器及乘法器。针对现有的面向模(2<sup>n</sup>-2<sup>p</sup>-1)乘法器耗费资源,速度较低的问题,提出了一种针对模(2<sup>n</sup>-2<sup>p</sup>-1)Booth乘法器的Booth编码器,以及基于该Booth编码器的模(2<sup>n</sup>-2<sup>p</sup>-1)乘法器。本发明的乘法器,在运算过程中,直接把<img file="DDA0000382746870000011.GIF" wi="144" he="128" />个部分积和修正项C进行同时压缩,从而实现在运算过程中就实现了修正,大大减少了运算量,从而减少了资源的耗费和关键路径的延迟。
申请公布号 CN103530085A 申请公布日期 2014.01.22
申请号 CN201310421299.3 申请日期 2013.09.16
申请人 电子科技大学 发明人 李磊;李赛野;杨鹏;尹鹏胜;周婉婷
分类号 G06F7/533(2006.01)I;G06F7/72(2006.01)I 主分类号 G06F7/533(2006.01)I
代理机构 成都宏顺专利代理事务所(普通合伙) 51227 代理人 周永宏
主权项 一种Booth编码器,由Booth译码器和Booth选择器组成,其中,所述Booth译码器包括第一异或门、第一同或门、第一或非门、第一与门、第二与门和第一或门;所述Booth选择器包括第三与门、第四与门、第二或非门和第二同或门;设A=an‑1…ai…a0,B=bn‑1…bi…b0为基于模(2n‑2p‑1)表示的需要相乘操作的两个操作数;Booth译码器:所述第一异或门包括两个输入端,用于输入操作数B相邻的两位b[2k]和b[2k‑1],所述第一异或门的输出为1x[k],作为Booth译码器的第一输出,输入到Booth选择器中;所述第一同或门包括两个输入端,用于输入操作数B相邻的两位b[2k]和b[2k+1],所述第一同或门的输出输入到所述第一或非门;所述第一或非门包括两个输入端,分别用于输入所述第一异或门和所述第一同或门的输出,所述第一或非门的输出为2x[k],输入到所述第二与门,作为Booth译码器的第二输出并输入到Booth选择器中;所述第一与门的两个输入端,分别用于输入所述第一异或门的输出1x[k]和操作数B的对应位b[2k+1],所述第一与门的输出为s[k]·1x[k],作为Booth译码器的第三输出;所述第二与门的两个输入端,分别用于输入第一或非门的输出2x[k]和操作数B的对应位b[2k+1],所述第二与门的输出为s[k]·2x[k],作为Booth译码器的第四输出;所述第一或门的两个输入端,分别用于输入所述第一与门和所述第二与门的输出,所述第一或门的输出为zp[k],作为Booth译码器的第五输出输入到Booth选择器中;Booth选择器:所述第三与门的两个输入端,分别用于输入操作数A的对应位a[i]和从Booth译码器输出的1x[k],所述第三与门的输出输入到所述第二或非门的第一输入端;所述第四与门的两个输入端,分别用于输入操作数A的对应位a[i‑1]和从Booth译码器输出的2x[k],所述第四与门的输出输入到所述第二或非门的第二输入端;所述第二或非门的两个输入端,分别用于输入第三与门和第四与门的输出,所述第二或非门的输出输入到所述第二同或门;所述第二同或门的两个输入端,分别用于输入所述第二或非门的输入和从Booth译码器输出的zp[k],所述第二同或门的输出记为pp[k][i],作为所述Booth选择器的输出端。
地址 611731 四川省成都市高新区(西区)西源大道2006号