“推箱子”游戏的FPGA 实现

  • 格式:pdf
  • 大小:956.32 KB
  • 文档页数:17

下载文档原格式

  / 17
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

59 59 59
2005011191 2005011203 2005011212

1. 2. 3. 4.
FPGA 8 8
8
8 8 1byte
64byte

VGA
1) IP
PicoBlaze
PicoBlaze IP
IP IP IP FPGA
PicoBalze
16 8-bit s0~sF FPGA
1024 x 18 bit 8-bit ALU

64 byte 256 /
64byte
IP PicoBlaze
2)
ROM PicoBlaze PicoBlaze
PicoBlaze

VGA
1) IP
(8x8) 8X8
1) a) lastloca b) i. location lastloca ii. flag 1 flag 0 nextloca location
iii. c) flag 1

2) a) nextloca location
nextloca lastlaca lastloca=location location b) nextloca flag c) lastloca lastloca
3)
flag=0
Ram

2) VGA
a) VGA rgb b) c)
VGA : 25.175MHz( : 31469Hz; : 59.94Hz : );
VGA
i.
VGA
ii. 640 480
ENABLE

rgb 0~640 0~480
d) i. 640*480
color-map
256*256
ii. 256*256 32*32 8*8 64
2
lookup_table;
iii.
iv. 8*8
2
v.

1 if
e)
color-map
vga
3) PS2
PS2

1 8
bit
8
data_ready
4)
a)

PicoBlazeⱘManualϞ ĀЎњ⹂ Ё ˈЁ 䳔㽕 ϸϾ 䩳 ⱘ催⬉ āˈ ℸ䳔㽕 INTERRUPTッ ϔϾ ῵ DŽ

Ϟ ˈ data_ready ѻ⫳ ˈD㾺 㹿㕂ԡˈҢ㗠INTERRUPTッ 催⬉ ˈ⬅ѢD㾺 ⱘ䕧 ッϢ䕧 ッⳌ䖲ˈѢ Փdata_ready ˈ催⬉ ⱘ⢊ ҡӮ㓈 DŽ ϸϾ ˈ ⧚ ⹂䅸Ё ˈ ACK ˈ D㾺 ⏙䳊ˈҢ㗠Ё г䱣П⍜ ˈϡӮ䞡 ѻ⫳Ё DŽ

䖭 Ё ῵ ⱘ ԰ ⧚DŽ ҹⳟ ˈ ⦄г䴲 ㅔ DŽb)῵ 䯈䗮

Ϟ ЎPicoBlaze ⧚ ⱘ 䚼 ⼎ DŽ ҹⳟ ˈ 䗮䖛8bitⱘッ IN_PORTˈOUT_PORTˈPORT_ID Ϣ ῵ ⱘ䗮 ⱘDŽ

⧚ 䳔㽕 䬂Ⲭǃ ⱘROM䖯㸠䗮 ˈ ℸ PORT_ID 乏 䆥ⷕ IN_PORT 䏃䗝

ˈѻ⫳ℷ⹂ⱘ䗝䗮 ˈ 䆕 㹿䗕 ℷ⹂ⱘⳂⱘ ˈ Ϩ

䆕 ⬅ℷ⹂ⱘ ⑤䗕 DŽ

⦄ ˈ 䳔㽕 䜡㒭ϡ ⱘ 䆒ˈҢ㗠ḍ ッ ⱘ㣗 ѻ⫳Ⳍ 䆒ⱘ䗝䗮 ҹњˈѢ 䖭䞠гϡ 䌬䗄њDŽ c 䯂乬Ϣ䇗䆩

Ӏⱘ䇗䆩䖛⿟г ↣Ͼ 䖯㸠 㞾῵ ⱘ䇗䆩ˈ 䖯㸠 Ͼ㋏㒳ⱘ㘨䇗DŽ⬅Ѣ ⧚ˈ Ϩ ῵ 䯈 Н ⹂ˈ ҹՓ⫼њIPḌˈ Ͼ䆒䅵䖛⿟Ё≵ 䘛 Ậ ⱘ䯂乬DŽ

Ԛ ⼎ Ϟ㾖 ˈ ⦄ϔϾ ⱘ䯂乬ˈ ↣⃵ ϟ 䬂ˈ ϟ䴲 䬂ˈ ϟ䴲 䬂ˈ ϟ 䬂 ˈ ⼎ Ӯ ⦄ⷁ ⱘĀ咥 āˈ䱣 ℷ DŽ䖭Ͼ䯂乬 њ Ӏ䆌ЙDŽ㒣䖛Ҩ㒚㾖 ˈ Ӏ ⦄咥 ℷ⹂ⱘˈ䖭 䇈 ϡ 䆒䅵Ёⱘ䘏䕥 њ䯂乬DŽ咥 㛑 Ў ⼎ 䙷Ͼ њ DŽѢ Ӏ Ҩ㒚Ẕ њVGA῵ ⱘ䕧 ˈ ⦄ҷⷕ 䑿≵ 䯂乬DŽ䖯ϔℹ㾖 ˈ Ӏ ⦄ 䇗䆩䖛⿟ЁˈЎњẔ 䬂Ⲭ䆥ⷕ ℷ⹂ˈ Ӏ 䆥ⷕ㒧 䗕 њ7↉䆥ⷕ ˈ䗮䖛 ⷕㅵ 㾖 㒧 DŽ㗠 䬂Ϣ䴲 䬂П䯈 7↉ ⷕㅵЁⱘ 䚼 䛑 ⫳њ ˈӮϡӮ ⬅Ѣ䖭⾡ 㟈њ偅 㛑 ⱘϟ䰡Ң㗠 њVGA ⱘ䕧 ˛Ѣ Ӏ䞡 њ 7↉ ⷕㅵⱘ ˈՓ 䬂Ϣ䴲 䬂П䯈ⱘ ⷕㅵ ⫳њ ˈ ⦄ ✊咥 ⱘ䯂乬ϡ ⦄њˈ䖭

г 䆕њ Ӏⱘ⣰ DŽ

c ⦄

㒜ˈ 䆒䅵ⱘ ϟ˖

䩞Ⰸ Ҍ⍨ 喍9*$ ⹪

䶴㒞 喍ү⩘ ̺ 䔹

㒣䖛 ⱘ䆩⥽ˈ␌ 㡃 ˈ ⦄BugDŽϟ䴶 Ӏⱘ䆒䅵 ⼎ Ϟⱘ ˖

㒜⬅Xilinx䕃ӊ㒭 ⱘ䌘⑤ ⫼⥛Ў˖

Number of occupied slices:

332/960 33%

г ҙ ⫼њ ⱘ㑺1/3ⱘ䌘⑤ њ䆒䅵DŽ

̶c 㒧Ϣ 㦋

1.῵ 䆒䅵Ϣ㋏㒳ⱘ

X Ϟ䇒ⱘ 䚥㗕 㒭 Ӏ䆆 њ ㋏㒳㑻䆒䅵ⱘⶹ䆚ˈ ҢHDLⱘ㓪⿟ˈ ԧⱘϔѯㅫ⊩ˈ䖬 ϔѯIPḌⱘՓ⫼ˈ

ϔϾ㋏㒳㽕䆆お ԩ䆒䅵 ˈϔ㠀ⱘ ⊩ Ң乊㟇ϟˈ ㋏㒳

ϔѯ ㋏㒳ˈ✊ ϔѯ ԧ 㛑῵ DŽϡ ⱘ 㛑῵ ⱘ

ҹ⫼ϡ ⱘ ⊩ˈ䖭䞠 Ӏ䗝 њ⫼PicoBlazeⱘ ⧚ 䖯

㸠 DŽ

2.IPḌⱘՓ⫼Ϣㅔ ⱘ ㋏㒳

X䖭䞠 Ӏ↨䕗 ⡍⚍ⱘϰ㽓 㒧 њPicoBlazeⱘ ⧚ IPḌⱘ ⫼ Ӏⱘ␌ ㋏㒳DŽ㒧 Ӵ㒳ⱘHDLⱘ 䗄㋏㒳ⱘ

⊩ˈ✊ 䖯㸠㓐 䖲 DŽ㗠ϨIPḌⱘՓ⫼㛑 Փ Ͼ㋏㒳 㾘 ˈ

Ϩ㛑 Փ⫼∛㓪䇁㿔 䘏䕥 ˈ њ䇗䆩ⱘ䖛⿟DŽℸ

ˈIPḌг 䖭䮼䇒⿟ 㒭 ӀⱘϔϾ䞡㽕ⱘὖ Ϣ ⊩ˈ ҹ

Ӏ 䆩ϔϟՓ⫼IPḌ䖯㸠FPGA ⱘ㒣 DŽ

X Փ⫼IPḌ䖯㸠FPGA㋏㒳㑻 ϔϾ ✊䳔㽕 ⱘϔ䮼ⶹ䆚ˈг Ҟ ⦄↨䕗 㾘῵㋏㒳ⱘϔϾ䍟 ˈ䇒Ϟˈ䚥㗕 㢅

њ↨䕗 ⱘ 䯈 Ӏ䆆 PicoBlaze MicroBlazeϸ⾡ ⧚

ⱘ⫼⊩ ՟䆆㾷ˈ⫼∛㓪 C䇁㿔г ḋ ҹㅔ 䖯㸠FPGAⱘ