貪吃蛇實驗報告-包思芮_第1頁
貪吃蛇實驗報告-包思芮_第2頁
貪吃蛇實驗報告-包思芮_第3頁
貪吃蛇實驗報告-包思芮_第4頁
貪吃蛇實驗報告-包思芮_第5頁
免費預(yù)覽已結(jié)束,剩余15頁可下載查看

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)

文檔簡介

第1章緒 FPGA的簡 VGA顯示器的簡 PS2鍵盤的簡 第2章貪吃蛇分 2.1設(shè)計內(nèi)容及要 系統(tǒng)分 第3章貪吃蛇設(shè) VGA顯示模塊設(shè) 鍵盤掃描模塊設(shè) 控制模塊設(shè) (此部分為本人負(fù)責(zé),詳寫蘋果隨機(jī)產(chǎn) 狀態(tài)控 分?jǐn)?shù)設(shè) 頂層模塊設(shè) 第4章調(diào)試結(jié) 第5章課設(shè)結(jié)論及組員工作分 課設(shè)結(jié) 組員工作分 第6章心得體 致 參考文 本次電子技術(shù)基礎(chǔ)課程設(shè)計了貪吃蛇,實現(xiàn)了用FPGA來驅(qū)動VGA顯示貪吃蛇貪吃蛇的規(guī)則是玩家使用PS2鍵盤操控一條蛇上下左右移動不VerilogHDLVGA,PS2:FPGA;VGA;PS2;貪吃蛇;VerilogThiselectronictechnologybasiccoursedesignedthesnakegame,usingFPGAtodrivetheVGAdisplaysnakegame.SnakerulesofthegameplayersusethePS2keyboardtomanipulateasnakefromtoptobottomandmovearoundconstantlytoswallowtheapple.Eatinganapplesnakebodygrowthsection,whenthesnakehitthesnakeorbarriergameisover.ThiscourseisdesignedusingVerilogHDLlanguage,involvedtheVGAdisplay,PS2keyboardcontrol,thestatemachineandrelatedKeyWords:FPGA;VGA;PS2;SnakeGame;VerilogFPGA的簡

第1合與布局,快速的燒錄至FPGA上進(jìn)試,是現(xiàn)代IC設(shè)計驗證的技術(shù)主流。這些可編輯元件可以被用來實現(xiàn)一些基本的邏輯門電路(AND、OR、XOR、NOT)或者更復(fù)雜一些的組合功能比如器或數(shù)學(xué)方程式。在大多數(shù)的FPGA里面這些可編輯的元件里也包含元件例如觸發(fā)器或者其他更加完整的FPGA采用了邏輯單元陣列LCA這樣一個概念包括可配置邏輯模塊CLB、輸入輸出模塊IOB和連線三個部分。現(xiàn)場可編程門陣列(FPGA)是可編程器件,與傳統(tǒng)邏輯電路和門陣列(如PAL,GAL及CPLD器件)相比,F(xiàn)PGA具有不 所使用的FPGA開發(fā)板:USBUSBVGAPS/2VGA顯示器的簡FPGAVGA16D-SUB接頭。VGA同步信號直接由CycloneIIIFPGA提供,并且一個4位的DAC電路用來產(chǎn)(R,G,B25MHz),相關(guān)的連接示意圖如下圖所示。porchRGB信號將在顯示器上逐點顯porchPS2鍵盤的簡PS/2FPGAPS/2IBM公司的專利,俗稱“小口”。這是一種鼠標(biāo)和鍵盤的接口是一種6針的圓型接口但鼠標(biāo)只使用其中的4針傳輸數(shù)據(jù)和供電,2個為空腳。PS/2COMATX主板的標(biāo)準(zhǔn)接BTX主板規(guī)范中,這也是即將被淘汰掉的接口。第2章貪吃蛇分2.1設(shè)計內(nèi)容及要①利用FPGA開發(fā)板、VGA顯示器、PS2鍵盤實現(xiàn)貪吃蛇③蛇的初始位置及方向由FPGA開發(fā)板隨機(jī)生成,每次預(yù)送100分PS2運動每安全度過1秒加1分,狀態(tài)每過1秒減1分,當(dāng)達(dá)到⑥實現(xiàn)蛇身變換及積分的自動動態(tài)顯示系統(tǒng)分。貪吃蛇是經(jīng)典小,本設(shè)計采用VGA顯示的方式將展現(xiàn)出來中。所要設(shè)計的貪吃蛇基于CycloneIII系列EP3C5E114C8N的FPGA為硬件,右、復(fù)位和開始,暫停與繼續(xù)按鍵。它們都是輸入信號,輸出是VGA,在電腦屏幕實現(xiàn)VGA顯示字符, 方向控VGA顯畫面切方向控VGA顯畫面切時時鐘信第3章貪吃蛇設(shè)VGA顯示模塊設(shè)點開始,從左像右逐點掃描,每掃描完一行,回到屏幕的左邊下一行的起始位置在這期間CRT對進(jìn)行消隱每行結(jié)束時用行同步信號進(jìn)行幕左上方,同時進(jìn)行場消隱,開始下一幀。60Hz,75HzVGA60Hz,31.5KHz。從屏幕的左上角開始向右掃描一行掃完需將從右邊移回到左邊VGAVGAVGA鍵盤掃描模塊設(shè)PS2_CTL控制模塊設(shè)到自己(hit_body)、決定VGA顯示內(nèi)容。貪吃蛇控制模塊GAME_STATE模蘋果隨機(jī)APPLE_ADDRVGAAPPLE_ADDR狀態(tài)控我將貪吃蛇狀態(tài)設(shè)計為7個狀態(tài)分別為空閑狀態(tài)準(zhǔn)備狀態(tài),蛇頭向上狀態(tài),蛇頭向下狀態(tài),蛇頭向左狀態(tài),蛇頭向右狀態(tài),結(jié)束狀態(tài)。設(shè)計狀態(tài)控制代碼如下 if(PS2_DATA_R==8'h5A) GAME_STM_CS //準(zhǔn)備狀8'h1D: W8'h1B: S8'h1C: A8'h23: D GAME_STM_NS=GAME_STM_CS;HEAD_UP:if(PAUSE) =GAME_STM_CS;elseif(PS2_DATA_R==8'h1C) elseif(PS2_DATA_R==8'h23) elseif(HIT_WALL||HIT_BODY) =GAME_OVER; =

=GAME_STM_CS;elseif(PS2_DATA_R==8'h1C) elseif(PS2_DATA_R==8'h23) elseif(HIT_WALL||HIT_BODY) =GAME_OVER; = =elseif(PS2_DATA_R==8'h1D) elseif(PS2_DATA_R==8'h1B) elseif(HIT_WALL||HIT_BODY) =GAME_OVER; = =elseif(PS2_DATA_R==8'h1D) elseif(PS2_DATA_R==8'h1B) elseif(HIT_WALL||HIT_BODY) =GAME_OVER; =GAME_OVER: //結(jié)束按空格鍵進(jìn)入空閑狀 = =

default:GAME_STM_NS =IDLE;HIT_WALLHIT_WALL013.3.3分?jǐn)?shù)設(shè)200 elseif(PAUSE&&(PS2_DATA_R==8'h16)) elseif(PAUSE&&(PS2_DATA_R==8'h1E)) elseif(PAUSE&&(PS2_DATA_R==8'h26)) elseif(PAUSE&&(PS2_DATA_R==8'h25)) elseif(PAUSE&&(PS2_DATA_R==8'h2E)) elseif(PAUSE&&(PS2_DATA_R==8'h36)) elseif(PAUSE&&(PS2_DATA_R==8'h3D)) elseif(PAUSE&&(PS2_DATA_R==8'h3E)) elseif(PAUSE&&(PS2_DATA_R==8'h46)) elseif(SCORE_NUM2==2&&(SCORE_NUM1==0)&&(SCORE_NUM0==0))LEVEL_N=LEVEL+

regclk_1Hz;reg always@(posedgeCLK) t<=clk_1Hz<=

t t-always@(posedgeclk_1Hz) //結(jié)束初始化分?jǐn)?shù)100SCORE_NUM0<=SCORE_NUM1<=SCORE_NUM2<=if(!PAUSE_N&& //開始過一秒鐘分?jǐn)?shù)加1SCORE_NUM0<=SCORE_NUM0+1;if(SCORE_NUM0==9)SCORE_NUM0<=SCORE_NUM1<=SCORE_NUM1+1;if(SCORE_NUM1==9)SCORE_NUM1<=SCORE_NUM2<=SCORE_NUM2+if(SCORE_NUM2==2&&SCORE_NUM1==0&&SCORE_NUM0== SCORE_NUM2<=SCORE_NUM1<=SCORE_NUM0<= 1SCORE_NUM0<=SCORE_NUM0-1;if(SCORE_NUM0==0)SCORE_NUM0<=SCORE_NUM1<=SCORE_NUM1-1;if(SCORE_NUM1==0)SCORE_NUM1<=SCORE_NUM2<=SCORE_NUM2-

頂層模塊設(shè)頂層模塊由分頻器(VGA_CLK, ROM_0....ROM_9,(GAME_STATE第4經(jīng)過多次調(diào)試與仿真,結(jié)合硬件,得到最終結(jié)果如下圖所示進(jìn)入后自動進(jìn)入第一關(guān),底分為100分,時間過一秒加一分,畫面按下“P”鍵狀態(tài)切換到暫停狀態(tài),按數(shù)字鍵“1~9”可以選擇關(guān)卡,4OVER課設(shè)結(jié)

第5的,現(xiàn)在讓利用FPGA板并且用VGA顯示設(shè)計貪吃蛇,對這種verilog語言運用并不熟練的同學(xué)是一種不小的。、與學(xué)長探討等等,終于完成了貪吃蛇的設(shè)計設(shè)計出的貪吃蛇滿足基本要求,有VGA畫面顯示,蛇吃到蘋果身體加一節(jié),撞到墻壁或者身體結(jié)以加入背景音樂及開始、吃到蘋果結(jié)束等效果音樂,還可以把游。、組員分前期收集課設(shè)相關(guān)資料、規(guī)劃設(shè)計流程和程序框架設(shè)計由共同完成周輝:完成頂層模塊及鍵盤模塊代碼編寫及調(diào)試。占瑜:VGA3)總體工作比例分配:35%,35%,第6verilogFPGAVGA顯示原理及P

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論