FPGA

O matrice de porți programabile pe teren (adesea prescurtat FPGA) este o componentă electronică utilizată pentru a construi circuite digitale reconfigurabile. Aceasta înseamnă că un FPGA este diferit de o poartă logică, deoarece o poartă logică are o funcție fixă. În schimb, un FPGA are o funcție nedefinită în momentul fabricării. Înainte ca FPGA să poată fi utilizat într-un circuit, acesta trebuie programat, adică reconfigurat.

FPGA-urile sunt circuite integrate din categoria dispozitivelor logice programabile sau PLD-uri. FPGA-urile sunt cele mai performante, cele mai flexibile și, de asemenea, cele mai scumpe dintre tipurile de PLD. Un dezavantaj al FPGA-urilor, în comparație cu alte PLD-uri, este că acestea nu-și amintesc designul atunci când sunt scoase de sub tensiune. Prin urmare, un FPGA are nevoie de un cip de memorie de configurare separat care să păstreze proiectul FPGA. Atunci când FPGA este alimentat din nou, o parte fixă a FPGA citește configurația din cipul de memorie de configurare. După ce FPGA este configurat, acesta va putea îndeplini funcția care i-a fost atribuită prin proiect.

Un FPGA este diferit de un microprocesor sau de un microcontroler. În forma sa de bază, un FPGA nu este capabil să ruleze software. Numai atunci când FPGA primește o configurație care conține o arhitectură de procesor, are capacitatea de a rula software.

Producătorii de FPGA oferă software de inginerie pentru Windows și, uneori, și pentru Linux, pentru a dezvolta proiecte pentru FPGA-uri. Proiectarea este de obicei scrisă în fișiere informatice lizibile de către om, denumite limbaj de descriere hardware (HDL). Cele mai populare sunt VHDL și Verilog. Limbajele de descriere hardware sunt foarte asemănătoare cu limbajele de programare. Dar intenția HDL-urilor este de a proiecta circuite logice digitale, în timp ce limbajele de programare proiectează software.

Software-ul de inginerie FPGA trebuie să traducă codul HDL abstract în elementele logice disponibile în FPGA-ul selectat. Acest lucru se numește sinteză logică. Apoi, pentru a poziționa elementele logice în FPGA, se realizează un proces de plasare și rutare. Rezultatul este un fișier de biți care poate fi programat în FPGA sau în memoria de configurare. Acest lucru se face de obicei cu un programator USB conectat la portul JTAG al FPGA.

Deoarece FPGA este un circuit integrat, un producător de FPGA poate decide să adauge alte componente de circuit integrat utilizate în mod obișnuit. Aceste părți fixe se numesc nuclee. Acestea sunt, de exemplu, controlere Ethernet sau chiar o arhitectură completă de procesor. Pentru diferite segmente de piață, cum ar fi apărarea, medicina, comunicațiile și robotica, producătorul FPGA încearcă să adauge cel mai valoros set de nuclee suplimentare.

Zoom


Structura internă

În general, FPGA-urile sunt construite pe elemente logice programabile și interconexiuni programabile. Un element constitutiv al elementelor logice este un tabel de căutare programabil (Lookup Table - LUT). O LUT poate fi programată să emită orice valoare, date fiind valorile de intrare. În acest fel, o LUT poate fi programată pentru a fi orice tip de logică cu același număr de intrări și ieșiri. De exemplu, un LUT cu 2 intrări și 1 ieșire poate fi programat să emuleze logica unui AND, OR, NAND, NOR, XOR, etc. cu 2 intrări. Ieșirea acestui LUT poate fi fie salvată cu ajutorul unui registru, fie conectată la intrarea altor LUT-uri. Utilizând un mux programabil, FPGA poate fi programat pentru a alege ieșirea înregistrată sau neînregistrată. Această combinație dintre un LUT, un registru și un mux reprezintă structura generală a unui element logic.

Pentru a conecta aceste elemente logice între ele, se utilizează tranzistoare de trecere. Tranzistorul poate fi programat să conecteze sau nu un semnal, oferind astfel FPGA-ului capacitatea de a conecta în mod foarte specific elementele logice între ele. De exemplu, dacă ieșirea unui element logic va alimenta intrarea altui element logic, tranzistorul de trecere poate fi programat să conecteze aceste două fire împreună și să corespundă logicii specificate. Între elementele logice și tranzistoarele de trecere, un compilator poate prelua o descriere hardware dintr-un HDL, poate crea logica pentru elementele logice și le poate conecta între ele cu ajutorul tranzistoarelor de trecere.

Întrebări și răspunsuri

Î: Ce este o matrice de porți programabile pe teren (FPGA)?


R: O matrice de porți programabile pe teren (FPGA) este o componentă electronică utilizată pentru a construi circuite digitale reconfigurabile. Funcția sa este nedefinită în momentul fabricării și trebuie programată sau reconfigurată înainte de a putea fi utilizată într-un circuit.

Î: Prin ce se deosebește un FPGA de o poartă logică?


R: Un FPGA diferă de o poartă logică deoarece o poartă logică are o funcție fixă, în timp ce un FPGA are o funcție nedefinită în momentul fabricării.

Î: Ce tip de circuit integrat este un FPGA?


R: Un FPGA este un circuit integrat din categoria dispozitivelor logice programabile sau PLD.

Î: Care sunt unele dezavantaje ale utilizării FPGA-urilor în comparație cu alte PLD-uri?


R: Un dezavantaj al utilizării FPGA-urilor în comparație cu alte PLD-uri este acela că acestea nu-și amintesc proiectul atunci când sunt scoase de sub tensiune, astfel încât au nevoie de un cip de memorie de configurare separat care să păstreze proiectul. De asemenea, acestea sunt mai scumpe decât alte tipuri de PLD-uri.

Î: Cum se programează un FPGA?


R: Pentru a programa un FPGA, inginerii folosesc software de inginerie pentru Windows sau Linux pentru a dezvolta proiecte scrise în limbaje de descriere hardware, cum ar fi VHDL și Verilog. Software-ul traduce apoi acest cod în elementele logice disponibile pe FGPA-urile selectate și le poziționează cu ajutorul proceselor de plasare și rutare, ceea ce creează un fișier de biți care poate fi programat fie în memoria de configurare, fie direct în FGPA-ul propriu-zis cu ajutorul unui programator USB conectat la portul JTAG al acestuia.

Î: Sunt microprocesoarele și microcontrolerele similare cu FGPA-urile?


R: Nu, microprocesoarele și microcontrolerele sunt diferite de FGPA-uri, deoarece în forma lor de bază nu pot rula software; numai atunci când li se oferă o configurație care conține arhitectura procesorului au această capacitate.

AlegsaOnline.com - 2020 / 2023 - License CC3