软件:Quartus
语言:Verilog
代码功能:
定时器设计
功能要求:
(1)具有倒计时的定时功能,定时范围:1秒~9999分59秒;
(2)定时时间采用6位数码管显示;
(3)具有设定时间、启动和停止的功能;
(4)具有定时时间到达时蜂鸣器报警的功能;
FPGA代码Verilog/VHDL代码资源下载:www.hdlcode.com
设计文档:
1. 工程文件
2. 程序文件
3. 程序编译
4. RTL图
5. testbench
6. 仿真图
部分代码展示:
module?timing( input?clk_in,//50M input?reset,//复位 input?start_key,//开始 input?minute_key,//分钟按键 input?second_key,//秒钟按键 output?LED, output?[7:0]?HEX0,//数码管-低亮 output?[7:0]?bit_set//数码管-低亮? ); wire?clk_1Hz;//1Hz时钟 wire[7:0]minute_set;//分钟 wire[7:0]second_set;//秒钟 wire[7:0]minute_out;//分钟 wire[7:0]second_out;//秒钟 //分频模块,分频到1Hz fenping?i_fenping( .?clk_in(clk_in), .?clk_1Hz(clk_1Hz) ); //时间设置 time_set?i_time_set( .?clk_1Hz(clk_1Hz),//1Hz时钟 .?minute_key(minute_key),//分钟按键 .?second_key(second_key),//秒钟按键 .?minute_set(minute_set),//分钟 .?second_set(second_set)//秒钟 ); //时间倒计时 time_down?i_time_down( .?clk_1Hz(clk_1Hz),//1Hz时钟 .?reset(reset),//复位 .?start_key(start_key),//开始 .?LED(LED), .?minute_set(minute_set),//起始时间分钟 .?second_set(second_set),//起始时间秒钟 .?minute_out(minute_out),//分钟 .?second_out(second_out)//秒钟 ); //数码管显示模块 display?i_display( .?clk(clk_in), .?minute_out(minute_out),//分钟 .?second_out(second_out),//秒钟 .?HEX0(HEX0),//数码管-低亮 .?bit_set(bit_set)//数码管-低亮 ); endmodule
点击链接获取代码文件:http://www.hdlcode.com/index.php?m=home&c=View&a=index&aid=596
阅读全文