Cov txheej txheem:

Pong Game: 6 Kauj Ruam
Pong Game: 6 Kauj Ruam

Video: Pong Game: 6 Kauj Ruam

Video: Pong Game: 6 Kauj Ruam
Video: Nraug Nas & Ntxawm Qaum Ntuj Part 3 2024, Kaum ib hlis
Anonim
Pong Game
Pong Game

Cov ntaub ntawv:

Basys3 FPGA Pawg Thawj Coj

VGA kab

Vivado

Lub hom phiaj ntawm cov lus qhia no yog txhawm rau txhim kho Pong game uas yuav nthuav tawm ntawm tus saib. Txoj haujlwm yuav siv VHDL los ua haujlwm thiab siv Basys3 FPGA los ua tus lej thiab hloov cov duab siv VGA interface. Cov ntawv qhia no yog npaj rau cov neeg uas muaj kev paub me ntsis txog VHDL. Kev qhia yuav muab faib ua 6 ntu sib txawv: Txheej txheem cej luam, Txheej Txheem, Tus Kws Ua Haujlwm Qeb, Tsim Duab, Pong Game, thiab VGA.

Kauj ruam 1: Txheej txheem cej luam

Txheej txheem cej luam
Txheej txheem cej luam

Cov duab saum toj no yog cov qauv tsim txhua qhov ntawm txoj haujlwm

Lub Hom Phiaj ntawm Kev Ua Si:

Qhov kev ua si suav nrog cov zaub nrog swb swb uas tuaj yeem tswj tau los ntawm tus neeg siv, thiab cov phab ntsa ruaj khov uas ua raws li txoj hlua khi. Thaum tus neeg siv nias lub pob pib, uas yog khawm nce, pob yuav pib thaws tawm, thiab yuav thaws tawm ntawm phab ntsa thiab sim tsoo lub duav. Yog tias lub pob tsoo tus duav, nws rov dhia dua thiab txuas ntxiv mus kom txog thaum nws nco lub duav. Qhov kev ua si tas thaum lub npas tsis tsoo lub duav. Tus neeg siv yuav tuaj yeem siv lub pob nyem sab laug thiab sab xis txhawm rau txiav txim siab txav ntawm lub duav. Txhawm rau rov pib qhov kev ua si, tus neeg siv yuav tsum thawb lub pob khawm. Lub sijhawm khiav yuav raug kaw ntawm 7 ntu ntu. Muaj tsib qib, thiab txhua kaum vib nas this qib nce, kom txog thaum koj ntaus qib 5 qhov twg nws nyob mus txog thaum tus neeg siv poob. Cov qib tau txiav txim siab los ntawm kev nrawm ntawm pob; qhov no txhais tau tias txhua txhua kaum vib nas this, qhov nrawm ntawm pob nce ntxiv, yog li ua kom nyuaj ntawm qhov kev ua si.

Txheej Txheem Txheej Txheem:

Daim duab hauv qab no yog qhov yooj yim zuag qhia tag nrho saum-theem thaiv daim duab rau lub system. Lub kaw lus muaj plaub lub tswv yim: Khawm R, Khawm L, Pib, thiab Rov Pib Dua, thiab Clock. Nws muaj cov kab rov tav thiab ntsug sib txuas ua ke, RBG (uas hais txog xim ntawm pixel ntawm qee qhov chaw), thiab Cov qhab nia (uas ua raws li lub tsheb npav mus rau 7-Segment zaub). Qhov khawm yuav raug siv thaum pib khawm, thiab lub pob nyem sab laug thiab sab xis yuav raug siv los txav lub duav hauv lawv cov lus qhia. 7-Segment Display yuav raug siv los sau cov qhab nia, uas yog tus lej uas cov neeg siv tau ua si yam tsis poob qhov kev ua si. Tus lej yuav muab tso tawm ua tus lej zauv.

Circuit Architecture: Peb yuav tsim peb cov gizmo siv ib qho FSM uas muaj FSM me dua, sub-FSM yuav tswj cov teeb meem ntawm qhov kev ua si qhov tseem ceeb FSM yuav tswj hwm qhov kev ua si tag nrho. Peb lub gizmo tseem yuav siv tsawg kawg peb lub sijhawm sib faib, ib qho rau cov qhab nia (sijhawm), ib qho rau kev rov ua dua tshiab ntawm cov zaub thiab ib qho uas txuas nrog rau qhov tso tawm ntawm DeMux kom peb tuaj yeem tswj tau qhov kev ua si sai npaum li cas. yuav ua mus ntxiv nrog cov teeb meem ntau ntxiv. Qhov kev ua si yuav txav nrawm dua yog koj ua si ntev dua. Peb yuav muaj kev tswj hwm cov tswv yim ntawm DeMux yog lub xeev tam sim no ntawm sub-FSM kom peb tuaj yeem tswj tau qhov kev ua si yuav nrawm npaum li cas uas koj ua si ntev npaum li cas. Peb yuav siv ob peb lub txee, ib qho los ua kom cov zaub tshiab thiab ib qho los suav cov qhab nia thaum koj tseem ua si. Txoj haujlwm no muaj ob lub ntsiab lus tseem ceeb thiab ntau qhov submodules uas yuav tswj xyuas cov ntaub ntawv nkag mus. Ob lub ntsiab lus tseem ceeb yog VGA Tsav Tsheb, nrog rau lub pob logic module. Tus Tsav Tsheb VGA yuav suav nrog lub cim xeeb ua haujlwm tau, lub moos faib tawm, thiab cov laj thawj uas yuav tswj xyuas cov zis rau xim. Lub pob logic module tseem yuav suav nrog lub moos faib, thiab lub cim xeeb uas tsim tau, nrog rau binary rau decimal converter rau 7-Segment Zaub nrog nws cov moos sib faib.

Kauj Ruam 2: Txheej Txheem Duab

Txog Cov Txheej Txheem Duab ntawm txoj haujlwm, peb yuav txiav txim siab txav lub pob thiab lub duav. Qhov kev zov me nyuam muaj cov chaw nres nkoj uas suav nrog sab laug, sab xis, sab saum toj thiab nruab nrab lub pob tawb, lub xeev tam sim no, lub moos, X thiab Y txoj haujlwm ntawm pob, sab laug thiab sab xis ntawm tus duav thiab ua tsis tiav. Lub xeev tam sim no yog siv los txiav txim qhov ua kom pom lub teeb liab. Txoj cai hla mus rau ntau qhov xwm txheej uas lub pob tuaj yeem txav tau, thiab tau teeb tsa cov txheej txheem los txiav txim siab txoj hauv kev ntawm lub pob. Cov txheej txheem tom ntej txiav txim siab qhov kev taw qhia uas tus duav txav mus raws lub pob twg raug nias los ntawm tus neeg siv. Cov cai rau ib feem ntawm txoj haujlwm no tau txuas nrog cov ncauj lus ntxaws piav qhia txog txhua ntu ua haujlwm li cas.

Kauj Ruam 3: Tus Kws Tshaj Lij

Score Handler
Score Handler

Tshooj lus no suav nrog cov ntaub ntawv uas cuam tshuam nrog rau tso saib cov qhab nia hauv vib nas this ntawm 7 Segment Display ntawm Basys3 Board. Nws suav nrog lub moos faib uas siv los suav cov vib nas this, tus lej suav suav suav cov vib nas this uas tus neeg siv ua si, tus neeg tsav tsheb ntu coj tus qhab nia thiab hloov nws mus rau anodes thiab cathodes kom pom ntawm lub vijtsam thiab tseem txiav txim siab txoj haujlwm uas tus lej yuav raug tso tawm thiab qhov kawg, tus neeg ua haujlwm ntu hloov cov lej binary mus rau tus lej zauv kom pom ntawm lub vijtsam. Tus neeg ua haujlwm tau qhab nia tso ua ke txhua daim thiab ua daim duab qhia chaw. Cov cai rau tag nrho tsib daim ntawv txuas nrog hauv qab no.

Clock Divider:

Lub moos faib muaj cov tswv yim Clk (moos), CEN (pab tau hauv), thiab Div (faib) thiab tso tawm Clk_out. Yog tias lub teeb liab qhib, lub moos yuav suav rau ntawm ntug kev nce.

Score Counter

Cov qhab nia suav nrog cov tswv yim Clk (Clock) thiab RST (Reset) thiab tso tawm Clk_Out thiab Q uas qhov tseem ceeb ua raws li cov qhab nia tso tawm.

Segment Tsav Tsheb

Cov neeg tsav tsheb ntu muaj cov tswv yim D1, D10, D100, D1000, thiab Clock. Cov lej tom qab "D" xa mus rau qhov zauv zauv ntawm 7 ntu tso saib. Cov txiaj ntsig yog anodes thiab tus lej. Lub moos suav thiab muab tus lej thiab nws txoj haujlwm. Piv txwv li, "9" yuav tshwm nyob rau hauv ib qho chaw nrog "0" s hauv ntau txhiab, ntau pua thiab kaum qhov chaw. Thaum nws hloov mus rau "10", tus lej tam sim no yuav muaj "1" hauv kaum qhov chaw thiab "0" s hauv ntau txhiab, pua pua thiab qhov chaw.

Segment Handler

Cov neeg ua haujlwm ntu muaj tus lej raws li nws cov tswv yim thiab cathodes raws li nws cov khoom tso tawm. Nws yog qhov tseem ceeb ntawm tus lej binary rau cathode zaub kom tso cov lej zauv ntawm qhov screen.

Score Handler

Score Handler suav nrog plaub lub koom haum yav dhau los thiab muab nws tso ua ke thiab qhia cov cim qhia. Nws kuj tseem tuaj yeem thiab xiam oob qhab lub txee raws li lub xeev tam sim no.

Kauj Ruam 4: Tsim Duab

Cov duab tsim muaj plaub ntu: Animation, Fail Counter, Refresh Image and Start Counter. Cov ntaub ntawv no hais txog yuav ua li cas tsim cov duab ntawm lub vijtsam saib.

Animation

Cov ntaub ntawv Animation muaj cov tswv yim Clk (Clock Signal), CEN (suav kom pab tau), RST (Reset Signal), B_X (X txoj hauj lwm ntawm lub pob), B_Y (Y txoj hauj lwm ntawm Pob), P_L (sab laug duav txoj haujlwm), thiab P_R (txoj cai paddle txoj hauj lwm). Cov zis yog WA (qhov chaw nyob peb sau xim rau), thiab WD (xim tau sau ntawm qhov chaw nyob tau txiav txim siab). Cov ntaub ntawv muaj Play_Counter uas yog lub txee uas yuav siv los ua kev tswj hwm rau MUX, tus lej nkag uas tuaj yeem tso tawm cov xim raug ntawm qhov chaw raug, thiab thaum kawg tus lej sib txuam uas qhia qhov tseeb xim raws txoj haujlwm ntawm duav thiab pob.

Kho Duab

Cov ntaub ntawv Refresh Image tau siv los kho cov duab tshiab raws li txoj haujlwm ntawm pob thiab duav hloov. Cov ntaub ntawv suav nrog cov khoom siv los ntawm Animation, Pib Counter thiab Fail Counter files. Nws qhia cov cim qhia los ntawm txhua feem thiab siv lub xeev cov laj thawj los txiav txim siab cov cim thiab cov chaw nyob.

Pib Txee

Lub Tuam Txhab Pib Siv cov tswv yim Clk, RS, thiab CEN thiab tso tawm WA thiab WD. Nws siv lub txee thiab hloov pauv los txiav txim siab tswj cov tswv yim rau MUX. Tus Multiplexer siv lub tswv yim los txiav txim qhov tseeb chaw nyob thiab xa cov ntaub ntawv no mus rau tus tsav tsheb VGA. Qhov no yog siv los tso saib "Pong" thaum tus neeg siv pib ua si.

Ua Tsis Tau Suav

Lub txee tsis ua haujlwm yog siv los tso saib "Game Over" thaum tus neeg siv poob qhov kev ua si. Nws muaj Clk, RST, thiab CEN teeb liab. Nws siv lub txee thiab tus lej hloov pauv los txiav txim siab tswj cov tswv yim rau MUX. Tus Multiplexer siv lub tswv yim los txiav txim qhov tseeb chaw nyob thiab xa cov ntaub ntawv no mus rau tus tsav tsheb VGA.

Kauj Ruam 5: Pong Game

Pong Game
Pong Game

Ntu no ntawm txoj haujlwm suav nrog Pong Master, Finite State Machine (FSM), Timer, thiab Pib Debounce cov ntaub ntawv.

Timer

Lub sij hawm muaj cov tswv yim Clk (Clock) thiab PS (Lub Xeev Tam Sim No) thiab Timer thiab Clk_out raws li cov txiaj ntsig. Lub timer tau siv los hloov qhov nrawm ntawm qhov kev ua si txog txhua tsib feeb.

Txaus FSM

Flow FSM muaj cov tswv yim Clk, Fail, Timer, Bttn_S (Start Button) thiab Buttn_RST (Reset Button) thiab output Pres_S (Present State Output). FSM siv lub sijhawm ntsuas los hloov Lub Xeev Tam Sim No mus rau Lub Xeev Tom Qab thiab hloov kho Lub Xeev Tom ntej kom txog thaum qhov kev ua si nce mus txog qib 5 qhov uas nws nyob mus txog thaum qhov kev ua si dhau mus.

Pib Debounce

Pib Debounce yog pib thaws pob. Nws muaj cov tswv yim S_in thiab Clk, thiab tso tawm S_out.

Pong MasterThis cov ntaub ntawv siv tag nrho cov khoom siv yav dhau los thiab ua rau kom tag nrho cov khoom siv tam sim ntawd. Nws yog cov ntaub ntawv tseem ceeb uas muab tso ua ke txhua qhov ua ntej dhau los uas peb tau tsim ua ke.

Kauj Ruam 6: VGA Tsav Tsheb

VGA (Visual Graphics Array) Tsav yog ib feem ntawm software siv los lees txais cov lus txib lossis cov ntaub ntawv uas tau xa mus rau lub vijtsam zaub. Tus tsav tsheb tau muab rau peb los ntawm peb tus xibfwb. Siv tus tsav tsheb thiab VGA qaum los txuas rau Basys3 pawg thawj coj saib.

Tam sim no koj yuav tsum npaj ua koj tus kheej Pong Game siv VHDL!

Pom zoo: