• 方案介绍
  • 附件下载
  • 相关推荐
申请入驻 产业图谱

PWM信号发生器的设计Verilog代码Quartus仿真

09/26 10:16
400
加入交流群
扫码加入
获取工程师必备礼包
参与热点资讯讨论

2-2410311R04Y02.doc

共1个文件

名称:PWM信号发生器的设计Verilog代码Quartus仿真

软件:Quartus

语言:Verilog

代码功能:

1.设计内容和要求(包括设计内容、主要标与技术参数)

设计内容:基于FPGA的PWM信号发生器的设计

设计要求:

(1)设计语言为Verilog,硬件开发平台为Spartan-3E开发板

(2)设计基于FPGA的PM信号发生器的设计,要求设计一个信号发生器,可以产生PWM波并可以调占空比、频率,并用逻辑分析仪显示;

(3)采用层次化的设计。

2.原始依据

本设计要求学生应用Alter PWM信号发生器通过设计能让学生进一步掌握FPGA的基本开发流程,同提高时序设计能力,学生已学习过EDA课程,掌握硬件描述语言基本知识,通过本次设计可进一步提高学生的动手能力力里论联系实际的能力

3.进度计划

3.7-3.10查阅相关资料,学习 Verilog语言,掌握FFGA基本知识。

3.13-3.18应用 Verilog语言进行程序开发,设计调试

3.21-3.25调试验收,撰写专业课程实践训练报告

FPGA代码Verilog/VHDL代码资源下载:www.hdlcode.com

演示视频:

设计文档:

1. 工程文件

2. 程序文件

3. 程序编译

4. RTL图

5. 管脚分配

6. 仿真文件(VWF)

7. 仿真图

8. 远程平台

由于平台登录不了

手绘原理图如下:

部分代码展示:

module?pwm(clk,?RST,?period_add,?period_sub,duty_add,duty_sub,pulse);
???input????????clk;//1KHz时钟
???input????????RST;//复位
???input??period_add;//周期增加按键
???input??period_sub;//周期减小按键
???input??duty_add;//占空比增加按键
???input??duty_sub;//占空比减小按键
???output???????pulse;//输出PWM波
???
???
???reg?????????pulse=0;
???reg?[15:0]??period_cnt=16'd1000;//周期计数器,默认周期1s
???reg?[7:0]???duty_cnt=8'd50;//占空比信号1%~99%,默认50%
???
???
???reg?[15:0]??count;
//调整周期
always@(posedge?clk?or?posedge?RST)
if(RST)
period_cnt<=16'd1000;//周期计数器,默认周期1s
else
if(period_cnt<=16'd100)
period_cnt<=16'd100;//周期计数器,最低周期100ms
else
if(period_add)//周期增加按键
period_cnt<=period_cnt+16'd100;//周期计数器,步进100ms
else?if(period_sub)//周期减小按键
period_cnt<=period_cnt-16'd100;//周期计数器,步进100ms
else
period_cnt<=period_cnt;
//调整占空比
always@(posedge?clk?or?posedge?RST)
if(RST)
duty_cnt<=8'd50;//占空比信号1%~99%,默认50%
else
if(duty_add)//占空比增加按键
if(duty_cnt>=8'd99)
duty_cnt<=8'd99;//最大99%
else
duty_cnt<=duty_cnt+8'd2;//占空比计数器,步进2
else?if(duty_sub)//占空比减小按键
if(duty_cnt<=8'd1)

点击链接获取代码文件:http://www.hdlcode.com/index.php?m=home&c=View&a=index&aid=1300

  • 2-2410311R04Y02.doc
    下载

相关推荐