这两天颈椎疼,断更两天,公众号人数增加好多,感谢大家的支持,本次就是CORDIC系列的结尾。

根据之前的更新,大家可能已经看出,其实除法器的实现,仅仅改变旋转的参考系即可,除法所使用的参考系为:z,其matlab代码为:

function c = chufaqi(x,y)
t=1.0;
z=0;
for i=0:1:15%y是x累加的结果%z是斜度的长度 1/2^i是移动的距离 if y<0  %矢量向下移动  参考系为yy=y+x*t;z=z-t;t=t/2;else %矢量向上移动  参考系为yy=y-x*t;z=z+t;t=t/2;end
end
c=z;

CORDIC算法verilog实现仅需要更改乘法器的几个变量即可。

常量表

关于前几篇中使用的常量,后台看到了有朋友提问说是什么意思,在结尾和大家解释一下:

atan(1)对应的角度是45°;
atan(0.5)对应的角度是26.565051177078°;
atan(0.25)对应的角度是14.0362434679265°;
atan(0.125)对应的角度是7.1250163489018°;
atan(0.0625)对应的角度是3.57633437499735°;
atan(0.03125)对应的角度是1.78991061°;
atan(0.015625)对应的角度是0.8951737102111°;
atan(0.0078125)对应的角度是0.4476141708606°;
atan(0.00390625)对应的角度是0.2238105003685°;
atan(0.001953125)对应的角度是0.1119056770662°;
atan(0.0009765625)对应的角度是0.0559528918938°;
atan(0.00048828125)对应的角度是0.027976452617,°;
atan(0.000244140625)对应的角度是0.01398822714227°;
atan(0.0001220703125)对应的角度是0.006994113675353°;
atan(0.00006103515625)对应的角度是0.003497056850704°;
atan(0.000030517578125)对应的角度是0.0017485284269°;

将一切视为常量:

为了在FPGA上实现CORDIC运算,需要将浮点数转换为定点数,转换的方式很简单~~~,左移16位不就好了!

所以将上图中的常量统一左移16位,即乘2^16,得到的结果为:

`define rot0  32'd2949120       //45度*2^16
`define rot1  32'd1740992       //26.5651度*2^16
`define rot2  32'd919872        //14.0362度*2^16
`define rot3  32'd466944        //7.1250度*2^16
`define rot4  32'd234368        //3.5763度*2^16
`define rot5  32'd117312        //1.7899度*2^16
`define rot6  32'd58688         //0.8952度*2^16
`define rot7  32'd29312         //0.4476度*2^16
`define rot8  32'd14656         //0.2238度*2^16
`define rot9  32'd7360          //0.1119度*2^16
`define rot10 32'd3648          //0.0560度*2^16
`define rot11 32'd1856          //0.0280度*2^16
`define rot12 32'd896           //0.0140度*2^16
`define rot13 32'd448           //0.0070度*2^16
`define rot14 32'd256           //0.0035度*2^16
`define rot15 32'd128           //0.0018度*2^16

青山不改,绿水长流,CORDIC就更到这里吧,最近有点忙还脖子疼,有时间的话更CRC检验、或者FIR滤波器、或者Aurora、或者GTX、或者一些面试题,也不知道大家想看什么,有的话可以留言给我~~~~掰~~~~

cordic的FPGA实现(五)、除法实现相关推荐

  1. CORDIC算法FPGA的实现

    基于CORDIC算法FPGA的实现 CORDIC算法原理利用简单的移位就实现,主要用于三角函数.双曲线.指数.对数的计算,在以二进制操作为基础的FPGA硬件中就显得尤为重要.虽然现在的fpga有了集成 ...

  2. CORDIC算法详解(五)-统一的 CORDIC 算法形式

    CORDIC算法详解(五)- 统一的 CORDIC 算法形式 文章目录 CORDIC算法详解(五)- 统一的 CORDIC 算法形式 5 统一的 CORDIC 算法形式 相关参考资料及源码   网上有 ...

  3. FPGA(五)RTL代码之一(跨时钟域设计)

    文章目录 前言 一.异步FIFO 二.异步复位同步释放 三.两级触发器同步 四.握手CDC设计 五.异步双口RAM 总结 前言 这不马上要面试了嘛,有些慌!HDLbits的题目已经刷完了,但又知道自己 ...

  4. FPGA项目五:数码管动态扫描

    文章目录 第五章 数码管动态扫描 第 1 节 项目背景 第 2 节 设计目标 第 3 节 设计实现 3.1 顶层信号 3.2 信号设计 3.3 信号定义 第四节 综合和上板 4.1 新建工程 4.2 ...

  5. 【FPGA】五、蜂鸣器播放音乐

    文章目录 前言 一.蜂鸣器简介 二.音频音符简介 三.任务要求 四.程序设计 1.设计思路 2.程序代码 总结 前言 蜂鸣器(Buzzer)是现代常用的一种电子发声器,主要用于产生声音信号.它是一种一 ...

  6. 零基础学FPGA(五):时序逻辑电路设计之计数器(附有呼吸灯实验、简单组合逻辑设计介绍)

    目录 日常·唠嗑 前言 一.认清逻辑设计 二.时序逻辑电路设计 三.扩展:呼吸灯实验 日常·唠嗑 第一次建立<零基础学FPGA>专栏,是在2021年2月2日,已经过去了一年了,目前只更新了 ...

  7. cordic的FPGA实现(三)sin、cos函数运算与源码分析

    在旋转模式中曾提到:由于每次伪旋转都导致向量模长发生了变化,以Ki表示第i次伪旋转模长补偿因子,所以第i次伪旋转真实旋转的结果应该为: 经过n次伪旋转,得到的伪旋转点最终结果可以表示为: 当n趋近于无 ...

  8. FPGA实验五——多周期移位寄存器

    实验要求 • 编译下载电路观察现象 • 拨动SW0开关,观察LED的闪烁变换情况 • 设计新的功能 – 在原有的电路基础上,添加方向选择功能. – SW0仍然是移位寄存器组的输入 – 使用SW1开关, ...

  9. FPGA第五节:ADDA实验

    本次主要采用ad9280和ad9708进行ad和da信号转换. 1.信号流通 由ROM中的IP核输出模拟信号,然后经由da9708进行数模转换,经过一根BNC线将ad9708的输出口和ad9280的输 ...

最新文章

  1. IntelliJ IDEA 2018.1新特性
  2. 如何判断数组所有数都不等于一个数_【每日算法Day 91】求解数组中出现次数超过1/3的那个数
  3. 《Oracle Database 12c DBA指南》第二章 - 安装Oracle和创建数据库(2.2 安装数据库软件)...
  4. 浏览器九宫格的简单实现 - 蒋宇捷的专栏 - 博客频道 - CSDN.NET
  5. Windows Vista桌面窗口管理器(3)
  6. 架构师之路-创业互联网公司如何搭建自己的技术架构
  7. 假设检验与常见的统计检验方法
  8. 初始化失败_Destroying singletons
  9. Electron--快速入门
  10. 大聪明教你学Java | 实现邮件发送(以163邮箱向QQ邮箱发送邮件为例)
  11. 发射功率 dBm 计算
  12. [重磅] 让HTML5达到原生的体验 系列之一 避免切页白屏
  13. ChatGPT的悄然问世,让原先“吃香”的10种“铁饭碗”快要端不住了:软件技术类、新闻媒体类、法律工作类、市场研究分析师、教师、金融分析类、交易员、平面设计师、会计师、客服人员。
  14. STM32初学——OLED调试4-1 5-1/5-2
  15. c#简要程序设计_色彩在品牌设计方面的简要指南
  16. Google发布Chrome操作系统Chromebook和Chromebox 走亲民路线
  17. 制作maven-archeType
  18. 实现在H5中唤起抖音APP
  19. 网站图片尺寸规格设计指导
  20. Vue3+TS项目中element-plus自动导入组件后,找不到文件

热门文章

  1. 【深度策略研究文章】《浅析金融帝国实验室(Capitalism Lab)中工资率的影响》(作者:jiuliumuliao)(2-2)
  2. 闲鱼平台多卖家出售真人妇科检查视频 回应:已下架
  3. 第8章第28节:完成企业业绩幻灯片的制作 [PowerPoint精美幻灯片实战教程]
  4. RGB屏调试经验分享——颜色不对
  5. 网站复制图片保存自己服务器,WordPress将复制别的网站的文章里的图片自动保存到自己的服务器...
  6. 自定义View——闹钟
  7. 盈利不是最关注的问题,途牛另有生存法则?
  8. 华为OD机试 - 去除多余空格(Java JS Python)
  9. Spring使用三级缓存解决循环依赖?终于完全弄明白了
  10. java中mediaplay怎么使用_Android学习笔记使用MediaPlay播放音频