Programovatelný logický obvod

Z Wikipedie, otevřené encyklopedie
Skočit na: Navigace, Hledání

Programovatelný logický obvod (programovatelné logické zařízení, PLD, anglicky programmable logic device) je elektronická součástka, která je používána pro vytváření uživatelsky nastavitelných číslicových obvodů. Na rozdíl od hradel, registrů a jiných číslicových obvodů (které mají z výroby pevně danou funkci) musí být PLD před použitím nejprve naprogramováno.

Historie[editovat | editovat zdroj]

Historické kořeny moderních programovatelných polí jsou v prvních programovatelných pamětech typu PROM, které vyrobila firma Radiation v roce 1970 a jejich modernějších verzích EPROM (Intel, 1971) a EEPROM (Intel, 1978). Permanentní paměti jako takové ale neumožňovaly úspornou realizaci logické funkce. Logickým vývojovým krokem proto byl vznik FPLA obvodů (Field Programmable Logic Array of firmy Signetics/Philips z roku 1970), ale ty ale byly drahé a pomalé. Aby bylo možné dosáhnout vyšší rychlosti logiky, byla součtová matice realizována jako fixní – vznikla koncepce PAL obvodů (Programmable Array Logic od firmy Monolithic Memories v roce 1978) s programovatelnou maticí AND a pevnou maticí OR. S postupně se zlepšujícími technologiemi výroby integrovaných obvodů bylo možné vyrábět programovatelné obvody s vyšší kapacitou a realizující složitější logické funkce. Kvůli rostoucí velikosti obvodů se začalo později místo rozšiřování logických funkcí užívat spíše skládání více matic PLD obvodů do jednoho pouzdra. Vznikly tak obvody, které dnes nazýváme CPLD (Complex Programmable Logic Device od firmy Altera v roce 1988). Od CPLD byl už pak jen malý krok k prvním programovatelným hradlovým polím (FPGA), které uvedla firma Xilinx v roce 1984. Dnes dostupná FPGA se ovšem od architektur z poloviny osmdesátých let 20. století významně odlišují. Trendem je příklon k hrubozrnným architekturám, kde obvody kromě elementárních programovatelných logických bloků obsahují i další komplexní podpůrné bloky. Nejnovější architektury kombinují v roce 2010 FPGA a mikroprocesor, například FPOA obvody (Foeld Programmable Object Array) od firmy MathStar.[1]

ROM ve funkci programovatelného logického obvodu[editovat | editovat zdroj]

Před vynálezem PLD se pro volně programovatelnou kombinační logiku používaly nevolatilní paměti typu ROM (tj. PROM, EPROM, EEPROM, …), což však sebou neslo několik nevýhod:

  • nižší rychlost
  • nedefinovatelný přechod mezi dvěma stavy (tzv. hazardy)
  • vyšší spotřeba
  • vyšší zabudovaný prostor

Typy programovatelných logických obvodů[editovat | editovat zdroj]

Nejjednodušší obvody GAL a PAL dovolují především úsporu místa, větší pružnost a zjednodušení návrhu plošných spojů náhradou několika klasických obvodů. Často se programují v patici pomocí speciálního zařízení (programátoru).

CPLD[editovat | editovat zdroj]

Na obvody CPLD (komplexní programovatelné logické obvody) se můžeme dívat jako na spojení více obvodů GAL nebo PAL, které jsou vzájemně propojeny programovatelnými propojovacími poli. Současné obvody CPLD již mohou nahradit několik tisíc nebo i několik set tisíc logických hradel. Protože programování obvodů s několika sty vývody vkládáním do speciálního programátoru by bylo krajně nepraktické, CPLD se většinou programují pomocí vyhrazeného rozhraní (např. JTAG) až poté, co jsou zapájeny do desky plošných spojů.

FPGA[editovat | editovat zdroj]

Jinou alternativou jsou obvody FPGA (on Field Programmable Gate Arrays – programovatelná hradlová pole). Od CPLD se liší tím, že po zapnutí napájení musí být jejich konfigurace vždy znovu nahrána např. z paměti EEPROM nebo FLASH. Pokud je tato paměť jejich součástí, programují se po zapájení podobně jako složitější CPLD. Větší FPGA většinou neobsahují paměť EEPROM/FLASH a po zapnutí napájení je nutné je vždy znovu nakonfigurovat (takže jejich funkce na rozdíl od CPLD není okamžitě dostupná).

Velké programovatelné logické obvody dnes umožňují i implementaci komplikovaných procesorů.

Alternativy programovatelných logických obvodů[editovat | editovat zdroj]

Pro zařízení vyráběná ve velkých sériích, kde hraje velkou roli cena a spotřeba a nepředpokládá se dodatečná změna funkce, se PLD často nahrazují zákaznickými obvody ASIC – což mohou být např. logické obvody s propojkami napevno napařenými již od výroby.

Jazyky pro syntézu PLD[editovat | editovat zdroj]

Hlavními jazyky pro programování obsahu PLD 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ů.

Výrobci hradlových polí[editovat | editovat zdroj]

Reference[editovat | editovat zdroj]

  1. ŠŤASTNÝ, Jakub. FPGA prakticky. 1. vyd. Praha : BEN – technická literatura, 2010. 200 s. ISBN 978-80-7300-261-9. S. 35.  

Literatura[editovat | editovat zdroj]