名称:方波信号发生器的设计Verilog代码Quartus仿真
软件:Quartus
语言:Verilog
代码功能:
方波信号发生器的设计选题内容
基于可编程逻辑器件的工作原理和开发方法,采用 Verilog硬件描述语言,在可编程逻辑器件实验箱上实现一个方波信号发生器,能够实现一定频率范围内方波信号的产生。
任务要求:
(1)能够产生1kHz~50kHz频率范围内的方波信号;
(2)可以用按键实现方波信号频率的调节,按键每按一次,方波信号的频率按一定的值递增
(3)可以用按键实现方波信号占空比的调节,按键每按次,方波信号的占空比按一定的值递增;
(4)系统有复位按键,当复位按键按下后,方波信号的频率和占空比回到初始值;
(5)系统有按键消抖的功能,能够消除按键刚按下时的不稳定的抖动状态
(6)设计各功能模块,进行编译、综合、仿真、下载等步骤,在实验箱上模拟方波信号发生器产生方波的效果。
FPGA代码Verilog/VHDL代码资源下载:www.hdlcode.com
演示视频:
设计文档:
1. 工程文件
2. 程序文件
3. 程序编译
4. RTL图
5. Testbench
6. 仿真图
部分代码展示:
//方波信号发生器 //1K~50KHz,按键调节频率递增 //占空比,按键调节占空比递增 module?pulse_ctrl( input?clk,//工作时钟1MHz,一周期1us input?reset,//复位,用于初始化 input?freq_key,//频率控制按键 input?duty_key,//占空比控制按键 output?pulse_wave//方波信号输出 ); wire?[12:0]?period_in;//周期控制,即控制频率,频率是周期的倒数1K~50KHz对应周期为1000us~20us wire?[6:0]?Duty_cycle_in;//占空比控制,10%~90% //按键控制模块 key_in?i_key_in( .?clk(clk),//工作时钟1MHz,一周期1us .?reset(reset),//复位,用于初始化 .?freq_key(freq_key),//频率控制按键 .?duty_key(duty_key),//占空比控制按键 .?period_in(period_in),//周期控制,即控制频率,频率是周期的倒数1K~50KHz对应周期为1000us~20us .?Duty_cycle_in(Duty_cycle_in)//占空比控制,10%~90% ); //波形产生模块 wave_generate?i_wave_generate( .?clk(clk),//工作时钟1MHz,一周期1us .?period_in(period_in),//周期控制,即控制频率,频率是周期的倒数1K~50KHz对应周期为1000us~20us .?Duty_cycle_in(Duty_cycle_in),//占空比控制,10%~90% .?pulse_wave(pulse_wave)//方波信号输出 ); endmodule
点击链接获取代码文件:http://www.hdlcode.com/index.php?m=home&c=View&a=index&aid=641
630