attack your soc power challenges with virtual prototyping · 2017-12-29 · •model subsystems to...

53
Attack Your SoC Power Challenges with Virtual Prototyping Stefan Thiel Gunnar Braun © Accellera Systems Initiative 1

Upload: others

Post on 14-Mar-2020

1 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Attack Your SoC Power Challenges with Virtual Prototyping · 2017-12-29 · •Model subsystems to support most critical software tasks •Leverage existing or generic models for

Attack Your SoC Power Challenges with Virtual Prototyping

Stefan Thiel

Gunnar Braun

© Accellera Systems Initiative 1

Page 2: Attack Your SoC Power Challenges with Virtual Prototyping · 2017-12-29 · •Model subsystems to support most critical software tasks •Leverage existing or generic models for

Agenda

• Part #1: Power-aware Architecture Definition

• Part #2: Power-aware Software Development

• Questions

© Accellera Systems Initiative 2

Page 3: Attack Your SoC Power Challenges with Virtual Prototyping · 2017-12-29 · •Model subsystems to support most critical software tasks •Leverage existing or generic models for

Power-aware Architecture Definition

Reduce risk of wrong design decision due to late power analysis

Define the right HW/SW architecture to meet power and performance goals

Define the right Power Management strategy

Top three goals for today

© Accellera Systems Initiative 3

Page 4: Attack Your SoC Power Challenges with Virtual Prototyping · 2017-12-29 · •Model subsystems to support most critical software tasks •Leverage existing or generic models for

© Accellera Systems Initiative

SW Architecture andConfiguration Questions

Hardware Architecture Questions

How does architecture affect power?

DMASRAM

Memory

DDR Memory

PCIe

SATA

Multicore CPU

L2

Multicore CPU

L2

GMAC

SRAM Memory

Accelerators

Cac

he

Co

her

ent

Inte

rco

nn

ect

HW/SW Partitioning?

Power domain per core or entire CPU?

Best cache size and

organization?

How to avoid page misses ?

Run fast and stop or DVFS?

Run SW in parallel or power down idle cores?

Separate power domain per cluster?

Use coherent interconnect?

Turn off when idle?

Timeout for moving to low power states?

4

Page 5: Attack Your SoC Power Challenges with Virtual Prototyping · 2017-12-29 · •Model subsystems to support most critical software tasks •Leverage existing or generic models for

Platform

Processing Element

Power and Performance DualityWorkload

Memory

bu

s

Power

use

con

sum

e

utilization power

time

© Accellera Systems Initiative 5

Page 6: Attack Your SoC Power Challenges with Virtual Prototyping · 2017-12-29 · •Model subsystems to support most critical software tasks •Leverage existing or generic models for

Platform

Processing Element

Power and Performance DualityWorkload

Power Manager

Memory

bu

s

speed

utilization

Power

use

mea

sure utilization power

time

fVdd

fVdd

fVdd

Impact of power management on power and performance ?

con

sum

e

Impact of architecture decisions on power and performance ?

© Accellera Systems Initiative 6

Page 7: Attack Your SoC Power Challenges with Virtual Prototyping · 2017-12-29 · •Model subsystems to support most critical software tasks •Leverage existing or generic models for

Virtual Prototype

Bus Power

Domain

Memory Power

Domain

CPU Power Domain

Virtual Prototyping Approach

PMIC

PLL

Energy/Power

recording

Power Manager

Power Overlay Model

Off

Suspend

Standby

Runnnning

Off

Suspend

Standby

Runnnning

Off

Suspend

Standby

Runnnning

records

Vdd

Off

Suspend

Standby

Runnnning

f

load

Vdd

f

load

Vdd

f

load

Workload

Pow

er

CPU

Core 0

Memory

bu

s

Core 1

trig

gers

© Accellera Systems Initiative 7

Page 8: Attack Your SoC Power Challenges with Virtual Prototyping · 2017-12-29 · •Model subsystems to support most critical software tasks •Leverage existing or generic models for

Example: DVFS What-If Analysis

Co

arse

-gra

in D

VFS

Fi

ne

-gra

in D

VFS

Workload

Freq. trace

Power stats

Workload

Freq. trace

Power stats

© Accellera Systems Initiative 8

Page 9: Attack Your SoC Power Challenges with Virtual Prototyping · 2017-12-29 · •Model subsystems to support most critical software tasks •Leverage existing or generic models for

What we just learned• Reduce risk of late power analysis

• The Power and Performance duality

• Virtual Prototype for early power and performance analysis

– Create workload model to capture processing and communication requirements

– Create architecture model to representprocessing and communication resources

– Map workload onto architecture

– Measure resulting system performance and power analysis

measure

map

© Accellera Systems Initiative 9

Page 10: Attack Your SoC Power Challenges with Virtual Prototyping · 2017-12-29 · •Model subsystems to support most critical software tasks •Leverage existing or generic models for

IEEE 1801 UPF System Level Power• New IEEE 1801 Sub-committee on System Level Power

• Participation from EDA, IP providers and users– Active participation from AGGIOS, ARM, Broadcom,

Cadence, CSR, Intel, Mentor, Microsoft, ST, Synopsys

• Goal:– Standardize format for system level power analysis

– Enable exchange of power models between groups, companies and EDA tools and across abstraction levels

• Visit – http://standards.ieee.org/develop/wg/UPF.html

– http://www.p1801.org/

– http://semiengineering.com/system-level-power-modeling-activities-get-rolling/

© Accellera Systems Initiative 10

Page 11: Attack Your SoC Power Challenges with Virtual Prototyping · 2017-12-29 · •Model subsystems to support most critical software tasks •Leverage existing or generic models for

Power-aware Architecture Definition

Reduce risk of wrong design decision due to late power analysis

Define the right HW/SW architecture to meet power and performance goals

Define the right Power Management strategy

Top three goals for today

Case Study

© Accellera Systems Initiative 11

Page 12: Attack Your SoC Power Challenges with Virtual Prototyping · 2017-12-29 · •Model subsystems to support most critical software tasks •Leverage existing or generic models for

Micro Server in Platform Architect MCO

Memory Map

Models

Design hierarchy

SoC PlatformNumber of CPUs: 1, 2Number of NPUs: 0, 1Number of SRAMs: 0, 1

Level 2 cacheCache size in KB: 32, 64, 128

Workload model: ETH processing

Ethernet Bandwidth: 512 MB/s, 1GB/sCPU-cycles per packet: 1k (avg), 2k (high), 4k (stress)

© Accellera Systems Initiative 12

Page 13: Attack Your SoC Power Challenges with Virtual Prototyping · 2017-12-29 · •Model subsystems to support most critical software tasks •Leverage existing or generic models for

Micro Server in Platform Architect MCO

Power ManagerDVFS-levels: 1, 2, 3, 4, Thresholds: when to scale up and downResponse delays: slow, med, fast

© Accellera Systems Initiative 13

Page 14: Attack Your SoC Power Challenges with Virtual Prototyping · 2017-12-29 · •Model subsystems to support most critical software tasks •Leverage existing or generic models for

Power Model InstrumentationPower Model

idle[mW]

sleep[mW]

active[mW]

Energy/Power

recording

set pm [SNPS_PAM create_monitor {Power Analysis} Cpu0Pam CPU0]

$pm set_frequency_input signal CPU0/PLL/clk_in$pm set_voltage_input signal CPU0/PMIC/vdd_out

# define states$pm add_state CORE0 SLEEP 5mW 1.1V 1.5GHz$pm add_state CORE0 IDLE 70mW 1.1V 1.5GHz$pm add_state CORE0 ACTIVE 120mW 1.1V 1.5GHz...# state transition triggers: signals$pm link_signal_to_state CORE0 CPU.CORE0.p_notify 0 IDLE$pm link_signal_to_state CORE0 CPU.CORE0.p_notify 1 ACTIVE...# state transition triggers: timeout$pm link_timeout_to_state 2ms CORE0 SLEEP IDLE ...

notify

active -> idle

timeout

notify

idle -> active

notify

sleep -> active

© Accellera Systems Initiative 14

Page 15: Attack Your SoC Power Challenges with Virtual Prototyping · 2017-12-29 · •Model subsystems to support most critical software tasks •Leverage existing or generic models for

Power Model Instrumentation - Details

set pm [SNPS_PAM create_monitor {Power Analysis} modem_PAM TOP.modem]

$pm add_state modem_fsm Off 0W$pm add_state modem_fsm Standby 5mW$pm add_state modem_fsm Transmit 200mW$pm add_state modem_fsm Receive 150mW

Off

Standby

Transmit

Receive

0.000W

0.005W

0.200W

0.150W

Power State Definition

© Accellera Systems Initiative 15

Page 16: Attack Your SoC Power Challenges with Virtual Prototyping · 2017-12-29 · •Model subsystems to support most critical software tasks •Leverage existing or generic models for

$pm set_frequency_input signal TOP/MODULE_3/clk_in$pm set_voltage_input signal TOP/PMIC/vdd_out$pm add_state modem_fsm Off 0W 0W 100MHz 1.1V 1.1V$pm add_state modem_fsm Standby 5mW 5mW 100MHz 1.1V 1.1V$pm add_state modem_fsm Transmit 200mW 5mW 100MHz 1.1V 1.1V$pm add_state modem_fsm Receive 150mW 5mW 100MHz 1.1V 1.1V

Power Model Instrumentation - Details

• For each power state we define:

– Reference dynamic power Pdyn,ref

• for a reference frequency Fdyn,ref and reference voltage Vdyn,ref

– Reference leakage power Pleak,ref

• for a reference voltage Vleak,ref

– Trigger frequency and voltage from Virtual Prototype

Vdyn,refFdyn,ref Vleak,ref

Dynamic Voltage and Frequency Scaling

© Accellera Systems Initiative 16

Page 17: Attack Your SoC Power Challenges with Virtual Prototyping · 2017-12-29 · •Model subsystems to support most critical software tasks •Leverage existing or generic models for

Power Model Instrumentation - DetailsDriving Power States from a (HW) signal

$pm link_signal_to_state TOP/MODULE_1/pState 0 0xf modem_fsm Off$pm link_signal_to_state TOP/MODULE_1/pState 1 0xf modem_fsm Standby$pm link_signal_to_state TOP/MODULE_1/pState 2 0xf modem_fsm Transmit$pm link_signal_to_state TOP/MODULE_1/pState 3 0xf modem_fsm Receive

pState==0

pState==1

pState==2

pState==3

Off

Standby

Transmit

Receive

© Accellera Systems Initiative 17

Page 18: Attack Your SoC Power Challenges with Virtual Prototyping · 2017-12-29 · •Model subsystems to support most critical software tasks •Leverage existing or generic models for

Power Model Instrumentation - DetailsDriving Power States from Software

$pm link_instruction_address_to_state modem_fsm driver_power_off Off$pm link_instruction_address_to_state modem_fsm driver_power_on Standby$pm link_instruction_address_to_state modem_fsm send Transmit $pm link_instruction_address_to_state modem_fsm receive Receive

SW function (e.g. Linux device driver)

driver_power_off();

driver_power_on();

driver_suspend();

receive(int &bytes);

send(int bytes, …)

pState==0

pState==1

pState==2

pState==3

Off

Standby

Transmit

Receive

© Accellera Systems Initiative 18

Page 19: Attack Your SoC Power Challenges with Virtual Prototyping · 2017-12-29 · •Model subsystems to support most critical software tasks •Leverage existing or generic models for

Video: Analyze Power Management

© Accellera Systems Initiative 19

Page 20: Attack Your SoC Power Challenges with Virtual Prototyping · 2017-12-29 · •Model subsystems to support most critical software tasks •Leverage existing or generic models for

• Architecture and workload parameters

• DVFS power management related parameters

Total of 21600 combinations ??? Sensitivity Analysis + Divide and Conquer!

Parameters to Explore

6 parameters

144 combinations

3 parameters

150 combinations

Which combination will work best?

Workload Ethernet Bandwidth: 512 MB/s, 1GB/s

CPU-cycles per packet: 1k (avg), 2k (high), 4k (stress)

Platform Number of CPUs: 1, 2Number of NPUs: 0, 1Number of SRAMs: 0, 1

L2 cache Size in KB: 32, 64, 128

DVFS-levels: 1, 2, 3, 4, 5Thresholds (up/down): 2/1, 4/1, 8/1, 4/2, 8/2, 8/4Response delays in us:1, 2, 3, 4, 5

© Accellera Systems Initiative 20

Page 21: Attack Your SoC Power Challenges with Virtual Prototyping · 2017-12-29 · •Model subsystems to support most critical software tasks •Leverage existing or generic models for

Sensitivity Analysis1. Design Configuration 2. Simulation sweep 3. Metric Extraction

4. Sensitivity AnalysisSpreadsheet

InSpreadsheet

Out

parametersparameters

scen

ario

s

metrics

resu

lts

...

© Accellera Systems Initiative 21

Page 23: Attack Your SoC Power Challenges with Virtual Prototyping · 2017-12-29 · •Model subsystems to support most critical software tasks •Leverage existing or generic models for

• Best architecture configuration:

• DVFS power management related parameters

Parameters to Explore

3 parameters

150 combinations

Workload Ethernet Bandwidth: 512 MB/s, 1GB/s

CPU-cycles per packet: 1k (avg), 2k (high), 4k (stress)

Platform Number of CPUs: 2Number of NPUs: 1Number of SRAMs: 1

L2 cache Size in KB: 64

DVFS-levels: 1, 2, 3, 4, 5Thresholds (up/down): 2/1, 4/1, 8/1, 4/2, 8/2, 8/4Response delays in us:1, 2, 3, 4, 5

Results from

first sweep

© Accellera Systems Initiative 23

Page 24: Attack Your SoC Power Challenges with Virtual Prototyping · 2017-12-29 · •Model subsystems to support most critical software tasks •Leverage existing or generic models for

Summary – Power aware Architecture Definition

Reduce risk of wrong design decision due to late power analysis

• Power and Performance duality: Performance impacts power, power (management) impacts performance

• Early power analysis important for taking the right design decisions

Define the right HW/SW architecture to meet power and performance goals

• Power aware HW/SW partitioning, cache and cache coherency analysis, interconnect/memory optimization

Define the right power management strategy

• Grouping of components into power domains

• Run-fast-then-stop vs. DVFS

• Power management thresholds, time-outs and delays

© Accellera Systems Initiative 24

Page 25: Attack Your SoC Power Challenges with Virtual Prototyping · 2017-12-29 · •Model subsystems to support most critical software tasks •Leverage existing or generic models for

Agenda

• Part #1: Power-aware Architecture Definition

• Part #2: Power-aware Software Development

• Questions

© Accellera Systems Initiative 25

Page 26: Attack Your SoC Power Challenges with Virtual Prototyping · 2017-12-29 · •Model subsystems to support most critical software tasks •Leverage existing or generic models for

Power-aware Software Development

Reduce risk of late power management software development

Improve robustness of power management software

Reveal software bugs that can drain the battery

Top three goals for today

© Accellera Systems Initiative 26

Page 27: Attack Your SoC Power Challenges with Virtual Prototyping · 2017-12-29 · •Model subsystems to support most critical software tasks •Leverage existing or generic models for

How can software affect power?

Power management – application & use-case level

• Selection of best effort service

• Example: Turn off WiFi and use 3G when user idle

• Based on user’s performance/power needs

Power management – operating system level (OSPM)

• Runtime control of (sub-) system power modes

• Example: Drive WiFi subsystem into standby

• Steered by application level performance/power needs

Power control – firmware level

• Control clocks and voltages

• Example: set voltage regulator to 1.1V, set clock to 1GHz

• Initiated by operating system power management

Software controls the activity of the power consumers

© Accellera Systems Initiative 27

Page 28: Attack Your SoC Power Challenges with Virtual Prototyping · 2017-12-29 · •Model subsystems to support most critical software tasks •Leverage existing or generic models for

Power Management complexityExample: Mobile Application Processor

200 pages of clock programming Specification for each register:

410 static struct clksrc_clk exynos5_clk_dout_armclk = {411 .clk = {412 .name = "dout_armclk",413 .parent = &exynos5_clk_mout_cpu.clk,414 },415 .reg_div = { .reg = EXYNOS5_CLKDIV_CPU0, .shift = 0, .size = 3 },416 }; Clock definition in Linux

Source: http://www.samsung.com/global/business/semiconductor/file/product/Exynos_5_Dual_User_Manaul_Public_REV100-0.pdf

© Accellera Systems Initiative 28

Page 29: Attack Your SoC Power Challenges with Virtual Prototyping · 2017-12-29 · •Model subsystems to support most critical software tasks •Leverage existing or generic models for

Power Management complexityExample: Mobile Application Processor

Source: http://www.samsung.com/global/business/semiconductor/file/product/Exynos_5_Dual_User_Manaul_Public_REV100 -0.pdf

Programmer’sManual – The devil is in the detail:

Typical software problems that can cause days, or often weeks of debugging!

© Accellera Systems Initiative 29

Page 30: Attack Your SoC Power Challenges with Virtual Prototyping · 2017-12-29 · •Model subsystems to support most critical software tasks •Leverage existing or generic models for

Fighting bugs with power impactTypical scenario – Here Linux Kernel Mailing List

Source: Feb. 2013, https://lkml.org/lkml/2013/2/26/608

© Accellera Systems Initiative 30

Page 31: Attack Your SoC Power Challenges with Virtual Prototyping · 2017-12-29 · •Model subsystems to support most critical software tasks •Leverage existing or generic models for

Fighting bugs with power impactTypical scenario – Here Linux Kernel Mailing List

Works fine, but

Source: Feb. 2013, https://lkml.org/lkml/2013/2/26/608

Oops!

© Accellera Systems Initiative 31

Page 32: Attack Your SoC Power Challenges with Virtual Prototyping · 2017-12-29 · •Model subsystems to support most critical software tasks •Leverage existing or generic models for

Shift-Left with Virtual PrototypingStart earlier – Late Power Management software can have catastrophic consequences on project schedules

© Accellera Systems Initiative 32

Page 33: Attack Your SoC Power Challenges with Virtual Prototyping · 2017-12-29 · •Model subsystems to support most critical software tasks •Leverage existing or generic models for

Virtual Prototyping approach• Enable most critical software development tasks

• As early as possible

• Aligned with software project scheduleGoals

• Develop and deploy virtual prototypes (VP) incrementally

• Enable different software teams to develop in parallel

• Multiple VPs are created with different focusNeeds

• Model subsystems to support most critical software tasks

• Leverage existing or generic models for simulation of subsystems outside the software development focus

How

Its here not a goal of the virtual prototype to

represent all the hardware to develop all the software

(availability would be too late to make any impact)

© Accellera Systems Initiative 33

Page 34: Attack Your SoC Power Challenges with Virtual Prototyping · 2017-12-29 · •Model subsystems to support most critical software tasks •Leverage existing or generic models for

Case Study: SoC Power ManagementUSB subsystem with our specific PMIC and Clock Controller

USBCORE

Interrupt

Clock

Controller

Voltage

Controller(PMIC)

Soc Bus

Soc Bus

I2C Bus

USBPHY

Clk VDD

© Accellera Systems Initiative 34

Page 35: Attack Your SoC Power Challenges with Virtual Prototyping · 2017-12-29 · •Model subsystems to support most critical software tasks •Leverage existing or generic models for

Case Study: SoC Power ManagementCombine with available VDK for ARM Versatile Express and software

USBCOREInterrupt

Clock

Controller

Voltage

Controller

(PMIC)

Soc Bus

Soc Bus

I2C Bus

USBPHY

Clk VDD

ARM

CPUs

GIC

I2CCCI

UARTs

Timers CLCD

KMIs

CPU Motherboard Focus: USB subsystem

KMIsRAMs

Readily available pre-assembled VP building blocks.

Part of VDK for the ARM Versatile Express prototyping system

Allows running stock Linaro Linux kernel and filesystem images

© Accellera Systems Initiative 35

Page 36: Attack Your SoC Power Challenges with Virtual Prototyping · 2017-12-29 · •Model subsystems to support most critical software tasks •Leverage existing or generic models for

Case Study: SoC Power ManagementAdd power domain information for the USB subsystem

USBCORE

IRQ

Clock

Controller

Voltage

Controller(PMIC)

Bus

Soc Bus

I2C Bus

USBPHY

Clk VDD

Power Domain: Core Power Domain: PHY

Adapter

Adapter

USBCORE

Clock

Controller

Voltage

Controller(PMIC)

USBPHY

Vdd & Clk

valid?

Clk VDD

Output=Input

Output=TLM_ERROR

Raise assertion

IN OUT

Power domains

configuration file

MHz Volt

125 1.1

250 1.4

500 1.8

YesNo

© Accellera Systems Initiative 36

Page 37: Attack Your SoC Power Challenges with Virtual Prototyping · 2017-12-29 · •Model subsystems to support most critical software tasks •Leverage existing or generic models for

What we just learned

• The scope of a Virtual Prototype need to match the requirements of the software team– What is needed to enable the key critical software tasks?

– A mix of generic and specific HW components

– Assembly & modeling tools assist the specific HW model creation

– Enables earliest availability

• A VP can accurately model power management hardware– Clock & voltage trees

– Power Managament IC (PMIC)

– Clock controller

– Power domain isolation

© Accellera Systems Initiative 37

Page 38: Attack Your SoC Power Challenges with Virtual Prototyping · 2017-12-29 · •Model subsystems to support most critical software tasks •Leverage existing or generic models for

Power-aware Software Development

Reduce risk of late power management software development

Improve robustness of power management software

Reveal software bugs that can drain the battery

Top three goals for today

© Accellera Systems Initiative 38

Page 39: Attack Your SoC Power Challenges with Virtual Prototyping · 2017-12-29 · •Model subsystems to support most critical software tasks •Leverage existing or generic models for

Case Study: Normal OS & driver operationBooting and using USB for a file storage gadget

© Accellera Systems Initiative 39

Page 40: Attack Your SoC Power Challenges with Virtual Prototyping · 2017-12-29 · •Model subsystems to support most critical software tasks •Leverage existing or generic models for

Case Study: Driver faults from power bugBooting and using USB for a file storage gadget

• Unpowered core • Unpowered PHY

Abort exception! No response!

USBCORE

Interrupt

Soc Bus

Power Domain: Core Power Domain: PHY

USBPHY

© Accellera Systems Initiative 40

Page 41: Attack Your SoC Power Challenges with Virtual Prototyping · 2017-12-29 · •Model subsystems to support most critical software tasks •Leverage existing or generic models for

Case Study: Root cause analysis

Using a VDK,there is more to see!

Standard Linux Kernel Messaging System

Debug message:Exception fault!

© Accellera Systems Initiative 41

Page 42: Attack Your SoC Power Challenges with Virtual Prototyping · 2017-12-29 · •Model subsystems to support most critical software tasks •Leverage existing or generic models for

© Accellera Systems Initiative 42

Case Study: Root cause analysis

At that time: Access to USB

CORE

USB CORE in Power DownState! Why?

USB PHY is powered on Ok

PMIC drives voltages:V4 and V6

PMIC controlled by SW: OK

VDD connectivity:USB CORE connected to

V3 and not V4!

Need to correct USB driver to driver V3 regulator!

Debug message:Exception fault!

Page 43: Attack Your SoC Power Challenges with Virtual Prototyping · 2017-12-29 · •Model subsystems to support most critical software tasks •Leverage existing or generic models for

What we just learned

• Virtual prototypes do accurately simulate power management fault scenarios

– Software developer can reproduce and observe same defects like on hardware

– Deterministic repetition for debug and testing

• Virtual prototypes help accelerating root cause analysis

– Visibility and traceability of any HW or SW property

– Cross correlation of HW and SW power management

© Accellera Systems Initiative 43

Page 44: Attack Your SoC Power Challenges with Virtual Prototyping · 2017-12-29 · •Model subsystems to support most critical software tasks •Leverage existing or generic models for

Power-aware Software Development

Reduce risk of late power management software development

Improve robustness of power management software

Reveal software bugs that can drain the battery

Top three goals for today

© Accellera Systems Initiative 44

Page 45: Attack Your SoC Power Challenges with Virtual Prototyping · 2017-12-29 · •Model subsystems to support most critical software tasks •Leverage existing or generic models for

Software bugs impacting power consumption – the reality today

• Invisible to the developer

• Only revealed in long term scenario measurements

Small software bugs can have big impact on power

• Talk time might not be impacted at all

• Standby time might be reduced by multiple hours

Impact is use-case dependent

• No means to test and use-case analyze during development

• Power bugs continuously slip into production firmware

Software developers are often unaware

© Accellera Systems Initiative 45

Page 46: Attack Your SoC Power Challenges with Virtual Prototyping · 2017-12-29 · •Model subsystems to support most critical software tasks •Leverage existing or generic models for

How to analyze power bugs?Soldering skills required…

The hardware way… The Virtualizer way…

Source: How to measure SoC power, Andy Green, TI Landing Team lead, Linaro

Dynamic power analysisInstrumentation overlay

© Accellera Systems Initiative 46

Page 47: Attack Your SoC Power Challenges with Virtual Prototyping · 2017-12-29 · •Model subsystems to support most critical software tasks •Leverage existing or generic models for

Dynamic power analysisUsing instrumentation scripts in Virtualizer VDK

© Accellera Systems Initiative 47

Page 48: Attack Your SoC Power Challenges with Virtual Prototyping · 2017-12-29 · •Model subsystems to support most critical software tasks •Leverage existing or generic models for

USB Power ModelAbstract power model

• Approximate power per component at a reference frequency & voltage

• Good enough to find bug mentioned in introduction!

Detailed power model

• Approximate power for each power mode in a component

• Needed for run-time power management SW

Other

USB Core Power

USB PHY Power

From K Park:

> It would be best to keep these regulators

always on.

No, it's just workaround patch. It should be

handled at USB drivers. We usually used this

scheme enable USB power always. but it consumes

lots of power. There's no need to enable usb

power when there's no usb connection.

U3

Suspend

Normal

OperationU0

Active

© Accellera Systems Initiative 48

Page 49: Attack Your SoC Power Challenges with Virtual Prototyping · 2017-12-29 · •Model subsystems to support most critical software tasks •Leverage existing or generic models for

Dynamic power analysis big.LITTLE processing – Task migration with DVFS

Frequencies

Voltages

Leakage Energy

Dynamic Energy

Power State

State Utilization

A15 active

A15 idle

A7 off

A15 off

A7 active

A7 idle

A15 1.1V/1.359Ghz A15 0.8V/755MHz A7 0.8V/140Mhz

© Accellera Systems Initiative 49

Page 50: Attack Your SoC Power Challenges with Virtual Prototyping · 2017-12-29 · •Model subsystems to support most critical software tasks •Leverage existing or generic models for

What we just learned

• Power awareness has higher priority than power accuracy for software developers

– Even a simple on/off power model can reveal severe defects

– Power models can be realized at multiple levels of abstraction

• Power analysis can be added as an overly to a virtual prototype

– Less intrusive than cutting rails and soldering shunts

– Accuracy in the same ballpark as HW based measurement

© Accellera Systems Initiative 50

Page 51: Attack Your SoC Power Challenges with Virtual Prototyping · 2017-12-29 · •Model subsystems to support most critical software tasks •Leverage existing or generic models for

Power-aware Software Development

Reduce risk of later power management software

• Complete software development earlier with Virtual prototypes

• Simulate power domain control (PMIC and clock controller)

Improve robustness of power management software

• Simulate fault scenarios such as unpowered hardware

• Efficient root cause analysis from HW though SW stack

Reveal software bugs that can drain the battery

• Simulate approximate power consumption

• Expose power consumption defects to the SW developer

Top three goals for today

51© Accellera Systems Initiative

Page 52: Attack Your SoC Power Challenges with Virtual Prototyping · 2017-12-29 · •Model subsystems to support most critical software tasks •Leverage existing or generic models for

Questions?

© Accellera Systems Initiative 52

Page 53: Attack Your SoC Power Challenges with Virtual Prototyping · 2017-12-29 · •Model subsystems to support most critical software tasks •Leverage existing or generic models for

Thank You

© Accellera Systems Initiative 53