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

news2024/11/17 5:26:51

名称: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.coloradmin.cn/o/1047495.html

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

相关文章

Flink on yarn 实战和源码分析

版本:1.13.6 目录 Flink on yarn 的3种模式的使用 yarn session 模式源码分析 yarn per-job模式源码分析 application模式源码分析 Flink on yarn 的3种模式的使用 Application Mode # ./bin/flink run-application -t yarn-application ./examples/streaming…

Apollo简易地图制作

在Apollo中模拟障碍物 一、准备工作 在模拟障碍物之前,需要下载并编译Apollo源码,过程可以依据Apollo开放平台文档,其中可能遇到的问题在这里或许可以寻找到答案 二、运行Dreamview 进入容器 cd ~/apollobash docker/scripts/dev_start.s…

515万新作者投身电商事业,抖音电商将投入更多资源扶持作者长期发展

9月27日,2023抖音电商作者峰会在上海举办。上千位抖音电商作者、MCN机构、精选联盟服务商、商家等重要生态伙伴参会,围绕大会主题“向新成长”进行了深入探讨。会上,抖音电商总裁魏雯雯提到,电商作者的事业有更多发展方向。为助力…

输送机使用的常见误区

输送机也称流水线,是指在自动化生产过程中起到运输货物,联通各个生产设备的主要机械设备。但在使用的过程中,很多用户对于输送机的使用存在一定的误区,导致设备故障频出,下面就针对用户已在使用输送机过程中的常见误区…

以太网中的介质共享访问控制机制

什么是CSMA/CD CSMA/CD(Carrier Sense Multiple Access with Collision Detection)是一种用于以太网等共享介质的访问控制机制。它用于协调多个设备共享同一物理介质(例如同一局域网)上的传输权利,以避免碰撞并提供公…

mac安装python2

Python 2 于 2020 年 1 月 1 日宣布结束支持,包括 Homebrew 在内的许多项目和包管理器已经停止支持 Python 2。 如果现在你还要安装 Python 2,需要从 Python 官网下载安装包: 访问 Python 的发布页面。从页面底部找到 Python 2 的最后一个版…

tp8 Editor.md

Editor.md - 开源在线 Markdown 编辑器 放于public文件夹下 html代码&#xff1a; <div class"layui-col-md12" id"content"><textarea name"content" placeholder"详情" class"layui-textarea">{notempty nam…

【Unity的HDRP渲染管线搭建配置VR交互场景_SteamVR 插件和Pico串流助手_经验分享】

HDRP渲染管线配置VR交互场景 Unity创建场景和相关配置下载导入项目打开PICO串流助手在Pico中的配置:用Steam串流VR_这篇的前置补充 Unity创建场景和相关配置 带HDRP Sample Scene 示例的 下载 SteamVR Unity插件地址02 导入项目

GEO生信数据挖掘(二)下载基因芯片平台文件及注释

检索到目标数据集后&#xff0c;开始数据挖掘&#xff0c;本文以阿尔兹海默症数据集GSE1297为例 目录 下载平台文件 1.AnnotGPL参数改为TRUE,联网下载芯片平台的soft文件。&#xff08;国内网速奇慢经常中断&#xff09; 2.手工去GEO官网下载 转换芯片探针ID为gene name 拓…

ADS-B及雷达显示终端8.3

新版本功能升级主要有如下: 1、地图更新 在上一版本8.2中使用的高程地图为由SRTM经过地形晕渲后&#xff0c;生成地形图片&#xff0c;然后对图片进行贴图&#xff0c;一一按规定位置、大小将地形图贴至底图上&#xff0c;而后在底图上进行二维矢量地图的绘制&#xff0c;包括…

uniapp app 导出excel 表格

直接复制运行 <template><view><button click"tableToExcel">导出一个表来看</button><view>{{ successTip }}</view></view> </template><script>export default {data() {return {successTip: }},metho…

【面试高高手】—— SpringBoot(11题)

文章目录 1.什么是SpringBoot?2.为什么需要Spring Boot&#xff1f;3.SpringBoot的特征&#xff1f;4.SpringBoot的两个策略是什么&#xff1f;5.说一下SpringBoot的自动装配流程&#xff1f;6.说下什么是 Bean?7.什么是 CSRF 攻击&#xff1f;如何避免&#xff1f;8. Spring…

python ToastNotifier TypeError got Nonetype

这个错误没什么影响&#xff0c;只是在通知结束后会抛出 如果你实在不爽&#xff0c;办法如下&#xff1a; 找到"<你的python安装路径>\Lib\site-packages\win10toast"&#xff0c;里面应该有__main__.py和__init__.py两个文件&#xff0c;打开__init__.py 找到…

人工智能(AI)在产生新创意方面有多出色?

传统智慧一直不太擅长此道。发现新的创业机会、为未满足的需求提供解决方案&#xff0c;以及为新公司命名都是非结构化的任务&#xff0c;似乎不适合由算法来完成。然而&#xff0c;人工智能的最新进展——特别是像ChatGPT这样的大语言模型的出现——正在挑战这种假定。 我们教…

【ES6知识】Promise 对象

文章目录 1.1 概述1.2 静态方法1.3 实例方法1.4 Promise 拒绝事件 1.1 概述 Promise 对象用于表示一个异步操作的最终完成&#xff08;或失败&#xff09;及其结果值。是异步编程的一种解决方案&#xff08;可以解决回调地狱问题&#xff09;。 一个 Promise 对象代表一个在这…

Python实用技术——爬虫(二):爬虫需要使用的库

一&#xff0c;Requests库 1&#xff0c;主要使用方法&#xff1a; 1&#xff09;get&#xff08;&#xff09;方法&#xff1a; 这个Response对象中包含爬虫返回的内容。 除了request方法是基础方法外&#xff0c;其他都是通过调用request方法来实现的。 所以&#xff0c;我…

[React] React高阶组件(HOC)

文章目录 1.Hoc介绍2.几种包装强化组件的方式2.1 mixin模式2.2 extends继承模式2.3 HOC模式2.4 自定义hooks模式 3.高阶组件产生初衷4.高阶组件使用和编写结构4.1 装饰器模式和函数包裹模式4.2 嵌套HOC 5.两种不同的高阶组件5.1 正向的属性代理5.2 反向的继承 6.如何编写高阶组…

使用 Express 设置 GraphQL

使用 Express 设置 GraphQL 在本文中&#xff0c;我们将探讨如何在 Node.js 中设置 Express.js 和 GraphQL。另外&#xff0c;本文还将分享一些基本技巧&#xff0c;以确保我们的服务器已准备好投入实际使用&#xff01; 什么是 GraphQL GraphQL 是 API 的查询语言&#xff…

网络爬虫——urllib(1)

前言&#x1f36d; ❤️❤️❤️网络爬虫专栏更新中&#xff0c;各位大佬觉得写得不错&#xff0c;支持一下&#xff0c;感谢了&#xff01;❤️❤️❤️ 前篇简单介绍了什么是网络爬虫及相关概念&#xff0c;这篇开始讲解爬虫中的第一个库——urllib。 urllib&#x1f36d; …

Windows安装CMake详细教程(附学习资料)

CMake是一个跨平台的开源构建工具&#xff0c;用于自动化管理C项目的构建过程。本教程旨在向初学者介绍如何在Windows操作系统上安装CMake&#xff0c;并提供详细的步骤指导&#xff0c;帮助您顺利开始使用这个强大的工具。 学习资料在文末~ 步骤1&#xff1a;下载CMake安装程…