名稱(chēng):基于FPGA的定時(shí)器設(shè)計(jì)Verilog代碼Quartus仿真
軟件:Quartus
語(yǔ)言:Verilog
代碼功能:
設(shè)計(jì)一個(gè)基于FPGA的定時(shí)器。
設(shè)計(jì)要求
1.系統(tǒng)主要外設(shè):自恢復(fù)式按鍵4個(gè)(key1~key4)、LED燈1個(gè)、蜂鳴器1個(gè)、系統(tǒng)時(shí)鐘(50MHz);
2.系統(tǒng)主要功能:能夠通過(guò)按鍵改變定時(shí)的初始值,設(shè)置后進(jìn)行自動(dòng)倒計(jì)時(shí),并通過(guò)數(shù)碼管顯示當(dāng)前剩余時(shí)間。
備注:數(shù)碼管上顯示時(shí)、分、秒,并要求時(shí)、分、秒都可配置;倒計(jì)時(shí)結(jié)束,LED閃爍
FPGA代碼Verilog/VHDL代碼資源下載:www.hdlcode.com
演示視頻:
設(shè)計(jì)文檔:
1. 工程文件
2. 程序文件
3. 程序編譯
4. RTL圖
5. testbench
6. 仿真圖
部分代碼展示:
module?timing( input?clk_in,//50M input?reset,//復(fù)位 input?start_key,//開(kāi)始 input?hour_key,//小時(shí)按鍵 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時(shí)鐘 wire[7:0]hour_set;//小時(shí) wire[7:0]minute_set;//分鐘 wire[7:0]second_set;//秒鐘 wire[7:0]hour_out;//小時(shí) wire[7:0]minute_out;//分鐘 wire[7:0]second_out;//秒鐘 //分頻模塊,分頻到1Hz fenping?i_fenping( .?clk_50M(clk_in), .?clk_1Hz(clk_1Hz) ); //時(shí)間設(shè)置 time_set?i_time_set( .?clk_1Hz(clk_1Hz),//1Hz時(shí)鐘 .?hour_key(hour_key),//小時(shí)按鍵 .?minute_key(minute_key),//分鐘按鍵 .?second_key(second_key),//秒鐘按鍵 .?hour_set(hour_set),//小時(shí) .?minute_set(minute_set),//分鐘 .?second_set(second_set)//秒鐘 ); //時(shí)間倒計(jì)時(shí) time_down?i_time_down( .?clk_1Hz(clk_1Hz),//1Hz時(shí)鐘 .?reset(reset),//復(fù)位 .?start_key(start_key),//開(kāi)始 .?LED(LED), .?hour_set(hour_set),//起始時(shí)間小時(shí) .?minute_set(minute_set),//起始時(shí)間分鐘 .?second_set(second_set),//起始時(shí)間秒鐘 .?hour_out(hour_out),//小時(shí) .?minute_out(minute_out),//分鐘 .?second_out(second_out)//秒鐘 );
點(diǎn)擊鏈接獲取代碼文件:http://www.hdlcode.com/index.php?m=home&c=View&a=index&aid=595