名称:基于FPGA的定时器设计Verilog代码Quartus仿真
软件:Quartus
语言:Verilog
代码功能:
设计一个基于FPGA的定时器。
设计要求
1.系统主要外设:自恢复式按键4个(key1~key4)、LED灯1个、蜂鸣器1个、系统时钟(50MHz);
2.系统主要功能:能够通过按键改变定时的初始值,设置后进行自动倒计时,并通过数码管显示当前剩余时间。
备注:数码管上显示时、分、秒,并要求时、分、秒都可配置;倒计时结束,LED闪烁
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?hour_key,//小时按键 input?minute_key,//分钟按键 input?second_key,//秒钟按键 output?LED, output?[7:0]?HEX0,//数码管-低亮 output?[7:0]?HEX1,//数码管-低亮 output?[7:0]?HEX2,//数码管-低亮 output?[7:0]?HEX3,//数码管-低亮 output?[7:0]?HEX4,//数码管-低亮 output?[7:0]?HEX5?//数码管-低亮 ); wire?clk_1Hz;//1Hz时钟 wire[7:0]hour_set;//小时 wire[7:0]minute_set;//分钟 wire[7:0]second_set;//秒钟 wire[7:0]hour_out;//小时 wire[7:0]minute_out;//分钟 wire[7:0]second_out;//秒钟 //分频模块,分频到1Hz fenping?i_fenping( .?clk_50M(clk_in), .?clk_1Hz(clk_1Hz) ); //时间设置 time_set?i_time_set( .?clk_1Hz(clk_1Hz),//1Hz时钟 .?hour_key(hour_key),//小时按键 .?minute_key(minute_key),//分钟按键 .?second_key(second_key),//秒钟按键 .?hour_set(hour_set),//小时 .?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), .?hour_set(hour_set),//起始时间小时 .?minute_set(minute_set),//起始时间分钟 .?second_set(second_set),//起始时间秒钟 .?hour_out(hour_out),//小时 .?minute_out(minute_out),//分钟 .?second_out(second_out)//秒钟 );
点击链接获取代码文件:http://www.hdlcode.com/index.php?m=home&c=View&a=index&aid=595
阅读全文