RISC-V MCU中文社区

【分享】 开平方运算实现之恢复算法

发表于 全国大学生集成电路创新创业大赛 2023-05-10 15:36:46
0
1199
0

队伍编号:CICC1449
队伍名称:礼堂盯帧电子研究所

摘要:

本文主要描述如何使用恢复算法来实现开平方运算。

简介

开平方的恢复算法其实与除法的恢复算法十分相似。首先我们假设X为输入的操作数(它应该为正数),而他的平方根可以表示为Qn=0.q1q2q3……qn。其中,n是总共需要迭代的次数,而Q的每一位都由一次迭代产生。因此Qi可表示为以下的形式:
图片alt

##### 开平方的恢复算法其实可以看作是使用多个不同除数的除法操作!

整体的操作流程如下:

图片alt

如果我们输入的操作数X=0.1011,那么按照上述的步骤计算,就可以算出结果为Q=0.1101,具体计算过程如下:如果我们输入的操作数X=0.1011,那么按照上述的步骤计算,就可以算出结果为Q=0.1101,具体计算过程如下:

图片alt

硬件实现架构图如下所示,其中我们将8比特的操作数X作为输入,从而得到的Q是4比特的。我们总共用到了17个减法模块(SB,Subtract Block),每一个减法模块都是一个全减器,同时使用一个多选器(mux)来进行恢复操作,当sel信号为1时,我们直接将input a连接到output上面。

图片alt

喜欢0
用户评论
watermelon仔

watermelon仔 实名认证

懒的都不写签名

积分
问答
粉丝
关注
  • RV-STAR 开发板
  • RISC-V处理器设计系列课程
  • 培养RISC-V大学土壤 共建RISC-V教育生态
RV-STAR 开发板