名稱:基于FPGA的定時器設(shè)計Verilog代碼Quartus仿真
軟件:Quartus
語言:Verilog
代碼功能:
設(shè)計一個基于FPGA的定時器。
設(shè)計要求
1.系統(tǒng)主要外設(shè):自恢復(fù)式按鍵4個(key1~key4)、LED燈1個、蜂鳴器1個、系統(tǒng)時鐘(50MHz);
2.系統(tǒng)主要功能:能夠通過按鍵改變定時的初始值,設(shè)置后進(jìn)行自動倒計時,并通過數(shù)碼管顯示當(dāng)前剩余時間。
備注:數(shù)碼管上顯示時、分、秒,并要求時、分、秒都可配置;倒計時結(jié)束,LED閃爍
FPGA代碼Verilog/VHDL代碼資源下載:www.hdlcode.com
演示視頻:
設(shè)計文檔:
1. 工程文件
2. 程序文件
3. 程序編譯
4. RTL圖
5. testbench
6. 仿真圖
部分代碼展示:
module?timing( input?clk_in,//50M input?reset,//復(fù)位 input?start_key,//開始 input?hour_key,//小時按鍵 input?minute_key,//分鐘按鍵 input?second_key,//秒鐘按鍵 output?LED, output?[7:0]?HEX0,//數(shù)碼管-低亮 output?[7:0]?HEX1,//數(shù)碼管-低亮 output?[7:0]?HEX2,//數(shù)碼管-低亮 output?[7:0]?HEX3,//數(shù)碼管-低亮 output?[7:0]?HEX4,//數(shù)碼管-低亮 output?[7:0]?HEX5?//數(shù)碼管-低亮 ); 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) ); //時間設(shè)置 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),//復(fù)位 .?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