CORDIC IP (SIN AND COS功能详解)

这篇具有很好参考价值的文章主要介绍了CORDIC IP (SIN AND COS功能详解)。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

目录

一:Parallel or Serial Architecture

二:输入输出数据格式(fix16_13;fix16_14讲解)

三:XQN format与fix16_15/14等format转换

四:ip核设置及详细讲解


!:内容全部来自XILINX官方文档PG105_CORDIC以及自己的理解

一:Parallel or Serial Architecture

概括来说就是Parallel 运行速度快,占用资源多(一个周期即可完成数据吞吐),word serial运行速度慢,占用资源少(多个周期完成数据吞吐)详细内容参阅下图: 

CORDIC IP (SIN AND COS功能详解)

二:输入输出数据格式(fix16_13;fix16_14讲解)

输入输出数据模式,输入输出总是用定点数(固定为3位整数位)二进制补码形式表示,也就是说不管输入数据位宽是多少,高三位一定是整数位,剩余低位全部用来表示小数。这就需要数据在进入cordic ip 核之前要经过精度处理

当PHASE FORMAT选择为Radians时,输入数据范围要在-pi~pi之间,否则会导致不被定义的结果(就是会出错)。

当PHASE FORMAT 选择位Scaled Radians时,输入数据范围在-1~1之间即可,ip核会在内部对输入数据进行乘pi处理。

知道了这个方法,我们在进行乘pi操作时,可以考虑用这种方法来代替查找表乘pi法。当然仅限于乘pi后结果需要进行正余弦操作。

当时我怀疑-3.14的二进制是不是计算错误了,想了一会儿给了自己一巴掌(文档里是正确的,动笔算一下就知道了)

CORDIC IP (SIN AND COS功能详解)

CORDIC IP (SIN AND COS功能详解)

三:XQN format与fix16_15/14等format转换

XQN中的X代表几个整数位,N代表几个小数位,XQN格式可以表示-2^X~2^X-2^(-N) ,

!:例子:

        有符号数:1000:-8(最小值)  0111:7(最大值)

        3Q0-8~7

        3Q3: -8~7.875(8-0.125)

为什么文档里说Q15 format 与Fix16_15的表示结果是一样的呢,刚开始百思不得其解,看懂XQN格式之后再来看就恍然大悟了,Q15表示1符号位,0整数位,15小数位 = Fix16_15;人家文档还生怕我们读者看不懂,写了两个例子,1Q15表示1符号位,1整数位,15小数位 = Fix17_15

接下来再看下图中的两个表格就能够很轻松的看懂了

CORDIC IP (SIN AND COS功能详解)

四:ip核设置及详细讲解

CORDIC IP (SIN AND COS功能详解)

 Functional Selection:选择sin and cos(通常,X_IN,X_OUT,Y_IN,Y_OUT位1QN格式,PHASE_IN和PHASE_OUT为2QN格式)

Architectural configuration:选择并行parallel(上文有介绍区别)

Pipelining mode: 随意选

Data format:固定为signed fraction(看文档可知选择signed fraction后X,Y输入以及所有输出均为2整数位,我认为这是因为正余弦处理后取值范围为-1~1,所以两位整数位即可表示)

Phase Format:(上文以介绍)

Input/Output Options: 根据自己实际情况写,这里均为16

Round Mode:我们选择的sin and cos输出为PHASE_OUT,根据官方文档介绍我们应该选择Truncate

iterations:0(根据文档介绍,设置为0时,迭代次数由输出所需精度控制,不需要我们操心)

Precision:0(根据文档介绍,设置为0时,由输出所需精度和迭代次数控制,同样不需要我们操心)

Coarse rotation:勾选(如果不勾选Coarse Rotation,那么输入输出数据范围只能在第一象限(-pi/4~pi/4),这里我不理解,为什么第一象限不是0~pi/2.)

CORDIC IP (SIN AND COS功能详解)

官方文档介绍:

CORDIC IP (SIN AND COS功能详解)

CORDIC IP (SIN AND COS功能详解)

CORDIC IP (SIN AND COS功能详解)文章来源地址https://www.toymoban.com/news/detail-405327.html

到了这里,关于CORDIC IP (SIN AND COS功能详解)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包赞助服务器费用

相关文章

  • 【AI绘画】Stable Diffusion学习——安装与使用教程(一)

    【AI绘画】Stable Diffusion学习——安装与使用教程(一)

    1、Python 官网:https://www.python.org/downloads/ 建议安装3.10开头的版本号,下载安装包后运行即可 (安装python,建议安装3.10.6版本,这个是Stable Diffusion WebUI作者推荐安装版本) 将Python添加到默认路径,否则后面很多调用Python进行的操作都会失灵 安装完成之后,检查Python版本 按

    2024年02月03日
    浏览(12)
  • ICN6202 MIPIDSI转LVDS桥接芯片的功能及特征 调试文档资料

    产品特征功能: 输入:MIPI DSI 支持MIPI ® D-PHY Version 1.00.00 和 MIPI ® DSI Version 1.02.00. 可接收MIPI DSI 18bpp RGB666 and 24bpp RGB888 packets 4 lane data+1 lane clock 4对数据线可以选择1、2、3、4lane data 每对差分数据传输线最大可传输1Gbps,总共最大传输数据4Gbps。 支持mipi低功耗,超低功耗和休眠

    2024年02月14日
    浏览(11)
  • 【运维知识大神篇】超详细的ELFK日志分析教程10(kafka集群原理+基本使用+zookeeper和kafka堆内存调优+kafka监控和压力测试+filebeat和logstash对接kafka)

    【运维知识大神篇】超详细的ELFK日志分析教程10(kafka集群原理+基本使用+zookeeper和kafka堆内存调优+kafka监控和压力测试+filebeat和logstash对接kafka)

    本篇文章继续给大家介绍ELFK日志分析,我们先前介绍了ELFK架构,zookeeper部署使用,kafka的部署,仅差kafka使用就将整个体系融汇贯通了。我们本篇文章将以kafka为核心,详细介绍kafka使用,最终将kafka融入ELFK架构中,大致内容见下面目录。 目录 kafka集群原理 一、专业术语 二、

    2024年02月04日
    浏览(10)
  • Vue3前端开发,如何获取组件内dom对象以及子组件的属性和方法

    Vue3前端开发,如何获取组件内dom对象以及子组件的属性和方法

    Vue3前端开发,借助Ref来获取组件内dom对象,借助defineExpose编译宏可以获取到子组件的属性和方法。 app入口文件,我们作为父组件,在里面调用了自定义组件TestCom.vue。 先做了一个测试,借助于ref来访问自身的dom对象。如图所示是可以拿到的。 ref又称谓钩子函数,在vue2版本中

    2024年01月22日
    浏览(12)
  • 【unity小技巧】实现没有动画的FPS武器摇摆和摆动效果

    【unity小技巧】实现没有动画的FPS武器摇摆和摆动效果

    添加程序摇摆和摆动是为任何FPS游戏添加一些细节的非常简单的方法。但是并不是所以的模型动画都会配有武器摆动动画效果,在本文中,将实现如何使用一些简单的代码实现武器摇摆和摆动效果,这比设置动画来尝试实现类似效果要容易得多 新增SwayNBobScript代码 代码挂载在

    2024年01月18日
    浏览(12)
  • 洛谷题单 Part 6.7.1 矩阵

    应队友要求,开始学线性代数,具体路线是矩阵 → rightarrow → 高斯消元 → rightarrow → 线性基。为多项式做个准备 题面 板子,用结构体写的,感觉有点丑,一会儿看看题解有没有写得好看的 题面 搞个方阵 A 3 = [ a 3 a 2 a 1 0 0 0 0 0 0 ] , X = [ 1 1 0 0 0 1 1 0 0 ] , A_3=left [ begin{ma

    2024年02月15日
    浏览(7)
  • 健身管理小程序|基于微信开发健身管理小程序的系统设计与实现(源码+数据库+文档)

    健身管理小程序|基于微信开发健身管理小程序的系统设计与实现(源码+数据库+文档)

    健身管理小程序 目录 基于微信开发健身管理小程序设计与实现 一、前言 二、系统设计 三、系统功能设计  小程序端: 后台 四、数据库设计  五、核心代码  六、论文参考 七、最新计算机毕设选题推荐 八、源码获取:   博主介绍 :✌️大厂码农|毕设布道师,阿里云开发

    2024年04月17日
    浏览(13)
  • 1118 - Row size too large (> 8126). Changing some columns to TEXT or BLOB or using ROW_FORMAT=DYNAMI

    1118 - Row size too large (> 8126). Changing some columns to TEXT or BLOB or using ROW_FORMAT=DYNAMI

    🌷🍁 博主猫头虎 带您 Go to New World.✨🍁 🦄 博客首页——猫头虎的博客🎐 🐳《面试题大全专栏》 文章图文并茂🦕生动形象🦖简单易学!欢迎大家来踩踩~🌺 🌊 《IDEA开发秘籍专栏》学会IDEA常用操作,工作效率翻倍~💐 🌊 《100天精通Golang(基础入门篇)》学会Golang语言

    2024年02月10日
    浏览(16)
  • clang: error: linker command failed with exit code 1 (use -v to see invocation)

    在OCR项目调研过程发现一个开源工具gosseract,识别效果不错; 按部就班准备环境,先mac环境安装tesseract(gosseract依赖): 第一次安装很顺利,成功。 随着业务需求增加,需要进行语言训练,因此需要安装训练工具, 选择卸载重装: 提示此安装方式已废弃。所以选择编译安装方

    2024年02月09日
    浏览(15)
  • 【设计规范】TVS管如何选型/浪涌静电防护

    【设计规范】TVS管如何选型/浪涌静电防护

             TVS管作为浪涌静电防护的主力选手,人们往往只看TVS的电压进行选型,这是显然错误的,下面先回顾TVS的相关概念,再对选型与浪涌防护做具体分析。         TVS管在电路当中与被保护线路并联,,当电路正常工作时,它处于截止状态(高阻态),不影响线路

    2024年02月16日
    浏览(9)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包