Programozható logikai áramkörök
PLA és FPLA áramkörök
Előadó: Nagy István (A65) Ajánlott irodalom: Ajtonyi I.: Digitális rendszerek, Miskolci Egyetem, 2002. Ajtonyi I.: Vezérléstechnika II., Tankönyvkiadó, Budapest, 1987 Gál T.: Programozható logikák BME - tankönyvkiadó, 1994. P. Ammon: Kapumátrix-áramkörök, Műszaki könyvkiadó, 1989.
A tantárgy szervezése: •Heti 1 előadás •1 házi feladat / félév •1 ZH / félév. Előfeltétel: Digitális technika A félévközi jegy megszerzése: •A házi feladat és a ZH alapján
A ZH az utolsó EA -on lévő pót ZH –n JAVÍTHATÓ! •(Az elégtelen ZH –t kötelező javítani.) •(A PZH eredménye törli az előző ZH eredményét)
Ismétlés és rávezetés: Bevezetésképpen, oldjunk meg a Digitális Technika c. tantárgyból már jól ismert több-kimenetelű hálózatot. Példa: 7 szegmenses kijelző
A programozható logikai áramkörök alapfelosztása: Programozható Logikai Áramkörök
Processzorok,
Mikroprocesszorok INTEL, AMD, .. PIC, 8080, Z80, … UART, USART, …
Programozható memóriák PROM, EPROM, EEPROM, …
Programozható Logikai mezők PLA / FPLA, PLD, PAL / GAL, CPLD, FPGA, …
A programozható logikai áramkörök, mint IC -k rendszertechnikai felosztása: Integrált Áramkörök
Szabványos IC-k
Felhasználás-specifikus IC-k
Fix funkciók •TTL, CMOS, BICMOS, ECL, I2L
processzorok I/O processzorok Jelprocesszorok
controllerek
Semi Custom
Programozható funkciók •PROM, EPROM •EEPROM, FLASH --------------------Programozható logikai áramkörök PLÁ, PLD, PAL, GAL, FPGA, …
•Gate Array •Standard Cell
Full Custom
A digitális IC-k szerinti felosztás:
Bevezetés: A programozható digitális áramkörök alapvetően 2 nagy csoportba sorolhatók: -Az időosztásos elven működő áramkörök: Működésüket kristály-oszcillátor ütemezi, és a program ismétlődően „lefutva” hajtódik végre (Processzor, PLC, …). Jellemzőjük, hogy a kombinációs típusú f.-ket is sorrendi hálózat realizálja. Számos előnyük mellett, hátrányaik: a működési frekvenciájuk alacsony, nagy zavarérzékenység. -Huzalozott logikás áramkörök: A fejlesztések a huzalozott logikás áramkörök programozhatóvá alakítása felé irányulnak. Ezekből lettek a programozható logikai elemek, amelyek a huzalozott architektúrát követik. A program a működés előtt kerül letöltésre, ezért letöltő programnak is nevezik. Az ilyen áramkörök felhasználó specifikusak, tervezésükhöz speciális SW-k állnak rendelkezésre, gyorsak, nehezen másolhatóak. Ezekkel az áramkörökkel foglalkozik ez a tantárgy.
Programozható Logikai Eszközök (PLD): Két nagy csoportba sorolhatjuk őket: •SPLD (Simple PLD) •CPLD (Complex PLD) A PLD -k: Olyan kétszintű kapuáramköri tömböt, illetve flip-flop sorozatot tartalmaznak, amelyeknek egymással való összekötésük még nincs kialakítva. Az összeköttetéseket a felhasználó véglegesíti, ún. letöltő programmal. Ezt gyakran konfigurálásnak is nevezik.
Az FPGA –k (Field Programmable Gate Array) –Felhasználó által programozható kapu-mátrix áramkörök: Egy olyan mátrix struktúrájú elrendezésből állnak, ahol egyrészt a cellák közötti összekötések, másrészt a cellák logikai funkciói is a felhasználó által programozhatóak.
Az ASIC –ok (Application Specific Integrated Circuits) –Felhasználó (alkalmazás) specifikus IC –k.: Abban különböznek a klasszikus IC-k-től, hogy maga a felhasználó részben, vagy egészen meghatározza a legyártandó áramkört. Semi Custom: részben – a könyvtárilag definiált maszkokból állítja össze a felhasználó az áramkört. Full Custom: a gyártás, a kezdettől a végéig a felhasználó előírásai alapján megy végbe. Drága – inkább csak nagy sorozatokban kifizetődő. Megj.: Az angol irodalom, szinte minden programozható logikai áramkört az ASIC kategóriába sorol, mivel a felhasználó a program révén, tulajdonképpen a HW-t módosítja.
PLA és FPLA eszközök-1:
PLA – Programmable Logic Array
FPLA – Field
–”-
-”-
-”-
Mint tudjuk a diszjunktív kanonikus alak szorzatok (mintermek) összege (logikai VAGY) kapcsolata. Így például a függvényt az ábra mutatja
Ennek első szintjén logikai ÉS kapcsolat, második szintjén VAGY kapuk vannak. A két kapu diódás megfelelőjét az ábra mutatja.
PLA és FPLA eszközök-2: A diszjunktív kanonikus alak diódás áramkörökkel történő megvalósítását az ábra mutatja (az ábrán a negálást felső vessző jelöli, míg az ellenállás jelképi jelölésében az angolszászt alkalmaztuk. A megvalósítás felső részében az ÉS funkciót egy ÉS-mátrix, míg az alsó rész VAGY-mátrixa a második szint VAGY kapcsolatát valósítja meg. Az ábra alapján is látható, hogy a diszjunktív kanonikus alakú függvény diódás ÉS és VAGY mátrix segítségével létrehozható. Ezen felismerés vezetett az ú.n. programozható logikai mátrix megalkotásához, melyben ÉS és VAGY mátrixot hoznak létre, de az egyes elemek bekötésének definiálását (vagyis, hogy részt vesz-e az összefüggésben) a felhasználóra bízzák.
PLA és FPLA eszközök-3: Tekintsük így a következő ábrát (lásd köv. Dia )! Itt egy 16 elemű (16 változós) ÉS mátrix (max. 16-változós minterm) és egy 48 elemes (48 bemenetű) VAGY-mátrix látható. Az ÉS-mátrixnál minden bemeneti változónál - 1-1 inverter segítségével - lehetőségünk van a változó ponált és negált módozatát is kiválasztani a mintermek összefüggéséhez. Ráadásként 3 különböző VAGY függvényt tudunk kialakítani és ezek mindegyike 1-1 KIZÁRÓ VAGY kapu segítségével különkülön majd 1 közös engedélyező jel (Kimenetek engedélyezése) segítségével egyszerre is letiltható ill. engedélyezhető. A felhasználó beavatkozási lehetősége a diódákkal sorba iktatott biztosítékokkal (fuse) valósul meg: ahol nem kívánunk kapcsolatot, ott a biztosítékot kiiktatjuk (ez a gyakorlatban az érintett vezetékre adott áramimpulzussal történhet). A valóságban ú.n. inverz biztosítékokat (antifuse) használnak, melyeknél az áramimpulzus két vezetőréteg közti szigetelést iktat ki (lásd. Köv. ábra). Így aktivizálásukkal rövidzárat tudunk létrehozni: így ott kell beavatkoznunk, ahol összeköttetést akarunk a mátrixban létrehozni. A fenti módon, két programozható mátrix-szal rendelkező megoldást PLA-nak nevezzük. Amrennyiben a VAGY mátrix előre rögzített kapcsolatokat definiál, és így csak az ÉS mátrix programozására van lehetőségünk, úgy PAL-ról beszélünk.
antibiztosíték
PLA és FPLA eszközök-4: A programozható logikai áramkörök (PLA / FPLA) olyan kétszintű ÉS/VAGY hálózatot tartalmaznak, amelyekben mind az ÉS mátrix mind a VAGY mátrix bekötései programozhatók. A hálózat típusa szerint, 2 alapvető kategóriába sorolhatók: •Kombinációs típusú PLA-k (lásd előzőek) •Regiszteres típusú PLA-k (ahol a kombinációs típusú PLA-k egy flip-flop sorral (lehet ezt pufferelés vagy regiszternek is nevezni) vannak kiegészítve). A PLA eszközök már a gyártónál, előre felprogramozott áramkörök (természetesen a megrendelő igénye és specifikálása alapján. Az egész programozás, ún. maszkolással történik), míg az FPLA eszközöket a felhasználó saját maga programozhatja fel (természetesen ehhez rendelkeznie kell a megfelelő eszközökkel). Az FPLA-k programozása rendszerint 3 lépésben történik: •Az ÉS mátrix programozása •A VAGY mátrix programozása •A KIMENET programozása.
Vessünk újra egy pillantást a kombinációs hálózatokra! Egy adott bemeneti kombinációra az igazságtábla ugyanazon sorában feltüntetett kimeneti kombináció a válasz. Beadunk egy számot, mire egy másik számot várunk a kimeneteken. Ha jól belegondolunk, a memóriák feladata is teljesen ugyanez: minden egyes cím bevitelekor egy előzőleg betöltött adat jelenik meg. Vagyis ha egy memóriát egy vele azonos számú be- és kimenettel rendelkező kombinációs hálózat igazságtáblája szerint töltünk fel, akkor ez a memória helyettesítheti a kombinációs hálózatot. (köv. dia )
PLA és FPLA eszközök-5: Ha az előzőeket elfogadjuk és figyelembe vesszük, akkor kimondhatjuk, hogy a PLA-kat a ROM-okhoz, míg az FPLA-kat az EPROM-okhoz hasonló technológiával gyártják. Vagyis, mintha a PLA-k hiányos címmezejű ROM-ok lennének. Ezek alapján egy ÉS és egy VAGY mátrixos PLA-t, tulajdonképpen egy ÉS ROM-ból és egy VAGY ROM-ból fel tudunk építeni. Ennek szemléltetését láthatjuk az ábrán.
A B
ROM A (ÉS ROM) P1
P2
ROM B (VAGY ROM)
Q1 Q2
A kimenő függvények származtatását láthatjuk a következő ábrán. Ne tévesszen meg bennünket, hogy a VAGY mátrix NÉS kapukból tevődik össze. Ez:
1.
DeMorgan elv alapján lehetséges.
2.
Gyorsabb lesz az áramkör (NÉS gyorsabb mint a VAGY, homogén áramkör). A A-negált
&
&
B B-negált ROM A
Q1 P1
P2
& Q2 & ROM B
PLA és FPLA eszközök-6: És végül nézzük meg az áramkört a PLA-knál szokásos jelölési formában, és írjuk fel mik lesznek a kimenetek (Q1, Q2), a köztes függvények: (P1, P2) az adott bemeneteknél (A, B).
A 1
ROM A
B
P1 A.B
1
P2 A B
P1
Q1 A.B A .B Q2 A.B
ROM B
P2 Q1 Q2
PLA és FPLA eszközök-7:
A PLA / FPLA -knál szokásos jelölési formák pontosabb megértéséhez kövessük figyelemmel a következő ábrákat:
PLA és FPLA eszközök-8: A memóriaelemmel történő megvalósítás előnyei: •könnyen átprogramozható, így a fejlesztési szakaszban nem kell újraépítenünk egy apró változtatásnál az egész áramkört, •nem igényel függvény-egyszerűsítést, •nem fordulhat elő benne statikus és dinamikus hazárd (bár itt is van funkcionális hazárd, amit szinkronizációval szüntethetünk meg). A megoldásnak hátrányai is vannak: •·Egy memória-áramkör sokkal lassabb, mint a logikai kapukból összeállított kombinációs hálózat, •·speciális időzítési feltételekkel fogadhat csak jeleket (pl. a címnek bizonyos ideig stabilnak kell lennie, hogy előálljon a kimenet), •·míg a függvény-egyszerűsítéssel kapott megoldás esetleg csak néhány kapuból állna, a memóriába a teljes igazságtáblázatot be kell programozni: n darab bemenethez mindenképp be kell szereznünk egy 2 n kapacitású memóriát, •·ezen kívül a memóriaelem a legtöbb esetben drágább is.
A két változat előnyeit egyesíti a programozható logikai eszközökkel történő megvalósítás. Ezek tulajdonképpen olyan előre kialakított kombinációs hálózatok, amelyeknek az összeköttetéseit programozhatjuk. Angol elnevezésük az FPLA (Field Programmable Logic Array).
PLA és FPLA eszközök-összefoglalás-1: Az FPLA -knál mind az ÉS -mátrix, mind a VAGY -mátrix a felhasználó által programozható. Léteznek olyan egyszerűbb áramkörök is, amelyeknél csak az ÉS mátrix változtatható, a VAGY -mátrixot a gyártás során rögzítették. Az ilyen eszközöket PAL -nak ( Programmable Array Logic) nevezzük. Elterjedésük oka, hogy olcsóbb berendezésekkel programozhatók, mint az FPLA -k. Felhasználásuk során katalógusból kell kiválasztanunk a nekünk megfelelő VAGY -mátrixú áramkört.
Az FPLA-k előnyei: •·A memória-áramkörökhöz hasonlóan könnyen átprogramozhatók, •·annyi programozott összeköttetés is elegendő az esetükben, amennyivel az egyszerűsített függvényt elő tudjuk állítani (míg a memóriáknál az összes variációt be kellett programozni), •·gyorsabbak, mint a memória-áramkörök (hiszen egyszerű kombinációs hálózatok). Hátrányaik: •·A kombinációs hálózathoz hasonlóan egyszerűsítést igényelnek, •·nem mentesek a hazárdoktól.
PLA és FPLA eszközök-összefoglalás-2: •A PLA / FPLA eszközök olyan áramkörök, amelyekben mind az ÉS, mind a VAGY mátrixok keresztpontjai programozhatók (PLA – gyárilag felprogramozott, FPLA – felhasználó által programozható). •Olyan logikai funkciók megvalósításánál előnyösek, melyek sok bemeneti változót, és kevés szorzattagot igényelnek. •A kimeneti függvényben szereplő közös szorzattagot (közös implikáns), csak egyszer kell előállítani. •Mivel a VAGY kapu bemenetek száma korlátozott, tetszőleges logikai függvény megvalósítására nem garantált. •Ellentétben a memóriákkal (és kombinációs hálózatokkal), a logikai függvényeket nem az igazságtáblázat alapján realizálják, hanem a logikai egyenletek alapján. Megjegyzés: Valójában képzeljünk el egy több-kimenetes kombinációs hálózatot, melyet megvalósítunk PLA/FPLA áramkörrel. Feladat: Készítse el egy magadott feladat kapcsolási rajzát a PLA / FPLA –knál szokásos formában. •Elemezze a feladatot •Írja fel a szükséges egyenleteket •Készítse el a klasszikus kapcsolási rajzot •Készítse el a PLA / FPLA féle kapcsolási rajzot. A gyakorlatban ismert PLA áramkörök: TEXAS: TMS2000, TMS2200 SIGNETICS: IFL (4alaptípus: FPLA, FPLS, FPRP, FPGA)
Gyakorlatok - 1: PLS 100 áramkör
Gyakorlatok - 2:
PLS 100 áramkör
Gyakorlatok - 3: Y,Z
függvények megvalósítása
Gyakorlatok - 4: egy
feladat megoldása
Gyakorlatok - 5:
A programlap kitöltéséhez szükséges kódok
A kimeneti szintek beállítása: FIGYELEM! Itt nem anti-biztosítékokat használnak, így eredeti állapotban a kapcsolódási pontok vezetnek, ha felkonfiguráljuk (felprogramozzuk), szigetelnek.
Gyakorlatok - 6: a feladat programlapon való ábrázolása
Gyakorlatok - 7: Üres programlap