Mikroelektronikai tervezrendszerek sszefoglals Hierarchikus ramkrlers Top level design
- Slides: 53
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ó: BA_funkció + BB_funkció AA_funkció Cellakönyvtári elem
Áramkörkifejtés Hierarchia szintek Áramkörkifejtés = design flattening Top level design Hierarchikus design Részáramkörök Cella szintű funkciók Áramköri hierarchia-kifejtő program Flat design Cellák
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/mm 2, 4 mm 2 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
MPW chip gyártás Tervező 1 MPW szolgáltató Tervező 2 Tervező 3
MPW chip gyártás Tervezési szabályok, eszközparaméterek, cellakönyvtár IC gyár Chip layout-ok egyesítve Si szelet 10 -15 áramkörrel Tokozó üzem Tervező szoftver, design kit Tokozott IC-k MPW szolgáltató Tervező és felhasználó Chip layout Pucér chip-ek EDA vendor Tervező szoftver Tokozott IC
Ami eljut az IC gyárba. . . • … az a layout • “Szabványos” reprezentációk – CIF, – GDS 2 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ó GDS 2 file formátum • Fordítás a leírásmódok között pl. : GDS 2 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: – 2 D 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
Layout primitívek: egyszerű alakzatok 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 makrok - primitívekből n. MOS tranzisztor layout rajza: layout primitívek tényleges maszkoknak megfelelő rétegeken n. MOS tranzisztor layout rajza + körvonalrjaz + pinek G D n. MOS G S n. MOS tranzisztor makro: körvonalrajz, pinek rajza, feliratok: pszeudo rétegeken
Layout makrok - makrokból és primitívekből G G D n. MOS G S D p. MOS G S
Layout makrok - makrokból és primitívekből !GND out !VDD INV !GND in !VDD 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 5
Layout makrok - egyre jobban kifejtve: Level 6
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 Makrohívás: C - call • Nehezn áttekinthető. Olvashatóbb nyelvi példa: GAELIC
GAELIC layout leírás - primitívek • File kezdete: háttérrács megadása 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: dx 1, dy 1, dx 2, dy 2, . . . dxn, dyn; Záródnia kell! Ha ortogonális a poligon, akkor minden második elem 0: short formátum 3 n x, y 4 2 1
GAELIC layout leírás - primitívek • POLY - ortogonális poligon, rövid (short) dy 4 forma: dyn x, y dx 3 dy 2 dx 1 POLY(layer_number)S, x, y: dx 1, dy 2, dx 3, dy 4, . . . , dyn; • TRACK - csík (short/long formátum): x, y W páros kell legyen W TRACK(layer_number)W, S, x, y: dx 1, dy 2, dx 3, dy 4, . . . , dyn;
GAELIC layout leírás - makrok • Group definiálás NEWGROUP név; Primitívek vagy korábbi group-ok hívása … ENDGROUP; 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 GROUP inv 100, 200, XR; x, y
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; dx ytimes dy x, y xtimes 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.
GAELIC layout leírás • Állomány vége FINISH; 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, -20, -24; . . RECT(5) 0, 6: 56, 10; RECT(5) 0, 70: 56, 10; ENDGROUP; . . GROUP INVER, 10, 0; . . FINISH;
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 HP EP 2 3 1 5 1 2 1 3 5 2 3 5
A belső leírás • Egyszerű módosíthatóság HP EP 2 3 37 1 5 1 2 1 17 3 5 2 3 5 1 3 7
A belső leírás • Egyszerű módosíthatóság HP EP 2 3 35 1 2 1 3 31 5 2 3 5 • 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)
Az alakzatok belső reprezentációja • Bittérképes leírás (bit-map) 0 0 0 0 0 1 1 0 0 0 0 1 1 1 0 0 0 0 0 • Lényegi koordinátás bittérkép (variable grid) 0 0 0 0 1 1 0 0 0 0
Műveletek: • Logikai műveletek NEW_LAYER = LAYER 1 AND LAYER 2 NEW_LAYER = LAYER 1 OR LAYER 2 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
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 A B C
Műveletek: • Topológiai műveletek: DISJUNCT OVERLAP INTERSECT CONTAIN
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) Lv. S (visszafejtés)
DRC Layout leírás (CIF) program Tervezési szabály leírás (technológiai file) hibageometriák hibajelzések
Példa terv. szabály leírására Rétegleírás szakasz AKTIV is POLY, RECT mask 1 KONT is RECT mask 4 A 1 is POLY, RECT mask 1 eredeti származtatott GATE = AKTIV*POLYSI D = AKTIV ‘ - 2. 0 (metszet) (zsugor)
Példa terv. szabály leírására Szabály szakasz RULE ACSIK FAIL ‘Tul keskeny’ if WIDTH(AKTIV) < 0. 8 END RULE ATAV FAIL ‘Tul kozel’ END if SPACING(AKTIV, A 1) < 0. 8
Példa terv. szabály leírására Szabály szakasz RULE KONTPOLI FAIL ‘Nem joo ’ if CONTAIN (POLYSI, KONT) and CLEARANCE (KONT, POLYSI) < 0. 2 END
- How to create your own top level domain
- Python top level
- Top level management definition
- Top level management
- Top level view of computer components
- Top level view of computer components
- Computer components top level view
- What is top level management
- Organisasi komputer adalah
- Modular design programming
- Top down design python
- Top down design examples
- Top down design creo training
- Top down design example
- Top down network design
- Network design and security
- Top 10 mistakes in web design
- Dxx18
- Molecular level vs cellular level
- Isis protocol
- Significance and confidence level
- Isis level 1 vs level 2
- Significance level and confidence level
- Confidence level and significance level
- Data flow diagram level 1 2 3
- Security level 0
- Costa level question
- Instruction level parallelism vs thread level parallelism
- Low-level thinking in high-level shading languages
- N-level pfp requirements
- Which diagram describes "who can do what in a system".
- Ncfe level 2 graphic design
- Level design fundamentals
- Principles of level design
- Level design principles
- Component level design example
- Component-level design
- Level design process
- Transform mapping in software engineering
- Vertigo
- Component-level design example
- Aqa a level art and design
- Multiplayer level design
- Electronic system level design
- Aqa fine art gcse
- Art and design a level aqa
- High level conceptual data model
- Wjec eduqas design and technology
- Design technology a level
- Electronic system level design
- Transistor level design
- 2019 visual communication design exam
- What is form in system analysis and design
- A decorative design or pattern