DDS信号发生器Verilog波形发生器FPGA

名称:DDS信号发生器Verilog波形发生器

软件:Quartus

语言:Verilog

要求:

 1.可产生正弦波,锯齿波,三角波,方波4种波形,频率可调

 2.具有波形选择、起动、停止功能。

代码下载:DDS信号发生器Verilog波形发生器_Verilog/VHDL资源下载

代码网:hdlcode.com

部分代码展示

`timescale 1ns / 1ps
//输出频率f=clk_50M*frequency/2^10
module DDS_top(input clk_50M,//时钟输入input wave_en,//波形起的停止开关input [1:0] wave_select,//波形选择开关:00输出锯齿波,01输出sin,10输出方波,11输出三角波input [7:0] frequency,//频率控制字,控制输出波形频率output [7:0] wave//输出波形);wire [9:0] addra;
wire [7:0] douta_fangbo;
wire [7:0] douta_sanjiao;
wire [7:0] douta_sin;
wire [7:0] douta_juchi;
//锯齿ROM
juchi_ROM i_juchi_ROM (.clock(clk_50M),    // input wire clka.address(addra),  // input wire [9 : 0] addra.q(douta_juchi)  // output wire [7 : 0] douta);
//方波ROM
fangbo_ROM i_fangbo_ROM (.clock(clk_50M),    // input wire clka.address(addra),  // input wire [9 : 0] addra.q(douta_fangbo)  // output wire [7 : 0] douta);//三角波ROM
sanjiao_ROM i_sanjiao_ROM (.clock(clk_50M),    // input wire clka.address(addra),  // input wire [9 : 0] addra.q(douta_sanjiao)  // output wire [7 : 0] douta
);
//sin波ROM
sin_ROM i_sin_ROM (.clock(clk_50M),    // input wire clka.address(addra),  // input wire [9 : 0] addra.q(douta_sin)  // output wire [7 : 0] douta
);
//相位累加器
Frequency_ctrl i_Frequency_ctrl(
. clk_50M(clk_50M),
. frequency(frequency),//频率控制字
. addra(addra)//输出地址);
//波形选择控制
wave_sel i_wave_sel(
. clk_50M(clk_50M),
. wave_en(wave_en),
. wave_select(wave_select),//00输出锯齿波,01输出sin,10输出方波,11输出三角波
. douta_fangbo(douta_fangbo),//方波
. douta_sanjiao(douta_sanjiao),//三角
. douta_sin(douta_sin),    //正弦   
. douta_juchi(douta_juchi),
. wave(wave)//输出波形    );
endmodule

设计文档(文档点击可下载):

1. 工程文件  

2. 程序文件  

3. 程序编译  

4. RTL 图  

5. Testbench  

6. 仿真图  

整体仿真图  

相位累加器模块  

锯齿波 ROM  

方波 ROM  

三角波 ROM  

sin 波 ROM  

波形选择模块  

设计文档.doc

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/90558.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

QT信号槽

目录 信号槽的概念 按钮的常用信号 自定义槽函数 自定义信号函数 自定义槽和信号注意的事项 信号与槽的拓展 lambda表达式 信号槽的概念 信号槽是Qt框架引以为豪的机制之一。所谓信号槽,实际就是观察者模式。当某个事件发生之后,比如&#xff0c…

一篇博客学会系列(2)—— C语言中的自定义类型 :结构体、位段、枚举、联合体

目录 前言 1、结构体 1.1、结构体类型的声明 1.2、特殊的结构体类型声明 1.3、结构体的自引用 1.4、结构体的定义和初始化 1.5、结构体成员变量的调用 1.6、结构体内存对齐 1.6.1、offsetof 1.6.2、结构体大小的计算 1.6.3、为什么存在内存对齐? 1.7、…

【WIN32】C++在打印Windows中调用堆栈信息

C在打印Windows中调用堆栈信息 关键函数 GetCurrentProcess 返回当前进程的伪句柄 伪句柄是一个特殊常量,当前 (HANDLE) -1,被解释为当前进程句柄。 为了与将来的操作系统兼容,最好调用 GetCurrentProcess ,而不是硬编码此常量…

Linux账户组管理及权限练习

1.使用id命令查看root账户信息 [rootserver ~]# id root 用户id0(root) 组id0(root) 组0(root) 2.使用id命令查看自己的普通账户信息 [rootserver ~]# id kxy 用户id1000(kxy) 组id1000(kxy) 组1000(kxy),10(wheel) 3.新建账户test1,并查看账户信息: [ro…

BASH shell脚本篇3——字符串处理

这篇文章介绍下BASH shell中的字符串处理的相关命令。之前有介绍过shell的其它命令,请参考: BASH shell脚本篇1——基本命令 BASH shell脚本篇2——条件命令 Bash字符串也是一种数据类型,它用于表示文本而不是数字,它是一组可能…

No150.精选前端面试题,享受每天的挑战和学习

🤍 前端开发工程师(主业)、技术博主(副业)、已过CET6 🍨 阿珊和她的猫_CSDN个人主页 🕠 牛客高级专题作者、在牛客打造高质量专栏《前端面试必备》 🍚 蓝桥云课签约作者、已在蓝桥云课上架的前后端实战课程《Vue.js 和 Egg.js 开发企业级健康管理项目》、《带你从入…

后台管理系统: 商品管理

商品管理之三级联动静态组件 先做俩个卡片组件&#xff0c;分开距离 三级联动很多地方都用到了它&#xff0c;我们可以封装成一个组件 注册为一个全局组件 <div><el-form :inline"true" class"demo-form-inline"><el-form-item label&qu…

1200*A. Flipping Game(前缀和)

解析&#xff1a; 100数据量&#xff0c;两层遍历每个区间&#xff0c;然后前缀和计算1的个数&#xff0c;维护最大值即可。 #include<bits/stdc.h> using namespace std; #define int long long const int N110; int n,a[N],res,sum[N]; signed main(){scanf("%ll…

Python标准库分享之时间与日期 (time, datetime包)

Python具有良好的时间和日期管理功能。实际上&#xff0c;计算机只会维护一个挂钟时间(wall clock time)&#xff0c;这个时间是从某个固定时间起点到现在的时间间隔。时间起点的选择与计算机相关&#xff0c;但一台计算机的话&#xff0c;这一时间起点是固定的。其它的日期信息…

目标检测:FROD: Robust Object Detection for Free

论文作者&#xff1a;Muhammad,Awais,Weiming,Zhuang,Lingjuan,Lyu,Sung-Ho,Bae 作者单位&#xff1a;Sony AI; Kyung-Hee University 论文链接&#xff1a;http://arxiv.org/abs/2308.01888v1 内容简介&#xff1a; 1&#xff09;方向&#xff1a;目标检测 2&#xff09;…

性能优化实战使用CountDownLatch

1.分析问题 原程序是分页查询EventAffinityScoreDO表的数据&#xff0c;每次获取2000条在一个个遍历去更新EventAffinityScoreDO表的数据。但是这样耗时比较慢&#xff0c;测试过30万的数据需要2小时 private void eventSubjectHandle(String tenantId, String eventSubject) …

3.6+铁死亡+WGCNA+机器学习

今天给同学们分享一篇3.6铁死亡WGCNA机器学习的生信文章“Identification of ferroptosis related biomarkers and immune infiltration in Parkinsons disease by integrated bioinformatic analysis”&#xff0c;这篇文章于2023年3月14日发表在BMC Med Genomics期刊上&#…

队列的使用以及模拟实现(C++版本)

&#x1f388;个人主页:&#x1f388; :✨✨✨初阶牛✨✨✨ &#x1f43b;强烈推荐优质专栏: &#x1f354;&#x1f35f;&#x1f32f;C的世界(持续更新中) &#x1f43b;推荐专栏1: &#x1f354;&#x1f35f;&#x1f32f;C语言初阶 &#x1f43b;推荐专栏2: &#x1f354;…

C运算符和控制语句

几乎每一个程序都需要进行运算&#xff0c;对数据进行加工处理&#xff0c;否则程序就没有意义了。要进行运算&#xff0c;就需规定可以使用的运算符。 C语言的运算符范围很宽&#xff0c;把除了控制语句和输人输出以外的几乎所有的基本操作都作为运算符处理。 运算符分类1 除…

QToolButton几个小知识点总结

QToolButton设置图标及更改图标大小 QToolButton btn;btn.setIconSize(QSize(35,35));//更改图标大小btn.setIcon(QIcon(":/images/screen.png"));//设置图标QToolButton设置图标和文字显示格式 enum ToolButtonStyle {ToolButtonIconOnly, //只显示图标&#xff08;…

正太分布核函数

正太分布概率密度推导&#xff1a; 设 I ∫ − ∞ ∞ 1 2 π e − x 2 2 d x I \int _{-\infty}^{\infty}\frac{1}{\sqrt{2\pi}}e^{-\frac{x^2}{2}}dx I∫−∞∞​2π ​1​e−2x2​dx 则&#xff1a; I 2 ∫ − ∞ ∞ 1 2 π e − x 2 2 d x ∫ − ∞ ∞ 1 2 π e −…

likeadmin和fastapi的bug

以下内容写于2023年8月11日 bug 1 请求体 - 多个参数 - FastAPI (tiangolo.com)中“请求体中的单一值”处&#xff0c;选python3.6&#xff0c;接口示例代码是 from typing import Unionfrom fastapi import Body, FastAPI from pydantic import BaseModel from typing_exte…

Spring Boot中配置文件介绍及其使用教程

目录 一、配置文件介绍 二、配置简单数据 三、配置对象数据 四、配置集合数据 五、读取配置文件数据 六、占位符的使用 一、配置文件介绍 SpringBoot项目中&#xff0c;大部分配置都有默认值&#xff0c;但如果想替换默认配置的话&#xff0c;就可以使用application.prop…

从零手搓一个【消息队列】项目设计、需求分析、模块划分、目录结构

文章目录 一、需求分析1, 项目简介2, BrokerServer 核心概念3, BrokerServer 提供的核心 API4, 交换机类型5, 持久化存储6, 网络通信7, TCP 连接的复用8, 需求分析小结 二、模块划分三、目录结构 提示&#xff1a;是正在努力进步的小菜鸟一只&#xff0c;如有大佬发现文章欠佳之…

阿里云效自动构建python自动测试脚本

之前一直用的是jenkins自动构建自动化脚本&#xff0c;因为现在的公司统一在阿里云效的流水线上做代码的管理&#xff0c;构建&#xff0c;要求自动化测试也在上面自动构建&#xff0c;故而学习了一下。为自己做一个记录&#xff0c;也给有需要的朋友做一个参考。 1. 新建流水…