Mikroáramköri elemek jellemzése

A mikroáramkörök elemeinek jellemzésének feladata, hogy meghatározzuk egy könyvtárelem vagy blokk funkcionális paramétereinek függőségét a bemeneti jelek frontjainak időtartamától és a terhelési kapacitások nagyságától ezen értékek adott halmazainál. A kereskedelmi karakterizációs rendszerekben (SiliconSmart [1] , Virtuoso Liberate Characterization Solution [2] , Virtuoso Variety Statistical Characterization Solution [3] , Virtuoso Liberate MX Memory Characterization Solution [4] , Kronos Characterizer Plus [5] ) az ilyen függőségek a többszörös elektromos szimuláció alapja a Hspice [6] , Spectre [7] és hasonló áramkör-szimulációs programokban. Az SF blokkok jellemzése esetén főszabály szerint gyorsáramkör-szimulációs programokat (NanoSim [8] , Ultrasim [9] stb.) használnak nagy mennyiségű adat feldolgozására. A jövőben a könyvtárelemek és SF blokkok jellemzésének eredményei felhasználhatók időelemző , energiafogyasztás-elemző és zajelemző programokban.

Modern modellek a mikroáramköri elemek könyvtárainak jellemzésére

NLDM modell

A Synopsys számos késleltetési modellt támogat: CMOS univerzális késleltetési modell, darabos lineáris késleltetési modell, nemlineáris késleltetési modell (NLDM) és kompozit áramforrás (CCS) modell. A mai napig az első két modell gyakorlatilag használaton kívül van a teljesítményértékelési hatékonyságuk hiánya miatt. Az NLDM modell az ASIC tervezési folyamatban használt leggyakoribb késleltetési modell.
Az NLDM modell az áramkör modellezés során jön létre, amikor különböző kimeneti kapcsolási idővel és kimeneti terhelési kapacitással rendelkező elemeket jellemeznek [1] . Az eredmények egy táblázatot alkotnak, amely tartalmazza a késleltetés mértékét és a kimenet átkapcsolási idejét a bemeneti éltől és az egyes kapcsolók terhelési kapacitásától függően:

D ki ( S inp k , C out l ), ​​· k є [1: N S ], l є [1: N C ], S out ( S inp k , C out l ), ​​· k є [1 : N S ] , l є [1: N C ],

ahol D out a kimeneti jel, S out a jel kimeneti frontjának időtartama, S inp a bemeneti jel elejének időtartama, C out a terhelő kapacitás.
A jövőben egy ilyen táblázat segítségével kiszámítható a kritikus út egy összetett áramkörben anélkül, hogy a teljes elemet teljesen modelleznénk az elem eredő késleltetésének kiszámításához. Ilyen táblázatokat készítünk az arc ij = ( inp i , out j ) logikai gráf minden ívére, ha az inp i logikai állapotának változása j kikapcsolásához vezethet , illetve a bemeneti és kimeneti kapcsolás különböző irányaihoz (emelkedés) vagy ősz) minden ívhez ij táblázatokat építenek. Így minden ívhez legfeljebb négy D out ( S inp k , C out l ) és ugyanannyi S out ( S inp k , C out l ) [2] tábla társítható . Egyes tervezési rendszerek azt is lehetővé teszik, hogy minden egyes ív ív esetében megkülönböztetjük a többi bemenet logikai állapotát. Ekkor az egyes ívekhez tartozó táblák száma ennek megfelelően növekszik. A késleltetések és a kimeneti frontok modelljein kívül az NLDM modell tartalmazza a C inp r és C inp f effektív bemeneti kapacitások értékeit az áramkör minden bemenetéhez, külön a bemeneti jel kapcsolási irányaihoz 0 -> 1 ( emelkedés) és 1 -> 0 (esés).
Az elemek késleltetéseit többszörös Spice szimuláció eredményeként kapjuk meg minden egyes S inp és C out halmazhoz . Mivel a keresési táblázat csak egy kis S inp és C out halmazt tartalmaz, interpoláció vagy extrapoláció segítségével meg kell becsülni D out és S out szükséges S inp és C out értékeket .
Mivel az emelkedési idő két jellemzőtől függ, több pontos mérés végezhető és rögzíthető táblázatba. A kapacitásértékek a táblázat oszlopai mentén, a bemeneti front időtartama pedig a sorok mentén jelennek meg. A táblázat cellái a kimeneti front időtartamának értékeit tartalmazzák. A szimulátor beolvassa ezeket az adatokat, és ezek alapján számítja ki a felfutási időt. Pontosan ugyanazt a táblázatot kell elkészíteni a teljesítmény és a kapcsolási késleltetés kiszámításához. A kapcsolási késleltetés az az idő, amely attól a pillanattól telt el, amikor a bemeneti jel áthalad a küszöbértéken addig a pillanatig, amikor a küszöbérték eléri a kimeneti jelet. Ez az idő a bemeneti él időtartamától és a kimenet teljes kapacitásától is függ.
Az NLDM modell használatának problémái akkor merülnek fel, ha a kapuk kimenetei valós összeköttetésekkel kapcsolódnak más kapuk bemeneteihez, amelyek modelljeit RC hálózatok (RLC hálózatok) reprezentálják. Az új nanométeres technológiák megjelenése új hatások megjelenésével jár, a hullámformák nemlineárisabbá válnak, az összekapcsolási ellenállások elérik a több kOhm-ot. Ezeket a hatásokat figyelembe kell venni a pontos tervezéshez és időzítési számításokhoz.
A modell pontossága függ a terhelési kapacitás változásának választott mértékétől és a bemeneti front időtartamától, valamint a kapcsolási idő és a terhelési kapacitások elfogadható értéktartományától. Ha a bemeneti él és a terhelés értéke a jellemzési táblázat határain belül esik, akkor a késleltetéseket interpolációval számítjuk ki. A környező négy pont értékeit használjuk a késleltetés értékének numerikus módszerekkel történő meghatározására. A probléma akkor jelentkezik, ha bármely paraméter kívül esik a jellemzési tartományon. A CAD támogatja az extrapolációs algoritmusokat a késleltetés eléréséhez, de gyakran túlbecsülik. Ez nagyon hasznos lehet, mivel a statikus időzítési elemzés során könnyen észrevehető egy túlbecsült érték, ami lehetőséget ad a fejlesztőknek a helyzet javítására.
Az NLDM modell lehetővé teszi a késések gyors kiszámítását, de a növekvő gyakoriság és a csökkenő technológiai méret miatt az NLDM által bevezetett relatív hiba már nem elfogadható. A Synopsys és a Cadence olyan új modelleket fejlesztett ki, amelyekben a kimeneti hullámformák pontosabban nyerhetők, beleértve az áramköri késleltetéseket is. Ezek közé tartozik a Synopsys [10]  CCS modellje (Composite current source) (nem elérhető link) és a Cadence [11] ECSM modellje (Effective current source model) .

CCS modell

A CCS (Composite Current Source) nagy pontosságú számítást biztosít a cellák késleltetésére, az összekapcsolásokra, a bemeneti élek időtartamára és a terhelési kapacitásra parazita elemek jelenlétében. A CCS-ben a késleltetési számítások szükséges pontosságának eléréséhez három komponenst használnak: egy forráskomponenst, egy vevőkomponenst és egy csökkentett rendezett komponenst a hamis RC-kapcsolatok kiszámításához [12] .
Az ideiglenes CCS-modell két részből áll:

I out = F ( t , S inp , C out ),

ahol S inp a bemeneti jel elejének időtartama, C out a terhelő kapacitás. A forráskomponens mosogató komponenssel vagy anélkül is használható.
A rögzített S inp és C out értékekkel rendelkező F (t, S inp, C out) függvény a C out terhelési kapacitáson átmenő áramként van definiálva , amikor az elülső S inp jelet a kapubemenetre visszük . A CCS modellben az I out ( t ) áramfüggvénynek az a része, amelynek plusz előjele van a kimeneti jel felfutási frontjára és mínusz jele az esési frontra, diszkrét pontok halmazaként tárolódik { t k , I ki k } a [ t 0 , t1 ] intervallumon . Ha a 0,5· Vdd küszöbszintet a V inp ( t ) bemeneti jel átlépi, a T ref időérték eltárolódik a modellben. Az I out = F ( t , S inp , C out ) függvénytáblázatok az arc ij kapulogikai gráf minden egyes ívére és külön az emelkedés/esés bemeneti és kimeneti kapcsolás minden lehetséges kombinációjára épülnek. Az elektromos kapcsolási szimuláció eredményeként kapott I out ( t ) függőségeket egydimenziós táblázatok formájában tároljuk a modellben. Az ilyen táblázatokban szereplő időpontok száma nincs szabályozva. Nyilvánvaló, hogy itt kompromisszumot kell követni az I out ( t ) függvény táblázatos adatokból történő visszaállításához szükséges pontosság és az F ( t , S inp , C out ) táblák tárolására szükséges memóriamennyiség között .


C _1 inp r | f ( S inp , C out ),
C _2 inp r | f ( S inp , C out ),

ahol C _1 a bemeneti jel élének első felére számított effektív bemeneti kapacitás értékek táblázata, C _2 pedig a bemeneti jel élének második felére számított kapacitásértékek táblázata. Ha a bemeneti kapacitás effektív értéke gyengén függ a kimeneti terhelés kapacitásától (ez a helyzet a többfokozatú áramkörök esetében), akkor megengedett a bemeneti modell egyszerűsített ábrázolása, nevezetesen:

C _1 inp r | f ( S inp ),
C _2 inp r | f ( Sinp ) .

Ebben az esetben a C _1 és C _2 egydimenziós táblák nem az arc ij ívekhez vannak társítva , hanem a kapu bemeneteihez.
A jellemzés előtt a kimeneti áramot az idő függvényében mérjük a megadott bemeneti emelkedési idő és kimeneti kapacitás mellett. A feszültség hullámformáját az áramok és a megfelelő kapacitások alapján rekonstruálják. Azon kapacitások és bemeneti élek esetében, ahol nem végeztek áramméréseket, interpolációt használnak.
A CCS modell kimeneti adatmennyisége jelentősen meghaladja az NLDM modell kimeneti adatainak mennyiségét, azonban az elektromos áramkör szimulációinak száma mindkét esetben azonos, míg a CCS modell pontossága közel áll a pontossághoz. a teljes elektromos szimulációból.

ECSM modell

A Cadence CAD a CCS-modellhez, az ECSM-hez (Effective Current Source Model) hasonló szelepvezérlési modellt használ. Az ECSM a Liberty formátum kiterjesztése, amely lehetőséget biztosít a meglévő késleltetésleíró formátummal kompatibilis adatok tárolására [13] .
Az ECSM egy késleltetésszámítási módszer, amely áramalapú forrásmodellt és változó kapacitású nyelőmodellt használ a kapukésleltetés pontos kiszámításához. Ez a módszer hatékonyabban veszi figyelembe a tranzisztorok nemlineáris viselkedését a kapcsolás során, és lehetővé teszi az összekapcsolások pontosabb szimulációját. Míg a CCS kifejezetten árammintákat használ, az ECSM olyan feszültségmintákat használ, amelyeket a késleltetés számítása során árammintákká alakítanak át:

V out = G ( t , S inp , C out ),

ahol V out a szelep kimenetén lévő feszültség, S inp a bemeneti jel eleje időtartama, C out a terhelő kapacitás. A kapacitástáblázatokat bemeneti modellként is használják, de anélkül, hogy két C _1 és C
_2 táblára osztanák őket , ahogy az a CCS-ben történik. Az ECSM vevőmodell a következőképpen van felírva:

C inp r | f ( S inp , C out ).

A V out ( t ) függvény értékeit egydimenziós táblázatokban tároljuk a [ t 0 , t 1 ] intervallumra, ahol a t 0 és t 1 pontokat a V out ( t ) є [ feltétel határozza meg. 0+ ε , Vdd–ε ], ε = állandó .
Stresszdiagram használatával a könyvtári sejtek gyorsabb és pontosabb jellemzése lehetséges.
Elméletileg a CCS és ECSM meghajtómodellek ekvivalensek, mivel az I out ( t ) és V out ( t ) függvényeket az egyenlet kapcsolja össze: I out ( t ) = C out ·( dV out ( t )/ dt ). A gyakorlatban ezek a modellek némileg eltérő eredményekhez vezethetnek, mivel az I out ( t ) és V out ( t ) függvények definíciós tartományukban különböznek. Ráadásul az egyenletből az I out ( t ) kiszámítása elkerülhetetlenül számszerű hibákkal jár.

A jellemzési módszerek fejlesztésének jelenlegi trendjei

Logikai elemek jellemzése

A logikai elemek modelljének kialakításához a logikai elemek elektromos áramköreinek többszörös modellezését hajtják végre megfelelő programokkal (például Hspice) - a logikai elemek úgynevezett jellemzésével. Mint fentebb említettük, a modern CAD rendszerekben (Synopsys, Cadence, Mentor Graphics) a könyvtárelemek és SF blokkok jellemzésének legelterjedtebb modellje a Liberty formátumú nemlineáris NLDM késleltetési modell. Ahhoz, hogy a logikai elemek funkcionális paramétereinek az S inp bemeneti jelek frontjainak időtartamától és a C out terhelési kapacitások értékétől való függését megkapjuk , a szimulációt ezen értékek adott halmazaira kell elvégezni:

{ S inp k }, k є [1 : N S ],
{ C out l }, l є [1 : N C ],

ahol az N S és N C értéke általában nem haladja meg a 10-20-at. Így e függőségek táblázatos értékeinek megszerzéséhez N S · N C szimulációs ciklust kell végrehajtani, vagyis a logikai elem áramkörök több száz számítását.
Figyelembe véve, hogy a Vdd tápfeszültség és a T hőmérséklet különböző értékeire logikai elemek modelljeit kell kialakítani , a szimulációs ciklusok száma többszörösére nő. Feltételezzük, hogy egy szimulációs ciklusban az összes szükséges paraméter kiszámításra kerül, azaz a logikai elemek összes kimenetének késleltetése és emelkedése az összes bemenetéről, az összes bemenet kapacitása, energiafogyasztása stb. Így a logikai elemek jellemzésének feladata igen időigényes, jelentős számítási erőforrást igénylő eljárás. Általában az összes könyvtárelem jellemzése körülbelül több tíz óra processzoridőt igényel. Ezért aktuális a jellemzési folyamat felgyorsításának problémája [14] [3] [4] .
Általában kereskedelmi forgalomban lévő elektromos szimulációs programokat használnak a jellemzésre, amelyek lehetővé teszik a felhasználó számára az áramkör paramétereinek megváltoztatását a leírás módosításával. Ez azt jelenti, hogy a szimuláció végrehajtásához például más S inp k értékkel módosítani kell a bemeneti források leírásait, el kell végezni a megváltozott leírás fordítását, elő kell feldolgozásra kerülni az adatok szimulációhoz, majd csak elektromos az áramkör szimulációja. Ha nagy áramkörök esetén ez a folyamat a teljes szimulációs idő viszonylag kis részét veszi igénybe, akkor logikai elemeknél meghaladja a szimulációs költségeket. Ráadásul a jellemzéshez szükséges összes paraméter nem érhető el közvetlenül a szabványos programokkal. Például egy olyan paraméter, mint a C kapu inp bemeneti kapacitása, csak megfelelő adatfeldolgozás segítségével számítható ki a szimulációs eredményfájlból. Ezért a jellemzési folyamat magában foglalja az eredményfájlokkal való munkát is, ami szintén befolyásolja a teljes költségeket.
A jellemzés időköltségei olyan magasak, hogy gyorsított jellemzési módszereket kell létrehozni az elfogadható pontosság megőrzése mellett [5] . Ilyen módszerek a következők:

Memóriaelemek jellemzése

Különösen időigényes eljárás a memóriaelemek, különösen a flip-flop karakterizálási folyamata. A lényeg nemcsak az, hogy az ilyen elemek áramkörei általában sokkal bonyolultabbak, mint a logikai kapuk áramkörei, hanem az is, hogy a memóriaelemeknél olyan specifikus paramétereket kell kiszámítani, mint az információs jelek előre beállított és tartási ideje. - T beállítás és T hold [9] [10] . Először magyarázzuk el, mit jelentenek ezek a paraméterek. A D típusú flip-flopoknak D információs bemenete és C időzítő bemenete van. A bemenet kimeneti állapotának változása akkor következik be, amikor az órajel eleje a C bemenetre kerül. A trigger kimeneti állapotát a D információs bemeneten lévő jel értéke (és a trigger belső állapota) határozza meg. A D-flip-flop zavartalan működéséhez az információ bemeneten szükséges logikai állapotot (pontosabban a szükséges feszültséget) kicsit korábban beállítani, mint ahogy az órajel impulzus eleje a C bemenetre érkezik , és szükséges a D bemenet állapotának fenntartásához egy ideig a C front áthaladása után (3. ábra).

A T setup + T hold összeg valójában meghatározza a trigger sebességét, ezért fontos ismerni ennek az összegnek és az egyes feltételeknek a minimális lehetséges értékét. A minimális értékek erősen függenek a D és C impulzusok frontjának időtartamától , és sokkal kisebb mértékben a trigger kimenet terhelési kapacitásától. Ezért a memóriaelemek jellemzésekor általában a { ​​T setup (S D k , S C l )}, { T hold (S D k , S C l )} táblázatok összeállítására szorítkozunk, amelyeket a memóriaelemek egy értékénél kapunk. terhelhetőség ( S D k , S C l a D és C jelek frontjának időtartamai ). Nincsenek módszerek a T setup és a T hold
minimális értékeinek közvetlen kiszámítására , ezért keresési módszereket használnak ezek meghatározására [8] . A T setup kiszámításához először a D impulzus kezdő- és végélét kell beállítani, nyilvánvalóan távol a T C óraimpulzus érkezésének pillanatától . Az előlapok ilyen helyzete biztosítja a trigger megfelelő működését és a T del 0 kimeneti jel minimális késleltetését . A D jel felfutó élének helyzetét az időtengelyen t_p -ként jelöljük, és eltároljuk. Ha a D jel kifutó élének helyzete változatlan marad, a bevezető él valamilyen Δt értékkel jobbra mozdul el a T C pontig . Ha egyidejűleg a trigger megfelelően működik, akkor a kimenőjel T del késleltetését kiszámítjuk és összehasonlítjuk T del 0 értékkel . Általában amikor a D jel éle megközelíti a T C -t, egy bizonyos pillanattól kezdve a kimenő jel késleltetése megnövekszik. Ha a késleltetés növekedése meghaladja a felhasználó által beállított határértéket ( t_f jelöléssel ), akkor a D él ezen pozíciója érvénytelennek minősül. Ha azonban a trigger nem működik megfelelően az elülső D új pozíciójával, akkor ez a pozíció is t_f -ként kerül tárolásra . Végül, ha a flip-flop megfelelően működik az új élpozíciónál, és a relatív késleltetés növekedése nem haladja meg a megadott szintet, akkor a kapott felfutó élpozíciót t_p -ként jelöljük , és a folyamatot megismételjük. Ennek eredményeként egy [ t_p , t_f ] szegmens jön létre , amelynek bal végén a trigger megfelelően működik, a jobb oldalon pedig - hibásan. Továbbá a kapott szegmenst kettéosztjuk, a D jel bevezető élét eltoljuk a kapott ponthoz. Továbbá a fenti algoritmus szerint a vett pozíciót t_p vagy t_f jelöléssel látjuk el . Így a keresési intervallum addig csökken, amíg egy pontra nem zsugorodik. Ez a pont lesz a trigger számított (adott pontossággal) előre beállított idő T beállítása . Hasonló módon számítjuk ki a T hold tartási időt is, ehhez a D jel lefutó élét egy rögzített felfutó éllel balra toljuk. Tekintsük a T sh = T setup + T hold összeg minimális értékének becslésére szolgáló algoritmust is . A D jel frontjait távolra állítjuk a T C ponttól, mint az előző algoritmusban, és kiszámítjuk a T del 0 referenciakésleltetést . A D jel elülső élének rögzített helyzetével a T hold 0 értéket becsüljük meg . A D jel lefutó éle T C + T hold 0 pozícióba van állítva , és ezen az élpozíción a T setup 0 érték kerül kiértékelésre . Így az első közelítést kapjuk : Tsh 0 = T setup 0 + T hold 0 . Továbbá a D jel kifutó éle jobbra tolódik a T hold 1 = T hold 0 + Δt pozícióba , és új értékeket számítanak ki T setup 1 és T sh 1 = T setup 1 + T hold 1 . Ha kiderül, hogy Tsh 1 > Tsh 0 , akkor ezért a T sh minimumát a [ T C + T hold 0 , T C + T hold 1 ] szakaszon a lefutó él pozíciójában kell keresni. . Ellenkező esetben növelnie kell a Δt értéket, és addig kell ismételnie a számításokat, amíg a T sh 1 > T sh 0 feltétel teljesül . Most, hogy lokalizálták azt az intervallumot, amelyen a T sh minimumát keresni kell , bármelyik egydimenziós keresési algoritmus alkalmazható a megtalálásához. Különösen a másodfokú interpoláció módszere használható . Itt egy megjegyzést kell tenni. Nem ritka, hogy a D jel bevezető és hátsó élei annyira közelednek, hogy átfedik egymást (ún. impulzusvágás), de a trigger megfelelően működik [17] . A Tsh meghatározásakor ezt a levágást korlátozni kell, hogy ne veszítse el a kimeneti jel késleltetésének kiszámításának lehetőségét, vagyis a levágott impulzus csúcsa ne legyen kisebb 0,5· Vdd -nél . Vegyük észre azt is, hogy ez a megszorítás mereven összefüggésbe hozza a D jel felfutó és lefutó éleinek helyzetét egymással, ami a T setup +T hold összeg minimumának meghatározására vonatkozó feladat megoldását kétértelmûvé teszi .


Jegyzetek

  1. Bhasker J., Chadha R. Static Timing Analysis for Nanometer Designs: A Practical Approach. Springer Science & Business Media, 2009. 572 p.
  2. A.L. Sztempkovszkij, S.V. Gavrilov, A.L. Glebov. Módszerek a digitális CMOS VLSI logikai és logikai-időbeli elemzéséhez // Orosz Tudományos Akadémia, Mikroelektronikai Tervezési Problémák Intézete, szerk. szerk. A. L. Sztempkovszkij. Moszkva, 2007. 224 p.
  3. Parameswaran H., Shrivastava S. Áramkörök gyorsított jellemzése szerszámon belüli folyamatvariációkhoz. Amerikai Egyesült Államok 8813006, 12/055505, 2014-es szabadalom.
  4. Gavrilov SV, Gudkova ON, Egorov Yu.B. VLSI cellakönyvtárak gyorsított jellemzésének módszerei előírt pontossági szabályozással // Russian Microelectronics. 2011. évf. 40. Nem. 7.Pp. 476-482.
  5. Sztempkovszkij A.L., Gavrilov S.V., Glebov A.L. Módszerek a VLSI időbeli elemzésének hatékonyságának javítására // Információs technológiák. 2006. No. 12. S. 2-12.
  6. Gavrilov S.V., Glebov A.L., Solovjov R.A. Hamis vezető utak észlelése statikus időelemzésben logikai implikációk alapján. Egyetemek iratanyaga. Elektronika, 2006, sz. 6.
  7. Stempkovsky A., Glebov A., Gavrilov S. Calculation of Stress Probability for NBTI-Aware Timing Analysis // Proceedings of the 10th International Symposium on Quality Electronic Design, ISQED. San Jose, CA, 2009. o. 714-718.
  8. 1 2 Glebov A., Gavrilov S., Soloviev R., Zolotov V., Becer MR, Oh C., Panda R. Késleltetett zajpesszimizmuscsökkentés logikai korrelációkkal // IEEE/ACM International Conference on Computer-Aided Design, Digest of Technical Papers, ICCAD, 2004. o. 160-167.
  9. E. Salman, A. Dasdan, F. Taraporevala, K. Kuc¸ és E. G. Friedman. A pesszimizmus csökkentése a statikus időzítés elemzésében kölcsönösen függő beállítási és tartási időkkel // Proceedings of the 7th International Symposium on Quality Electronic Design, 2006. Pp. 159-164.
  10. Gavrilov S., Soloviev R., Sundareswaran S., Rajendran P. Interdependent setup-hold jellemzés és időzítés elemzése. Physical Design & DFM Conference, Austin, USA, 2008. május 14-16.