软件:Quartus
语言:Verilog
代码功能:
脉宽调制电路设计。
内容及要求:
脉宽调制电路
(1)脉宽可调;
(2)周期可调;
(3)使用实验室的开发箱或自备开发板完成设计;
(4)完成全部流程:设计规范文档、模块设计、代码输入、功能仿真、约束与综合、时序仿真、下载验证等。
FPGA代码Verilog/VHDL代码资源下载:www.hdlcode.com
演示视频:
设计文档:
1. 工程文件
2. 程序文件
3. 程序编译
4. RTL图
5. Testbench
6. 仿真图
部分代码展示:
//脉宽调制电路设计 module?Pulse_width( input?clk,//时钟 input?reset,//复位 input?[6:0]?width_set,//脉宽设置(0~100),占空比0%~100% input?[9:0]?duty_set,//周期设置 output?reg?pulse//输出脉宽调制信号 ); reg?[9:0]?count=10'd0;//定义计数器 //周期控制 always@(posedge?clk?or?posedge?reset) if(reset) count<=10'd0;//复位 else if(count>=duty_set)//duty_set控制周期,count计数到duty_set清零 count<=10'd0; else count<=count+10'd1;//计数 //脉宽控制 wire?[9:0]?width; assign?width=duty_set*width_set/100;//计算脉冲宽度对应的计数值,周期乘以占空比 always@(posedge?clk?or?posedge?reset) if(reset) pulse<=0;//复位 else if(count<=width)//width控制脉冲宽度,count计数小于等于到width输出高电平 pulse<=1;//输出高电平 else pulse<=0;//输出低电平 endmodule
点击链接获取代码文件:http://www.hdlcode.com/index.php?m=home&c=View&a=index&aid=642
阅读全文
309