乘加方法及乘加器的制作方法

文档序号:6336765阅读:302来源:国知局
专利名称:乘加方法及乘加器的制作方法
技术领域
本发明主要涉及到乘加处理器领域,特指一种乘加方法及乘加器。
背景技术
传统的乘加融合是将加数作为一个部分积,放在乘法器的华莱士树的最底层。在 进行矩形布局时,采用传统的华莱士树乘加器会导致面积的大量浪费。Moimir Bohsali (马尼 波赛利)和Michael D0an(米歇尔 窦恩)提出了一种方法,对传统的乘法器华莱士 树进行了改造,得到了一种新型的华莱士树。由于乘法器的华莱士树比较规则,所以采用这 种的方法很容易对乘法器的华莱士树进行分割,达到优化目的。但是,传统的乘加融合是将 加数作为一个部分积,添加到乘法器的华莱士树中,这就导致了结构的不规则,使得Moimir Bohsali (马尼 波赛利)和Michael Doan (米歇尔 窦恩)的改造方法无法适用于这种情 况。对于任何的传统融合乘加器,都可以分为三个阶段(1)产生部分积;(2)部分积 相加;(3)最终加法。在第一阶段,被乘数和乘数相乘产生部分积。在这个阶段,通常采用布什2算法使 部分积的数量减少一半。第二阶段最重要,由于它最复杂,所以它决定了整个传统融合乘加器的速度。本专 利集中在优化这个阶段。若不关心速度快慢,可将部分积连续相加,以便减少设计复杂度。 然而,在进行高速传统融合乘加器设计时,华莱士树结构通常是将部分积进行树状操作,以 产生两行部分积结果,在最后阶段相加。这样设计得到的传统融合乘加器虽然速度很快,但 是关键路径上的延时,随传统融合乘加器的位数增加成对数增长。华莱士树还会导致其他 的问题,如浪费布局面积,增加复杂度等。本专利设计了一种装置,将加数进行特殊的处理, 使得加数与乘法产生的部分积能够进一步融合,达到优化整个融合乘加的华莱士树面积的 目的。第三阶段,将压缩树产生的两个行结果相加,产生最终结果。本专利所发明的装置 同样致力于在这方面进行优化。在这个阶段,检查相加结果是否有进位。将进位作为控制 信号,控制预测结果的输出。

发明内容
本发明要解决的技术问题就在于针对现有技术存在的技术问题,本发明提供一 种结构简单紧凑、成本低廉、运算速度快、稳定可靠的乘加方法及乘加器。为解决上述技术问题,本发明采用以下技术方案 一种乘加方法,其特征在于步骤为
(1)乘数通过布什编码逻辑单元产生若干控制信号,被乘数作为部分积产生逻辑单元 的输入,根据控制信号产生部分积;
(2)加数通过加数分块逻辑单元得到三个输出,分别是低位截取部分、中间部分和高位截取部分;所述低位截取部分、中间部分以及部分积作为改进华莱士树单元的输入,得到 一个“和”和一个“进位”,其中“和”与“进位”的位数相同,“进位”的权值比“和”的权值高 1 ;“和”与“进位”作为加法器的输入,产生一个低位结果和一个控制信号;
(3)高位截取部分作为高位预测逻辑单元的一个输入,在控制信号的控制下,产生一 个高位结果;
(4)低位结果与高位结果作为拼接逻辑单元的输入,产生一个最终结果。作为本发明的进一步改进
所述步骤(2)中,所述低位截取部分的位数=乘积位数-乘法产生的最后一个部分积 的位数;所述中间部分的位数与乘法产生的最后一个部分积的位数相同;所述高位截取部 分的位数=加数位数_低位截取部分的位数_中间部分的位数。所述步骤(2)中,将低位截取部分移到乘法的第一个部分积上面,成为新的第一个 部分积;中间部分保持原位;低位截取部分、乘法产生的部分积和中间部分一起组成新的 部分积阵列,通过改进华莱士树单元压缩成一个“和”和一个“进位”。所述步骤(3)中,对于高位截取部分作如下处理 X加上00或保持原样输出;:1加上οι ;.f.加上 ο ;S加上11,最终得到四个中间结果,并 且以最终加法器的两位作为控制信号,产生高位预测逻辑单元的最终结果。将改进华莱士树单元沿着中间分成左、右两个部分,所述左边的部分积分块从上 往下加,所述右边的部分积分块从下往上加。本发明进一步提供一种乘加器,其特征在于包括布什编码逻辑单元、部分积产生 逻辑单元、加数分块逻辑单元、加法器、高位预测逻辑单元、改进华莱士树单元以及拼接逻 辑单元,乘数通过布什编码逻辑单元产生若干控制信号,被乘数作为部分积产生逻辑单元 的输入,根据控制信号产生部分积;加数通过加数分块逻辑单元得到三个输出,分别是低位 截取部分、中间部分和高位截取部分;所述低位截取部分、中间部分以及部分积作为改进华 莱士树单元的输入,得到一个“和”和一个“进位”,其中“和”与“进位”的位数相同,“进位” 的权值比“和”的权值高1 ;“和”与“进位”作为加法器的输入,产生一个低位结果和一个控 制信号;高位截取部分作为高位预测逻辑单元的一个输入,在控制信号的控制下,产生一个 高位结果;低位结果与高位结果作为拼接逻辑单元的输入,产生一个最终结果。与现有技术相比,本发明的优点在于
1、本发明对于任意位宽的乘数、被乘数和加数,可以很方便的得到规整的部分积阵列, 便于布局优化。若需要低功耗和面积较小的乘加器,可以按照Moimir Bohsali (马尼 波 赛利)和Michael Doan (米歇尔 窦恩)提出的方法,对传统的华莱士树进行改造。将乘加 华莱士树沿着中间分成两部分,所得每一部分都按照传统的方法来求和。不同的是,左边的 部分积分块从上往下加,而右边的部分积分块从下往上加,这样一来,就可以节约很大的面 积,并且使得功耗下降。2、本发明对于加数的高位部分,对其进行了并行处理,使得最终加法变为简单的 拼接,提高了运算速度。


图1是本发明乘加器的原理示意4图2a是传统的乘加融合方法的示意图2b是本发明基于加数分块的部分积分布示意图3是本发明中加数低位截取部分和中间部分的处理方法示意图4a是本发明中加数高位预测逻辑单元的原理示意图4b是加数高位预测逻辑单元最后的拼接结果示意图5是本发明中改进华莱士树单元的原理示意图6是实现16X 16+40位时,分别采用改进华莱士树单元与传统的华莱士树单元面积 的对比示意图。
具体实施例方式以下将结合说明书附图和具体实施例对本发明做进一步详细说明。如图1所示,本发明的乘加器,包括布什编码逻辑单元10、部分积产生逻辑单元 11、加数分块逻辑单元12、加法器15、高位预测逻辑单元14、改进华莱士树单元13以及拼接 逻辑单元16,它采用本发明的乘加方法,该乘加方法的步骤为乘数通过布什编码单元10 产生若干控制信号10A,被乘数作为部分积产生逻辑单元11的输入,根据控制信号10A,产 生部分积IlA0加数通过加数分块逻辑单元12,得到三个输出,分别是低位截取部分12A, 中间部分12B和高位截取部分12C。低位截取部分12A、中间部分12B以及部分积IlA作为 改进华莱士树单元13的输入,得到一个“和” 13A和一个“进位” 13B。其中,“和” 13A与“进 位” 13B的位数相同,“进位” 13B的权值比“和” 13A的权值高1。“和” 13A与“进位” 13B作 为加法器15的输入,产生一个低位结果15A和一个控制信号15B。高位截取部分12C作为 高位预测逻辑单元14的一个输入,在控制信号15B的控制下,产生一个高位结果14A。低位 结果15A与高位结果14A作为拼接逻辑单元16的输入,产生一个最终结果。如图2a所示,为传统的乘加融合方法的示意图。将加数21作为一个部分积,添加 到华莱士树中,与乘法产生的部分积20 —起压缩。如图2b所示,为加数的分块方法。对于任意为的加数,将其分成三部分,分别是 低位截取部分12A、中间部分12B和高位截取部分12C。其中,低位截取部分12A的位数= 乘积位数_乘法产生的最后一个部分积20B的位数;中间部分12B的位数与乘法产生的最 后一个部分积20B的位数相同;高位截取部分12C的位数=加数位数-低位截取部分12A 的位数_中间部分12B的位数。如图3所示,为加数中低位截取部分12A和中间部分12B的处理方法。将低位截 取部分12A移到乘法的第一个部分积20B上面,成为新的第一个部分积20B。中间部分12B 保持原位。低位截取部分12A、乘法产生的部分积20和中间部分12B —起组成新的部分积 阵列,通过改进华莱士树单元13压缩成一个“和” 13A和一个“进位” 13B。“和” 13A和“进 位” 13B作为加法器15的输入,得到结果15A、15B。其中结果分为两部分,分别是低位部分 15A和控制信号15B。如图4a所示,为加数高位预测逻辑单元14的原理示意图。加数中高位截取部分 12C作为高位预测逻辑单元14的输入,产生四个中间结果21、22、23、24,在信号15B的控制 下,通过一个四选一选择器,得到一个高位结果14A。在本实施例中,对于高位截取部分12C 作如下处理加上00或保持原样输出;2加上Oi ;S加上 ο ;I加上11,最终得到四个中间结果,并且以最终加法器15的两位作为控制信号,产生高位预测逻辑单元14的最终结 果。参见图4b,为最后的拼接结果示意图。将高位结果14A与低位结果15A拼接,作为最后 结果输出。如图5所示,为改进华莱士树单元13的示意图。本发明按照Mounir Bohsali (马 尼 波赛利)和Michael Doan (米歇尔 窦恩)提出的方法,对传统的华莱士树进行了改 造。如图5所示,将乘加华莱士树沿着中间分成两部分,所得每一部分都按照传统的方法来 求和。不同的是,左边的部分积分块从上往下加,而右边的部分积分块从下往上加,这样一 来,就可以节约很大的面积。如图6所示,为实现16X 16+40位时,分别采用改进华莱士树单元13与传统的华 莱士树面积的对比。改进华莱士树单元13比传统的华莱士树的面积减少了 30%左右。以上仅是本发明的优选实施方式,本发明的保护范围并不仅局限于上述实施例, 凡属于本发明思路下的技术方案均属于本发明的保护范围。应当指出,对于本技术领域的 普通技术人员来说,在不脱离本发明原理前提下的若干改进和润饰,应视为本发明的保护 范围。
权利要求
一种乘加方法,其特征在于步骤为(1) 乘数通过布什编码逻辑单元产生若干控制信号,被乘数作为部分积产生逻辑单元的输入,根据控制信号产生部分积;(2) 加数通过加数分块逻辑单元得到三个输出,分别是低位截取部分、中间部分和高位截取部分;所述低位截取部分、中间部分以及部分积作为改进华莱士树单元的输入,得到一个“和”和一个“进位”,其中“和”与“进位”的位数相同,“进位”的权值比“和”的权值高1;“和”与“进位”作为加法器的输入,产生一个低位结果和一个控制信号;(3) 高位截取部分作为高位预测逻辑单元的一个输入,在控制信号的控制下,产生一个高位结果;(4) 低位结果与高位结果作为拼接逻辑单元的输入,产生一个最终结果。
2.根据权利要求1所述的乘加方法,其特征在于所述步骤(2)中,所述低位截取部分 的位数=乘积位数_乘法产生的最后一个部分积的位数;所述中间部分的位数与乘法产生 的最后一个部分积的位数相同;所述高位截取部分的位数=加数位数_低位截取部分的位 数-中间部分的位数。
3.根据权利要求1或2所述的乘加方法,其特征在于所述步骤(2)中,将低位截取部 分移到乘法的第一个部分积上面,成为新的第一个部分积;中间部分保持原位;低位截取 部分、乘法产生的部分积和中间部分一起组成新的部分积阵列,通过改进华莱士树单元压 缩成一个“和”和一个“进位”。
4.根据权利要求1或2所述的乘加方法,其特征在于所述步骤(3)中,对于高位截取部 分作如下处理X加上00或保持原 样输出;S加上01 加上10 加上11,最终得到四个中间结果,并且以最终加法器的两 位作为控制信号,产生高位预测逻辑单元的最终结果。
5.根据权利要求1或2所述的乘加方法,其特征在于将改进华莱士树单元沿着中间 分成左、右两个部分,所述左边的部分积分块从上往下加,所述右边的部分积分块从下往上 加。
6.一种乘加器,其特征在于包括布什编码逻辑单元、部分积产生逻辑单元、加数分块 逻辑单元、加法器、高位预测逻辑单元、改进华莱士树单元以及拼接逻辑单元,乘数通过布 什编码逻辑单元产生若干控制信号,被乘数作为部分积产生逻辑单元的输入,根据控制信 号产生部分积;加数通过加数分块逻辑单元得到三个输出,分别是低位截取部分、中间部分 和高位截取部分;所述低位截取部分、中间部分以及部分积作为改进华莱士树单元的输入, 得到一个“和”和一个“进位”,其中“和”与“进位”的位数相同,“进位”的权值比“和”的权 值高1 ;“和”与“进位”作为加法器的输入,产生一个低位结果和一个控制信号;高位截取部 分作为高位预测逻辑单元的一个输入,在控制信号的控制下,产生一个高位结果;低位结果 与高位结果作为拼接逻辑单元的输入,产生一个最终结果。
全文摘要
一种乘加方法及乘加器,该方法的步骤为(1)乘数通过布什编码逻辑单元产生若干控制信号,被乘数作为部分积产生逻辑单元的输入,产生部分积;(2)加数通过加数分块逻辑单元得到低位截取部分、中间部分和高位截取部分;前两者以及部分积作为改进华莱士树单元的输入,得到的结果作为加法器的输入,产生低位结果和控制信号;(3)高位截取部分经高位预测逻辑单元得到高位结果;(4)低位结果与高位结果经拼接逻辑单元后产生一个最终结果。该乘加器包括布什编码逻辑单元、部分积产生逻辑单元、加数分块逻辑单元、加法器、高位预测逻辑单元、改进华莱士树单元以及拼接逻辑单元。本发明具有结构简单紧凑、成本低廉、运算速度快、稳定可靠等优点。
文档编号G06F7/57GK101986260SQ201010559289
公开日2011年3月16日 申请日期2010年11月25日 优先权日2010年11月25日
发明者刘宗林, 刘衡竹, 孙永节, 彭元喜, 杨惠, 许邦建, 谢刚, 郭阳, 陈书明, 鲁建壮, 龚国辉 申请人:中国人民解放军国防科学技术大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1