Bättre kontroll på avvikelser
Processavvikelser blir ett allt större problem i takt med att processgeometrierna minskar. Med ett konstruktionsflöde som i varje steg tar hänsyn till avvikelserna går det att förbättra prestanda och utbyte. Amit Gupta från Solido Design Automation beskriver här hur ett sådant flöde kan se ut.
Dagens halvledarindustri präglas av hög konkurrens och lönsamheten hänger i stor utsträckning på att konstruktioner har fördelaktiga prestanda, högt utbyte och snabb “time-to-market”. I takt med att ledande konstruktioner får allt mindre processnoder blir detta än mer uppenbart. Användningen av kontraktstillverkare innebär dock att kiseltekniken inte längre ger samma differentiering som tidigare. Nyckeln till framgång ligger istället i att integrerade specialkretskonstruktioner ger de nödvändiga fördelarna vad gäller prestanda, kraft och utrymme.
Processavvikelser
Den fortsatta övergången till mindre noder gör att processavvikelser har blivit ett allvarligt bekymmer vid konstruktionen och ordentlig hantering av dessa håller snabbt på att bli det främsta problemet för konstruktörer under den närmaste framtiden. Lyckligtvis finns nu snabba, noggranna och skalbara specialverktyg som gör att avvikelse-medvetna konstruktionstekniker kan implementeras inom existerande flöden för EDA-konstruktion och kontraktstillverkarnas processer.
Avvikelser (eng. variation) påverkar hela spektrat av specialkretskonstruktioner från analoga/blandsignal-, RF- och I/O-baserade till minnes- och standardcellbibliotek.
Så vad menas då med avvikelse-medveten specialkretskonstruktion?
Avvikelser (eng. variation) påverkar hela spektrat av specialkretskonstruktioner från analoga/blandsignal-, RF- och I/O-baserade till minnes- och standardcellbibliotek. De resulterar i att verkliga kiselprestanda och processutbyte skiljer sig från den simulerade och orsakas av faktorer såsom globala och lokala slumpmässiga effekter, miljöeffekter (spänning, temperatur, last m m) och layoutberoende effekter som närhet. Konstruktörer måste i allt högre grad hantera avvikelser under stor press på prestanda, kraft, utbyte och tid.
Ytterligheter
Givet att lokala och globala processavvikelser, miljömässiga avvikelser och närhetsrelaterade avvikelser kan vara olika för olika kretsar kan avvikelse-baserade konstruktionsproblem grovt delas in i problem som analyseras med hjälp av ytterligheter (eng. corners) för process, spänning och temperatur (PVT – Process-Voltage-Temperature), Monte Carlo-baserad statistik, Monte Carlo-statistik med högt sigma (eng. High Sigma), eller närhetsrelaterade effekter. Beroende på typen av avvikelser ställs konstruktören inför ett antal utmaningar.
* Ytterligheter för Process-Spänning-Temperatur – I vissa fall kan det räcka med att avvikelser angrips med en metod baserad på PVT, i vilken globala “F(fast)/S(slow)”-ytterligheter utnyttjas för att modellera processavvikelser. Det kan dock vara krångligt och det kan ta flera dagar att köra en fullständig bredd av PVT-ytterligheter. För att åtgärda det kan konstruktörer försöka gissa vilka kombinationer av PVT-ytterligheter som är värst, men det leder till onoggrannhet och ökad risk. För att minska risken försöker de kanske lägga till marginaler på bekostnad av prestanda, kraft eller utrymme. Dessutom är PVT-ytterligheterna inte alltid de värsta ytterligheterna, så det är viktigt att även studera slumpmässiga avvikelser.
* Monte Carlo-statistisk analys – För många konstruktionsproblem är globala F/S-ytterligheter inte tillräckligt noggranna, vilket gör att statistiska modeller krävs för att analysera spridningen för globala och lokala processer. Konstruktörer kan använda Monte Carlo-sampling, men iterationerna är i detta fall tidskrävande och tar normalt dagar snarare än timmar, vilket gör det dyrt att inkludera i ett konstruktionsflöde. Som redan nämnts ger alternativet att använda PVT-ytterligheter ökad risk.
* Monte Carlo-statistik med högt sigma – Kretsar i likhet med bitceller, avkänningsförstärkare och digitala standardceller kopieras tusentals eller miljontals gånger och måste därför ha en mycket låg felfrekvens (t ex en på miljarden). Det är inte möjligt att använda en stor Monte Carlo-körning, eftersom det skulle ta en miljard prov för ett enda fel. Alternativt kan en mindre Monte Carlo-körning extrapoleras med beräknad densitet, men det blir inte tillräckligt noggrant eftersom det saknas information i ändarna.
* Närhetseffekter – Konstruktion för närhetsrelaterade avvikelser handlar i praktiken om att väga dyrbara iterationer av kretsscheman och layouter mot en överarbetad konstruktion (eng. over-design) som upptar större utrymme. Om närhetseffekter ignoreras kan de leda till katastrofala fel, som kan resultera i dyrbara iterationer hos kontraktstillverkaren och försenad marknadslansering. Konstruktörer kan vänta med att hantera närheten tills layouten är klar och då mäta närhetseffekterna; men att på detta sätt försöka nå konvergens är tidsödande eftersom det leder till långa iterationer med konstruktionen. Slutligen skulle konstruktörer kunna lägga till ett skyddande band runt varje komponent och acceptera att det straffar sig i fråga om utrymme.
Konstruktörer har traditionellt tvingats hantera avvikelsefrågor antingen genom över-konstruktion med för stora marginaler, vilket får betydande inverkan på prestanda, kraft och utrymme, eller under-konstruktion, som resulterar i sämre utbyte.
Ett mönster framträder vid undersökning av dessa frågor och de problem de medför. Oavsett typen av avvikelseproblem står konstruktören inför ett liknande dilemma. De traditionella tillvägagångssätten ger långsamma konstruktionsiterationer; alternativet är att riskera konstruktionsfel (under-design) eller kompromisser för prestanda, kraft och utrymme (över-design).
Varken över eller under
Det finns visserligen metoder för att hantera avvikelsefrågor, men den komplexitet som finns på sub-mikron nivå gör att traditionella tekniker helt enkelt inte kan lösa det tekniska dilemmat. Konstruktörer har traditionellt tvingats hantera avvikelsefrågor antingen genom över-konstruktion med för stora marginaler, vilket får betydande inverkan på prestanda, kraft och utrymme, eller under-konstruktion, som resulterar i sämre utbyte. Detta är dyrbart eftersom det antingen innebär att fördelarna med en övergång till mindre noder är allvarligt underutnyttjade eller att pengar slösas på felaktiga kretsar.
Frågan är: hur kan detta dilemma lösas så att konstruktörer kan iterera sina konstruktioner snabbt och ändå utnyttja en noggrann modell för avvikelser så att över- och under-konstruktion kan undvikas? Svaret ligger i att använda lämpligt valda konstruktionsspecifika ytterligheter – en liten representativ uppsättning som snabbt simuleras men som ändå fångar prestandaspridningens gränser. Första steget i ett sådant flöde skulle vara att verifiera kretsen med ett verifieringsverktyg. Om konstruktionen är acceptabel är flödet komplett. Om inte måste representativa ytterligheter tas fram, och slingan upprepas för vardera typen av avvikelseproblem – PVT och Monte Carlo-statistik eller Monte Carlo-statistik med högt sigma. I slutet av flödet kan konstruktörer utnyttja ett närhets-medvetet verktyg för att beräkna lämpliga skyddsband. Konstruktörer kan kombinera flöden för olika avvikelseproblem, exempelvis genom att ha en första konstruktion med endast en nominell ytterlighet och sedan lägga till några PVT-ytterligheter och konstruera mot dessa, och sedan slutligen lägga till Monte Carlo-statistiska ytterligheter.
Snabb analys
Ordentlig hantering av avvikelser med lämpliga verktyg och tekniker ger betydande fördelar i fråga om att förbättra konstruktionens prestanda, kraft och utrymme, maximera parameterutbytet, undvika projektförseningar och förhindra katastrofala kretsfel.
Första steget i ett flöde kan vara att verifiera kretsen med ett verifieringsverktyg. Om konstruktionen är acceptabel är flödet komplett. Om inte måste representativa ytterligheter tas fram och slingan upprepas för vardera typen av avvikelseproblem.
För att klara utmaningen behöver konstruktörer snabba, noggranna analys- och konstruktionsverktyg specialiserade på avvikelser, såsom de som tillhandahålls i Solidos plattform Variation Designer, som skalas till konstruktionskomplexiteten och som även drar full nytta av de modeller för avvikelser som tillhandahålls av kontraktstillverkare. Fullt integrerad med simuleringsmiljöerna och konstruktionsflödena för specialkretsar från ledande EDA-verktygsföretag (Cadence, Synopsys, Mentor, Magma och Berkeley Design) liksom processflödena hos ledande kontraktstillverkare (TSMC och Global Foundries), går Variation Designer längre än att bara analysera avvikelsernas effekter. Med paket för att hantera problem baserade på PVT-, Monte Carlo-statistiska, Monte Carlo-statistiska med högt sigma och närhetsrelaterade avvikelser kan den även identifiera de elektriska “hotspots” som påverkar prestanda mest och rekommendera justeringar som gör att konstruktionen tillgodoser specifikationen.
Solido utnyttjar nya tekniker och teknologier baserade på avvikelse-medvetna konstruktionsmetoder – optimal sampling och konstruktionsspecifika ytterligheter (Design-Specific Corners). Optimal sampling består av effektiva samplingsalgoritmer som ger samma resultatnoggrannhet men med betydligt färre simuleringar jämfört med traditionell PVT-ytterlighets- och Monte Carlo-analys. Konstruktionsspecifika ytterligheter är ett minskat antal representativa ytterligheter som snabbt kan simuleras för att noggrant bestämma gränserna för avvikelser, inkluderande miljö- och slumpmässiga avvikelser. Med hjälp av dessa tekniker maximeras den mängd information som erhålls per simulering samtidigt som antalet simuleringar minimeras. Därmed behöver konstruktörer inte längre göra de avvägningar mellan noggrannheten och tidsåtgången för resultaten som kännetecknar traditionell analys av avvikelser.
Minskade förluster
Genom att använda tekniken kan konstruktörer minska de potentiella prestanda-, kraft-, utrymmes- och utbytesförlusterna med allt mellan 15% och 50% och utföra avvikelse-medvetna konstruktionsuppgifter mycket snabbare. Dessutom kan de göra detta utan att störa existerande standardiserade konstruktionsflöden.
Solidos flöde är fullt integrerad med simuleringsmiljöerna och konstruktionsflödena för specialkretsar från ledande EDA-verktygsföretag (Cadence, Synopsys, Mentor, Magma och Berkeley Design) liksom processflödena hos ledande kontraktstillverkare (TSMC och Global Foundries)
Nyckeln till snabb, noggrann och skalbar PVT-verifiering och extraktion av ytterligheter är evolutionär experimentdesign (DoE) med responsytemetodik (RSM), som är mellan två och 50 gånger snabbare än traditionella metoder.
Monte Carlo-statistisk verifiering kan utnyttja optimal spridningssampling (Optimal Spread Sampling) och densitetsuppskattning för 1,5 till 10 gånger snabbare resultat än med enkel Monte Carlo-analys, utan att bli mindre noggrann. Monte Carlo-statistisk ytterlighets-extraktion tar ut ytterligheter vid på förhand specificerade utbyten, och utnyttjar densitetsuppskattning, responsytemetodik och icke-linjär programmering för ytterligheter som är 5 till10 gånger noggrannare än ytterligheter framtagna med enkel Monte Carlo-analys.
För statistiska problem med högt sigma ger hög-sigma-tekniker flera storleksordningar snabbare resultat utan att bli mindre noggranna. Resutat från en optimal samplingskörning kan utnyttjas för att extrahera konstruktionsspecifika ytterligheter som representativa felfall att konstruera bort för att förbättra kretsen.
För närhets-relaterade problem är det viktigt att kombinera adaptiv sampling med känslighetsanalys. Genom att placera skyddsband endast där sådana behövs kan utrymmet minskas med över 50% och över-konstruktion undvikas. Genom att göra närhets-relaterade avvikelser synliga tidigare under konstruktionsflödet kan även under-konstruktion undvikas.
Genom att använda tekniken kan konstruktörer minska de potentiella prestanda-, kraft-, utrymmes- och utbytesförlusterna med allt mellan 15% och 50% och utföra avvikelse-medvetna konstruktionsuppgifter snabbare.
Avslutningsvis kan sägas att eftersom ledande konstruktioner alltmer övergår till processgeometrier inom sub-mikron-området måste konstruktörer hantera avvikelser effektivt för att tillgodose krav på lönsamhet. För konstruktörer innebär det ett behov att hantera olika avvikelser (globala och lokala processavvikelser, miljöavvikelser m m) och göra utbytet förenligt med prestanda (kraft, hastighet, utrymme m m) under intensiv tidspress. Användningen av ett avvikelse-medvetet konstruktionsflöde som utnyttjar konstruktionsspecifika ytterligheter gör att konstruktörer kan hantera avvikelser effektivt eftersom ytterligheterna simulerar snabbt och ändå är representativa för prestandagränser.
Amit Gupta, styrelseordförande och vd, Solido Design Automation Inc
Filed under: EDA