一种除法器制造技术

技术编号:14450238 阅读:31 留言:0更新日期:2017-01-18 11:30
本实用新型专利技术公开了一种除法器,属于数字信号处理电路技术领域,所述除法器采用基数N算法,N为2i且i为大于等于3的正整数,初始被除数和初始除数的商大于等于‑N小于等于N;所述除法器包括:符号位确定单元(1),用于判定初始被除数与初始除数的商值结果的符号位;除数倍数计算单元(2),用于计算非零初始除数的数值位的P倍,以获得第P个除数倍数值;令P依次在区间1~N内取整数值,以获得N个除数倍数值;迭代计算单元(3),用于对所述初始被除数的数值位和所述N个除数倍数值进行K次迭代计算,以获得完整商值结果。实现了在除法器迭代计算时灵活地选择每次产生的商的位数,在快速运算的同时不占用过多的硬件面积。

【技术实现步骤摘要】

本技术涉及数字信号处理电路
,尤其涉及一种除法器。
技术介绍
随着现代信息处理技术的迅猛发展,除法器作为微处理器的一个重要运算部件,在电子电路设计中得到了广泛应用。除法器的运算速度、性能、功耗等都会影响到整个微处理器的性能,所以提高除法器的性能是提高整个微处理器性能的关键因素。除法器的硬件实现方法有多种:一、使用阵列除法器,可以在一个时钟周期内做完整个除法运算,但是硬件面积大,逻辑延时长;二、用乘法器实现,先通过求除数的倒数,然后乘上被除数,这种方法主要应用在浮点运算中,是一种近似算法,但其运算精度受到位宽的限制;三、循环相减的多周期除法器,该方法在硬件面积和运算速度上有所优化,且现在大多数通用除法器都基于这种基本算法原理开发,但是这种除法器通常需要经过多次迭代计算,且每次迭代计算只产生一位商数字,若被除数与除数相差较大,则需要进行较多次的迭代计算,耗时较长。
技术实现思路
本技术针对现有技术中存在的,循环相减的多周期除法器每次迭代计算只产生一位商数字,在被除数与除数相差较大时,需要耗费大量时间计算获得完整的商值,而无法实现硬件面积与运算速度的有效折衷的技术问题,提供了一种除法器,可根据实际应用中硬件面积与运算速度的要求,通过选取不同的N值,灵活地选择每次迭代计算产生的商的位数,且在每次迭代计算时至少产生三位商数字,缩短了除法的计算时间。该除法器能够实现在除法运算时的硬件面积与运算速度的有效折衷,即在快速运算的同时不占用过多的硬件面积。本技术提供了一种除法器,所述除法器采用基数N算法,其中,N为2i且i为大于等于3的正整数,初始被除数和初始除数的商大于等于-N小于等于N;所述除法器包括:符号位确定单元,用于读入初始被除数的符号位和初始除数的符号位,分别判断所述初始被除数和所述初始除数为正数或负数,获得一判断结果,并基于所述判断结果确定所述初始被除数与所述初始除数的商值结果的符号位;除数倍数计算单元,用于读入初始除数的数值位,并计算所述初始除数的数值位的P倍,以获得第P个除数倍数值,其中,所述初始除数非零,P为整数;令P依次在区间1~N内取值,以获得N个除数倍数值;迭代计算单元,用于读入初始被除数的数值位和所述N个除数倍数值,并对所述初始被除数的数值位和所述N个除数倍数值进行K次迭代计算,每次迭代计算获得i位的部分商值,在K次迭代计算之后,获得K组i位的部分商值,并基于所述商值结果的符号位和所述K组i位的部分商值获得完整商值结果;其中,K为正整数且依据i值和所述初始被除数的二进制位数而定。可选的,所述除数倍数计算单元包括:第一除数倍数计算模块,用于当P取值为2的m次方倍时,通过将所述初始除数的数值位左移m位,以获得第一组除数倍数值;其中,m为大于等于0小于等于i的整数;第二除数倍数计算模块,用于当P取值为大于等于3的奇数时,通过将所述第一组除数倍数值与所述初始除数的数值位进行加、减法运算,以获得第二组除数倍数值;第三除数倍数计算模块,用于当P取值为偶数且不为2的m次方倍时,通过将所述第二组除数倍数值进行移位,以获得第三组除数倍数值;其中,所述第一组除数倍数值、所述第二组除数倍数值和所述第三组除数倍数值组成所述N个除数倍数值。可选的,所述迭代计算单元包括:迭代控制模块,用于控制j依次在区间1~K内取值;还用于当j取定一值时,控制P依次在区间1~N内取值;被除数移位模块,用于当j大于等于2且小于等于K时,基于所述原始被除数的数值位确定第j迭代被除数,并将所述第j迭代被除数左移i位,获得第j移位被除数;余数获取模块,用于当j取值为1时,对所述原始被除数的数值位与第P个除数倍数值求差,获得第P个第j余数,并当P依次在区间1~N内取值完成后,获得N个第j余数;还用于当j在区间2~K内取定一值时,对所述第j移位被除数与第P个除数倍数值求差,获得第P个第j余数,并当P依次在区间1~N内取值完成后,获得N个第j余数;部分商值确定模块,用于当j在区间1~K内取定一值、且获得N个第j余数后,依次将所述N个第j余数与零进行比较,获得第j比较结果,并基于所述第j比较结果确定第j部分商值;其中,所述第j部分商值的二进制位数为i位;完整商值确定模块,用于当j依次在区间1~K内取值时,将第j部分商值从寄存器的高位到低位依次写入商值寄存器中,并添加所述商值结果的符号位,以获得完整商值结果。可选的,所述被除数移位模块具体用于当j大于等于2且小于等于K时,且在进行第j次迭代计算时,基于第j-1次迭代计算获得的第j-1比较结果,确定第j迭代被除数,并将所述第j迭代被除数左移i位,获得第j移位被除数。可选的,所述部分商值确定模块具体用于当j在区间1~K内取定一值、且获得N个第j余数后,依次将所述N个第j余数与零进行比较,当所述N个第j余数中第一个第j余数小于零时,确定第j部分商值为零;或者当P大于等于2,在所述N个第j余数中第P-1个第j余数大于等于零、且第P个第j余数小于零时,确定第j部分商值为P-1。本技术中提供的一个或多个技术方案,至少具有如下技术效果或优点:由于在本技术中,除法器采用基数N算法,其中,N为2i且i为大于等于3的正整数,初始被除数和初始除数的商大于等于-N小于等于N;该除法器包括:符号位确定单元,用于读入初始被除数的符号位和初始除数的符号位,分别判断所述初始被除数和所述初始除数为正数或负数,获得一判断结果,并基于所述判断结果确定所述初始被除数与所述初始除数的商值结果的符号位;除数倍数计算单元,用于读入初始除数的数值位,并计算所述初始除数的数值位的P倍,以获得第P个除数倍数值,其中,所述初始除数非零,P为整数;令P依次在区间1~N内取值,以获得N个除数倍数值;迭代计算单元,用于读入初始被除数的数值位和所述N个除数倍数值,并对所述初始被除数的数值位和所述N个除数倍数值进行K次迭代计算,每次迭代计算获得i位的部分商值,在K次迭代计算之后,获得K组i位的部分商值,并基于所述商值结果的符号位和所述K组i位的部分商值获得完整商值结果;其中,K为正整数且依据i值和所述初始被除数的二进制位数而定。也就是说,本除法器可根据实际应用中硬件面积与运算速度的要求,通过选取不同的N值,灵活地选择每次产生的商的位数,且在每次迭代计算时产生至少三位商数字,缩短了除法的计算时间。有效地解决了现有技术中循环相减的多周期除法器每次迭代计算只产生一位商数字,在被除数与除数相差较大时,需要耗费大量时间计算获得完整的商值,而无法实现硬件面积与运算速度的有效折衷的技术问题,实现了除法器在除法运算时的硬件面积与运算速度的有效折衷,能够在快速运算的同时不占用过多的硬件面积。另外,本方案除法器适用于在专用集成电路(ASIC,ApplicationSpecificIntegratedCircuit)上实现。附图说明为了更清楚地说明本技术实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本技术的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其它的附图。图1为本技术实施例提供的一种除法器结构示意图;图2为本实本文档来自技高网...

【技术保护点】
一种除法器,其特征在于,所述除法器采用基数N算法,其中,N为2i且i为大于等于3的正整数,初始被除数和初始除数的商大于等于‑N小于等于N;所述除法器包括:符号位确定单元(1),用于读入初始被除数的符号位和初始除数的符号位,分别判断所述初始被除数和所述初始除数为正数或负数,获得一判断结果,并基于所述判断结果确定所述初始被除数与所述初始除数的商值结果的符号位;除数倍数计算单元(2),用于读入初始除数的数值位,并计算所述初始除数的数值位的P倍,以获得第P个除数倍数值,其中,所述初始除数非零,P为整数;令P依次在区间1~N内取值,以获得N个除数倍数值;迭代计算单元(3),用于读入初始被除数的数值位和所述N个除数倍数值,并对所述初始被除数的数值位和所述N个除数倍数值进行K次迭代计算,每次迭代计算获得i位的部分商值,在K次迭代计算之后,获得K组i位的部分商值,并基于所述商值结果的符号位和所述K组i位的部分商值获得完整商值结果;其中,K为正整数且依据i值和所述初始被除数的二进制位数而定。

【技术特征摘要】
1.一种除法器,其特征在于,所述除法器采用基数N算法,其中,N为2i且i为大于等于3的正整数,初始被除数和初始除数的商大于等于-N小于等于N;所述除法器包括:符号位确定单元(1),用于读入初始被除数的符号位和初始除数的符号位,分别判断所述初始被除数和所述初始除数为正数或负数,获得一判断结果,并基于所述判断结果确定所述初始被除数与所述初始除数的商值结果的符号位;除数倍数计算单元(2),用于读入初始除数的数值位,并计算所述初始除数的数值位的P倍,以获得第P个除数倍数值,其中,所述初始除数非零,P为整数;令P依次在区间1~N内取值,以获得N个除数倍数值;迭代计算单元(3),用于读入初始被除数的数值位和所述N个除数倍数值,并对所述初始被除数的数值位和所述N个除数倍数值进行K次迭代计算,每次迭代计算获得i位的部分商值,在K次迭代计算之后,获得K组i位的部分商值,并基于所述商值结果的符号位和所述K组i位的部分商值获得完整商值结果;其中,K为正整数且依据i值和所述初始被除数的二进制位数而定。2.如权利要求1所述的除法器,其特征在于,所述除数倍数计算单元(2)包括:第一除数倍数计算模块(21),用于当P取值为2的m次方倍时,通过将所述初始除数的数值位左移m位,以获得第一组除数倍数值;其中,m为大于等于0小于等于i的整数;第二除数倍数计算模块(22),用于当P取值为大于等于3的奇数时,通过将所述第一组除数倍数值与所述初始除数的数值位进行加、减法运算,以获得第二组除数倍数值;第三除数倍数计算模块(23),用于当P取值为偶数且不为2的m次方倍时,通过将所述第二组除数倍数值进行移位,以获得第三组除数倍数值;其中,所述第一组除数倍数值、所述第二组除数倍数值和所述第三组除数倍数值组成所述N个除数倍数值。3.如权利要求1所述的除法器,其特征在于,所述迭代计算单元(3)包...

【专利技术属性】
技术研发人员:张科峰王龚志
申请(专利权)人:武汉芯泰科技有限公司
类型:新型
国别省市:湖北;42

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

1