JavaScript is currently disabled.Please enable it for a better experience of Jumi.
Effektminimering är komplext och kräver täta samband mellan alla verktyg i konstruktionsflödet, skriver Arvind Narayanan på Magma Design Automation.
Energiförbrukningen är ett av de mest kritiska optimeringskraven för modern kretskonstruktion, men lämnas ändå ofta till sent under konstruktionsprocessen, vilket skapar väsentliga problem. Denna artikel beskriver hur effektoptimering kan vara en integrerad del i hela konstruktionsflödet och tacklar problem med effektjustering och optimering.

Kraven på lågeffektkonstruktioner skapar betydande utmaningar för konstruktörer av digitala integrerade kretsar. Detta kräver alltmer komplexa kompromisser för timing, effekt och yta genom hela konstruktionsflödet för både dynamisk och statisk effekt, och detta är en enorm utmaning. Dessa frågor har ett tätt samband, och lågeffektanalys och optimeringsmotorer måste integreras med – och utnyttjas genom – hela flödet från RTL-en vid starten till GDSII.

Dynamisk effekt. En konstruktions dynamiska effekt bestäms av en kombination av dess kapacitans, spänning eller frekvens. Men det finns ett antal viktiga samspel mellan dessa tre parametrar som måste övervägas för att minska totalvärdet.

Exempelvis finns det en balans mellan att göra transistorerna i en logikgrind stora nog för att ge svängrum för båda att vara på under minimal tid, men inte så stora att alla energivinster upphävs av ökad kapacitans, mer störningar, transientdistorsion och överhörning.

På motsvarande sätt kan transistorerna vara för små, vilket lämnar båda på och gör att den underdimensionerade grinden lätt utsätts för störningar och överhörning.

En minskning av frekvensen för systemets klocka kan minska effekten men även minska prestandan, så att fler block kan användas parallellt vid en lägre hastighet för att minska den totala effektförbrukningen. Men detta måste göras på arkitekturnivå innan RTL-koden genereras. Lägre spänningar och frekvenser kan sedan potentiellt användas i de olika blocken.

Detta kan även kopplas till klockans anslutning, i vilken endast de block som utnyttjas klockas. Men då måste balansering av fördröjningarna läggas till för att minska antalet förvrängning och andra potentiella lokala dataproblem, vilket påverkar frekvensbehovet och den totala kapacitansen.

Den energi som förbrukas av klockträdets nät är även en väsentlig andel av den totala energiförbrukningen på en krets och särskilt för mindre geometrier har det har blivit viktigt att betrakta effekt som en kostnadsfunktion vid styrningen av klockträdsmatningen. Olika tekniker kan utnyttjas under såväl RTL-syntes som fysisk syntes, såsom omfattande täckning för klockans anslutning, kloning och avkloning av klockgrindar, effektmedveten buffring, dimensionering och placering av klockgrindar. Andra tekniker, såsom användning av multi-Vt-transistorer, hierarkisk anslutning av klockor och aktivitetsbaserad anslutning av klockor ger också ytterligare effekt-besparingar.

En allt vanligare teknik är att dela upp konstruktionen i ett antal ”spänningsöar”, där öar med lägre spänning har lägre prestanda men betydligt mindre dynamisk kraftförbrukning.

När konstruktionen delas upp i flera spänningsöar måste passande nivåskiftningselement läggas in i nettolistan för koppling av signaler som går från en spänningsdomän till en annan. En verkligt effektmedveten konstruktionsmiljö bör lägga in dessa celler automatiskt.

Klockträden i en konstruktion kan svara för upp till 50 procent av den dynamiska effektförbrukningen. Konstruktionsmiljön bör ha effektmedveten klockträdssyntes som utför intelligent klusteroptimering för förbättrad balans av klockkluster. Detta bidrar till effektbesparingar senare i flödet.

Alla dessa tekniker skapar en omfattande uppsättning av komplexa kompromisser, från arkitekturnivån ner till den detaljerade implementeringen, som samtliga måste länkas samman i en enda konstruktionsmiljö. Detta är dock inte möjligt med de diskreta konstruktionsverktyg som utnyttjas idag.

Statisk effekt. Med den nya generationen processteknik är strömläckaget från inaktiva komponenter ett enormt problem. Denna ström måste minskas, men den har ett exponentiellt förhållande till temperaturen och kopplingströskeln, vilket är ett svårt optimeringsproblem.

En väg runt delar av problemet är att använda bibliotek med komponenter som utnyttjar flera tröskelspänningar (Vt). En del områden av konstruktionen utnyttjar sedan transistorer med låg tröskel som switchar snabbt men har större läckage och förbrukar mer ström, medan andra områden utnyttjar transistorer med högre tröskel som har mindre läckage och som förbrukar mindre ström, men som switchar långsammare.

Detta verkar enkelt, men när matningsspänningen minskas minskar även den mängd värme som genereras. Det minskar i sin tur den statiska effektförbrukningen men ökar samtidigt grindfördröjningen. Minskade kopplingströsklar ökar hastigheten, men ökar temperaturen och ökar därmed exponentiellt den statiska effektförbrukningen.

Det finns även andra statiska effekter såsom spänningsfall. Dessa beror av fallet från resistansen i nätverkets ledningar som används för att fördela kraft och jord från externa ben till interna kretsar och ökar i betydelse när kretsens storlek och komplexitet ökar.

Varje kraft- och jordspårdel har liten resistans, så den logikgrind som är närmast de primära matningsbenen eller jordbenen får optimal matning, medan nästa grind i kedjan får något försämrad matning och så vidare nedåt i kedjan.

Denna in-till-ut-fördröjning över en logikgrind ökar när den spänning som matas till grinden minskar, vilket kan göra att grinden inte uppnår sina timingspecifikationer.

Alla strömkällor är inte helt stabila, så effekter av transient- eller AC-spänningsfall kan orsaka problem när ett stort antal registerelement switchar samtidigt. På så vis kan betydande ”förvrängningar” i effektmatningen fortplanta sig till logiken.

De senaste processerna utnyttjar tunnare metallspår för ledningsdragningen, och detta ökar ström- och jordspårens resistans och därmed spänningsfallseffekterna. Medan dessa effekter kan minskas av ökad spårbredd upptar detta mer utrymme på kretsen, vilket ökar kostnaden eftersom logikgrindar måste vara mer utspridda och orsakar routingträngsel som innebär att konstruktionen tar längre tid att routa. Spridning av logikblocken ökar även fördröjningarna och effektförbrukningen från längre signalledare. Denna komplicerade kompromiss är en av orsakerna till att dagens komplexa systemkretsar tar så lång tid att utveckla.

Dessa problem kan inte lösas effektivt ett och ett med  enskilda verktyg. Exempelvis ökar även de fördröjningar som härrör från ledare drivna av undermatade grindar och de ingående kopplingströsklarna modifieras när matningen minskar, så grindarna blir mer mottagliga för störningar.

Ett annat sätt att tackla statiskt läckage är att selektivt stänga av delar av konstruktionen när de inte används, med hjälp av hög-Vt-switchar. Dessa kopplar de övergripande konstanta spänningsmatningsvägarna till de lokala switchade matningsvägarna och gör att matningen till de lokala banorna kan switchas på och av. Detta ger fin-, medel- och grovkornig styrning, eller matningsanslutning.

Allt detta måste dock vara en del av den framväxande konstruktionen för strömdistributionsnätet, snarare än en eftertanke senare i konstruktionsprocessen. Tidig analys av strömmatningen måste utföras när matningsnäten fortfarande är ofullständiga, så att de strömförbrukande delarna kan fördelas jämnt över kretsen, vilket undviker ”hot spots” och lokala problem med spänningsfall. Då kan ledarbreddande algoritmer utnyttjas för att lösa problem med spänningsfall och elektromigration. Men allt detta härrör ur tidig, integrerad analys.

Konstruktionsverktyg. Effektanalys utförs för närvarande av specialverktyg från tredje part som antingen utnyttjar flera databaser eller kombinerar olika datamodeller i en databas. Detta gör datahanteringen klumpig, tidsödande och känslig för fel.

Det största problemet är dock att detta tillvägagångssätt gör det väldigt dyrt att åtgärda fel efter layouten. Detta gäller särskilt manuella åtgärdanden.

Om analysen körs efter korrigeringen kan den visa att den inte har fungerat eller har introducerat nya fel i konstruktionen som kräver ytterligare analys, vilket ger tidskrävande och dyrbara upprepningar för att fixa problemet och sedan omanalysera.

Om analysen kan vara en del av konstruktionsprocessen undviker man behovet av efterkorrigering, och om så behövs kan den optimala vägen hittas för att undvika upprepningar.

Ett exempel är hanteringen av spänningsfallseffekter. Här är det viktigt att ha en miljö som kan märka om timingen på varje cell, utifrån respektive spänningsfall. Timinganalysmotorn använder sedan dessa ommärkta timingdata för att identifiera förändringar av kritiska vägar. Därefter modifierar optimeringsmotorn cellerna för att ta itu med potentiella setup- eller håll-problem som uppstår som ett resultat av timingförändringarna.

Konstruktionsmiljön måste sömlöst och parallellt kunna hantera effektanalysen, spänningsfallsanalysen, ommärkningsberäkningarna, timinganalysen och optimeringsmotorerna.

Slutsats. Endast genom att köra effektanalysverktyg jämsides med implementeringsverktygen kan en verklig lågeffektsmiljö implementeras. Detta måste inkludera analys av syntesen, placering och ledningsdragning, klockträdssyntes, extraktion, timing och signalintegritet, som samtliga utnyttjar en gemensam datamodell med samverkande tillgång till analysdata.

Magmas konstruktionssystem Talus integrerar samtliga kretsimplementerings- och analysmotorer via en gemensam datamodell, och förändringar som görs av ett verktyg testas och valideras omedelbart av de övriga. Detta gör att den optimala lösningen för kraft, prestanda och utrymme kan nås utan tidsödande iterationer.
MER LÄSNING:
 
SENASTE KOMMENTARER
Kommentarer via Disqus