Cuprins:
- Pasul 1: Construiți un circuit electronic
- Pasul 2: Verificați Pin Planner și Editați codul Verilog
- Pasul 3: Editați codul Verilog
- Pasul 4: Compilați codul Verilog
- Pasul 5: Să încercăm
Video: FPGA Cyclone IV DueProLogic - Buton și LED: 5 pași
2024 Autor: John Day | [email protected]. Modificat ultima dată: 2024-01-30 11:41
În acest tutorial, vom folosi FPGA pentru a controla circuitul LED extern. Vom implementa următoarele sarcini
(A) Utilizați butoanele de pe FPGA Cyclone IV DuePrologic pentru a controla LED-ul.
(B) LED-ul blițului este pornit și oprit periodic
Demo video
Meniul laboratorului:
Pasul 1: Construiți un circuit electronic
Pasul 2: Verificați Pin Planner și Editați codul Verilog
Pasul 3: Editați codul Verilog
Când cumpărați FPGA DueProLogic, ar trebui să primiți un DVD. După ce deschideți „Projects_HDL”, ar trebui să vedeți fișierul de cod original
Adăugați codul evidențiat. Înregistrează porturile I / O și atribuie numere porturilor.
fir de ieșire [7: 0] XIO_1, // XIO - D2-D9
fir de ieșire [5: 0] XIO_2, // XIO - D10-D12
fir de ieșire [5: 0] XIO_3, // XIO - D22-D29
fir de intrare [5: 0] XIO_4, // XIO - D30-D37
fir de intrare [5: 0] XIO_5, // XIO - D38-D45
fir de ieșire [4: 0] XIO_6_OUT, // XIO - D46-D53
fir de intrare [31: 5] XIO_6, // XIO - D46-D53
fir de ieșire [2: 0] XIO_7, // XIO - D69, D70, D71, D74, D75, D76
cablu de intrare UBA, // Comutatoare cu buton
cablu de intrare UBB // Comutatoare cu buton
atribui XIO_1 [3] = start_stop_cntrl;
assign XIO_2 [1] = start_blinky; // LED-ul LED-ului flash și aprins
atribui XIO_2 [2] = 1'b1; // ieșire HIGH
atribui XIO_2 [3] = ~ UBA; // Apăsați butonul A
atribui XIO_2 [4] = UBB; // Apăsați butonul B
assign c_enable = XIO_5 [2];
atribui LEDExt = XIO_5 [5];
Apoi trebuie să setăm un temporizator de întârziere. Comentează codul temporizator original și scrie o nouă funcție de temporizator
//-----------------------------------------------
// Start LED intermitent
//-----------------------------------------------
/*
întotdeauna @ (posedge CLK_66 sau negedge RST)
începe
dacă (! RST)
start_blinky <= 1'b0;
altceva
începe
if (control_register [7: 4]> 0)
start_blinky <= 1'b1;
altceva
start_blinky <= 1'b0;
Sfârșit
Sfârșit
*/
reg [31: 0] ex;
început inițial
ex <= 32'b0;
start_blinky <= 1'b0;
Sfârșit
mereu @ (posedge CLK_66)
începe
ex <= ex + 1'b1;
dacă (ex> 100000000) // bliț pornit / oprit ~ 1,6 secunde, ceas 66MHz
începe
start_blinky <=! start_blinky;
ex <= 32'b0;
Sfârșit
Sfârșit
//-----------------------------------------------
// Contor cu temporizator LED
//-----------------------------------------------
/*
întotdeauna @ (posedge CLK_66 sau negedge RST)
începe
dacă (! RST)
led_delay_counter <= TIMER_LOW_LIMIT;
altceva
începe
if (stare [SELECT_MODE])
led_delay_counter <= timer_value;
else if (state [WAIT_FOR_TIMER])
led_delay_counter <= led_delay_counter - 1'd1;
Sfârșit
Sfârșit*/
Pasul 4: Compilați codul Verilog
Apăsați „Start Compilation” în Quartus, nu ar trebui să apară niciun mesaj de eroare.
Dacă primiți un mesaj de eroare despre mai mulți pini. Accesați Teme -> Dispozitiv -> Opțiuni dispozitiv și pin -> Pinuri cu dublu scop -> modificați valoarea pinului corespunzător în „Utilizați ca I / O obișnuite”.
După compilare, ar trebui să obțineți direct fișierul de ieșire pof. Dacă software-ul dvs. nu este actualizat, este posibil să obțineți numai fișier sof. Când se întâmplă, faceți clic pe „Fișier” în Quartus -> „convertiți fișiere de programare”. Schimbați setările marcate cu casete roșii.
Pasul 5: Să încercăm
La urma urmei, ar trebui să funcționeze !!! LED-ul galben este întotdeauna aprins. LED-ul roșu clipește. LED-ul albastru se stinge dacă apăsați butonul B. LED-ul verde este aprins dacă apăsați butonul A
Recomandat:
FPGA Cyclone IV DueProLogic Controls Camera Raspberry Pi: 5 pași
FPGA Cyclone IV DueProLogic Controls Camera Raspberry Pi: În ciuda faptului că FPGA DueProLogic este conceput oficial pentru Arduino, vom face FPGA și Raspberry Pi 4B comunicabile. Trei sarcini sunt implementate în acest tutorial: (A) Apăsați simultan cele două butoane pe FPGA pentru a răsturna unghiul de
FPGA Cyclone IV DueProLogic Controls Servomotor: 4 pași
FPGA Cyclone IV DueProLogic Controls Servo Motor: În acest tutorial, vom scrie codul Verilog pentru a controla servomotorul. Servo-ul SG-90 este fabricat de Waveshare. Când cumpărați servomotorul, este posibil să primiți o fișă tehnică care să enumere tensiunea de funcționare, cuplul maxim și puterea propusă
DIY VR Treadmill- Basys3 FPGA-Concurs Digilent: 3 pași
DIY VR Treadmill- Basys3 FPGA-Digilent Concurs: Doriți să construiți o bandă de rulare VR pe care să vă puteți rula aplicațiile desktop și jocurile? Apoi ați ajuns la locul potrivit! În jocurile convenționale, utilizați mouse-ul și tastatura pentru a interacționa cu mediul. Prin urmare, trebuie să trimitem
Mojo FPGA Development Board Shield: 3 pași
Mojo FPGA Development Board Shield: Conectați-vă placa de dezvoltare Mojo la intrările externe cu acest scut. Ce este placa de dezvoltare Mojo? Placa de dezvoltare Mojo este o placă de dezvoltare bazată pe Xilinx spartan 3 FPGA. Tabloul este realizat de Alchitry. FPGA sunt foarte utile
Realizați orice senzor dintr-un FPGA: 4 pași
Realizați orice senzor dintr-un FPGA: majoritatea producătorilor au încercat să construiască cel puțin o dată în viață un termometru, poate cel pe care îl au acasă nu este suficient de inteligent sau poate cred că pot construi următorul NEST. Cu toate acestea, la un moment dat au avut un microcontroler cu starea lor