FPGA_VIVADO_SI_VHDL_Mihael_Cristian_Ignat

(Cristian I.K_ntXI) #1
90

Fig. 115: Exemplul nou adăugat

Dacă FPGA-ul nu este deja programat cu fișierul .bit, atunci trebuie reluați pașii din Fig. 109 și Fig. 110.
După aceasta va trebui urmat pasul din Fig. 111 pentru proiectul nou adăugat, apoi, dacă este urmat pasul
din Fig. 112, veți observa că a fost creat încă un fișier de tip .elf, fișier utilizat la programarea procesorului:


Fig. 116: Programarea procesorului cu exemplul de GPIO

Rulând acest exemplu, veți observa cum ledul 0 luminează intermitent. Funcția main ce rulează în acest
exemplu se găsește la următoarea locație Project Explorer -> test_bsp_xgpio_example_1 -> src - >
xgpio_example.c


Pentru a face conexiunea către toate cele 4 leduri la care avem acces, va trebui modificată funcția
XGpio_SetDataDirection(&Gpio, LED_CHANNEL, ~LED).


În acest caz, direcția este dată de un buffer cu 3 stări din interiorul FPGA-ului, după cum se vede în
următoarea figură:


Fig. 117: Buffer cu 3 stări din FPGA

[7 Series FPGAs SelectIO Resources User Guide UG471 (v1.10) May 8, 2018]
Astfel, funcția de setare a direcției controlează pinul T de la bufferul de intrare / ieșire din Fig. 117. Când
T este ‘0’, pinul IO va lua valoarea ce se găsește la pinul I, adică valoarea ce este transmisă de la pinul de
FPGA către ieșire. Când pinul T este ‘1’, calea de la I la IO este deschisă și astfel se pot doar citi date pe pinul
O. Aici trebuie menționat faptul că pinii T, I și O au conexiune către logica FPGA și pinul IO este conectat la
pinii de intrare/ieșire ai FPGA-ului.

Free download pdf