reducing power with activity trigger analysismaler/papers/slides-triggers.pdf · introduction...

21
Introduction Activity Triggers Application Flow Results Conclusion Reducing Power with Activity Trigger Analysis Jan L´ an´ ık *+ , Julien Legriel * , Erwan Piriou # , Emmanuel Viaud * , Fahim Rahim * , Oded Maler + , Solaiman Rahim * * ATRENTA + VERIMAG – University of Grenoble, # CEA-LIST 23 rd September 2015 1 / 21

Upload: others

Post on 08-Oct-2020

1 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Reducing Power with Activity Trigger Analysismaler/Papers/slides-triggers.pdf · Introduction Activity Triggers Application Flow Results Conclusion Clock gating conditions - granularity

IntroductionActivity TriggersApplication Flow

ResultsConclusion

Reducing Power with Activity Trigger Analysis

Jan Lanık∗+, Julien Legriel∗, Erwan Piriou#, EmmanuelViaud∗, Fahim Rahim∗, Oded Maler+, Solaiman Rahim∗

∗ATRENTA+VERIMAG – University of Grenoble,

#CEA-LIST

23rd September 2015

1 / 21

Page 2: Reducing Power with Activity Trigger Analysismaler/Papers/slides-triggers.pdf · Introduction Activity Triggers Application Flow Results Conclusion Clock gating conditions - granularity

IntroductionActivity TriggersApplication Flow

ResultsConclusion

Motivation

2 / 21

Page 3: Reducing Power with Activity Trigger Analysismaler/Papers/slides-triggers.pdf · Introduction Activity Triggers Application Flow Results Conclusion Clock gating conditions - granularity

IntroductionActivity TriggersApplication Flow

ResultsConclusion

Clock gating

Disabling registers when not needed by ‘gating the clock’ to savepower

clk

CGen

data D Q out

gatedclk

clk

en

gatedclk

Problem: How to compute the enabling condition?

3 / 21

Page 4: Reducing Power with Activity Trigger Analysismaler/Papers/slides-triggers.pdf · Introduction Activity Triggers Application Flow Results Conclusion Clock gating conditions - granularity

IntroductionActivity TriggersApplication Flow

ResultsConclusion

Clock gating conditions - granularity

Global

Design decision.

On the high level - whole functional blocks.

Handcrafted enable conditions.

Efficient, easy to implement, high in the clock tree.

Local

Small register groups deep in the designs.

Complex, not intuitive enable conditions.

Need tools to find the conditions.

Expensive, but can be efficient.

4 / 21

Page 5: Reducing Power with Activity Trigger Analysismaler/Papers/slides-triggers.pdf · Introduction Activity Triggers Application Flow Results Conclusion Clock gating conditions - granularity

IntroductionActivity TriggersApplication Flow

ResultsConclusion

Clock gating conditions - granularity

Intermediate

Missing link.

Medium sized blocks.

Understandable, but not necessarily obvious.

Human designer should be able to find them if he did a timeconsuming detailed analysis. Tools in demand.

5 / 21

Page 6: Reducing Power with Activity Trigger Analysismaler/Papers/slides-triggers.pdf · Introduction Activity Triggers Application Flow Results Conclusion Clock gating conditions - granularity

IntroductionActivity TriggersApplication Flow

ResultsConclusion

Activity Triggers

Events related to a change of activity status of a design block.

MODULEACTIVE

MODULEIDLE

stop

start

6 / 21

Page 7: Reducing Power with Activity Trigger Analysismaler/Papers/slides-triggers.pdf · Introduction Activity Triggers Application Flow Results Conclusion Clock gating conditions - granularity

IntroductionActivity TriggersApplication Flow

ResultsConclusion

UART example

TRANSMITER

RECEIVER

uart

UART

clk

rst

rx

transmit

tx_byte[7:0]

received

recv_byte[7:0]

is_receiving

recv_error

is_transmitting

tx

CNT

out

reg

inp r

eg

CNT

CONTROL

FSM

CONTROL

FSM

Figure: Schema of a simple UART design

7 / 21

Page 8: Reducing Power with Activity Trigger Analysismaler/Papers/slides-triggers.pdf · Introduction Activity Triggers Application Flow Results Conclusion Clock gating conditions - granularity

IntroductionActivity TriggersApplication Flow

ResultsConclusion

UART transmission

line idle

start bit

1 1

0

1

0 0

1

0

two stop bits

line idle

data transmission

Figure: Serial line transmission of the character ‘K’ in the ACSCIIencoding

8 / 21

Page 9: Reducing Power with Activity Trigger Analysismaler/Papers/slides-triggers.pdf · Introduction Activity Triggers Application Flow Results Conclusion Clock gating conditions - granularity

IntroductionActivity TriggersApplication Flow

ResultsConclusion

Stability modeling

DQ

EN

regn

dataen

D Qstable(regn)

∧i stable(regi )

stable(regn−1)

9 / 21

Page 10: Reducing Power with Activity Trigger Analysismaler/Papers/slides-triggers.pdf · Introduction Activity Triggers Application Flow Results Conclusion Clock gating conditions - granularity

IntroductionActivity TriggersApplication Flow

ResultsConclusion

Monitor automaton

MODULEACTIVE

¬β ∨ α

MODULEIDLE

α ∧ stable

· · ·¬αβ ∨ ¬α ¬α ¬αd−1 delay nodes

α α α

¬α ∧ stable

PROPERTYVIOLATION

¬stable

Figure: An automaton for checking the validity of activity triggers

10 / 21

Page 11: Reducing Power with Activity Trigger Analysismaler/Papers/slides-triggers.pdf · Introduction Activity Triggers Application Flow Results Conclusion Clock gating conditions - granularity

IntroductionActivity TriggersApplication Flow

ResultsConclusion

Formal verification flow

1 Original RTL ⇒ circuit representation

2 Stability modeling and monitor automaton added to the circuit

3 Verification using reachability engines from ABC(BMC + PDR)

11 / 21

Page 12: Reducing Power with Activity Trigger Analysismaler/Papers/slides-triggers.pdf · Introduction Activity Triggers Application Flow Results Conclusion Clock gating conditions - granularity

IntroductionActivity TriggersApplication Flow

ResultsConclusion

Constraint support

Constraining behavior is often crucial for thae success of aformal proof

Typical cases: configuration registers or input followingspecific pattern

We support behavioral constraints expressed as SystemVerilog Assertions (SVA)

12 / 21

Page 13: Reducing Power with Activity Trigger Analysismaler/Papers/slides-triggers.pdf · Introduction Activity Triggers Application Flow Results Conclusion Clock gating conditions - granularity

IntroductionActivity TriggersApplication Flow

ResultsConclusion

Statistical detection

Correlation analysis performed on vcd or fsdb traces generatedfrom simulationFor detection we consider only events that are bit/bus transitions.E.g. a signal x going from 0 to 1 or a 4-bit bus Y going from4′b0001 to 4′b0010

1 design decomposition

2 idle periods detection

3 potential events filtering (based on size and sequentialdistance)

4 ranking potential events (coverage and ran measures)

13 / 21

Page 14: Reducing Power with Activity Trigger Analysismaler/Papers/slides-triggers.pdf · Introduction Activity Triggers Application Flow Results Conclusion Clock gating conditions - granularity

IntroductionActivity TriggersApplication Flow

ResultsConclusion

Potential start and stop signals location

Stop events · · · in a short window before the beginning ofstable periods

Start events · · · in a short window before the end of stableperiods

Figure: Idle periods in a simulation

14 / 21

Page 15: Reducing Power with Activity Trigger Analysismaler/Papers/slides-triggers.pdf · Introduction Activity Triggers Application Flow Results Conclusion Clock gating conditions - granularity

IntroductionActivity TriggersApplication Flow

ResultsConclusion

Ranking of events

Coverage · · · the ratio of idle periods that are correlated withthe event

Noise · · · the ratio of events that are ‘out of place’

Figure: Coverage and noise

15 / 21

Page 16: Reducing Power with Activity Trigger Analysismaler/Papers/slides-triggers.pdf · Introduction Activity Triggers Application Flow Results Conclusion Clock gating conditions - granularity

IntroductionActivity TriggersApplication Flow

ResultsConclusion

Automatic flow

16 / 21

Page 17: Reducing Power with Activity Trigger Analysismaler/Papers/slides-triggers.pdf · Introduction Activity Triggers Application Flow Results Conclusion Clock gating conditions - granularity

IntroductionActivity TriggersApplication Flow

ResultsConclusion

Semi-automatic flow

17 / 21

Page 18: Reducing Power with Activity Trigger Analysismaler/Papers/slides-triggers.pdf · Introduction Activity Triggers Application Flow Results Conclusion Clock gating conditions - granularity

IntroductionActivity TriggersApplication Flow

ResultsConclusion

SENDS – A video processing architecture

18 / 21

Page 19: Reducing Power with Activity Trigger Analysismaler/Papers/slides-triggers.pdf · Introduction Activity Triggers Application Flow Results Conclusion Clock gating conditions - granularity

IntroductionActivity TriggersApplication Flow

ResultsConclusion

SENDS results

19 / 21

Page 20: Reducing Power with Activity Trigger Analysismaler/Papers/slides-triggers.pdf · Introduction Activity Triggers Application Flow Results Conclusion Clock gating conditions - granularity

IntroductionActivity TriggersApplication Flow

ResultsConclusion

Automatic mode results

design power power covered # registers reg-covered

1 4.169 mW 75.84% 26680 37.17%2 7.163 mW 54.93% 9128 56.38%3 0.479 mW 49.62% 1352 82.84%4 7.145 mW 49.47% 9128 13.56%5 5.314 µW 31.04% 326 33.74%6 0.606 mW 16.30% 2070 6.96%7 8.891 mW 15.58% 690 28.70%8 92.491 mW 6.77% 30520 4.65%9 55.851 mW 4.54% 107848 8.14%

10 92.444 mW 2.87% 114546 1.56%11 1.430 µW 1.61% 162 14.81%12 4.079 mW 0.70% 5292 0.15%13 149.955 mW 0.61% 111012 1.11%

20 / 21

Page 21: Reducing Power with Activity Trigger Analysismaler/Papers/slides-triggers.pdf · Introduction Activity Triggers Application Flow Results Conclusion Clock gating conditions - granularity

IntroductionActivity TriggersApplication Flow

ResultsConclusion

Main contributions

Activity triggers = New class intermediate-block-site clockgating conditions

Heuristical detection of activity triggers based on RTLsimulation trace analysis

Formal method to prove validity

Semiautomatic and automatic methodology integrated withina commercial tool

Thank you!

21 / 21