prezentace ke stažení

Transkript

prezentace ke stažení
Techniky Návrhu pro Nízkou Spotřebu
(Low Power)
Ing. Miloš Bečvář
[email protected]
PI-PSC
1
Osnova prezentace
° Příkon, spotřeba, plošná hustota příkonu
° Motivace pro návrh s ohledem na spotřebu a příkon
° Techniky minimalizace spotřeby na úrovni systému,
algoritmu a architektury
° Techniky minimalizace spotřeby na úrovni RTL
návrhu
° Gate-level techniky
PI-PSC
2
Základní pojmy – příkon obvodu
° Příkon obvodu (Power) [Watt]
• Statický
– Pstat=Vdd*Ioff
• Dynamický – Pdyn=f*a*C*Vdd2
P = Pstat + Pdyn
° Statický příkon (static power, leakage power) je dán zejména
podprahovými proudy Ioff zavřených tranzistorů a dalšími plazivými
proudy
° Dynamický příkon (dynamic power) je dán zejména opakovaným
nabíjením parazitních kapacit hradel a propojení
Pdyn=f*a*C*Vdd2
a … faktor aktivity obvodu
C … celková parazitní kapacita
f … hodinová frekvence
Vdd … napájecí napětí
Csw … nabíjená kapacita, Csw=a*C
Pdyn=f*Csw*Vdd2
PI-PSC
3
Na čem závisí faktory ovlivňující příkon v dané technologii
° Statický příkon
• Vdd … závisí na potřebné rychlosti návrhu nebo je dáno
• Ioff … závisí na prahovém napětí Vt tranzistoru (větší Vt ,znamená
menší Ioff)
• Pstat závisí na prostém počtu napájených tranzistorů s daným Vt v
obvodu
° Dynamický příkon
• Csw … složitost obvodu (C) a aktivita signálů (kolik se jich mění v
průměrném taktu) (a)
• f … hodinová frekvence závisí na délce kritického zpoždění v návrhu
(součet zpoždění hradel a propojení v kritické cestě)
• Vdd … závisí na potřebné rychlosti návrhu nebo je dáno
° Důležité poznatky:
(1) f závisí na Vdd (v určitém rozsahu)
• Lineární nárůst f => přibl. lineární nárůst Vdd => kubický nárůst Pdyn
(2) f závisí na Vt tranzistorů v kritické cestě – menší Vt => rychlejší hradla =>
větší f, větší Pstat
PI-PSC
4
Závislost zpoždění hradla na Vdd a Vth – CMOS 0.25u
High-Vth tranzistor: Vth=0.55 V, Ioff=2 *10-13 A*um-1
Low-Vth tranzistor: Vth=0.20 V, Ioff=6 *10-10 A*um-1
High-Vth invertor má cca 300 x nižší leakage než Low-Vth.
Ale pro Vdd=1V je High-Vth 3x pomalejší než Low-Vth.
PI-PSC
5
Závislost Pdyn a f na Vdd
Zdroj: Intel EMEA05
Frekvence a Vdd jsou obecně proměnnými návrhu !
Ale ne vždy je možné je libovolně volit (jiná omezení aplikace)
PI-PSC
6
Spotřeba a plošná hustota příkonu
° Příkon [Watt]
- Význam pro dimenzování napájecích cest
(maximální)
a pro celkovou spotřebu (průměrný)
° Spotřeba (energy consumption) [Joule]
• E = ∫Pdt
- Význam u baterií napájených zařízení
° Plošná hustota příkonu [Watt/cm2]
- Poměr příkonu vůči ploše čipu
- Souvisí s teplotou čipu a chlazením
- Průběh příkonu v čase a v oblastech čipu
PI-PSC
7
Motivace pro low power návrh
° Rostoucí zájem trhu o nejrůznější baterií napájená
přenosná zařízení
(mobilní telefony, iPOD, dig. camera, bezdrátové
periferie PC, …)
° Problémy se škálováním Vdd a f které vedou na nárůst
plošné hustoty příkonu a tím i teploty čipu – problém
s chlazením u vysoce výkonných procesorů
• Zařízení napájená z RF pole případně pomocí ‘energy
harvesting’ – extreme low power, low performance
• Špičková zařízení kde je problém jak s chlazením
procesoru tak s výdrží na baterie (netbooky, iPAD)
– low power, high performance
PI-PSC
8
Důsledky pro návrh číslicových obvodů
° Prakticky každý návrh musí dnes být power-aware
° Trochu odlišné strategie je možné zvolit pro minimalizaci příkonu,
spotřeby a plošné hustoty příkonu
° Minimalizace příkonu ovšem pomáhá i oběma zbývajícím faktorům
° Obtížnou úlohou je dosažení vysoké rychlosti výpočtu při
zachování hledisek spotřeby
° Zatímco klasický návrh procesorů uvažoval pouze CPI, f, a plochu
čipu dnes musíme uvažovat i Vdd, příkon, spotřebu a teplotu jako
faktory návrhu
PI-PSC
9
Úrovně optimalizace spotřeby
° Systémová
• Definice rozhraní, protokolů
• A/D dekompozice (u smíšených obvodů)
• Volba a optimalizace algoritmu výpočtu
• Definice operačních módů a jejich parametrů
• Rozdělení obvodu do napájecích domén
Efektivita optimalizace
Nejvyšší
100x
° Architekturní
• Volba typu implementace ASIC/FPGA/MCU
• Dekompozice mezi HW a SW
• Volba typu procesoru, použití koprocesorů
• Optimalizace SW
° RTL
• Typ časování
• Paralelizace logiky
• Hradlování hodin, datové cesty a další triky
° Hradlová
• Nízkopříkonová technologie
• Standardní buňky optimalizované pro low power
PI-PSC
Nejnižší
2x
10
Vliv Protokolu na Low Power Návrh (1)
° Příklad – USB protokol
° Existují různé kategorie zařízení z hlediska napájení (Self-Powered,BusPowered)
° Bus Powered zařízení v aktivním módu mohou spotřebovávat násobky
100 mA (max 5 x 100 mA) – 100 mA je cca 20x spotřeba běžné aktivní
myši
° Ale v USB suspend módu může zařízení spotřebovávat pouze 500 uA
PI-PSC
11
Vliv Protokolu na Low Power Návrh (2)
° 500 uA limit USB suspend módu:
• 200 uA přes resistory
• USB transceiver ve standby módu
20 uA (speciální mód)
• Regulátory 80 uA
• USB logic 50 uA (detekce bus
wakeup)
• Zbývá 150 uA na aplikaci
(MCU + Optický sensor)
200 uA
Přes sběrnici
USB
Transc.
450 uA /
20 uA
Regulator
5V to 3.3V
50 uA
USB
Logic
50 uA
Regulator
3.3V to 1.8V
30 uA
° Z 500 uA limitu je režie
protokolu 70 %
MCU
Optical
Sensor
PI-PSC
° Existence USB suspend
módu vyžaduje low-power
návrh aplikace
12
Vliv Protokolu na Low-Power Návrh (3)
° Příklad 2: Pasivní UHF RFID
Důležitým parametrem u RFID
obvodů je čtecí / zápisová vzdálenost.
Ta je dána zejména nutnou intenzitou
RF pole k těmto operacím.
Energie je ztrácena v usměrňovači
(obsahuje napěťový násobič) a v
analogových obvodech.
Po odečtení statické spotřeby analogových
bloků zbývá na logiku jen několik jednotek
či desítek uA.
U RFID bývá kritický i průběh spotřeby v čase. Energie může být ve formě náboje
uložena ve filtračním kapacitoru a použita k hrazení špičkových odběrů při
čtení/zápisu.
Z toho důvodu je zajímavá statická – standby spotřeba když obvod ‘čeká na
příjem’ RFID paketu – zde je zásadní vliv kódování paketu a protokolu.
PI-PSC
13
Vliv Protokolu na Low-Power Návrh (4)
° Příjem paketu v pulse-positional encoding:
0
2
1
3
0
2
1
3
0
1
Příklad Příjmu 0110
0
1
1
0
° Přijímač je založen na čítači doby mezi náběžnými hranami signálu
° Jednoduchý automat rozpoznává podle stavu čítače 0 a 1.
° Spotřeba ve stavu „Listen“ je dána zejména frekvencí hodin přijímače
(spotřeba oscilátoru + cca 5 DFF v přijímači)
° Zajímavý problém návrhu: Nižší frekvence oscilátoru => nižší spotřeba ale i
vyšší chybovost příjmu (horší schopnost rozlišení 0/1)
° Reálně protokol u RFID determinuje minimální frekvenci hodin přijímače
=> minimální napětí z hlediska časování a také spotřebu logiky => čtecí
vzdálenost
PI-PSC
14
Definice Operačních Módů Obvodu
° Následuje tvorba modelu spotřeby v různých módech – s ohledem na
spotřebu různých bloků
° Umožňuje provádět odhady vlivu parametrů návrhu na spotřebu
° Model je udržován v průběhu návrhu a průběžně zpřesňován
° Existují automatizované nástroje, ale typicky jsou vhodné jen pro
určitou třídu obvodů. Firmy častěji používají vlastní in-house nástroje
nebo MS Excel.
° Pro úspěšnou optimalizaci spotřeby je nutné vědět časové procento,
které obvod stráví v daném módu => optimalizace spotřeby se potom
soustředí na příslušný blok kde je potenciálně nejvyšší úspora
(analogie Amdahlova zákona).
PI-PSC
15
Návrh energeticky efektivní architektury
° Dána operace a časový limit T na její provedení (typická situace
ve vestavných systémech)
° Hledáme architekturu pro výpočet operace, která bude trvat CPO
taktů (Cycles Per Operation) při hodinové frekvenci f
T
CPO clock cycles
• Platí : T=CPO / f
• Příkon Pdyn = f*Csw*Vdd2
• (Spotřeba) Energie na operaci E = Pdyn*T = f*Csw*Vdd2 *CPO / f = CPO*Csw*Vdd2
• Měřítko efektivity [MOPS/Watt] = 106*f/(CPO* f*Csw*Vdd2) = 106 / (CPO*Csw*Vdd2)
ENERGETICKY efektivní architektura má minimální CPO => minimální f => minimální Vdd
Csw může i mírně vzrůst, při minimalizaci CPO a Vdd je to téměř vždy lepší.
PI-PSC
16
Minimalizace energie na operaci - CPO*Csw*Vdd2
ASIC vs FPGA vs CPU
° ASIC implementace je typicky nejefektivnější př.:
- hodiny jako čítač vs hodiny jako program na MCU–
1 takt v HW vs 6*CPI taktů na CPU
- 8-bitové násobení – 8 taktů v HW, 56 taktů na CPU
bez násobičky …
° FPGA implementace efektivnější než CPU
ale horší než ASIC (statická spotřeba v řádu desítek
mA je problém pro přenosná baterií napájená zařízení)
PI-PSC
17
Energetická efektivita vs Flexibilita
PI-PSC
18
Volba typu CPU
• CPO = IC * CPI – minimalizovat tento faktor !
• Minimalizace počtu instrukcí (IC) i průměrného počtu taktů na
instrukci (CPI)
• Šířka slova aplikace = šířka slova procesoru
(8b násobení na 8-bit CPU = 56 taktů, 16b násobení na 8-bit CPU
170 taktů)
• DSP pro datově intenzivní výpočty, MCU pro řídící aplikace
(výpočetně nenáročné)
• RISC typicky efektivnější (CPI), pokud IC nevzroste moc (u
většiny aplikací – ale pozor na šířku dat)
• Nestandardní šířka dat (nenásobek 8b)
– má smysl uvažovat o vlastním CPU jádru
PI-PSC
19
Rozdělení Shiftregistru Do Dvou Větví
Pdyn ≅ Csw*(f/2)*Vdd2
PI-PSC
Kritické zpoždění
které může zabránit
snížení Vdd
20
Rozdělení paměti do bank
Pdyn ≅ Csw*(f/M)*Vdd2
Kde M je počet bank.
PI-PSC
21
RTL techniky – Paralelizace Logiky
© Ch.Piquet, CSEM
Pdyn = M*Csw*(f/M)*Vdd2 = Csw*f*Vdd2
Kde M je počet replikací
Úspora spočívá v nižším Vdd logiky pro f/M
Obdobný efekt poskytuje i pipelining, kde nezvýšíme f, ale snížíme Vdd
PI-PSC
22
Optimalizace spotřeby na úrovni RTL
° Každý blok používá nejpomalejší možné hodiny
(minimalizace f)
° Každé hodiny tikají jen, když je to užitečné
(minimalizace Csw)
Konflikty low power technik návrhu
- problémy se statickou časovou analýzou (STA) a
constrains pro syntézu
- problémy s DFT technikami (full-scan, controlability,
observability)
PI-PSC
23
Paralelizace logiky - příklad
© Ch.Piquet, CSEM
PI-PSC
24
Hodiny a hodinové děličky
D
D
D
D
Clk
Clk/2
Clk/4
Clk/8
Clk
Clk/2
Clk/4
° Asynchronní dělička (ripple counter) je mnohonásobně
efektivnější než synchronní dělička
° Spotřeba N-bitového ripple counteru < spotřeba
2-bitového synchronního čítače
° I přes problémy se STA jsou ripple countery
nezastupitelné v low-power návrhu
PI-PSC
25
Volba typu časování – DFF vs Double Latch
CK1
CK2
tH
tD
Period
Vícefázové hodiny umožňují
– toleranci skew
- slack-borrowing
- nativní hradlování hodin
=> Efektivnější časování než jednofázové hodiny, ale složitější na návrh
PI-PSC
26
Hradlování hodin – základní low-power technika
Není obecně korektní:
D
SET
CLR
Q
Combinatorial
Logic
Unsafe
enable
D
SET
Q
Gated clk
Q
CLR
Q
clk
Korektní:
Integrovaný „Clock Gating Cell“
(v některých knihovnách)
PI-PSC
27
Hradlování Hodin
° Hradlování hodin typicky na dvou úrovních:
• High-level – na úrovni velkých bloků, typicky vloženo ručně neboť
bývá kořenem hodinového podstromu. Souvisí s operačními módy
obvodu.
• Low-level (fine-grained) – vloženo syntézou:
Clkpr: PROCESS (clk)
BEGIN
IF clk’event AND clk=‘1’ THEN
IF ec=‘1’ THEN
q <= d;
Hradlování hodin vloženo, pokud
počet DFF > konst.
END IF;
(konst. typicky zvolena 3-4)
END IF;
END IF;
PI-PSC
28
Hradlování hodin – rizika a problémy
° Hradlování hodin většinou snižuje průměrnou spotřebu návrhu,
vždy však zvyšuje maximální okamžitou odběrovou špičku
° Nevhodně vložený clock-gating může zvýšit i průměrnou spotřebu
• Pokud je enable signál statisticky spíše povolen než zakázán
• Hodinový podstrom s clock-gatingem má vyšší zpoždění a vede na potřebu
balancovat stále aktivní větev stromu
! Trvale běžící část !
! Hradlovaná část !
PI-PSC
29
Low Power Optimalizace Synchronních Automatů (1)
° Clock-Gating Stavového registru
° Fa je přibližná funkce určující kdy automat mění stav
S1
S2
° Umožňuje eliminovat všechny nebo některé čekací smyčky
v přechodové funkci automatu
PI-PSC
30
Low Power Optimalizace Synchronních Automatů (2)
° Dekompozice automatu
PI-PSC
31
Low Power Optimalizace Synchronních Automatů (3)
° Hierarchická dekompozice
° 1 stav FSM1 odpovídá sekvenci stavů FSM2
° FSM2 bývá nejčastěji čítač
PI-PSC
32
Low Power Optimalizace Synchronních Automatů (4)
° Sekvenční dekompozice
° Vhodné pokud automat v čase ovládá 2 různé bloky datové cesty
(t.j. mají převážně nezávislé výstupy)
° Výsledkem jsou 2 jednodušší automaty které si předávají řízení
PI-PSC
33
Low Power Optimalizace Synchronních Automatů (5)
° Optimalizace kódování stavu automatu pro spotřebu
° ASICentrum heuristika vychází z výběru takového kódování automatu, aby
průměrná Hammingova vzdálenost při přechodu mezi stavy byla minimální
° Viz http://www.scalopes.eu
PI-PSC
34
Optimalizace Statické Spotřeby (Vdd*Ioff)
° Problém se zhoršuje u jemnějších technologií
° Největší leakage – paměti, registrová pole
Používají se High-Vth tranzistory
° Vypínání napájecího napětí pro segmenty logiky:
Duální registr pro zachování
stavu
High-Vth
tranzistory
Low-Vth
tranzistory
High-Vth
tranzistory
° Praktická realizace po jednotlivých hierarchických blocích je složitější.
Zejména je třeba zabránit nedefinovanému vodiči vedoucímu na hradlo
které je napájené ! Nástroje pro kontrolu a optimalizaci příliš zatím
neexistují – ruční kontrola !
PI-PSC
35
Postup Low-Power Syntézy
Pro současné techologie je vhodné
druhé kolo power optimalizace
provádět při rozmístění a propojení.
Podporované optimalizace:
• Minimalizace Csw na kritické cestě
• Automatické vkládání hradlování hodin
• Volba low-power buněk
• Automatické vkládání level-shifterů mezi
napájecí domény obvodu
• Syntéza do standardních buněk multi-Vt –
pouze kritická cesta z low-Vt, ostatní – high
Vt buňky (minimalizace statické spotřeby)
PI-PSC
36
Optimalizace na úrovni layoutu (std. buňky)
Podpora automatických nástrojů:
° Vložení hodinového stromu s ohledem na minimalizaci spotřeby
° Power-annotated Placement and Routing
Ale moc dobře to nefunguje takže:
° Ruční optimalizace definice hodinového stromu (minimalizace bufferů)
° Ruční předrozmístění kritických bloků (hodinový strom)
° Separátní blok standardních buněk s nejkritičtější spotřebou
(typicky logika, která běží stále)
° Ruční layout kritických bloků (např. přijímač v RFID)
PI-PSC
37
Asynchronní Návrh pro Low Power (1)
Typy asynchronních obvodů:
° Klopné obvody – vnitřně jde o asynchronní obvody. Lokální a známé
zpoždění hradel a zanedbatelné zpoždění propojení. Vnější systém musí
splnit setup/hold podmínky.
° Delay Insensitive (DI) – fungují pro libovolné zpoždění hradel a
propojení. Vysílač musí čekat na potvrzení od přijímače než pošle další
data. Přijímač musí mít schopnost detekovat dokončení (data dorazila).
Obvody nahrazují hodinový signál několika hand-shake signály.
° Speed Independent (SI) – libovolné zpoždění hradel a zanedbatelné
zpoždění propojení.
° Quasi Delay Insensitive obvody (QDI) – neomezené zpoždění hradel a
propojení, ale některá zpoždění jsou stejná (tzv. isochronic fork)
° Self-Timed Circuits (ST) – zkládají se ze ST elementů. Ty jsou navrženy
jako SI obvody nebo se znalostí zpoždění. Zpoždění mezi elementy opět
může být libovolné. Lze chápat jako metodu realizace DI obvodů.
PI-PSC
38
Asynchronní Návrh pro Low Power (2)
° Pozitiva:
• High Performance & Low Power (většinou)
• Instantní reakce z Idle módu
• Nízký šum a nízké EMI
• Adaptace na změněné PVT
° Problémy:
• Využití potenciálu skutečně asynchronního obvodu v rámci jinak
synchronního prostředí může být obtížné
• Zcela odlišný způsob návrhu spíše na bázi paralelního programování
(specializované jazyky, Petriho sítě) – včetně náchylnosti k
sémantickým problémům typu deadlock, livelock a pod.
• Pro jednoduché obvody typu FSM může jít o overkill a asynchronní
obvod může mít i vyšší spotřebu (dominován hand-shake signalizací)
° Nicméně:
• Existují úspěšné průmyslové aplikace – např. firma Handshake
Solutions (spinoff Philips Semiconductors)
• Existují asynchronní IP jádra (8051, AMR996) i CAD nástroje
umožňující finální implementaci pomocí standardních buněk
• Řada aplikací v oblasti automotive, smartcard a wireless
komunikace.
PI-PSC
39
Závěry
° Hledisko spotřeby, příkonu a/nebo teploty je dnes
součástí téměř KAŽDÉHO digitálního návrhu
° Spotřebu a příkon je třeba minimalizovat na všech
úrovních abstrakce
° Dobrý systémový návrh je těžké pokazit na nižších
úrovních, ale špatný je obtížné kompenzovat
° Techniky pro vysokou výkonnost jsou i technikami
pro nízkou spotřebu (paralelismus, pipelining)
° Pro energetickou efektivitu minimalizovat
CPO*Csw*Vdd2 = maximalizovat MOPS/Watt
° Na úrovni obvodové minimalizovat f a Csw
PI-PSC
40