zoukankan      html  css  js  c++  java
  • FPGA中的平方根


    作为纯数字电路的FPGA,实现平方根是比较麻烦的。毕竟硬件不支持这种算法。

    好在厂家的IP核中有相关的平方根IP库,所以用起来也很方便。

    上图是在QUARTUS下调用库中的IP核,综合适配后的资源使用情况,逻辑单元使用的1369个,占总资源的22%,片上硬件乘法器使用了16个。可以说是在资源有限的情况下,使用资源量还是很大的。

    前几篇文章中,我们介绍了使用CORDIC算法计算三角函数sin和cos的值。计算三角函数sin和cos的值是利用CORDIC算法的旋转模式来进行的。而在向量模式下,可以使用CORDIC算法计算平方根。

    如图,使用CORDIC算法计算平方根,FPGA资源的使用情况。逻辑单元使用了10%,乘法器使用的6个,片上ram只是用的不到1%。可以说在资源有限的情况下,是非常好的选择 。但是要注意,算法本身可使用流水线操作,也可使用其他方式操作,计算周期要根据迭代的次数决定,迭代次数越大,计算越精确,同样,计算的周期也越长。

     

    上图是迭代16次后的结果,可以清楚地看到,输入xi,yi,输出sqrt_out,结果非常精确。在时序不是很紧的情况下,可以使用这种方法。

    具体详细的算法,可根据之前介绍的CORDIC算法自行推理。


    版权所有权归卿萃科技 杭州FPGA事业部,转载请注明出处

    作者:杭州卿萃科技ALIFPGA

    原文地址:杭州卿萃科技FPGA极客空间 微信公众号


    扫描二维码关注杭州卿萃科技FPGA极客空间


  • 相关阅读:
    Python基础课:类的特殊方法
    绳结大全*****连结丶圈结
    绳结大全*****捆扎丶捆绑他物之绳结
    绳结大全*****末端结丶装饰丶瘤结丶收缩
    Excel:80个最有必要掌握的函数丶65个最有必要知道的快捷键
    excel函数语法,应用(copy+截图)
    聚类K-means算法
    逻辑回归
    MySql-第三部分(外键, 多表连接, 事务,视图 )
    各种计算距离方法总结(转)
  • 原文地址:https://www.cnblogs.com/alifpga/p/9188091.html
Copyright © 2011-2022 走看看