技术领域:
本发明涉及基于近似电路设计领域,尤其涉及一种高性能近似混合除法器及其设计方法。
背景技术:
随着对数字系统更高计算速度的需求不断增长,对移动设备以及其他非移动设备伴随着低功耗/高能源效率的要求。因此迫切需要一种新的计算效率来源,来设计更高效(更快、功耗更低)的计算平台。
近似计算作为一种低功耗设计方法被广泛关注,其思想来自应用程序对不精确结果的容忍度,核心原理就是通过产生足够好或足够质量的结果进行有效计算。这种有效计算是设计者能够利用这种误差容忍度来位设计优化增加一个新的维度,在这个维度中,计算精度被用来降低功耗和设计复杂性。近似计算与精确计算的区别在于,精确计算会导致计算系统需要更高的功率以及硬件复杂度,而近似计算方法中,以精度为代价提高了系统性能和降低了硬件复杂度,并且这种能量的节省非常显著。
现有的精确除法器有关键路径长,延迟大,功耗高,面积大等诸多缺点。但对于一些特定的应用程序(如图像处理,计算机视觉等)来说,并不需要精确的结果,其对输出具有一定的容忍度。这种情况下就需要设计新型的高速,低功耗且面积小的近似除法器来代替精确除法器,来提高系统综合性能。
对数运算可以将复杂的除法运算转换成简单的一次减法运算,相较于传统的精确阵列除法器,大大缩短了关键路径,降低了延迟,同时在硬件资源上的消耗也大大减少了,大幅度降低了功耗。但缺点就是,其计算精度很差,尤其对于大位宽的操作数来说,误差值更大。为了结合这两者的优点,设计出了近似混合除法器电路结构,其相比于精确除法器来说速度快,面积小,功耗低;相较于全部用对数运算来说,其计算精度又得到了保障。
发明内容:
发明目的:为解决上述技术问题,本发明提出一种基于恢复阵列和对数除法器的近似混合除法器及其设计方法,该除法器面积小、速度快、功耗低。
技术方案:为实现上述技术效果,本发明提供的技术方案为:
基于阵列除法器和对数除法器的混合近似除法器电路,其特征在于,包括改良后的前导位检测技术、控制调整电路输出的精确度和硬件指标的截断模块、优化后的精确阵列除法器结构以及使用改良后的前导位检测技术的对数除法器模块;该除法器为被除数16bits和除数8bits的除法器,最终的商值结果为16bits,设计中引入近似深度的概念,定义为h,根据用户对具体精确度的要求不同选择不同,范围为8~16,商值结果的16-h bits高位由优化的精确阵列除法器模块生成;商值结果的h bits低位由非精确的对数除法器模块生成;其中,
截断模块是控制近似深度h的输入,其值的不同决定了操作数的分配情况,从而可以配置成不同的精度和硬件资源的需求,通过选择合适的近似深度值,以达到计算精度和硬件性能之间的良好折中。由选定好的近似深度h值,将操作数的被除数进行截断, 16-hbits的高位分配给精确阵列除法器模块,h bits的低位分配给对数除法器。
精确的阵列除法器模块是由多个的精确阵列除法器单元组合构成,每个精确阵列除法器单元是由一个一位全减器和和一个数据选择器构成。通过每一行相减得到的部分余数的正负来判断该为的商值,并由得到的商值进行反馈至上一级控制部分余数是否进入下一位商值的运算。每一行产生一个商值,依次进行操作,最终得到16-h bits的高位商值及8bits的最终余数。
将由精确阵列除法器得出的8bits的最终余数与截断模块分配给对数除法器的hbits的低位操作数进行串联输入,作为对数除法器的被除数,对数除法器模块首先将操作数进行前导位检测,判断其最高有效“1”的位置,然后对操作数进行二进制到对数的转换,除法转换成对数就等同于减法运算,相减的结果即为商值的对数,再将其进行对数到二进制的转换,最终通过检测的前导“1”的位置,对结果进行简单的移位操作即得到h bits的低位商值,最终将由精确阵列除法器生成的16-h bits的高位商值与对数除法器生成的hbits的低位商值进行串联输出,得到最终的商值结果。
本发明还提出了一种基于恢复阵列和对数除法器的近似混合除法器的设计方法,其特征在于,包括步骤:
(1)构建如权利要求1所述的近似混合除法器;
(2)假设被除数为X,位宽为16bits,除数为Y,位宽为8bits。通过近似深度h对操作数进行截断,16-h bits高位分配给精确阵列除法器,h bits低位分配给对数除法器。精确阵列除法器模块的被除数定义为X
(3)在精确阵列除法器中,16-h bits的操作数,需要16-h个行单元。每一个行单元进行被除数和除数的相减即X
(4)假设T=R
进一步的所述的基于恢复阵列和对数除法器的近似混合除法器的设计方法,其精确阵列除法器模块与传统的阵列除法器不同,对于一个16/8的除法器,并不是每行固定8个精确阵列除法器单元,而是可以根据近似深度的不同可以减少其中冗余的精确阵列除法器单元个数,进入减少硬件资源消耗,进一步降低功耗。具体的实现步骤如下:
(1)对除数Y进行前导位检测,检测出其最高有效“1”的位置信息k;
(2)通过选定的近似深度值,确定分配给精确阵列除法器模块的被除数位宽为16-h bits,用(16-h)/(16-h+1)的阵列结构来计算精确的高位商值。
(3)根据步骤(1)的得出的除数的前导位信息k以及步骤(2)中的阵列结构,若 k>16-h+1,则除数Y从最高位起,截取(16-h+1)位作为除数;若k<16-h+1,则除数Y从最低位起,截取(16-h+1)位作为除数。
此方法的优势在于,可以有效的减少冗余的硬件资源消耗,进一步降低功耗,提升系统性能,与此同时,其结果仍然是精确值,并不存在误差。
进一步的所述的基于恢复阵列和对数除法器的近似混合除法器的设计方法中所述的前导位检测算法与传统的优先编码器不同,所述设计方法中的前导位检测技术步骤如下:
(1)定义被检测数据位宽为8bits(均为二进制数),数据定义为 A=a
(2)将a
(3)根据步骤(2)的比较结果,若b
(4)根据步骤(2)(3)的比较结果,若b
(5)根据步骤(2)(3)(4)的比较结果,即得出最终前导位“1”的位置。
附图说明
图1为基于恢复阵列和对数除法器的近似混合除法器整体硬件实现图;
图2为精确阵列除法器单元电路图;
图3为8/4的精确阵列除法器电路结构图;
图4为对数除法器的运算实现结构图;
图5为设计中当h=14时改进的阵列结构示意图;
图6为h=14的16/8位的近似混合除法器的硬件实现图。
图7为h=6的8/4位的近似混合除法器的数据流程图。
具体实施方式:
下面以h=14时为例,即商值结果的高2位为精确设计,而低14位为近似设计的16/8位的近似混合除法器。结合附图对本发明的技术方案做进一步的详细说明:
如图6为本发明的基于恢复阵列和对数除法器的近似混合除法器在h=14时的硬件实现图,其中包含优化的精确阵列除法器模块,前导位检测模块,控制调整电路输出的精确度和硬件指标的截断模块,二进制转对数模块,减法单元模块以及对数转二进制模块。
其中优化的精确阵列除法器模块,只用了6个精确阵列除法器单元,而传统的精确除法器的需要16个,图6中打×即为冗余的精确阵列除法器单元。首先对除数进行前导位检测,得出其最高有效位的位置信息k
然后将得到的2bits的有效余数与分配给对数除法器的14bits部分被除数串联输入,作为对数除法器的被除数。接着对被除数进行前导位检测,得出其最高有效位的位置信息k
将由精确的阵列除法器产生的2bits精确的高位商值与由对数除法器产生的14bits 近似的低位商值进行串联输出,即得到最终的商值结果。
本发明还给出了8/4的近似混合除法器的应用。图7给出了h=6时的数据流程图。
以上只是对本发明的优选实施方式进行了描述。dui该技术领域的普通技术人员来说,根据以上实施方式可以很容易地联想到其它的优点和变形。因此,本发明并不局限于上述实施方式,其仅仅作为例子对本发明的一种形态进行详细、示范性的说明。在不背离本发明宗旨的范围内,本领域普通技术人员在本发明技术的方案范围内进行的通常变化和替换,都应包含在本发明的保护范围之内。
机译: 使用三个对数电路的四象限乘法除法器
机译: 基于乘法器电路的双乘法器-除法器电路-在无端级的固定值电路中将二进制转换为BCD-8421代码,因此没有晶体管
机译: 基于零阶共振元超宽带功率除法器的微型化超宽带阵列天线