軟件:Quartus
語言:Verilog
代碼功能:
基于FPGA的時長可調(diào)的定時器
設(shè)計要求:4個按鍵K1~K4,1個LED。
(1)K1是復位按鍵,按下后LED滅
(2)按下K2~K4后松開,分別等待10秒、20秒和30秒后,LED燈亮;直到K1再次按下后LED滅。
設(shè)計任務(wù):編寫HDL代碼,進行功能仿真,開發(fā)板調(diào)試。
FPGA代碼Verilog/VHDL代碼資源下載:www.hdlcode.com
演示視頻:
設(shè)計文檔:
1. 工程文件
2. 程序文件
3. 程序編譯
4. 管腳分配
5. 仿真圖
部分代碼展示:
module?timer( input?clk,//時鐘 input?k1,//復位 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//計數(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;
點擊鏈接獲取代碼文件:http://www.hdlcode.com/index.php?m=home&c=View&a=index&aid=401
閱讀全文