mikroelektronikai tervezőrendszerek

53
Mikroelektronika i tervezőrendszere k Összefoglalás

Upload: raleigh

Post on 21-Jan-2016

38 views

Category:

Documents


0 download

DESCRIPTION

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. - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: Mikroelektronikai tervezőrendszerek

Mikroelektronikai tervezőrendszerekÖsszefoglalás

Page 2: Mikroelektronikai tervezőrendszerek

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

Á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

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

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

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

MPW chip gyártás

MPW szolgáltató

Tervező 3

Tervező 2

Tervező 1

Page 8: Mikroelektronikai tervezőrendszerek

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

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

Layout reprezentációkÁttekintés

Page 11: Mikroelektronikai tervezőrendszerek

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

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

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

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

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

Layout makrok - makrokból és primitívekből

nMOSD S

G

G

pMOSD S

G

G

Page 17: Mikroelektronikai tervezőrendszerek

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

Layout makrok - egyre jobban kifejtve:

Level 1: két makrohívás (áramköri mag, tappancsgyűrű)

Page 19: Mikroelektronikai tervezőrendszerek

Layout makrok - egyre jobban kifejtve:

Level 2: tappancsgyűrű részekre osztva

Page 20: Mikroelektronikai tervezőrendszerek

Layout makrok - egyre jobban kifejtve:

Level 3: tappancsgyűrű tovább osztva, huzalozási csatornák, cellasorok

Page 21: Mikroelektronikai tervezőrendszerek

Layout makrok - egyre jobban kifejtve:

Level 4: tapapancs cellák és standard cellák makrohivásai

Page 22: Mikroelektronikai tervezőrendszerek

Layout makrok - egyre jobban kifejtve:

Level 5

Page 23: Mikroelektronikai tervezőrendszerek

Layout makrok - egyre jobban kifejtve:

Level 6

Page 24: Mikroelektronikai tervezőrendszerek

Layout makrok - egyre jobban kifejtve:

Level 7: teljesen kifejtett makrok

Page 25: Mikroelektronikai tervezőrendszerek

Layout makrok - egyre jobban kifejtve:

Level 4: tranzisztorok, kontaktusok még makrohívással

Page 26: Mikroelektronikai tervezőrendszerek

Layout makrok - egyre jobban kifejtve:

Level 6: standard cellák, kontaktusok teljesen kifejtve

Page 27: Mikroelektronikai tervezőrendszerek

Egy layout leíró file• CIF példa

Kommentárok

Page 28: Mikroelektronikai tervezőrendszerek

Egy layout leíró file• CIF példa

Inclue állományok

Page 29: Mikroelektronikai tervezőrendszerek

Egy layout leíró file• CIF példa

Egység: 0.01 micron

Page 30: Mikroelektronikai tervezőrendszerek

Egy layout leíró file• CIF példa

Alakzat megadása:

L - layer

Page 31: Mikroelektronikai tervezőrendszerek

Egy layout leíró file• CIF példa

Alakzat megadása:

L - layer

P - poligon

Page 32: Mikroelektronikai tervezőrendszerek

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

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

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

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

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

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

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

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

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

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

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

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

Műveletek:• Logikai műveletek, példa:

Page 45: Mikroelektronikai tervezőrendszerek

• 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

• 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

• Topológiai műveletek:Műveletek:

DISJUNCT OVERLAP INTERSECT CONTAIN

Page 48: Mikroelektronikai tervezőrendszerek

• 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

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

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

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

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

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