名称:短跑计时器设计与实现Verilog代码VIVADO仿真
软件:VIVADO
语言:Verilog
代码功能:
短跑计时器设计与实现
短跑计时器描述如下:
短跑计时器显示分、秒、毫秒;
“毫秒”用两位数码管显示:百位、十位;
“秒”用两位数码管显示:十位、个位;
“分”用一位LED灯显示,LED灯“亮”为1分;
最大计时为1分59秒99,超限值时应可视或可闻报警;
三个按键开关:计时开始/继续(A)、计时停止暂停(B)、复位/清零(C)。
键控流程如下:
计时开始/继续(A)
计时停止/暂停(B)
计时复位清零(C)
FPGA代码Verilog/VHDL代码资源下载:www.hdlcode.com
演示视频:
设计文档:
1. 工程文件
2. 程序文件
3. 程序编译
4. testbench
5. 仿真图
整体仿真图
分频模块
控制模块
显示模块
部分代码展示:
module?Digital_clock( input?clk_50M, input?key_1,//启动(A) input?key_2,//暂停(B) input?key_3,//复位(C) output?minute_led,//分用led显示 output??[7:0]?HEX0,//数码管-低亮 output??[7:0]?HEX1,//数码管-低亮 output??[7:0]?HEX2,//数码管-低亮 output??[7:0]?HEX3//数码管-低亮 ); wire?[7:0]?stopwatch_Millisecond;//10毫秒 wire?[7:0]?stopwatch_second;//秒 wire?clk_100Hz; //分频模块 fenping?fenping_Hz( .?clk_50M(clk_50M), .?clk_100Hz(clk_100Hz) ); //秒表控制模块 stopwatch?i_stopwatch( .?clk_50M(clk_50M), .?clk_100Hz(clk_100Hz),//100Hz--对应10ms .?start_key(key_1),//启动 .?stop_key(key_2),//暂停 .?reset_key(key_3),//复位 .?stopwatch_Millisecond(stopwatch_Millisecond),//10毫秒 .?stopwatch_second(stopwatch_second),//秒 .?minute_led(minute_led)//分 ); //显示模块 display?i_display( .?clk(clk_50M), .?stopwatch_Millisecond(stopwatch_Millisecond),//10毫秒 .?stopwatch_second(stopwatch_second),//秒 .?HEX0(HEX0),//数码管-低亮 .?HEX1(HEX1),//数码管-低亮 .?HEX2(HEX2),//数码管-低亮 .?HEX3(HEX3)//数码管-低亮 ); endmodule
点击链接获取代码文件:http://www.hdlcode.com/index.php?m=home&c=View&a=index&aid=898
阅读全文
282