Lauka programmējamo vārtu masīvs

Lauka programmējamo vārtu masīvs (bieži saīsināti FPGA) ir elektroniska komponente, ko izmanto pārkonfigurējamu digitālo shēmu veidošanai. Tas nozīmē, ka FPGA atšķiras no loģiskajiem vārtiem, jo loģiskajiem vārtiem ir fiksēta funkcija. Turpretī FPGA izgatavošanas brīdī ir nenoteikta funkcija. Pirms FPGA var izmantot shēmā, tā ir jāprogrammē, t. i., jāpārkonfigurē.

FPGA ir integrālās shēmas programmējamo loģisko ierīču jeb PLD kategorijā. FPGA ir visaugstākās veiktspējas, elastīgākie un arī visdārgākie no PLD tipiem. FPGA trūkums salīdzinājumā ar citām PLD ir tas, ka tās neatceras savu konstrukciju, kad tiek atvienota strāvas padeve. Tāpēc FPGA ir nepieciešama atsevišķa konfigurācijas atmiņas mikroshēma, kurā tiek saglabāts FPGA projekts. Kad FPGA tiek atjaunota strāvas padeve, FPGA fiksētā daļa nolasa konfigurāciju no konfigurācijas atmiņas mikroshēmas. Kad FPGA ir konfigurēta, tā varēs veikt projektā uzdoto funkciju.

FPGA atšķiras no mikroprocesora vai mikrokontroliera. FPGA savā pamatformā nespēj darbināt programmatūru. Tikai tad, ja FPGA tiek piešķirta konfigurācija, kas ietver procesora arhitektūru, tā spēj palaist programmatūru.

FPGA ražotāji piedāvā inženierijas programmatūru operētājsistēmai Windows un dažkārt arī Linux, lai izstrādātu FPGA projektus. Dizains parasti tiek rakstīts datorā lasāmos failos, ko sauc par aparatūras apraksta valodu (HDL). Populārākās ir VHDL un Verilog. Aparatūras apraksta valodas ir ļoti līdzīgas programmēšanas valodām. Taču HDL mērķis ir projektēt ciparu loģiskās shēmas, bet programmēšanas valodas projektē programmatūru.

FPGA inženierijas programmatūrai abstraktais HDL kods jāpārvērš izvēlētajā FPGA pieejamajos loģiskajos elementos. To sauc par loģisko sintēzi. Pēc tam tiek veikts izvietošanas un maršrutēšanas process, lai izvietotu loģiskos elementus FPGA. Rezultāts ir bitu fails, ko var ieprogrammēt FPGA vai konfigurācijas atmiņā. To parasti dara ar USB programmētāju, kas pieslēgts FPGA JTAG pieslēgvietai.

Tā kā FPGA ir integrālā shēma, FPGA ražotājs var nolemt pievienot citas parasti izmantotās integrālās shēmas sastāvdaļas. Šīs fiksētās detaļas sauc par kodoliem. Tie ir, piemēram, Ethernet kontrolieri vai pat pilnīga procesora arhitektūra. Dažādiem tirgus segmentiem, piemēram, aizsardzības, medicīnas, sakaru un robotikas jomā, FPGA ražotājs cenšas pievienot visvērtīgāko šo papildu kodolu komplektu.

Zoom


Iekšējā struktūra

FPGA pamatā parasti ir programmējami loģiskie elementi un programmējami starpsavienojumi. Viens no loģisko elementu pamatelementiem ir programmējama lookup tabula (LUT). LUT var ieprogrammēt, lai izvadītu jebkuru vērtību, ņemot vērā ieejas vērtības. Tādējādi LUT var programmēt kā jebkura veida loģiku ar vienādu ieeju un izeju skaitu. Piemēram, 2 ieejas un 1 izejas LUT var ieprogrammēt, lai atdarinātu 2 ieejas AND, OR, NAND, NOR, XOR utt. loģiku. Šīs LUT izeju var vai nu saglabāt, izmantojot reģistru, vai pieslēgt citu LUT ievadei. Izmantojot programmējamu mux, FPGA var programmēt, lai izvēlētos reģistrētu vai nereģistrētu izeju. Šī LUT, reģistra un mux kombinācija ir vispārējā loģiskā elementa struktūra.

Lai savienotu šos loģiskos elementus kopā, tiek izmantoti caurlaides tranzistori. Tranzistoru var ieprogrammēt tā, lai tas savienotu vai nesavienotu signālu, tādējādi nodrošinot FPGA iespēju ļoti specifiski savienot loģiskos elementus. Piemēram, ja viena loģiskā elementa izeja baros cita loģiskā elementa ieeju, caurlaides tranzistoru var ieprogrammēt, lai savienotu šos divus vadus kopā un atbilstu norādītajai loģikai. Starp loģiskajiem elementiem un caurlaides tranzistoriem kompilators var ņemt aparatūras aprakstu no HDL, izveidot loģisko elementu loģiku un savienot tos kopā, izmantojot caurlaides tranzistorus.

Jautājumi un atbildes

J: Kas ir programmējamo vārtu masīvs (FPGA)?


A.: Programmējamo vārtu masīvs (FPGA) ir elektronisks komponents, ko izmanto pārkonfigurējamu digitālo shēmu veidošanai. Ražošanas brīdī tam ir nenoteikta funkcija, un, pirms to var izmantot shēmā, tas ir jāprogrammē jeb jāpārkonfigurē.

J: Ar ko FPGA atšķiras no loģiskajiem vārtiem?


A: FPGA atšķiras no loģiskajiem vārtiem, jo loģiskajiem vārtiem ir fiksēta funkcija, bet FPGA ražošanas laikā funkcija nav definēta.

J: Kāda tipa integrālā shēma ir FPGA?


A: FPGA ir integrālā shēma programmējamo loģisko ierīču jeb PLD kategorijā.

J: Kādi ir daži FPGA izmantošanas trūkumi salīdzinājumā ar citām PLD?


A: Viens no FPGA izmantošanas trūkumiem salīdzinājumā ar citām PLD ir tas, ka tās neatceras savu konstrukciju, kad tiek atvienots strāvas padeves avots, tāpēc tām ir vajadzīga atsevišķa konfigurācijas atmiņas mikroshēma, kurā tiek saglabāta konstrukcija. Tie ir arī dārgāki par citiem PLD veidiem.

J: Kā programmēt FPGA?


A: Lai programmētu FPGA, inženieri izmanto inženierprogrammatūru Windows vai Linux operētājsistēmām, lai izstrādātu projektus, kas rakstīti aparatūras aprakstīšanas valodās, piemēram, VHDL un Verilog. Pēc tam programmatūra šo kodu pārtulko izvēlētajā FGPA pieejamajos loģiskajos elementos un izvieto tos, izmantojot izvietošanas un maršrutēšanas procesus, kas rada bitfailu, kuru var ieprogrammēt vai nu konfigurācijas atmiņā, vai tieši pašā FGPA, izmantojot USB programmētāju, kas pievienots tā JTAG pieslēgvietai.

J: Vai mikroprocesori un mikrokontrolieri ir līdzīgi FGPA?


A: Nē, mikroprocesori un mikrokontrolieri atšķiras no FGPA, jo to pamatformā tie nevar palaist programmatūru; tikai tad, ja tiem tiek piešķirta konfigurācija, kas satur procesora arhitektūru, tiem ir šāda spēja.

AlegsaOnline.com - 2020 / 2023 - License CC3