一种除法器制造技术

技术编号:2877415 阅读:224 留言:0更新日期:2012-04-11 18:40
本发明专利技术提出了一种采用移位运算和减法运算的除法器,包括减法器、移位器1.比较器、移位器2.移位加法器,计数器和复选器;除数经过所述移位器1移位后与被除数一起输入所述减法器,所述减法器的输出连接到所述比较器和所述计数器,所述比较器与所述移位加法器和所述移位器2相连,所述移位加法器与所述移位器的输出送至所述复选器,所述计数器控制所述复选器的输出是否返回所述减法器。本发明专利技术通过把除法运算化成移位运算和减法运算,使得采用硬件电路来实现很容易,所用器件门数较少,运算时间短,与现有技术相比,运算效率得到了提高,有较好的效果。另外,本发明专利技术适用于任何位数的除法运算。(*该技术在2021年保护过期,可自由使用*)

【技术实现步骤摘要】

本专利技术涉及通讯、电子领域的数字信号处理电路,具体地说,涉及一种除法器的实现。在塞灵思(XILINX)公司的FPGA开发工具FOUNDATION中提供了实现除法的IP内核,但只给出外部接口定义,未描述内部结构,在使用该IP内核时会出现以下几个缺点1)由于该内核以黑匣的形式给出,只有端口定义,内部结构不详,因此不便移植,且只能用于XILINX公司的FPGA上;2)资源消耗大,如果实现一个32位除以16位的除法器,电路门数需要约26000门,用XILINX公司的XCV50E,还不能放下两个这样的除法器;3)实现时间长,以32位除以16位的除法器为例,完成一次运算需要26个时钟周期。
技术实现思路
针对上述问题,本专利技术提出了一种除法器,以解决现有技术中除法器较难移植、实现较复杂、硬件资源占用大、运算时间长的缺点。本专利技术所述的除法器,包括减法器、移位器1、比较器、移位器2、移位加法器,计数器和复选器;除数经过所述移位器1移位后与被除数一起输入所述减法器,所述减法器的输出连接到所述比较器和所述计数器,所述比较器与所述移位加法器和所述移位器2相连,所述移位加法器与所述移位器的输出送至所述复选器,所述计数器用于计算减法运算的次数,所述复选器用于根据所述计数器的结果来选择其输出是运算结果或者是将其输出返回所述减法器。本专利技术所述除法器把除法运算化成移位运算和减法运算,便于硬件电路的实现,所用器件门数较少,运算时间短,与现有技术相比,运算效率得到了提高,取得了较好的效果。另外,本专利技术还适用于任何位数的除法运算。本专利技术所述除法器与塞灵思公司的开发工具FOUNDATION3.1中提供的IP内核所产生的库相比较,其结果如表1所示。对于同样是32位除以16位的除法运算,本专利技术所消耗的硬件资源只有IP内核产生的库的1/10,所需要的运算时间是它的65%。表1 附图说明图1是本专利技术所述除法器的结构示意图。图2是本专利技术的工作原理示意图。图3是本专利技术所述除法器的波形图。具体实施例方式下面结合附图对技术方案的实施作进一步的详细描述。在图1所示的结构图中,本专利技术的组成包括移位器1、减法器、比较器、移位加法器、移位器、计数器和复选器。除数经过移位器1移位后进入减法器作为减数,被除数作为被减数输入至减法器,将相减后的差输入到比较器中,根据比较结果,差值经过移位加法器或者是被除数经过移位器后进入复选器中,同时计数器开始计数,根据计数器的复选器结果选择其输出是最后的商或是作为被减数返回至减法器的输入端。图2给出了本专利技术所述除法器的工作原理。本专利技术的核心在于将除法变换为移位和减法运算。除法可以看作是乘法的逆过程,乘法可以采用移位相加的形式实现,那么除法相应的可以用移位相减来实现。但是由于除法有其本身的特性,必须在移位时考虑约束条件。如果被除数是M位,除数是N位,其中M>N,那么首先需将除数左移(M-N)位作为减数,被除数直接作为被减数,相减得到差alu,输入比较器中与0进行比较,若alu大于等于0,则将alu左移1位后再加1作为新的被减数;若alu小于0,则将本次运算的被减数左移1位后作为新的被减数,再返回减法器进行运算,同时计数器计数;如此循环,当计数器的结果为N时,则将被减数的低(M-N)位输出,即得到商。可以看出,本专利技术经过N个时钟周期就可得出除法运算的结果。根据本专利技术,在FPGA上实现一个32位除以16位的除法器,并进行仿真,所得结果如图3所示。在本实施例中,M=32,N=16。选定被除数dividend是DEF456(十六进制),即1101 1110 1111 0100 0101 0110(二进制);除数divisor是457,即0100 0101 0111。除法器的具体运算过程是这样的当rst_复位信号升高后,启动信号start跳起后至少保持一个时钟脉冲宽度的高电平,同时读入被除数dividend和除数divisor的值,当start信号降低后运算开始。在第一个时钟周期内计算被除数dividend与除数divisor左移15位后的值的差,得到11111110 1011 0011 0111 0100 0101 0110,即FEB37456(十六进制),这是个小于0的数,因此在下一个时钟周期内将被除数dividend左移一位后,再减去除数divisor左移15位后的值,得到1111 1111 0101 0010 0110 1000 1010 1100,即FF9268AC(十六进制),仍是小于0的数,因此在第3个时钟周期内还是将被除数dividend左移一位后再减去除数divisor左移15位后的值,得到0001 0101 00000101 0001 0101 1000,即1505158,结果大于0,将此结果左移一位后加1,再赋给被除数dividend,以后每个时钟周期都重复这个过程减法、比较结果是否大于0、被除数dividend取新值的过程,重复16个时钟周期后,被除数dividend的低16位即为商,在本实施例中,所得商quot为335F,即0011 0011 0101,余数rem为30D,即0011 0000 1101。此结果与用计算器计算所得结果相同。同理,对于M和N取其他值的情况,都可以采用上述除法器来实现。权利要求1.一种除法器,包括减法器、移位器1、比较器、移位器2、移位加法器,计数器和复选器;除数经过所述移位器1移位后与被除数一起输入所述减法器,所述减法器的输出连接到所述比较器和所述计数器,所述比较器与所述移位加法器和所述移位器2相连,所述移位加法器与所述移位器的输出送至所述复选器,所述计数器用于计算减法运算的次数,所述复选器用于根据所述计数器的结果来选择是直接输出运算结果或者是返回所述减法器。全文摘要本专利技术提出了一种采用移位运算和减法运算的除法器,包括减法器、移位器1.比较器、移位器2.移位加法器,计数器和复选器;除数经过所述移位器1移位后与被除数一起输入所述减法器,所述减法器的输出连接到所述比较器和所述计数器,所述比较器与所述移位加法器和所述移位器2相连,所述移位加法器与所述移位器的输出送至所述复选器,所述计数器控制所述复选器的输出是否返回所述减法器。本专利技术通过把除法运算化成移位运算和减法运算,使得采用硬件电路来实现很容易,所用器件门数较少,运算时间短,与现有技术相比,运算效率得到了提高,有较好的效果。另外,本专利技术适用于任何位数的除法运算。文档编号G06F7/48GK1423189SQ0113230公开日2003年6月11日 申请日期2001年11月22日 优先权日2001年11月22日专利技术者蔡海宁 申请人:深圳市中兴通讯股份有限公司上海第二研究所 本文档来自技高网...

【技术保护点】
一种除法器,包括:减法器、移位器1、比较器、移位器2、移位加法器,计数器和复选器;除数经过所述移位器1移位后与被除数一起输入所述减法器,所述减法器的输出连接到所述比较器和所述计数器,所述比较器与所述移位加法器和所述移位器2相连,所述移位加法器与所述移位器的输出送至所述复选器,所述计数器用于计算减法运算的次数,所述复选器用于根据所述计数器的结果来选择是直接输出运算结果或者是返回所述减法器。

【技术特征摘要】

【专利技术属性】
技术研发人员:蔡海宁
申请(专利权)人:中兴通讯股份有限公司
类型:发明
国别省市:94[中国|深圳]

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

1