名称:多功能数字钟Verilog代码vivado basys3开发板(文末获取)
软件:vivado
语言:Verilog
代码功能:
多功能数字钟
用Verilog语言设计一个多功能数字钟,数字钟具有下述功能:
(1)计时功能:包括时、分、秒的计时。
(2)定时与闹钟功能:能在设定的时间发出闹铃音。(3)校时功能:对小时、分钟和秒能手动调整以校准时间
(4)整点报时功能:每逢整点,产生“嘀”的报时音。
本代码已在basys3开发板验证,basys3开发板如下,其他开发板可以修改管脚适配:
1. 工程文件
2. 程序文件
3. 程序编译
4. RTL图
5. 管脚分配
6. Testebnch
7. 仿真图
部分代码展示:
`timescale 1 ns/ 1 ns module Digital_clock_vlg_tst(); reg clk_in; reg key_0; reg key_1; reg key_2; reg key_3; // wires wire bell_out; wire [5:0] bit_select; wire [2:0] led_alarm_time; wire [2:0] led_jishi_time; wire [3:0] led_mode; wire [7:0] seg_select; // assign statements (if any) Digital_clock i1 ( // port map - connection between master ports and signals/registers .bell_out(bell_out), .bit_select(bit_select), .clk_in(clk_in), .key_0(key_0), .key_1(key_1), .key_2(key_2), .key_3(key_3), .led_alarm_time(led_alarm_time), .led_jishi_time(led_jishi_time), .led_mode(led_mode), .seg_select(seg_select) ); //input key_0,//模式设置按键--4'd0:计时,4'd1:闹钟 //input key_1,//设置修改 //input key_2,//修改确认 //input key_3,//修改时分秒,闹钟关闭 initial begin key_0=1; key_1=1; key_2=1; key_3=1; #100; //计时 repeat(2) begin key_1=0; //设置修改 #10000; key_1=1; #10000; key_3=0; //修改时 #10000; key_3=1; #10000; key_3=0; //修改时 #10000; key_3=1; #10000; key_2=0; //修改确认 #10000; key_2=1; #10000; key_3=0; //修改分 #10000; key_3=1; #10000; key_3=0; //修改分 #10000; key_3=1; #10000; key_2=0; //修改确认 #10000; key_2=1; #10000; key_3=0; //修改秒 #10000; key_3=1; #10000; key_3=0; //修改秒 #10000; key_3=1; #10000; key_2=0; //修改确认 #10000; key_2=1; #10000; key_0=0; //切换模式 clk_in=0; #10; end endmodule
源代码
扫描文章末尾的公众号二维码