Mikroelektronikai tervezőrendszerek
description
Transcript of Mikroelektronikai tervezőrendszerek
![Page 1: Mikroelektronikai tervezőrendszerek](https://reader035.fdocument.pub/reader035/viewer/2022070415/56814fcd550346895dbd8fd1/html5/thumbnails/1.jpg)
Mikroelektronikai tervezőrendszerekÖsszefoglalás
![Page 2: Mikroelektronikai tervezőrendszerek](https://reader035.fdocument.pub/reader035/viewer/2022070415/56814fcd550346895dbd8fd1/html5/thumbnails/2.jpg)
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
Cellakönyvtári elem
![Page 3: Mikroelektronikai tervezőrendszerek](https://reader035.fdocument.pub/reader035/viewer/2022070415/56814fcd550346895dbd8fd1/html5/thumbnails/3.jpg)
Áramkörkifejtés
Áramkörkifejtés = design flattening
Cellák
Flat design
Áramköri hierarchia-kifejtő program
Top level design
Részáramkörök
Részáramkörök
Cella szintű funkciók
Hierarchikus design
Hie
rarc
hia
szi
nte
k
![Page 4: Mikroelektronikai tervezőrendszerek](https://reader035.fdocument.pub/reader035/viewer/2022070415/56814fcd550346895dbd8fd1/html5/thumbnails/4.jpg)
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
![Page 5: Mikroelektronikai tervezőrendszerek](https://reader035.fdocument.pub/reader035/viewer/2022070415/56814fcd550346895dbd8fd1/html5/thumbnails/5.jpg)
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
![Page 6: Mikroelektronikai tervezőrendszerek](https://reader035.fdocument.pub/reader035/viewer/2022070415/56814fcd550346895dbd8fd1/html5/thumbnails/6.jpg)
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ás5 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
![Page 7: Mikroelektronikai tervezőrendszerek](https://reader035.fdocument.pub/reader035/viewer/2022070415/56814fcd550346895dbd8fd1/html5/thumbnails/7.jpg)
MPW chip gyártás
MPW szolgáltató
Tervező 3
Tervező 2
Tervező 1
![Page 8: Mikroelektronikai tervezőrendszerek](https://reader035.fdocument.pub/reader035/viewer/2022070415/56814fcd550346895dbd8fd1/html5/thumbnails/8.jpg)
MPW chip gyártás
MPW szolgáltató
Tervező és felhasználó
IC gyár
Tokozó üzem
EDA vendorTervező szoftver
Tervező szoftver, design kit
Tervezési szabályok, eszközparaméterek, cellakönyvtár
Chip layout
Chip layout-ok egyesítve
Si szelet 10-15 áramkörrel
Pucér chip-ek
Tokozott IC-k
Tokozott IC
![Page 9: Mikroelektronikai tervezőrendszerek](https://reader035.fdocument.pub/reader035/viewer/2022070415/56814fcd550346895dbd8fd1/html5/thumbnails/9.jpg)
Ami eljut az IC gyárba ...
• … az a layout• “Szabványos” reprezentációk
– CIF, – GDS2Ezek ún. de facto ipari szabványok
![Page 10: Mikroelektronikai tervezőrendszerek](https://reader035.fdocument.pub/reader035/viewer/2022070415/56814fcd550346895dbd8fd1/html5/thumbnails/10.jpg)
Layout reprezentációkÁttekintés
![Page 11: Mikroelektronikai tervezőrendszerek](https://reader035.fdocument.pub/reader035/viewer/2022070415/56814fcd550346895dbd8fd1/html5/thumbnails/11.jpg)
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
![Page 12: Mikroelektronikai tervezőrendszerek](https://reader035.fdocument.pub/reader035/viewer/2022070415/56814fcd550346895dbd8fd1/html5/thumbnails/12.jpg)
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
![Page 13: Mikroelektronikai tervezőrendszerek](https://reader035.fdocument.pub/reader035/viewer/2022070415/56814fcd550346895dbd8fd1/html5/thumbnails/13.jpg)
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
![Page 14: Mikroelektronikai tervezőrendszerek](https://reader035.fdocument.pub/reader035/viewer/2022070415/56814fcd550346895dbd8fd1/html5/thumbnails/14.jpg)
Layout primitívek: egyszerű alakzatok
Gate (poli-Si mintázat maszkja)
Kontaktusok (ablaknyitó maszk az oxidon)
S/D kivezetések (fémezés mintázat maszkja)
Aktív zóna (ablaknyitó maszk a vékony oxidnak)
![Page 15: Mikroelektronikai tervezőrendszerek](https://reader035.fdocument.pub/reader035/viewer/2022070415/56814fcd550346895dbd8fd1/html5/thumbnails/15.jpg)
nMOS tranzisztor layout rajza: layout primitívek tényleges maszkoknak megfelelő rétegeken
nMOS tranzisztor layout rajza + körvonalrjaz + pinek
nMOS tranzisztor makro:
körvonalrajz, pinek rajza, feliratok: pszeudo rétegeken
nMOSD S
G
G
Layout makrok - primitívekből
![Page 16: Mikroelektronikai tervezőrendszerek](https://reader035.fdocument.pub/reader035/viewer/2022070415/56814fcd550346895dbd8fd1/html5/thumbnails/16.jpg)
Layout makrok - makrokból és primitívekből
nMOSD S
G
G
pMOSD S
G
G
![Page 17: Mikroelektronikai tervezőrendszerek](https://reader035.fdocument.pub/reader035/viewer/2022070415/56814fcd550346895dbd8fd1/html5/thumbnails/17.jpg)
INV
out
in
!GND
!GND
!VDD
!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.
![Page 18: Mikroelektronikai tervezőrendszerek](https://reader035.fdocument.pub/reader035/viewer/2022070415/56814fcd550346895dbd8fd1/html5/thumbnails/18.jpg)
Layout makrok - egyre jobban kifejtve:
Level 1: két makrohívás (áramköri mag, tappancsgyűrű)
![Page 19: Mikroelektronikai tervezőrendszerek](https://reader035.fdocument.pub/reader035/viewer/2022070415/56814fcd550346895dbd8fd1/html5/thumbnails/19.jpg)
Layout makrok - egyre jobban kifejtve:
Level 2: tappancsgyűrű részekre osztva
![Page 20: Mikroelektronikai tervezőrendszerek](https://reader035.fdocument.pub/reader035/viewer/2022070415/56814fcd550346895dbd8fd1/html5/thumbnails/20.jpg)
Layout makrok - egyre jobban kifejtve:
Level 3: tappancsgyűrű tovább osztva, huzalozási csatornák, cellasorok
![Page 21: Mikroelektronikai tervezőrendszerek](https://reader035.fdocument.pub/reader035/viewer/2022070415/56814fcd550346895dbd8fd1/html5/thumbnails/21.jpg)
Layout makrok - egyre jobban kifejtve:
Level 4: tapapancs cellák és standard cellák makrohivásai
![Page 22: Mikroelektronikai tervezőrendszerek](https://reader035.fdocument.pub/reader035/viewer/2022070415/56814fcd550346895dbd8fd1/html5/thumbnails/22.jpg)
Layout makrok - egyre jobban kifejtve:
Level 5
![Page 23: Mikroelektronikai tervezőrendszerek](https://reader035.fdocument.pub/reader035/viewer/2022070415/56814fcd550346895dbd8fd1/html5/thumbnails/23.jpg)
Layout makrok - egyre jobban kifejtve:
Level 6
![Page 24: Mikroelektronikai tervezőrendszerek](https://reader035.fdocument.pub/reader035/viewer/2022070415/56814fcd550346895dbd8fd1/html5/thumbnails/24.jpg)
Layout makrok - egyre jobban kifejtve:
Level 7: teljesen kifejtett makrok
![Page 25: Mikroelektronikai tervezőrendszerek](https://reader035.fdocument.pub/reader035/viewer/2022070415/56814fcd550346895dbd8fd1/html5/thumbnails/25.jpg)
Layout makrok - egyre jobban kifejtve:
Level 4: tranzisztorok, kontaktusok még makrohívással
![Page 26: Mikroelektronikai tervezőrendszerek](https://reader035.fdocument.pub/reader035/viewer/2022070415/56814fcd550346895dbd8fd1/html5/thumbnails/26.jpg)
Layout makrok - egyre jobban kifejtve:
Level 6: standard cellák, kontaktusok teljesen kifejtve
![Page 27: Mikroelektronikai tervezőrendszerek](https://reader035.fdocument.pub/reader035/viewer/2022070415/56814fcd550346895dbd8fd1/html5/thumbnails/27.jpg)
Egy layout leíró file• CIF példa
Kommentárok
![Page 28: Mikroelektronikai tervezőrendszerek](https://reader035.fdocument.pub/reader035/viewer/2022070415/56814fcd550346895dbd8fd1/html5/thumbnails/28.jpg)
Egy layout leíró file• CIF példa
Inclue állományok
![Page 29: Mikroelektronikai tervezőrendszerek](https://reader035.fdocument.pub/reader035/viewer/2022070415/56814fcd550346895dbd8fd1/html5/thumbnails/29.jpg)
Egy layout leíró file• CIF példa
Egység: 0.01 micron
![Page 30: Mikroelektronikai tervezőrendszerek](https://reader035.fdocument.pub/reader035/viewer/2022070415/56814fcd550346895dbd8fd1/html5/thumbnails/30.jpg)
Egy layout leíró file• CIF példa
Alakzat megadása:
L - layer
![Page 31: Mikroelektronikai tervezőrendszerek](https://reader035.fdocument.pub/reader035/viewer/2022070415/56814fcd550346895dbd8fd1/html5/thumbnails/31.jpg)
Egy layout leíró file• CIF példa
Alakzat megadása:
L - layer
P - poligon
![Page 32: Mikroelektronikai tervezőrendszerek](https://reader035.fdocument.pub/reader035/viewer/2022070415/56814fcd550346895dbd8fd1/html5/thumbnails/32.jpg)
Egy layout leíró file• CIF példa
• Nehezn áttekinthető. Olvashatóbb nyelvi példa: GAELIC
Makrohívás:
C - call
![Page 33: Mikroelektronikai tervezőrendszerek](https://reader035.fdocument.pub/reader035/viewer/2022070415/56814fcd550346895dbd8fd1/html5/thumbnails/33.jpg)
GAELIC layout leírás - primitívek• File kezdete: háttérrács megadása
UNITS=MICRONS, GRID=1.0;
RECT(layer_number)x,y:dx,dy;
• RECT - téglalap:
dx
dy
x, y
• POLY - tetszőleges poligon, hosszú (long) forma:
POLY(layer_number)L,x,y:dx1,dy1,dx2,dy2,... dxn,dyn;
x, y1
2
3 4nHa ortogonális a poligon, akkor
minden második elem 0:
short formátum
Záródnia kell!
![Page 34: Mikroelektronikai tervezőrendszerek](https://reader035.fdocument.pub/reader035/viewer/2022070415/56814fcd550346895dbd8fd1/html5/thumbnails/34.jpg)
GAELIC layout leírás - primitívek• POLY - ortogonális poligon, rövid (short) forma:
POLY(layer_number)S,x,y:dx1,dy2,dx3,dy4,...,dyn;
x, ydx1
dyn
dy2
dx3dy4
• TRACK - csík (short/long formátum):x, y
W
TRACK(layer_number)W,S,x,y:dx1,dy2,dx3,dy4,...,dyn;
W páros kell legyen
![Page 35: Mikroelektronikai tervezőrendszerek](https://reader035.fdocument.pub/reader035/viewer/2022070415/56814fcd550346895dbd8fd1/html5/thumbnails/35.jpg)
GAELIC layout leírás - makrok• 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ó;
x, y
Transzformáció: x tengelyre tükrözés: X y tengelyre tükrözés: Y forgatás 90 fokkal balra: R
GROUP inv 100, 200, XR;
![Page 36: Mikroelektronikai tervezőrendszerek](https://reader035.fdocument.pub/reader035/viewer/2022070415/56814fcd550346895dbd8fd1/html5/thumbnails/36.jpg)
GAELIC layout leírás - makrok
• Group “példányosítás” (hívás) ismétlésselGROUP név,x,y,transzformáció,X,xtimes,dx,Y,ytimes,dy;
x, y
dx
dy
xtimes
ytimes
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.
![Page 37: Mikroelektronikai tervezőrendszerek](https://reader035.fdocument.pub/reader035/viewer/2022070415/56814fcd550346895dbd8fd1/html5/thumbnails/37.jpg)
GAELIC layout leírás
• Állomány végeFINISH;
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;
![Page 38: Mikroelektronikai tervezőrendszerek](https://reader035.fdocument.pub/reader035/viewer/2022070415/56814fcd550346895dbd8fd1/html5/thumbnails/38.jpg)
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
2 3
1
EPHP
1 5
33 2
5
5 1
2
![Page 39: Mikroelektronikai tervezőrendszerek](https://reader035.fdocument.pub/reader035/viewer/2022070415/56814fcd550346895dbd8fd1/html5/thumbnails/39.jpg)
A belső leírás• Egyszerű módosíthatóság
2 3
1
EPHP
1 5
33 2
5
5 1
2
2 37
1
EPHP
17 5
33 2
5
5 1
2
1 3
7
![Page 40: Mikroelektronikai tervezőrendszerek](https://reader035.fdocument.pub/reader035/viewer/2022070415/56814fcd550346895dbd8fd1/html5/thumbnails/40.jpg)
A belső leírás• Egyszerű módosíthatóság
2 3
1
EPHP
1 5
33 2
5
5 1
2
2 35
1
EPHP
1 5
331 2
5
5 1
2
• Listákat (gyűrűket) alakíthatunk ki alakzatokból, group-okból, maszksíkokból, stb.
![Page 41: Mikroelektronikai tervezőrendszerek](https://reader035.fdocument.pub/reader035/viewer/2022070415/56814fcd550346895dbd8fd1/html5/thumbnails/41.jpg)
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)
![Page 42: Mikroelektronikai tervezőrendszerek](https://reader035.fdocument.pub/reader035/viewer/2022070415/56814fcd550346895dbd8fd1/html5/thumbnails/42.jpg)
Az alakzatok belső reprezentációja• Bittérképes leírás (bit-map)
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
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
• Lényegi koordinátás bittérkép (variable grid)
![Page 43: Mikroelektronikai tervezőrendszerek](https://reader035.fdocument.pub/reader035/viewer/2022070415/56814fcd550346895dbd8fd1/html5/thumbnails/43.jpg)
Műveletek:• Logikai műveletek
NEW_LAYER = LAYER1 AND LAYER2NEW_LAYER = LAYER1 OR LAYER2stb.
– 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
![Page 44: Mikroelektronikai tervezőrendszerek](https://reader035.fdocument.pub/reader035/viewer/2022070415/56814fcd550346895dbd8fd1/html5/thumbnails/44.jpg)
Műveletek:• Logikai műveletek, példa:
![Page 45: Mikroelektronikai tervezőrendszerek](https://reader035.fdocument.pub/reader035/viewer/2022070415/56814fcd550346895dbd8fd1/html5/thumbnails/45.jpg)
• 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
Műveletek:
![Page 46: Mikroelektronikai tervezőrendszerek](https://reader035.fdocument.pub/reader035/viewer/2022070415/56814fcd550346895dbd8fd1/html5/thumbnails/46.jpg)
• 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
Műveletek:
A B C
![Page 47: Mikroelektronikai tervezőrendszerek](https://reader035.fdocument.pub/reader035/viewer/2022070415/56814fcd550346895dbd8fd1/html5/thumbnails/47.jpg)
• Topológiai műveletek:Műveletek:
DISJUNCT OVERLAP INTERSECT CONTAIN
![Page 48: Mikroelektronikai tervezőrendszerek](https://reader035.fdocument.pub/reader035/viewer/2022070415/56814fcd550346895dbd8fd1/html5/thumbnails/48.jpg)
• Ellenőrző műveletek: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
![Page 49: Mikroelektronikai tervezőrendszerek](https://reader035.fdocument.pub/reader035/viewer/2022070415/56814fcd550346895dbd8fd1/html5/thumbnails/49.jpg)
Az algoritmusokra épülő programok• Layout editor• Szimbolikus editor• layout kompaktor• DRC (tervezési szabályellenőrzés)• LvS (visszafejtés)
![Page 50: Mikroelektronikai tervezőrendszerek](https://reader035.fdocument.pub/reader035/viewer/2022070415/56814fcd550346895dbd8fd1/html5/thumbnails/50.jpg)
DRC
program
Layout leírás (CIF)
Tervezési szabály leírás
(technológiai file)
hibageometriák
hibajelzések
![Page 51: Mikroelektronikai tervezőrendszerek](https://reader035.fdocument.pub/reader035/viewer/2022070415/56814fcd550346895dbd8fd1/html5/thumbnails/51.jpg)
Példa terv. szabály leírására
AKTIV is POLY,RECT mask 1KONT is RECT mask 4A1 is POLY,RECT mask 1
GATE = AKTIV*POLYSI (metszet)D = AKTIV ‘ - 2.0 (zsugor)
Rétegleírás szakasz
eredeti
származtatott
![Page 52: Mikroelektronikai tervezőrendszerek](https://reader035.fdocument.pub/reader035/viewer/2022070415/56814fcd550346895dbd8fd1/html5/thumbnails/52.jpg)
Példa terv. szabály leírására
RULE ACSIKFAIL ‘Tul keskeny’ if WIDTH(AKTIV) < 0.8
END
RULE ATAVFAIL ‘Tul kozel’ if SPACING(AKTIV,A1) < 0.8
END
Szabály szakasz
![Page 53: Mikroelektronikai tervezőrendszerek](https://reader035.fdocument.pub/reader035/viewer/2022070415/56814fcd550346895dbd8fd1/html5/thumbnails/53.jpg)
Példa terv. szabály leírására
RULE KONTPOLIFAIL ‘Nem joo ’
if CONTAIN (POLYSI,KONT)and CLEARANCE (KONT, POLYSI) < 0.2
END
Szabály szakasz