法律状态公告日
法律状态信息
法律状态
2018-07-20
授权
授权
2016-04-20
实质审查的生效 IPC(主分类):G06F7/533 申请日:20151028
实质审查的生效
2016-03-23
公开
公开
技术领域:
本发明涉及基于非精确电路设计领域,尤其涉及一种高性能非精确乘法器及其应用方法。
背景技术:
随着各种移动设备终端的功能体验不断丰富和发展,功耗已经成为制约数字集成电路设计发展的一个关键问题。工业界对于芯片设计的要求已经从追求高性能和小面积转变为对性能、面积和功耗的综合要求。
大量研究表明数字集成电路计算的精确度和功耗呈现出正比的关系,降低计算精确度能达到降低功耗的效果,同时这种能量的节省和功耗的降低是非常明显的。通过降低计算精确度来实现低功耗的方法和设计理念被称为非精确计算,和之前其他技术最大的不同在于非精确计算系统可以将错误限定在可允许的范围内并且不需要添加任何的错误纠正或者补偿措施。
现有的精确乘法器面临着日益严峻的实时和低功耗运算的要求,迫切需要新型的非精确乘法器来进一步的提高性能并降低功耗。
发明内容:
本发明所要解决的技术问题是针对嵌入式实时低功耗应用,提供一种高性能非精确乘法器及其应用方法,该乘法器面积小、速度高、功耗低。
本发明采用如下技术方案:一种高性能非精确乘法器,其包括非精确Booth编码单元、精确Booth编码单元、非精确4-2压缩器单元、精确4-2压缩器单元、非精确压缩树形结构以及超前进位加法器单元;
所述精确Booth编码单元是用于两个操作数高位生成部分积,减少部分积的行数并且将部分积传递给压缩器单元使用;
所述非精确Booth编码单元是用于两个操作数低位生成部分积,减少部分积的行数并且将部分积传递给压缩器单元使用;
所述精确4-2压缩器单元是将高位的4个权重一样的部分积压缩成两个,以减少部分积的行数,将所有的部分积压缩成两行,传递给超前进位加法器单元;
所述非精确4-2压缩器单元是将低位的4个权重一样的部分积压缩成两个,以减少部分积的行数,将所有的部分积压缩成两行,传递给超前进位加法器单元;
所述非精确树形结构是在运用Booth编码单元的前提下,Booth编码单元会在部分积的最后一行产生一个补偿位,在此结构中,舍去该补偿位以达到减少部分积行数;
所述超前进位加法器单元是将压缩至两行的部分积,进行最终相加产生最终的结果。
进一步地,所述非精确乘法器的高位m比特使用精确Booth编码单元和精确4-2压缩器单元、低位n比特使用非精确Booth编码单元和非精确4-2压缩器单元,其中m+n=k,k为乘法器操作数的总比特数。
进一步地,精确Booth编码单元中部分积产生的表达式为:
而非精确Booth编码单元中部分积产生的表达式为:
进一步地,精确4-2压缩器单元中输入Cin,P1,P2,P3,P4,输出Sum,Cout,Carry,和和进位的表达式分别为:
Cout=P4P3+P4P2+P3P2,
非精确4-2压缩器单元中输入为P1,P2,P3,P4,输出为Sum′,Cout′。和和进位的表达式分别为:
本发明还采用如下技术方案:一种高性能非精确乘法器的应用方法,使用精确Booth编码单元、精确4-2压缩器单元和非精确Booth编码单元、非精确4-2压缩器单元的位数确定包含以下步骤:
步骤1),将非精确乘法器中使用精确Booth编码单元和精确4-2压缩器单元的位数m设为0、而使用非精确Booth编码单元和非精确4-2压缩器单元的位数n设为k;
步骤2),对非精确乘法器进行建模;
步骤3),根据具体的应用数据对建模后的非精确乘法器进行仿真;
步骤4),根据应用的要求评估仿真结果,如果仿真的结果不符合应用的要求,则将非精确乘法器中使用精确Booth编码单元和精确4-2压缩器单元的位数增加一位,使用非精确Booth编码单元和精确4-2压缩器单元的位数减少一位;
步骤5),重复步骤2)至步骤4),直至仿真的结果符合应用的要求。
本发明具有如下有益效果:
1.与之前的乘法器相比,需要更少的硬件资源;
2.与之前的乘法器相比,功耗更低,速度更快。
附图说明:
图1为本发明的实现图(以8×8非精确乘法器为例);
图2为非精确Booth编码单元的门级实现电路图。
图3为非精确4-2压缩器单元的门级实现电路图。
图4为非精确乘法器设计流程图。
具体实施方式:
下面结合附图对本发明的技术方案做进一步的详细说明:
如图1所示,本发明高性能非精确乘法器包括非精确Booth编码单元、精确Booth编码单元、非精确4-2压缩器单元、精确4-2压缩器单元、非精确压缩树形结构以及超前进位加法器单元。
其中精确Booth编码单元是用于两个操作数高位生成部分积,减少部分积的行数并且将部分积传递给压缩器单元使用。
其中非精确Booth编码单元是用于两个操作数低位生成部分积,减少部分积的行数并且将部分积传递给压缩器单元使用。
其中精确4-2压缩器单元是将高位的4个权重一样的部分积压缩成两个,目的是减少部分积的行数,最终将所有的部分积压缩成两行,传递给超前进位加法器单元。
其中非精确4-2压缩器单元是将低位的4个权重一样的部分积压缩成两个,目的是减少部分积的行数,最终将所有的部分积压缩成两行,传递给超前进位加法器单元。
其中非精确树形结构是在运用Booth编码单元的前提下,Booth编码单元会在部分积的最后一行产生一个补偿位,在此结构中,舍去该补偿位达到减少部分积行数的目的;
其中超前进位加法器单元是将压缩至两行的部分积,进行最终相加产生最终的结果。
作为本发明高性能非精确乘法器进一步的优化方案,其中非精确乘法器的高位m比特使用精确Booth编码单元和精确4-2压缩器单元、低位n比特使用非精确Booth编码单元和非精确4-2压缩器单元,其中m+n=k,k为乘法器操作数的总比特数。
作为本发明高性能非精确乘法器进一步的优化方案,精确Booth编码单元中部分积产生的表达式为:
而非精确Booth编码单元中部分积产生的表达式为:
作为本发明高性能非精确乘法器进一步的优化方案,精确4-2压缩器单元中输入Cin,P1,P2,P3,P4,输出Sum,Cout,Carry,和和进位的表达式分别为:
Cout=P4P3+P4P2+P3P2,
非精确4-2压缩器单元中输入为P1,P2,P3,P4,输出为Sum′,Cout′。和和进位的表达式分别为:
本发明还公开了一种基于该高性能非精确乘法器的应用方法,其中,使用精确Booth编码单元、精确4-2压缩器单元和非精确Booth编码单元、非精确4-2压缩器单元的位数确定包含以下步骤:
步骤1),将非精确乘法器中使用精确Booth编码单元和精确4-2压缩器单元的位数m设为0、而使用非精确Booth编码单元和非精确4-2压缩器单元的位数n设为k;
步骤2),对非精确乘法器进行建模;
步骤3),根据具体的应用数据对建模后的非精确乘法器进行仿真;
步骤4),根据应用的要求评估仿真结果,如果仿真的结果不符合应用的要求,则将非精确乘法器中使用精确Booth编码单元和精确4-2压缩器单元的位数增加一位,使用非精确Booth编码单元和精确4-2压缩器单元的位数减少一位;
步骤5),重复步骤2)至步骤4),直至仿真的结果符合应用的要求。
图2为非精确Booth编码单元的门级实现电路图。
图3为非精确4-2压缩器单元的门级实现电路图。
图4为非精确乘法器设计流程图,用于确定非精确乘法器中使用精确Booth编码单元、精确4-2压缩器单元位数(m)以及使用非精确Booth编码单元、非精确4-2压缩器位数单元(n)的确定。首先将使用精确Booth编码单元、精确4-2压缩器单元位数设为0,然后用C或者Matlab等软件对非精确乘法器进行建模,然后用软件建模后的非精确乘法器,针对不同的实际应用进行仿真。如果仿真结果不符合要求,则增加使用精确Booth编码单元、精确4-2压缩器单元的位数,然后重复软件建模和仿真的步骤直到找到符号要求的设计,此时精确定点加法器的位数m,以及对应的n=k-m即符和要求的最优设计。
以上只是对本发明的优选实施方式进行了描述。对该技术领域的普通技术人员来说,根据以上实施方式可以很容易地联想到其它的优点和变形。因此,本发明并不局限于上述实施方式,其仅仅作为例子对本发明的一种形态进行详细、示范性的说明。在不背离本发明宗旨的范围内,本领域普通技术人员在本发明技术的方案范围内进行的通常变化和替换,都应包含在本发明的保护范围之内。
机译: 一种非可磁化材料的球,具有六个均匀安装的磁铁,具有精确定义的吸引力,作为参考球,并与用于球类游戏的重量和大小精确定义的可磁化的球组合
机译: 一种非絮凝树脂溶液的应用方法及树脂层干板的生产装置
机译: 一种用于自动清洗具有改善漂洗性能的坚果的非水液体洗涤剂组合物的制备方法,该方法包括多磷酸盐结构盐及其应用方法。