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 tanszéki vitája Budapest, 2013. július 11. Timár András Logi-termikus szimuláció 2013. július 11.
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ű, nanoelektronikai sztenderd cellás digitális integrált áramkörök logi-termikus szimulációjára. 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. A logi-termikus szimuláció a digitális integrált áramkörök cella szintű logikai és termikus együttes szimulációjára és a hőmérsékletfüggő időzítések vizsgálatára ad lehetőséget. [1, 2, 3, 4] 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ő. [1, 5, 6, 7, 8, 9] 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 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 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 modell generá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ó. [10, 11] 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 terrabá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 További módszert dolgoztam ki a logi-termikus szimuláció gyorsítására. 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ó. [12] 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 a sztenderd cellás digitális 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ók. 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ő. [5, 9, 10, 11] 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.50 Frekvencia [GHz] xbuf1 xbuf4 xbuf3 xinv5 xinv4 xinv6 xinv7 xinv8 xbuf2 xinv1 xinv2 xinv3 xinv10 xinv9 xnand 1.52 1.48 1.46 1.44 1.42 1.40 Hőmérsékletfüggő időzítések 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 A inv cella késleltetése [ps] Késleltetések 0 C, 25 C, 65 C-nál 19.2 19 18.8 18.6 18.4 18.2 18 17.8 17.6 17.4 17.82 18.36 19.01 17.2-20 -10 0 10 20 30 40 50 60 70 80 Hőmérséklet [ C] Inverter cella késleltetés-hőmérséklet karakterisztikája A nand cella késleltetése [ps] 32 31 30 29 28 27 26 25 31.51 31.67 24.11 24-20 -10 0 10 20 30 40 50 60 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 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éklet-késleltetés függvényekkel lehet figyelembe venni. A modell megalkotásához a hőmérséklet-késleltetés függvényeket előzetesen minden cellára karakterizálni kell. Javaslatot tettem a Liberty fájlformátum olyan bővítésére, hogy az tartalmazza az új modellt. 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. Az általam kidolgozott modellben az időzítési- és teljesítmény táblázatokat hőmérsékletekkel is lehet paraméterezni. [12, 13] 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
Publikációk összesítése 5 nemzetközi folyóiratban megjelent lektorált folyóiratcikk 9 nemzetközi konferencián megjelent lektorált konferenciacikk 6 a disszertáció témájához közvetlenül nem kapcsolódó konferencia- és folyóiratcikk Összesen 47,48 pont a BME doktori szabályzata alapján Publikációk összesítése Logi-termikus szimuláció 33
Köszönöm Dr. Rencz Márta 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ó 34
Válaszok a bírálók által feltett kérdésekre Válaszok Logi-termikus szimuláció 35
Válasz Dr. Arató Péter kérdéseire Kérdés: A hot-spot helyek felderítése a meglévő termikus szimulátoroknak nem része? Hogyan érintik ezek a helyek a cella belső logikai felépítését? A hot-spot helyek felderítése a termikus szimulátor alapvető dolga. A logitermikus szimulátor a cellák belsejét nem látja, és ez nem is szükséges. Szemléletes példaként úgy lehet elképzelni a hőmérsékleti térképet, mint egy rasztergrafikus ábrát. Minden cella egy pixelnek felel meg, és a pixelek összessége adja ki a hőmérséklet eloszlást. A logi-termikus szimulátor a cellákat a működés és felépítés szempontjából fekete doboznak tekinti. A cellák belsejében nem tudunk hőmérsékleti eloszlást meghatározni, minden cellához egy hőmérséklet-érték tartozik, a benne történt fogyasztás szerint. Válaszok Logi-termikus szimuláció 36
Válasz Dr. Arató Péter kérdéseire Kérdés: A particionálás méretének meghatározása alapvetően kísérleti úton történt? Igen, a logi-termikus szimulációkat több partíció méretre is lefuttattam és közben mértem a szimuláció futási idejét. Ipari bonyolultságú áramkörön vizsgáltam a felbontás nagyságának és a szimuláció időtartamának kapcsolatát és ezek alapján tettem javaslatot egy elfogadható partíció méretre. Válaszok Logi-termikus szimuláció 37
Válasz Dr. Arató Péter kérdéseire Kérdés: A gyorsítást eredményező órajel frekvencia leosztás alapvetően kísérleti úton történt? Igen, a leosztást addig növeltem, amíg elfogadható idejű szimulációs időt kaptam. Minden kipróbált skálafaktor esetében megvizsgáltam a leosztás által bevitt hibát és ez alapján ítéltem meg a skálázás lehetőségét. Válaszok Logi-termikus szimuláció 38
Válasz Dr. Arató Péter kérdéseire Kérdés: A melegedésből származó késleltetés-változások visszacsatolása a logikai szimulációba cellán belüli, vagy cellák közötti pótlólagos késleltetések formájában történik? A HDL nyelvi leírás szintjén ez hogyan jelenik meg? A logikai szimuláció ezek után mit jelez vissza a felhasználónak? A hőmérsékleti hatások miatt megváltozott késleltetések visszacsatolása során a cellák módosult késleltetéseit helyettesíti be a szimulátor minden cellába. Tehát a késleltetés-visszacsatolás a cellák belsejében történik meg. A HDL leírás minden cellánál tartalmaz egy időzítési specifikációs részt, melyben a cellák késleltetései és időzítési kényszerei (pl. setup time) vannak deklarálva. Ezeket az értékeket és kényszereket inicializálja a szimulátor az SDF adatbázisból. A szimuláció közben is ezeket az értékeket módosítja a logi-termikus szimulátor a hőmérsékletek függvényében. Bármilyen időzítési hiba esetén a logikai szimulátor jelzi a felhasználónak a hibát, és a szimuláció futását leállítja. Ezt a funkcionalitást a logikai/időzítési szimulátorok beépítve tartalmazzák, a logi-termikus szimulátornak nem kell hibajelzéssel foglalkoznia. Válaszok Pl. Megváltozott hőmérsékletek miatt Logi-termikus megnőttszimuláció késleltetések okozhatnak elő-39
Válasz Dr. Arató Péter kérdéseire Kérdés: Az új időzítési modell lényege, hogy függvénnyel és nem csak adott hőmérsékleti pontokon veszi figyelembe a késleltetési értékeket. Hogyan jelennek meg ezek a függvények a logikai HDL leírásban? A»pontos«késleltetési modell hogyan értelmezhető, mint elnevezés? A HDL leírásban sehogyan nem jelennek meg a késleltetés-hőmérséklet függvények. Ezeket a CellTherm szimulátor rögzíti minden cellára és ezek alapján számolja a cellák késleltetéseit a cella hőmérsékletének függvényében. Az időzítési értékeket a szimuláció közben változtatja meg! A pontos késeltetési modellt inkább nagy hőmérsékleti felbontású modellnek célszerű nevezni, mivel lényege, hogy 3 sarokpont helyett C fokonként karakterizált késleltetési görbékkel dolgozik. Válaszok Logi-termikus szimuláció 40
Válasz Dr. Keresztes Péter kérdéseire 50 Kérdés: A visszacsatolt és a dolgozatban fázisonként részletezett szimulációs folyamat hogyan mutatja meg egy állandósult gerjesztés során beálló egyensúlyi termikus és időzítési állapotot? Milyen lehetőségek vannak a stacionárius állapot megfigyelésére? 1.52 Hőmérséklet [ C] 40 30 20 10 Állandósult állapot Órajel frekvencia [GHz] 1.50 1.48 1.46 1.44 1.42 Állandósult állapot 0 0 1 2 3 4 5 Idő [s] 1.40 0 1 2 3 4 5 Idő [s] Lehetőségek a stacionárius állapot megfigyelésére: Hőmérsékleti és jellemző időzítési értékek monitorozása Az értékek egy sávban maradnak-e? Ha igen, akkor az állapot állandósult. Válaszok Logi-termikus szimuláció 41
Válasz Dr. Keresztes Péter kérdéseire Kérdés: Világos, hogy a hőmérsékletfüggő késleltetési idők beállítása adatbázisból történik. Nem világos azonban, hogy a disszipáció számításához használ-e a jelölt rendszere teljesítmény-modellt a sztenderd cellák leírására, vagy itt is csak mérések és hálózatszimuláció alapján felvett adatbázist használ? Többféle sztenderd cellás könyvtárat használtam: AMS 0,35 µm, TSMC 0,35 µm (ADK), STMicroelectronics 65 nm NLPM teljesítmény-modell használata AMS esetén CCS használata STMicroelectronics 65 nm esetén TSMC 0,35 esetén nem állt rendelkezésre fogyasztási adatbázis, így SPICE szimulációkkal állítottam elő az adatbázisokat a CCS teljesítmény-modell szabályai szerint Válaszok Logi-termikus szimuláció 42
Válasz Dr. Keresztes Péter kérdéseire Kérdés: A két szimuláció a Verilog PLI interfészen át kommunikál egymással. Mi a helyzet más sztenderdnek tekinthető logikai szimulátorok, például a VHDL esetén? Van-e erre a szerzőnek konkrét elképzelése? VHDL VHPI VHDL Procedural Interface (1076-2008 IEEE Standard VHDL Language Reference) Verilog VPI Verilog Procedural Interface (IEEE Std 1364-2001 Verilog HDL, 2001 óta) Verilog DPI Direct Programming Interface (SystemVerilog része, IEEE Std 1800-2009) Válaszok Logi-termikus szimuláció 43
Válasz Dr. Keresztes Péter kérdéseire Kérdés: Mi a magyarázata annak, hogy a logikai szintézis blokkjait mind a 4.1, mind az 5.4 ábrák tartalmazzák? Magasszintű leírás (Verilog, SystemC, VHDL, stb.) Eldo egyedi netlista szimuláció cellára, bemeneti komb.-ra Kezdés Hőmérsékleti térkép meghatározása Szintézis Layout, P&R GDSII, LEF/- DEF, XML kimenet Szintetizált Verilog strukturális leírás Layout adatok Logikai szimulátor (QuestaSim) Tesztkörnyezet készítés, bemenő vektorok, PLI inic. Verilog PLI eseménykezelők CellTherm Energiaértékek kigyűjtése Adatbázis készítés <cella típus>: <Emax >: <E min > Teljesítmény adatok Liberty teljesítmény információ Teljesítmény adatok Szintézis és SDF előállítása SDF regisztráció a logikai szimulátorba és a CellTherm-be Logikai szimuláció, CellTherm meghívása t-nként Aktuális késleltetések meghatározása Késleltetések visszahelyettesítése Logikai szimuláció a következő t-ig Külső hívás Verilog PLI LayTherm termikus szimulátor SDF időzítések Visszahelyettesítés PLI rutinokkal Nem Szimuláció vége? Hőmérséklet eloszlás Hőmérsékletés layout-függő késleltetések Vége Igen A Standard Delay File (SDF) adatbázist a szintézer állítja elő. Fontosnak tartottam hangsúlyozni a 2. tézissel kapcsolatban, hogy az időzítések hőmérsékletfüggését a generált SDF adatbázisból nyerem, ezért a hőmérsékletfüggő időzítési szimulációk előtt az SDF adatbázisnak létre kell jönnie. Az SDF adatokat szimuláció előtt be kell regisztrálni a logikai szimulátorba, különben az időzítéseket nem lehet figyelembe venni. Válaszok Logi-termikus szimuláció 44
Válasz Dr. Keresztes Péter kérdéseire Kérdés: Az 5.7.2 pontban bemutatott, de nem részletezett termikus helyettesítő képet szimuláló algoritmus miért nem szerepel a tézisek között? R 1 R 2 R k U I U 1 U 2 U k C 1 C 2 C k A szimulációs algoritmus részletes leírása a 3.2. A termikus ekvivalens RC hálózat számítása szakaszban található. A kompakt Foster RC modell csomóponti feszültségeinek (itt hőmérsékleteinek) számítása nem saját eredmény. Válaszok Logi-termikus szimuláció 45
46
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 Teljesítmény karakterizáció 47
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ű Teljesítmény karakterizáció 48
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) Teljesítmény karakterizáció 49
Publikációk András Timár, György Bognár, András Poppe, and Márta Rencz. Electro-thermal co-simulation of ICs with runtime back-annotation capability. INTERNATIONAL JOURNAL OF MICROELECTRONICS AND COMPUTER SCIENCE, 1(3):287 292, 2010. András Timár, András Poppe, and Márta Rencz. A novel approach of logi-thermal simulation methodology and implementation for ASIC designs. pages 351 356, Proceedings of the 17th International Conference Mixed Design of Integrated Circuits and Systems (MIXDES 10), June 2010. A. Timár, Gy Bognár, A. Poppe, and M. Rencz. Electro-thermal co-simulation of ICs with runtime back-annotation capability. pages 183 188, Proceedings of the 16th International Workshop on THERMal INvestigation of ICs and Systems (THERMINIC 10), October 2010. Andras Timar and Marta Rencz. Acquiring real-time heating of cells in standard cell designs. In Test Workshop (LATW), 2012 13th Latin American, pages 121 125, April 2012. A. Timár and M. Rencz. Studying the influence of chip temperatures on timing integrity using improved power modeling. JOURNAL OF LOW POWER ELECTRONICS, 7(10):531 540, 2011. A. Timar and M. Rencz. Real-time heating and power characterization of cells in standard cell designs. MICROELECTRONICS JOURNAL, 2012. A. Timár and M. Rencz. Studying the influence of chip temperatures on timing integrity. pages 1 5, Proceedings of the 12th IEEE Latin-American Test Workshop (LATW 11), March 2011. A. Timár, Gy Bognár, and M. Rencz. Improved power modeling in logi-thermal simulation. Publikációk pages 143 148, Proceedings of the 17th International Workshop on Logi-termikus THERMal INvestigation szimuláció of ICs and Systems (THERMINIC 11), Septem- 50