Cov txheej txheem:

FPGA Asteroid Game: 7 Kauj Ruam (nrog Duab)
FPGA Asteroid Game: 7 Kauj Ruam (nrog Duab)

Video: FPGA Asteroid Game: 7 Kauj Ruam (nrog Duab)

Video: FPGA Asteroid Game: 7 Kauj Ruam (nrog Duab)
Video: Asteroids game using FPGA 2024, Kaum ib hlis
Anonim
FPGA Asteroid Game
FPGA Asteroid Game

Rau peb qhov CPE 133 Txoj Haujlwm Kawg, peb txiav txim siab los tsim qhov kev ua si asteroids ntawm peb FPGA siv ob lub khawm khawm hloov thiab 7-ntu tso saib. Qhov kev ua si ua haujlwm kom tus asteroid spawns hauv ib ntawm peb qhov kev xaiv raug xaiv ua kab, thiab los ua phem rau lub nkoj ntawm lwm sab ntawm 7-ntu zaub. Lub khawm sab saud thiab khawm qis tuaj yeem siv txav koj lub nkoj tawm ntawm txoj kev ntawm lub hnub qub. Thaum ua tsis tiav, cov zaub nyeem 'BAnG' ib pliag thiab tom qab ntawd rov pib ua si sai sai yog li tus neeg siv yuav sim dua. Dab tsi hauv qab no yog cov lus piav qhia luv luv ntawm qhov project tau ua li cas kom txhua tus neeg siv tuaj yeem hloov pauv lossis txhim kho peb cov qauv.

Kauj ruam 1: Txheej txheem cej luam

Txheej txheem cej luam
Txheej txheem cej luam
Txheej txheem cej luam
Txheej txheem cej luam

Txoj haujlwm feem ntau suav nrog Finite State Machine (FSMs), uas siv cov laj thawj los hloov FPGA ntawm cov xeev uas khaws thiab nthuav tawm qhov sib txawv ntawm cov nkoj thiab cov haujlwm pob zeb. Ob qhov qauv tseem ceeb yog kev ua si FSMs rau pob zeb thiab nkoj, thiab binary rau 7-ntu tso tawm suab txiav txim siab FSM, uas tau koom ua ke ua ke siv cov qauv yooj yim heev hauv VHDL.

FSMs tau tsim rau lub nkoj txoj haujlwm, pob zeb txoj haujlwm, thiab rau 7-ntu kev txiav txim siab. Lub hom phiaj ntawm lub nkoj FSM yog kom lub nkoj tuaj yeem txav mus rau qhov chaw raug thaum tus neeg ua si nias lub pob nce lossis nqis. FSM xav tau vim tias nws yuav tsum nco ntsoov txoj haujlwm twg nws yog zaum kawg txhawm rau txav mus rau txoj haujlwm raug.

Lub hom phiaj ntawm pob zeb FSM yog txav pob zeb mus rau txoj haujlwm raug raws qhov kab nws nyob hauv thiab txoj haujlwm kawg hauv kab ntawd. Ib qho ntxiv, nws tseem taug qab txoj haujlwm rau tus qauv uas yuav pom nws thiab pseudo-randomly xaiv kab tshiab kom tshwm rau tom ntej.

FSM rau 7-ntu cov lus txiav txim siab tau siv los tsis tsuas yog tso saib lub nkoj thiab pob zeb tab sis kuj tseem tso saib "BAnG" thaum lub nkoj txoj haujlwm thiab txoj haujlwm pob zeb zoo ib yam.

Kauj ruam 2: Cov ntaub ntawv

Cov ntaub ntawv siv hauv txoj haujlwm yog:

  • Basys3 Development Board los ntawm Digilent, Inc.
  • Vivado Tsim Suite
  • sseg_dec.vhd (Cov ntaub ntawv no tau muab rau peb ntawm Polylearn thiab tau sau los ntawm Bryan Mealy)
  • Clk_div.vhd (Cov ntaub ntawv no tau muab rau peb ntawm Polylearn thiab tau sau los ntawm Bryan Mealy)
  • Peb Lub Xeev Finite Machine (FSMs)

Kauj Ruam 3: Ua Game

Ua Game
Ua Game
Ua Game
Ua Game
Ua Game
Ua Game
Ua Game
Ua Game

Cov qauv kev ua si tau tsim los ntawm kev siv tus cwj pwm coj los piav qhia txog lub xeev ntawm lub nkoj thiab pob zeb rau lawv tus kheej li FSMs. Qhov zoo ntawm qhov no yog qhov nws yooj yim dua rau ua qauv kev coj tus cwj pwm los ntawm kev piav qhia nws ua dab tsi es tsis xam tawm txhua yam ntawm cov khoom siv xav tau los tsim kho vajtse.

Lub xeev pob zeb tau ua tiav siv tus lej pseudo random generator rau thawj txoj haujlwm ntawm pob zeb. Ua kom tiav qhov no, peb muab lub tshuab hluav taws xob nws tus kheej lub moos uas tau nrawm heev txheeb ze rau qhov nrawm ntawm qhov kev ua si. Ntawm txhua qhov nce nce, peb tus lej me me tau nce ntxiv, thiab txhua qhov ntawm nws qhov txiaj ntsig sib xws rau ib ntawm peb lub xeev pib rau lub nkoj. Yog li, peb qhov txiaj ntsig sib raug rau txoj haujlwm 3 (sab xis saum toj), peb sib haum rau txoj haujlwm 7 (chaw nruab nrab), thiab ob qho sib raug rau txoj haujlwm 11 (hauv qab txoj cai).

Thaum cov xwm txheej tsis sib xws tau tshwm sim thiab lub hnub qub tau muab rau thawj lub xeev, nws ntws mus rau lub nkoj yam tsis muaj kev cuam tshuam.

0 ← 1 ← 2 ← 3

4 ← 5 ← 6 ← 7

11 ← 10 ← 9 ← 8

Lub moos siv rau pob zeb lub xeev tom ntej logic tswj kev ua si nrawm; peb pom los ntawm kev sim thiab ua yuam kev uas 9999999 yog tus nqi zoo rau nws qhov suav ntau.

Lub nkoj txoj haujlwm ua haujlwm los ntawm kev pib ua haujlwm rau hauv nruab nrab txoj haujlwm (txoj haujlwm 4) nyob rau sab laug. Yog tias khawm sab saud lossis khawm qis dua, lub nkoj yuav txav mus thiab nqis mus rau txoj haujlwm 0 thiab 11 sib thooj rau lub pob uas tau raug nias.

Txhawm rau kom lub nkoj txav mus zoo rau tus neeg siv, peb tsis tau ua nws txoj kev txav mus los tsis sib xws. Peb siv lub moos rau nws lub xeev hloov pauv, thiab peb siv qhov suav ntau tshaj ntawm 5555555.

Kauj Ruam 4: Tso Tawm Qhov tshwm sim

Lub binary rau 7-ntu kev txiav txim siab siv 4-ntsis txoj haujlwm hloov pauv rau lub nkoj thiab lub hnub qub thiab nthuav tawm cov duab tsim nyog (xws li lub nkoj thiab pob zeb lossis cov lus "BAnG").

Nws ua tiav qhov no los ntawm kev txheeb xyuas thawj zaug yog tias ob qho sib npaug thiab tom qab ntawd tso tawm cov lus "BAnG" yog tias daim tshev rov qab muaj tseeb.

Yog tias nws tsis rov qab muaj tseeb, tus txiav txim siab yuav tso saib lub nkoj thiab pob zeb los ntawm kev hloov ntawm lawv ntawm lub moos ntau zaus thiab dag lub qhov muag kom pom lawv zoo li lawv tau tshwm sim tib lub sijhawm.

Kauj Ruam 5: Muab Nws Txhua Qhov Ua Ke

Muab Nws Tag Nrho Ua Ke
Muab Nws Tag Nrho Ua Ke

Peb suav nrog lub nkoj thiab pob zeb's FSM hauv ib qho FSM loj uas peb txuas rau lub teeb FSM. Cov tswv yim nkag mus rau qhov kev ua si yog khawm nce thiab khawm qis ntawm BASYS3 lub rooj tsavxwm thiab lub kaw lus. Cov txiaj ntsig yog ntu thiab anode vectors xya ntu ntu-tso tawm.

Cov tswv yim no thiab cov txiaj ntsig yuav pom hauv cov ntaub ntawv txwv qhov uas lawv tau teeb tsa chaw nres nkoj.

Kauj Ruam 6: Kev Hloov Kho Yav Tom Ntej

Yav tom ntej, ntxiv kev ua haujlwm ntawm lub nkoj ntau ntxiv rau txoj haujlwm yuav yog kev txhim kho. Qhov no tuaj yeem ua tiav qhov yooj yim los ntawm kev muab 2 lub khawm ntxiv thiab tso cai rau lub nkoj coj txoj haujlwm (xeev) uas tsis yog 0, 4, thiab 8. Lwm qhov kev hloov kho tau tuaj yeem tswj hwm lub hnub qub lub xeev tom ntej kom nws pib qeeb thiab nce nrawm los ntawm 1.5x txhua lub sijhawm nws plam lub nkoj mus txog thaum nws raug ntaus, qhov twg nws yuav rov pib dua thiab qeeb dua. Qhov no yuav ua rau muaj kev nyuaj ntawm qhov kev ua si thiab ua rau nws lom zem dua rau cov neeg siv yog tias nws tau ua tiav, thiab tuaj yeem ua tiav los ntawm kev tsim qhov sib txawv rau qhov suav ntau tshaj ntawm pob zeb lub xeev lub moos tom ntej, muab qhov sib txawv ntawd los ntawm 1.5 txhua zaus lub hnub qub tsis ua. tsis ntaus, thiab rov kho nws rau nws tus nqi thawj zaug txhua lub sijhawm pob zeb tsoo.

Kauj Ruam 7: Xaus

Txoj haujlwm no tau pab peb kom nkag siab zoo dua lub xeev cov tshuab, moos, thiab sib tham sib tso tawm ntawm xya ntu ntu.

Qhov loj tshaj plaws txog lub xeev cov tshuab kawg yog qhov nws tseem ceeb uas yuav tsum paub (nco ntsoov) lub xeev koj nyob tam sim no txhawm rau txav mus rau lub xeev xav tau tom ntej. Ironically, tswv yim zoo hauv lub neej; koj yuav tsum paub qhov twg koj yuav tsum paub tias koj yuav mus qhov twg.

Los ntawm kev tswj hwm cov xwm txheej sib txawv ntawm cov moos, peb muaj peev xwm tsim cov lej, txav lub pob zeb mus rau txoj haujlwm tom ntej, thiab tswj kev nthuav tawm ntawm lub nkoj, pob zeb, thiab cov lus xaus ntawm kev ua si.

Peb tau kawm tias ntau dua ib qho anode tsis tuaj yeem tshwm nyob rau tib lub sijhawm. Cov qauv muab rau peb tau txais txiaj ntsig zoo uas tib neeg lub qhov muag tsuas tuaj yeem pom qhov sib txawv mus txog qee qhov zaus. Yog li qhov ntau dua ntawm kev hloov pauv anodes tau xaiv. Lub nkoj thiab pob zeb tau pom tib lub sijhawm yog qhov ua piv txwv vim tias txhua tus tau tso tawm cais, tab sis nrawm heev. Lub tswv yim ntawd tau siv los ua kom pom kev txav ntawm lub nkoj, pob zeb, thiab cov lus "BAnG".

Pom zoo: