Lecture 23 – Sleep Modes Borivoje Nikolić

60
inst.eecs.berkeley.edu/~ee241b Borivoje Nikolić EE241B : Advanced Digital Circuits Lecture 23 – Sleep Modes 1 EECS241B L23 SLEEP Wave Computing and MIPS Wave Goodbye by Mike Gianfagna on 04-19-2020 at 8:00 Word on the virtual street is that Wave Computing is closing down. The company has reportedly let all employees go and filed for Chapter 11. As one of the many promising new companies in the field of AI, Wave Computing was founded in 2008 with the mission “to revolutionize deep learning with real-time AI solutions that scale from the edge to the datacenter.” https://www.semiwiki.com

Transcript of Lecture 23 – Sleep Modes Borivoje Nikolić

Page 1: Lecture 23 – Sleep Modes Borivoje Nikolić

inst.eecs.berkeley.edu/~ee241b

Borivoje Nikolić

EE241B : Advanced Digital Circuits

Lecture 23 – Sleep Modes

1EECS241B L23 SLEEP

Wave Computing and MIPS Wave Goodbyeby Mike Gianfagna on 04-19-2020 at 8:00 Word on the virtual street is that Wave Computing is closing down. The company has reportedly let all employees go and filed for Chapter 11. As one of the many promising new companies in the field of AI, Wave Computing was founded in 2008 with the mission “to revolutionize deep learning with real-time AI solutions that scale from the edge to the datacenter.”

https://www.semiwiki.com

Page 2: Lecture 23 – Sleep Modes Borivoje Nikolić

Announcements

• Assignment 4 due on Friday.

• Reading• Rabaey, LPDE, Chapter 8

2EECS241B L23 SLEEP

Page 3: Lecture 23 – Sleep Modes Borivoje Nikolić

Outline

• Module 5• Sleep modes

• Optimal thresholds and supplies

3EECS241B L23 SLEEP

Page 4: Lecture 23 – Sleep Modes Borivoje Nikolić

5.J Lowering Leakage During Design: Transistor Stacking

4EECS241B L23 SLEEP

Page 5: Lecture 23 – Sleep Modes Borivoje Nikolić

Power /Energy Optimization Space

Constant Throughput/Latency Variable Throughput/Latency

Energy Design Time Sleep Mode Run Time

Active

Logic designScaled VDD

Trans. sizingMulti-VDD

Clock gatingDFS, DVS

Leakage

Stack effectsTrans sizingScaling VDD

+ Multi-VTh

Sleep T’sMulti-VDD

Variable VTh

+ Input control

+ Variable VTh

EECS241B L23 SLEEP 5

Page 6: Lecture 23 – Sleep Modes Borivoje Nikolić

Stack Effect

Reduction (in 0.13μ):

Narendra, ISLPED’01EECS241B L23 SLEEP 6

Page 7: Lecture 23 – Sleep Modes Borivoje Nikolić

Stack Forcing

Tradeoffs:• W/2 – 1/3 of drive current, same loading• 1.5W – 3x loading, same drive current

Narendra, ISLPED’01EECS241B L23 SLEEP 7

Page 8: Lecture 23 – Sleep Modes Borivoje Nikolić

5.L Power Gating

8EECS241B L23 SLEEP

Page 9: Lecture 23 – Sleep Modes Borivoje Nikolić

Power /Energy Optimization Space

Constant Throughput/Latency Variable Throughput/Latency

Energy Design Time Sleep Mode Run Time

Active

Logic designScaled VDD

Trans. sizingMulti-VDD

Clock gatingDFS, DVS

Leakage

Stack effectsTrans sizingScaling VDD

+ Multi-VTh

Sleep T’sMulti-VDD

Variable VTh

+ Input control

+ Variable VTh

Page 10: Lecture 23 – Sleep Modes Borivoje Nikolić

Power Gating with Sleep Transistors

• Key components:• Power gates (& controller)

• Leakage vs size

• Switched cap

• Slew-rate/rush current

• State preservation

• Energy overhead ofsleep/wake-up transitions

Page 11: Lecture 23 – Sleep Modes Borivoje Nikolić

How to Size the Sleep Transistor?

• Don’t need both header and footer

• Circuits in active mode see the sleep transistor as extra power line resistance

• The wider the sleep transistor, the better

• Wide sleep transistors cost area and are slow to turn on/off• Minimize the size of the sleep transistor for given ripple (e.g. 5%)

• Need to find the worst case vector

• Sleep transistor is not for free – it will degrade the performance in active mode

• Charging and discharging the virtual rails costs energy

• Need to sequentially wake up

Page 12: Lecture 23 – Sleep Modes Borivoje Nikolić

Sleep Transistor

High-VTH transistor (many in parallel) has to be very large for low resistance in linear region. Low-VTH transistor needs much less areafor the same resistance.

Courtesy: R. Krishnamurthy, Intel

Page 13: Lecture 23 – Sleep Modes Borivoje Nikolić

Sleep Transistor Layout

Sleep transistor

cells

ALU

Area overhead

PMOS 6%

NMOS 3%

Tschanz, ISSCC’03

Page 14: Lecture 23 – Sleep Modes Borivoje Nikolić

Sleep in Standard Cells

Uvieghara, ISSCC’04

Page 15: Lecture 23 – Sleep Modes Borivoje Nikolić

Sleep Transistor Grid

Virtual VCC Virtual VSS

VCC

VSS

M4

M4

VCC

VSS

M4

M4

M3 M3 M3 M3

No sleep transistor PMOS & NMOSsleep transistors

Tschanz, ISSCC’03

Page 16: Lecture 23 – Sleep Modes Borivoje Nikolić

Power Gating

No power gating

“Ideal” power gating

Realistic profile

Keating, et al, Low Power Methodology Manual, 2009.

Page 17: Lecture 23 – Sleep Modes Borivoje Nikolić

Preserving State

• Virtual supply collapse in sleep mode will cause the loss of state in registers

• Putting the registers at nominal VDD would preserve the state• These registers leak

• The second supply needs to be routed as well

• Can lower VDD in sleep• Some impact on robustness, noise and SEU immunity

• State preservation and recovery

Page 18: Lecture 23 – Sleep Modes Borivoje Nikolić

Scan-Based Retention

• Scan-out/scan-in state to preserve/restore state

Keating, et al, Low Power Methodology Manual, 2009.

Page 19: Lecture 23 – Sleep Modes Borivoje Nikolić

SLEEP High VT

SLEEP High VT

CLK

SLEEP High VT

SLEEP High VT

[Mutoh95]

Retention Register Design

Page 20: Lecture 23 – Sleep Modes Borivoje Nikolić

Gating Sequences

• Sequence of steps:• Gate clock

• Isolate inputs

• Save (scan out)

• Reset

• Gate power

Keating, et al, Low Power Methodology Manual, 2009.

Page 21: Lecture 23 – Sleep Modes Borivoje Nikolić

Hierarchical Power Gating

Keating, et al, Low Power Methodology Manual, 2009.

Page 22: Lecture 23 – Sleep Modes Borivoje Nikolić

Project reports

• Due May 4, up to 6 pages

• Presentations on May 4 in the afternoon• 12min + 3 min Q&A

• 15min for 3-person teams

EECS241B L23 SLEEP 22

Page 23: Lecture 23 – Sleep Modes Borivoje Nikolić

5.M Dynamic Threshold Scaling

23EECS241B L23 SLEEP

Page 24: Lecture 23 – Sleep Modes Borivoje Nikolić

Power /Energy Optimization Space

Constant Throughput/Latency Variable Throughput/Latency

Energy Design Time Sleep Mode Run Time

Active

Logic designScaled VDD

Trans. sizingMulti-VDD

Clock gatingDFS, DVS

Leakage

Stack effectsTrans sizingScaling VDD

+ Multi-VTh

Sleep T’sMulti-VDD

Variable VTh

+ Input control

DVS<Variable VTh

EECS241B L23 SLEEP 24

Page 25: Lecture 23 – Sleep Modes Borivoje Nikolić

Dynamic Body Bias• Similar concept to dynamic voltage scaling

• Control loop adjusts the substrate bias to meet the timing/leakage goal• Can be used just as runtime/sleep

• Limited range of threshold adjustments in bulk (<100mV)• Limited leakage reduction (<10x)

• Works well in FDSOI (80-85mV/V, with ~1.8V range)

• No delay penalty • Can increase speed by forward bias

• Energy cost of charging/discharging the substrate capacitance• but doesn’t need a regulator

EECS241B L23 SLEEP 25

Page 26: Lecture 23 – Sleep Modes Borivoje Nikolić

FDSOI and Bulk

• Bulk CMOS• Leakage paths through bulk

• RDF dominates local variability

• Diodes and B2B tunneling limit back-bias range

N-WellP-Well

P-Sub

G GD SS D VDDSGNDS

PMOSNMOS

N-WellP-Well

P-Sub

G GD SS D VDDSGNDS

PMOSNMOS

BOXBOX

UTBB FD-SOIThin body for short-channel control

No doping – less RDF

Extended back-bias range

EECS241B L23 SLEEP 26

Page 27: Lecture 23 – Sleep Modes Borivoje Nikolić

FDSOI Wells and Back Bias

• Flip-well (LVT)• VDDS, nom = GNDS,nom = 0V

• Forward body bias VBSN > 0V

• 0.3V < GNDS < (3V)• Limit due to diodes, BOX

• Can forward bias 2-3V each

P. Flatresse, ISSCC’13

N-Well P-Well

P-Sub

G GD SS D VDDS=0VGNDS=0V

PMOSNMOS

BOXBOXN-WellP-Well

P-Sub

G GD SS D VDDS=VDDGNDS=0V

PMOSNMOS

BOXBOX

0V 0V

Typical (RVT)GNDS,nom = 0V, VDDS, nom = VDD

Reverse body bias, VBSN < 0V

(-3V) < GNDS < VDD/2+0.3V

Limit due to diodes, BOX

Can reverse bias 2-3V eachEECS241B L23 SLEEP 27

Page 28: Lecture 23 – Sleep Modes Borivoje Nikolić

Back-Bias in FDSOI

• = 85mV/V body coefficient, and extended voltage range• Lower coefficient and voltage range in bulk, finFET

OutIn

VDD

P

N

VDDS

GNDS N-Well

P-Sub

GDSGNDS

BOX

VBS

D. Jacquet, JSSC 4/14

EECS241B L23 SLEEP 28

Page 29: Lecture 23 – Sleep Modes Borivoje Nikolić

Multi VTh

• No channel implant in 28FDSOI• No multi VTh

• Can’t abut wells • RVT and LVT require different well biases

D. Jacquet, JSSC 4/14

EECS241B L23 SLEEP 29

Page 30: Lecture 23 – Sleep Modes Borivoje Nikolić

Back Bias in FDSOI

• Triple well (deep N-Well, DNW) allows for separate back bias

• Layout penalty; capacitance to drive

N-WellP-Well

P-Sub

G G

D SS D

PMOSNMOS RVT

BOXBOX

P-Well

G

DSGNDS=0V

NMOS

BOX

DNW

VDDS=VDDGNDS 0V

EECS241B L23 SLEEP 30

Page 31: Lecture 23 – Sleep Modes Borivoje Nikolić

Digital Logic: UPF

• Supply, back-bias defined in Universal Power Format (UPF)

• Or Common Power Format (CPF)

• Handled by synthesis, place and route tools

UPF description of PT_TOP with GND, VDD, GNDS and VDDS supplies.create_power_domain PD_TOP

create_supply_port GNDcreate_supply_port VDD create_supply_net GND -domain PD_TOPconnect_supply_net GND -ports {GND}create_supply_net VDD -domain PD_TOPconnect_supply_net VDD -ports { VDD }

set_domain_supply_net PD_TOP -primary_power_net VDD -primary_ground_net GND

# Body-bias specificationcreate_supply_port VDDScreate_supply_port GNDScreate_supply_net VDDS -domain PD_TOPconnect_supply_net VDDS -ports { VDDS vddgndvdds*/VDDSCORE }create_supply_net GNDS -domain PD_TOPconnect_supply_net GNDS -ports { GNDS gnds*/VDDCORE1V8 }

create_supply_set back_bias_set \-function {nwell VDDS} \-function {pwell GNDS} \-reference_gnd {GND} \

create_power_domain PD_TOP -update -supply biasassociate_supply_set back_bias_set -handle PD_TOP.bias

M.Blagojevic, Ph.D. Dissertation, ISEP 2017

EECS241B L23 SLEEP 31

Page 32: Lecture 23 – Sleep Modes Borivoje Nikolić

Digital Logic - Implementation

• Well taps added explicitly• Difference from bulk

Back bias strapsLow DC current

Except for very fast transitions

EECS241B L23 SLEEP 32

Page 33: Lecture 23 – Sleep Modes Borivoje Nikolić

Dynamic Body Bias (Bulk)

EECS241B L23 SLEEP 33

Page 34: Lecture 23 – Sleep Modes Borivoje Nikolić

... ...

450mVFBB

450mVFBB

VCC

VSS

PMOSbody

NMOSbody

PMOSbias

NMOSbias

PMOSbias ... ...

NMOSbias

500mVRBB

500mVRBB

VCC

VSS

PMOSbody

NMOSbody

VHIGH

VLOW

Forward body bias (FBB)

Local VCC tracking

Active mode

Reverse body bias (RBB)

Triple well needed

Idle mode

Dual-VTcore

Tschanz, ISSCC’03

Dynamic Body Bias (Bulk)

EECS241B L23 SLEEP 34

Page 35: Lecture 23 – Sleep Modes Borivoje Nikolić

Body Bias Layout

Sleep transistor LBGs

Number of ALU core LBGs 30

Number of sleep transistor LBGs 10

PMOS device width 13mm

Area overhead 8%

ALU core LBGs

Sleep transistor LBGsALU core LBGs

ALU

EECS241B L23 SLEEP 35

Page 36: Lecture 23 – Sleep Modes Borivoje Nikolić

0%

5%

10%

15%

20%

10 100 1000 10000 100000 1000000Number of idle cycles

Tota

l pow

er s

avin

gs

Total Active Power Savings(Fixed activity: = 0.05)

Body bias (1.28V): active: FBB, idle: ZBB

Reference: 450mV FBB to core with clock gating, 1.28V, 4.05GHz, 75°C

0.5 5 50 500 5000 50000

Number of consecutive idle cycles (TOFF)

Number of consecutive active cycles (TON)

Power savings for TOFF > ~100 idle cycles

PMOS sleep transistor (1.32V)To

tal p

ower

sav

ings Max 18%

Max 8%

EECS241B L23 SLEEP 36

Page 37: Lecture 23 – Sleep Modes Borivoje Nikolić

Generating Back-Bias

• Tradeoff – speed of charging and discharging well caps

• Often measure VBB indirectly (leakage)

• Challenge: Generating –VSS

• 28nm FDSOI implementation

D. Jacquet, VLSI 2013

EECS241B L23 SLEEP 37

Page 38: Lecture 23 – Sleep Modes Borivoje Nikolić

Generating Back Bias

• Fast and wide voltage range back-bias in FDSOI

M. Blagojevic, VLSI 2016

Switched capacitors generate negative bias and pump substrate

chN

dchN

chP

dchP

nwell

pwell

VDD1V8

GND

GND

Neg. Boot‐Strap

Neg.Boot‐Strap

VDD1V8

GND

GND

φ1

φ1

φ2

φ2

Cfly

pwellCharger

pwellDischarger

nwellCharger

nwellDischarger

LEVEL

SHIFT

VDD1V0VDD1V8

LEVEL

SHIFT

VDD1V0VDD1V8

EECS241B L23 SLEEP 38

Page 39: Lecture 23 – Sleep Modes Borivoje Nikolić

Supply/Process Compensation

• Able to track ~200mV supply droops and maintain constant frequency (measured by a replica) by back-bias adjustments

EECS241B L23 SLEEP 39

Page 40: Lecture 23 – Sleep Modes Borivoje Nikolić

5.N Dynamic Threshold Scaling and Variations

40EECS241B L23 SLEEP

Page 41: Lecture 23 – Sleep Modes Borivoje Nikolić

Body Biasing and Variations

• Body biasing with a local control loop can be used to lower the impact of process variations

• Used to limit die-to-die and within-die variations

EECS241B L23 SLEEP 41

Page 42: Lecture 23 – Sleep Modes Borivoje Nikolić

Self-Adjusting Threshold-Voltage Scheme (SATS)

• Older bulk technologies had stronger body effect

EECS241B L23 SLEEP 42

Page 43: Lecture 23 – Sleep Modes Borivoje Nikolić

Dynamic Frequency Loop in FDSOI

Quelen, ISSCC’18

EECS241B L23 SLEEP 43

Page 44: Lecture 23 – Sleep Modes Borivoje Nikolić

Substrate Biasing

Tschanz, JSSC 11/02EECS241B L23 SLEEP 44

Page 45: Lecture 23 – Sleep Modes Borivoje Nikolić

Effectiveness of Substrate Bias

• NBB: No body bias

• ABB: Adaptive body bias

Die-to-die variations

EECS241B L23 SLEEP 45

Page 46: Lecture 23 – Sleep Modes Borivoje Nikolić

Effectiveness of Substrate Bias

• ABB with multiple within die (WID) sensors

Within-die variations

EECS241B L23 SLEEP 46

Page 47: Lecture 23 – Sleep Modes Borivoje Nikolić

Techniques Summary (around 130nm node)

0

20

40

60

80

100

0 0.2 0.4 0.6 0.8 1

Il eak

(nor

mal

ized

)

VDD [V]

Sleep transistor - up to~25x leakage reduction

Standby supply reduction~3-4x leakage reduction

Reverse bias~3x leakage

reduction

Standby supply + reverse bias~10x leakage reduction

Reduced VDD

Off-transistorload line

EECS241B L23 SLEEP 47

Page 48: Lecture 23 – Sleep Modes Borivoje Nikolić

Power /Energy Optimization Space

Constant Throughput/Latency Variable Throughput/Latency

Energy Design Time Sleep Mode Run Time

Active

Logic designScaled VDD

Trans. sizingMulti-VDD

Clock gatingDFS, DVS

Leakage

Stack effectsTrans sizingScaling VDD

+ Multi-VTh

Sleep T’sMulti-VDD

Variable VTh

+ Input control

+ Variable VTh

Page 49: Lecture 23 – Sleep Modes Borivoje Nikolić

5.O Optimal VDD, VTh

49EECS241B L23 SLEEP

Page 50: Lecture 23 – Sleep Modes Borivoje Nikolić

Dynamic Voltage Scaled Microprocessor

External VDD 3.3V±10% Internal VDDL 0.8V~2.9V ±5%

TX3900

User Logic PLL

VT

VS

Pow

er D

issi

patio

n (m

W)

Operating Frequency (MHz)

0

100

200

300

0 10 20 30 40

TheoryMeasurement

Courtesy: Prof. Kuroda

EECS241B L23 SLEEP 50

Page 51: Lecture 23 – Sleep Modes Borivoje Nikolić

Adapting VDD and VTH

• Adapting both VDD and VTh during runtime• VTh is much less sensitive Miyazaki, ISSCC’02

EECS241B L23 SLEEP 51

Page 52: Lecture 23 – Sleep Modes Borivoje Nikolić

Adapting VDD and VTH

Miyazaki, ISSCC’02

EECS241B L23 SLEEP 52

Page 53: Lecture 23 – Sleep Modes Borivoje Nikolić

Optimal VDD, VTh• Adjusting VDD, VTh trades of energy and delay

• We studied energy-limited design• And alternate ways for optimizing energy and delay together

• E.g. energy-delay product (EDP)

• Or EnDm, n,m > 1

EECS241B L23 SLEEP 53

Page 54: Lecture 23 – Sleep Modes Borivoje Nikolić

Optimal EDP Contours

• Plot of EDP curves in VDD, VTh plane

Gonzalez, JSSC 8/97EECS241B L23 SLEEP 54

Page 55: Lecture 23 – Sleep Modes Borivoje Nikolić

Topology Inverter Adder Decoder(ELk/ESw)ref 0.1% 1% 10%

Technology parameters (Vddmax, Vth

ref) rarely optimal

Reference Design:Dref (Vdd

max,Vthref)

Large variation in optimal circuit parameters Vddopt, Vth

opt, wopt

Vddmax

Vddmin Vth

min

Vthmax

Sizing, Supply, Threshold Optimization

EECS241B L23 SLEEP 55

Page 56: Lecture 23 – Sleep Modes Borivoje Nikolić

Delay (Dref)

ReferenceDesign(Dref,Eref)

Energy efficient curvef (W,Vdd,Vth)

(Dref,Emin)

(Dmin,Eref)

Ener

gy (E

ref)

Sensitivity W Vdd Vth(Dref,Eref) 1.5 0.2

(Dref,Emin) 1

(Dmin,Eref) 22 16 22

40% delay improvement without energy penalty

-80%

-40%

80% of energy savedwithout delay penalty

Result: E-D Tradeoff in an Adder

EECS241B L23 SLEEP 56

Page 57: Lecture 23 – Sleep Modes Borivoje Nikolić

Energy-constrained delay

• Active power

f = 1/LDtp

• Leakage power

• Eliminate one variable(VTh) and find Pmin(VDD)

Nose, ASP-DAC’00

2DDact fCVP

DDS

VV

leak VeIPDDTh

0

EECS241B L23 SLEEP 57

Page 58: Lecture 23 – Sleep Modes Borivoje Nikolić

Minimum energy: ESw = 2ELk

10-2

10-1

100

101

0

0.2

0.4

0.6

0.8

1

ELeakage/ESwitching

EO

p / no

min

al E

Op

ref

nominalparallelpipeline

Vthref-180mV

0.81Vddmax

Vthref-95mV

0.57Vddmax

Vthref-140mV

0.52Vddmax

2

lnLk Sw opt

d

avg

E EL K

Optimal designs have high leakage (ELk/ESw ≈ 0.5)

Large (ELk/ESw)opt

Flat EOp minimum Topology dependent

EECS241B L23 SLEEP 58

Page 59: Lecture 23 – Sleep Modes Borivoje Nikolić

Subthreshold Optimum

f = 30kHz Minimum is independent of VT

Calhoun, JSSC 9/05EECS241B L23 SLEEP 59

Page 60: Lecture 23 – Sleep Modes Borivoje Nikolić

Next Lecture

• We finished low-power design

• Next is clocks and supplies

EECS241B L23 SLEEP 60