名称:基于FPGA的定时器设计Verilog代码Quartus仿真(文末获取)
软件:Quartus
语言:Verilog
代码功能:
设计一个基于FPGA的定时器。
设计要求
1.系统主要外设:自恢复式按键4个(key1~key4)、LED灯1个、蜂鸣器1个、系统时钟(50MHz);
2.系统主要功能:能够通过按键改变定时的初始值,设置后进行自动倒计时,并通过数码管显示当前剩余时间。
备注:数码管上显示时、分、秒,并要求时、分、秒都可配置;倒计时结束,LED闪烁
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)//秒钟 );
源代码
扫描文章末尾的公众号二维码