Sisukord:
- Samm: ehitage elektrooniline vooluahel
- 2. toiming: kontrollige nööpnõelte plaanijat ja muutke Verilogi koodi
- Samm: muutke Verilogi koodi
- Samm: kompileerige Verilogi kood
- 5. samm: proovime seda
Video: FPGA Cyclone IV DueProLogic - nupp ja LED: 5 sammu
2024 Autor: John Day | [email protected]. Viimati modifitseeritud: 2024-01-30 08:46
Selles õpetuses kasutame välise LED -ahela juhtimiseks FPGA -d. Me kavatseme rakendada järgmisi ülesandeid
(A) Kasutage LED -i juhtimiseks FPGA Cyclone IV DuePrologic nuppe.
(B) Välklambi LED perioodiliselt sisse ja välja
Video demo
Labori menüü:
Samm: ehitage elektrooniline vooluahel
2. toiming: kontrollige nööpnõelte plaanijat ja muutke Verilogi koodi
Samm: muutke Verilogi koodi
FPGA DueProLogicu ostmisel peaksite saama DVD -plaadi. Pärast "Projects_HDL" avamist peaksite nägema algset koodifaili
Lisage esiletõstetud kood. See registreerib I/O pordid ja määrab sadamatele numbrid.
väljundkaabel [7: 0] XIO_1, // XIO-D2-D9
väljundkaabel [5: 0] XIO_2, // XIO-D10-D12
väljundkaabel [5: 0] XIO_3, // XIO-D22-D29
sisendkaabel [5: 0] XIO_4, // XIO-D30-D37
sisendkaabel [5: 0] XIO_5, // XIO-D38-D45
väljundkaabel [4: 0] XIO_6_OUT, // XIO-D46-D53
sisendkaabel [31: 5] XIO_6, // XIO-D46-D53
väljundkaabel [2: 0] XIO_7, // XIO - D69, D70, D71, D74, D75, D76
sisendkaabel UBA, // nuppude lülitid
sisendkaabel UBB // Nuppude lülitid
määrata XIO_1 [3] = start_stop_cntrl;
määrata XIO_2 [1] = start_blinky; // LED välk LED sisse ja välja
määrata XIO_2 [2] = 1'b1; // väljund HIGH
määrata XIO_2 [3] = ~ UBA; // Vajutage nuppu A
määrata XIO_2 [4] = UBB; // Vajutage nuppu B
määrata c_enable = XIO_5 [2];
määrata LEDExt = XIO_5 [5];
Siis peame seadistama viivitusaja. Kommenteerige algse taimeri koodi ja kirjutage uus taimeri funktsioon
//-----------------------------------------------
// LED vilkuv algus
//-----------------------------------------------
/*
alati @(posed CLK_66 or negedge RST)
alustada
kui (! RST)
algus_blinky <= 1'b0;
muidu
alustada
kui (kontrollregister [7: 4]> 0)
algus_blinky <= 1'b1;
muidu
algus_blinky <= 1'b0;
lõpp
lõpp
*/
reg [31: 0] ex;
esialgne algus
ex <= 32'b0;
algus_blinky <= 1'b0;
lõpp
alati @(positsioon CLK_66)
alustada
ex <= ex + 1'b1;
kui (nt> 100000000) // välk sisse/välja ~ 1,6 sekundit, kell 66MHz
alustada
algus_blinky <=! start_blinky;
ex <= 32'b0;
lõpp
lõpp
//-----------------------------------------------
// LED -viivituse taimeriloendur
//-----------------------------------------------
/*
alati @(posed CLK_66 or negedge RST)
alustada
kui (! RST)
led_delay_counter <= TIMER_LOW_LIMIT;
muidu
alustada
if (osariik [SELECT_MODE])
led_delay_counter <= taimer_väärtus;
muidu kui (olek [WAIT_FOR_TIMER])
led_delay_counter <= led_delay_counter - 1'd1;
lõpp
lõpp*/
Samm: kompileerige Verilogi kood
Vajutage Quartuses nuppu "Alusta koostamist", veateadet ei tohiks genereerida.
Kui saate veateate mitme tihvti kohta. Avage Ülesanded -> Seade -> Seadme ja tihvti valikud -> Kaheotstarbelised tihvtid -> muutke vastava tihvti väärtuseks "Kasuta tavalise sisendina/väljundina".
Pärast kompileerimist peaksite saama otse pof -väljundfaili. Kui teie tarkvara pole ajakohane, võite saada ainult sof-faili. Kui see juhtub, klõpsake Quartus "Fail" -> "teisenda programmeerimisfailid". Muutke punaste kastidega tähistatud seadeid.
5. samm: proovime seda
Lõppude lõpuks peaks see toimima !!! Kollane LED põleb alati. Punane LED vilgub. Sinine LED kustub, kui vajutate nuppu B. Roheline LED süttib nupu A vajutamisel
Soovitan:
FPGA Cyclone IV DueProLogic Controls Raspberry Pi kaamera: 5 sammu
FPGA Cyclone IV DueProLogic Controls Raspberry Pi kaamera: Vaatamata FPGA DueProLogic'ile on ametlikult loodud Arduino jaoks, muudame FPGA ja Raspberry Pi 4B suheldavaks. Selles juhendis on rakendatud kolm ülesannet: (A) Vajutage samaaegselt kahte nuppu FPGA nurga pööramiseks
FPGA Cyclone IV DueProLogic juhib servomootorit: 4 sammu
FPGA Cyclone IV DueProLogic juhib servomootorit: selles õpetuses kirjutame servomootori juhtimiseks Verilogi koodi. Servo SG-90 toodab Waveshare. Servomootori ostmisel võite saada andmelehe, mis loetleb tööpinge, maksimaalse pöördemomendi ja kavandatava Pu
DIY VR jooksulint- Basys3 FPGA-Digilent võistlus: 3 sammu
DIY VR jooksulint- Basys3 FPGA-Digilent Contest: Kas soovite ehitada VR-jooksulindi, millel saate oma töölauarakendusi ja mänge käivitada? Siis olete jõudnud õigesse kohta! Tavamängudes kasutate keskkonnaga suhtlemiseks hiirt ja klaviatuuri. Seetõttu peame saatma
Mojo FPGA arendusnõukogu kilp: 3 sammu
Mojo FPGA arendusplaadi kilp: ühendage oma Mojo arendusplaat selle kilbiga väliste sisenditega. Mis on Mojo arendusplaat? Mojo arendusplaat on Xilinx spartan 3 FPGA ümber asuv arendusplaat. Tahvli valmistas Alchitry. FPGA -d on väga kasulikud
Cyclone LED Arcade Game: 4 sammu
Cyclone LED Arcade Game: Selle projekti eesmärk oli luua Arduino abil lihtne mäng, mis oleks lastele interaktiivne ja meelelahutuslik. Mäletan, et Cyclone'i arkaadmäng oli nooremana üks mu lemmikmänge, nii et otsustasin seda korrata. T