Field-programmable gate array

A Field-programmable gate array (gyakran rövidítve FPGA) egy elektronikus alkatrész, amelyet rekonfigurálható digitális áramkörök építésére használnak. Ez azt jelenti, hogy az FPGA különbözik a logikai kaputól, mivel a logikai kapunak rögzített funkciója van. Ezzel szemben egy FPGA-nak a gyártás pillanatában meghatározatlan funkciója van. Mielőtt az FPGA-t egy áramkörben használni lehetne, programozni, azaz átkonfigurálni kell.

Az FPGA-k a programozható logikai eszközök vagy PLD-k kategóriájába tartozó integrált áramkörök. Az FPGA-k a legnagyobb teljesítményű, legrugalmasabb és egyben a legdrágább PLD-típusok. Az FPGA-k hátránya a többi PLD-vel szemben, hogy nem emlékeznek a tervükre, amikor a tápellátás megszűnik. Az FPGA-nak ezért külön konfigurációs memóriachipre van szüksége, amely tárolja az FPGA tervét. Amikor az FPGA-nak visszaadjuk a tápfeszültséget, az FPGA egy rögzített része kiolvassa a konfigurációt a konfigurációs memóriachipből. Miután az FPGA-t konfigurálták, képes lesz elvégezni azt a funkciót, amelyet a terv adott neki.

Az FPGA különbözik a mikroprocesszortól vagy mikrokontrollertől. Az FPGA alapformájában nem képes szoftver futtatására. Csak akkor képes szoftver futtatására, ha az FPGA olyan konfigurációt kap, amely processzor-architektúrát tartalmaz.

Az FPGA-gyártók mérnöki szoftvereket kínálnak Windows és néha Linux operációs rendszerekhez, amelyekkel az FPGA-k tervei fejleszthetők. A terveket általában ember által olvasható számítógépes fájlokban, úgynevezett hardverleíró nyelvben (HDL) írják le. A legnépszerűbbek a VHDL és a Verilog. A hardverleíró nyelvek erősen hasonlítanak a programozási nyelvekhez. A HDL-ek célja azonban a digitális logikai áramkörök tervezése, míg a programozási nyelvek a szoftverek tervezése.

Az FPGA tervezőszoftvernek le kell fordítania az absztrakt HDL-kódot a kiválasztott FPGA-ban rendelkezésre álló logikai elemekre. Ezt logikai szintézisnek nevezzük. Ezután a logikai elemek FPGA-n belüli elhelyezésének és útvonalvezetésének folyamata következik. Az eredmény egy bitfájl, amelyet be lehet programozni az FPGA-ba vagy a konfigurációs memóriába. Ez általában az FPGA JTAG portjához csatlakoztatott USB programozóval történik.

Mivel az FPGA egy integrált áramkör, az FPGA gyártója dönthet úgy, hogy más, általánosan használt integrált áramköri komponenseket ad hozzá. Ezeket a rögzített alkatrészeket magoknak nevezzük. Ezek például Ethernet-vezérlők vagy akár egy teljes processzor-architektúra. A különböző piaci szegmensek, például a védelmi, orvosi, kommunikációs és robotikai szegmensek számára az FPGA-gyártó igyekszik a legértékesebb kiegészítő magokat hozzáadni.

Zoom


Belső szerkezet

Az FPGA-k általában programozható logikai elemekre és programozható összeköttetésekre épülnek. A logikai elemek egyik építőeleme a programozható keresőtábla (LUT). Egy LUT úgy programozható, hogy a bemeneti értékek alapján bármilyen értéket ki tudjon adni. Ily módon egy LUT úgy programozható, hogy a bemenetek és kimenetek száma azonos legyen. Például egy 2 bemenetű, 1 kimenetű LUT-t úgy lehet programozni, hogy a 2 bemenetű ÉS, VAGY, NAND, NOR, XOR stb. logikáját emulálja. Ennek a LUT-nak a kimenete vagy egy regiszter segítségével menthető el, vagy más LUT-ok bemenetéhez csatlakoztatható. Egy programozható mux segítségével az FPGA programozható a regisztrált vagy nem regisztrált kimenet kiválasztására. Egy LUT, egy regiszter és egy mux kombinációja a logikai elem általános felépítése.

E logikai elemek összekapcsolására átmenő tranzisztorokat használnak. A tranzisztorok programozhatók úgy, hogy egy jelet vagy összekapcsoljanak, vagy ne, ezáltal az FPGA képes a logikai elemek nagyon specifikus összekapcsolására. Ha például az egyik logikai elem kimenete egy másik logikai elem bemenetét táplálja, az átmenő tranzisztor programozható úgy, hogy összekösse ezt a két vezetéket, és megfeleljen a megadott logikának. A logikai elemek és az áteresztő tranzisztorok között a fordító képes egy HDL-ből származó hardverleírást venni, létrehozni a logikai elemek logikáját, és az áteresztő tranzisztorok segítségével összekapcsolni őket.

Kérdések és válaszok

K: Mi az a terepprogramozható kaputömb (FPGA)?


V: Az FPGA (field-programmable gate array) egy elektronikus alkatrész, amelyet rekonfigurálható digitális áramkörök építésére használnak. A gyártáskor nem meghatározott funkcióval rendelkezik, és programozni, azaz átkonfigurálni kell, mielőtt egy áramkörben felhasználható lenne.

K: Miben különbözik az FPGA a logikai kaputól?


V: Az FPGA abban különbözik a logikai kaputól, hogy a logikai kapunak rögzített funkciója van, míg az FPGA-nak a gyártáskor meghatározatlan funkciója van.

K: Milyen típusú integrált áramkör az FPGA?


V: Az FPGA a programozható logikai eszközök vagy PLD-k kategóriájába tartozó integrált áramkör.

K: Milyen hátrányai vannak az FPGA-k használatának más PLD-khez képest?


V: Az FPGA-k használatának egyik hátránya más PLD-kkel szemben az, hogy nem emlékeznek a tervükre, amikor a tápellátás megszűnik, ezért külön konfigurációs memóriachipre van szükségük, amely a tervet tárolja. Emellett drágábbak is, mint más típusú PLD-k.

K: Hogyan kell egy FPGA-t programozni?


V: Egy FPGA programozásához a mérnökök Windows vagy Linux rendszerű mérnöki szoftvereket használnak, hogy hardverleíró nyelveken, például VHDL és Verilog nyelven írt terveket fejlesszenek. A szoftver ezt a kódot lefordítja a kiválasztott FGPA-kon rendelkezésre álló logikai elemekre, és a place and route eljárásokkal elhelyezi őket, ami egy bitfájlt hoz létre, amelyet vagy a konfigurációs memóriába, vagy közvetlenül magába az FGPA-ba lehet programozni a JTAG-porthoz csatlakoztatott USB-programozóval.

K: A mikroprocesszorok és mikrokontrollerek hasonlóak az FGPA-khoz?


V: Nem, a mikroprocesszorok és mikrokontrollerek különböznek az FGPA-któl, mivel alapformájukban nem tudnak szoftvert futtatni; csak akkor rendelkeznek ezzel a képességgel, ha egy processzorarchitektúrát tartalmazó konfigurációt kapnak.

AlegsaOnline.com - 2020 / 2023 - License CC3