名稱:洗衣機(jī)控制器設(shè)計(jì)Verilog代碼vivado? Nexys4開發(fā)板
軟件:vivado
語(yǔ)言:Verilog
代碼功能:
洗衣機(jī)控制器設(shè)計(jì)要求
設(shè)計(jì)一個(gè)電子定時(shí)器,控制洗衣機(jī)作如下運(yùn)轉(zhuǎn)定時(shí)啟動(dòng)→正轉(zhuǎn)20秒→暫停10秒→反轉(zhuǎn)20秒→暫停10秒,每個(gè)循環(huán)1分鐘。
按正計(jì)時(shí)方式用兩個(gè)數(shù)碼管顯示正轉(zhuǎn)、暫停、反轉(zhuǎn)時(shí)間,同時(shí)用三只LED燈表示“正轉(zhuǎn)”、“反轉(zhuǎn)”、“暫?!比齻€(gè)狀態(tài)。
用兩個(gè)數(shù)碼管顯示洗滌的預(yù)置時(shí)間(分鐘數(shù))按倒計(jì)時(shí)方式對(duì)洗滌過程作計(jì)時(shí)顯示,時(shí)間到停機(jī),停機(jī)指示燈亮。
洗滌過程由“開始”開關(guān)開始,設(shè)置“暫?!遍_關(guān)。
FPGA代碼Verilog/VHDL代碼資源下載:www.hdlcode.com
本代碼已在?Nexys4開發(fā)板驗(yàn)證,?Nexys4開發(fā)板如下,其他開發(fā)板可以修改管腳適配:
演示視頻:
設(shè)計(jì)文檔:
1. 工程文件
2. 程序文件
3. 管腳約束
4. 程序編譯
5. RTL圖
6. Testbench
7. 仿真圖
7.1 整體仿真圖
7.2 div_to_1K模塊
7.3 div_to_1模塊
7.4 control模塊
7.5 display模塊
部分代碼展示:
//testebnch module?wash_machine_tb(); reg?clk;//100MHz reg?key_add;//加按鍵,設(shè)置時(shí)間 reg?key_sub;//減按鍵,設(shè)置時(shí)間 reg?key_start;//啟動(dòng)按鍵 reg?key_stop;//暫停按鍵,按下高電平 reg?key_reset;//復(fù)位按鍵 wire?D1;//正轉(zhuǎn) wire?D2;//反轉(zhuǎn) wire?D3;//暫停 wire?end_led;//結(jié)束指示燈 wire?[7:0]?bit_select;//數(shù)碼管位選 wire?[7:0]?seg_select;//數(shù)碼管段選 wash_machine?i_wash_machine( .?clk???????(clk???????),//100MHz .?key_add???(key_add???),//加按鍵,設(shè)置時(shí)間 .?key_sub???(key_sub???),//減按鍵,設(shè)置時(shí)間 .?key_start?(key_start?),//啟動(dòng)按鍵 .?key_stop??(key_stop??),//暫停按鍵,按下高電平 .?key_reset?(key_reset?),//復(fù)位按鍵 .?D1????????(D1????????),//正轉(zhuǎn) .?D2????????(D2????????),//反轉(zhuǎn) .?D3????????(D3????????),//暫停 .?end_led???(end_led???),//結(jié)束指示燈 .?bit_select(bit_select),//數(shù)碼管位選 .?seg_select(seg_select)?//數(shù)碼管段選 ); initial?begin key_add??=0;//加按鍵,設(shè)置時(shí)間 key_sub??=0;//減按鍵,設(shè)置時(shí)間 key_start=0;//啟動(dòng)按鍵 key_stop?=0;//暫停按鍵,按下高電平 key_reset=1;//復(fù)位按鍵 #10000; key_reset=0; #10000; key_start=1;//啟動(dòng)按鍵 #10000; key_start=0; #10000; #300000; key_stop=1;//暫停按鍵 #10000; key_stop=0; #10000; #200000; key_start=1;//啟動(dòng)按鍵 #10000; key_start=0; #10000; end always?begin clk=0; #5; clk=1; #5; end endmodule
點(diǎn)擊鏈接獲取代碼文件:http://www.hdlcode.com/index.php?m=home&c=View&a=index&aid=470