名稱:Quartus定時(shí)器設(shè)計(jì)verilog代碼
軟件:Quartus
語言:Verilog
代碼功能:
基于FPGA的時(shí)長可調(diào)的定時(shí)器
設(shè)計(jì)要求:4個(gè)按鍵K1~K4,1個(gè)LED。
(1)K1是復(fù)位按鍵,按下后LED滅
(2)按下K2~K4后松開,分別等待10秒、20秒和30秒后,LED燈亮;直到K1再次按下后LED滅。
設(shè)計(jì)任務(wù):編寫HDL代碼,進(jìn)行功能仿真,開發(fā)板調(diào)試。
FPGA代碼Verilog/VHDL代碼資源下載:www.hdlcode.com
演示視頻:
設(shè)計(jì)文檔:
1. 工程文件
2. 程序文件
3. 程序編譯
4. 管腳分配
5. 仿真圖
部分代碼展示:
module?timer( input?clk,//時(shí)鐘 input?k1,//復(fù)位 input?k2,//10秒 input?k3,//20秒 input?k4,//30秒 output?led?//LED燈 ); parameter?DIV_CNT=32'd50_000_000;//上板用該句 //parameter?DIV_CNT=32'd50;//仿真用該句 //分頻到1Hz reg?[31:0]?cnt; reg?clk_1Hz; always@(posedge?clk?or?negedge?k1) if(!k1)begin clk_1Hz<=0; cnt<=32'd0; end else?if(cnt>=DIV_CNT)begin//計(jì)數(shù)后翻轉(zhuǎn) cnt<=32'd0; clk_1Hz<=1;//1秒信號 end else?begin cnt<=cnt+32'd1; clk_1Hz<=0; end reg?[2:0]?state; parameter?s_idle=3'd0; parameter?s_w10=3'd1; parameter?s_w20=3'd2; parameter?s_w30=3'd3; parameter?s_end=3'd4;
點(diǎn)擊鏈接獲取代碼文件:http://www.hdlcode.com/index.php?m=home&c=View&a=index&aid=401