how to create designs with dynamic/adaptive voltage...

29
How to create designs with Dynamic/Adaptive Voltage Scaling Roy H. Liu National Semiconductor Corporation

Upload: lamcong

Post on 19-Aug-2018

214 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: How to create designs with Dynamic/Adaptive Voltage Scalingdata.eefocus.com/vendor/documents/1290069834.pdf · How to create designs with Dynamic/Adaptive Voltage Scaling ... down

How to create designs with Dynamic/Adaptive Voltage

Scaling

Roy H. LiuNational Semiconductor Corporation

Page 2: How to create designs with Dynamic/Adaptive Voltage Scalingdata.eefocus.com/vendor/documents/1290069834.pdf · How to create designs with Dynamic/Adaptive Voltage Scaling ... down

What you will learn from this sessionDesign challenges with variable voltage levelDesign partitioning guidelines for voltage scalingLevel shifting strategiesDealing with the variable timingA voltage scaling design example

Page 3: How to create designs with Dynamic/Adaptive Voltage Scalingdata.eefocus.com/vendor/documents/1290069834.pdf · How to create designs with Dynamic/Adaptive Voltage Scaling ... down

Frequency and Voltage Scaling for Power Saving

Dynamic or AC power: αCVDD2fc

Static or DC or leakage power: VDD Ioff

P = powerα = activity factorC = capacitance, proportional to the number of gates

and routing parasiticsVDD = supply voltagefc = operating frequencyIoff = leakage current, proportional to the number of

gates, increases with reduced threshold voltages (smaller gate lengths)

offDDcDD IVfCVP += 2α

Page 4: How to create designs with Dynamic/Adaptive Voltage Scalingdata.eefocus.com/vendor/documents/1290069834.pdf · How to create designs with Dynamic/Adaptive Voltage Scaling ... down

DVS and AVSDynamic Voltage Scaling

Open-loop voltage scalingVoltage level determined by clock frequency based voltage table

Adaptive Voltage ScalingClosed-loop voltage scalingVoltage level determined by voltage control loop

VDD

CompanionPowerSupply

ProcessorSubsystem

Frequency Table

Frequencyvs. Voltage

Table

PowerController

PWI

VDD

CompanionPowerSupply

ProcessorSubsystem

Frequency TableAVS

Control

PowerController

HPM

PWI

Page 5: How to create designs with Dynamic/Adaptive Voltage Scalingdata.eefocus.com/vendor/documents/1290069834.pdf · How to create designs with Dynamic/Adaptive Voltage Scaling ... down

Voltage Domain InterfacesBetween two different levels of fixed voltage domains Between a fixed voltage domain and a voltage scaling domainBetween two independent voltage scaling domains

FixedVoltage

Domain 1

VoltageScaling

Domain 1

VoltageScaling

Domain 2

FixedVoltage

Domain 2

SoC

I/O

Page 6: How to create designs with Dynamic/Adaptive Voltage Scalingdata.eefocus.com/vendor/documents/1290069834.pdf · How to create designs with Dynamic/Adaptive Voltage Scaling ... down

What is different with Voltage Scaling Designs

Signals going across voltage domain boundary require level translation to be recognized correctly in the destination domain

Signal timing across voltage domain boundary varies with the voltage level

DVS – can be predicted with multiple voltage points analysis but may not be practicalAVS – not predictable

Page 7: How to create designs with Dynamic/Adaptive Voltage Scalingdata.eefocus.com/vendor/documents/1290069834.pdf · How to create designs with Dynamic/Adaptive Voltage Scaling ... down

Design Considerations for DVS/AVS Designs

Three areas to focus on:

Voltage domain and design partitioning

Level shifter insertion

Timing across voltage domain boundary

Page 8: How to create designs with Dynamic/Adaptive Voltage Scalingdata.eefocus.com/vendor/documents/1290069834.pdf · How to create designs with Dynamic/Adaptive Voltage Scaling ... down

Voltage Scaling Domain PartitioningVoltage scaling goes together with clock frequency scaling

Clock domain boundary is naturally the choice for the voltage scaling boundary

No tricky timing problems to worry about if the boundary is an asynchronous interface

Synchronous interface at the voltage scaling domain boundary is required in some cases

Page 9: How to create designs with Dynamic/Adaptive Voltage Scalingdata.eefocus.com/vendor/documents/1290069834.pdf · How to create designs with Dynamic/Adaptive Voltage Scaling ... down

Integrate IP Blocks for Voltage ScalingIP block with single clock domain – use it as is, add appropriate level shifters outside of it

IP block with multiple clock domainsExample: an internal bus interface clock that scales, an external peripheral clock that does not scaleRe-partition the IP to facilitate voltage domains separation and level shifter insertion Over-design to ensure proper operation at minimum voltage scaling levelKeep it outside of voltage scaling

Page 10: How to create designs with Dynamic/Adaptive Voltage Scalingdata.eefocus.com/vendor/documents/1290069834.pdf · How to create designs with Dynamic/Adaptive Voltage Scaling ... down

Level Shifting between Voltage Scaling Domain and Fixed Voltage Domain

From voltage scaling domain to fixed voltage domain – level shifting up From fixed voltage domain to voltage scaling domain – level shifting down

LevelShifter

VoltageScalingDomain

FixedVoltageDomain

VDDVDD_VS

LevelShifter

0.7V – 1.2V 1.2V

Page 11: How to create designs with Dynamic/Adaptive Voltage Scalingdata.eefocus.com/vendor/documents/1290069834.pdf · How to create designs with Dynamic/Adaptive Voltage Scaling ... down

Level Shifting between Voltage Scaling Domains

Use variable voltage to variable voltage level shiftersAlways up-shift to fixed voltage domain and then down-shift to the other voltage scaling domain

LevelShifter

LevelShifter

VoltageScaling

Domain 2

VoltageScaling

Domain 1

VDD VDD_VS2

LevelShifter

VDD_VS1

LevelShifter

0.7V – 1.2V 1.2V 0.7V – 1.2V

Page 12: How to create designs with Dynamic/Adaptive Voltage Scalingdata.eefocus.com/vendor/documents/1290069834.pdf · How to create designs with Dynamic/Adaptive Voltage Scaling ... down

Signal Clamping in Power-downClamp all outputs from powered down domain during power down to prevent leakage and erroneous data writing in the destination voltage domains

Clamp all inputs to powered down domain during power-down to prevent latch-up

Combine signal clamping function in level shifters

Page 13: How to create designs with Dynamic/Adaptive Voltage Scalingdata.eefocus.com/vendor/documents/1290069834.pdf · How to create designs with Dynamic/Adaptive Voltage Scaling ... down

Up-shifting Level Shifter with Clamping

LVE : VDD_L on/off indicator

VDD_L VDD_H1100

0100

0101

LVE IN OUT

INOUT

LVE

Page 14: How to create designs with Dynamic/Adaptive Voltage Scalingdata.eefocus.com/vendor/documents/1290069834.pdf · How to create designs with Dynamic/Adaptive Voltage Scaling ... down

Down-shifting Level Shifter with Clamping

1100

011 *1 *

0101

LVE IN OUT

LVE : VDD_L on/off indicator

* OUT is unknown and NET_INT is driven low when VDD_L is off

VDD_LVDD_H

INOUT

LVE

NET_INT

Page 15: How to create designs with Dynamic/Adaptive Voltage Scalingdata.eefocus.com/vendor/documents/1290069834.pdf · How to create designs with Dynamic/Adaptive Voltage Scaling ... down

Voltage Scaling Clock Switching Considerations

Scaling up the clock frequency – voltage level must be sufficient before the clock can be switched to the new frequency

Scaling down the clock frequency – clock can be switched to the new frequency right away as the voltage level is already sufficient

Page 16: How to create designs with Dynamic/Adaptive Voltage Scalingdata.eefocus.com/vendor/documents/1290069834.pdf · How to create designs with Dynamic/Adaptive Voltage Scaling ... down

Input Timing Voltage Scaling Implication –Scenario 1

Input setup/hold timing may vary substantially over voltage scaling range depending on the amount of logic in between level shifter and latching flop.

D

C

QComb.Logic

IO CellFF

Voltage Scaling DomainFixed Voltage Domain

LevelShifter

Input Pin

Input Timing Path

Page 17: How to create designs with Dynamic/Adaptive Voltage Scalingdata.eefocus.com/vendor/documents/1290069834.pdf · How to create designs with Dynamic/Adaptive Voltage Scaling ... down

Input Timing Voltage Scaling Implication –Scenario 2

This voltage domain partition gives smaller setup/hold time variation over voltage scaling range.

D

C

QComb.Logic

IO CellFF

Voltage Scaling DomainFixed Voltage Domain

LevelShifter

Input Pin

Input Timing Path

Page 18: How to create designs with Dynamic/Adaptive Voltage Scalingdata.eefocus.com/vendor/documents/1290069834.pdf · How to create designs with Dynamic/Adaptive Voltage Scaling ... down

Input Timing Voltage Scaling Implication –Scenario 3

This voltage domain partition gives zero setup/hold time variation over voltage scaling range. The timing path between flop F1 and F2 must be balanced properly to account for the clock skew caused by voltage scaling.

Comb.Logic

IO Cell D

C

QFF

Voltage Scaling DomainFixed Voltage Domain

LevelShifter

Input Pin D

C

QFF

F1 F2

Input Timing Path

Page 19: How to create designs with Dynamic/Adaptive Voltage Scalingdata.eefocus.com/vendor/documents/1290069834.pdf · How to create designs with Dynamic/Adaptive Voltage Scaling ... down

Output Timing Voltage Scaling Implication –Scenario 1

Output timing may vary substantially over voltage scaling range depending on the amount of logic in between output flop and level shifter.

D

C

Q Comb.Logic

IO CellFF

Fixed Voltage DomainVoltage Scaling Domain

LevelShifter

Output Pin

Output Timing Path

Page 20: How to create designs with Dynamic/Adaptive Voltage Scalingdata.eefocus.com/vendor/documents/1290069834.pdf · How to create designs with Dynamic/Adaptive Voltage Scaling ... down

Output Timing Voltage Scaling Implication –Scenario 2

This voltage domain partition gives smaller output timing variation over voltage scaling range.

D

C

Q Comb.Logic

IO CellFF

Fixed Voltage DomainVoltage Scaling Domain

LevelShifter

Output Pin

Output Timing Path

Page 21: How to create designs with Dynamic/Adaptive Voltage Scalingdata.eefocus.com/vendor/documents/1290069834.pdf · How to create designs with Dynamic/Adaptive Voltage Scaling ... down

Output Timing Voltage Scaling Implication –Scenario 3

This voltage domain partition gives zero output timing variation over voltage scaling range. The timing path between flop F1 and F2 must be balanced properly to account for the clock skew caused by voltage scaling.

Output PinComb.Logic

IO CellD

C

QFF

Fixed Voltage DomainVoltage Scaling Domain

LevelShifter

D

C

QFF

F2F1

Output Timing Path

Page 22: How to create designs with Dynamic/Adaptive Voltage Scalingdata.eefocus.com/vendor/documents/1290069834.pdf · How to create designs with Dynamic/Adaptive Voltage Scaling ... down

Synchronous Interface at Voltage Scaling Domain Boundary

The timing of the signal path and clock skew both vary with voltage levelAdding delay elements to account for all possible timing variation may not be practical

System Clock

D

C

QFF

Logic

Clock Tree

Fixed Voltage

D

C

QFF

Logic

Clock Tree

Voltage Scaling

LS LS

LS

Page 23: How to create designs with Dynamic/Adaptive Voltage Scalingdata.eefocus.com/vendor/documents/1290069834.pdf · How to create designs with Dynamic/Adaptive Voltage Scaling ... down

Pseudo Synchronization at Voltage Scaling Domain Boundary

Tap clock from voltage scaling domain to match clock delay variation fixed clock skew Add delay elements to balance signal path timing

D

C

QFF

Logic

Clock Tree

Fixed Voltage

System Clock

DELAY

D

C

QFF

Logic

Clock Tree

Voltage Scaling

LS LS

LS

LS

Page 24: How to create designs with Dynamic/Adaptive Voltage Scalingdata.eefocus.com/vendor/documents/1290069834.pdf · How to create designs with Dynamic/Adaptive Voltage Scaling ... down

DLL Synchronization at Voltage Scaling Domain Boundary

System ClockD

C

QFF

Logic

Clock Tree

Fixed Voltage

A

B

DLL BA

Digital Delay Locked Loop based clock synchronizationCan be used for synchronization between two voltage scaling domains

D

C

QFF

Logic

Clock Tree

Voltage Scaling

LS LS

LS

LS

Page 25: How to create designs with Dynamic/Adaptive Voltage Scalingdata.eefocus.com/vendor/documents/1290069834.pdf · How to create designs with Dynamic/Adaptive Voltage Scaling ... down

PowerWiseTM Camera – without voltage scaling

APBC

Cache

USART

ICU

U-Wire/SPI

I2S

DMA

SRAM

Remap/Pause

GPIO

ICCU

ARM7

Image ProcessorConnectivity Processor

Flash ROM, SRAM, SDRAM

APB

AHB

MIWU

Versatile Timer

TWM

Access.Bus

ARM Timer

Access.Bus

Versatile Timer

ICU

M-ICEARM7SRAM

U-Wire/SPI

USART (2x)

GPIO

USB

Clock Generation Reset & Sys

MgmtARM Timer

APBC

Cache

Remap/Pause

DMA

10/100 MACEBIU & SDRAMControl

APB

AHB

I2S

MIWU

USB

ROM

Image Sensor

I/F

RTC

M-ICE

Page 26: How to create designs with Dynamic/Adaptive Voltage Scalingdata.eefocus.com/vendor/documents/1290069834.pdf · How to create designs with Dynamic/Adaptive Voltage Scaling ... down

PowerWiseTM Camera – added voltage scaling

APBC

Cache

USART

ICU

U-Wire/SPI

I2S

DMA

SRAM

Remap/Pause

GPIO

ICCU

ARM7

Image ProcessorConnectivity Processor

Flash ROM, SRAM, SDRAM

APB

AHB

MIWU

Versatile Timer

TWM

Access.Bus

ARM Timer

Access.Bus

Versatile Timer

ICU

M-ICEARM7SRAM

U-Wire/SPI

USART (2x)

GPIO

USB

Clock Generation Reset & Sys

MgmtARM Timer

APBC

Cache

Remap/Pause

DMA

10/100 MACEBIU & SDRAMControl

APB

AHB

I2S

MIWU

USB

ROM

Image Sensor

I/F

RTC

M-ICE

HPM HPM

PowerWiseInterface

APC APC

PowerWise Interface

AVS1 AVS2

Page 27: How to create designs with Dynamic/Adaptive Voltage Scalingdata.eefocus.com/vendor/documents/1290069834.pdf · How to create designs with Dynamic/Adaptive Voltage Scaling ... down

PowerWiseTM Camera – level shifters inserted

APBC

Cache

USART

ICU

U-Wire/SPI

I2S

DMA

SRAM

Remap/Pause

GPIO

ICCU

ARM7

Image ProcessorConnectivity Processor

Flash ROM, SRAM, SDRAM

APB

AHB

MIWU

Versatile Timer

TWM

Access.Bus

ARM Timer

Access.Bus

Versatile Timer

ICU

M-ICEARM7SRAM

U-Wire/SPI

USART (2x)

GPIO

USB

Clock Generation Reset & Sys

MgmtARM Timer

APBC

Cache

Remap/Pause

DMA

10/100 MACEBIU & SDRAMControl

APB

AHB

I2S

MIWU

USB

ROM

Image Sensor

I/F

RTC

M-ICE

HPM HPM

PowerWiseInterface

APC APC

PowerWise Interface

AVS1 AVS2

Level Shifters

Page 28: How to create designs with Dynamic/Adaptive Voltage Scalingdata.eefocus.com/vendor/documents/1290069834.pdf · How to create designs with Dynamic/Adaptive Voltage Scaling ... down

Early Voltage Domain Considerations in Design Cycle

Cell libraries characterized for voltage scaling Design hierarchy/partition considerations include voltage domains, level shiftersInclude P/G network in RTL and gate netlist for simulation, level shifter insertion, synthesis, layout, and timing analysisInclude voltage domains in functional simulation - especially when some voltage domains can be powered offGlobal signals (reset, …) crossing voltage domain boundary -asynchronous signals onlyClock tree synthesis should not cross voltage domain boundary Scan chain routing should not cross voltage domain boundaryECO and buffer insertion should not cross voltage domain boundaryPower connectivity verificationand many more ………………………….

Page 29: How to create designs with Dynamic/Adaptive Voltage Scalingdata.eefocus.com/vendor/documents/1290069834.pdf · How to create designs with Dynamic/Adaptive Voltage Scaling ... down

SummaryA good design partition based on both functional partition and voltage domain partition will make voltage scaling easier to implement

Level shifters must be properly inserted and thoroughly verified

Synchronous timing across voltage scaling domain must be carefully designed and thoroughly checked