一种基于进位保留加法器的基数-16定点除法器制造技术

技术编号:11572599 阅读:107 留言:0更新日期:2015-06-10 03:20
本发明专利技术公开一种基于进位保留加法器的基数-16定点除法器,属于计算机数字技术领域;包括检测-移位模块,商循环产生模块,商转换模块,商/余数调整模块,执行控制模块;本发明专利技术的运算处理方法通过检测-移位模块接受数据并进行规整左移;接收规整后的数据,用于循环操作,循环迭代产生冗余数据;接收商循环产生模块所产生的冗余形式商值,采用进位保留格式转换成标准二进制补码形式;再根据RNS算法对商结果和余数结果进行符号的同号调整,并调整商;最后实现运算后右移相应位数,结果放入计数器中,记录循环执行次数;本发明专利技术产生一位商值的路径延时大大缩短,并且除法器设置相对简单,一次循环运算可以产生四位商值,提高了运行效率。

【技术实现步骤摘要】

本专利技术公开一种基数-16定点除法器,属于计算机数字
,具体地说是一 种基于进位保留加法器的基数-16定点除法器
技术介绍
在数字信号处理、通讯、图像和视频处理中,经常会涉及处理求商和余数的工作, 但在通用CPU、DSP中往往不会专门设置除法器完成上述工作,因为除法运算在一般的程序 中所占的比重很小,但在设计上较其他运算部件却要复杂的多,所以通常做法是在其他运 算部件,如ALU和乘法器基础上编写指令,实现除法运算的子程序。但是在某些特定的算法 中,例如取模运算、数值转换、数据解包算法等,除法运算占有相当的比重,是提升程序性能 的关键所在,需要专门设置除法器,然而目前的除法运算主要有两种方式,第一种是设计专 门的高速除法运算部件,需要倍数发生器、比较器、加减法器等众多器件,电路相当复杂牺 牲芯片面积资源来提高处理速度,一般用于高性能处理器,如因特尔45nm的Penryn处理 器;第二种是用现有指令实现相应的除法运算,比如把除法运算转化成减法和移位运算,利 用加法器、比较器、移位加法器来完成除法操作。但是该类方法每次移位和减法操作后只能 获得一位商值,如果被除数是N位时,需要执行N次运算才能得到商,缺点是运算周期长,性 能提升不明显。针对目前的不足,本专利技术提出一种基于进位保留加法器的基数-16定点除 法器,可以应用在数字通讯、图像和视频处理等领域的ASIC集成电路设计中,中间循环迭 代过程使用数的冗余形式表示,避免了加减法产生的进位延时,使产生一位商值的路径延 时只有一位全加器的时延。该除法器硬件电路实现相对简单,一次循环运算可以产生四位 商值,提高了运行效率。
技术实现思路
本专利技术针对目前的数字信号处理的除法运算存在的不足和缺陷,提供一种基于进 位保留加法器的基数-16定点除法器,利用中间循环迭代过程使用数的冗余形式表示,避 免了 64位加减法产生的进位延时,使产生一位商值的路径延时只有一位全加器的时延。该 除法器硬件电路实现相对简单,一次循环运算可以产生四位商值,提高了运行效率。 本专利技术提出的具体方案是: 一种基于进位保留加法器的基数-16定点除法器,包括检测-移位模块,商循环产生模 块,商转换模块,商/余数调整模块,执行控制模块; 检测-移位模块,接受除数d和被除数,将数据分成每组16位,在运算之前要对除数d 和被除数进行规整,即对数据进行检测和向左移位,使得被除数和除数最高有效位对齐,消 除不必要的符号位;规整后的除数为0- ; 商循环产生模块,接收通过检测-移位模块规整后的数据,用于循环操作,循环迭代产 生冗余数据,一周期执行四次加减法,完成一次迭代后得到部分余数和四位商值; 商转换模块,接收商循环产生模块所产生的冗余形式商值,采用进位保留格式转换成 标准二进制补码形式; 商/余数调整模块,接收被除数、除数和余数的符号位,根据RNS算法对商结果和余数 结果进行符号的同号调整,并调整商; 执行控制模块,负责对商循环产生模块,商转换模块,商/余数调整模块的执行控制, 接收检测-移位模块中被除数和除数移动的位数η和m,执行m-n+1逻辑,实现运算后右移 相应位数,结果放入计数器中,记录循环执行次数。 所述的检测-移位模块包含符号判断器,取反发生器,求前导1数据选择器,移位 器; 符号判断器及取反发生器,用于接收除数与被除数的符号,若判断数据为正,则将数据 通过取反发生器,将其变成负数进行运算; 求前导1数据选择器,接收除数与被除数经过符号判断器取反后的数据,然后进行选 择操作,得到操作数的前导"1"个数并用变量表示; 移位器,用于接收数据选择器输出的" 1"的个数变量,即是操作数需要左移的位数。 所述的商循环产生模块包含普通加法器,商选择电路,除数选择电路,进位保留加 法器,移位器; 普通加法器,用于接收被除数和除数,进行求和操作并输出结果,初始的被除数值为规 整后的被除数,初始的除数值为全零; 商选择电路,用于接收加法器输出的数据,通过RNS除法器算法商选择规则,对商进行 选择操作,并输出商值q (_1,〇,1); 除数选择器,用于接收商选择电路输出的q值,根据商值选择除数为0-或-cT并输 出; 进位保留加法器,用于接收被除数和除数,还有除数选择器所选择的除数,相加后产生 新的被除数和除数;其中初始的被除数为规整后的被除数,初始的除数为全零; 移位器,用于接收进位保留加法器所输出的被除数和除数,进行左移操作。 所述的商转换模块包含数据选择器,商实时转换电路,商的部分选择电路,商值寄 存器 q_switch_M 和 q_switch_N ; 数据选择器,通过接收检测-移位模块输出的转换有效信号,选择商值初始值或者商 值寄存器q_switch_M和q_switch_N保存的值; 商实时转换电路,用于接收数据选择器输出的值,通过RNS算法的实时转换规则,将冗 余形式的商转换成标准二进制补码形式; 商的部分选择电路,通过接收执行控制模块输出的控制信号,按照RNS算法的商选择 规则进行选择; 商值寄存器q_switch_M* 于保存商选择逻辑产生的值,作为下一次迭 代操作的输入数据。 所述的商/余数调整模块,如果余数与被除数异号,通过加上或减去规整后除数 0-使它们变为同号,否则直接输出;如果余数调整周期中将余数加上0-,商减去1;如果 余数调整周期中将余数减去CT,商加1 ;如果余数没有调整,商不调整,所得结果就是最终 商值。 一种基于进位保留加法器的基数-16定点除法器的运算处理方法,具体步骤为: ① 接受除数d和被除数,将数据分成每组16位,在运算之前要对除数d和被除数进行 规整,即对数据进行检测和向左移位,使得被除数和除数最高有效位对齐,消除不必要的符 号位;规整后的除数为0- ; ② 接收通过检测-移位模块规整后的数据,用于循环操作,循环迭代产生冗余数据,一 周期执行四次加减法,完成一次迭代后得到部分余数和四位商值; ③ 接收商循环产生模块所产生的冗余形式商值,采用进位保留格式转换成标准二进制 补码形式; ④ 接收被除数、除数和余数的符号位,根据RNS算法对商结果和余数结果进行符号的 同号调整,并调整商; ⑤ 接收检测-移位模块中被除数和除数移动的位数η和m,执行m-n+1逻辑,实现运算 后右移相应位数,结果放入计数器中,记录循环执行次数。 所述的步骤①中接受除数和被除数,将数据每组16位,对数据分两级检测,第一 级是16位组内检测,计算从最高位开始有几个连续"1"或者"0",每组产生四位输出用m 表示,并检测连续" 1"的个数;第二级是组间检测,检测每组数据是否全为" 1",每组一个输 出,共4个输出;两级检测并行执行,然后再计算出整个数据前导" 1"的个数,所得就是操作 数需要左移的位数。 所述的步骤②中采用进位保留加法器,一个执行周期中串行四个进位保留加法 器,迭代完成后保存结果;商取值逻辑实现有四位,三位bit2、bit、bitO和规整后除数 0-,通过这四位确定商值:当0- >0时,如果三位都为"1",商取值就是0;当只有bit2为 1,商取值是_1 ;其余情况,商取值是1 ;当〈0时,尚二位都为1,商取值是0 ;bit2为1, 商取值是1 ;其本文档来自技高网
...

【技术保护点】
一种基于进位保留加法器的基数‑16定点除法器,其特征是包括检测‑移位模块,商循环产生模块,商转换模块,商/余数调整模块,执行控制模块;检测‑移位模块,接受除数d和被除数,将数据分成每组16位,在运算之前要对除数d和被除数进行规整,即对数据进行检测和向左移位,使得被除数和除数最高有效位对齐,消除不必要的符号位;规整后的除数为d';商循环产生模块,接收通过检测‑移位模块规整后的数据,用于循环操作,循环迭代产生冗余数据,一周期执行四次加减法,完成一次迭代后得到部分余数和四位商值;商转换模块,接收商循环产生模块所产生的冗余形式商值,采用进位保留格式转换成标准二进制补码形式;商/余数调整模块,接收被除数、除数和余数的符号位,根据RNS算法对商结果和余数结果进行符号的同号调整,并调整商;执行控制模块,负责对商循环产生模块,商转换模块,商/余数调整模块的执行控制,接收检测‑移位模块中被除数和除数移动的位数n和m,执行m‑n+1逻辑,实现运算后右移相应位数,结果放入计数器中,记录循环执行次数。

【技术特征摘要】

【专利技术属性】
技术研发人员:陈继承张闯王洪伟倪璠唐士斌赵雅倩史宏志
申请(专利权)人:浪潮集团有限公司
类型:发明
国别省市:山东;37

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

1