软件:Quartus
语言:Verilog
代码功能:
警报控制电路
设计要求:
1. 输入量有警报信号ALE,取消键 CANCLE,系统时钟CLK,为1kHz。输出量为一个LED灯和扬声器 SPEAKER。
2.当警报信号ALE有效时,LED开始以间隔0.1秒闪烁,同CANCLE,LED加速闪烁,以间隔0.05秒闪烁,直到取消键时扬声器响起,持续30秒后,如果没有按下取消键CANCLE被按下。假设输入时钟是1kHz,则需要设计一个输出为10Hz的计数器作为0.1秒闪烁模块,20Hz的计数器作为0.05秒闪烁模块,分频系数分别是100和50。
3.将顶层文件下载至开发板中,利用开发板上面48MHz分频,使用按键、时钟信号和LED发光二极管,进行演示。
FPGA代码Verilog/VHDL代码资源下载:www.hdlcode.com
演示视频:
设计文档:
1. 工程文件
2. 程序文件
3. 程序编译
4. RTL图
5. 管脚分配
6. 仿真图
部分代码展示:
module?alarm( input?clk_in,//系统时钟48MHz input?cancle,//高电平取消有效 input?ALE,//高电平报警有效 output?LED,?//高电平亮灯 output?SPEAKER?//高电平扬声器有声音 ); wire?CLK;//1KHz wire?clk_10;//10Hz wire?clk_20;//20Hz //分频模块 div?i_div( .?clk_in(clk_in),//系统时钟48M .?clk_o?(CLK)//分频输出1KHz ); //频率产生模块 gen_clk?gen_clk_1( .?clk_1k(CLK),//系统时钟1KHz .?clk_10(clk_10),//10Hz .?clk_20(clk_20)//20Hz ); //控制模块 ctrl?ctrl_1?( .?CLK(CLK),//系统时钟1KHz .?clk_10(clk_10),//10Hz .?clk_20(clk_20),//20Hz .?cancle(cancle),//高电平取消有效 .?ALE(ALE),//高电平报警有效 .?LED(LED),?//高电平亮灯 .?SPEAKER(SPEAKER)?//高电平扬声器有声音 ); endmodule
点击链接获取代码文件:http://www.hdlcode.com/index.php?m=home&c=View&a=index&aid=414
613