CN110069237B - 一种基于查找表的基-8除法器信号处理方法 - Google Patents

一种基于查找表的基-8除法器信号处理方法 Download PDF

Info

Publication number
CN110069237B
CN110069237B CN201910318408.6A CN201910318408A CN110069237B CN 110069237 B CN110069237 B CN 110069237B CN 201910318408 A CN201910318408 A CN 201910318408A CN 110069237 B CN110069237 B CN 110069237B
Authority
CN
China
Prior art keywords
iteration
quotient
value
divisor
bit
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201910318408.6A
Other languages
English (en)
Other versions
CN110069237A (zh
Inventor
刘倩
郑国旭
冯月
张凤全
田师艺
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Harbin University of Science and Technology
Original Assignee
Harbin University of Science and Technology
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Harbin University of Science and Technology filed Critical Harbin University of Science and Technology
Priority to CN201910318408.6A priority Critical patent/CN110069237B/zh
Publication of CN110069237A publication Critical patent/CN110069237A/zh
Application granted granted Critical
Publication of CN110069237B publication Critical patent/CN110069237B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/38Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation
    • G06F7/48Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation using non-contact-making devices, e.g. tube, solid state device; using unspecified devices
    • G06F7/491Computations with decimal numbers radix 12 or 20.
    • G06F7/498Computations with decimal numbers radix 12 or 20. using counter-type accumulators
    • G06F7/4983Multiplying; Dividing
    • G06F7/4988Multiplying; Dividing by table look-up

Landscapes

  • Engineering & Computer Science (AREA)
  • Computing Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Computational Mathematics (AREA)
  • Mathematical Analysis (AREA)
  • Mathematical Optimization (AREA)
  • Pure & Applied Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Complex Calculations (AREA)
  • Error Detection And Correction (AREA)

Abstract

一种基于查找表的基‑8除法器信号处理方法,本发明涉及除法器信号处理方法。本发明的目的是为了解决现有除法器确定商值计算复杂,周期长的问题。过程为:一、得到去除符号后的除数和被除数,计算商值的符号;二、将商值需要右移的位数保存在寄存器中;三、确定迭代次数;四、迭代次数取j时,求出部分商值的三个可能取值;五、计算可能余数;六、确定第j次迭代的部分商值及余数;七、商值保存;八、将第j次迭代求出的余数作为j+1次输出;九、求出j+1次部分商值的取值;十、计算可能余数;十一、将求出的部分商值保存在寄存器的最低三位中;十二、重复执行九至十一,直到迭代完成;十三、得到最终的商值;本发明用于除法器信号处理领域。

Description

一种基于查找表的基-8除法器信号处理方法
技术领域
本发明涉及基于查找表的基-8除法器信号处理方法。
背景技术
除法器是电子技术领域的基础模块,被广泛应用于电子电路设计中。随着大规模集成电路及微电子技术的发展,IC设计中的除法器算法就显得尤为重要。为了提高运算速度,常用的方法是提高基数,而基8除法器则可以在一次迭代中产生三位商值。但是在每次迭代产生部分商值的过程中,需要将余数的1/N倍(N∈[1,8])和被除数进行比较来确定部分商值的数值。而余数1/N倍的计算则依靠移位和加法运算来实现。综上,商值的计算周期主要由移位和加法运算决定,导致现有除法器确定商值计算复杂,周期长。
发明内容
本发明的目的是为了解决现有除法器确定商值计算复杂,周期长的问题,而提出基于查找表的基-8除法器信号处理方法。
一种基于查找表的基-8除法器信号处理方法具体过程为:
步骤一、对除数和被除数去除符号,得到去除符号后的除数和去除符号后的被除数,并计算商值的符号;
步骤二、将去符号后的除数和去符号后被除数进行归一化处理,并计算商值修正时商值需要右移的位数,将商值需要右移的位数保存在寄存器registor_rstshr中;
步骤三、根据除数和被除数的位数,确定迭代次数;
步骤四、迭代次数取j时,数据选择器1将步骤二归一化后的被除数作为输出;j=1;
基于数据选择器1的输出和步骤二归一化后的除数,求出第j次迭代的部分商值qj的三个可能取值mul1,mul2,mul3;
步骤五、用步骤四得到的第j次迭代的部分商值qj的三个可能取值mul1,mul2,mul3替代下式中第j次迭代的部分商值qj,分别计算三个对应的可能余数Pj′、Pj″、Pj″′;
步骤六、根据三个可能余数Pj′、Pj″、Pj″′的取值,数据选择器2确定第j次迭代的部分商值qj及第j次迭代后的余数Pj
步骤七、商值保存,具体过程为:
将步骤六得到的第j次迭代求出的部分商值保存在寄存器register_divout的最低三位中;执行步骤八;
步骤八、迭代次数取j+1时,数据选择器1将步骤六得到的第j次迭代求出的余数Pj作为输出;执行步骤九;
步骤九、基于数据选择器1输出的第j次迭代求出的余数Pj和步骤二归一化后的除数,求出第j+1次迭代的部分商值qj+1的三个可能取值mul1,mul2,mul3;
步骤十、用第j+1次迭代的部分商值qj+1的三个可能取值mul1,mul2,mul3替代下式中第j+1次迭代的部分商值qj+1,分别计算三个对应的可能余数Pj+1′、Pj+1″、Pj+1″′;
步骤十一、根据三个可能余数Pj+1′、Pj+1″、Pj+1″′的取值数据选择器2确定第j+1次迭代的部分商值qj+1及第j+1次迭代后的余数Pj+1,当第j+1次迭代求出部分商值后,将寄存器register_divout中的数值左移三位后,将第j+1次迭代求出的部分商值保存在寄存器register_divout的最低三位中;
步骤十二、迭代次数取j+2时,将第j+1次迭代求出的余数替换步骤八中选择器1的输出,重复执行步骤九至步骤十一(j+1变j+2),直到迭代完成,寄存器register_divout保存的就是商值Q;
步骤十三、对商值Q进行修正,得到最终的商值;具体过程如下:
首先将商值Q右移一位,空出符号位,在根据寄存器registor_rstshr的数值,将Q右移相应的位数;
然后,根据registor_sign中的数值计算最终的商值:
如果registor_sign是1,则Q需取反加1;如果registor_sign是0,则Q需保持不变,最后,将寄存器registor_sign中的数值写入Q最高位即可,得到最终的商值。
本发明的有益效果为:
本发明提出了一种基于查找表的基-8除法器信号处理方法,在迭代求部分商值的过程中采用查找表的方式来确定商值,减少了计算复杂度,仅需要(N/3+1)个时钟周期就可计算出商值,N为除数及被除数的位数。此算法用于ASIC设计中,可在提高计算周期的同时用尽可能小的面积实现,满足了速度要求与芯片面积要求之间的平衡;解决了现有除法器确定商值计算复杂,周期长的问题。
具体实施方式
具体实施方式:本实施方式的一种基于查找表的基-8除法器的信号处理方法,具体过程为:
步骤一、对除数(D)和被除数(A)去除符号,得到去除符号后的除数(D)和去除符号后的被除数(A),并计算商值的符号;
步骤二、将去符号后的除数(D)和去符号后被除数(A)进行归一化处理,并计算商值修正时商值需要右移的位数,将商值需要右移的位数保存在寄存器registor_rstshr中;
步骤三、根据除数(D)和被除数(A)的位数,确定迭代次数;
步骤四、迭代次数取j时,数据选择器1将步骤二归一化后的被除数(A)作为输出;j=1;
基于数据选择器1的输出和步骤二归一化后的除数(D),求出第j次迭代的部分商值qj的三个可能取值mul1,mul2,mul3;
步骤五、用步骤四得到的第j次迭代的部分商值qj的三个可能取值mul1,mul2,mul3替代下式中第j次迭代的部分商值qj,分别计算三个对应的可能余数Pj′、Pj″、Pj″′;
步骤六、根据三个可能余数Pj′、Pj″、Pj″′的取值,数据选择器2确定第j次迭代的部分商值qj及第j次迭代后的余数Pj
步骤七、商值保存,具体过程为:
将步骤六得到的第j次迭代求出的部分商值保存在寄存器register_divout的最低三位中;执行步骤八;
步骤八、迭代次数取j+1时,数据选择器1将步骤六得到的第j次迭代求出的余数Pj作为输出;执行步骤九;
步骤九、基于数据选择器1输出的第j次迭代求出的余数Pj和步骤二归一化后的除数(D),求出第j+1次迭代的部分商值qj+1的三个可能取值mul1,mul2,mul3;
步骤十、用第j+1次迭代的部分商值qj+1的三个可能取值mul1,mul2,mul3替代下式中第j+1次迭代的部分商值qj+1,分别计算三个对应的可能余数Pj+1′、Pj+1″、Pj+1″′;
步骤十一、根据三个可能余数Pj+1′、Pj+1″、Pj+1″′的取值数据选择器2确定第j+1次迭代的部分商值qj+1及第j+1次迭代后的余数Pj+1,当第j+1次迭代求出部分商值后,将寄存器register_divout中的数值左移三位后,将第j+1次迭代求出的部分商值保存在寄存器register_divout的最低三位中;
步骤十二、迭代次数取j+2时,将第j+1次迭代求出的余数替换步骤八中选择器1的输出,重复执行步骤九至步骤十一(j+1变j+2),直到迭代完成,寄存器register_divout保存的就是商值Q;
步骤十三、对商值Q进行修正,得到最终的商值。
具体实施方式二:本实施方式与具体实施方式一不同的是,所述步骤一中对除数(D)和被除数(A)去除符号,得到去除符号后的除数(D)和去除符号后的被除数(A),并计算商值的符号,具体过程为:
对去符号前的除数(D)和被除数(A)的最高位做异或,作为商的符号位,保存在特定寄存器registor_sign中;
检测除数(D)的最高位,如果为1,把除数(D)取反加1,如果为0,则保持除数(D)不变;
检测被除数(A)的最高位,如果为1,把被除数(A)取反加1,如果为0,则保持被除数(A)不变;
得到去除符号后的除数(D)和被除数(A)。
其它步骤及参数与具体实施方式一相同。
具体实施方式三:本实施方式与具体实施方式一或二不同的是,所述步骤二中将去符号后的除数(D)和去符号后被除数(A)进行归一化处理,并计算商值修正时商值需要右移的位数,将商值需要右移的位数保存在寄存器registor_rstshr中,具体过程为:
利用两个移位寄存器分别对去除符号后的除数(D)和去除符号后的被除数(A)进行左移,直到去除符号后的除数(D)和去除符号后的被除数(A)的最高位为1,并记录除数(D)被左移的位数和被除数(A)被左移的位数;
把除数(D)被左移的位数和被除数(A)被左移的位数相减,就是商值修正时,商值需要右移的位数,将商值需要右移的位数保存在寄存器registor_rstshr中。
其它步骤及参数与具体实施方式一或二相同。
具体实施方式四:本实施方式与具体实施方式一至三之一不同的是,所述步骤三中根据除数(D)和被除数(A)的位数,确定迭代次数;具体过程为:
将除数(D)和被除数(A)的位数n除以3后取整的数值记为cycle_n(以防止n不能被3整除),根据cycle_n设置一个名为counter1的计数器,cycle_n的数值为计数器中最大循环次数(计数器控制循环的次数),计数器中最大循环次数代表了除法运算中的迭代次数。
其它步骤及参数与具体实施方式一至三之一相同。
具体实施方式五:本实施方式与具体实施方式一至四之一不同的是,所述步骤五中用步骤四得到的第j次迭代的部分商值qj的三个可能取值mul1,mul2,mul3替代下式中第j次迭代的部分商值qj,分别计算三个对应的可能余数Pj′、Pj″、Pj″′;具体过程为:
Pj=8Pj-1-qjD
式中,D为步骤二归一化后的除数,Pj-1为第j-1次迭代后所产生的余数(即被除数);Pj为第j次迭代后的余数;
余数Pj的计算采用加法器利用加补码的方式实现。加法器有三个输入端:a_0、a_1、b,一个输出端:s;
a_0+a_1*2之和为(-qjA)的补码形式,b输入端输入8Pj-1值;输出端s输出a_0、a_1、b之和,即Pj值;
对应不同qj值,a_0及a_1的取值见表3。
表3 a_0及a_1取值表
Figure BDA0002033871760000051
其它步骤及参数与具体实施方式一至四之一相同。
具体实施方式六:本实施方式与具体实施方式一至五之一不同的是,所述步骤六中根据三个可能余数Pj′、Pj″、Pj″′的取值,数据选择器2确定第j次迭代的部分商值qj及第j次迭代后的余数Pj,具体过程为:
若Pj′>0,则qj取mul3的数值,Pj取Pj′的数值;
若Pj′<0且Pj″>0,则qj取mul2的数值,Pj取Pj″的数值;
若Pj′<0、Pj″<0、Pj″′>0,则qj取mul1的数值,Pj取Pj″′的数值;
若Pj′、Pj″、Pj″′均小于0,则qj取0,Pj取Pj-1(被除数)的数值;
其它步骤及参数与具体实施方式一至五之一相同。
具体实施方式七:本实施方式与具体实施方式一至六之一不同的是,所述步骤十中用第j+1次迭代的部分商值qj+1的三个可能取值mul1,mul2,mul3替代下式中第j+1次迭代的部分商值qj+1,分别计算三个对应的可能余数Pj+1′、Pj+1″、Pj+1″′;具体过程为:
Pj+1=8Pj-qj+1D
式中,D为步骤二归一化后的除数,Pj为第j次迭代后所产生的余数;
其它步骤及参数与具体实施方式一至六之一相同。
具体实施方式八:本实施方式与具体实施方式一至七之一不同的是,所述步骤十一中根据三个可能余数Pj+1′、Pj+1″、Pj+1″′的取值数据选择器2确定第j+1次迭代的部分商值qj+1及第j+1次迭代后的余数Pj+1,当第j+1次迭代求出部分商值后,将寄存器register_divout中的数值左移三位后,将第j+1次迭代求出的部分商值保存在寄存器register_divout的最低三位中;
具体过程为:
若Pj+1′>0,则qj+1取mul3的数值,Pj+1取Pj+1′的数值;
若Pj+1′<0且Pj+1″>0,则qj+1取mul2的数值,Pj+1取Pj+1″的数值;
若Pj+1′<0、Pj+1″<0、Pj+1″′>0,则qj+1取mul1的数值,Pj+1取Pj+1″′的数值;
若Pj+1′、Pj+1″、Pj+1″′均小于0,则qj+1取0,Pj+1取Pj(余数不变)的数值;
其它步骤及参数与具体实施方式一至七之一相同。
具体实施方式九:本实施方式与具体实施方式一至八之一不同的是,所述步骤十三中对商值Q进行修正,得到最终的商值;具体过程如下:
首先将商值Q右移一位,空出符号位,在根据寄存器registor_rstshr的数值,将Q右移相应的位数;
然后,根据registor_sign中的数值计算最终的商值:
如果registor_sign是1,则Q需取反加1;如果registor_sign是0,则Q需保持不变,最后,将寄存器registor_sign中的数值写入Q最高位即可,得到最终的商值。
其它步骤及参数与具体实施方式一至八之一相同。
具体实施方式十:本实施方式与具体实施方式一至九之一不同的是,所述步骤四中基于数据选择器1的输出和步骤二归一化后的除数,求出第j次迭代的部分商值qj的三个可能取值mul1,mul2,mul3;具体过程为:
基于数据选择器1的输出和步骤二归一化后的除数,通过查表1求出第j次迭代的部分商值qj的三个可能取值mul1,mul2,mul3;
表1包括被除数的第n-1位到n-4位的值(最高四位)、除数的第n-1位到n-2位的值(最高两位)和部分商值的三个可能取值mul1,mul2,mul3;
根据除数的第n-1位到n-2位和被除数的第n-1位到n-4位(最高四位),确定除数和被除数的取值范围,根据除数和被除数的可能倍数关系给出部分商值的三个可能取值mul1,mul2,mul3;
查表1时仅需要数据选择器输出的归一化后的被除数的第n-1位到n-4位,步骤二归一化后的除数的第n-1位到n-2位;n为除数和被除数的位数;
表1部分商值qj可能取值查找表
Figure BDA0002033871760000071
Figure BDA0002033871760000081
Figure BDA0002033871760000091
所述步骤九中基于数据选择器1输出的第j次迭代求出的余数Pj和步骤二归一化后的除数,求出第j+1次迭代的部分商值qj+1的三个可能取值mul1,mul2,mul3;具体过程为:
基于数据选择器1输出的第j次迭代求出的余数Pj和步骤二归一化后的除数,通过查表2求出第j+1次迭代的部分商值qj+1的三个可能取值mul1,mul2,mul3;
表2包括余数的第n-1位到n-4位的值(最高四位)、除数的第n-1位到n-2位的值(最高两位)和部分商值的三个可能取值mul1,mul2,mul3;
根据除数的第n-1位到n-2位和余数的第n-1位到n-4位(最高四位),确定除数和余数的取值范围,根据除数和余数的可能倍数关系给出部分商值的三个可能取值mul1,mul2,mul3;
查表2时仅需要余数的第n-1位到n-4位,步骤二归一化后的除数的第n-1位到n-2位;n为除数和被除数的位数;
表2部分商值qj+1可能取值查找表
Figure BDA0002033871760000101
Figure BDA0002033871760000111
其它步骤及参数与具体实施方式一至七之一相同。
采用以下实施例验证本发明的有益效果:
实施例一:
图1为基于查找表的基-8除法器的一种硬件实现方式,其电路结构包括:移位寄存器1、数据选择器1、移位和加法器、移位寄存器2、数据选择器2;
移位寄存器1的输入信号包括除数(D)输入端、被除数(A)输入端,输出信号包括除数(D)输出端和被除数(A)的输出端。
数据选择器1将被除数(A)和反馈回来的第j次迭代产生的余数作为输入,并根据需要选择其一进行输出。
根据数据选择器1的输出和除数(D)通过查找表1找出第j次迭代时商的三个可能取值mul1,mul2,mul3。
通过移位器和加法器阵列将商的三个可能取值与除数(D)进行乘法运算,并计算出三个可能的余数。
数据选择器2根据预设的判决条件,选出正确的第j+1次迭代的部分商值,及正确的第j+1次迭代的余数,并将其置入移位寄存器2进行保存。
移位寄存器将每次迭代后的部分商值和余数进行保存,并在完成一次除法计算后将除法结果传输到一位右移寄存器。
一位右移寄存器将除法结果右移一位,空出最高位的符号位,根据除数(D)和被除数(A)的符号对符号位的数值进行修正,并作为除法器的最终结果进行输出。
本发明还可有其它多种实施例,在不背离本发明精神及其实质的情况下,本领域技术人员当可根据本发明作出各种相应的改变和变形,但这些相应的改变和变形都应属于本发明所附的权利要求的保护范围。

Claims (9)

1.一种基于查找表的基-8除法器信号处理方法,其特征在于:所述方法具体过程为:
步骤一、对除数和被除数去除符号,得到去除符号后的除数和去除符号后的被除数,并计算商值的符号;
步骤二、将去符号后的除数和去符号后被除数进行归一化处理,并计算商值修正时商值需要右移的位数,将商值需要右移的位数保存在寄存器registor_rstshr中;
步骤三、根据除数和被除数的位数,确定迭代次数;
步骤四、迭代次数取j时,数据选择器1将步骤二归一化后的被除数作为输出;j=1;
基于数据选择器1的输出和步骤二归一化后的除数,求出第j次迭代的部分商值qj的三个可能取值mul1,mul2,mul3;
步骤五、用步骤四得到的第j次迭代的部分商值qj的三个可能取值mul1,mul2,mul3替代下式中第j次迭代的部分商值qj,分别计算三个对应的可能余数Pj′、Pj″、Pj″′;
步骤六、根据三个可能余数Pj′、Pj″、Pj″′的取值,数据选择器2确定第j次迭代的部分商值qj及第j次迭代后的余数Pj
步骤七、商值保存,具体过程为:
将步骤六得到的第j次迭代求出的部分商值保存在寄存器register_divout的最低三位中;执行步骤八;
步骤八、迭代次数取j+1时,数据选择器1将步骤六得到的第j次迭代求出的余数Pj作为输出;执行步骤九;
步骤九、基于数据选择器1输出的第j次迭代求出的余数Pj和步骤二归一化后的除数,求出第j+1次迭代的部分商值qj+1的三个可能取值mul1,mul2,mul3;
步骤十、用第j+1次迭代的部分商值qj+1的三个可能取值mul1,mul2,mul3替代下式中第j+1次迭代的部分商值qj+1,分别计算三个对应的可能余数Pj+1′、Pj+1″、Pj+1″′;
步骤十一、根据三个可能余数Pj+1′、Pj+1″、Pj+1″′的取值数据选择器2确定第j+1次迭代的部分商值qj+1及第j+1次迭代后的余数Pj+1,当第j+1次迭代求出部分商值后,将寄存器register_divout中的数值左移三位后,将第j+1次迭代求出的部分商值保存在寄存器register_divout的最低三位中;
步骤十二、迭代次数取j+2时,将第j+1次迭代求出的余数替换步骤八中数据选择器1的输出,重复执行步骤九至步骤十一,直到迭代完成,寄存器register_divout保存的就是商值Q;
步骤十三、对商值Q进行修正,得到最终的商值;具体过程如下:
首先将商值Q右移一位,空出符号位,在根据寄存器registor_rstshr的数值,将Q右移相应的位数;
然后,根据registor_sign中的数值计算最终的商值:
如果registor_sign是1,则Q需取反加1;如果registor_sign是0,则Q需保持不变,最后,将寄存器registor_sign中的数值写入Q最高位即可,得到最终的商值;
所述步骤四中基于数据选择器1的输出和步骤二归一化后的除数,求出第j次迭代的部分商值qj的三个可能取值mul1,mul2,mul3;具体过程为:
基于数据选择器1的输出和步骤二归一化后的除数,通过查表1求出第j次迭代的部分商值qj的三个可能取值mul1,mul2,mul3;
表1包括被除数的第n-1位到n-4位的值、除数的第n-1位到n-2位的值和部分商值的三个可能取值mul1,mul2,mul3;
查表1时仅需要数据选择器1输出的归一化后的被除数的第n-1位到n-4位,步骤二归一化后的除数的第n-1位到n-2位;n为除数和被除数的位数;
所述步骤九中基于数据选择器1输出的第j次迭代求出的余数Pj和步骤二归一化后的除数,求出第j+1次迭代的部分商值qj+1的三个可能取值mul1,mul2,mul3;具体过程为:
基于数据选择器1输出的第j次迭代求出的余数Pj和步骤二归一化后的除数,通过查表2求出第j+1次迭代的部分商值qj+1的三个可能取值mul1,mul2,mul3;
表2包括余数的第n-1位到n-4位的值、除数的第n-1位到n-2位的值和部分商值的三个可能取值mul1,mul2,mul3;
查表2时仅需要余数的第n-1位到n-4位,步骤二归一化后的除数的第n-1位到n-2位;n为除数和被除数的位数。
2.根据权利要求1所述一种基于查找表的基-8除法器信号处理方法,其特征在于:所述步骤一中对除数和被除数去除符号,得到去除符号后的除数和去除符号后的被除数,并计算商值的符号,具体过程为:
对去符号前的除数和被除数的最高位做异或,作为商的符号位,保存在特定寄存器registor_sign中;
检测除数的最高位,如果为1,把除数取反加1,如果为0,则保持除数不变;
检测被除数的最高位,如果为1,把被除数取反加1,如果为0,则保持被除数不变;
得到去除符号后的除数和被除数。
3.根据权利要求1或2所述一种基于查找表的基-8除法器信号处理方法,其特征在于:所述步骤二中将去符号后的除数和去符号后被除数进行归一化处理,并计算商值修正时商值需要右移的位数,将商值需要右移的位数保存在寄存器registor_rstshr中,具体过程为:
利用两个移位寄存器分别对去除符号后的除数和去除符号后的被除数进行左移,直到去除符号后的除数和去除符号后的被除数的最高位为1,并记录除数被左移的位数和被除数被左移的位数;
把除数被左移的位数和被除数被左移的位数相减,就是商值修正时,商值需要右移的位数,将商值需要右移的位数保存在寄存器registor_rstshr中。
4.根据权利要求3所述一种基于查找表的基-8除法器信号处理方法,其特征在于:所述步骤三中根据除数和被除数的位数,确定迭代次数;具体过程为:
将除数和被除数的位数n除以3后取整的数值记为cycle_n,根据cycle_n设置一个名为counter1的计数器,cycle_n的数值为计数器中最大循环次数,计数器中最大循环次数代表了除法运算中的迭代次数。
5.根据权利要求4所述一种基于查找表的基-8除法器信号处理方法,其特征在于:所述步骤五中用步骤四得到的第j次迭代的部分商值qj的三个可能取值mul1,mul2,mul3替代下式中第j次迭代的部分商值qj,分别计算三个对应的可能余数Pj′、Pj″、Pj″′;具体过程为:
Pj=8Pj-1-qjD
式中,D为步骤二归一化后的除数,Pj-1为第j-1次迭代后所产生的余数,Pj为第j次迭代后的余数。
6.根据权利要求5所述一种基于查找表的基-8除法器信号处理方法,其特征在于:所述步骤六中根据三个可能余数Pj′、Pj″、Pj″′的取值,数据选择器2确定第j次迭代的部分商值qj及第j次迭代后的余数Pj,具体过程为:
若Pj′>0,则qj取mul3的数值,Pj取Pj′的数值;
若Pj′<0且Pj″>0,则qj取mul2的数值,Pj取Pj″的数值;
若Pj′<0、Pj″<0、Pj″′>0,则qj取mul1的数值,Pj取Pj″′的数值;
若Pj′、Pj″、Pj″′均小于0,则qj取0,Pj取Pj-1的数值。
7.根据权利要求6所述一种基于查找表的基-8除法器信号处理方法,其特征在于:所述步骤十中用第j+1次迭代的部分商值qj+1的三个可能取值mul1,mul2,mul3替代下式中第j+1次迭代的部分商值qj+1,分别计算三个对应的可能余数Pj+1′、Pj+1″、Pj+1″′;具体过程为:
Pj+1=8Pj-qj+1D
式中,D为步骤二归一化后的除数,Pj为第j次迭代后所产生的余数。
8.根据权利要求7所述一种基于查找表的基-8除法器信号处理方法,其特征在于:所述步骤十一中根据三个可能余数Pj+1′、Pj+1″、Pj+1″′的取值数据选择器2确定第j+1次迭代的部分商值qj+1及第j+1次迭代后的余数Pj+1,当第j+1次迭代求出部分商值后,将寄存器register_divout中的数值左移三位后,将第j+1次迭代求出的部分商值保存在寄存器register_divout的最低三位中;具体过程为:
若Pj+1′>0,则qj+1取mul3的数值,Pj+1取Pj+1′的数值;
若Pj+1′<0且Pj+1″>0,则qj+1取mul2的数值,Pj+1取Pj+1″的数值;
若Pj+1′<0、Pj+1″<0、Pj+1″′>0,则qj+1取mul1的数值,Pj+1取Pj+1″′的数值;
若Pj+1′、Pj+1″、Pj+1″′均小于0,则qj+1取0,Pj+1取Pj的数值。
9.根据权利要求8所述一种基于查找表的基-8除法器信号处理方法,其特征在于:所述步骤十三中对商值Q进行修正,得到最终的商值;具体过程如下:
首先将商值Q右移一位,空出符号位,在根据寄存器registor_rstshr的数值,将Q右移相应的位数;
然后,根据registor_sign中的数值计算最终的商值:
如果registor_sign是1,则Q需取反加1;如果registor_sign是0,则Q需保持不变,
最后,将寄存器registor_sign中的数值写入Q最高位即可,得到最终的商值。
CN201910318408.6A 2019-04-19 2019-04-19 一种基于查找表的基-8除法器信号处理方法 Active CN110069237B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910318408.6A CN110069237B (zh) 2019-04-19 2019-04-19 一种基于查找表的基-8除法器信号处理方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910318408.6A CN110069237B (zh) 2019-04-19 2019-04-19 一种基于查找表的基-8除法器信号处理方法

Publications (2)

Publication Number Publication Date
CN110069237A CN110069237A (zh) 2019-07-30
CN110069237B true CN110069237B (zh) 2021-03-26

Family

ID=67368102

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910318408.6A Active CN110069237B (zh) 2019-04-19 2019-04-19 一种基于查找表的基-8除法器信号处理方法

Country Status (1)

Country Link
CN (1) CN110069237B (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113791753A (zh) * 2021-09-15 2021-12-14 山东芯慧微电子科技有限公司 一种基于fpga的支持快速除法的可编程dsp
CN117331529B (zh) * 2023-12-01 2024-03-05 泰山学院 一种除法器逻辑电路及实现除法器逻辑电路的方法

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107567613A (zh) * 2015-04-21 2018-01-09 高通股份有限公司 高性能除法及根计算单元
CN108459839A (zh) * 2018-02-06 2018-08-28 芯颖科技有限公司 一种除法运算方法及除法器电路

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CA2161467C (en) * 1994-11-18 2001-01-30 Kumar Ramaswamy Apparatus for demodulating and decoding satellite, terrestrial and cable transmitted digital television data
US5696712A (en) * 1995-07-05 1997-12-09 Sun Microsystems, Inc. Three overlapped stages of radix-2 square root/division with speculative execution
US9753695B2 (en) * 2012-09-04 2017-09-05 Analog Devices Global Datapath circuit for digital signal processors
CN103984521B (zh) * 2014-05-27 2017-07-18 中国人民解放军国防科学技术大学 Gpdsp中simd结构浮点除法的实现方法及装置
CN104699450A (zh) * 2015-03-18 2015-06-10 浪潮集团有限公司 一种基于进位保留加法器的基数-16定点除法器
US10209957B2 (en) * 2015-05-04 2019-02-19 Samsung Electronics Co., Ltd. Partial remainder/divisor table split implementation
CN106354473B (zh) * 2015-07-16 2019-02-12 浙江大华技术股份有限公司 一种除法器和求商和余数的方法
CN105955706B (zh) * 2016-06-16 2018-06-26 武汉芯泰科技有限公司 一种除法器及除法运算方法

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107567613A (zh) * 2015-04-21 2018-01-09 高通股份有限公司 高性能除法及根计算单元
CN108459839A (zh) * 2018-02-06 2018-08-28 芯颖科技有限公司 一种除法运算方法及除法器电路

Also Published As

Publication number Publication date
CN110069237A (zh) 2019-07-30

Similar Documents

Publication Publication Date Title
EP0411491B1 (en) Method and apparatus for performing division using a rectangular aspect ratio multiplier
CN105955706B (zh) 一种除法器及除法运算方法
CN107305484B (zh) 一种非线性函数运算装置及方法
US5307303A (en) Method and apparatus for performing division using a rectangular aspect ratio multiplier
CN106951211B (zh) 一种可重构定浮点通用乘法器
CN110069237B (zh) 一种基于查找表的基-8除法器信号处理方法
CN104375802A (zh) 一种乘除法器及运算方法
US5023827A (en) Radix-16 divider using overlapped quotient bit selection and concurrent quotient rounding and correction
CN103870438A (zh) 一种利用数论变换计算循环卷积的电路结构
US5060182A (en) Method and apparatus for performing the square root function using a rectangular aspect ratio multiplier
CN107992284B (zh) 一种可编程器件的除法功能实现方法
CN101295237B (zh) 求商和余数的高速除法器
US9519457B2 (en) Arithmetic processing apparatus and an arithmetic processing method
US8862647B2 (en) Semiconductor integrated circuit and exponent calculation method
JP2502836B2 (ja) 除算回路の前処理装置
JP5590148B2 (ja) 割り算回路
CN117032625A (zh) 一种低延时的浮点平方根函数硬件实现方法
US5289399A (en) Multiplier for processing multi-valued data
US7174015B1 (en) Methods and apparatus for variable radix scalable modular multiplication
CN111506293B (zh) 一种基于srt算法的高基除法器电路
US8417761B2 (en) Direct decimal number tripling in binary coded adders
CN204143432U (zh) 一种乘除法器
CN115033205B (zh) 一种低延迟高精度定值除法器
CN214409954U (zh) 一种ssd主控芯片中乘法运算电路
US20090292756A1 (en) Large-factor multiplication in an array of processors

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant