backspace: formal analysis for post-silicon debug

56
BackSpace: Formal Analysis for Post-Silicon Debug Flavio M. de Paula * Marcel Gort * , Alan J. Hu * , Steve Wilton * , Jin Yang + * University of British Columbia + Intel Corporation

Upload: alina

Post on 04-Feb-2016

38 views

Category:

Documents


0 download

DESCRIPTION

BackSpace: Formal Analysis for Post-Silicon Debug. Flavio M. de Paula * Marcel Gort * , Alan J. Hu * , Steve Wilton * , Jin Yang + * University of British Columbia + Intel Corporation. Outline. Motivation Current Practices BackSpace – The Intuition - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: BackSpace:  Formal Analysis  for  Post-Silicon Debug

BackSpace: Formal Analysis for Post-Silicon Debug

Flavio M. de Paula*

Marcel Gort *, Alan J. Hu *, Steve Wilton *, Jin Yang+

* University of British Columbia+ Intel Corporation

Page 2: BackSpace:  Formal Analysis  for  Post-Silicon Debug

Outline

Motivation Current Practices BackSpace – The Intuition Proof-of-Concept Experimental Results (Recent Experiments) Conclusions and Future Work

2

Page 3: BackSpace:  Formal Analysis  for  Post-Silicon Debug

Motivation

Chip is back from fab! Screened out chips w/ manufacturing defects

3

Page 4: BackSpace:  Formal Analysis  for  Post-Silicon Debug

Motivation

Chip is back from fab! Screened out chips w/ manufacturing defects

A bring-up procedure follows: Run diagnostics w/o problems, everything looks fine!

4

Page 5: BackSpace:  Formal Analysis  for  Post-Silicon Debug

Motivation

Chip is back from fab! Screened out chips w/ manufacturing defects

A bring-up procedure follows: Run diagnostics w/o problems, everything looks fine! But, the system becomes irresponsive while running

the real application…

5

Page 6: BackSpace:  Formal Analysis  for  Post-Silicon Debug

Motivation

Chip is back from fab! Screened out chips w/ manufacturing defects

A bring-up procedure follows: Run diagnostics w/o problems, everything looks fine! But, the system becomes irresponsive while running

the real application… Every single chip fails in the same way (1M DPM: Func. bugs)

6

Page 7: BackSpace:  Formal Analysis  for  Post-Silicon Debug

Motivation

Chip is back from fab! Screened out chips w/ manufacturing defects

A bring-up procedure follows: Run diagnostics w/o problems, everything looks fine! But, the system becomes irresponsive while running

the real application… Every single chip fails in the same way (1M DPM: Func. bugs)

What do we do now?

7

Page 8: BackSpace:  Formal Analysis  for  Post-Silicon Debug

Current Practices

8

Scan-out buggy state

Inputs

Page 9: BackSpace:  Formal Analysis  for  Post-Silicon Debug

Current Practices

9

Scan-out buggy state

But, cause is not obvious!!!

Inputs

Page 10: BackSpace:  Formal Analysis  for  Post-Silicon Debug

Current Practices

10

Guess when to stop and single step

?? ?

Scan-out

Inputs

Page 11: BackSpace:  Formal Analysis  for  Post-Silicon Debug

Current Practices

11

?

Non-buggy path

Problems: Single-stepping interference;Non-determinism;Too early/late to stop?

Inputs

Guess when to stop and single step

Page 12: BackSpace:  Formal Analysis  for  Post-Silicon Debug

Current Practices

Leveraging additional debugging support: Trace buffer of the internal state

12

Page 13: BackSpace:  Formal Analysis  for  Post-Silicon Debug

Current Practices

Leveraging additional debugging support: Trace buffer of the internal state

Provides only a narrow view of the design, e.g., program counter, address/data fetches

13

Page 14: BackSpace:  Formal Analysis  for  Post-Silicon Debug

Current Practices

Leveraging additional debugging support: Trace buffer of the internal state

Provides only a narrow view of the design, e.g., program counter, address/data fetches

Record all I/O and replay Solves the non-determinism problem, but… Requires highly specialized bring-up systems

14

Page 15: BackSpace:  Formal Analysis  for  Post-Silicon Debug

Current Practices

Leveraging additional debugging support: Trace buffer of the internal state

Provides only a narrow view of the design, e.g., program counter, address/data fetches

Record all I/O and replay Solves the non-determinism problem, but… Requires highly specialized bring-up systems

15

Just having additional hardware does NOT solve the problemJust having additional hardware does NOT solve the problem

Page 16: BackSpace:  Formal Analysis  for  Post-Silicon Debug

A Better Solution: BackSpace

Goal: Avoid guess work Avoid interfering with the system Run at speed Portable debug support Compute an accurate trace to the bug

16

Page 17: BackSpace:  Formal Analysis  for  Post-Silicon Debug

Requires: Hardware:

Existing test infrastructure and scan-chains; Breakpoint circuit; Good signature scheme;

Software: Efficient SAT solver; BackSpace Manager

17

A Better Solution: BackSpace

Page 18: BackSpace:  Formal Analysis  for  Post-Silicon Debug

18

Non-buggy path

Inputs

1. Run at-speed until hit the buggy state

A Better Solution: BackSpace

Page 19: BackSpace:  Formal Analysis  for  Post-Silicon Debug

19

Non-buggy path

Inputs

1. Run at-speed until hit the buggy state

A Better Solution: BackSpace

Page 20: BackSpace:  Formal Analysis  for  Post-Silicon Debug

20

Non-buggy path

Inputs

1. Run at-speed until hit the buggy state

A Better Solution: BackSpace

Page 21: BackSpace:  Formal Analysis  for  Post-Silicon Debug

21

Non-buggy path

Inputs

1. Run at-speed until hit the buggy state

A Better Solution: BackSpace

Page 22: BackSpace:  Formal Analysis  for  Post-Silicon Debug

22

Inputs

2. Scan-out buggy state and history of signatures

A Better Solution: BackSpace

Page 23: BackSpace:  Formal Analysis  for  Post-Silicon Debug

23

Inputs

A Better Solution: BackSpace

FormalEngine

3. Off-Chip Formal Analysis

Page 24: BackSpace:  Formal Analysis  for  Post-Silicon Debug

24

Inputs

4. Off-Chip Formal Analysis - Compute Pre-image

A Better Solution: BackSpace

FormalEngine

Page 25: BackSpace:  Formal Analysis  for  Post-Silicon Debug

25

Inputs

5. Pick candidate state and load breakpoint circuit

A Better Solution: BackSpace

FormalEngine

Page 26: BackSpace:  Formal Analysis  for  Post-Silicon Debug

26

Inputs

6. Run until hits the breakpoint

A Better Solution: BackSpace

FormalEngine

Page 27: BackSpace:  Formal Analysis  for  Post-Silicon Debug

27

Inputs

7. Pick another state

A Better Solution: BackSpace

FormalEngine

Page 28: BackSpace:  Formal Analysis  for  Post-Silicon Debug

28

Inputs

7. Run until hits the breakpoint

A Better Solution: BackSpace

FormalEngine

Page 29: BackSpace:  Formal Analysis  for  Post-Silicon Debug

29

Inputs

7. Run until hits the breakpoint

A Better Solution: BackSpace

FormalEngine

Page 30: BackSpace:  Formal Analysis  for  Post-Silicon Debug

30

Inputs

A Better Solution: BackSpace

Computed trace of length 2

Page 31: BackSpace:  Formal Analysis  for  Post-Silicon Debug

31

Inputs

A Better Solution: BackSpace

7. Iterate

FormalEngine

Page 32: BackSpace:  Formal Analysis  for  Post-Silicon Debug

32

Inputs

8. BackSpace trace

A Better Solution: BackSpace

Page 33: BackSpace:  Formal Analysis  for  Post-Silicon Debug

Outline

Motivation Current Practices BackSpace – The Intuition Proof-of-Concept Experimental Results Recent Experiments Future Work

33

Page 34: BackSpace:  Formal Analysis  for  Post-Silicon Debug

Proof-of-Concept Experimental Results

34

SAT Solver

Chip on Silicon

BackSpace Manager

Page 35: BackSpace:  Formal Analysis  for  Post-Silicon Debug

Proof-of-Concept Experimental Results

35

SAT Solver

Logic Simulator

BackSpace Manager

Page 36: BackSpace:  Formal Analysis  for  Post-Silicon Debug

Proof-of-Concept Experimental Results Setup:

OpenCores’ designs: 68HC05: 109 latches oc8051 : 702 latches

Run real applications

36

Page 37: BackSpace:  Formal Analysis  for  Post-Silicon Debug

Proof-of-Concept Experimental Results Can we find a signature that reduces the size

of the pre-image? Experiment:

Select 10 arbitrary ‘crash’ states on 68HC05; Try different signatures

37

Page 38: BackSpace:  Formal Analysis  for  Post-Silicon Debug

38

Signature Size vs.States in Pre-Image

Page 39: BackSpace:  Formal Analysis  for  Post-Silicon Debug

Proof-of-Concept Experimental Results How far can we go back? Experiment:

Select arbitrary ‘crash’ states: 10 for each 68HC05 and oc8051;

Set limit to 500 cycles of backspace; Set limit on size of pre-image to 300 states; Compare the best two types of signature;

Hand-picked Universal Hashing of entire state

39

Page 40: BackSpace:  Formal Analysis  for  Post-Silicon Debug

40

68HC05 w/ 38-Bit Manual Signature

Page 41: BackSpace:  Formal Analysis  for  Post-Silicon Debug

41

68HC05 w/ 38-Bit Manual Signature

Page 42: BackSpace:  Formal Analysis  for  Post-Silicon Debug

42

68HC05 w/ 38-Bit Universal Hashing

Page 43: BackSpace:  Formal Analysis  for  Post-Silicon Debug

43

8051 w/ 281-Bit Manual Signature

Page 44: BackSpace:  Formal Analysis  for  Post-Silicon Debug

44

8051 w/ 281-Bit Universal Hashing

Page 45: BackSpace:  Formal Analysis  for  Post-Silicon Debug

Proof-of-Concept Experimental Results Results

Signature: Universal Hashing Small size of pre-images All 20 cases successfully BackSpaced to limit

45

Page 46: BackSpace:  Formal Analysis  for  Post-Silicon Debug

Proof-of-Concept Experimental Results Breakpoint Circuitry

40-50% area overhead. Signature Computation

Universal Hashing naïve implementation results in 150% area overhead.

46

Page 47: BackSpace:  Formal Analysis  for  Post-Silicon Debug

Recent Experiments OpenRisc 1200:

32-bit RISC processor; Harvard micro-architecture; 5-stage integer pipeline; Virtual memory support; Total of 3k+ latches

BackSpace implemented in HW/SW AMIRIX AP1000 FPGA board (provided by CMC) Board mimics bring-up systems Host-PC: off-chip formal analysis

47

Page 48: BackSpace:  Formal Analysis  for  Post-Silicon Debug

Recent Experiments

BackSpacing OpenRisc 1200: Running simple software application Backspaced for hundreds of cycles Demonstrated robustness in the presence of

nondeterminism

48

Page 49: BackSpace:  Formal Analysis  for  Post-Silicon Debug

Conclusions & Future Work

Introduced BackSpace: a new paradigm for post-silicon debug

Demonstrated it works

Main challenges: Find hardware-friendly & SAT-friendly signatures Minimize breakpoint circuitry overhead

49

Page 50: BackSpace:  Formal Analysis  for  Post-Silicon Debug

50

Page 51: BackSpace:  Formal Analysis  for  Post-Silicon Debug

Dfn. BackSpaceable Design

1) Augmented Machine Given , where is the set of states,

Define the signature generator as

where is the set of states, , Construct an augmented machine MA such that:

51

Page 52: BackSpace:  Formal Analysis  for  Post-Silicon Debug

Dfn. BackSpaceable Design

2) BackSpaceable State A state (s’,t’) of augment state machine MA is

backspaceable if its pre-image projected onto 2S is unique.

52

Page 53: BackSpace:  Formal Analysis  for  Post-Silicon Debug

Dfn. BackSpaceable Design

3) BackSpaceable Machine An augmented machine MA is backspaceable iff

all reachable states are backspaceable. A state machine M is backspaceable iff it can be augmented into a state machine MA for which all reachable states are reachable.

53

Page 54: BackSpace:  Formal Analysis  for  Post-Silicon Debug

54

Crash State History Algorithm

Given state (s0,t0) of a backspaceable augmented state machine MA, compute a finite sequence of states (s0,t0), (s1,t1),… as follows: Since MA is backspaceable, let si+1 be the unique

pre-image state (on the state bits) of (si,ti).

Run MA (possibly repeatedly) until it reaches a state (si+1,x). Let ti+1 = x.

Page 55: BackSpace:  Formal Analysis  for  Post-Silicon Debug

55

Theorem (Correctness)

If started at a reachable state, the sequence of states computed by the preceding algorithm is the (reversed) suffix of a valid execution of M.

Page 56: BackSpace:  Formal Analysis  for  Post-Silicon Debug

56

Theorem (Probabilistic Termination)

If the forward simulation is random, then with probability 1, the preceding algorithm will reach an initial state.