1. DIGITÁLIS TERVEZÉS PROGRAMOZHATÓ LOGIKAI ÁRAMKÖRÖKKEL (PLD) 1
1.1. AZ INTEGRÁLT ÁRAMKÖRÖK GYÁRTÁSTECHNOLÓGIÁI A digitális berendezések tervezésekor számos technológia szerint gyártott áramkörök közül választhat a tervező. A technológiák egyik legfontosabb jellemzője, hogy lehetővé teszik-e, illetve milyen módon teszik lehetővé áramkörök kialakítását adott célra. 2
A legegyszerűbb áramköröknél (SSI/MSI funkcionális egységek) nincs semmilyen programozási lehetőség, így a meglevő funkciók kombinációjával kell megépíteni a berendezést. Más technológiák a felhasználás helyén (in the field) tesznek lehetővé programozást: az adott digitális áramkör belső memóriájának köszönhetően, vagy bizonyos biztosítékok kiégetésével. Megint más technológiáknál az integrált áramkör rétegeit, rendelésre kell gyártani. 3
Az integrált áramköröket gyártástechnológia szempontjából a következő hat kategóriába sorolhatjuk: felhasználás specifikus (full-custom) ASIC standard cellás (standard-cell) ASIC kapumátrixos (gate array) ASIC 4
összetett programozható logikai eszközök (CPLD, FPGA) egyszerű programozható logikai eszközök (PAL, GAL, PLA, ROM) egyszerű funkcionális egységek (SSI/MSI components) 5
FELHASZNÁLÁS SPECIFIKUS ASIC Ebben a technológiában a digitális áramkör minden jellemvonását az adott feladathoz lehet igazítani. Teljes szabadsággal rendelkezünk az áramkör tervezésénél. Az összes réteg felépítését tetszés szerint választhatjuk meg (teljes szabadsággal rendelkezünk a tranzisztorok elhelyezése és összekötés szempontjából), hogy eleget tegyünk igényes teljesítményi- vagy szilíciumfelület-kihasználási elvárásoknak. 6
Sajnos, áramköröket tranzisztor szinten tervezni rendkívül összetett feladat és általában csak kisebb komplexitású áramköröknél lehetséges. A gyakorlat szempontjából nem kifizetődő ezt a technológiát összetett digitális áramkörök tervezésére alkalmazni, melyek több tíz- vagy akár több százmillió tranzisztorból épülnek fel. Ennek a technológiának a legnagyobb felhasználási területe elemi logikai blokkok (komponensek) tervezése, melyeket nagyobb digitális rendszerek építő kockáiként lehet felhasználni. 7
STANDARD CELLÁS ASIC A standard cellás ASIC technológiában az áramköröket szabványos cellákból építjük fel. Ezek a cellák előre megtervezett komponensek, melyek sikeresen átmentek a tesztelésen. Ez a technológia lehetővé teszi a digitális áramkörök kapuszintű tervezését a tranzisztorszint helyett. Így a tervezés folyamata nagymértékben felgyorsul és leegyszerűsödik. 8
Ezek a könyvtárak általában alapvető logikai kapukat, egyszerű kombinációs hálózatokat (pl. 2/1-es multiplexereket, 1-bites teljes összeadókat) és alapvető memóriai elemeket (flip-flopokat és latch-eket) tartalmaznak. Némely könyvtárak összetettebb funkcionális blokkokat is tartalmazhatnak, mint pl. 8-bites összeadó vagy RAM blokk. Ebben a technológiában a cellák típusa és azok huzalozása az adott alkalmazás függvénye. 9
KAPUMÁTRIXOS ASIC A gate array ASIC (vagy egyszerűen csak gate array) technológiában az áramkörök előre megtervezett cellák sorából épülnek fel. A standardcellás technológiával ellentétben, a gate array típusú áramkörök csak egy fajta cellából épülnek fel, amit alap cellának (base cell) nevezünk. Az alap cellák alkalmazástól függetlenül egy- vagy két-dimenziós sorba vannak elrendezve. 10
A gyártók alapcellákból összetettebb elemeket - makrocellákat is hozhatnak létre. A makrocellák alapcellákból és előre definiált huzalozásból állnak. A gyártók makrocellákat tartalmazó könyvtárakat szerkesztenek, hogy megkönnyítsék és meggyorsítsák az alkalmazásokon dolgozó mérnökök munkáját, mert így tervezéskor elemi logikai kapuk mellett összetett áramköröket is használhatnak. 11
ÖSSZETETT PROGRAMOZHATÓ LOGIKAI ESZKÖZÖK Ezek az eszközök (CPLD, FPGA) képezik a mai ipari fejlesztések gerincét a digitális technika területén. Nem ASIC technológiát alkalmaznak, az áramkörök véglegesítése nem a félvezető gyárban, hanem a felhasználónál történik. Az áramkörök elemi logikai cellamátrixból (array of generic logic cells) és egy általános összekötő (general interconnect) struktúrából épülnek fel. 12
Annak ellenére, hogy a logikai cellákat és az összekötő struktúrát előre legyártják, mindkettő programozható. Ezen struktúrák programozását félvezető biztosítékok kiégetésével, illetve kapcsolók be- és ki kapcsolásával érjük el. Az áramkör ebben az esetben félkész formában kerül a felhasználóhoz, véglegesítése nem a gyártás során alkalmazott litográfiai eljárások sorából áll, hanem a felhasználó által végzett programozásból. 13
A logikai cellák összetettségét és az összekötő hálózat szerkezetét tekintve az összetett programozható logikai eszközöket két csoportra osztjuk: CPLD (complex programmable logic device) és FPGA (field programmable gate array) áramkörökre. A CPLD áramkörök logikai cellái általában egy D tárolóból és egy PAL (1.1.5) struktúrából állnak. A CPLD-k logikai cellái vezeték csoportokon keresztül kommunikálnak egymással, melyek egy központi összekötő struktúrában találkoznak. 14
A CPLD-kkel ellentétben az FPGA-k logikai cellái egyszerűbbek, általában egy D tárolóból, és kisebb kombinációs hálózatból állnak. Az FPGAknál a cellák közötti kapcsolatokat biztosító összekötő struktúra szétosztott jellegű és flexibilis és ezért az FPGA-k alkalmasak nagy és összetett áramkörök megvalósítására. 15
EGYSZERŰ PROGRAMOZHATÓ LOGIKAI ESZKÖZÖK Amíg nem léteztek összetett programozható logikai eszközök, ezeket az áramköröket programozható logikai áramköröknek (PLD programmable logic device) hívták, az egyszerű előtag nélkül. Ma már a programozható logikai áramkörök alatt inkább a CPLD-ket és az FPGAkat értjük. 16
Az egyszerű programozható logikai eszközök felépítése két részre osztható: egy ÉS és egy VAGY hálózatra. A két tömb kaszkád kötésével tetszőleges logikai függvényeket lehet megvalósítani szorzatok összege (SOP - sum of product) formában. Ha az ÉS hálózat programozható, akkor PAL (programmable array logic) áramkörökről beszélünk, ha mindkét hálózat programozható, akkor pedig PLA (Programmable logic array) áramkörökről. 17
AZ SSI/MSI FUNKCIONÁLIS EGYSÉGEK A felhasználás helyén programozható áramkörök megjelenése előtt az ASIC áramkörök egyetlen alternatívája az előre legyártott SSI/MSI áramkörök voltak. Ezek az áramkörök nem programozhatóak és csak egyszerű logikai feladatok ellátására alkalmasak. Egy példa ezekre az áramkörökre a 7400-as sorozatú tranzisztor-tranzisztor (TTL) áramkörcsalád, amely több mint 100 különböző alkatrészt tartalmaz, az egyszerű NAND kapuktól egészen a 4-bites aritmetikai áramkörig. 18
Ezekkel az eszközökkel az összetett digitális áramkörök tervezése nagyszámú SSI/MSI alkatrész felhasználásával történik, rendszerint több nyomtatott lapon elhelyezve. Az SSI/MSI áramkörök hátránya a nagy fogyasztás, és az egyedi nyomtatott áramkör tervezésének szüksége minden egyes alkalmazásnál. Ez mellett kifejezett a zavarérzékenység és korlátozott a sebesség a berendezés nagy kiterjedése miatt 19