530 likes | 641 Views
Mikroelektronikai tervezőrendszerek. Összefoglalás. Hierarchikus áramkörleírás. Top level design: core tappancsok. Core: A_funkci ó + B _funkci ó. A_funkci ó: AA _funkci ó + AB _funkci ó. B_funkci ó: BA _funkci ó + BB _funkci ó. AA _funkci ó. Cellakönyvtári elem. Cellakönyvtári elem.
E N D
Mikroelektronikai tervezőrendszerek Összefoglalás
Hierarchikus áramkörleírás Top level design:coretappancsok Core:A_funkció+B_funkció A_funkció: AA_funkció+AB_funkció B_funkció:BA_funkció+BB_funkció AA_funkció Cellakönyvtári elem Cellakönyvtári elem Cellakönyvtári elem
Hierarchikus design Top level design Részáramkörök Részáramkörök Cella szintű funkciók Hierarchia szintek Cellák Flatdesign Áramkörkifejtés Áramkörkifejtés = design flattening Áramköri hierarchia-kifejtő program
Layout előállítása • Kifejtett áramkörleírás • Floorplan • core kialakítása • tappancsgyűrű kialakítása (pad limited, core limited) • cellák elhelyezése • Globális huzalozás • huzalozási csatornák kialakítása • föld és táp ellátás (supply tree) • Részletes huzalozás • DRC
Layout előállítása • Kifejtett áramkörleírás • Floorplan • core kialakítása • tappancsgyűrű kialakítása (pad limited, core limited) • cellák elhelyezése • Globális huzalozás • huzalozási csatornák kialakítása • föld és táp ellátás (supply tree) • Részletes huzalozás • DRC
IC tervezés és gyártás közvetlen végfelhasználói igények szerint • Szereplők: • IC gyár - silicon foundry (pl. ST, AMS, Philips, ...) • Szoftverház - EDA vendor (pl. Cadence) • Tokozó üzem • MPW szolgáltató - silicon broker (pl. EUROPRACTICE, CMP, MOSIS) • Végfelhasználó, aki egyben tervező is (pl. mi) • MPW gyártás = Multi-project Wafer • 1 Si szeleten 10-15 chip, • gyártási alkalmak (run-ok): 2-3 havonta • átfutás: layout beküldésétől tokozott chip-ig: 2-3 hónap • költségmegosztás, területarányos fizetés Pl.: 250 EUR/mm2, 4 mm2 1000 EUR + 100 EUR tokozás 5 tokozott chip, 10 tokozatlan chip (66 EUR/chip) • tipikus felhasználás: prototípus gyártás • small volume production: pl. 5-6 szelet 1 chip-pel
Tervező 3 Tervező 2 Tervező 1 MPW szolgáltató MPW chip gyártás
Tervezési szabályok, eszközparaméterek, cellakönyvtár IC gyár Chip layout-ok egyesítve Tervező és felhasználó Si szelet 10-15 áramkörrel Tervező szoftver, design kit Tokozott IC-k MPW szolgáltató Tokozó üzem Chip layout Pucér chip-ek Tervező szoftver EDA vendor Tokozott IC MPW chip gyártás
Ami eljut az IC gyárba ... • … az a layout • “Szabványos” reprezentációk • CIF, • GDS2 Ezek ún. de facto ipari szabványok
Layout reprezentációk Áttekintés
Layout = maszkok geom. leírása • Leírásmódok: • alfanumerikus: • “emberi fogyasztásra” is alkalmas • ákár kézzel is írhatóak, editálhatóak (milliméter papír, kézi adatbevitel) • cél: egyszerű átvitel különböző programok, rendszerek között. Pl.: layout editor pattern generátor • CIF - Caltech Intermediate Format, GAELIC, EGL (M.o) • bináris: • belső ábrázolás mindig bináris • tömör • csak géppel olvasható • GDS2 file formátum • Fordítás a leírásmódok között pl.: GDS2 CIF
Layout = maszkok geom. leírása • Másik osztályozás: • struktúrált (makro-hierarchia) • áttekinthetőbb • reguláris layoutok előállítását nagyban segíti • tömörebb • többszörös makro-hívási mélység • egyes műveletek a struktúrált layoutleírásokon gyorsabban elvégezhetők • kifejtett (flat) • tipikusan maszkgeneráláshoz használják • Kifejtő program: struktúrált flat • Mind az alfanumerikus, mind a bináris reprezentáció lehet struktúrált, illetve kifejtett
Layout = maszkok geom. leírása • Layout: • 2D alakzatok halmaza • több ún. rajz síkon megadva • Rajz sík vagy réteg (layer): • logikai reprezentáció • adott szín a layout rajzon (képernyő, papírnyomat) egy technológiai lépés (foto)maszkja vagy egy pszeudó layer (nincs hozzá maszk) • Layout makro: • egy vagy több rajzsíkon létrehozott • alakzatok • körvonalrajzzal körülvett csoportja
Aktív zóna (ablaknyitó maszk a vékony oxidnak) Gate (poli-Si mintázat maszkja) Kontaktusok (ablaknyitó maszk az oxidon) S/D kivezetések (fémezés mintázat maszkja) Layout primitívek: egyszerű alakzatok
nMOS tranzisztor layout rajza: layout primitívek tényleges maszkoknak megfelelő rétegeken nMOS tranzisztor layout rajza + körvonalrjaz + pinek G nMOS D S nMOS tranzisztor makro: körvonalrajz, pinek rajza, feliratok: pszeudo rétegeken G Layout makrok - primitívekből
G nMOS D S G G D pMOS S G Layout makrok - makrokból és primitívekből
!GND out !VDD INV !GND in !VDD Layout makrok - makrokból és primitívekből Ez is tehát egy hierarchikus leírás. A kifejtés eredménye a hiavtkozott makrok és primitívek behelyettesítésevel előálló, csak layout primitíveket tartalmazó leírás. A pszeudó rétegeken lévő információt a végén elhagyjuk belőle.
Layout makrok - egyre jobban kifejtve: Level 1: két makrohívás (áramköri mag, tappancsgyűrű)
Layout makrok - egyre jobban kifejtve: Level 2: tappancsgyűrű részekre osztva
Layout makrok - egyre jobban kifejtve: Level 3: tappancsgyűrű tovább osztva, huzalozási csatornák, cellasorok
Layout makrok - egyre jobban kifejtve: Level 4: tapapancs cellák és standard cellák makrohivásai
Layout makrok - egyre jobban kifejtve: Level 7: teljesen kifejtett makrok
Layout makrok - egyre jobban kifejtve: Level 4: tranzisztorok, kontaktusok még makrohívással
Layout makrok - egyre jobban kifejtve: Level 6: standard cellák, kontaktusok teljesen kifejtve
Egy layout leíró file • CIF példa Kommentárok
Egy layout leíró file • CIF példa Inclue állományok
Egy layout leíró file • CIF példa Egység: 0.01 micron
Egy layout leíró file • CIF példa Alakzat megadása: L - layer
Egy layout leíró file • CIF példa Alakzat megadása: L - layer P - poligon
Egy layout leíró file • CIF példa • Nehezn áttekinthető. Olvashatóbb nyelvi példa: GAELIC Makrohívás: C - call
UNITS=MICRONS, GRID=1.0; • RECT - téglalap: RECT(layer_number)x,y:dx,dy; dy x, y dx • POLY - tetszőleges poligon, hosszú (long) forma: POLY(layer_number)L,x,y:dx1,dy1,dx2,dy2,... dxn,dyn; 3 4 n 2 x, y 1 GAELIC layout leírás - primitívek • File kezdete: háttérrács megadása Záródnia kell! Ha ortogonális a poligon, akkor minden második elem 0: short formátum
POLY - ortogonális poligon, rövid (short) forma: dy4 dyn dx3 dy2 x, y dx1 POLY(layer_number)S,x,y:dx1,dy2,dx3,dy4,...,dyn; • TRACK - csík (short/long formátum): x, y W TRACK(layer_number)W,S,x,y:dx1,dy2,dx3,dy4,...,dyn; GAELIC layout leírás - primitívek Wpáros kell legyen
Group definiálás NEWGROUP név; … ENDGROUP; Primitívek vagy korábbi group-ok hívása Makrohierarchia • Group “példányosítás” (hívás) GROUP név,x,y,transzformáció; Transzformáció: x tengelyre tükrözés: X y tengelyre tükrözés: Y forgatás 90 fokkal balra: R x, y GROUP inv 100, 200, XR; GAELIC layout leírás - makrok
dy ytimes dx x, y xtimes GAELIC layout leírás - makrok • Group “példányosítás” (hívás) ismétléssel GROUP név,x,y,transzformáció,X,xtimes,dx,Y,ytimes,dy; GROUP DFF 100,200,0,X,4,20,Y,2,15; Az ismétlési lehetőség kihasználásával egyszerűen tudunk reguláris layoutot kialakítani.
UNITS=MICRONS, GRID=1.0; NEWGOUP INVER; POLY(1) S,4,4:48,40,-16,-8,-24,32,8,16,-16,80; RECT(3) 0,20:56,8; POLY(3) S,0,40:32,28,8,16,-16,-20,-24,-24; .... RECT(5) 0,6:56,10; RECT(5) 0,70:56,10; ENDGROUP; .... GROUP INVER,10,10,0; .... FINISH; GAELIC layout leírás • Állomány vége FINISH;
1 3 5 5 2 1 EP HP 3 5 2 2 3 1 A belső leírás • Tömör kell legyen bináris • Jól kereshető kell legyen láncolt adatstruktúra (pl. gyűrű) adat = alakzat
3 1 5 5 3 1 17 2 3 5 2 5 1 1 EP EP HP HP 5 2 3 3 2 5 7 2 2 3 37 1 1 A belső leírás • Egyszerű módosíthatóság
5 1 3 1 5 31 2 5 2 5 1 1 EP EP HP HP 3 2 2 5 5 3 2 2 3 35 1 1 A belső leírás • Egyszerű módosíthatóság • Listákat (gyűrűket) alakíthatunk ki alakzatokból, group-okból, maszksíkokból, stb.
Az alakzatok belső reprezentációja • Csúcspont koordinátás (kontúros) leírás • Probléma a többszörösen öf. alakzat, mert az több kontúrt jelent. Sokszor felhasítják • Érdemes tárolni a befoglaló téglalapot és a speciális jelleget (pl. ort.poligon) • Lefedő alakzatos tárolás (téglalap, trapéz)
0 0 0 0 0 0 0 0 0 1 1 1 1 0 0 0 1 1 0 0 0 0 1 1 1 0 0 0 0 1 1 1 0 0 0 0 0 0 0 0 0 0 • Lényegi koordinátás bittérkép (variable grid) 0 0 0 0 0 0 0 1 1 0 0 0 1 0 0 0 1 1 0 0 0 0 0 0 0 Az alakzatok belső reprezentációja • Bittérképes leírás (bit-map)
Műveletek: • Logikai műveletek NEW_LAYER = LAYER1 AND LAYER2 NEW_LAYER = LAYER1 OR LAYER2 stb. • Bittérképes ábrázolás esetén könnyű megvalósítani. • Mire jók? Pl. layout-visszafejtésnél ún. felismerő rétegek létrehozása GATE = ACTIVE AND POLY
Műveletek: • Logikai műveletek, példa:
Műveletek: • Geometriai műveletek - pl. méretváltoztatás • Hízlalás • Fogyasztás • Gond a felhasított alakzatoknál • Egymásnak csak bizonyos korlátokkal az inverzei
A B C Műveletek: • Topológiai műveletek: C = CONTAIN(A,B); A C rétegre kerülnek a B réteg összes olyan alakzatai, amelyek A alakzataiba beleesnek
DISJUNCT OVERLAP INTERSECT CONTAIN Műveletek: • Topológiai műveletek:
Műveletek: • Ellenőrző műveletek: WIDTH(A) < 0.5 Az A réteg minden olyan alakzatát szolgáltatja, amely keskenyebb 0.5 egységnél SPACING (A,B) < 0.5 Az A réteg minden olyan alakzatát szolgáltatja, amely keskenyebb 0.5 egységnél
Az algoritmusokra épülő programok • Layout editor • Szimbolikus editor • layout kompaktor • DRC (tervezési szabályellenőrzés) • LvS (visszafejtés)
program DRC Layout leírás (CIF) hibageometriák hibajelzések Tervezési szabály leírás (technológiai file)