• 利用Xilinx的cordic ip做开方运算


    Xilinx的 CODRIC IP利用的coordic算法,可以求三角函数和开方运算。

      进行开方运算时,需要注意输入和输出位数的问题:

    1)输入为整数的情况:(如2321)

      INPUT :  24bit 整数

      OUTPUT :  24bit开方后,整数值占输入总位数的一半加1    等于 13bit,即[23:11] ; 小数值占 11bit,即 [10:0]。

      如: input  i_value = 97 ;

         output  o_sqrt_bvalue[10:0] 为小数部分,    o_sqrt_bvalue[23:11] 为整数部分。

    2)输入为整数+小数的情况:(如23.75  ----->  10111.11 )

      input :  24bit =  整数位数 +  小数位数

      output : 开方后,整数值占输入总位数的一半 加1  即 整数位数/2+ 1, 占输出的高位。小数占剩下的位置。

      如: 输入位为  23.75  ----->  10111.11   小数为占两位,  整数位为 (24-2)/2 + 1  = 12 bit

        即 输出:  o_sqrt_bvalue[11:0] 为小数部分,    o_sqrt_bvalue[23:12] 为整数部分。

          sqrt_int =  o_sqrt_bvalue[23:12]  = b 0100 ;

          sqrt_decmail =   o_sqrt_bvalue[11:0]  = b 110111111001

     

     

     

        通过和计算器求得结果比较,误差在0.0001之内,还是比较准确的。不过crodic算法会延迟10个cycle输出。

  • 相关阅读:
    AVL树C++实现(end)
    B树/B+树
    树,森林,二叉树转换
    多路查找树
    变形版的九九乘法表
    原始版本的九九乘法表
    菱形变形-闪电
    菱形变形,对称+for循环
    菱形--for循环解决
    BZOJ 2037 区间DP
  • 原文地址:https://www.cnblogs.com/pangshian/p/14252938.html
Copyright © 2020-2023  润新知