除法器的实现方法技术

技术编号:37044279 阅读:21 留言:0更新日期:2023-03-29 19:23
本发明专利技术公开了一种除法器的实现方法,其包括如下步骤:a.获取二进制被除数A最高位1的位置数,并将该位置数记录为A1;获取二进制除数B最高位1的位置数,并将该位置数记录为B1;b.计算S1=A1

【技术实现步骤摘要】
除法器的实现方法


[0001]本专利技术涉及集成电路领域,更具体地涉及一种除法器的实现方法。

技术介绍

[0002]在音视频、图像、数字信号处理等集成电路设计中,经常会涉及到用除法器实现求商和余数的除法计算要求。在这种情况下,一般使用相应的除法器来实现除法运算。
[0003]目前的除法器运算通常是基于加减和移位操作实现,通过多次移位操作从被除数中重复地减去除数,直到检测到余数小于除数,将每次移位比较的结果进行累加获得商;具体地,第一次计算时,用被除数A减除数B得到余数R1,同时记录该减法操作的次数为n,n等于1。若余数R1大于除数B,可进行下一次计算,否则计算结束。同理进行第二次计算,用上次计算得到的余数R1减除数B得到余数R2,同时按1递增该减法操作的次数n,使n等于2;以此类推,计算m次后,当余数Rm小于被除数B时,逐次减法操作结束,此时的Rm为最终期望得到的余数R,n为最终期望得到的商(n为减法操作进行的次数,相当于被除数里有n个除数,即商等于n)。
[0004]用传统逐次减法实现除法功能的原理为:第一次计算时,用被除数A减除数B得到余数R1,同时记录该减法操作的次数为n,n等于1。若余数R1大于除数B,可进行下一次计算,否则计算结束。同理进行第二次计算,用上次计算得到的余数R1减除数B得到余数R2,同时按1递增该减法操作的次数n,使n等于2;以此类推,计算m次后,当余数Rm小于被除数B时,逐次减法操作结束,此时的Rm为最终期望得到的余数R,n为最终期望得到的商。
[0005]下面以被除数A等于39,除数B等于7为例,假设被除数减除数的次数用n表示,逐次减法计算得到的余数用R1、R2等表示,传统逐次减法的实现过程如下:
[0006]第一次计算:被除数A减除数B得余数R1,即R1=39

7=32,减法计算次数n为1。由于余数R1大于除数B,进行下一次计算;
[0007]第二次计算:余数R1减除数B得余数R2,即R2=32

7=25,减法计算次数递增1,n变为2。由于余数R2大于除数B,进行下一次计算;
[0008]第三次计算:余数R2减除数B得余数R3,即R3=25

7=18,减法计算次数递增1,n变为3。由于余数R3大于除数B,进行下一次计算;
[0009]第四次计算:余数R3减除数B得余数R4,即R4=18

7=11,减法计算次数递增1,n变为4。由于余数R4大于除数B,进行下一次计算;
[0010]第五次计算:余数R4减除数B得余数R5,即R5=11

7=4,减法计算次数递增1,n变为5。由于余数R5小于除数B,计算结束;n等于5是最终期望得到的商,R5等于4是最终的余数。
[0011]但是,这种方法每次移位获得一位商,需要执行数量庞大的运算才能得到结果,使得所需周期很长,运算速度慢,从而影响整个电路的工作效率。
[0012]因此,有必要提供一种改进的运算速度更快更有效的除法器实现方法来克服上述缺陷。

技术实现思路

[0013]本专利技术的目的是提供一种除法器的实现方法,本专利技术的除法器的实现方法运算速度快,所用时钟周期少,设计易于实现,可复用性高,提高了所在电路的工作效率。
[0014]为实现上述目的,本专利技术提供了一种除法器的实现方法,其包括如下步骤:
[0015]a.获取二进制被除数A最高位1的位置数,并将该位置数记录为A1;获取二进制除数B最高位1的位置数,并将该位置数记录为B1;
[0016]b.计算S1=A1

B1,计算此次运算的商Q1,Q1=2
S1

[0017]c.计算此次运算的余数R1,R1=A

B*Q1;
[0018]d.将余数R1替换被除数A,重复步骤a

c,直到当前次运算的余数Rn<B;
[0019]e.将每一次获得的商相加获得最终的商Q,最后一次计算获得的余数Rn为余数R。
[0020]较佳地,在所述步骤a之前还包括步骤:比较二进制被除数A与二进制除数B,若A小于B,输出商Q为0,计算结束。
[0021]较佳地,在所述步骤a中确定二进制除数B最高位1的位置数具体还包括:剩余位数若全为0,则标记为F1=0,否则标记为F1=1。
[0022]较佳地,所述步骤b具体地还包括为,计算S1=A1

B1

F1,若S1为负数,输出此次运算的商Q1,Q1=0,且本次运算结束。
[0023]与现有技术相比,本专利技术的除法器的实现方法通过获取被除数与除数最高位1的位置数,而快速确认被除数和除数的倍数关系,进而快速地计算出所要的结果;运算速度快,所用时钟周期少,设计易于实现,可复用性高,提高了所在电路的工作效率。
[0024]通过以下的描述并结合附图,本专利技术将变得更加清晰,这些附图用于解释本专利技术的实施例。
附图说明
[0025]图1为本专利技术的除法器的实现方法的流程图。
具体实施方式
[0026]现在参考附图描述本专利技术的实施例,附图中类似的元件标号代表类似的元件。如上所述,本专利技术提供了一种除法器的实现方法,本专利技术的除法器的实现方法运算速度快,所用时钟周期少,设计易于实现,可复用性高,提高了所在电路的工作效率。
[0027]请参考图1,图1为本专利技术的除法器的实现方法的流程图。如图所示,本专利技术的除法器的实现方法,包括如下步骤:
[0028]步骤S100,获取二进制被除数A最高位1的位置数,并将该位置数记录为A1;获取二进制除数B最高位1的位置数,并将该位置数记录为B1;在本步骤中,通过分别获得二进制被除数A、二进制除数B最高位1的位置数,从而可快速地大致确定被除数A与除数B的倍数关系,以便于后续实现对被除数A与除数B的快速运算。
[0029]作为本专利技术的优先实施方式,在所述步骤S100之前还可设置如下步骤:比较二进制被除数A与二进制除数B,若A小于B,输出商Q为0,计算结束,通常在数字电路中并不需要用到小数,因此,一般不会遇到被除数A小于除数B的情况,若因错误方式等导致这种情况发生,则可通过该方式直接结束运算,而把错误方式给剔除掉。具体地,在所述步骤S100中,在
确定二进制除数B最高位1的位置数具体还包括,剩余位数若全为0,则标记为F1=0,否则标记为F1=1,从而通过F1的数值可以确定除数B的大小是否可通过最高位的位置来准确表达,从而以便于后续步骤的运算。
[0030]步骤S200,计算S1=A1

B1,计算此次运算的商Q1,Q1=2
S1
。众所周知地,用二进制来表示数的大小时,二进制每一位所对应的数值大小的具体表示方法为:最低位即第0位对应的十进制数是20,等于1;第1位对应的十进制数是21,等于2;第n位对应的十进制数是2...

【技术保护点】

【技术特征摘要】
1.一种除法器的实现方法,其特征在于,包括如下步骤:a.获取二进制被除数A最高位1的位置数,并将该位置数记录为A1;获取二进制除数B最高位1的位置数,并将该位置数记录为B1;b.计算S1=A1

B1,计算此次运算的商Q1,Q1=2
S1
;c.计算此次运算的余数R1,R1=A

B*Q1;d.将余数R1替换被除数A,重复步骤a

c,直到当前次运算的余数Rn<B;e.将每一次获得的商相加获得最终的商Q,最后一次计算获得的余数Rn为余数...

【专利技术属性】
技术研发人员:唐杜娟
申请(专利权)人:四川和芯微电子股份有限公司
类型:发明
国别省市:

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

1