首页 > 其他分享 >【FPGA & Verilog】手把手教你实现一个DDS信号发生器

【FPGA & Verilog】手把手教你实现一个DDS信号发生器

时间:2022-11-24 11:02:07浏览次数:37  
标签:仿真 文件 FPGA 波形 DDS mif Verilog modsim rom

信号发⽣器的设计与实现 1.输出波形:⽅波(占空⽐50%)、锯⻮波、三⻆波、脉冲信号(占空⽐连续可调)、正弦波、任意波等 2.输出频率:100KHz 3.波形选择:使⽤拨码开关选择   思路: 使用FPGA搭建信号发生器DDS,重点是制作能够提前下载进开发板板载ROM的数据文件,这里用到的是mif文件,里面保存了数种波形(正弦波,方波,三角波,锯齿波)的点值,这些点值是由前期采样得来的,然后编写verilog代码,实现功能选择(波形选择等),在quartus中配置所选器件的ROM,将mif文件加载进去,在代码中调用rom中的数据,然后仿真时绘制显示波形,这时显示的是离散的数字信号,可以在仿真端modsim里选择模拟信号显示   查阅相关资料:            (本次实验中,没有用到LPF低通滤波,但大体不影响) mif文件的创建:    这里用的是matlab编程,生成正弦波,方波,三角波,锯齿波,然后利用Fs采样频率对其采样,提取其离散值保存到创建的mif文件中    同时使用plot函数输出波形,检查               波形图示:          检查生成的mif文件:(以文本方式打开   共有16384      quartus端的文件:   其中 dds.v是主模块,在编译前要设置为顶层文件set as the top-level-entity,里面包含了调用的模块及其对应端口赋值(连线) key_ctrl.v和dds_ctrl.v dds_ctrl.v中包含了对ROM的初始化,这里调用了rom_wave(一会在rom中添加文件的名称要与rom_wave一致  key_ctrl.v实现对波形的选择 在ROM中添加已经创建好的mif文件:         在IP catalog中搜索rom,选择rom port1,注意这里的ip variation file name要与程序中的一致   注意 q的输出位宽和数据数要与创建的mif文件内容一致 在创建成功后可以发现quartus的file左栏出现生成的romwave.v: 仿真: 这次没有单独在modsim中添加文件仿真,因为经常报错,因此采用quartus唤起modsim仿真的方法 1.要在quartus中设置modsim的启动程序的路径,不然无法拉起仿真     2.要在settings中添加仿真文件testbench,告诉modsim拿什么仿真     启动仿真:   tb_dds_ctrl.v文件 延迟800000000个时间单位后,进行wave切换 波形设置为模拟: 结果:                

标签:仿真,文件,FPGA,波形,DDS,mif,Verilog,modsim,rom
From: https://www.cnblogs.com/huaiyuandefeng/p/16921147.html

相关文章

  • 学fpga(从verilog到hls)
            hls,全称为highlevelsynthesis。也就是说从更高一级的语言来完成电路的综合。从前,编写fpga只有一个方法,都是编写verilog类似的硬件语言。但是如何用c、c++......
  • 学fpga(在线verilog编程)
        很多编程不方便的同学,可以利用在线工具进行编程。比如现在,https://hdlbits.01xz.net/wiki/Main_Page这个网站就非常不错,适合暂时还没有安装quartus、vivado的同......
  • Going Deeper with Embedded FPGA Platform for Convolutional Neural Network
    题目:GoingDeeperwithEmbeddedFPGAPlatformforConvolutionalNeuralNetwork日期&会议:Proceedingsofthe2016ACM/SIGDAInternationalSymposiumonField-Prog......
  • FPGA HC-SR04
    moduledistance(clock,clr_n,trig,echo,out_dis);inputclock,clr_n;//时钟信号复位信号inputecho;//测距模块outputregtrig;//测距模块outputregout_dis;//......
  • DSP+FPGA评估板 TI TMS320C6657 1.25GHz-DSP原理图
         TI公司的TMS320C6655/57是不定点/浮点数字信号处理器(DSP),基于KeyStone多核架构,内核速度高达1.25GHz,集成了各种包括C66x内核,存储器子系统,外设和加速器在内的各......
  • Verilog语法入门
    VerilogHDL是一种硬件描述语言(HDL:HardwareDescriptionLanguage),以文本形式来描述数字系统硬件的结构和行为的语言,用它可以表示逻辑电路图、逻辑表达式,还可以表示数字逻辑......
  • FPGA ——防止信号被优化(转载)
    转载:https://blog.csdn.net/weixin_46062412/article/details/125299437Quartus对这种情况的处理是增加约束,共有2种情况:a,需要保留的信号类型是wire在定......
  • 【幅频均衡带通滤波器】基于FPGA的幅频均衡带通滤波器的
    1.软件版本matlab2013b,quartusii121.2.本算法理论知识带通滤波器在数字幅频均衡功率放大器中一个重要的组成部分,在介绍带通滤波器之前,我们首先来详细介绍一下数字幅频......
  • XC5VLX30T-2FF323I(XC5VLX30T-1FF323C) FPGA Virtex-5 LXT可编程器件
    概述Virtex-5FPGA有-3,-2,-1速度等级,其中-3具有最高的性能。Virtex-5FPGA直流和交流特性指定为商业和工业级别。除工作温度范围外,除非另有说明,所有直流和交流电气参数对于......
  • 基于VScode搭建Verilog自动格式化
    基于VScode搭建Verilog自动格式化插件Verilog-HDL/SystemVerilog/BluespecSystemVerilogSystemVerilogandVerilogFormatter工具https://github.com/googl......