SlideShare a Scribd company logo
1 of 78
Download to read offline
EUROPE 2012 (LCE12)
How to measure SoC power
Andy Green, TI Landing Team lead, Linaro
EUROPE 2012 (LCE12)
www.linaro.org
Introduction
I lead Linaro TI Landing Team at Linaro
Mainly been working on hardware the last 25 years
TI very interested in power optimization
SoCs have a lot of schemes needing software support
So there's a lot of things we work with that might, or should
impact system power
We need to observe and measure those expected impacts
Many people working in different areas can benefit from
looking at exact detail of where power is going in the
system...
EUROPE 2012 (LCE12)
www.linaro.org
Sections
1: Minimum Electronics Primer
2: Measuring voltage and current
3: Arm Energy Probe hardware
4: Practical Board instrumentation
5: Error Sources
6: Commandline Linux AEP app
7: aepd and HTML5 UI
}
}
}Hardware
Software
EUROPE 2012 (LCE12)
www.linaro.org
Section 1: Minimum Electronics primer
EUROPE 2012 (LCE12)
www.linaro.org
[1/7] What is voltage?
Voltage is like the “pressure” electrons have
to go somewhere
They might not be going anywhere at any
particular time, but the pressure is still there
In a battery, electrons are chemically
separated out to the – side and prevented
from leaking on to the + side through the
inside
So there's “pressure” built up for electrons
on the – side to want to go to the + side
EUROPE 2012 (LCE12)
www.linaro.org
[2/7] What is voltage?
Voltage is measured in Volts / V
In SoCs we usually deal with 0.9 – 5V
range
Typical transistors want to switch around 700mV
USB = 5V
SoC IO = 1.8V
LED = 1.2V
DDR = 1.29V
ARM Vcore = 0.9 – 1.6V (DVFS)
L-ion battery cell = 3.7V
We can measure voltage using a
voltmeter of some kind
EUROPE 2012 (LCE12)
www.linaro.org
[3/7] What is load?
Load is the thing we put between a voltage to make current
flow and get work done. Your dev board is a “load”.
It has a resistance, measured in Ohms / R
EUROPE 2012 (LCE12)
www.linaro.org
[4/7] What is current?
Current is a measure of electrons flowing
through the circuit
It's measured in Ampere / A
Sometimes the symbol I is used to talk about current
How much current flows is a function of
voltage and load resistance (I = V / R)
A “short circuit” is ~0R load, max current flows
Examples
USB2 device Max current = 500mA, USB3 = 900mA
Typical max 5V adapter current = 2A
LED current = 1 – 10mA
L-ion battery cell = 2.5A (cf Capacity 2.5A/h)
EUROPE 2012 (LCE12)
www.linaro.org
[5/7] So...what is power?
Power = current x voltage... P=IV
Voltage or current tends to increase or decrease == power
is increasing or decreasing accordingly
P=IV == V2
/R so V / 2 --> P / 4
This is why DVFS is so interesting...
Measured in Watts / W
Examples:
USB device max power 5V x 500mA = 2.5W
Typical AC adapter: 5V x 2A = 10W
LED: 1.2V x 1 – 10mA = 1.2 – 12mW
L-ion battery cell: 3.7V x 2.5A = 9.25W
Cf Capacity 9.25W/h
EUROPE 2012 (LCE12)
www.linaro.org
[6/7] Why talk about power and not current?
There are usually many different power domains in a
system, each supplied by its own “power rail” at different
voltages
By converting voltage & current measurements to power,
you can compare power from different voltages or parts of
the system
For that reason, although V and A may be interesting all
power reporting should be done in W, so the numbers
are comparable
In the end you always want to compare individual rail power
to overall system power, which is definitely at a different
voltage... Watts only!
EUROPE 2012 (LCE12)
www.linaro.org
[7/7] Summary
Voltage (V) is “pressure” for electricty to flow
Current (A) measures the flow of electricity
Load (R) is what the current flows through
Power (W) is the Voltage x the Current, or pressure x flow
We need to measure rail voltage and current, to end up
with a power figure in W
EUROPE 2012 (LCE12)
www.linaro.org
Section 2: Measuring voltage and current
EUROPE 2012 (LCE12)
www.linaro.org
Common-mode voltage measurement
Voltage is relative between two points
(it's also known as “potential
difference”)
One side of the input voltage is
decreed the “0V” reference to which all
the other system voltages are
compared (it's the – side of the DC
input by convention).
Common-mode voltage is the voltage
difference between your rail and “0V”
EUROPE 2012 (LCE12)
www.linaro.org
Measuring current with an Ammeter
An Ammeter (current meter) can be
implemented as a sensitive voltmeter
measuring the difference in voltage
across an internal series shunt resistor
You interrupt the circuit to add the meter
in series, so the current passes through
the meter
This is how your multimeter works in A
range
EUROPE 2012 (LCE12)
www.linaro.org
Measuring current with a voltmeter
Actually you could just add the shunt
resistor yourself and use a sensitive
voltmeter
That has advantages that the high
current path does not go via the meter
cables any more, just straight through
the shunt resistor
When you're not measuring, the shunt
resistor stays there and things work as
normal
EUROPE 2012 (LCE12)
www.linaro.org
So to measure power in a rail
You have to break or interrupt the rail
Often there's a convenient way to do that without cutting
Insert a shunt resistor in series
Wire up one voltmeter to measure rail voltage vs 0V
Wire up another voltmeter to measure the voltage across the
shunt to find the current (knowing the shunt resistance,
I=V/R)
Multiply the common-mode voltage and current together to
get power
EUROPE 2012 (LCE12)
www.linaro.org
Shunt Resistance Selection
The main criteria is voltmeter sensitivity
For AEP, its sensitive voltmeter for shunt
measurements tops out at 165mV, so that
is the voltage drop over the shunt we want
for worst case current
For larger currents, we also have to take
care that the shunt can cope with the power
it dissipates as heat
Next is the shunt selection chart for 165mV
drop at various maximum currents
EUROPE 2012 (LCE12)
www.linaro.org
Shunt power dissipation selection for 165mV
Eg, 1.5A max --> 100mR shunt, 1/4W rated
EUROPE 2012 (LCE12)
www.linaro.org
Rule of thumb for shunts
For AEP usage (165mV shunt range)
Many Watts like DC jack, or high power rails
0.22R or 0.1R, 1W or more
For normal rails
0.47R 0.25W - 0.5W
EUROPE 2012 (LCE12)
www.linaro.org
Choosing lower value shunt than necessary
For some rails, like CPU DVFS rails, shunt loss at full scale
of voltmeter may be too much to lose
Eg, 165mV of 900mV rail is 18% loss
You can select a shunt that drops less than full scale at the
highest expected current
Eg, only drop 50mV of 900mV rail worst case
It works, but because you only use part of the range the
measurement ADC step size is larger, noise goes up and
precision goes down
Trick... if you didn't plan on lower value shunt needed, you
can double-up two or more in parallel to get R/n
EUROPE 2012 (LCE12)
www.linaro.org
Unipolar vs Bipolar voltmeters
Unipolar or “1-quadrant” can just measure positive voltage
or current
Bipolar or “4-quadrant” can measure +/- common-mode
voltage and +/- current
+/- current very useful for battery, +/- voltage less so
Bipolar may have problems determining what “zero” looks
like
Unipolar should do better with “zero” but doesn't always
EUROPE 2012 (LCE12)
www.linaro.org
How regulators work (or not)
Regulators operate in a loop
They allow more or less input to the output according to what
it senses at the output
They have an internal or external “sense” pin which lets them
watch the output and then act to make sure it stays at the right
voltage
EUROPE 2012 (LCE12)
www.linaro.org
Difficulties with regulation
Wiring has “inductance” which affects the signal or power as
the load changes
Additional inductance of meter and wiring mean the regulator
cannot sense load changes properly
SoC will crash
EUROPE 2012 (LCE12)
www.linaro.org
Modern Regulation strategies help
For high power, dynamic loads, SoCs provides a separate
“sense” pin for the regulator
connected right at the load, on the die
Regulator does what's needed to keep that regulated
EUROPE 2012 (LCE12)
www.linaro.org
Input-side measurements
The extra impedence is one problem
Another is the voltage drop from the shunt, 150mV is not
much but on a 900mV DVFS rail, it will stop the SoC
working
Both problems can be avoided by measuring the input side
of the regulator instead
You don't see output voltage then though
Your power measurement include regulator losses
EUROPE 2012 (LCE12)
www.linaro.org
Regulator efficiency
Switching regulators are designed for
peak efficiency (up to 95%) at a
particular load
For different loads, efficiency may decline
below 50%
Linear regulators are simpler but can
be grossly inefficient
Current at input side same as the output side
If input side voltage is much higher than
output, large power losses as heat result
Input – output delta is called “dropout voltage”
Only useful at low dropout voltage and low
currents
Used in sensitive analogue circuits though,
since they do not introduce switching noise
EUROPE 2012 (LCE12)
www.linaro.org
Measurement bandwidth
How many samples per second do you need to analyze
current used by an SoC regulator?
Modern regulator switching frequency tends towards a few
MHz, if you measure input of regulator this is its “clock
frequency”
Higher switching frequency allows use of smaller inductors
Load only visible at input for part of switching cycle --> load is
typically modulated at a few MHz. So sample rate > ~5Msps not
useful
Spread spectrum and duty-cycle modulation also in use
Smoothing and reservoir capacitors hide short load bursts,
but all output load must appear at input, perhaps delayed
You can see plenty at 10ksps
EUROPE 2012 (LCE12)
www.linaro.org
Power tree
The DC input jack and each regulator supplies a “rail”
Some designs still use a metal “rail” or “bus bar” to distribute the
power around the circuit, hence the name
One or more device connects to the rail to consume power
from it
Sometimes it is other regulators to produce a new rail supplied by the
parent one, ie, a power tree
EUROPE 2012 (LCE12)
www.linaro.org
Power tree vs regulator efficiency
Ideally you add shunts and measure power on all rails
If rails go to several interesting places, you would want to
add individual shunts for power to each device
You can also measure the input side of the regulator that
supplies the rails
If you have power measurements on both sides of the regulator, you
can easily see its efficiency
EUROPE 2012 (LCE12)
www.linaro.org
Four measurement strategies
Here are four common measurement strategies
DC IN
Indirect output-side regulator measurements
Shunts on all SoC rails
Shunts on all board assets
EUROPE 2012 (LCE12)
www.linaro.org
1/4: DC input
Easiest rail to instrument
Doesn't need changes to board itself
Ultimately everything that consumed power got it from
the power input, by one route or another
Every activity on the board consumes power
But it can be hard to interpret “why” or where the power
was used if all you can see is one total number
If multiple activities are ongoing, you can't tell between them
But it's an easy and quick way to start
You can use it for “delta” comparison, same setup
before and after a change you want to test
There's uncertainty any changes are down to your delta
Take note of the error sources section later
EUROPE 2012 (LCE12)
www.linaro.org
2/4: Indirect output-side measurements
Some SoC rails under DVFS control are interesting, but it
might not be possible to instrument them directly
Instead you can instrument the input side of their regulator
as discussed, and find the current (including regulator
overhead)
You can use a second channel then to monitor just the
common-mode voltage on the output side (not current)
In that way you can infer output-side current and voltage
information without changing the output side
EUROPE 2012 (LCE12)
www.linaro.org
3/4: shunts on all SoC rails (input side)
SoC vendor primarily interested in SoC power consumption
Insight into exact path for extra power consumption (eg
DDR)
EUROPE 2012 (LCE12)
www.linaro.org
4/4: shunts on all board assets
Most ideal scenario, shunts on all power consumption in
exact detail, using many channels
Samsung Origen breaks power tree into 14 shunts... perfect
Individual shunts for GPS unit, for example
This lets you answer questions like, “exactly how much
power is consumed by xxx?”, where XXX might be
GPS in standby
3G module when connected to tower but not in use
WLAN module over various power modes
HDMI PHY in use and standby
USB PHY, USB 5V generator etc etc
The more rails you have numbers for, the less uncertainty in
the remaining unknown power
EUROPE 2012 (LCE12)
www.linaro.org
Pandaboard ES with 9 rails instrumented
EUROPE 2012 (LCE12)
www.linaro.org
Section 3: Arm Energy Probe hardware
EUROPE 2012 (LCE12)
www.linaro.org
Scaleable USB connectivity
3 channels per probe
As many probes as you need
Appear as ttyACM serial ports automatically
No built-in serial number or other way to tell them apart... care needed to make
sure the right probe maps to the right ttyACM number
Has a known serial protocol
EUROPE 2012 (LCE12)
www.linaro.org
Arm Energy Probe architecture
Three channels of 2 voltmeters each
0 – 30V range
Common-mode voltage
0 – 165mV range
Amplified (x20) to increase sensitivity
cross-shunt voltage measurement
To turn into current value, need to know Rshunt
EUROPE 2012 (LCE12)
www.linaro.org
Section 4: Practical board instrumentation
EUROPE 2012 (LCE12)
www.linaro.org
Steps to instrument a board
Study schematic to find where to place shunts
Estimate correct shunt size and resistance
Place one 7-pin header per AEP
Wire up ground pins
Place shunts
Wire up shunts to header pins
EUROPE 2012 (LCE12)
www.linaro.org
Reading Schematics
Schematics are drawings of how the components of the
electronic design are connected
Boxy things might be a chip, or part of a chip
Boxy things have a name, like U5 (IC 5) or R7 (Resistor 7)
On the PCB, the device will have the matching name nearby
Lines are connections, made into copper lines on the PCB
Lines can be named, wherever the same name is seen will
be connected together on the PCB
If you provide the board schematic to an EE, he can tell you
where it's possible to place your shunts
EUROPE 2012 (LCE12)
www.linaro.org
Input-side inductors
Usually possible to replace these with shunt without cutting
Used to attenuate regulator RF switching emissions leaking
on to power cable, not critical for operation
EUROPE 2012 (LCE12)
www.linaro.org
AEP connector
7-pin: 3 x 2 sense leads, 1 x 0V reference lead
Orientation of sense leads on shunt matters
Doesn't break if it's wrong, but numbers will be wrong (near 0)
White lead needs to go on “before” side of shunt
EUROPE 2012 (LCE12)
www.linaro.org
Adding shunt to DC jack externally
EUROPE 2012 (LCE12)
www.linaro.org
Adding shunt to DC jack internally
Usually your DC jack exposes the + power
You can cut it and bridge the cut with your shunt
EUROPE 2012 (LCE12)
www.linaro.org
Preparing your board for measurements
Use a 7-way 0.1” header for each probe (3 channels)
EUROPE 2012 (LCE12)
www.linaro.org
Fix headers to your board
Superglue the back to a spare region of the board
EUROPE 2012 (LCE12)
www.linaro.org
Wire headers to your shunts and 0V
Add 0V connection
Add twisted pairs back to the shunt
EUROPE 2012 (LCE12)
www.linaro.org
Adding SMT shunts
Remove old inductor, solder the shunt in place
Add the other end of the wires to the shunt
EUROPE 2012 (LCE12)
www.linaro.org
Adding high power shunt on high current path
Same deal just bigger resistor
EUROPE 2012 (LCE12)
www.linaro.org
Section 4: Error sources
EUROPE 2012 (LCE12)
www.linaro.org
Error sources
All measured numbers are just bullshit until:
You know what they are supposed to measure / mean
You can repeat the meaurements
Different day / test channel / board / temperature
They are sane
If you measure total system power and one rail measurement is higher,
something is broken
If you know zero power is in use, does it say 0.000W?
You have a rough error budget for how the numbers were arrived at
Even when the numbers have a pedigree, +/- 10 - 20% vs absolute accuracy
is a reasonable assumption
If you have access to lab-calibrated, absolutely accurate equipment to
compare them with, you can trust them more
EUROPE 2012 (LCE12)
www.linaro.org
Concept of repeatability
Numbers that cannot be repeated under similar test
conditions contain error
Need to understand why and how much, can still be usable
Ultimately if it's not repeatable, it's not measuring what you
thought it was
EUROPE 2012 (LCE12)
www.linaro.org
Zero offset
Bits of the circuit, the shunt, the measuring device drift with
age and temperature
Here's what happened to “0mA” when I turned the air
conditioning on, over 15 minutes
EUROPE 2012 (LCE12)
www.linaro.org
Effect of temperature on measuring device
Shunt resistance is sensitive to temperature
Take care about self-heating at high currents too
Different resistor chemistries act different, SMT ones seem better
Adc
Shunt voltage amplifier
Resistor reaction to temperature
Ntc / ptc networks
EUROPE 2012 (LCE12)
www.linaro.org
Measurement bandwidth
The rate of sampling can also impact results
At 10Ksps, events significantly faster than 100uS may be
missed or under-reported
If you're unlucky load changes at a rate that is a multiple of
the sample rate can lead to aliasing
When measuring at the input side of the regulator, these
load changes are themselves sampled by the switching
action of the regulator
Generally even fast load changes are averaged fairly well
EUROPE 2012 (LCE12)
www.linaro.org
Linearity of ADC + shunt amp
Supposed to ignore common-mode voltage
Measure the same 2mA for 2mA at 1V, as 2mA at 5V
But this is “0mA” measured at different common-mode
voltages...
EUROPE 2012 (LCE12)
www.linaro.org
Silicon power consumption over temperature
Silicon switching efficiency is a function of temperature
23% (1.9W – 2.34W) increase in consumption for same
cpuburn just from die temperature rise from 30°C – 60°C
Repeatability...
EUROPE 2012 (LCE12)
www.linaro.org
Differences between channels
Uncorrected (except zero offset) measurement of same
3.8mV shunt voltage (red line) using 12 channels in turn
Huge variation of reported numbers by channel
EUROPE 2012 (LCE12)
www.linaro.org
Channel correlation correction effectiveness
After software correction (blue X)
Error less than -13%/+9% at 3.8mV
EUROPE 2012 (LCE12)
www.linaro.org
AEP-specific problems with low voltage range
I mapped out the measured vs real results for different
common-mode voltages and currents in “2D”
These correction tables are applied in the GPL software
EUROPE 2012 (LCE12)
www.linaro.org
Error budget estimation
Actual resistance of shunt is not what is marked on the
resistor due to manufacturing process spread
Typ +/- 5%, +/- 1% available
...and it varies by temperature...
Typical SMT (Yaego RL0805) 470mR changes by +300ppm / °C
10°C change is +1.4mR (0.3%)
... so conversion of shunt voltage to current has ~+/- 6%
(2% for 1% resistors) uncertainty
Channel current differences are around +/- 10% (at 10mA)
even after correction
Unknown ADC offset and linearity errors
In AEP case, numbers below a few mA are almost certainly
wrong due to linearity problems...
EUROPE 2012 (LCE12)
www.linaro.org
Section 5: Commandline Linux AEP app
EUROPE 2012 (LCE12)
www.linaro.org
Arm-probe architecture
EUROPE 2012 (LCE12)
www.linaro.org
Architecture
Synchronizes sampling across multiple energy probes
Has a text config file defining information about each probe
channel (Rshunt etc)
Outputs ascii numbers in column format
Appends columns to stdin if present
Gnuplot-friendly output
Autozero support
Trigger support to synchronize capture to interesting events
Probe sample capture happens in forked process decoupled
from sample consumer code
EUROPE 2012 (LCE12)
www.linaro.org
Section 6: aepd and HTML5 UI
EUROPE 2012 (LCE12)
www.linaro.org
aepd and HTML5 UI
EUROPE 2012 (LCE12)
www.linaro.org
Aepd architecture
EUROPE 2012 (LCE12)
www.linaro.org
Websockets advantages
Realtime, immediate graphical update from aepd link
600px, up to 24fps == see all 10Ksps samples
“power scope”
Local or remote network link for browser
EUROPE 2012 (LCE12)
www.linaro.org
Generic sample interface
Allows integration of alternate measurement hardware
Floating-point voltage and current
Posix semaphore and shared memory sample buffer
architecture
Arm Energy Probe support provided
EUROPE 2012 (LCE12)
www.linaro.org
All samples captured
All samples of all channels captured to a spool file
120s buffer by default
Lot of storage involved
Browser views individually view the spool buffer at different
timescales and positions in time
Different from oscilloscope etc with only short display buffers
Doesn't matter if you “miss” an event, you can just scroll
back
EUROPE 2012 (LCE12)
www.linaro.org
Averaging scheme in the storage ringbuffer
Spool buffer is arranged so it's possible to get an
instantaneous average for any range of samples
Every sample always contributes to the average
Allows immediate changes to “time zoom” in the UI
EUROPE 2012 (LCE12)
www.linaro.org
Smart comparing of power tree
Understands parent / child (supply / consumer rail)
relationship of monitored rails
By default, “top parent” supply shown “in the background”,
and the child rails on top of each other in the foreground
At high zoom, you can see noise on top of noise...
This lets you see any delta between the known total power
and the known child supply power
Stuff you are not capturing
Regulator efficiency loss
Can also see individual rails by clicking on the key
This is useful to see minimal noise on the rail
EUROPE 2012 (LCE12)
www.linaro.org
Calipers
At the top of the canvas are two slideable “calipers”
What's between these calipers is averaged and reported in
the stats table at the right
Updated at 10Hz
Accurate time measurement of power events
Accurate averages across selected power events
EUROPE 2012 (LCE12)
www.linaro.org
“Search”
(This is not finished yet...)
Different paradigm than oscilloscope, since operates on deep,
complete buffer post-capture
“fades out” different parts of dataset based on power level
search criteria
Determine duty cycle of matching / non-matching regions
Get power averages just for matching regions
EUROPE 2012 (LCE12)
www.linaro.org
Uses of deep buffer 100% capture
True analysis of boot timing from first power to various
activities in boot, in addition to power involved
Can't be replicated by “from inside” measurements
EUROPE 2012 (LCE12)
www.linaro.org
All software GPL'd and available today
git://git.linaro.org/tools/arm-probe.git
Need AEP
Instrument your board with shunts
Linux box to host AEPs on USB and aepd
Google Chrome (best HTML5 implementation)
Works on Android Chrome as well
Expected to be useful as basis for vendor in-house power
monitoring tools in future
GPL project...
More about Linaro Connect: connect.linaro.org
More about Linaro: www.linaro.org/about/
More about Linaro engineering: www.linaro.org/engineering/
EUROPE 2012 (LCE12)

More Related Content

What's hot

Linux Kernel vs DPDK: HTTP Performance Showdown
Linux Kernel vs DPDK: HTTP Performance ShowdownLinux Kernel vs DPDK: HTTP Performance Showdown
Linux Kernel vs DPDK: HTTP Performance ShowdownScyllaDB
 
WALT vs PELT : Redux - SFO17-307
WALT vs PELT : Redux  - SFO17-307WALT vs PELT : Redux  - SFO17-307
WALT vs PELT : Redux - SFO17-307Linaro
 
Dynamic Voltage and Frequency Scaling
Dynamic Voltage and Frequency ScalingDynamic Voltage and Frequency Scaling
Dynamic Voltage and Frequency Scalingshubham ghimire
 
Continguous Memory Allocator in the Linux Kernel
Continguous Memory Allocator in the Linux KernelContinguous Memory Allocator in the Linux Kernel
Continguous Memory Allocator in the Linux KernelKernel TLV
 
The Linux Kernel Scheduler (For Beginners) - SFO17-421
The Linux Kernel Scheduler (For Beginners) - SFO17-421The Linux Kernel Scheduler (For Beginners) - SFO17-421
The Linux Kernel Scheduler (For Beginners) - SFO17-421Linaro
 
PowerArtist: RTL Design for Power Platform
PowerArtist: RTL Design for Power PlatformPowerArtist: RTL Design for Power Platform
PowerArtist: RTL Design for Power PlatformAnsys
 
Linux Interrupts
Linux InterruptsLinux Interrupts
Linux InterruptsKernel TLV
 
Learning Python. Level 0
Learning Python. Level 0Learning Python. Level 0
Learning Python. Level 0Datio Big Data
 
Low Power Design and Verification
Low Power Design and VerificationLow Power Design and Verification
Low Power Design and VerificationDVClub
 
Introduction about APB Protocol
Introduction about APB ProtocolIntroduction about APB Protocol
Introduction about APB ProtocolPushpa Yakkala
 
A History of Computer Programming Languages.pdf
A History of Computer Programming Languages.pdfA History of Computer Programming Languages.pdf
A History of Computer Programming Languages.pdfSohaib Roomi
 
Communication Frameworks for HPC and Big Data
Communication Frameworks for HPC and Big DataCommunication Frameworks for HPC and Big Data
Communication Frameworks for HPC and Big Datainside-BigData.com
 

What's hot (20)

12 low power techniques
12 low power techniques12 low power techniques
12 low power techniques
 
Linux Kernel vs DPDK: HTTP Performance Showdown
Linux Kernel vs DPDK: HTTP Performance ShowdownLinux Kernel vs DPDK: HTTP Performance Showdown
Linux Kernel vs DPDK: HTTP Performance Showdown
 
WALT vs PELT : Redux - SFO17-307
WALT vs PELT : Redux  - SFO17-307WALT vs PELT : Redux  - SFO17-307
WALT vs PELT : Redux - SFO17-307
 
Dynamic Voltage and Frequency Scaling
Dynamic Voltage and Frequency ScalingDynamic Voltage and Frequency Scaling
Dynamic Voltage and Frequency Scaling
 
Continguous Memory Allocator in the Linux Kernel
Continguous Memory Allocator in the Linux KernelContinguous Memory Allocator in the Linux Kernel
Continguous Memory Allocator in the Linux Kernel
 
The Linux Kernel Scheduler (For Beginners) - SFO17-421
The Linux Kernel Scheduler (For Beginners) - SFO17-421The Linux Kernel Scheduler (For Beginners) - SFO17-421
The Linux Kernel Scheduler (For Beginners) - SFO17-421
 
PowerArtist: RTL Design for Power Platform
PowerArtist: RTL Design for Power PlatformPowerArtist: RTL Design for Power Platform
PowerArtist: RTL Design for Power Platform
 
Linux Interrupts
Linux InterruptsLinux Interrupts
Linux Interrupts
 
Rtos Concepts
Rtos ConceptsRtos Concepts
Rtos Concepts
 
Learning Python. Level 0
Learning Python. Level 0Learning Python. Level 0
Learning Python. Level 0
 
Low Power Techniques
Low Power TechniquesLow Power Techniques
Low Power Techniques
 
Load Store Execution
Load Store ExecutionLoad Store Execution
Load Store Execution
 
Low Power Design and Verification
Low Power Design and VerificationLow Power Design and Verification
Low Power Design and Verification
 
Introduction about APB Protocol
Introduction about APB ProtocolIntroduction about APB Protocol
Introduction about APB Protocol
 
A History of Computer Programming Languages.pdf
A History of Computer Programming Languages.pdfA History of Computer Programming Languages.pdf
A History of Computer Programming Languages.pdf
 
Communication Frameworks for HPC and Big Data
Communication Frameworks for HPC and Big DataCommunication Frameworks for HPC and Big Data
Communication Frameworks for HPC and Big Data
 
Ceph on arm64 upload
Ceph on arm64   uploadCeph on arm64   upload
Ceph on arm64 upload
 
FPGA
FPGAFPGA
FPGA
 
Memory management
Memory managementMemory management
Memory management
 
Dual port ram
Dual port ramDual port ram
Dual port ram
 

Viewers also liked

(ATS6-PLAT09) Deploying Applications on load balanced AEP servers for high av...
(ATS6-PLAT09) Deploying Applications on load balanced AEP servers for high av...(ATS6-PLAT09) Deploying Applications on load balanced AEP servers for high av...
(ATS6-PLAT09) Deploying Applications on load balanced AEP servers for high av...BIOVIA
 
BKK16-317 How to generate power models for EAS and IPA
BKK16-317 How to generate power models for EAS and IPABKK16-317 How to generate power models for EAS and IPA
BKK16-317 How to generate power models for EAS and IPALinaro
 
Analysis of leakage current calculation for nanoscale MOSFET and FinFET
Analysis of leakage current calculation for nanoscale MOSFET and FinFETAnalysis of leakage current calculation for nanoscale MOSFET and FinFET
Analysis of leakage current calculation for nanoscale MOSFET and FinFETIJTET Journal
 
SoC - System on Chip
SoC - System on ChipSoC - System on Chip
SoC - System on ChipSatya Harish
 
LAS16-307: Benchmarking Schedutil in Android
LAS16-307: Benchmarking Schedutil in AndroidLAS16-307: Benchmarking Schedutil in Android
LAS16-307: Benchmarking Schedutil in AndroidLinaro
 
Power Management in Embedded Systems
Power Management in Embedded Systems Power Management in Embedded Systems
Power Management in Embedded Systems mentoresd
 
Embedded Systems Power Management
Embedded Systems Power ManagementEmbedded Systems Power Management
Embedded Systems Power ManagementPatrick Bellasi
 
SOC System Design Approach
SOC System Design ApproachSOC System Design Approach
SOC System Design ApproachA B Shinde
 
LinkedIn powerpoint
LinkedIn powerpointLinkedIn powerpoint
LinkedIn powerpointguest2137df
 

Viewers also liked (10)

(ATS6-PLAT09) Deploying Applications on load balanced AEP servers for high av...
(ATS6-PLAT09) Deploying Applications on load balanced AEP servers for high av...(ATS6-PLAT09) Deploying Applications on load balanced AEP servers for high av...
(ATS6-PLAT09) Deploying Applications on load balanced AEP servers for high av...
 
BKK16-317 How to generate power models for EAS and IPA
BKK16-317 How to generate power models for EAS and IPABKK16-317 How to generate power models for EAS and IPA
BKK16-317 How to generate power models for EAS and IPA
 
Analysis of leakage current calculation for nanoscale MOSFET and FinFET
Analysis of leakage current calculation for nanoscale MOSFET and FinFETAnalysis of leakage current calculation for nanoscale MOSFET and FinFET
Analysis of leakage current calculation for nanoscale MOSFET and FinFET
 
SoC - System on Chip
SoC - System on ChipSoC - System on Chip
SoC - System on Chip
 
LAS16-307: Benchmarking Schedutil in Android
LAS16-307: Benchmarking Schedutil in AndroidLAS16-307: Benchmarking Schedutil in Android
LAS16-307: Benchmarking Schedutil in Android
 
Power Management in Embedded Systems
Power Management in Embedded Systems Power Management in Embedded Systems
Power Management in Embedded Systems
 
Embedded Systems Power Management
Embedded Systems Power ManagementEmbedded Systems Power Management
Embedded Systems Power Management
 
SOC System Design Approach
SOC System Design ApproachSOC System Design Approach
SOC System Design Approach
 
Gps ppt
Gps pptGps ppt
Gps ppt
 
LinkedIn powerpoint
LinkedIn powerpointLinkedIn powerpoint
LinkedIn powerpoint
 

Similar to LCE12: How to measure SoC power

project report on plc based load sharing
project report on plc based load sharingproject report on plc based load sharing
project report on plc based load sharingVivek Arun
 
Unit IV DA & AD Convertors and Phase Locked Loop
Unit IV  DA & AD Convertors and Phase Locked LoopUnit IV  DA & AD Convertors and Phase Locked Loop
Unit IV DA & AD Convertors and Phase Locked LoopDr.Raja R
 
“Microcontroller Based Substation Monitoring system with gsm modem”.
“Microcontroller Based Substation Monitoring system with gsm modem”.“Microcontroller Based Substation Monitoring system with gsm modem”.
“Microcontroller Based Substation Monitoring system with gsm modem”.Priya Rachakonda
 
How to Build Your Own Power Supply
How to Build Your Own Power SupplyHow to Build Your Own Power Supply
How to Build Your Own Power SupplyEng. Emad Al-Atoum
 
The iot academy_embeddedsystems_training_circuitdesignpart3
The iot academy_embeddedsystems_training_circuitdesignpart3The iot academy_embeddedsystems_training_circuitdesignpart3
The iot academy_embeddedsystems_training_circuitdesignpart3The IOT Academy
 
Automatic temperature base fan controlle
Automatic temperature base fan  controlleAutomatic temperature base fan  controlle
Automatic temperature base fan controlleDharmaraj Morle
 
Chapter 34
Chapter 34Chapter 34
Chapter 34mcfalltj
 
IRJET-Design of Capacitor Less LDO Regulator by using Cascode Compensation Te...
IRJET-Design of Capacitor Less LDO Regulator by using Cascode Compensation Te...IRJET-Design of Capacitor Less LDO Regulator by using Cascode Compensation Te...
IRJET-Design of Capacitor Less LDO Regulator by using Cascode Compensation Te...IRJET Journal
 
D:\Edtech 2\Day5 Lesson11 N0ss
D:\Edtech 2\Day5 Lesson11 N0ssD:\Edtech 2\Day5 Lesson11 N0ss
D:\Edtech 2\Day5 Lesson11 N0ssArnold Dela Peña
 
speed control of three phase induction motor using IOT
speed control of three phase induction motor using IOTspeed control of three phase induction motor using IOT
speed control of three phase induction motor using IOTswaroop009
 
Harmonic Analysis of 6-Pulse and 12-Pulse Converter Models
Harmonic Analysis of 6-Pulse and 12-Pulse Converter ModelsHarmonic Analysis of 6-Pulse and 12-Pulse Converter Models
Harmonic Analysis of 6-Pulse and 12-Pulse Converter ModelsIJMER
 

Similar to LCE12: How to measure SoC power (20)

Apfc final seminar
Apfc final seminarApfc final seminar
Apfc final seminar
 
project report on plc based load sharing
project report on plc based load sharingproject report on plc based load sharing
project report on plc based load sharing
 
A010420117
A010420117A010420117
A010420117
 
Unit IV DA & AD Convertors and Phase Locked Loop
Unit IV  DA & AD Convertors and Phase Locked LoopUnit IV  DA & AD Convertors and Phase Locked Loop
Unit IV DA & AD Convertors and Phase Locked Loop
 
“Microcontroller Based Substation Monitoring system with gsm modem”.
“Microcontroller Based Substation Monitoring system with gsm modem”.“Microcontroller Based Substation Monitoring system with gsm modem”.
“Microcontroller Based Substation Monitoring system with gsm modem”.
 
embedded system
embedded system  embedded system
embedded system
 
How to Build Your Own Power Supply
How to Build Your Own Power SupplyHow to Build Your Own Power Supply
How to Build Your Own Power Supply
 
The iot academy_embeddedsystems_training_circuitdesignpart3
The iot academy_embeddedsystems_training_circuitdesignpart3The iot academy_embeddedsystems_training_circuitdesignpart3
The iot academy_embeddedsystems_training_circuitdesignpart3
 
Automatic temperature base fan controlle
Automatic temperature base fan  controlleAutomatic temperature base fan  controlle
Automatic temperature base fan controlle
 
Sepic
SepicSepic
Sepic
 
Chapter 34
Chapter 34Chapter 34
Chapter 34
 
40220140503003
4022014050300340220140503003
40220140503003
 
Project Report
Project ReportProject Report
Project Report
 
IJEDR1601085
IJEDR1601085IJEDR1601085
IJEDR1601085
 
IRJET-Design of Capacitor Less LDO Regulator by using Cascode Compensation Te...
IRJET-Design of Capacitor Less LDO Regulator by using Cascode Compensation Te...IRJET-Design of Capacitor Less LDO Regulator by using Cascode Compensation Te...
IRJET-Design of Capacitor Less LDO Regulator by using Cascode Compensation Te...
 
D:\Edtech 2\Day5 Lesson11 N0ss
D:\Edtech 2\Day5 Lesson11 N0ssD:\Edtech 2\Day5 Lesson11 N0ss
D:\Edtech 2\Day5 Lesson11 N0ss
 
Unit 3
Unit 3Unit 3
Unit 3
 
speed control of three phase induction motor using IOT
speed control of three phase induction motor using IOTspeed control of three phase induction motor using IOT
speed control of three phase induction motor using IOT
 
Harmonic Analysis of 6-Pulse and 12-Pulse Converter Models
Harmonic Analysis of 6-Pulse and 12-Pulse Converter ModelsHarmonic Analysis of 6-Pulse and 12-Pulse Converter Models
Harmonic Analysis of 6-Pulse and 12-Pulse Converter Models
 
project
projectproject
project
 

More from Linaro

Deep Learning Neural Network Acceleration at the Edge - Andrea Gallo
Deep Learning Neural Network Acceleration at the Edge - Andrea GalloDeep Learning Neural Network Acceleration at the Edge - Andrea Gallo
Deep Learning Neural Network Acceleration at the Edge - Andrea GalloLinaro
 
Arm Architecture HPC Workshop Santa Clara 2018 - Kanta Vekaria
Arm Architecture HPC Workshop Santa Clara 2018 - Kanta VekariaArm Architecture HPC Workshop Santa Clara 2018 - Kanta Vekaria
Arm Architecture HPC Workshop Santa Clara 2018 - Kanta VekariaLinaro
 
Huawei’s requirements for the ARM based HPC solution readiness - Joshua Mora
Huawei’s requirements for the ARM based HPC solution readiness - Joshua MoraHuawei’s requirements for the ARM based HPC solution readiness - Joshua Mora
Huawei’s requirements for the ARM based HPC solution readiness - Joshua MoraLinaro
 
Bud17 113: distribution ci using qemu and open qa
Bud17 113: distribution ci using qemu and open qaBud17 113: distribution ci using qemu and open qa
Bud17 113: distribution ci using qemu and open qaLinaro
 
OpenHPC Automation with Ansible - Renato Golin - Linaro Arm HPC Workshop 2018
OpenHPC Automation with Ansible - Renato Golin - Linaro Arm HPC Workshop 2018OpenHPC Automation with Ansible - Renato Golin - Linaro Arm HPC Workshop 2018
OpenHPC Automation with Ansible - Renato Golin - Linaro Arm HPC Workshop 2018Linaro
 
HPC network stack on ARM - Linaro HPC Workshop 2018
HPC network stack on ARM - Linaro HPC Workshop 2018HPC network stack on ARM - Linaro HPC Workshop 2018
HPC network stack on ARM - Linaro HPC Workshop 2018Linaro
 
It just keeps getting better - SUSE enablement for Arm - Linaro HPC Workshop ...
It just keeps getting better - SUSE enablement for Arm - Linaro HPC Workshop ...It just keeps getting better - SUSE enablement for Arm - Linaro HPC Workshop ...
It just keeps getting better - SUSE enablement for Arm - Linaro HPC Workshop ...Linaro
 
Intelligent Interconnect Architecture to Enable Next Generation HPC - Linaro ...
Intelligent Interconnect Architecture to Enable Next Generation HPC - Linaro ...Intelligent Interconnect Architecture to Enable Next Generation HPC - Linaro ...
Intelligent Interconnect Architecture to Enable Next Generation HPC - Linaro ...Linaro
 
Yutaka Ishikawa - Post-K and Arm HPC Ecosystem - Linaro Arm HPC Workshop Sant...
Yutaka Ishikawa - Post-K and Arm HPC Ecosystem - Linaro Arm HPC Workshop Sant...Yutaka Ishikawa - Post-K and Arm HPC Ecosystem - Linaro Arm HPC Workshop Sant...
Yutaka Ishikawa - Post-K and Arm HPC Ecosystem - Linaro Arm HPC Workshop Sant...Linaro
 
Andrew J Younge - Vanguard Astra - Petascale Arm Platform for U.S. DOE/ASC Su...
Andrew J Younge - Vanguard Astra - Petascale Arm Platform for U.S. DOE/ASC Su...Andrew J Younge - Vanguard Astra - Petascale Arm Platform for U.S. DOE/ASC Su...
Andrew J Younge - Vanguard Astra - Petascale Arm Platform for U.S. DOE/ASC Su...Linaro
 
HKG18-501 - EAS on Common Kernel 4.14 and getting (much) closer to mainline
HKG18-501 - EAS on Common Kernel 4.14 and getting (much) closer to mainlineHKG18-501 - EAS on Common Kernel 4.14 and getting (much) closer to mainline
HKG18-501 - EAS on Common Kernel 4.14 and getting (much) closer to mainlineLinaro
 
HKG18-100K1 - George Grey: Opening Keynote
HKG18-100K1 - George Grey: Opening KeynoteHKG18-100K1 - George Grey: Opening Keynote
HKG18-100K1 - George Grey: Opening KeynoteLinaro
 
HKG18-318 - OpenAMP Workshop
HKG18-318 - OpenAMP WorkshopHKG18-318 - OpenAMP Workshop
HKG18-318 - OpenAMP WorkshopLinaro
 
HKG18-501 - EAS on Common Kernel 4.14 and getting (much) closer to mainline
HKG18-501 - EAS on Common Kernel 4.14 and getting (much) closer to mainlineHKG18-501 - EAS on Common Kernel 4.14 and getting (much) closer to mainline
HKG18-501 - EAS on Common Kernel 4.14 and getting (much) closer to mainlineLinaro
 
HKG18-315 - Why the ecosystem is a wonderful thing, warts and all
HKG18-315 - Why the ecosystem is a wonderful thing, warts and allHKG18-315 - Why the ecosystem is a wonderful thing, warts and all
HKG18-315 - Why the ecosystem is a wonderful thing, warts and allLinaro
 
HKG18- 115 - Partitioning ARM Systems with the Jailhouse Hypervisor
HKG18- 115 - Partitioning ARM Systems with the Jailhouse HypervisorHKG18- 115 - Partitioning ARM Systems with the Jailhouse Hypervisor
HKG18- 115 - Partitioning ARM Systems with the Jailhouse HypervisorLinaro
 
HKG18-TR08 - Upstreaming SVE in QEMU
HKG18-TR08 - Upstreaming SVE in QEMUHKG18-TR08 - Upstreaming SVE in QEMU
HKG18-TR08 - Upstreaming SVE in QEMULinaro
 
HKG18-113- Secure Data Path work with i.MX8M
HKG18-113- Secure Data Path work with i.MX8MHKG18-113- Secure Data Path work with i.MX8M
HKG18-113- Secure Data Path work with i.MX8MLinaro
 
HKG18-120 - Devicetree Schema Documentation and Validation
HKG18-120 - Devicetree Schema Documentation and Validation HKG18-120 - Devicetree Schema Documentation and Validation
HKG18-120 - Devicetree Schema Documentation and Validation Linaro
 
HKG18-223 - Trusted FirmwareM: Trusted boot
HKG18-223 - Trusted FirmwareM: Trusted bootHKG18-223 - Trusted FirmwareM: Trusted boot
HKG18-223 - Trusted FirmwareM: Trusted bootLinaro
 

More from Linaro (20)

Deep Learning Neural Network Acceleration at the Edge - Andrea Gallo
Deep Learning Neural Network Acceleration at the Edge - Andrea GalloDeep Learning Neural Network Acceleration at the Edge - Andrea Gallo
Deep Learning Neural Network Acceleration at the Edge - Andrea Gallo
 
Arm Architecture HPC Workshop Santa Clara 2018 - Kanta Vekaria
Arm Architecture HPC Workshop Santa Clara 2018 - Kanta VekariaArm Architecture HPC Workshop Santa Clara 2018 - Kanta Vekaria
Arm Architecture HPC Workshop Santa Clara 2018 - Kanta Vekaria
 
Huawei’s requirements for the ARM based HPC solution readiness - Joshua Mora
Huawei’s requirements for the ARM based HPC solution readiness - Joshua MoraHuawei’s requirements for the ARM based HPC solution readiness - Joshua Mora
Huawei’s requirements for the ARM based HPC solution readiness - Joshua Mora
 
Bud17 113: distribution ci using qemu and open qa
Bud17 113: distribution ci using qemu and open qaBud17 113: distribution ci using qemu and open qa
Bud17 113: distribution ci using qemu and open qa
 
OpenHPC Automation with Ansible - Renato Golin - Linaro Arm HPC Workshop 2018
OpenHPC Automation with Ansible - Renato Golin - Linaro Arm HPC Workshop 2018OpenHPC Automation with Ansible - Renato Golin - Linaro Arm HPC Workshop 2018
OpenHPC Automation with Ansible - Renato Golin - Linaro Arm HPC Workshop 2018
 
HPC network stack on ARM - Linaro HPC Workshop 2018
HPC network stack on ARM - Linaro HPC Workshop 2018HPC network stack on ARM - Linaro HPC Workshop 2018
HPC network stack on ARM - Linaro HPC Workshop 2018
 
It just keeps getting better - SUSE enablement for Arm - Linaro HPC Workshop ...
It just keeps getting better - SUSE enablement for Arm - Linaro HPC Workshop ...It just keeps getting better - SUSE enablement for Arm - Linaro HPC Workshop ...
It just keeps getting better - SUSE enablement for Arm - Linaro HPC Workshop ...
 
Intelligent Interconnect Architecture to Enable Next Generation HPC - Linaro ...
Intelligent Interconnect Architecture to Enable Next Generation HPC - Linaro ...Intelligent Interconnect Architecture to Enable Next Generation HPC - Linaro ...
Intelligent Interconnect Architecture to Enable Next Generation HPC - Linaro ...
 
Yutaka Ishikawa - Post-K and Arm HPC Ecosystem - Linaro Arm HPC Workshop Sant...
Yutaka Ishikawa - Post-K and Arm HPC Ecosystem - Linaro Arm HPC Workshop Sant...Yutaka Ishikawa - Post-K and Arm HPC Ecosystem - Linaro Arm HPC Workshop Sant...
Yutaka Ishikawa - Post-K and Arm HPC Ecosystem - Linaro Arm HPC Workshop Sant...
 
Andrew J Younge - Vanguard Astra - Petascale Arm Platform for U.S. DOE/ASC Su...
Andrew J Younge - Vanguard Astra - Petascale Arm Platform for U.S. DOE/ASC Su...Andrew J Younge - Vanguard Astra - Petascale Arm Platform for U.S. DOE/ASC Su...
Andrew J Younge - Vanguard Astra - Petascale Arm Platform for U.S. DOE/ASC Su...
 
HKG18-501 - EAS on Common Kernel 4.14 and getting (much) closer to mainline
HKG18-501 - EAS on Common Kernel 4.14 and getting (much) closer to mainlineHKG18-501 - EAS on Common Kernel 4.14 and getting (much) closer to mainline
HKG18-501 - EAS on Common Kernel 4.14 and getting (much) closer to mainline
 
HKG18-100K1 - George Grey: Opening Keynote
HKG18-100K1 - George Grey: Opening KeynoteHKG18-100K1 - George Grey: Opening Keynote
HKG18-100K1 - George Grey: Opening Keynote
 
HKG18-318 - OpenAMP Workshop
HKG18-318 - OpenAMP WorkshopHKG18-318 - OpenAMP Workshop
HKG18-318 - OpenAMP Workshop
 
HKG18-501 - EAS on Common Kernel 4.14 and getting (much) closer to mainline
HKG18-501 - EAS on Common Kernel 4.14 and getting (much) closer to mainlineHKG18-501 - EAS on Common Kernel 4.14 and getting (much) closer to mainline
HKG18-501 - EAS on Common Kernel 4.14 and getting (much) closer to mainline
 
HKG18-315 - Why the ecosystem is a wonderful thing, warts and all
HKG18-315 - Why the ecosystem is a wonderful thing, warts and allHKG18-315 - Why the ecosystem is a wonderful thing, warts and all
HKG18-315 - Why the ecosystem is a wonderful thing, warts and all
 
HKG18- 115 - Partitioning ARM Systems with the Jailhouse Hypervisor
HKG18- 115 - Partitioning ARM Systems with the Jailhouse HypervisorHKG18- 115 - Partitioning ARM Systems with the Jailhouse Hypervisor
HKG18- 115 - Partitioning ARM Systems with the Jailhouse Hypervisor
 
HKG18-TR08 - Upstreaming SVE in QEMU
HKG18-TR08 - Upstreaming SVE in QEMUHKG18-TR08 - Upstreaming SVE in QEMU
HKG18-TR08 - Upstreaming SVE in QEMU
 
HKG18-113- Secure Data Path work with i.MX8M
HKG18-113- Secure Data Path work with i.MX8MHKG18-113- Secure Data Path work with i.MX8M
HKG18-113- Secure Data Path work with i.MX8M
 
HKG18-120 - Devicetree Schema Documentation and Validation
HKG18-120 - Devicetree Schema Documentation and Validation HKG18-120 - Devicetree Schema Documentation and Validation
HKG18-120 - Devicetree Schema Documentation and Validation
 
HKG18-223 - Trusted FirmwareM: Trusted boot
HKG18-223 - Trusted FirmwareM: Trusted bootHKG18-223 - Trusted FirmwareM: Trusted boot
HKG18-223 - Trusted FirmwareM: Trusted boot
 

Recently uploaded

Maximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptxMaximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptxOnBoard
 
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j
 
Unblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesUnblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesSinan KOZAK
 
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationBeyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationSafe Software
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationMichael W. Hawkins
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonetsnaman860154
 
Key Features Of Token Development (1).pptx
Key  Features Of Token  Development (1).pptxKey  Features Of Token  Development (1).pptx
Key Features Of Token Development (1).pptxLBM Solutions
 
Install Stable Diffusion in windows machine
Install Stable Diffusion in windows machineInstall Stable Diffusion in windows machine
Install Stable Diffusion in windows machinePadma Pradeep
 
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | DelhiFULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhisoniya singh
 
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...HostedbyConfluent
 
SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024Scott Keck-Warren
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking MenDelhi Call girls
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking MenDelhi Call girls
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsEnterprise Knowledge
 
SIEMENS: RAPUNZEL – A Tale About Knowledge Graph
SIEMENS: RAPUNZEL – A Tale About Knowledge GraphSIEMENS: RAPUNZEL – A Tale About Knowledge Graph
SIEMENS: RAPUNZEL – A Tale About Knowledge GraphNeo4j
 
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure serviceWhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure servicePooja Nehwal
 
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Patryk Bandurski
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationSafe Software
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationRidwan Fadjar
 
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024BookNet Canada
 

Recently uploaded (20)

Maximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptxMaximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptx
 
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
 
Unblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesUnblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen Frames
 
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationBeyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day Presentation
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonets
 
Key Features Of Token Development (1).pptx
Key  Features Of Token  Development (1).pptxKey  Features Of Token  Development (1).pptx
Key Features Of Token Development (1).pptx
 
Install Stable Diffusion in windows machine
Install Stable Diffusion in windows machineInstall Stable Diffusion in windows machine
Install Stable Diffusion in windows machine
 
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | DelhiFULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
 
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
 
SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI Solutions
 
SIEMENS: RAPUNZEL – A Tale About Knowledge Graph
SIEMENS: RAPUNZEL – A Tale About Knowledge GraphSIEMENS: RAPUNZEL – A Tale About Knowledge Graph
SIEMENS: RAPUNZEL – A Tale About Knowledge Graph
 
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure serviceWhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
 
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 Presentation
 
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
 

LCE12: How to measure SoC power

  • 1. EUROPE 2012 (LCE12) How to measure SoC power Andy Green, TI Landing Team lead, Linaro
  • 2. EUROPE 2012 (LCE12) www.linaro.org Introduction I lead Linaro TI Landing Team at Linaro Mainly been working on hardware the last 25 years TI very interested in power optimization SoCs have a lot of schemes needing software support So there's a lot of things we work with that might, or should impact system power We need to observe and measure those expected impacts Many people working in different areas can benefit from looking at exact detail of where power is going in the system...
  • 3. EUROPE 2012 (LCE12) www.linaro.org Sections 1: Minimum Electronics Primer 2: Measuring voltage and current 3: Arm Energy Probe hardware 4: Practical Board instrumentation 5: Error Sources 6: Commandline Linux AEP app 7: aepd and HTML5 UI } } }Hardware Software
  • 4. EUROPE 2012 (LCE12) www.linaro.org Section 1: Minimum Electronics primer
  • 5. EUROPE 2012 (LCE12) www.linaro.org [1/7] What is voltage? Voltage is like the “pressure” electrons have to go somewhere They might not be going anywhere at any particular time, but the pressure is still there In a battery, electrons are chemically separated out to the – side and prevented from leaking on to the + side through the inside So there's “pressure” built up for electrons on the – side to want to go to the + side
  • 6. EUROPE 2012 (LCE12) www.linaro.org [2/7] What is voltage? Voltage is measured in Volts / V In SoCs we usually deal with 0.9 – 5V range Typical transistors want to switch around 700mV USB = 5V SoC IO = 1.8V LED = 1.2V DDR = 1.29V ARM Vcore = 0.9 – 1.6V (DVFS) L-ion battery cell = 3.7V We can measure voltage using a voltmeter of some kind
  • 7. EUROPE 2012 (LCE12) www.linaro.org [3/7] What is load? Load is the thing we put between a voltage to make current flow and get work done. Your dev board is a “load”. It has a resistance, measured in Ohms / R
  • 8. EUROPE 2012 (LCE12) www.linaro.org [4/7] What is current? Current is a measure of electrons flowing through the circuit It's measured in Ampere / A Sometimes the symbol I is used to talk about current How much current flows is a function of voltage and load resistance (I = V / R) A “short circuit” is ~0R load, max current flows Examples USB2 device Max current = 500mA, USB3 = 900mA Typical max 5V adapter current = 2A LED current = 1 – 10mA L-ion battery cell = 2.5A (cf Capacity 2.5A/h)
  • 9. EUROPE 2012 (LCE12) www.linaro.org [5/7] So...what is power? Power = current x voltage... P=IV Voltage or current tends to increase or decrease == power is increasing or decreasing accordingly P=IV == V2 /R so V / 2 --> P / 4 This is why DVFS is so interesting... Measured in Watts / W Examples: USB device max power 5V x 500mA = 2.5W Typical AC adapter: 5V x 2A = 10W LED: 1.2V x 1 – 10mA = 1.2 – 12mW L-ion battery cell: 3.7V x 2.5A = 9.25W Cf Capacity 9.25W/h
  • 10. EUROPE 2012 (LCE12) www.linaro.org [6/7] Why talk about power and not current? There are usually many different power domains in a system, each supplied by its own “power rail” at different voltages By converting voltage & current measurements to power, you can compare power from different voltages or parts of the system For that reason, although V and A may be interesting all power reporting should be done in W, so the numbers are comparable In the end you always want to compare individual rail power to overall system power, which is definitely at a different voltage... Watts only!
  • 11. EUROPE 2012 (LCE12) www.linaro.org [7/7] Summary Voltage (V) is “pressure” for electricty to flow Current (A) measures the flow of electricity Load (R) is what the current flows through Power (W) is the Voltage x the Current, or pressure x flow We need to measure rail voltage and current, to end up with a power figure in W
  • 12. EUROPE 2012 (LCE12) www.linaro.org Section 2: Measuring voltage and current
  • 13. EUROPE 2012 (LCE12) www.linaro.org Common-mode voltage measurement Voltage is relative between two points (it's also known as “potential difference”) One side of the input voltage is decreed the “0V” reference to which all the other system voltages are compared (it's the – side of the DC input by convention). Common-mode voltage is the voltage difference between your rail and “0V”
  • 14. EUROPE 2012 (LCE12) www.linaro.org Measuring current with an Ammeter An Ammeter (current meter) can be implemented as a sensitive voltmeter measuring the difference in voltage across an internal series shunt resistor You interrupt the circuit to add the meter in series, so the current passes through the meter This is how your multimeter works in A range
  • 15. EUROPE 2012 (LCE12) www.linaro.org Measuring current with a voltmeter Actually you could just add the shunt resistor yourself and use a sensitive voltmeter That has advantages that the high current path does not go via the meter cables any more, just straight through the shunt resistor When you're not measuring, the shunt resistor stays there and things work as normal
  • 16. EUROPE 2012 (LCE12) www.linaro.org So to measure power in a rail You have to break or interrupt the rail Often there's a convenient way to do that without cutting Insert a shunt resistor in series Wire up one voltmeter to measure rail voltage vs 0V Wire up another voltmeter to measure the voltage across the shunt to find the current (knowing the shunt resistance, I=V/R) Multiply the common-mode voltage and current together to get power
  • 17. EUROPE 2012 (LCE12) www.linaro.org Shunt Resistance Selection The main criteria is voltmeter sensitivity For AEP, its sensitive voltmeter for shunt measurements tops out at 165mV, so that is the voltage drop over the shunt we want for worst case current For larger currents, we also have to take care that the shunt can cope with the power it dissipates as heat Next is the shunt selection chart for 165mV drop at various maximum currents
  • 18. EUROPE 2012 (LCE12) www.linaro.org Shunt power dissipation selection for 165mV Eg, 1.5A max --> 100mR shunt, 1/4W rated
  • 19. EUROPE 2012 (LCE12) www.linaro.org Rule of thumb for shunts For AEP usage (165mV shunt range) Many Watts like DC jack, or high power rails 0.22R or 0.1R, 1W or more For normal rails 0.47R 0.25W - 0.5W
  • 20. EUROPE 2012 (LCE12) www.linaro.org Choosing lower value shunt than necessary For some rails, like CPU DVFS rails, shunt loss at full scale of voltmeter may be too much to lose Eg, 165mV of 900mV rail is 18% loss You can select a shunt that drops less than full scale at the highest expected current Eg, only drop 50mV of 900mV rail worst case It works, but because you only use part of the range the measurement ADC step size is larger, noise goes up and precision goes down Trick... if you didn't plan on lower value shunt needed, you can double-up two or more in parallel to get R/n
  • 21. EUROPE 2012 (LCE12) www.linaro.org Unipolar vs Bipolar voltmeters Unipolar or “1-quadrant” can just measure positive voltage or current Bipolar or “4-quadrant” can measure +/- common-mode voltage and +/- current +/- current very useful for battery, +/- voltage less so Bipolar may have problems determining what “zero” looks like Unipolar should do better with “zero” but doesn't always
  • 22. EUROPE 2012 (LCE12) www.linaro.org How regulators work (or not) Regulators operate in a loop They allow more or less input to the output according to what it senses at the output They have an internal or external “sense” pin which lets them watch the output and then act to make sure it stays at the right voltage
  • 23. EUROPE 2012 (LCE12) www.linaro.org Difficulties with regulation Wiring has “inductance” which affects the signal or power as the load changes Additional inductance of meter and wiring mean the regulator cannot sense load changes properly SoC will crash
  • 24. EUROPE 2012 (LCE12) www.linaro.org Modern Regulation strategies help For high power, dynamic loads, SoCs provides a separate “sense” pin for the regulator connected right at the load, on the die Regulator does what's needed to keep that regulated
  • 25. EUROPE 2012 (LCE12) www.linaro.org Input-side measurements The extra impedence is one problem Another is the voltage drop from the shunt, 150mV is not much but on a 900mV DVFS rail, it will stop the SoC working Both problems can be avoided by measuring the input side of the regulator instead You don't see output voltage then though Your power measurement include regulator losses
  • 26. EUROPE 2012 (LCE12) www.linaro.org Regulator efficiency Switching regulators are designed for peak efficiency (up to 95%) at a particular load For different loads, efficiency may decline below 50% Linear regulators are simpler but can be grossly inefficient Current at input side same as the output side If input side voltage is much higher than output, large power losses as heat result Input – output delta is called “dropout voltage” Only useful at low dropout voltage and low currents Used in sensitive analogue circuits though, since they do not introduce switching noise
  • 27. EUROPE 2012 (LCE12) www.linaro.org Measurement bandwidth How many samples per second do you need to analyze current used by an SoC regulator? Modern regulator switching frequency tends towards a few MHz, if you measure input of regulator this is its “clock frequency” Higher switching frequency allows use of smaller inductors Load only visible at input for part of switching cycle --> load is typically modulated at a few MHz. So sample rate > ~5Msps not useful Spread spectrum and duty-cycle modulation also in use Smoothing and reservoir capacitors hide short load bursts, but all output load must appear at input, perhaps delayed You can see plenty at 10ksps
  • 28. EUROPE 2012 (LCE12) www.linaro.org Power tree The DC input jack and each regulator supplies a “rail” Some designs still use a metal “rail” or “bus bar” to distribute the power around the circuit, hence the name One or more device connects to the rail to consume power from it Sometimes it is other regulators to produce a new rail supplied by the parent one, ie, a power tree
  • 29. EUROPE 2012 (LCE12) www.linaro.org Power tree vs regulator efficiency Ideally you add shunts and measure power on all rails If rails go to several interesting places, you would want to add individual shunts for power to each device You can also measure the input side of the regulator that supplies the rails If you have power measurements on both sides of the regulator, you can easily see its efficiency
  • 30. EUROPE 2012 (LCE12) www.linaro.org Four measurement strategies Here are four common measurement strategies DC IN Indirect output-side regulator measurements Shunts on all SoC rails Shunts on all board assets
  • 31. EUROPE 2012 (LCE12) www.linaro.org 1/4: DC input Easiest rail to instrument Doesn't need changes to board itself Ultimately everything that consumed power got it from the power input, by one route or another Every activity on the board consumes power But it can be hard to interpret “why” or where the power was used if all you can see is one total number If multiple activities are ongoing, you can't tell between them But it's an easy and quick way to start You can use it for “delta” comparison, same setup before and after a change you want to test There's uncertainty any changes are down to your delta Take note of the error sources section later
  • 32. EUROPE 2012 (LCE12) www.linaro.org 2/4: Indirect output-side measurements Some SoC rails under DVFS control are interesting, but it might not be possible to instrument them directly Instead you can instrument the input side of their regulator as discussed, and find the current (including regulator overhead) You can use a second channel then to monitor just the common-mode voltage on the output side (not current) In that way you can infer output-side current and voltage information without changing the output side
  • 33. EUROPE 2012 (LCE12) www.linaro.org 3/4: shunts on all SoC rails (input side) SoC vendor primarily interested in SoC power consumption Insight into exact path for extra power consumption (eg DDR)
  • 34. EUROPE 2012 (LCE12) www.linaro.org 4/4: shunts on all board assets Most ideal scenario, shunts on all power consumption in exact detail, using many channels Samsung Origen breaks power tree into 14 shunts... perfect Individual shunts for GPS unit, for example This lets you answer questions like, “exactly how much power is consumed by xxx?”, where XXX might be GPS in standby 3G module when connected to tower but not in use WLAN module over various power modes HDMI PHY in use and standby USB PHY, USB 5V generator etc etc The more rails you have numbers for, the less uncertainty in the remaining unknown power
  • 35. EUROPE 2012 (LCE12) www.linaro.org Pandaboard ES with 9 rails instrumented
  • 36. EUROPE 2012 (LCE12) www.linaro.org Section 3: Arm Energy Probe hardware
  • 37. EUROPE 2012 (LCE12) www.linaro.org Scaleable USB connectivity 3 channels per probe As many probes as you need Appear as ttyACM serial ports automatically No built-in serial number or other way to tell them apart... care needed to make sure the right probe maps to the right ttyACM number Has a known serial protocol
  • 38. EUROPE 2012 (LCE12) www.linaro.org Arm Energy Probe architecture Three channels of 2 voltmeters each 0 – 30V range Common-mode voltage 0 – 165mV range Amplified (x20) to increase sensitivity cross-shunt voltage measurement To turn into current value, need to know Rshunt
  • 39. EUROPE 2012 (LCE12) www.linaro.org Section 4: Practical board instrumentation
  • 40. EUROPE 2012 (LCE12) www.linaro.org Steps to instrument a board Study schematic to find where to place shunts Estimate correct shunt size and resistance Place one 7-pin header per AEP Wire up ground pins Place shunts Wire up shunts to header pins
  • 41. EUROPE 2012 (LCE12) www.linaro.org Reading Schematics Schematics are drawings of how the components of the electronic design are connected Boxy things might be a chip, or part of a chip Boxy things have a name, like U5 (IC 5) or R7 (Resistor 7) On the PCB, the device will have the matching name nearby Lines are connections, made into copper lines on the PCB Lines can be named, wherever the same name is seen will be connected together on the PCB If you provide the board schematic to an EE, he can tell you where it's possible to place your shunts
  • 42. EUROPE 2012 (LCE12) www.linaro.org Input-side inductors Usually possible to replace these with shunt without cutting Used to attenuate regulator RF switching emissions leaking on to power cable, not critical for operation
  • 43. EUROPE 2012 (LCE12) www.linaro.org AEP connector 7-pin: 3 x 2 sense leads, 1 x 0V reference lead Orientation of sense leads on shunt matters Doesn't break if it's wrong, but numbers will be wrong (near 0) White lead needs to go on “before” side of shunt
  • 44. EUROPE 2012 (LCE12) www.linaro.org Adding shunt to DC jack externally
  • 45. EUROPE 2012 (LCE12) www.linaro.org Adding shunt to DC jack internally Usually your DC jack exposes the + power You can cut it and bridge the cut with your shunt
  • 46. EUROPE 2012 (LCE12) www.linaro.org Preparing your board for measurements Use a 7-way 0.1” header for each probe (3 channels)
  • 47. EUROPE 2012 (LCE12) www.linaro.org Fix headers to your board Superglue the back to a spare region of the board
  • 48. EUROPE 2012 (LCE12) www.linaro.org Wire headers to your shunts and 0V Add 0V connection Add twisted pairs back to the shunt
  • 49. EUROPE 2012 (LCE12) www.linaro.org Adding SMT shunts Remove old inductor, solder the shunt in place Add the other end of the wires to the shunt
  • 50. EUROPE 2012 (LCE12) www.linaro.org Adding high power shunt on high current path Same deal just bigger resistor
  • 52. EUROPE 2012 (LCE12) www.linaro.org Error sources All measured numbers are just bullshit until: You know what they are supposed to measure / mean You can repeat the meaurements Different day / test channel / board / temperature They are sane If you measure total system power and one rail measurement is higher, something is broken If you know zero power is in use, does it say 0.000W? You have a rough error budget for how the numbers were arrived at Even when the numbers have a pedigree, +/- 10 - 20% vs absolute accuracy is a reasonable assumption If you have access to lab-calibrated, absolutely accurate equipment to compare them with, you can trust them more
  • 53. EUROPE 2012 (LCE12) www.linaro.org Concept of repeatability Numbers that cannot be repeated under similar test conditions contain error Need to understand why and how much, can still be usable Ultimately if it's not repeatable, it's not measuring what you thought it was
  • 54. EUROPE 2012 (LCE12) www.linaro.org Zero offset Bits of the circuit, the shunt, the measuring device drift with age and temperature Here's what happened to “0mA” when I turned the air conditioning on, over 15 minutes
  • 55. EUROPE 2012 (LCE12) www.linaro.org Effect of temperature on measuring device Shunt resistance is sensitive to temperature Take care about self-heating at high currents too Different resistor chemistries act different, SMT ones seem better Adc Shunt voltage amplifier Resistor reaction to temperature Ntc / ptc networks
  • 56. EUROPE 2012 (LCE12) www.linaro.org Measurement bandwidth The rate of sampling can also impact results At 10Ksps, events significantly faster than 100uS may be missed or under-reported If you're unlucky load changes at a rate that is a multiple of the sample rate can lead to aliasing When measuring at the input side of the regulator, these load changes are themselves sampled by the switching action of the regulator Generally even fast load changes are averaged fairly well
  • 57. EUROPE 2012 (LCE12) www.linaro.org Linearity of ADC + shunt amp Supposed to ignore common-mode voltage Measure the same 2mA for 2mA at 1V, as 2mA at 5V But this is “0mA” measured at different common-mode voltages...
  • 58. EUROPE 2012 (LCE12) www.linaro.org Silicon power consumption over temperature Silicon switching efficiency is a function of temperature 23% (1.9W – 2.34W) increase in consumption for same cpuburn just from die temperature rise from 30°C – 60°C Repeatability...
  • 59. EUROPE 2012 (LCE12) www.linaro.org Differences between channels Uncorrected (except zero offset) measurement of same 3.8mV shunt voltage (red line) using 12 channels in turn Huge variation of reported numbers by channel
  • 60. EUROPE 2012 (LCE12) www.linaro.org Channel correlation correction effectiveness After software correction (blue X) Error less than -13%/+9% at 3.8mV
  • 61. EUROPE 2012 (LCE12) www.linaro.org AEP-specific problems with low voltage range I mapped out the measured vs real results for different common-mode voltages and currents in “2D” These correction tables are applied in the GPL software
  • 62. EUROPE 2012 (LCE12) www.linaro.org Error budget estimation Actual resistance of shunt is not what is marked on the resistor due to manufacturing process spread Typ +/- 5%, +/- 1% available ...and it varies by temperature... Typical SMT (Yaego RL0805) 470mR changes by +300ppm / °C 10°C change is +1.4mR (0.3%) ... so conversion of shunt voltage to current has ~+/- 6% (2% for 1% resistors) uncertainty Channel current differences are around +/- 10% (at 10mA) even after correction Unknown ADC offset and linearity errors In AEP case, numbers below a few mA are almost certainly wrong due to linearity problems...
  • 63. EUROPE 2012 (LCE12) www.linaro.org Section 5: Commandline Linux AEP app
  • 65. EUROPE 2012 (LCE12) www.linaro.org Architecture Synchronizes sampling across multiple energy probes Has a text config file defining information about each probe channel (Rshunt etc) Outputs ascii numbers in column format Appends columns to stdin if present Gnuplot-friendly output Autozero support Trigger support to synchronize capture to interesting events Probe sample capture happens in forked process decoupled from sample consumer code
  • 69. EUROPE 2012 (LCE12) www.linaro.org Websockets advantages Realtime, immediate graphical update from aepd link 600px, up to 24fps == see all 10Ksps samples “power scope” Local or remote network link for browser
  • 70. EUROPE 2012 (LCE12) www.linaro.org Generic sample interface Allows integration of alternate measurement hardware Floating-point voltage and current Posix semaphore and shared memory sample buffer architecture Arm Energy Probe support provided
  • 71. EUROPE 2012 (LCE12) www.linaro.org All samples captured All samples of all channels captured to a spool file 120s buffer by default Lot of storage involved Browser views individually view the spool buffer at different timescales and positions in time Different from oscilloscope etc with only short display buffers Doesn't matter if you “miss” an event, you can just scroll back
  • 72. EUROPE 2012 (LCE12) www.linaro.org Averaging scheme in the storage ringbuffer Spool buffer is arranged so it's possible to get an instantaneous average for any range of samples Every sample always contributes to the average Allows immediate changes to “time zoom” in the UI
  • 73. EUROPE 2012 (LCE12) www.linaro.org Smart comparing of power tree Understands parent / child (supply / consumer rail) relationship of monitored rails By default, “top parent” supply shown “in the background”, and the child rails on top of each other in the foreground At high zoom, you can see noise on top of noise... This lets you see any delta between the known total power and the known child supply power Stuff you are not capturing Regulator efficiency loss Can also see individual rails by clicking on the key This is useful to see minimal noise on the rail
  • 74. EUROPE 2012 (LCE12) www.linaro.org Calipers At the top of the canvas are two slideable “calipers” What's between these calipers is averaged and reported in the stats table at the right Updated at 10Hz Accurate time measurement of power events Accurate averages across selected power events
  • 75. EUROPE 2012 (LCE12) www.linaro.org “Search” (This is not finished yet...) Different paradigm than oscilloscope, since operates on deep, complete buffer post-capture “fades out” different parts of dataset based on power level search criteria Determine duty cycle of matching / non-matching regions Get power averages just for matching regions
  • 76. EUROPE 2012 (LCE12) www.linaro.org Uses of deep buffer 100% capture True analysis of boot timing from first power to various activities in boot, in addition to power involved Can't be replicated by “from inside” measurements
  • 77. EUROPE 2012 (LCE12) www.linaro.org All software GPL'd and available today git://git.linaro.org/tools/arm-probe.git Need AEP Instrument your board with shunts Linux box to host AEPs on USB and aepd Google Chrome (best HTML5 implementation) Works on Android Chrome as well Expected to be useful as basis for vendor in-house power monitoring tools in future GPL project...
  • 78. More about Linaro Connect: connect.linaro.org More about Linaro: www.linaro.org/about/ More about Linaro engineering: www.linaro.org/engineering/ EUROPE 2012 (LCE12)