FPGA

A HupWiki-ből...

Field Programmable Gate Array

Tartalomjegyzék

Jellemzés

Általános célú programozható eszköz. Legfőbb jellegzetessége, hogy bármilyen digitális logika megvalósítható használatával. Különlegessége felepítéséből adódik, miszerint párhuzamos a jelterjedés az IC-n belül, ezáltal - viszonylag alacsony órajel ellenére (~100 MHz) - nagy párhuzamos számítási teljesítménnyel rendelkezik. A beágyazott rendszerek meghatározó eleme lehet.

Felépítés

Alapvetően ezen részekre tagolható:

  • I/O blokkok: az eszköz peremén elhelyezkedő portok (akár 100-200 db.)
  • Core: ez a belső programozható rész, mely nagyszámú kapuból áll (milliós nagyságrend)
  • BlokkRAM: SRAM, átmeneti adatok tárolására (Mbit nagyságrend)

Egyes típusok hardveres szorzót is tartalmaznak (korlátozott számban). Mivel még eléggé fiatal technika (Xilinx 1985-ben adta ki az első FPGA-t), ezért máig nagyon dinamikusan fejlődik.

Programozás

A belső logikai felépítést speciális leírónyelvvel határozhatjuk meg. Két legelterjedtebb nyelv:

Akár egy virtuális (szoftveres) processzormag kód is implementálható: ilyen például az ARM. Modern FPGA-ba akár több ilyen CPU core belefér (egy IC-ben multiprocesszor)...

A szabad szoftveres mentalitás erre a területre is betört. Innen letölthető általános modulok forráskódjai (pl. USB, USART, stb.): http://www.opencores.org/

Gyártók

Csak néhány jelentősebbet említve: