一种除法器及除法处理方法技术

技术编号:6806342 阅读:342 留言:0更新日期:2012-04-11 18:40
本发明专利技术公开了一种除法器及除法处理方法,包括无符号和有符号除法运算。无符号除法器包括:判0单元、补零单元、移位单元、判断处理单元和结果处理单元,所述判0单元用于判断除数是否为0;所述补零单元用于根据商需要保留的小数位数给被除数补零;所述移位单元用于对除数进行左移运算;所述判断处理单元用于根据所述移位单元的左移运算结果和所述补零单元输出的补零后的被除数进行循环判断,确定商的各位,并输入到所述结果处理单元。本发明专利技术利用除数的循环移位,通过逐位逼近依次得到商的各位,并且可以根据需要设定除法结果需要保留的小数位数,逐位逼近避免了复杂的迭代运算,延迟较小,整个运算过程完全依靠移位、相减、比较,移植性强。

【技术实现步骤摘要】

本专利技术涉及通信
的数字信号处理电路,特别涉及一种除法器及其运算处理方法。
技术介绍
现代数字信号处理过程中经常会涉及到两个有符号数的除法运算,而除法在硬件实现过程中十分困难,在某些算法中,通过巧妙的设计,除法可以转换成为移位运算来实现;但在更多的情况下,由于算法的本身原理,决定了必须完成具体两个数的除法运算。通信领域中,在进行算法资源分配的时候,不可以避免的需要FPGA来完成某些需要进行除法的计算。在现有技术中,传统的基于FPGA实现除法的过程都会涉及中乘法运算,通过多次乘法迭代得到相除的结果。由于乘法计算比较消耗芯片的资源,对数据处理造成比较大的延迟,xilinx提供了除法的IPcore,但是对用户来讲只能在限定FPGA上使用,可移植性差, 而且延迟较大,以被除数为八位的除法为例,小数取四位,需要16个时钟,而在高精度高位数的除法中,延迟更大。在另外的一些除法器中,两数相除,首先通过插值模拟结合查找表的方法得到除法的倒数,然后经过一次乘法运算得到结果。但由于插值精度和查找表精度的问题,实现过程比较复杂。
技术实现思路
本专利技术的目的是了解决现有的除法运算存在的问题,提出了一种除法器及其运算处理方法。本专利技术的技术方案是一种无符号数除法器,包括判0单元,补零单元、移位单元、判断处理单元和结果处理单元,其中,所述判0单元用于判断除数是否为0 ;所述补零单元用于根据商需要保留的小数位数给被除数补零;所述移位单元用于对除数进行左移运算;所述判断处理单元用于根据所述移位单元的左移运算结果和所述补零单元输出的补零后的被除数进行循环判断,确定商的各位,并输入到所述结果处理单元;所述结果处理单元用于根据所述判断处理单元的输出,输出除法的商。针对上述无符号数除法器,本专利技术还提出了一种除法处理方法,假设所述除法的被除数A为N1位,除数B为队位,商C需要保留的小数为队位,具体包括如下步骤Si.如果除数为0,则报错返回,否则在被除数A后面补N3个零,即将A扩大为原来的2M咅,使得J =」*2 ;S2.确定商C的最高位将除数B左移NJN3-I得到Iv如果A彡Iv则令A = A-b。, 同时C的最高位为1 ;如果A < b0,则C的最高位为0 ;S3.确定商C的次高位将除数B左移Κ+Ν3-2得到Id1,如果六彡一则令六二八-!^,4同时C的次次高位为1 ;如果A < Id1,则令C的次高位为0 ;S4.依次迭代运算,直到除数B左移0位,确定商C的最低位为止。本专利技术还提出了一种有符号数除法器,包括补零单元、位异或单元、判0单元,取绝对值单元、移位单元、判断处理单元和结果处理单元,其中,所述判0单元用于判断除数是否为0 ;所述补零单元用于根据商需要保留的小数位数给被除数补零;所述取绝对值单元用于对除数和所述补零单元补零后的被除数取绝对值;所述位异或单元用于根据被除数与除数的最高位确定商的最高位,并将结果输入到所述的结果处理单元;所述移位单元用于对所述取绝对值单元取绝对值后的除数进行左移运算;所述判断处理单元用于根据所述移位单元的左移运算结果和所述取绝对值单元取绝对值后的补零后的被除数进行循环判断,确定商的除最高位之外的余下各位,并输入到所述结果处理单元;所述结果处理单元用于根据所述位异或单元和所述判断处理单元的输出,输出除法的商。针对上述有符号数除法器,本专利技术还提出了一种除法处理方法,假设所述除法的被除数A为N1位,除数B为队位,商C需要保留的小数为队位,具体包括如下步骤Si.如果除数B为0,则报错返回,对被除数A与除数B的最高位作异或,得到商C 的最高位;S2.在被除数A后面补N3个零,即将A扩大为原来的2M咅,使得J = A*2N^;S3.判断被除数和除数是否为正数,如果不为正数,则取其绝对值;S4.确定商C的次高位将除数B左移Ni+N3_2得到bQ,如果A彡b0,则令A = A-b0, 同时C的次高位为1 ;如果A < b0,则C的次高位为0 ;S5.确定商C的次次高位将除数B左移Ni+N3_3得到b1;如果A ^ b1 则令A = A-bi;同时C的次次高位为1 ;如果A < Id1,则C的次次高位为0 ;S6.依次迭代运算,直到除数B左移0位,确定商C的最低位为止。本专利技术的有益效果本专利技术除法器和除法处理方法利用除数的循环移位,通过逐位逼近依次得到商的各位,并且可以根据用户的需要动态的设定除法结果需要保留的小数位数,其中,延迟由被除数和需要的小数位数和决定,而逐位逼近避免了复杂的迭代运算, 延迟较小,整个运算过程完全依靠移位、相减、比较的进行实现,避免了使用乘法操作,节省了芯片的资源开销和计算延迟,而且移植性强,能够适用于各种场景。附图说明图1是本专利技术的无符号除法器的结构示意图。图2是本专利技术的无符号除法处理方法的流程示意图。图3是本专利技术的有符号除法器的结构示意图。图4是本专利技术的有符号除法处理方法的流程示意图。具体实施方式下面结合附图和具体的实施例对本专利技术作进一步的阐述。本专利技术的无符号数除法器如图1所示,包括判0单元,补零单元、移位单元、判断处理单元和结果处理单元,其中,所述判0单元用于判断除数是否为0 ;所述补零单元用于根据商需要保留的小数位数给被除数补零;所述移位单元用于对除数进行左移运算;所述判断处理单元用于根据所述移位单元的左移运算结果和所述补零单元输出的补零后的被除数进行循环判断,确定商的各位,并输入到所述结果处理单元;这里循环判断具体过程如下假设所述除法的被除数A为N1位,除数B为N2位,商C需要保留的小数为 N3位,这里被除数、除数、商的小数的位指的是二进制的位,在本说明书中,如无特殊说明, 位表示的均为二进制的位。将除数B左移Ni+N3_j得到b」,如果A彡b」,则令A = A_b」,同时C的第NfN3-J位为1 ;如果A < bj;则C的第位为0 ;这里j从1开始,依次循环到时为止。所述结果处理单元用于根据所述判断处理单元的输出,输出除法的商。针对图1的无符号数除法器,除法处理方法流程示意图如图2所示,假设所述除法的被除数A为N1位,除数B为N2位,商C需要保留的小数为N3位,具体包括如下步骤Si.如果除数为0,则报错返回,否则在被除数A后面补N3个零,即将A扩大为原来的2M咅,使得J =」*2 ;S2.确定商C的最高位将除数B左移N^N3-I得到bQ,如果A彡b0,则令A = A-b0, 同时C的最高位为1 ;如果A < b0,则C的最高位为0 ;S3.确定商C的次高位将除数B左移Κ+Ν3-2得到Id1,如果六彡一则令六二八-!^, 同时C的次次高位为1 ;如果A < bi,则C的次高位为0 ;S4.依次迭代运算,直到除数B左移0位,确定商C的最低位为止。本专利技术的有符号数除法器如图3所示,包括补零单元、位异或单元、判0单元,取绝对值单元、移位单元、判断处理单元和结果处理单元,其中,所述判0单元用于判断除数是否为0 ;所述补零单元用于根据商需要保留的小数位数给被除数补零;所述取绝对值单元用于对除数和所述补零单元补零后的被除数取绝对值;所述位异或单元用于根据被除数与除数的最高位确定商的最高位,并将结果输入到所述的结果处理单元;所述移位单元用于对所述取绝对本文档来自技高网...

【技术保护点】
1.一种无符号数除法器,包括:判0单元、补零单元、移位单元、判断处理单元和结果处理单元,其中,所述判0单元用于判断除数是否为0;所述补零单元用于根据商需要保留的小数位数给被除数补零;所述移位单元用于对除数进行左移运算;所述判断处理单元用于根据所述移位单元的左移运算结果和所述补零单元输出的补零后的被除数进行循环判断,确定商的各位,并输入到所述结果处理单元;所述结果处理单元用于根据所述判断处理单元的输出,输出除法的商。

【技术特征摘要】

【专利技术属性】
技术研发人员:杨林李洪宇杨博刘皓
申请(专利权)人:电子科技大学
类型:发明
国别省市:90

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

1