名稱:Quartus電梯控制器的模擬實(shí)現(xiàn)Verilog代碼AX301開發(fā)板
軟件:Quartus
語言:Verilog
代碼功能:
電梯控制器的模擬實(shí)現(xiàn):設(shè)計(jì)一個(gè)模擬電梯控制器,完成4個(gè)樓層的向上載客服務(wù)。
要求:
(1)電梯初始位置??吭谝粯?,四個(gè)按鍵代表4個(gè)目標(biāo)樓層,運(yùn)輸完成后回到一樓。
(2)顯示電梯的運(yùn)行情況、電梯所在樓層等。
FPGA代碼Verilog/VHDL代碼資源下載:www.hdlcode.com
本代碼已在AX301開發(fā)板驗(yàn)證,開發(fā)板如下,其他開發(fā)板可以修改管腳適配:
演示視頻:
設(shè)計(jì)文檔:
1. 工程文件
2. 程序文件
3. 程序編譯
4. RTL圖
5. 管腳分配
6. Testbench
7. 仿真圖
整體仿真圖
分頻模塊
控制模塊
顯示模塊
部分代碼展示:
//電梯控制器的模擬實(shí)現(xiàn) //設(shè)計(jì)一個(gè)模擬電梯控制器,完成4個(gè)樓層的向上載客服務(wù)。 //(1)電梯初始位置??吭谝粯?,四個(gè)按鍵代表4個(gè)目標(biāo)樓層,運(yùn)輸完成后回到一樓。 //(2)顯示電梯的運(yùn)行情況、電梯所在樓層等。 module?lift( input?clk,//50MHz input?key_1,//超載報(bào)警 input?key_2, input?key_3, input?key_4, output?beep,//報(bào)警 output?[3:0]?LED,//LED指示目前電梯位置 output?[5:0]?en,//數(shù)碼管位選 output?[7:0]?seg//數(shù)碼管段選 ); wire?clk_1Hz;//1Hz wire?rst_n; wire?[3:0]?floor;//樓層 assign?rst_n=(key_1?&?key_2?&?key_3?&?key_4); //分頻模塊,分頻到1Hz clk_div?i_clk_div( .?clk_50M(clk),//時(shí)鐘 .?rst_n(rst_n),//復(fù)位 .?clk_1Hz(clk_1Hz)//分頻到1Hz ); //控制模塊 control?i_control( .?clk????(clk),//50MHz .?clk_1Hz(clk_1Hz),//1Hz .?key_1(key_1), .?key_2(key_2), .?key_3(key_3), .?key_4(key_4), .?floor(floor),//樓層 .?beep(beep), .?LED(LED)//LED指示目前電梯位置 ); //顯示模塊 display?i_display( .?clk(clk),//時(shí)鐘 .?floor(floor),//樓層 .?en(en),//數(shù)碼管位選 .?seg(seg)//數(shù)碼管段選 ); endmodule
點(diǎn)擊鏈接獲取代碼文件:http://www.hdlcode.com/index.php?m=home&c=View&a=index&aid=338