IC-k számítógépes tervezése Budapesti Mûszaki Egyetem Elektronikus Eszközök Tanszéke 1999 november
IC-k számítógépes tervezése IC: a számítógépes tervezés “húzóágazata”. Mert: ki nem próbálható ki nem próbálható ember által át nem fogható bonyolultság ember által át nem fogható bonyolultság Témáink: szimuláció tervezés ellenõrzés
1. Szimuláció Az IC tervezéssel kapcsolatosan: technológiai fizikai áramköri logikai viselkedési
Fizikai szimuláció Félvezetõeszközök belsõ mûködése: elektronok és lyukak folytonossági egyenlete, Poisson egyenlet… Félvezetõeszközök belsõ mûködése: elektronok és lyukak folytonossági egyenlete, Poisson egyenlet… Vezeték késleltetés és csatolások: Maxwell egyenletek, 3D térszámítás… Vezeték késleltetés és csatolások: Maxwell egyenletek, 3D térszámítás… Hõelvezetés az IC chiprõl: Laplace egyenlet, 3D térszámítás... Hõelvezetés az IC chiprõl: Laplace egyenlet, 3D térszámítás...
Fizikai szimuláció Például a termikus szimuláció: chip és tok vizsgálata Egy tok fele, a mûanyagház nem látható A teljes tok
Fizikai szimuláció Például a termikus szimuláció: chip és tok vizsgálata A modell (kerámiatok 1/4-e) Ál-színes eredmény
Áramköri szimuláció Az IC tervezõ mindennapos feladata analóg, mixed mode: feltétlenül, minden esetben analóg, mixed mode: feltétlenül, minden esetben digitális: a cellakönyvtár tervezésekor digitális: a cellakönyvtár tervezésekor BEMENET: az áramkör kapcsolása (netlist) KIMENET: feszültségek, áramok, hullámformák, frekvenciamenet “alkatrész szintû, “component level”
Áramköri szimuláció Osztályozás: a.) lineáris/nemlineáris a.) lineáris/nemlineáris b.) d.c. (stacionárius) b.) d.c. (stacionárius) a.c. kisjelû (frekvencia-tartomány) a.c. kisjelû (frekvencia-tartomány) tranziens (idõ-tartomány) tranziens (idõ-tartomány) zaj zaj elektro-termikus elektro-termikus Lényeges részek: megoldó algoritmus alkatrész modellek felhasználói interface Kvázi-szabvány: SPICE
Áramköri szimuláció a megoldó algoritmus Sokismeretlenes, nemlineáris egyenlet (diff.egyenlet) rendszer A megoldás mára letisztult: Csomóponti potenciál módszer Newton-Raphson iteráció Reverse-Euler integrálás Sparse matrix módszerek
Áramköri szimuláció az alkatrész modellek #define MODCOD (*cat0) /* a modell-változat kódja (0) */ #define VT (*cat1) /* küszöbfeszültség */ #define I0M (*cat2) /* áramállandó a W=L esetre */ #define COX (*cat3) /* fajlagos oxidkapacitás */ #define CDIF (*cat4) /* source-drain parazita kapacitás*/ Topológia Modell egyenletek Modell paraméterek
Áramköri szimuláció az alkatrész modellek Meghatározzák a szimuláció pontosságát, idejét Meghatározzák a szimuláció pontosságát, idejét A méretcsökkenéssel újabb és újabb kihívás A méretcsökkenéssel újabb és újabb kihívás Modellparaméter karbantartás: jellegzetes probléma Modellparaméter karbantartás: jellegzetes probléma A MODELLEK Modell szintek pl. LEVEL2 - LEVEL6... /SPICE
Áramköri szimuláció a felhasználói interface Ma általában grafikus, pl.:
Logikai szimuláció Grafikus feladat bevitel
Logikai szimuláció Eredményközlés: hullámforma reprezentáció
2. Az IC tervezés folyamata “Top-down” lépéssor: “Bottom-up” lépéssor: rendszer specifikáció teljes rendszer layout hardware leírás (pl. VHDL) (elrendezés, huzalozás) strukturális leírás (log. kapuk) makrocellák layoutja kapuk áramkörei (elrendezés, huzalozás) kapuk layoutja Megfigyelendõ a HIERARCHIA!
IC tervezés: példa a silicon compilerre S=(A B) CIN COUT=AB+A.CIN+B.CIN= AB. A.CIN. B.CIN Part fulladd[a,b,cin] -> s,cout xor[xor[a,b],cin] -> s nand[nand[a,b],nand[a,cin],nand[b,cin]] -> cout End
IC tervezés: példa a silicon compilerre Part adder (n) [x(0:n-1),y(0:n-1),carryin] -> z(0:n-1),carryout Integer i Signal carry (0:n) carryin -> carry(0) carryin -> carry(0) For i=0,n-1 Cycle fulladd[x(i),y(i),carry(i)] -> z(i),carry(i+1) fulladd[x(i),y(i),carry(i)] -> z(i),carry(i+1)Repeat carry(n) ->carryout carry(n) ->carryoutEnd Az „instance”: adder (16) [op1(0:15),op2(0:15),Zero] -> res(0:15),overfl
2. Az IC tervezés folyamata Megtakarítható: kapuk, alegységek áramköri és layout tervezése: KÖNYVTÁR -ban rendelkezésre állnak! Silicon compiler-ek “Open” rendszerek Szabványos formátumok: VHDL, SPICE-netlist, CIF, GDSII stb.
2. Az IC tervezés folyamata Silicon compiler segítségével készült layout
2. Az IC tervezés folyamata Composer Place & Route Simulation Compactor Layout Synthetizer Layout Editor Abstract Generator A CADENCE OPUS rendszer standard moduljai
2. Az IC tervezés folyamata A CADENCE OPUS rendszer standard moduljai n Composer: grafikus áramkörszerkesztõ (alkatrészek szimbólumokkal, hierarchikus szerkesztés) n Layout-editor: full custom tervezéshez n Layout synthesizer: a Composerrel tervezett kap- csolási rajzhoz layout generálása n Compactor: layout tömörítõ n Abstract generator: cell layoutokhoz méret és kapcsolódási információk elõállítása n Place & Route: elhelyezés, huzalozás n Simulation: beépített szimulátorok
3. Ellenõrzõ programok a.) Tervezési szabály ellenõrzés “szintaktikus kontroll” “szintaktikus kontroll” b.) Layout visszafejtés “szemantikus kontroll” “szemantikus kontroll”
Tervezési szabály ellenõrzés DRC = Design Rules Check A tervezési szabályok jellege: szabály/processz IGEN FONTOS! Felelõsség vállalási interfész DRC program input: maszk leírás szabály leírás output: hibajelzések A “lambdás” tervezés
Layout visszafejtés Maszk visszafejtés, layout extrakció Az áramköri (logikai) leírás visszaállítása a maszk rajzolatból. Célok: ellenõrzés (a kívánt áramkört ábrázolja-e a maszk? maszk? elektromos paraméter megállapítás (vezeték elektromos paraméter megállapítás (vezeték kapacitás,tranzisztor áram-állandó...) kapacitás,tranzisztor áram-állandó...) Az utóbbi alapján: post-layout szimuláció