没有合适的资源?快使用搜索试试~ 我知道了~
利用quartus2实现用dds制作信号源
资源推荐
资源详情
资源评论
module dds_ver(
clk_50MHz,fout,change,freq,key0
);
input clk_50MHz; //输入50MHz的全局时钟
input[1:0] change; //定义输入变量,用来切换输出波形,一共4个档位
input [2:0] freq; //定义输入变量,用来改变输出信号的频率,一共8个档位
output [7:0] fout; //输出8为rom的值,用来驱动DA转化芯片,输出波形
input key0; //定义输入变量,用来改变幅值计数器的值,从而改变幅值
//调用FPGA芯片集成的锁相环模块,让输出的波形相位更稳定
pll pll_inst (
.inclk0 ( clk_50MHz ),
.c0 ( clk_pll )
);
wire [7:0] fout;
//分频功能,根据输入变量的不同实现不同的分频,用于读取rom的步长
reg clk;
reg [15:0] cnt;
always @(posedge clk_pll) //利用计数器实现任意分频
begin
if(cnt==(50*(freq+1))) //设定频率控制字节
begin
cnt=0;
clk=~clk;
end
else
cnt=cnt+1;
clk_50MHz,fout,change,freq,key0
);
input clk_50MHz; //输入50MHz的全局时钟
input[1:0] change; //定义输入变量,用来切换输出波形,一共4个档位
input [2:0] freq; //定义输入变量,用来改变输出信号的频率,一共8个档位
output [7:0] fout; //输出8为rom的值,用来驱动DA转化芯片,输出波形
input key0; //定义输入变量,用来改变幅值计数器的值,从而改变幅值
//调用FPGA芯片集成的锁相环模块,让输出的波形相位更稳定
pll pll_inst (
.inclk0 ( clk_50MHz ),
.c0 ( clk_pll )
);
wire [7:0] fout;
//分频功能,根据输入变量的不同实现不同的分频,用于读取rom的步长
reg clk;
reg [15:0] cnt;
always @(posedge clk_pll) //利用计数器实现任意分频
begin
if(cnt==(50*(freq+1))) //设定频率控制字节
begin
cnt=0;
clk=~clk;
end
else
cnt=cnt+1;
end
//调幅功能,输入key0更变计数器cntvol的值,从而更变输出信号的幅度
reg [2:0] cntvol;
always@(negedge key0)
begin
if (cntvol>=1&&cntvol<7)
cntvol<=cntvol+1'd1;
else cntvol<=1'b1;
end
//地址累加器,实现地址的分段累加,从而实现四种不同波形的切换输出
reg [5:0] addr;
always @(posedge clk)
begin
begin
if(change==0)
begin
if(addr>=0&&addr<15) //切换正弦波
addr=addr+1;
else
addr=0;
end
else if(change==1)
begin
if(addr>=16&&addr<31) //切换方波
addr=addr+1;
else
addr=16;
//调幅功能,输入key0更变计数器cntvol的值,从而更变输出信号的幅度
reg [2:0] cntvol;
always@(negedge key0)
begin
if (cntvol>=1&&cntvol<7)
cntvol<=cntvol+1'd1;
else cntvol<=1'b1;
end
//地址累加器,实现地址的分段累加,从而实现四种不同波形的切换输出
reg [5:0] addr;
always @(posedge clk)
begin
begin
if(change==0)
begin
if(addr>=0&&addr<15) //切换正弦波
addr=addr+1;
else
addr=0;
end
else if(change==1)
begin
if(addr>=16&&addr<31) //切换方波
addr=addr+1;
else
addr=16;
剩余5页未读,继续阅读
资源评论
麦田中的菊花
- 粉丝: 0
- 资源: 1
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- mmqrcode1714153659780.png
- Screenshot_2024-04-27-06-08-58-486_com.baidu.xin.aiqicha.jpg
- 基于Javaweb+Tomcat+MySQL的大学生公寓管理系统+sql文件.zip
- 实训作业基于javaweb的订单管理系统源码+数据库+实训报告.zip
- 多机调度问题贪心算法基于最小堆和贪心算法求解多机调度问题.zip
- 基于同态加密技术的匿名电子投票系统源码.zip
- Pyqt5项目框架-PyQt项目开发实践
- 基于C通过MQTT的智能农业大棚管理系统(本科毕业设计)
- python+CNN的网络入侵检测算法源码.zip
- js 实现记住密码功能 js.cookie.min.js
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功