开平方的方法及相应的用于开平方的电路技术

技术编号:24708342 阅读:41 留言:0更新日期:2020-07-01 00:01
本发明专利技术涉及一种开平方的方法及相应的用于开平方的电路,其中,通过假设法依次求出待开平方数的平方根中每一位数的系数,最终得到相应的平方根,所述的相应的用于开平方的电路执行上述方法中的操作步骤,可以有效的针对二进制数进行开平方的运算,在电路中,采用比较器、加法器、减法器以及移位寄存器对待开平方数进行移位和加减操作就可实现对待开方数的开平方计算。采用该种开平方的方法及相应的用于开平方的电路,可以直接对输入数字电路中的整数进行开平方计算,计算效率高,所采用的电路成本较低,且运算速度较快,适用范围广泛。

【技术实现步骤摘要】
开平方的方法及相应的用于开平方的电路
本专利技术涉及电子领域,尤其涉及数字电路领域,具体涉及一种开平方的方法及相应的用于开平方的电路。
技术介绍
在一些数字电路中,往往会涉及开平方计算,现有技术中进行这些运算时一般采用的方法包括实函数近似法、牛顿迭代法等计算方法,其中实函数近似法精度较低,牛顿迭代法的迭代次数由初始值与平方根精度决定,且需要除法计算。现有技术中的一些其它的运算方法也存在晦涩难懂,或者计算较为复杂的问题,这就使得,采用现有技术中的方法进行开平方计算时,对于计算的硬件有着要求较高的要求。有时在进行开平方运算时,还会使用到浮点的开平方模块,而这往往会占用较多资源,对于计算芯片的要求就更高了,成本非常高,且计算速度较慢。
技术实现思路
本专利技术的目的是克服至少一个上述现有技术的缺点,提供了一种运算速度较快、结构简单、成本较低的开平方的方法及相应的用于开平方的电路。为了实现上述目的或其他目的,本专利技术的开平方的方法及相应的用于开平方的电路如下:该应用于数字电路中的开平方的方法,其主要特点是,所述的方法包括以下步骤:(1)确定二进制的待开平方数x的位数n;(2)采用假设法依次从高位向低位求出所述的二进制的待开平方数x的平方根y中每一位上的系数;所述的平方根y中的每一位数的系数的确定均以前一次计算所得的余数ri的最高两位的和作为计算依据,若所述的前一次计算所得的余数ri的最高两位的和大于0,则确定当前计算的所述的平方根y中的位数的系数等于1,若所述的前一次计算所得的余数ri的最高两位的和等于0,则确定当前计算的所述的平方根y中的位数的系数等于0,其中,在确定所述的平方根y中的最高位数的系数时,采用所述的待开平方数x作为所述的前一次计算所得的余数ri;(3)将求出的所述的平方根y中的每一位上的系数乘以对应的权值后相加,得到最终的待开平方数的平方根y。较佳地,所述的步骤(2)包括以下步骤:(21)判断与所述的当前计算的所述的平方根y中的位数对应的前一次计算所得的余数ri的最高两位的和是否大于0;(22)若与所述的当前计算的所述的平方根y中的位数对应的前一次计算所得的余数ri的最高两位的和大于0,则确定所述的当前计算的所述的平方根y中的位数的系数等于1;否则,确定所述的当前计算的所述的平方根y中的位数的系数等于1;(23)将当前计算的所述的平方根y中的位数的系数乘以该系数所对应的位数的权值得到当前计算的所述的平方根y中的位数所对应的数值,并将该数值进行平方,得到与当前计算的所述的平方根y中的位数所对应的平方后的数值;(24)通过将所述的前一次计算所得的余数ri减去与当前计算的所述的平方根y中的位数所对应的平方后的数值,得到当前计算所得的余数;(25)将所述的当前计算所得的余数作为新的前一次计算所得的余数ri代入上述步骤(21),用于计算与所述的当前计算的所述的平方根y中的位数相邻的后一位位数的系数,直到求出所述的平方根y中的每一位上的系数的值后,继续后续步骤(3)。较佳地,所述的步骤(1)之前还包括以下步骤:(0.1)将所述的待开平方数x输入至数字电路中。更佳地,若输入至所述的数字电路中的所述的待开平方数x不是二进制数,则所述的步骤(0.1)和步骤(1)之间还包括以下步骤:(0.2)将所述的待开平方数x转换为所述的二进制的待开平方数x。该开平方的电路,其主要特点是,待开平方数x为二进制数,所述的电路包括第一加法器、第二加法器、第三加法器、第一选择器、第二选择器、第三选择器、第四选择器、第一比较器、第二比较器、第三比较器、第一移位寄存器、第二移位寄存器、第三移位寄存器、第四移位寄存器、第五移位寄存器、第一减法器、第二减法器以及与门;所述的待开平方数x输入至所述的第一移位寄存器的输入端,所述的第一移位寄存器的输出端与所述的第二比较器的第一输入端相连接,所述的第二比较器的第二输入端输入1,所述的第二比较器的输出端同时与所述的第二选择器的第一输入端以及所述的第三选择器的第一输入端相连接;所述的第一加法器的第一输入端输入1,所述的第一加法器的输出端与所述的第一选择器的第一输入端相连接,所述的第一选择器的第二输入端输入0,所述的第一选择器的输出端同时与所述的第一加法器的第二输入端以及所述的第一比较器的第一输入端相连接,所述的第一比较器的的第二输入端用于输入用户设定的阈值,所述的第一比较器的输出端同时与所述的第一选择器的反馈端以及第二选择器的第二输入端相连接;所述的第三选择器的第二输入端与所述的第一减法器的输出端相连接,所述的第三选择器的第三输入端与所述的第二减法器的输出端相连接,所述的第三选择器的第四输入端与所述的与门相的输出端连接;所述的第一减法器的第一输入端与所述的第三移位寄存器的输出端相连接,所述的第一减法器的第二输入端用于接收所述的待开平方数x,所述的第三移位寄存器的输入端用于接收首次迭代状态下得到的所述的待开平方数的平方根y;所述的第三选择器的输出端与所述的第三比较器的第一输入端相连接;所述的第四移位寄存器的输入端用于接收非初次迭代状态下时,其它迭代过程中得到的当前的待开平方数的平方根,所述的第四移位寄存器的输出端与所述的第三加法器的第一输入端相连接,所述的第三加法器的第二输入端输入1,所述的第三加法器的输出端与所述的第五移位寄存器的输入端相连接,所述的第五移位寄存器的输出端与所述的第三比较器的第二输入端相连接;所述的与门的两个输入端分别与所述的第一比较器的输出端以及所述的第三比较器的输出端相连接;所述的第三比较器的输出端与所述的第二选择器的第三输入端相连接;所述的第二选择器的第四输入端输入0,所述的第二选择器的第五输入端输入1,所述的第二选择器的第六输入端与所述的第二加法器的输出端相连接,所述的第二选择器的第七输入端与所述的第二移位寄存器的输出端相连接;所述的第二选择器的输出端同时与所述的第二加法器的第一输入端、第二移位寄存器的输入端以及所述的第四选择器的第一输入端相连接,所述的第四选择器的第二输入端输入0,所述的第四选择器的第三输入端与所述的第一比较器的输出端相连接;所述的第四选择器的输出端用于输出最终的待开平方数的平方根y。较佳的,所述的第一选择器、第二选择器以及第四选择器上均设有一复位端。采用本专利技术的开平方的方法及相应的用于开平方的电路,通过假设法依次求出待开平方数的平方根中每一位数的系数,最终得到相应的平方根,可以有效的针对二进制数进行开平方的运算。在相应的用于开平方的电路,采用比较器、加法器、减法器以及移位寄存器对待开平方数进行移位和加减操作就可实现对待开方数的开平方计算,执行上述开平方的方法中的步骤的硬件成本较低,且运算便捷,适用范围广泛。附图说明图1为本专利技术一实施例中的用于开平方的电路的结构示意图。图2为本专利技术的一实施例中的用于开平方的电路的工作流程示意图。图本文档来自技高网...

【技术保护点】
1.一种应用于数字电路中的开平方的方法,其特征在于,所述的方法包括以下步骤:/n(1)确定二进制的待开平方数x的位数n;/n(2)采用假设法依次从高位向低位求出所述的二进制的待开平方数x的平方根y中每一位上的系数;所述的平方根y中的每一位数的系数的确定均以前一次计算所得的余数r

【技术特征摘要】
1.一种应用于数字电路中的开平方的方法,其特征在于,所述的方法包括以下步骤:
(1)确定二进制的待开平方数x的位数n;
(2)采用假设法依次从高位向低位求出所述的二进制的待开平方数x的平方根y中每一位上的系数;所述的平方根y中的每一位数的系数的确定均以前一次计算所得的余数ri的最高两位的和作为计算依据,若所述的前一次计算所得的余数ri的最高两位的和大于0,则确定当前计算的所述的平方根y中的位数的系数等于1,若所述的前一次计算所得的余数ri的最高两位的和等于0,则确定当前计算的所述的平方根y中的位数的系数等于0,其中,在确定所述的平方根y中的最高位数的系数时,采用所述的待开平方数x作为所述的前一次计算所得的余数ri;
(3)将求出的所述的平方根y中的每一位上的系数乘以对应的权值后相加,得到最终的待开平方数的平方根y。


2.根据权利要求1所述的应用于数字电路中的开平方的方法,其特征在于,所述的步骤(2)包括以下步骤:
(21)判断与所述的当前计算的所述的平方根y中的位数对应的前一次计算所得的余数ri的最高两位的和是否大于0;
(22)若与所述的当前计算的所述的平方根y中的位数对应的前一次计算所得的余数ri的最高两位的和大于0,则确定所述的当前计算的所述的平方根y中的位数的系数等于1;否则,确定所述的当前计算的所述的平方根y中的位数的系数等于1;
(23)将当前计算的所述的平方根y中的位数的系数乘以该系数所对应的位数的权值得到当前计算的所述的平方根y中的位数所对应的数值,并将该数值进行平方,得到与当前计算的所述的平方根y中的位数所对应的平方后的数值;
(24)通过将所述的前一次计算所得的余数ri减去与当前计算的所述的平方根y中的位数所对应的平方后的数值,得到当前计算所得的余数;
(25)将所述的当前计算所得的余数作为新的前一次计算所得的余数ri代入上述步骤(21),用于计算与所述的当前计算的所述的平方根y中的位数相邻的后一位位数的系数,直到求出所述的平方根y中的每一位上的系数的值后,继续后续步骤(3)。


3.根据权利要求1所述的应用于数字电路中的开平方的方法,其特征在于,所述的步骤(1)之前还包括以下步骤:
(0.1)将所述的待开平方数x输入至数字电路中。


4.根据权利要求3所述的应用于数字电路中的开平方的方法,其特征在于,若输入至所述的数字电路中的所述的待开平方数x不是二进制数,则所述的步骤(0.1)和步骤(1)之间还包括以下步骤:
(0.2)将所述的待开平方数x转换为所述的二进制的待开平方数x。


5.一种用于开平方的电路,其特征在于,待开平方数x为二进制数,所述的电路包括第一加法器、第二加法器、第三加法器、第一选择器、第二选择器、第三选择...

【专利技术属性】
技术研发人员:顾丽娟舒文丽翟昊方王聪颖
申请(专利权)人:无锡华润矽科微电子有限公司
类型:发明
国别省市:江苏;32

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

1