Përmbajtje:

FPGA Cikloni IV DueProLogic - Butoni Shtypi & LED: 5 Hapa
FPGA Cikloni IV DueProLogic - Butoni Shtypi & LED: 5 Hapa

Video: FPGA Cikloni IV DueProLogic - Butoni Shtypi & LED: 5 Hapa

Video: FPGA Cikloni IV DueProLogic - Butoni Shtypi & LED: 5 Hapa
Video: FPGA Cyclone IV DueProLogic - Push button & LED (Tutorial & code) 2024, Nëntor
Anonim
FPGA Cikloni IV DueProLogic - Butoni Push & LED
FPGA Cikloni IV DueProLogic - Butoni Push & LED

Në këtë tutorial, ne do të përdorim FPGA për të kontrolluar qarkun e jashtëm LED. Ne do të zbatojmë detyrat e mëposhtme

(A) Përdorni butonat e shtypjes në FPGA Cyclone IV DuePrologic për të kontrolluar LED.

(B) LED LED ndizet dhe fiket periodikisht

Demo video

Menyja e laboratorit:

Hapi 1: Ndërtoni një qark elektronik

Hapi 2: Kontrolloni Pin Planner dhe Edit Verilog Code

Kontrolloni Pin Planifikuesin dhe Ndryshoni Kodin e Verilogut
Kontrolloni Pin Planifikuesin dhe Ndryshoni Kodin e Verilogut

Hapi 3: Ndryshoni Kodin Verilog

Ndrysho Kodin Verilog
Ndrysho Kodin Verilog

Kur blini FPGA DueProLogic, duhet të merrni një DVD. Pasi të hapni "Projects_HDL", duhet të shihni skedarin origjinal të kodit

Shtoni kodin e theksuar. Regjistron portet I/O dhe cakton numra në porte.

tela dalëse [7: 0] XIO_1, // XIO-D2-D9

tela dalëse [5: 0] XIO_2, // XIO-D10-D12

tela dalëse [5: 0] XIO_3, // XIO-D22-D29

tela hyrëse [5: 0] XIO_4, // XIO-D30-D37

tela hyrëse [5: 0] XIO_5, // XIO-D38-D45

tela dalëse [4: 0] XIO_6_OUT, // XIO-D46-D53

tela hyrëse [31: 5] XIO_6, // XIO-D46-D53

tela dalëse [2: 0] XIO_7, // XIO - D69, D70, D71, D74, D75, D76

tela hyrëse UBA, // Çelësat e butonit të shtytjes

tela hyrëse UBB // Çelësat e butonit të shtytjes

cakto XIO_1 [3] = start_stop_cntrl;

cakto XIO_2 [1] = fillo_blinky; // LED flash LED ndezur dhe fikur

cakto XIO_2 [2] = 1'b1; // dalje LART

cakto XIO_2 [3] = ~ UBA; // Shtyp butonin A

cakto XIO_2 [4] = UBB; // Shtyp butonin B

cakto c_enable = XIO_5 [2];

cakto LEDExt = XIO_5 [5];

Atëherë duhet të vendosim një kohëmatës vonesash. Komentoni kodin origjinal të kohëmatësit dhe shkruani një funksion të ri të kohëmatësit

//-----------------------------------------------

// Fillimi i Blinky LED

//-----------------------------------------------

/*

gjithmonë @(paraqiti CLK_66 ose negedge RST)

filloj

nëse (! RST)

start_blinky <= 1'b0;

tjeter

filloj

nëse (control_register [7: 4]> 0)

start_blinky <= 1'b1;

tjeter

start_blinky <= 1'b0;

fund

fund

*/

reg [31: 0] ish;

fillimi fillestar

ex <= 32'b0;

start_blinky <= 1'b0;

fund

gjithmonë @(paraqiti CLK_66)

filloj

ex <= ex + 1'b1;

nëse (ish> 100000000) // ndizet/fiket flash 1.6 sekonda, ora 66MHz

filloj

start_blinky <=! start_blinky;

ex <= 32'b0;

fund

fund

//-----------------------------------------------

// Numëruesi i kohëmatësit të vonesës LED

//-----------------------------------------------

/*

gjithmonë @(paraqiti CLK_66 ose negedge RST)

filloj

nëse (! RST)

led_delay_counter <= TIMER_LOW_LIMIT;

tjeter

filloj

nëse (gjendja [SELECT_MODE])

led_delay_counter <= vlera kohore;

tjetër nëse (gjendja [WAIT_FOR_TIMER])

led_delay_counter <= led_delay_counter - 1'd1;

fund

fund*/

Hapi 4: Përpiloni Kodin Verilog

Përpiloni Kodin Verilog
Përpiloni Kodin Verilog
Përpiloni Kodin Verilog
Përpiloni Kodin Verilog

Shtypni "Fillo Përpilimin" në Quartus, asnjë mesazh gabimi nuk duhet të gjenerohet.

Nëse merrni mesazh gabimi për shumë kunja. Shkoni te Detyrat -> Pajisja -> Opsionet e pajisjes dhe kunjit -> Kunjat me qëllim të dyfishtë -> ndryshoni vlerën e kunjit përkatës në "Përdorni si I/O të rregullt".

Pas përpilimit, duhet të merrni direkt skedarin e daljes pof. Nëse programi juaj kompjuterik nuk është i përditësuar, mund të merrni vetëm soft file. Kur të ndodhë, klikoni "File" në Quartus -> "konvertoni skedarët e programimit". Ndryshoni cilësimet të cilat shënohen me kuti të kuqe.

Hapi 5: Le ta Provojmë

Në fund të fundit, duhet të funksionojë !!! LED i verdhë është gjithmonë i ndezur. LED i kuq po ndizet. LED blu fiket nëse shtypni butonin B. LED e gjelbër ndizet nëse shtypni butonin A

Recommended: