zoukankan      html  css  js  c++  java
  • 利用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输出。

  • 相关阅读:
    Will Go eventually replace C++ as Google hoped when Go came out?
    5G到底什么时候来,它究竟能给我们带来什么?
    eog——Eye of GNOME Image Viewer
    Appweb——Embedded Web Server
    【2017】数字重排
    【9203】众数
    【2034】四人投票
    【9204】第k小整数
    【2031】求一元三次方程的解
    iOS 7: 如何为iPhone 5s编译64位应用
  • 原文地址:https://www.cnblogs.com/pangshian/p/14252938.html
Copyright © 2011-2022 走看看