基於FPGA的貪喫蛇遊戲

基於FPGA的貪喫蛇遊戲

軟件環境:Quartus Prime 17.1 ,notepad++,gvim,modelsim-SE,TimeGen3

硬件環境:DE2-115(Intel FPGA Cyclone IV,EP4CE115F29C7N)

板子不一樣的童鞋,要注意修改芯片型號和綁定引腳,修改完後,先別急着修改程序,先重新編譯並下載,看看有沒有效果,不出意外的話是可以直接跑出遊戲的,看到實驗現象了,再自己去優化修改

本項目代碼較多,所以就從大的方向上說一下,具體的看我的源碼,然後自己跑一下就可以,移植還是比較簡單的。

圖1.系統的結構圖

在頂層模塊中一共例化了7個模塊,他們功能分別如下:

    apple_generate.v  主要是用來產生貪喫蛇食物,以及判斷小蛇有沒有喫到蘋果,其中蘋果的隨機產生是利用加法計數器實現的,利用了每次喫蘋果的時間不同,從而會得到不同的蘋果座標。

    game_ctrl.v這個主要是控制遊戲的狀態(START,PLAY,END),每種狀態都有他們自己的一套vga顯示,處在什麼狀態,就把相應的vga輸出到物理的vga控制端口。

    ir_decoder.v 這個是用來紅外解碼的,可以看我的另外一篇博客,自己找一下。

    pll_clk.v這個是pll ip核,用來產生25MHz時鐘。

    smg.v 這個是控制數碼管的,顯示蛇的長度。

    snake_ctrl.v 這個是用來控制蛇的運動,以及產生判斷是否撞牆,撞身體的標誌信號,以及掃描蛇身,產生object信號,給vga_play.v模塊用於顯示蛇身。

    vga_play.v 這個是用來顯示處在PLAY狀態時的圖像  (vga的可以參考我另外一篇博客,自己找一下,還有就是程序裏出現的clk_25m,clk_50m,其中的m是MHz的意思,不是ms.)

貪喫蛇速度演示視頻如下:

貪喫蛇速度演示視頻

福利:

由於最近有很多同學對基於FPGA的貪喫蛇遊戲很感興趣,趁着最近有時間,特將之前貪喫蛇遊戲重新設計一遍,並給出詳細的設計步驟,方便大家學習!一共分2期,本期教程主要解決VGA顯示圖片問題,主要教大家如何寫VGA驅動,如何用C語言生成mif文件。本教程還是需要有一定基礎的,至少會綁定引腳,會使用軟件產生pll、rom等常用的ip。
第一期免費教程鏈接:

貪喫蛇-VGA顯示圖片教程

第二期教程:

建議看完第一期的教程再考慮是否購買完整版的教程,可以保證的是,學會了第一期的教程後,再按照完整版教程就可以實現貪喫蛇所有功能,有問題加我QQ詢問,QQ號:1494640955。

微店還是有點麻煩,很多網友不習慣使用,還是使用“微信轉賬+加好友”的方式簡單點,遇到問題還能直接問我,這種小結的教程只收46元,就是收點辛苦費咯,畢竟編寫教程還是很費時費力的,同時也希望大家能夠珍惜本教程,購買方式如下:

 

(1)長按下面的二維碼進行付款

                                                           

(2)付款後,掃描下面的二維碼加wenalan微信好友,併發送付款截圖,然後我就會把該教程的鏈接發送給你,遇到問題也可以隨時留言進行詢問(直接留言問題,不要問在不在哈,我看到就會回覆的!!!)。

                                                         

 

微信掃描下面的二維碼關注[春哥筆記]公衆號,關注我的公衆號可以獲取更多FPGA的教程,也希望大家轉發支持哦~

                                                             

                                                                                                                                         

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章