Polje za programiranje vrat

Polje programirljivih vrat (pogosto skrajšano na FPGA) je elektronska komponenta, ki se uporablja za izdelavo rekonfigurabilnih digitalnih vezij. To pomeni, da se FPGA razlikuje od logičnih vrat, saj imajo logična vrata fiksno funkcijo. V nasprotju s tem ima FPGA v času izdelave nedoločeno funkcijo. Preden lahko FPGA uporabimo v vezju, ga je treba programirati, tj. rekonfigurirati.

FPGA so integrirana vezja v kategoriji programirljivih logičnih naprav ali PLD. FPGA so najzmogljivejše, najbolj prilagodljive in tudi najdražje med vrstami PLD. Pomanjkljivost FPGA v primerjavi z drugimi PLD je, da si ne zapomnijo svoje zasnove, ko se izklopi napajanje. FPGA zato potrebuje ločen konfiguracijski pomnilniški čip, ki hrani zasnovo FPGA. Ko se napajanje vrne v FPGA, fiksni del FPGA prebere konfiguracijo iz konfiguracijskega pomnilniškega čipa. Ko je FPGA konfiguriran, bo lahko opravljal funkcijo, ki mu je bila dodeljena z zasnovo.

FPGA se razlikuje od mikroprocesorja ali mikrokrmilnika. FPGA v svoji osnovni obliki ne more izvajati programske opreme. Šele ko FPGA dobi konfiguracijo, ki vsebuje procesorsko arhitekturo, lahko izvaja programsko opremo.

Proizvajalci FPGA zagotavljajo inženirsko programsko opremo za Windows in včasih tudi za Linux, ki omogoča razvoj načrtov za FPGA. Zasnova je običajno zapisana v računalniških datotekah, ki jih lahko bere človek in se imenujejo jezik za opis strojne opreme (HDL). Najbolj priljubljena sta VHDL in Verilog. Jeziki za opisovanje strojne opreme so močno primerljivi s programskimi jeziki. Vendar je namen HDL-jev načrtovanje digitalnih logičnih vezij, medtem ko programski jeziki načrtujejo programsko opremo.

Inženirska programska oprema FPGA mora abstraktno kodo HDL prevesti v logične elemente, ki so na voljo v izbranem FPGA. To se imenuje logična sinteza. Nato se izvede postopek umeščanja in usmerjanja, da se logični elementi namestijo v FPGA. Rezultat je bitna datoteka, ki jo je mogoče programirati v FPGA ali konfiguracijski pomnilnik. To običajno storimo s programatorjem USB, ki je priključen na vrata JTAG FPGA.

Ker je FPGA integrirano vezje, se lahko proizvajalec FPGA odloči dodati druge pogosto uporabljene komponente integriranega vezja. Ti fiksni deli se imenujejo jedra. To so na primer krmilniki etherneta ali celo celotna procesorska arhitektura. Za različne tržne segmente, kot so obramba, medicina, komunikacije in robotika, skuša proizvajalec FPGA dodati najbolj dragocen nabor teh dodatnih jeder.

Zoom


Notranja struktura

FPGA so na splošno zgrajeni na podlagi programirljivih logičnih elementov in programirljivih medsebojnih povezav. Eden od gradnikov logičnih elementov je programabilna preglednica za iskanje (Lookup Table - LUT). LUT je mogoče sprogramirati tako, da pri danih vhodnih vrednostih izpiše katero koli vrednost. Na ta način je mogoče LUT programirati kot katero koli vrsto logike z enakim številom vhodov in izhodov. Na primer, 2-vhodno in 1-izhodno LUT je mogoče programirati tako, da posnema logiko 2-vhodnega AND, OR, NAND, NOR, XOR itd. Izhod te LUT lahko shranimo z registrom ali pa ga povežemo z vhodom drugih LUT. S programirljivim muxom lahko FPGA programirate tako, da izbere registriran ali neregistriran izhod. Ta kombinacija LUT, registra in muxa je splošna struktura logičnega elementa.

Za povezovanje teh logičnih elementov se uporabljajo prehodni tranzistorji. Tranzistor je mogoče programirati tako, da poveže signal ali ne, s čimer lahko FPGA zelo natančno poveže logične elemente. Na primer, če bo izhod enega logičnega elementa napajal vhod drugega, je mogoče prehodni tranzistor programirati tako, da ti dve žici poveže skupaj in ustreza določeni logiki. Med logičnimi elementi in prehodnimi tranzistorji lahko prevajalnik vzame opis strojne opreme iz HDL, ustvari logiko za logične elemente in jih poveže s prehodnimi tranzistorji.

Vprašanja in odgovori

V: Kaj je polje programirljivih vrat (FPGA)?


O: Polje programirljivih vrat (FPGA) je elektronska komponenta, ki se uporablja za izdelavo rekonfigurabilnih digitalnih vezij. Ob izdelavi ima nedefinirano funkcijo in jo je treba pred uporabo v vezju programirati ali rekonfigurirati.

V: Kako se FPGA razlikuje od logičnih vrat?


O: FPGA se razlikuje od logičnih vrat, ker imajo logična vrata fiksno funkcijo, medtem ko ima FPGA ob izdelavi nedefinirano funkcijo.

V: Kakšna vrsta integriranega vezja je FPGA?


O: FPGA je integrirano vezje v kategoriji programirljivih logičnih naprav ali PLD.

V: Katere so nekatere pomanjkljivosti uporabe FPGA v primerjavi z drugimi PLD?


O: Ena od pomanjkljivosti uporabe FPGA v primerjavi z drugimi PLD je, da si ne zapomnijo svoje zasnove, ko se izklopi napajanje, zato potrebujejo ločen konfiguracijski pomnilniški čip, ki hrani zasnovo. Poleg tega so dražji od drugih vrst PLD.

V: Kako se programira FPGA?


O: Za programiranje FPGA inženirji uporabljajo inženirsko programsko opremo za Windows ali Linux, s katero razvijajo zasnove, napisane v jezikih za opis strojne opreme, kot sta VHDL in Verilog. Programska oprema nato to kodo prevede v logične elemente, ki so na voljo v izbranih FGPA, in jih pozicionira s postopki place and route, kar ustvari bitno datoteko, ki jo je mogoče programirati v konfiguracijski pomnilnik ali neposredno v sam FGPA s programatorjem USB, priključenim na vrata JTAG.

V: Ali so mikroprocesorji in mikrokrmilniki podobni FGPA?


O: Ne, mikroprocesorji in mikrokrmilniki se razlikujejo od FGPA, ker v svoji osnovni obliki ne morejo izvajati programske opreme; to zmožnost imajo le, če jim je dana konfiguracija, ki vsebuje arhitekturo procesorja.

AlegsaOnline.com - 2020 / 2023 - License CC3