基于FPGA的VGA顯示之貪吃蛇游戲
設(shè)計(jì)目標(biāo)
本文引用地址:http://butianyuan.cn/article/142536.htm利用FPGA的VGA接口在液晶顯示器上顯示圖片,用4個(gè)按鍵做控制,做成“貪吃蛇”這個(gè)游戲
方案分析
A. 輸入需求分析:
貪吃蛇游戲輸入只需要上下左右四個(gè)按鍵,另外如果不按鍵,每過一個(gè)設(shè)定的時(shí)間自己前進(jìn)一格。
B. 輸出需求分析:
本設(shè)計(jì)圖像輸出直接送到VGA顯示器上,而顯示器上的圖像內(nèi)容是根據(jù)內(nèi)部ROM里的數(shù)據(jù)來確定的。
C. 控制程序選擇:
本設(shè)計(jì)選用PICOBLAZE這個(gè)處理器軟核幫助系統(tǒng)信號(hào)處理,而非純硬件語言描述。使用硬件描述語言定義了接口,如輸入的按鍵信號(hào)接口,輸出的VGA接口,再將這些接口都掛在了PICOBLAZE處理器軟核上。再通過對(duì)處理器軟核編程來控制輸入輸出,達(dá)到“貪吃蛇”游戲的目標(biāo)。
方案模型
本設(shè)計(jì)共分三個(gè)模塊:
Snake_Int 產(chǎn)生中斷信息供Picoblaze使用;
Dot10x10disp 控制圖像在VGA上的顯示,每個(gè)點(diǎn)塊大小10*10;
Ram_r_a_w 分別接收Snake_Int 傳來的中斷信號(hào)和dot10x10disp傳來的ram地址信號(hào),控制ram的讀和寫。
方案的工作原理
1. 中斷發(fā)生器
A. 模塊功能
本設(shè)計(jì)中要控制貪吃蛇的移動(dòng),就要檢測(cè)出按鍵的信息,所以我直接通過上升沿、下降沿檢測(cè)模塊來檢測(cè)輸入;然后每過1s還有一個(gè)前進(jìn)的中斷信號(hào)。再將這5種信號(hào)按位放在端口int_state中,并且保存10個(gè)時(shí)鐘周期,方便后面picoblaze軟核中讀取信息。
fpga相關(guān)文章:fpga是什么
led顯示器相關(guān)文章:led顯示器原理
評(píng)論