FPGA_VIVADO_SI_VHDL_Mihael_Cristian_Ignat

(Cristian I.K_ntXI) #1
92

Exact ca la leduri, se va realiza inițializarea switchurilor și setarea direcției. Inițializarea se va face
utilizând ca și ID define-ul următor: XPAR_SW_GPIO_DEVICE_ID. De asemenea, direcția switchurilor va
trebui să fie de intrare, deci se va folosi bit de 1 pentru fiecare switch în parte.


Este ușor de reținut ce bit trebuie folosit pentru intrare și ce bit trebuie folosit pentru ieșire dacă se
face corelația I
1 si O0, astfel I (Input) seamănă cu 1 și O (Output) seamănă cu 0.


După ce vom seta direcția, în bucla infinită din cod va trebui citită valoarea de la switchuri prin funcția
XGpio_DiscreteRead, apoi va trebui trimisă valoarea respectivă la leduri. Codul complet se va găsi în
helloworld.c.


Programarea procesorului se face cu același fișier .elf creat prima dată, vezi Fig. 112.

9.4. Crearea și adăugarea unei componente


Crearea unei componente compatibile cu MicroBlaze presupune realizarea unei comunicații pe interfața
AXI între procesor și componenta vhdl. Pentru exemplificare se va folosi componenta ssd_ctrl.vhd, care este
deja testată. Reamintim faptul că această componentă are ca date de intrare semnalele ‘clk’ și ‘data’, iar ca
semnale de ieșire ‘AN’ și ‘C’, iar MicroBlaze ar urma să controleze semnalul ‘data’, astfel prin intermediul
MicroBlaze vom putea afișa numere pe SSD.


Pentru crearea acestei componente compatibile MicroBlaze, trebuie navigat în Tools -> Create and
Package New IP, după care urmează pașii:



  1. În fereastra Create and Package New IP se selectează butonul next


Fig. 119 : Crearea unui nou Package


  1. În următoarea fereastră se selectează “Create a new AXI4 peripheral”

Free download pdf