当前位置:   article > 正文

方波信号发生器的设计Verilog代码Quartus仿真_qartus用verilog设计一个任意信号发生器

qartus用verilog设计一个任意信号发生器

名称:方波信号发生器的设计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
源代码

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

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/你好赵伟/article/detail/724156
推荐阅读
相关标签
  

闽ICP备14008679号