Programovatelná logika Přehled historie vývoje technologie programovatelných obvodů. Obvody PLD, GAL,CPLD, FPGA Příklady systémů a vývojových prostředí.
➢
Moderní elektrotechnický průmysl neustále stupňuje nároky na výpočetní výkon, kompaktnost řešení, rekonfigurovatelnost, a také uplatňuje ekonomické požadavky minimální ceny, a co nejkratšího vývojového cyklu produktu. Rešeni?
Programovatelná logika (digitální hradlová pole)
V. Kushpil (ÚJF AVCR)
Programovatelná logika - Motivace V první řadě šlo o pokus zavést prvky rekonfigurovatelnosti (změny zapojení) na desky plošných spojů, protože pevně zapojené struktury postavené na bázi jednotlivých hradel, nebylo možné modifikovat bez změny zapojení, nebo jen komplikovaným systémem propojek. Druhým bodem byla jakási protiváha k zákaznickým obvodům, jejichž vývoj je zdlouhavý, velmi nákladný a je určen především pro velko-objemové série. Třetím bodem bylo zvýšení výkonu systému postavených na dosavadních strukturách složených z jednotlivých hradel.
V. Kushpil (ÚJF AVCR)
Programovatelná logika Historie vývoje digitálních hradlových polí je poměrně dlouhá, a byla zahájena v roce 1975 uvedením jednoho z prvních na světe digitálních hradlových polí firmou Signetics Corporation FPLA (Field Programmable Logic Array) . Jednalo se o obvody typu FPLA a PLA, tedy maskou programované logické obvody využívající paměť PROM. Logické funkce byly tvořeny pomocí programovatelného pole AND, za kterým následovalo programovatelné pole OR. Další vývoj pokračoval v doplňování stavebních bloků logických sítí jako jsou klopné obvody, které umožnily uživatelům vytvářet sekvenční obvodové struktury. Jednalo se o obvody typu PLD (Programmable Logic Device). V osmdesátých letech dochází k rozvoji mazatelných obvodů, které byly a neustále jsou vyráběny firmou Lattice Semiconductor známé pod obchodním názvem GAL (Generic Array Logic). V této době dochází k rozvoji obvodů, které nejsou tvořeny logickou sítí AND a OR funkcí, ale jsou tvořený na bázi konfigurovatelné tabulky (Look up Table). Technologie LUT je využívána dodnes jako hlavní stavební prvek moderních programovatelných struktur.
V. Kushpil (ÚJF AVCR)
Programovatelná logika V současnosti jsou digitální hradlové pole rozdělena na dvě skupiny. První a historicky starší tvoří obvody CPLD (Complex Programmable Logic Device) a druhou velkou skupinou jsou obvody FPGA (Filed Programmable Gate Array). Z pohledu moderních trendů v elektrotechnice je jisté, že pole typu CPLD budou v průběhu několika let prakticky nahrazeny poli typu FPGA. Největší hráče na trhu s FPGA. Jedná se o firmy Xilinx se zastoupením asi 48% podílu na trhu, na druhém místě je Altera s podílem 45% a zbývající část trhu zaujímá Lattice Semiconductors (vysoce kvalitní a speciální pole zaměřené na protokolové vrstvy), Actel (interní programovací paměť Flash pro kompaktní řešení), Atmel (spojení procesoru a hradlového pole) a jiní minoritní výrobci.
V. Kushpil (ÚJF AVCR)
Obvody PLD Součinové hradlo
Vlnovky na tomto obrázku představují programovatelné spínače. Jejich realizace závisí na výrobní technologii obvodu. Například u bipolárních obvodů se jednalo o jakousi pojistku, která se při programování obvodu "přepálila" proudovým impulsem. V technologii CMOS jsou spínače realizovány stejnými principy jako u pamětí PROM, EPROM nebo EEPROM. Složitější obvody z kategorie FPGA mívají často spínače řízeny statickou pamětí RAM.
Každá vodorovná čára v programovatelné matici AND představuje vždy jedno součinové hradlo. Na vstupy každého hradla lze připojit "libovolnou" kombinaci vstupních signálů, zpětných vazeb a jejich negací. Počet vstupů každého součinového hradla je však omezen. V. Kushpil (ÚJF AVCR)
Obvody PLD Do kategorie klasických PLD je možné zařadit obvody následujících typů: PAL Obvody typu PAL (Programmable Array Logic) mají strukturu podle výše uvedených obrázků. Některé starší typy neměly například výstupní registry takže byly vhodné spíše pro kombinační logiku. Zástupci této kategorie jsou obvody PAL, GAL a PALCE. PLA Obvody typu PLA (Programmable Logic Array) mají obecnější strukturu než PAL na horním obrázku. Mají totiž programovatelnou nejenom matici logických součinů, ale i následující matici logických součtů.
V. Kushpil (ÚJF AVCR)
Komplexní PLD CPLD Klasické obvody PLD mají velmi omezené prostředky, takže umožňují realizovat pouze jednodušší funkce. Proto výrobci začali sdružovat více takovýchto obvodů na jednom čipu spolu s nutnými prostředky pro propojení. Takovéto obvody se většinou označují jako CPLD Complex Programmable Logic Device.
Každý výrobce CPLD používá trochu jinou interní strukturu obvodů, ale většinou vychází z tohoto schématu. CPLD od různých výrobců se obvykle liší v provedení bloků vlastní programovatelné logiky i když většinou vychází z klasické struktury PAL.
V. Kushpil (ÚJF AVCR)
Obvody FPGA Obvody typu FPGA (Field Programmable Gate Array) mají z programovatelných obvodů nejobecnější strukturu a obsahují nejvíce logiky. Současné největší obvody FPGA obsahují až 6 milionů ekvivalentních hradel (typické dvouvstupové hradlo NAND).
V. Kushpil (ÚJF AVCR)
Obvody FPGA Bloky IOB (Input/Output Block) představují vstupně-výstupní obvody pro každý v-v pin FPGA. Tyto bloky obvykle obsahují registr, budič, multiplexer a ochranné obvody.
V. Kushpil (ÚJF AVCR)
Obvody FPGA
Bloky LB (Logic Block) představují vlastní programovatelné logické bloky. Všechny bloky mohou být různě propojeny globální propojovací maticí. FPGA umožňují propojit některé signály logických bloků přímo se sousedním bez nutnosti využívat globální propojovací matici. Takovéto spoje mají mnohem menší zpoždění a umožňují tak realizovat například rychlé obvody šíření přenosu, což je nezbytné pro sčítačky nebo násobičky. Integrují výrobci do FPGA taky další prvky. Většina moderních FPGA obsahuje několik bloků rychlé synchronní statické paměti RAM. Velmi často obvody FPGA obsahují PLL (Phase Locked Loop) nebo DLL (Delay Locked Loop) pro obnovení charakteristik hodinového signálu, případně pro násobení nebo dělení jeho frekvence. Nejnovější hradlová pole často obsahují bloky vhodné pro vytváření složitých systémů pro číslicové zpracování signálů jako jsou například hardwarové násobičky nebo dokonce mikroprocesory. V. Kushpil (ÚJF AVCR)
Programovatelná logika Xillinx (CPLD)
V. Kushpil (ÚJF AVCR)
Programovatelná logika Xillinx (ISE)
V. Kushpil (ÚJF AVCR)
Programovatelná logika Altera (CPLD)
V. Kushpil (ÚJF AVCR)
Programovatelná logika Altera (Quartus)
V. Kushpil (ÚJF AVCR)
Programovatelná logika Lattice (CPLD)
V. Kushpil (ÚJF AVCR)
Programovatelná logika Lattice (ispDE)
V. Kushpil (ÚJF AVCR)
MicroCAP
V. Kushpil (ÚJF AVCR)
MicroCAP
V. Kushpil (ÚJF AVCR)