名稱:Quartus自動(dòng)存儲(chǔ)箱Verilog代碼遠(yuǎn)程云端平臺(tái)
軟件:Quartus
語言:Verilog
代碼功能:
任務(wù)及要求:
1.設(shè)計(jì)內(nèi)容和要求(包括設(shè)計(jì)內(nèi)容、主要指標(biāo)與技術(shù)參數(shù))
設(shè)計(jì)內(nèi)容:基于FPGA的自動(dòng)存儲(chǔ)箱的設(shè)計(jì)。
設(shè)計(jì)要求:
(1)設(shè)計(jì)語言為 Verilog,硬件開發(fā)平臺(tái)為 Spartan-開發(fā)板;
(2)設(shè)計(jì)基于FPGA的自動(dòng)存儲(chǔ)箱的設(shè)計(jì),共有5個(gè)存儲(chǔ)箱,當(dāng)按下存物按鍵后,系統(tǒng)自動(dòng)分配個(gè)存儲(chǔ)箱并用數(shù)碼管顯示當(dāng)前分配的序號(hào);當(dāng)滿箱時(shí),系統(tǒng)不再分配,并要求數(shù)碼管顯示“F”;當(dāng)按下取物按鍵后,需選擇存儲(chǔ)箱序號(hào)完成取物,要求顯示當(dāng)前取物的存儲(chǔ)箱序號(hào)。
(3)采用層次化的設(shè)計(jì)。
FPGA代碼Verilog/VHDL代碼資源下載:www.hdlcode.com
本代碼已在遠(yuǎn)程云端平臺(tái)驗(yàn)證,遠(yuǎn)程云端平臺(tái)如下,其他遠(yuǎn)程云端平臺(tái)可以修改管腳適配:
演示視頻:
設(shè)計(jì)文檔:
1. 工程文件
2. 程序文件
3. 程序編譯
4. RTL圖
5. 管腳分配
6. 仿真文件
7. 仿真圖
遠(yuǎn)程平臺(tái)電路設(shè)計(jì),由于遠(yuǎn)程網(wǎng)頁打不開,只好手繪電路圖如下:
左側(cè)8個(gè)按鍵IN0~IN7依次分別為:
右側(cè)5個(gè)led(OUT0~OUT4)和一個(gè)數(shù)碼管(OUT5~OUT12),按下圖連接,按鍵為上升沿。
儲(chǔ)物時(shí):按下儲(chǔ)物鍵,再按下關(guān)門鍵完成一次操作
取物時(shí):按下取物鍵,再按下幾號(hào)存儲(chǔ)箱按鍵,再按下關(guān)門鍵完成一次操作
部分代碼展示:
module?locker( input?clk_1KHz,//1KHz input?rst,//復(fù)位 input?store_key,//儲(chǔ)物按鍵 input?get_key,//取物按鍵 input?num1_key,//1號(hào)存儲(chǔ)箱 input?num2_key,//2號(hào)存儲(chǔ)箱 input?num3_key,//3號(hào)存儲(chǔ)箱 input?num4_key,//4號(hào)存儲(chǔ)箱 input?num5_key,//5號(hào)存儲(chǔ)箱 input?close_key,//關(guān)門信號(hào) output?led_1,//led指示是否已存 output?led_2,//led指示是否已存 output?led_3,//led指示是否已存 output?led_4,//led指示是否已存 output?led_5,//led指示是否已存 output?[7:0]?HEX//數(shù)碼管 ); wire?[3:0]?diaplay_data;//?顯示數(shù)值 //存儲(chǔ)箱控制模塊 locker_ctrl?i_locker_ctrl( .?clk_1KHz(clk_1KHz),//1KHz .?store_key(store_key),//儲(chǔ)物按鍵 .?get_key(get_key),//取物按鍵 .?num1_key(num1_key),//1號(hào)存儲(chǔ)箱 .?num2_key(num2_key),//2號(hào)存儲(chǔ)箱 .?num3_key(num3_key),//3號(hào)存儲(chǔ)箱 .?num4_key(num4_key),//4號(hào)存儲(chǔ)箱 .?num5_key(num5_key),//5號(hào)存儲(chǔ)箱 .?close_key(close_key),//關(guān)門信號(hào) .?led_1(led_1),//led指示是否已存 .?led_2(led_2),//led指示是否已存 .?led_3(led_3),//led指示是否已存 .?led_4(led_4),//led指示是否已存 .?led_5(led_5),//led指示是否已存 .?diaplay_data(diaplay_data)//?顯示數(shù)值 ); //數(shù)碼管顯示模塊 display?i_display( .?clk_1KHz(clk_1KHz),//1KHz .?diaplay_data(diaplay_data),//?顯示數(shù)值 .?HEX(HEX)//數(shù)碼管 ); endmodule
點(diǎn)擊鏈接獲取代碼文件:http://www.hdlcode.com/index.php?m=home&c=View&a=index&aid=352