Programovatelné hradlové pole
![](http://upload.wikimedia.org/wikipedia/commons/thumb/f/fa/Altera_StratixIVGX_FPGA.jpg/220px-Altera_StratixIVGX_FPGA.jpg)
Programovatelná hradlová pole (FPGA, anglicky Field Programmable Gate Array) je v elektronice typ logického integrovaného obvodu, který je vyroben tak, aby mohl být naprogramován až u zákazníka. Obsahuje pole programovatelných logických obvodů (PLD), logických bloků, umožňuje je navzájem propojit a tím vytvořit takřka libovolné číslicové zařízení (například mikroprocesor, řídicí obvod síťové karty a podobně). Tím se odlišuje od zákaznických integrovaných obvodů (ASIC), jejichž funkce je dána již při výrobě.
Charakteristika
FPGA obvody dnes nacházejí uplatnění v široké škále aplikací díky své programovatelnosti, snadnému návrhu, flexibilitě, neustále klesajícím cenám a zvolna se snižující spotřebě energie vlastním čipem. Typické použití je v oblasti menších sérií navrhovaných zařízení, kdy se nevyplatí návrh zákaznického integrovaného obvodu a současně konvenční řešení systému s procesorem už není vhodné. Další aplikace můžeme nalézt například v oblasti prototypování složitějších zákaznických integrovaných obvodů. Velká programovatelná hradlová pole dnes umožňují i implementaci komplikovaných procesorů.
Kromě FPGA obvodů se lze běžně setkat i s tzv. CPLD obvody (Complex Programmable Logic Devices). CPLD použijeme spíše na návrh jednoduché propojovací logiky při integraci složitějších prvků (glue logic).
Existují také programovatelná analogová pole (FPAA).[1]
Historie
První předchůdci FPGA byly programovatelné paměti PROM, které však nebyly příliš úsporné. Jejich postupným vylepšováním vyrobila první FPGA v roce 1984 firma Xilinx.
Technologie FPGA obvodů
Rozeznáváme dva základní typy FPGA podle uložení konfigurace: FPGA s volatilní a FPGA s nevolatilní konfigurací.
FPGA s volatilní konfigurací ukládají konfigurační informace do paměťových buněk typu SRAM.
Výhody:
- Snadná konfigurace a rekonfigurovatelnost i za běhu systému.
- K výrobě FPGA s volatilní konfigurací je používán standardní technologický proces CMOS bez dodatečných kroků a proto jsou SRAM obvody vždy o jednu až dvě technologické generace napřed před ostatními FPGA.
Nevýhody:
- Programovatelný obvod musí být po startu systému nakonfigurován – k tomu je obvykle potřeba externí paměť a jednoduchý řadič, to znamená větší potřebný prostor na desce s plošnými spoji a více součástek, dále konfigurace může trvat až stovky milisekund.
- Je těžší zajistit zabezpečení intelektuálního vlastnictví, protože konfiguraci obvodu lze obvykle jednoduše vyčíst z konfigurační paměti.
FPGA s nevolatilní konfigurací ukládá konfigurační bity typicky ve flash paměti, EEPROM, nebo tzv. antifuses (antipojistky).
- Nevýhody: obtížnější změna konfigurace
- Výhody: lepší zabezpečení intelektuálního vlastnictví, vyšší odolnost proti radiaci.
Vlastnosti jednotlivých technologií:
- antifuse je v nenaprogramovaném stavu rozpojená a programováním se propojí (opak pojistky) – vytvoří se rezistivní spojka. FPGA je konfigurovatelné pouze mimo cílovou aplikaci.
- EEPROM/flash FPGA umožňují jak programování v aplikaci, tak před vlastním použitím.
Jazyky pro syntézu hradlových polí
V počátcích programovatelných obvodů se pro návrh používaly proprietární jazyky (např. ABEL) či kreslení schémat.
Hlavními jazyky pro programování obsahu hradlových polí jsou dnes VHDL a Verilog. Někteří výrobci nabízejí i proprietární jazyky a nástroje, jako např. AHDL od firmy Altera. Jednodušší návrhy bývá rovněž možné nakreslit pomocí grafických editorů.
Návrh obvodu popisujeme na RTL úrovni, jako sadu registrů propojených kombinační logikou realizující logické operace. Výhodou použití RTL úrovně je práce na vysokém stupni abstrakce – jeden řádek zdrojového kódu je v hardware reprezentován typicky desítkami/stovkami hradel, což zvyšuje produktivitu práce a zpřehledňuje vlastní návrh. RTL popis systému je posléze konvertován do konfiguračního souboru FPGA obvodu v několika krocích (syntéza, mapování, rozmístění a propojení, generování konfiguračního souboru).
Výrobci hradlových polí
- Intel (dříve Altera)
- Lattice semiconductor
- Xilinx vlastněný AMD
- Microsemi (dříve Actel) vlastněný firmou Microchip
Literatura
- Šťastný Jakub: FPGA prakticky, BEN - technická literatura, 2011, ISBN 978-80-7300-261-9
- Pinker Jiří, Poupa Martin: Číslicové systémy a jazyk VHDL, BEN - technická literatura, 2006, ISBN 80-7300-198-5
- Král Jiří: Řešené příklady ve VHDL - Hradlová pole FPGA pro začátečníky, BEN - technická literatura, 2010, ISBN 978-80-7300-257-2
- Malý Martin: Data, čipy, procesory, CZ.NIC, 2020, ISBN 978-80-88168-56-0 (online 10 MB Archivováno 12. 3. 2021 na Wayback Machine.)
Reference
- ↑ ROBINSON, Rick. Configurable analog chip computes with 1,000 times less power than digital. phys.org [online]. 2016-03-11 [cit. 2023-01-04]. Dostupné online. (anglicky)
Externí odkazy
Obrázky, zvuky či videa k tématu Programovatelné hradlové pole na Wikimedia Commons
- Programovatelná hradlová pole - historie, architektury, struktury[nedostupný zdroj]
Logické obvody | ||||||||||
---|---|---|---|---|---|---|---|---|---|---|
Logická hradla | ||||||||||
Kombinační obvody | ||||||||||
Sekvenční obvody |
| |||||||||
Programovatelné logické obvody | ||||||||||
Technologie |
| |||||||||
Minimalizace logických funkcí | Booleova algebra • Karnaughova mapa • Metoda Quine-McCluskey | |||||||||
Ostatní | Hazardní stavy v číslicových obvodech |