软件: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
阅读全文
578