当前位置: 首页 > news >正文

闲庭信步使用图像验证平台加速FPGA的开发:第二十六课——正弦波DDS的FPGA实现

  (本系列只需要modelsim即可完成数字图像的处理,每个工程都搭建了全自动化的仿真环境,只需要双击top_tb.bat文件就可以完成整个的仿真,大大降低了初学者的门槛!!!!如需要该系列的工程文件请关注知识星球:成工fpga,https://t.zsxq.com/DMeqH,关注即送200GB学习资料,链接已置顶!)

至于DDS的原理和实现,成工就不多说了,因为在上个系列和《孩子都能学会的FPGA》系列都要详细的讲解,链接是https://t.zsxq.com/rDxYc,其实DDS实现非常的简单,就是计算出频率控制字,然后直接累加即可。如果想调节相位,直接将相位字进行累加即可

直接上代码,在\src\dds文件夹下新建dds.sv的文件,代码如下,非常的简单,根据输入期望的频率值,计算出频率控制字,然后直接累加即可,将累加值作为存储正弦波数组的地址将正弦波读出,这儿用到了字节位数的扩展,原因在以前系列的文章中有详细的说明。

所以DDS的功能就是这样简单,寥寥数行代码就可以实现,难度系数几乎为0,很多培训机构还把DDS当成培训课程的一个亮点,可见培训水平之“高”!

为了显示正弦波的DDS图像,在src\dds文件夹下新建draw_wave.sv的文件,基本功能和上篇显示正弦波的功能一致,就是多了不同频率dds模块的例化。

在top模块例化draw_wave模块。

在tb_image_sim文件中的三个initial块如下所示,本篇就不会测试平台的数据进行比对了。

双击sim文件夹下的top_tb.bat文件,完成系统的自动化仿真。

可以设置不同的频率多测试几次,在img文件夹下保存相关的图像,如下是频率500KHz和1MHz的正弦波图片。可见随着频率的增加,采样点数越来越少。

http://www.dtcms.com/a/288957.html

相关文章:

  • leetcode75【经典动态规划】之:最长公共子序列
  • nginx源码解读-------整体架构
  • 30天打牢数模基础-LightGBM讲解
  • 网络地址和主机地址之间进行转换的类
  • springboot电影推荐网站—计算机毕业设计源码—30760
  • 在Ubutu22系统上面离线安装Go语言环境【教程】
  • 【开源项目】基于RuoYi-Vue-Plus的开源进销存管理系统
  • Spring之AOP面向切面编程详解
  • 软件工程学概述:从危机到系统化工程的演进之路
  • MySQL详解三
  • Java 字符集(Charset)详解:从编码基础到实战应用,彻底掌握字符处理核心机制
  • 文件编码概念|文件的读取操作|文件读取的课后练习讲解
  • 数据治理,治的是什么?
  • 0719代码调试记录
  • 【星海出品】python安装调试篇
  • 网络安全隔离技术解析:从网闸到光闸的进化之路
  • Spring Boot总结
  • RabbitMQ核心组件浅析:从Producer到Consumer
  • 深入理解设计模式:访问者模式详解
  • 深入理解浏览器解析机制和XSS向量编码
  • Java中List<int[]>()和List<int[]>[]的区别
  • React-Native开发环境配置-安装工具-创建项目教程
  • 数据并表技术全面指南:从基础JOIN到分布式数据融合
  • Pinia 核心知识详解:Vue3 新一代状态管理指南
  • 六边形滚动机器人cad【7张】三维图+设计书明说
  • [数据库]Neo4j图数据库搭建快速入门
  • 反激电源中的Y电容--问题解答
  • Python类中方法种类与修饰符详解:从基础到实战
  • linux shell从入门到精通(一)——为什么要学习Linux Shell
  • MybatisPlus-14.扩展功能-DB静态工具-练习