软件: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
784