Clock gating versus power gating: vermogen, hersteltijd en toestandsbehoud

Beide zijn technieken voor energiezuinig ontwerp die het vermogen van ongebruikte schakelingen verlagen, maar ze leggen iets anders stil. Clock gating stopt de klok naar registers zodat signalen niet meer schakelen, en verlaagt zo het dynamische vermogen. De voeding blijft aan, dus de toestand blijft behouden en de schakeling kan binnen één tot enkele cycli weer verder. Power gating schakelt de voeding van een blok met een schakelaar af en elimineert naast het dynamische vermogen ook vrijwel het statische vermogen door lekstroom. De toestand gaat daarbij echter verloren, zodat een mechanisme om die op te slaan nodig is, en het herstel kost ook tijd.

KenmerkClock gatingPower gating
Bespaard vermogenDynamisch vermogen (schakelen van klokbedrading, flipflops en de logica erachter)Zowel statisch vermogen (lekstroom) als dynamisch vermogen
Wat wordt stilgelegdDe klok naar de registersDe voeding naar het blok
VoedingBlijft aan. Er blijft lekstroom lopenEen vermogensschakelaar koppelt de voedingslijn van het blok los
ToestandsbehoudBlijft behoudenGaat verloren. De benodigde toestand wordt opgeslagen in retentie-flipflops (retentieregisters) of in geheugen
HersteltijdEén tot enkele cycliLang. De voeding wordt ingeschakeld terwijl de inschakelstroom wordt beperkt en de toestand wordt teruggezet, meestal in de orde van µs
Benodigde schakelingenICG (een clock-gatecel met latch en AND) en logica die het enable-signaal maaktVermogensschakelaars (header of footer), isolatiecellen, retentie-flipflops en een schakeling die de voedingsvolgorde regelt
GranulariteitFijn. Bruikbaar vanaf enkele registersGrof. Per blok (spanningsdomein), zoals een CPU-kern of IP-blok
Ontwerp en verificatieLogicasynthesetools kunnen het automatisch invoegen op basis van enable-condities. STA voert clock-gatingcontroles uitDe power intent wordt beschreven in onder meer UPF, en ook het gedrag bij uitgeschakelde voeding en de volgorde worden geverifieerd
OverheadKlein. Oppervlak en vertraging van de ICGOppervlak en spanningsval van de vermogensschakelaar en de energie voor opslaan en herstellen. Bij korte pauzes levert het niets op
Belangrijkste gebruikIn vrijwel alle digitale schakelingen om registers van niet-actieve functies stil te leggenBlokken uitschakelen die lange tijd niet worden gebruikt. Diepe idle-toestanden van CPU's, ongebruikte blokken in smartphone-SoC's

De getalswaarden zijn typische ordegroottes en variëren per procesgeneratie en product.

Wanneer welke variant?

Clock gating
Altijd wanneer een schakeling niet actief is, van enkele cycli tot lange tijd. Herstel is direct en de toestand blijft behouden, dus het wordt in vrijwel alle digitale schakelingen gebruikt.
Power gating
Wanneer een blok lange tijd niet wordt gebruikt en wanneer lekvermogen een groot aandeel heeft (fijne processen of hoge temperatuur). Te gebruiken als de pauze lang genoeg is om de energie voor opslaan en herstellen terug te verdienen.
Combinatie
Gebruikelijk is een getrapte aanpak: eerst de klok stoppen en, als de pauze lang dreigt te worden, de toestand opslaan en ook de voeding uitschakelen. Het wordt ook gecombineerd met DVFS.

Veelgestelde vragen

Waarom volstaat een AND-poort niet om de klok te stoppen?

Als het enable-signaal verandert terwijl de klok 1 is, ontstaat er een korte puls (glitch) op de klok en kunnen flipflops onterecht schakelen. Een ICG houdt het enable-signaal vast in een latch die alleen doorlaat als de klok 0 is en neemt pas daarna de AND, zodat er geen glitches ontstaan.

Waarom duurt herstel bij power gating lang?

Omdat de grote capaciteit van het uitgeschakelde blok opnieuw moet worden opgeladen. Als alle schakelaars tegelijk aangaan, loopt er een grote inschakelstroom en zakt de voedingsspanning van andere, actieve schakelingen, dus worden de schakelaars geleidelijk na elkaar ingeschakeld. Daarna zijn ook een reset en het herstellen van de toestand nodig.

Waarom zijn isolatiecellen nodig?

De uitgangen van een uitgeschakeld blok krijgen een spanning die noch 0 noch 1 is. Als een actief blok die rechtstreeks ontvangt, kan het fout gaan werken of kan er kortsluitstroom door de ingangspoorten lopen. Isolatiecellen zetten de signalen op de grens vast op een bepaalde waarde (0 of 1).

Moet je ook bij korte pauzes de voeding uitschakelen?

Niet per se. Uitschakelen kost energie voor het opslaan en herstellen van de toestand en het opladen van capaciteiten. Als de pauze niet langer is dan de tijd waarin het bespaarde lekvermogen dat terugverdient (de break-eventijd), kost het juist meer. Gebruik voor korte pauzes clock gating.

Test uw begrip

Welke laagvermogenontwerpmethode vermindert onnodig vermogensverbruik door de klok naar ongebruikte schakelingsblokken stil te zetten?

  1. AOverklokken
  2. BClock gating
  3. CScanontwerp
Antwoord en toelichting tonen

Antwoord: B. Clock gating

Clock gating is een methode die de klok naar blokken die niet hoeven te werken stopzet, zodat onnodig schakelen van flipflops en klokbedrading wegvalt en het dynamische vermogen afneemt. Tools voor logische synthese kunnen ook automatisch registers vinden waarvan de waarde onder bepaalde voorwaarden niet verandert en clock gating invoegen. De lekstroom neemt echter niet af, dus de methode wordt gecombineerd met power gating, waarbij de voeding zelf wordt uitgeschakeld. Overklokken is het verhogen van de frequentie en scanontwerp is een testmethode.

Welke uitspraak over power gating is juist?

  1. AAlleen de toevoer van de klok naar een schakelingsblok stopzetten
  2. BDe voedingstoevoer naar ongebruikte schakelingsblokken met een schakelaar afsluiten, zodat ook het lekvermogen vrijwel verdwijnt
  3. CDe voedingsspanning verdubbelen om de verwerking te versnellen
Antwoord en toelichting tonen

Antwoord: B. De voedingstoevoer naar ongebruikte schakelingsblokken met een schakelaar afsluiten, zodat ook het lekvermogen vrijwel verdwijnt

Bij clock gating stopt het schakelen, zodat het dynamische vermogen afneemt, maar zolang de voeding verbonden is, blijft er lekstroom vloeien. Bij power gating wordt een grote transistorschakelaar tussen blok en voeding uitgeschakeld en de voeding zelf afgesneden, zodat ook het lekvermogen vrijwel verdwijnt. In smartphone-SoC’s worden de voedingen van ongebruikte CPU-cores, GPU’s en diverse accelerators regelmatig uitgeschakeld.

Welke combinatie van aandachtspunt en tegenmaatregel is juist voor een blok waarvan de voeding met power gating is afgesloten?

  1. AOok na uitschakelen blijft de inhoud altijd behouden, dus er hoeft niets te gebeuren
  2. BDe inhoud van de flip-flops gaat verloren, dus noodzakelijke toestand wordt vóór het uitschakelen opgeslagen in retentieregisters of extern geheugen
  3. CBij uitschakelen wordt de spanning van de andere blokken verdubbeld
Antwoord en toelichting tonen

Antwoord: B. De inhoud van de flip-flops gaat verloren, dus noodzakelijke toestand wordt vóór het uitschakelen opgeslagen in retentieregisters of extern geheugen

Flip-flops en SRAM van een uitgeschakeld blok verliezen hun inhoud, dus om bij het herstellen verder te kunnen gaan, moet de toestand voor het uitschakelen worden opgeslagen. Dit kan met retentieregisters, die een klein, altijd gevoed geheugen hebben, of door de toestand met software naar geheugen te schrijven. Opslaan, herstellen en het opstarten van de voeding kosten tijd en energie, dus bij korte pauzes is uitschakelen soms niet gunstig.

  1. Welke vergelijking tussen clock gating en power gating is juist?
  2. Wat is de juiste rol van isolatiecellen die op de grens tussen een met power gating uitgeschakeld blok en een werkend blok worden geplaatst?
  3. Wat controleert de clock-gating-check van STA juist in een schakeling die de klok stopt met een AND-poort met 2 ingangen voor de klok en een enable-signaal?

Oefenvragen over Energiebeheer (softwaregestuurd)

Belangrijke termen uitgelegd

Clock gating
Laagvermogen-ontwerptechniek waarbij de klok naar ongebruikte circuitblokken wordt stopgezet om onnodig schakelvermogen te beperken.
Power gating
Energiebesparende methode waarbij de voeding naar ongebruikte schakelingsblokken met een schakelaar wordt afgesneden, zodat ook het lekvermogen vrijwel verdwijnt. Er moet rekening worden gehouden met de tijd voor opslaan en herstellen van de toestand.
Retentieregister (retention register)
Flipflop die bij power gating ook tijdens de uitgeschakelde periode zijn toestand behoudt met een klein, altijd gevoed geheugen. Na het herstellen van de voeding kan het circuit verdergaan waar het was.
Isolatiecel (isolation cell)
Cel op de grens die ervoor zorgt dat de werkende zijde een vaste waarde krijgt, ook als de uitgang van een uitgeschakeld blok onbepaald wordt.
Voedingsdomein (power domain)
Gedeelte van de chip dat dezelfde voedingsspanning en dezelfde regeling van aan- en uitschakelen deelt. Spanning en voeding zijn per blok te beheren.

Verwante vergelijkingen