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.
| Kenmerk | Clock gating | Power gating |
|---|---|---|
| Bespaard vermogen | Dynamisch vermogen (schakelen van klokbedrading, flipflops en de logica erachter) | Zowel statisch vermogen (lekstroom) als dynamisch vermogen |
| Wat wordt stilgelegd | De klok naar de registers | De voeding naar het blok |
| Voeding | Blijft aan. Er blijft lekstroom lopen | Een vermogensschakelaar koppelt de voedingslijn van het blok los |
| Toestandsbehoud | Blijft behouden | Gaat verloren. De benodigde toestand wordt opgeslagen in retentie-flipflops (retentieregisters) of in geheugen |
| Hersteltijd | Eén tot enkele cycli | Lang. De voeding wordt ingeschakeld terwijl de inschakelstroom wordt beperkt en de toestand wordt teruggezet, meestal in de orde van µs |
| Benodigde schakelingen | ICG (een clock-gatecel met latch en AND) en logica die het enable-signaal maakt | Vermogensschakelaars (header of footer), isolatiecellen, retentie-flipflops en een schakeling die de voedingsvolgorde regelt |
| Granulariteit | Fijn. Bruikbaar vanaf enkele registers | Grof. Per blok (spanningsdomein), zoals een CPU-kern of IP-blok |
| Ontwerp en verificatie | Logicasynthesetools kunnen het automatisch invoegen op basis van enable-condities. STA voert clock-gatingcontroles uit | De power intent wordt beschreven in onder meer UPF, en ook het gedrag bij uitgeschakelde voeding en de volgorde worden geverifieerd |
| Overhead | Klein. Oppervlak en vertraging van de ICG | Oppervlak en spanningsval van de vermogensschakelaar en de energie voor opslaan en herstellen. Bij korte pauzes levert het niets op |
| Belangrijkste gebruik | In vrijwel alle digitale schakelingen om registers van niet-actieve functies stil te leggen | Blokken 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.