Logi-termikus szimuláció sztenderd tervező rendszerekben Timár András Témavezető: Dr. Rencz Márta, egyetemi tanár BME, Elektronikus Eszközök Tanszéke Doktori értekezés nyilvános vitája Budapest, 2013. december 4. Timár András Logi-termikus szimuláció 2013. december 4.
Célkitűzések, motiváció A melegedés megváltoztatja a működést az elektromos áramkörökben, ezzel már tervezéskor számolni kell! Az elektro-termikus szimuláció több absztrakciós szinten végezhető eszköz szint áramkör szint rendszer szint 1 tranzisztor 2-10 tranzisztor 10 000 kapu Jelenleg a logikai szimulátorok nem veszik figyelembe az eszköz hőmérsékletét és hőtermelését logi-termikus szimuláció. Szükséges a modern mikroelektronikai áramkörök termikus és logikai vizsgálata EDA (Electronic Design Automation) környezetben. FP7-es keretrendszerbeli THERMINATOR integrált projekt Bevezetés Logi-termikus szimuláció 2
Logi-termikus szimuláció EDA környezetben EDA Logi-termikus szimuláció Logi-termikus szimuláció 3
1. tézis Tézis Új módszert és erre épülő szimulátort dolgoztam ki korszerű sztenderd cellás, digitális integrált áramkörök logi-termikus szimulációjára. A logi-termikus szimuláció a digitális integrált áramkörök cella szintű logikai és termikus együttes szimulációjára ad lehetőséget. A szimuláció során a pillanatnyi teljesítmény-eloszlást, mint folyamatosan változó gerjesztést csatolom egy termikus szimulátorba. A módszer segítségével az áramkör felületén működés közben kialakuló és változó hőmérséklet-eloszlás nyomon követhető, és a kiugróan magas hőmérsékletű területek (hot-spotok) felderíthetőek. Két új módszert dolgoztam ki a logi-termikus szimulációk gyorsítására, melyek együttesen és egymástól függetlenül is alkalmazhatóak. Kapcsolódó publikációk: [J1],[C1,C2,C3] EDA Logi-termikus szimuláció 1. tézis 4
1.1. altézis Altézis Kidolgoztam egy modern EDA (Electronic Design Automation) környezetekhez illeszkedő, szabványos, logi-termikus elven működő szimulátort. A szimulátor a fogyasztások és időzítések meghatározására olyan adatbázist használ, amely a kvantumfizikai hatásokat is figyelembe veszi. A logikai és termikus szimulátorok összekapcsolása az általam kidolgozott kommunikációs eszköz segítségével egy hardver leíró nyelv szabványos illesztő felületén keresztül történik. A kidolgozott módszer szabványos interfészeken keresztül kommunikál az ipari logikai szimulátorokkal, szabványos bemeneti- és kimeneti fájlformátumokkal dolgozik. A módszer tetszőleges EDA környezethez illeszthető. Kapcsolódó publikációk: [J1,J2,J3],[C4,C5,C6] EDA Logi-termikus szimuláció 1.1. altézis 5
A logi-termikus szimuláció EDA Logi-termikus szimuláció 1.1. altézis 6
A logi-termikus szimuláció EDA Logi-termikus szimuláció 1.1. altézis 6
A logi-termikus szimuláció EDA Logi-termikus szimuláció 1.1. altézis 6
A logi-termikus szimuláció EDA Logi-termikus szimuláció 1.1. altézis 6
Verilog PLI m o d u l e pli ; Verilog i n i t i a l $celltherm (); e n d m o d u l e 1. kódrészlet. Verilog kód # i n c l u d e < veriuser.h> # i n c l u d e < acc_user.h> C kód PLI_INT32 hello ( PLI_INT32 data, PLI_INT32 reason ) { io_printf (" Hello CellTherm!"); r e t u r n 0; } s_tfcell veriusertfs [] = { { usertask, 0, 0, 0, hello, 0, " $celltherm "}, {0} /* last entry must be 0 */ }; v o i d init_usertfs () { p_tfcell usertf = veriusertfs ; w h i l e ( usertf -> type ) mti_registerusertf ( usertf ++) ; } 2. kódrészlet. PLI C kód EDA Logi-termikus szimuláció Verilog PLI 7
Fogyasztási adatbázis Liberty formátum Időzítések, zajparaméterek és disszipációk minden cellára Szabványos adatbázis Ha nincs Liberty adatbázisunk SPICE karakterizáció Példa Liberty fájl: pin (CO) { direction : output ; max_capacitance : 0.32; internal_power () { 5 rise_power ( power_outputs_0 ) { values ( " 0.078, 0.054, -0.029, -0.358, -0.798 ",\ " 0.085, 0.061, -0.023, -0.352, -0.796 ",\ " 0.096, 0.072, -0.013, -0.344, -0.798 ",\ " 0.123, 0.097, 0.009, -0.323, -0.837 "); 10 } EDA Logi-termikus szimuláció Liberty 8
1.2. altézis Altézis Új gyorsítási módszert dolgoztam ki, amely a térbeli felbontás csökkentésén alapul. Az általam kidolgozott módszer a sztenderd cellás áramkör felületét szükség esetén partíciókra bontja, és ezekre a partíciókra számolja ki a sztenderd cellák fogyasztásából adódó hőmérsékleteket. Az áramkört felépítő sztenderd cellák számának növekedésével négyzetesen növekszik a termikus modell generálásához szükséges idő. A particionálással a sztenderd cellák számától függetlenné tehető a termikus modell generálásának időtartama. A particionálási módszer használata a felhasználó számára opcionális, és a termikus szimulációban alkalmazott térbeli felbontás mérete is szabadon megválasztható. Különböző partíció méretek és modellgenerálási idők vizsgálata alapján kimutattam, hogy a 10 10-es particionálás a felbontás és a számítási idő szempontjából elfogadható. Kapcsolódó publikációk: [J4],[C7] EDA Logi-termikus szimuláció 1.2. altézis 9
Particionálás 10 10-es partícionálás Cellák helyett hálószerű felbontás A termikus modell generálási ideje a cellák számával négyzetesen növekszik Partícionálással a termikus modell számítása gyorsabb Tetszőleges felosztás: EDA Logi-termikus szimuláció Particionálás 10
A particionálás hibája és a modell generálási idő Hiba a particionálás nélküli esethez képest. Particionálás nélkül egy bonyolult áramkör szimulációja 2 hét. Feldolgozandó adatmennyiség: több terabájt. Partícionálás relatív hibája [%] 0.035 0.03 0.025 0.02 0.015 0.01 0.005 0 0.031 0.024 0.022 0.017 0.012 0.010 2 45 10 20 25 50 Particionálás mérete (n n) A particionálás hibája különböző partíció méretek esetén 0.005 Termikus modell generálás ideje [s] 1800 1600 1400 1200 1000 800 600 400 200 0 2 45 10 20 25 50 Particionálás mérete (n n) A termikus modell generálásához szükséges idő különböző partíció méretek esetén EDA Logi-termikus szimuláció Particionálás 11
1.3. altézis Altézis Új gyorsítási módszert dolgoztam ki a szimuláció időbeli felbontásának skálázásával. Egy modern digitális rendszer termikus időállandói nagyságrendekkel nagyobbak az elektromos időállandóknál (pl. órajel periódusidő). A logikai szimuláció nagy órajel frekvencián hosszú ideig tarthat a termikus állandósult állapot megközelítéséig. A nagyfrekvenciás rendszer működési frekvenciáját lecsökkentve és a kapcsolási tranziensekhez tartozó dinamikus fogyasztást arányosan növelve, a rendszer töredék idő alatt a termikus tranziens tetszőleges állapotába hozható. A kitűzött termikus állapotot elérve az eredeti működési frekvencián és fogyasztási értékekkel folytatható a szimuláció. Kapcsolódó publikációk: [C8] EDA Logi-termikus szimuláció 1.3. altézis 12
A szimuláció gyorsítása Gigahertzes működésnél a nagy termikus időállandók miatt sokáig tart a szimuláció (1-10 sec,1 ns felbontással) Egy skálafaktorral (pl. f = 10) arányosan növelünk meg minden késleltetést és fogyasztást Késleltetés, frekvencia (ν), kapcsolási fogyasztás E = C U 2 P = C U 2 ν P = E ν = 10E P = P 1 10 ν = E ν EDA Logi-termikus szimuláció Gyorsítás 13
A skálázással bevitt hiba és a szimuláció időtartama A skálázással bevitt disszipációszámítás kvantálási hibája elhanyagolható (< 0,3 %) A szimuláció időtartama töredékére csökkent 1600 1400 1474.9 A szimuláció időtartama [s] 1200 1000 800 600 400 217.9 200 40.0 0 1 10 100 Skálázási faktor EDA Logi-termikus szimuláció Gyorsítás 14
Hőmérsékletfüggő időzítések Hőmérsékletfüggő időzítések Logi-termikus szimuláció 15
2. tézis Tézis Eljárást dolgoztam ki sztenderd cellás integrált áramkörök hőmérsékletfüggő időzítéseinek szimuláció közben történő nyomon követésére és az esetleges hőmérsékletfüggő funkcionális meghibásodások felderítésére. A tervezőrendszerekben használt logikai szimulátorok nem veszik figyelembe az áramkör működése közben kialakuló hőmérsékleti viszonyokat. Az általam kidolgozott módszer segítségével az áramkör felületén kialakuló hőmérséklet eloszlás jellege miatt megváltozott időzítési viszonyok meghatározhatóak. A módszer működése során a termikus szimulációs eredményeket visszacsatolom a logikai szimulációba az egyes cellák hőmérsékletfüggő késleltetéseként. A módszer segítségével a cellák időzítési viszonyainak változása nyomon követhető. Kapcsolódó publikációk: [J2,J4],[C6,C7] Hőmérsékletfüggő időzítések 2. tézis 16
Demonstrációs áramkör gyűrűs rezgőkör I A gyűrűs rezgőkör frekvenciája eltolódik a változó hőmérséklet miatt I Gyűrűs rezgőkör: 1 NAND + 10 inverter 1.48 1.46 1.44 1.42 1.40 Hőmérsékletfüggő időzítések 0 C 1.50 Frekvencia [GHz] xbuf1 xbuf4 xbuf3 xinv5 xinv4 xinv6 xinv7 xinv8 xbuf2 xinv1 xinv2 xinv3 xinv10 xinv9 xnand 1.52 43,7 C 0 1 Gyűrűs rezgőkör 2 Idő [s] 3 4 5 17
Késleltetés-hőmérséklet függések Késleltetések 0 C, 25 C, 65 C-nál A inv cella késleltetése [ps] 19.2 19 18.8 18.6 18.4 18.2 18 17.8 17.6 17.4 17.82 ps 18.36 ps 19.01 ps A nand cella késleltetése [ps] 32 31 30 29 28 27 26 25 31.51 ps 31.67 ps 24.11 ps 17.2-20 -10 0 10 20 25 30 40 50 60 65 70 80 Hőmérséklet [ C] Inverter cella késleltetés-hőmérséklet karakterisztikája 24-20 -10 0 10 20 25 30 40 50 60 65 70 80 Hőmérséklet [ C] NAND cella késleltetés-hőmérséklet karakterisztikája Hőmérsékletfüggő időzítések Késleltetés-hőmérséklet 18
SDF Standard Delay Format 3 hőmérsékleti sarokpontban tárolja el az időzítéseket! (minimum:typical:maximum) A szintézer generálja pre- és post-layout Késleltetések minden cellára, setup/hold idők definíciója, stb. ( PORT R (::0.00) (::0.00) ) (IOPATH CLK Q (0.44:0.47:0.49) (0.50:0.51:0.53)) ( IOPATH R Q (::0.00) (0.57:0.57:0.58) ) Hőmérsékletfüggő időzítések SDF 19
Teljesítmény térkép A puffer cellák fogyasztása 1 mw/billenés Az inverterek fogyasztása 1 µw/billenés Hőmérsékletfüggő időzítések Gyűrűs rezgőkör 20
Hőmérsékleti térkép A fogyasztási eloszlás alapján kialakult hőmérsékleti térkép Hőmérsékletfüggő időzítések Gyűrűs rezgőkör 21
Hőmérsékleti diagram A hőmérséklet növekedésével csökken a rezgőkör frekvenciája Az állandósult hőmérséklet megegyezik a kézzel számolttal (43,7 C) Hőmérséklet [ C] 50 45 40 35 30 25 20 15 10 5 buf1 nand inv5 43.59 0 0 0.5 1 1.5 2 2.5 3 3.5 4 4.5 5 Idő [s] Frekvencia [GHz] 1.52 1.50 1.48 1.46 1.44 1.42 0 C 43,7 C 1.40 0 1 2 3 4 5 Idő [s] Hőmérsékletfüggő időzítések Gyűrűs rezgőkör 22
SPICE logi-termikus verifikáció Az eltérés 3,5 % alatti 45 40 35 Hőmérséklet [ C] 30 25 20 15 10 5 CellTherm szimuláció SPICE szimulació 0 0 0.5 1 1.5 2 2.5 3 3.5 4 4.5 5 Idő [s] Hőmérsékletfüggő időzítések SPICE logi-termikus 23
A frekvenciamenet SPICE verifikációja Az eltérés 3,5 % alatti 2.2 2 1.8 Frekvencia [GHz] 1.6 1.4 1.2 1 0.8 0.6 SPICE CellTherm 5 10 15 20 25 30 35 40 Hőmérséklet [ C] Hőmérsékletfüggő időzítések SPICE logi-termikus 24
CellTherm verifikációja a SUNRED algoritmussal Verifikáció az EET-n fejlesztett más elvű logi-termikus szimulátorral Az eltérés 1 % alatti 35 30 Hőmérséklet [ C] 25 20 15 10 Logitherm CellTherm 0 10 20 30 40 50 60 70 80 Idő [s] Hőmérsékletfüggő időzítések SUNRED 25
Ipari méretű és bonyolultságú áramkör POLITO Torinoi Műszaki Egyetem fejlesztése STMicroelectronics 65 nm-es CMOS technológia Jelfeldolgozó áramkör, 1490 cella Ipari áramkör Logi-termikus szimuláció 26
STMicroelectronics áramkör szimulációja Magasság [mm] Pillanatnyi teljesítmény eloszlás (t = 4,56s) 0.12 0.11 0.096 0.084 0.072 0.06 0.048 0.036 0.024 0.012 0 0 0.012 0.024 0.036 0.048 0.06 0.072 0.084 0.096 0.11 0.12 Szélesség [mm] 6.00 5.00 4.00 3.00 2.00 1.00 0.00 Teljesítménysűrűség [ µw ] cm 2 Magasság [mm] 0.12 0.11 0.096 0.084 0.072 0.06 0.048 0.036 0.024 0.012 0 0 Hőmérséklet eloszlás 4,56 másodperc után 0.012 0.024 0.036 0.048 0.06 0.072 Szélesség [mm] 0.084 0.096 0.11 0.12 0.189 0.188 0.187 0.186 0.185 0.184 0.183 Hőmérséklet különbség [ C] Ipari áramkör Logi-termikus szimuláció 27
Nagy felbontású hőmérsékletfüggő időzítési modell Nagy felbontású modell Logi-termikus szimuláció 28
3. tézis Tézis Új időzítési modellt dolgoztam ki, melynek segítségével az integrált áramkörök logitermikus szimulációja során a cellák hőmérséklettől függő időzítéseit hőmérsékletkésleltetés függvényekkel lehet figyelembe venni. Az általam kidolgozott modell segítségével olyan hatások is szimulálhatóak, mint a késleltetések inverz hőmérsékletfüggése. A modell megalkotásához a hőmérséklet-késleltetés függvényeket előzetesen minden cellára karakterizálni kell. Az új modell segítségével kimutattam, hogy a jelenleg használatos időzítési modellek bizonyos hőmérsékleti tartományokban nem megfelelően írják le a tényleges hőmérsékletfüggő működést. Javaslatot tettem a Liberty fájlformátum új modellel történő bővítésére. Kapcsolódó publikációk: [J5],[C8] Nagy felbontású modell 3. tézis 29
Probléma az SDF modellel A sarokpontok között lineáris interpolációra van szükség Az interpoláció miatt a késleltetések jelentősen eltérhetnek a valós értékektől! Csak a sarokpontoknál (design corners) pontos Nagy felbontású modell SDF probléma 30
A nagy felbontású és a linearizált SDF eredmények eltérése Töréspont a linearizált SDF karakterisztikában! A két görbe jellege között jelentős a különbség. Magasabb vagy alacsonyabb hőmérsékleteken a két modell eltérése növekszik. 43.4 43.2 Nagy felbontású késleltetések SDF késleltetések Oszcillátor periódusidő [ns] 43 42.8 42.6 42.4 42.2 42 41.8 0 0.5 1 1.5 2 2.5 3 3.5 4 Szimulációs idő [s] Nagy felbontású modell Összehasonlítás 31
Az eredmények gyakorlati alkalmazásai Kutatói munkám eredményeit a CellTherm alkalmazásban implementáltam Az eredményeket a THERMINATOR projekt partnerei használták A nemzetközi bírálóbizottság a projektet sikeresnek értékelte Az STMicroelectronics saját ipari áramkörein végez logi-termikus szimulációkat a CellTherm segítségével Az eredmények és a CellTherm alkalmazás szabványos EDA környezetekben használhatók További kutatási irányok Elhelyezés és huzalozás algoritmusok kiegészítése termikus kényszerekkel Az eredmények gyakorlati alkalmazásai Logi-termikus szimuláció 32
Köszönöm Dr. Rencz Mártának, konzulensemnek Dr. Székely Vladimírnek Dr. Bognár Györgynek Munkatársaimnak, kollégáimnak Családomnak Köszönetnyilvánítás Logi-termikus szimuláció 33
34
Inverz hőmérsékletfüggés 100 nm alatti csíkszélesség tartományban a töltéshordozó mobilitás és a küszöbfeszültség hőmérsékletfüggésének viszonya úgy alakulhat, hogy bizonyos hőmérséklet felett gyorsul az eszköz. A klasszikus elmélet szerint a worst-case működés magas hőmérsékleten következik be. Ez az inverz hőmérsékletfüggés esetén nem így van. A worst-case működés nem feltétlenül a legmagasabb hőmérsékleten van. PN-átmenet nyitófeszültségének hőmérsékletfüggése: du dt 2mV/ K. Si Mozgékonyság hőmérsékletfüggése: µ 0 T = 3 2 k T 5 3 µ 0 2 = 2 T. MOS tranzisztor hőmérsékletfüggése: Küszöbfeszültség hőmérsékletfüggése: I d V t T 2mV/ K. T = 3 I d 2 T 2I d (U gs V t ) V t T. Magyarázatok Inverz hőmérsékletfüggés 35
Verifikáció mérésekkel A munkámban felhasznált eszközök mindegyikét korábban már szimulációs eszközökkel és mérésekkel is verifikálták. A termikus modelleket generáló algoritmust (Thermodel) és termikus szimulátor alkalmazást (Thermanal) AnSYS FEM szimulációkkal és mérésekkel is validálták tanszéki kollégák. [1, 2, 3, 4] A Liberty teljesítmény- és időkarakterizációs adatbázist az iparban használják és SPICE szimulációkkal állítják elő. Az általam készített CellTherm logi-termikus szimulációs motort a SUNRED alkalmazás segítségével is verifikáltam, melyet Dr. Pohl László PhD disszertációjában mérésekkel és szimulációkkal validált. (Pohl László: Speciális félvezetőeszközök szimulációja szukcesszív hálózatredukciós módszerrel, 2012, BME EET) Magyarázatok Verifikáció mérésekkel 36
A termikus modell számítása T 1 = P 1 Z 11 + P 2 Z 12 + + P n Z 1n T 2 = P 1 Z 21 + P 2 Z 22 + + P n Z 2n. T n = P 1 Z n1 + P 2 Z n2 + + P n Z nn. Magyarázatok A termikus modell számítása 37
Teljesítmény karakterizáció Bemenő feszültség (n). félperiódus (n + 1). félperiódus Félperiódus 2 Minden cellára P(t) Félperiódus 2 Helyi maximum t Bemeneti meredekséggel és terhelő kapacitással paraméterezve Analóg SPICE szimulátorral P(t) alatti terület energia CMOS-nál megfelelő Helyi maximum 1%-a t T1 T2 Magyarázatok Teljesítmény karakterizáció 38
A teljesítmény-sűrűség számítása Logikai szimulátorból kapcsolási aktivitás t idő alatti jelváltások száma (n) Kapcsolási (dinamikus) energia E kapcs = T 2 T 1 P(t)dt P t = E kapcs t t alatt fogyasztott teljesítmény minden cellára P átlag = n P t P átlag -gal hívjuk meg a termikus szimulátort A termikus szimulátor minden t időben kiszámítja az eredő hőmérsékleteket t milliszekundumos nagyságrendű Magyarázatok Teljesítmény karakterizáció 39
Teljesítmény számítása a partíciókban Egy partícióban fogyasztott teljesítmény a benne található cellák teljesítményével arányos 10% 5% p00 p01 p02 P(p00) = 0,05 P(cell1) 21% p10 p20 cell1 p11 p21 p12 p22 64% P(p01) = 0,10 P(cell1) P(p10) = 0,21 P(cell1) P(p11) = 0,64 P(cell1) Magyarázatok Teljesítmény karakterizáció 40
Hivatkozások V. Székely. THERMODEL: a tool for compact dynamic thermal model generation. Microelectronics Journal, 29(4 5):257 267, 1998. Thermal Investigations of ICs and Microstructures II. V. Székely, M. Rencz, A. Poppe, and B. Courtois. THERMODEL: A tool for thermal model generation, and application for MEMS. Analog Integrated Circuits and Signal Processing, 29(1-2):49 59, 2001. V. Székely, A. Poppe, M. Rencz, M. Rosental, and T. Teszéri. THERMAN: a thermal simulation tool for IC chips, microstructures and PW boards. Microelectronics Reliability, 40(3):517 524, 2000. V. Székely, A. Páhi, A. Poppe, and M. Rencz. Electro-thermal simulation with the SISSI package. Analog Integrated Circuits and Signal Processing, 21(1):21 31, 1999. Hivatkozások Logi-termikus szimuláció 41