余数计算电路、除法单元及除法器的制作方法

文档序号:16010002发布日期:2018-11-20 20:34阅读:276来源:国知局

本实用新型涉及信息处理技术,具体地,涉及N进制数除以 N-1的除法器电路。



背景技术:

现有技术的除法器要提供通用性,支持对任意除数与被除数的除法操作,计算过程中经过试商、乘法、加法等多种操作,一般还需要多个阶段,除法器电路复杂,计算过程的控制也复杂。



技术实现要素:

本申请提供的除法器专用于计算N进制数除以N-1的除法运算。所提供的除法器使用加法器、比较器等部件实现除法功能,不使用乘法器,电路简单,计算过程高效。

根据本申请的第一方面,提供了根据本申请第一方面的第一余数计算电路,用于计算N进制数除以N-1的余数,N为非零自然数,包括第一求和电路、第二求和电路和查找表电路,第一求和电路和第二求和电路耦合,第二求和电路和查找表电路耦合;第一求和电路对被除数的各个位按N进制求和,并将求和结果提供给第二求和电路,第二求和电路对第一求和电路提供的求和结果的各个位按N进制求和,并将求和结果提供给查找表电路,查找表电路的输出结果为余数。

根据本申请的第一方面的第一余数计算电路,提供了根据本申请第一方面的第二余数计算电路,第一求和电路和第二求和电路为N进制加法器。

根据本申请的第一方面的第一或第二余数计算电路,提供了根据本申请第一方面的第三余数计算电路,查找表电路将0~(N-2) 的输入分别映射为0~(N-2),将N-1的输入映射为0。

根据本申请的第一方面的第一至第三余数计算电路之一,提供了根据本申请第一方面的第四余数计算电路,用比较器与选择器替代查找表电路。

根据本申请的第一方面的第四余数计算电路,提供了根据本申请第一方面的第五余数计算电路,比较器识别求和电路的输出是否同除数相同;选择器的输入为第二求和电路的输出与0;若比较器识别出第二求和电路输出同除数相同,指示选择器选择输出0 作为余数;若比较器识别出第二求和电路输出同除数不相同,指示选择器选择输出第二求和电路的输出作为余数。

根据本申请的第一方面的第一至第五余数计算电路之一,提供了根据本申请第一方面的第六余数计算电路,若第二求和电路的输出包括2位或2位以上的N进制位求和,还提供进一步的第三求和电路对第二求和电路的输出的各个N进制位求和,并将第三求和电路的输出提供给查找表电路。

根据本申请的第一方面的第一至第六余数计算电路之一,提供了根据本申请第一方面的第七余数计算电路,若第三求和电路的输出依然包括2位或者2位以上的N进制数,级联进一步的求和电路,直至末级求和电路的输出仅包括1位N进制数,并将末级求和电路的输出提供给查找表电路。

根据本申请的第二方面,提供了根据本申请第二方面的第一余数计算电路,用于计算N进制数除以N-1的余数,N为非零自然数,包括第三求和电路、第四求和电路、第二比较器、第二选择器和查找表电路,第三求和电路分别和第四求和电路、第二比较器、第二选择器耦合,第四求和电路和第二比较器分别与第二选择器耦合,第二选择器和查找表电路耦合,第三求和电路对被除数的各个位按N进制求和,并将求和结果提供给第四求和电路、第二比较器和第二选择器,第四求和电路对第三求和电路提供的求和结果的各个位按N进制求和,并将求和结果提供给第二选择器,第二比较器指示第二选择器选择第三求和电路与第四求和电路输出之一作为输出,第二选择器的输出提供给查找表电路,查找表电路的输出为所述余数计算电路输出的余数。

根据本申请的第二方面第一余数计算电路,提供了根据本申请第二方面的第二余数计算电路,第二比较器比较第三求和电路的输出与N进制数N-1;若第三求和电路的输出大于N-1,第二比较器指示第二选择器选择第四求和电路的输出;若第三求和电路的输出小于N-1,第二比较器指示第二选择器选择第三求和电路的输出;若第三求和电路的输出等于N-1,第二比较器指示第二选择器选择第三求和电路或者第四求和电路的输出。

根据本申请的第二方面第一或第二余数计算电路,提供了根据本申请第二方面的第三余数计算电路,用第三比较器与第三选择器替代查找表电路。

根据本申请的第二方面第三余数计算电路,提供了根据本申请第二方面的第四余数计算电路,第三比较器识别第二选择器的输出是否同除数相同;第三选择器的输入包括第二选择器的输出与0;若第三比较器识别出第二选择器的输出同除数相同,指示第三选择器选择输出0作为余数;若第三比较器识别出第二选择器的输出同除数不同,指示第三选择器选择输出第二选择器的输出作为余数。

根据本申请的第二方面的第一或第二余数计算电路,提供了根据本申请第二方面的第五余数计算电路,省略查找表电路。

根据本申请的第二方面的第五余数计算电路,提供了根据本申请第二方面的第六余数计算电路,第二选择器的输入包括第三求和电路的输出、第四求和电路的输出以及0;若第三求和电路的输出大于N-,则第二比较器指示第二选择器选择第四求和电路的输出作为余数;若第三求和电路的输出小于N-1,则第二比较器指示第二选择器选择第三求和电路的输出作为余数;若第三求和电路的输出等于N-1或N-1的整数倍,则第二比较器指示第二选择器选择输出0作为余数。

根据本申请的第三方面,提供了根据本申请第三方面的第一除法单元,用于计算N进制数除以N-1的余数,N为非零自然数,被除数包括第一位和第二位,第一位相对于第二位是高位,包括:求和电路、比较器、选择器和余数计算电路,求和电路分别与余数计算电路、比较器耦合,求和电路对被除数的第一位和第二位按N进制求和,并将求和结果分别提供给余数计算电路和比较器,比较器与选择器耦合,余数计算电路的输出是所述除法单元得到的余数,选择器输出的是所述除法单元得到的商。

根据本申请的第三方面的第一除法单元,提供了根据本申请第三方面的第二除法单元,比较器比较求和电路的输出与N-1的大小;比较器的输出用于控制选择器选择第一位或者第一位与1 的和作为除法单元得到的商。

根据本申请的第三方面的第二除法单元,提供了根据本申请第三方面的第三除法单元,若求和电路的输出小于N-1,比较器的输出控制选择器选择第一位作为除法单元得到的商;若求和电路的输出不小于N-1,比较器的输出控制选择器选择第一位与1的和作为除法单元得到的商。

根据本申请的第三方面的第一至第三除法单元之一,提供了根据本申请第三方面的第四除法单元,余数计算电路是第一方面或第二方面所述的余数计算电路。

根据本申请的第四方面,提供了根据本申请第四方面的第一除法器,用于计算N进制数除以N-1的余数,被除数AxAx-1A…A1A0是x+1位的N进制数,Ax到A0各自是1位N进制数,Ax是被除数的最高位,A0是被除数的最低位,Ak是与Ak-1相邻的高位,其中1≤k≤x,N、x与k是非零自然数,包括x+1个除法单元,除法单元DIVx的被除数输入端的高位耦合到N进制数0,除法单元 DIVx的被除数输入端的低位耦合到Ax,除法单元DIVx输出的商为所述除法器的商Dx,除法单元DIVx输出的余数Ex被提供给除法单元DIVx-1;除法单元DIVj的被除数输入端的低位耦合到Aj,高位耦合到除法单元DIVj+1输出的余数Ej+1,除法单元DIVj的输出的商作为所述除法器的商Dj,除法单元DIVj的输出的余数Ej耦合到除法单元DIVj-1的被除数的高位,其中j为自然数且1≤j ≤x-1;除法单元DIV0的被除数输入端的低位耦合到A0,除法单元DIV0的被除数输入端的高位耦合到除法单元DIV1输出的余数 E1,除法单元DIV0的输出的商作为所述除法器的商D0,除法单元 DIV0的输出的余数E0作为所述除法器的余数E0。

根据本申请的第四方面的第一除法器,提供了根据本申请第四方面的第二除法器,除法器的的商包括x+1位N进制数 DxDx-1D…D1D0,Dx到D0各自是1位N进制数,DxDx-1D…D1D0是所述除法器得到的商,Dx是商的最高位,D0是商的最低位,Dk是DAk-1相邻的高位。

根据本申请的第四方面的第一或第二除法器,提供了根据本申请第四方面的第三除法器,除法单元为第三方面所述的除法单元。

附图说明

为了更清楚地说明本实用新型实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本实用新型中记载的一些实施例,对于本领域技术人员来讲,还可以根据这些附图获得其他的附图。

图1是根据本申请实施例的余数计算电路的框图;

图2是根据本申请又一实施例的余数计算电路的框图;

图3是根据本申请实施例的计算2位N进制数除以(N-1)的除法单元的框图;

图4是根据本申请实施例的计算多位N进制数除以(N-1)的除法器的框图。

具体实施方式

下面结合本实用新型实施例中的附图,对本实用新型实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本实用新型中的实施例,本领域技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本实用新型保护的范围。

N进制数除以N-1,得到商与余数。例如,对于16进制(N=16 (为便于理解,以十进制数展示))数0xFE,除数是“0xF”(N-1), 0xFE除以0xE,得到商为0x10,余数为0xE。

图1是根据本申请实施例的余数计算电路的框图,用于计算N 进制数除以(N-1)的余数。如图1所示,Ax-1Ax-2…A0表示被除数,有x位,其中Ax-1代表被除数的最高位符号,是一位N进制数; Ax-2代表被除数的次高位符号,是一位N进制数;以及类似地, A0代表被除数的最低位符号,是一位N进制数。除数是N进制数 N-1。

求和电路110对被除数的各个位按N进制求和。例如,对于 N为16的情况,求和电路110计算Ax-1+Ax-2+…+A0,结果是多位十六进制数,并将求和结果提供给求和电路120。求和电路120对求和电路110提供的计算结果的各个位按十六进制求和。例如,被除数是0xFFFFFE,求和电路110计算 0xF+0xF+0xF+0xF+0xF+0xE,得到0x59。求和电路110计算得到的十六进制数0x59包括2个数字位。求和电路110将计算结果提供给求和电路120,求和电路120对求和电路110提供的计算结果的各个位按十六进制求和,即计算0x5+0x9,得到结果0xE。0xE 即为十六进制被除数是0xFFFFFE除以0xF得到的余数。

求和电路110与求和电路120是例如现有技术的N进制加法器。

可选地,若求和电路120输出结果为0xF,则对应的余数为0。在图1的例子中,查找表电路130将求和电路120输出的0x0-0xE 映射为同求和电路120输出的相同的值,作为余数,而将求和电路120输出的0xF映射为0,作为余数。一般地,对于N进制数,查找表电路130将0-(N-2)的输入分别映射为0-(N-2),而将N-1 的输入映射为0。

可选地,由比较器与选择器来替代查找表电路130。比较器识别求和电路120的输出是否同除数相同(对于N进制数,除数是 N-1)。选择器的输入包括求和电路120的输出与0。若比较器识别出求和电路120的输出同除数相同,指示选择器选择输出0作为余数。若比较器识别出求和电路120的输出同除数不同,指示选择器选择输出求和电路120的输出作为余数。

可以理解地,虽然以十六进制数作为举例,根据图1的实施例,可应用于计算N进制数除N-1的余数。相应地,求和电路110 与求和电路120对输入数据的各个位,按N进制求和。

根据图1的实施例,适用于求和电路120的输出包括仅1位N 进制数的情况。

作为举例,余数计算电路的输入包括X位N进制数,每个数字位的取值范围是0~(N-1),则求和电路110的输出的取值范围是 0~(N-1)*X。若求和电路120的输出包括2位或2位以上的N进制数,还提供进一步的第三求和电路对求和电路120的输出的各个N 进制位求和,并将第三求和电路的输出提供给查找表电路130或作为余数输出。依然进一步地,若第三求和电路的输出依然包括2 位或2位以上的N进制数,以类似的方式级联进一步的加法器,直到末级加法器的输出仅包括仅1位N进制数。将末级求和电路的输出提供给查找表电路130或作为余数输出。

图2是根据本申请又一实施例的余数计算电路的框图,用于计算N进制数除以N-1的余数。

根据图2的实施例的余数计算电路用于对2位N进制数计算其除以N-1的余数。

图2中,A与E分别是被除数的两个位,求和电路210对A 与E按N进制求和。

如图2所示,余数计算电路包括求和电路210、求和电路220、比较器230、选择器240和可选的查找表电路250,求和电路210 的输出分别耦合到求和电路220、比较器230与选择器240的输入端,求和电路220的输出耦合到选择器240的输入,选择器240 的输出耦合到查找表电路250。比较器230的另一个输入耦合到等于除数(N-1)的值。求和电路210对被除数的各个位按N进制求和,并将求和结果提供给求和电路220、比较器230和选择器240,求和电路220对求和电路210提供的求和结果的各个位按N进制求和,并将求和结果提供给选择器240。比较器230的输出耦合到选择器240的控制端,并指示选择器240选择求和电路210的输出与求和电路220的输出之一作为输出。选择器240的输出提供给查找表电路250。查找表电路250的输出为所述余数计算电路输出的余数。

比较器230比较求和电路210的输出与N进制数(N-1)。若求和电路210的输出大于N-1,意味着求和电路210的输出至少有2 位有效数字,则比较器230指示选择器240选择求和电路220的输出,提供给查找表电路250。若求和电路210的输出小于N-1,则比较器230指示选择器240选择求和电路210的输出,提供给查找表电路250。若求和电路210的输出等于N-1,则比较器230 指示选择器240选择求和电路210或求和电路220任何一者的输出,提供给查找表电路250。查找表电路250是例如图1的查找表电路130。查找表电路250的输出是余数计算电路计算得到的余数。

可选地,由第二比较器与第二选择器来替代查找表电路250。第二比较器识别选择器的输出是否同除数相同(对于N进制数,除数是N-1)。第二选择器的输入包括选择器的输出与0。若第二比较器识别出选择器的输出同除数相同,指示第二选择器选择输出0作为余数。若第二比较器识别出选择器的输出同除数不同,指示第二选择器选择输出选择器的输出作为余数。

依然可选地,省略查找表电路250,选择器240的输入包括求和电路210的输出、求和电路220的输出以及0。若求和电路210 的输出大于N-1且小于2倍的(N-1),则比较器指示选择器选择求和电路220的输出,作为余数计算电路输出的余数。若求和电路 210的输出小于N-1,则比较器指示选择器选择求和电路210的输出。若求和电路210的输出等于N-1或2倍的N-1,则比较器指示选择器选择0作为输出。

图3是根据本申请实施例的计算2位N进制数除以(N-1)的除法单元的框图。

如图3所示,除法单元的输入是2位N进制数,其中Ez+1是高位,Az是低位。例如,在多位数除法中,Az是被除数的第z位,而Ez+1是被除数的第z位的所有高位(不包括第z位)除以N-1 后的余数。或者,Az是被除数的第z位,而Ez+1是被除数的第z+1 位。除法单元的输出包括商Dz与余数Ez。例如,在多位数除法中, Dz指示第z位的商,而Ez指示被除数的第z-1位的所有高位(不包括第z-1位)除以N-1后的余数。对于被除数是2位数的情况, Ez+1是被除数的高位,Az是被除数的低位,除法计算结果中,商是 Dz,余数是Ez。

除法单元包括求和电路310、比较器320、选择器330和余数计算电路340,求和电路310的输出分别耦合到余数计算电路340、比较器320的输入端,求和电路310对被除数的第一位Ez+1和第二位Az按N进制求和,并将求和结果分别提供给余数计算电路340 和比较器320。比较器320的输出耦合到选择器330的控制端,选择器的输入端耦合到被除数的高位Ez+1与(Ez+1+1的和)。余数计算电路340的输出是除法单元得到的余数。选择器330输出的是所述除法单元得到的商。

比较器320比较求和电路310的输出与(N-1)的大小。比较器 320的输出用于控制选择器330选择Ez+1或(Ez+1+1)作为除法单元得到的商Dz。

若求和电路310的输出小于(N-1),比较器320的输出控制选择器330选择Ez+1作为除法单元得到的商Dz。若求和电路310的输出不小于(N-1),比较器320的输出控制选择器330选择(Ez+1+1) 作为除法单元得到的商Dz。

求和电路310的输出还被提供给余数计算电路340,余数计算电路340的输出作为除法单元得到的余数Ez。例如,余数计算电路340是图1的余数计算电路的求和电路120与查找表130的组合;或者余数计算电路340是图2的求和电路220、比较器230、选择器240与查找表250的组合。可选地,被除数的两位Ez+1与 Az直接耦合到余数计算电路340的输入端,在此情况下,余数计算电路是现有技术的余数计算电路、图1所示的余数计算电路或图2所示的余数计算电路。

图4是根据本申请实施例的计算多位N进制数除以(N-1)的除法器的框图。

图4中,作为举例,被除数是AxAx-1A…A1A0是x+1位N进制数,Ax到A0各自是1位N进制数。被除数中,Ax是被除数的最高位,A0是被除数的最低位,Ak是与Ak-1相邻的高位,其中1 ≤k≤x,N、x与k是非零自然数。Ex+1(0)是1位N进制数,并且值为0。除法器的计算结果包括X+1位N进制数DxDx-1D…D1D0, Dx到D0各自是1位N进制数,DxDx-1D…D1D0是除法器数除的商, Dx是商的最高位,D0是商的最低位。Dx可能为0(依赖于除法单元410输出的商)。除法器的输出E0是除法器输出的余数。

为对N进制被除数进行除以(N-1)的计算,在被除数的最高位Ax前补0(图4中表示为Ex+1(0)),作为比最高位Ax更高的1位。

图4的除法器包括x+1个除法单元(410、420、……、480、 490),分别记为DIV0~DIVx。各个除法单元是例如图3所示的除法单元。

除法单元DIVx(410)的被除数输入端的高位耦合到N进制数0,除法单元DIVx(410)的被除数输入端的低位耦合到Ax,除法单元DIVx(410)输出的商为所述除法器的商Dx,除法单元DIVx输出的余数Ex被提供给除法单元DIVx-1(420)。

除法单元DIVj(420、……或480)的被除数输入端的低位耦合到Aj,高位耦合到除法单元DIVj+1输出的余数Ej+1,除法单元 DIVj的输出的商作为所述除法器的商Dj,除法单元DIVj的输出的余数Ej耦合到除法单元DIVj-1的被除数的高位,其中j为自然数且 1≤j≤x-1。

除法单元DIV0(490)的被除数输入端的低位耦合到A0,除法单元DIV0(490)的被除数输入端的高位耦合到除法单元DIV1 (480)输出的余数E1,除法单元DIV0(490)的输出的商作为所述除法器的商D0,除法单元DIV0的输出的余数E0作为所述除法器的余数E0。

将补充的0(图4中表示为Ex+1(0))与Ax作为被除数提供给除法单元410,其中,补充的0耦合到除法单元410的两位被除数输入端的高位,Ax是两位被除数输入端的低位。除法单元410输出的商(Dx)作为除法器输出的商的最高位。除法单元410输出的余数(Ex)被提供给下一级除法单元(420)。

除法单元420接收除法单元410提供的余数(Ex)与被除数的第二位Ax-1作为除法单元420的被除数,其中前级除法单元410 提供的余数作为除法单元420的被除数的高位,而除法器的第二位Ax-1作为除法单元420的被除数的低位。除法单元420输出的商作为除法器的商的第二位Dx-1,除法单元420输出的余数Ex-1被提供给下一级除法单元。

依次类推,除法单元490接收除法单元480提供的余数(E1) 与被除数的最后一位A0作为除法单元490的被除数,其中前级除法单元480提供的余数作为除法单元490的被除数的高位,而除法器的最后一位A0作为除法单元490的被除数的低位。除法单元 490输出的商作为除法器的商的最后一位D0,除法单元490输出的余数E0为除法器输出的余数。

尽管已描述了本申请的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例作出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本申请范围的所有变更和修改。显然,本领域的技术人员可以对本申请进行各种改动和变型而不脱离本申请的精神和范围。这样,倘若本申请的这些修改和变型属于本申请权利要求及其等同技术的范围之内,则本申请也意图包含这些改动和变型在内。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1