FPGA_VIVADO_SI_VHDL_Mihael_Cristian_Ignat

(Cristian I.K_ntXI) #1
3

Table 1: Ieșirea de la LUT și ieșirea unei porți XOR în funcție de IN1, IN

Pe lângă DRAM, FPGA-urile Xilinx mai au și blocuri de RAM ce poartă denumirea de BRAM (Block RAM).
Fiecare bloc are 18 Kbit, existând posibilitatea de a se utiliza corecția de eroare (EEC). Practic, memoria
acestuia este de 16 Kbit dar, dacă nu se dorește utilizarea EEC, atunci memoria poate fi extinsă la 18 Kbit.
Această memorie suportă diferite setări și, ca urmare, poate fi utilizată în diferite moduri. Mai mult decât
atât, această memorie suportă cascadare și astfel memoria poate fi extinsă. Avantajul major al acestei
memorii este acela că este o memorie dual port. Acest lucru înseamnă că memoria are două porturi, fiecare
port cu linii de adrese, date și clock separat, și pot fi realizate scrieri și citiri în același timp pe porturile
diferite, la aceeași memorie, utilizând perioade de tact de frecvențe diferite. Singura restricție este să nu fie
scrisă aceeași locație de memorie în același timp pe ambele porturi. Cel mai des întâlnită aplicație este FIFO
deoarece poate fi realizată trecerea de la un domeniu de clock la altul fără pierderi de date.


O altă componentă importantă este PLL. Utilizând acest bloc, se pot realiza diferite frecvențe de care cel
ce dezvoltă aplicația ar putea avea nevoie, fără a avea mai multe surse de clock exterioare. De exemplu, o
aplicație video nu poate fi implementată fără un PLL deoarece acest tip de aplicație are nevoie de o
frecvență care nu este comună la oscilatoarele ce se găsesc pe piață. De exemplu, pentru o rezoluție de
1024x768 la rata de reîmprospătare egală cu 60 Hz avem nevoie de o perioadă de clock de 65 MHz.
[http://tinyvga.com/vga-timing]


DSP (Digital Signal Processing) este un bloc ce poate realiza diferite operații matematice, cum ar fi
înmulțiri, adunări și scăderi. FPGA-urile Xilinx conțin mai multe blocuri de acest tip și, astfel, operațiile de
prelucrare de semnale pot fi realizate în paralel. Este util, de asemenea, în implementarea în FPGA a
procesoarelor, însă pentru fiecare procesor, de regulă, este nevoie doar de un singur bloc DSP. În imaginea
de mai jos este schema Xilinx a unui DSP. Aici se pot vedea funcționalitățile acestuia.


Fig. 4: Schema DSP

[https://www.xilinx.com/support/documentation/user_guides/ug479_7Series_DSP48E1.pdf]

Localizarea componentelor în FPGA poate fi vazută în figura următoare. Aici, cele mai multe blocuri
prezente sunt CLB-urile. Printre acestea sunt așezate blocurile de BRAM și DSP. Bineînțeles că acesta este
doar un exemplu, în FPGA existând mult mai multe blocuri ce nu pot fi reprezentate toate într-o schemă
simplă. Firele ce se văd ca o plasă reprezintă matricea de rutare, iar intersecția acestora reprezintă “cutiile
de comutare” (în engleză, switchbox). Pentru a nu complica schema și a fi mai ușor de urmărit, am ignorat
conexiunile dintre CLB-uri și matricea de rutare.

Free download pdf