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

名称:方波信号发生器的设计Verilog代码Quartus仿真(文末获取)

软件:Quartus

语言:Verilog

代码功能:

方波信号发生器的设计选题内容

基于可编程逻辑器件的工作原理和开发方法,采用 Verilog硬件描述语言,在可编程逻辑器件实验箱上实现一个方波信号发生器,能够实现一定频率范围内方波信号的产生。任务要求

(1)能够产生1kHz~50kHz频率范围内的方波信号;

(2)可以用按键实现方波信号频率的调节,按键每按一次,方波信号的频率按一定的值递增

(3)可以用按键实现方波信号占空比的调节,按键每按次,方波信号的占空比按一定的值递增;

(4)系统有复位按键,当复位按键按下后,方波信号的频率和占空比回到初始值;

(5)系统有按键消抖的功能,能够消除按键刚按下时的不稳定的抖动状态

(6)设计各功能模块,进行编译、综合、仿真、下载等步骤,在实验箱上模拟方波信号发生器产生方波的效果。

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
源代码

 扫描文章末尾的公众号二维码

  • 9
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值