名稱:彈球游戲Verilog代碼Quartus仿真
軟件:Quartus
語言:Verilog
代碼功能:
設(shè)計要求:
1.查閱FPGA、VGA接口標(biāo)準(zhǔn)等相關(guān)資料文獻(xiàn)。
2.編寫HDL代碼實現(xiàn)νGA顯示模塊和按鍵輸入模塊,并下載到開發(fā)板進(jìn)行測試。
3.圖像分辨率不低于1024*768,目標(biāo)移動方塊50*50,移動彈板為20*100。
4.實現(xiàn)一個通過VGA顯示器進(jìn)行游戲顯示并通過按鍵進(jìn)行控制彈板的彈球游戲。
5.對項目的性價比以及社會經(jīng)濟(jì)效益進(jìn)行分析說明。
實驗要求:
1.完成系統(tǒng)硬件設(shè)計。
2.完成HDL代碼設(shè)計及仿真。
FPGA代碼Verilog/VHDL代碼資源下載:www.hdlcode.com
演示視頻:
設(shè)計文檔:
1. 工程文件
2. 程序文件
3. 程序編譯
4. RTL圖
5. Testbench
6. 仿真圖
整體仿真圖
按鍵模塊
VGA時序控制模塊
畫面生成模塊
部分代碼展示:
//VGA時序控制模塊 module?vga_controller_1024x768(rst_p,?pixel_clk,?HS,?VS,?hcount,?vcount,?video_enable); ???input???????????rst_p;//高電平復(fù)位 ???input???????????pixel_clk;//65M ???output??????????HS;//行同步 ???output??????????VS;//場同步 ???output?[10:0]????hcount;//當(dāng)前x像素坐標(biāo)位置 ???output?[10:0]????vcount;//當(dāng)前y像素坐標(biāo)位置 ???output??????????video_enable;//顯示使能 ??? ??? ???reg?????????????HS;??? ???reg?????????????VS;??? ???//定義1024*768的參數(shù) ???parameter??HMAX?=?1344; ???parameter??HLINES?=?1024; ???parameter??HFP?=?1024; ???parameter??HSP?=?1160; ???parameter??VMAX?=?806; ???parameter??VLINES?=?768; ???parameter??VFP?=?771; ???parameter??VSP?=?777; ??? ???reg?[10:0]???????hcounter; ???reg?[10:0]???????vcounter; ??? ???assign?hcount?=?hcounter; ???assign?vcount?=?vcounter; ??? ???//行計數(shù) ???always?@(posedge?pixel_clk) ??????begin ?????????if?(rst_p?==?1'b1) ????????????hcounter?<=?11'b0; ?????????else?if?(hcounter?==?HMAX) ????????????hcounter?<=?11'b0; ?????????else ????????????hcounter?<=?hcounter?+?1; ??????end ??? ???//場計數(shù) ???always?@(posedge?pixel_clk) ??????begin ?????????if?(rst_p?==?1'b1) ????????????vcounter?<=?11'b0; ?????????else?if?(hcounter?==?HMAX) ?????????begin ????????????if?(vcounter?==?VMAX) ???????????????vcounter?<=?11'b0; ????????????else ???????????????vcounter?<=?vcounter?+?1; ?????????end ??????end ??? ???//行同步 ???always?@(posedge?pixel_clk) ??????begin ?????????if?(hcounter?>=?HFP?&?hcounter?<?HSP) ????????????HS?<=?0; ?????????else ????????????HS?<=?1; ??????end ??? ???//場同步 ???always?@(posedge?pixel_clk) ??????begin ?????????if?(vcounter?>=?VFP?&?vcounter?<?VSP) ????????????VS?<=?0; ?????????else ????????????VS?<=?1; ??????end ??? ???//輸出顯示使能信號 ???assign?video_enable?=?((hcounter?<?HLINES?&?vcounter?<?VLINES))???1'b1?:??1'b0; endmodule
點擊鏈接獲取代碼文件:http://www.hdlcode.com/index.php?m=home&c=View&a=index&aid=438