transaction-based online debug for noc-based ... kong, chenxilou 1 transaction-based online debug...

30
Xiangfei KONG, Chenxi LOU 1 Transaction-based Online Debug for NoC-based Multiprocessor SoCs 11/17/2015 - by Mehdi Dehbashi, Görschwin Fey Presented By

Upload: doanthuan

Post on 16-Apr-2018

225 views

Category:

Documents


4 download

TRANSCRIPT

Page 1: Transaction-based Online Debug for NoC-based ... KONG, ChenxiLOU 1 Transaction-based Online Debug for NoC-based Multiprocessor SoCs 11/17/2015 - by Mehdi Dehbashi, Görschwin Fey Presented

Xiangfei KONG, Chenxi LOU

1

Transaction-based Online Debug for NoC-based Multiprocessor SoCs

11/17/2015

- by Mehdi Dehbashi, Görschwin Fey

Presented By

Page 2: Transaction-based Online Debug for NoC-based ... KONG, ChenxiLOU 1 Transaction-based Online Debug for NoC-based Multiprocessor SoCs 11/17/2015 - by Mehdi Dehbashi, Görschwin Fey Presented

Outline

Background ----------------------------------------------------------------------------------

■ Overview of Transaction–based Debug

■ TDPSL (Transaction Debug Pattern Specification Language)

Transaction Based Online Debug --------------------------------------------------

■ Debug Method & Requirements

■ Debug Infrastructure

■ Approach Limitation

■ Implementation

2

Page 3: Transaction-based Online Debug for NoC-based ... KONG, ChenxiLOU 1 Transaction-based Online Debug for NoC-based Multiprocessor SoCs 11/17/2015 - by Mehdi Dehbashi, Görschwin Fey Presented

Outline

Background ----------------------------------------------------------------------------------

■ Overview of Transaction–based Debug

■ TDPSL (Transaction Debug Pattern Specification Language)

Transaction Based Online Debug --------------------------------------------------

■ Debug Method & Requirements

■ Debug Infrastructure

■ Approach Limitation

■ Implementation

3

Page 4: Transaction-based Online Debug for NoC-based ... KONG, ChenxiLOU 1 Transaction-based Online Debug for NoC-based Multiprocessor SoCs 11/17/2015 - by Mehdi Dehbashi, Görschwin Fey Presented

Transaction – Based Debug

4

Why do we need transaction based debug in NoC based multiprocessor SoCs ?

Growing complexity of interconnects & IP communication

Monitoring transaction packets at SoC level is relatively easy

Lots of research in the area !

Transaction-based communication-centric debug

Debug pattern detection with TDPSL

Transaction back tracing using Bounded Model Checking

Problems we currently have

Online debug method that can debug & recover at run time

An approach that is less intrusive to the NoC network

Page 5: Transaction-based Online Debug for NoC-based ... KONG, ChenxiLOU 1 Transaction-based Online Debug for NoC-based Multiprocessor SoCs 11/17/2015 - by Mehdi Dehbashi, Görschwin Fey Presented

Transaction – Based Debug■ Master – Slave

■ Transaction Elements

5

- Example: ARM AMBA AHB Protocol

- Masters request, Slaves respond

4 Basic Elements:Start of Request (SoRq)End of Request (EoRq)Start of Response (SoRp)End of Response (EoRp)

2 Additional Elements:Request Error (ErrRq)Response Error (ErrRq)

Page 6: Transaction-based Online Debug for NoC-based ... KONG, ChenxiLOU 1 Transaction-based Online Debug for NoC-based Multiprocessor SoCs 11/17/2015 - by Mehdi Dehbashi, Görschwin Fey Presented

Outline

Background ----------------------------------------------------------------------------------

■ Overview of Transaction–based Debug

■ TDPSL (Transaction Debug Pattern Specification Language)

Transaction Based Online Debug --------------------------------------------------

■ Debug Method & Requirements

■ Debug Infrastructure

■ Approach Limitation

■ Implementation

6

Page 7: Transaction-based Online Debug for NoC-based ... KONG, ChenxiLOU 1 Transaction-based Online Debug for NoC-based Multiprocessor SoCs 11/17/2015 - by Mehdi Dehbashi, Görschwin Fey Presented

■ Boolean Layer

■ Temporal Layer

■ Verification Layer

7

TDPSL – Transaction Debug Pattern Specification Language

master slave type address tagtrans_type ( )

SAME, SEQ, OTHER

Slave Compare

Prev Tran Slave Addr

Curr Tran Slave Addr

- define transaction sequence propertiesconcatenation ( ; ) fusion ( : ) or ( - ) and ( & ) repetition ( [6] )

- Assertionassert nevereg. EoTr(m2,s1,Wr,-) ; SoTr(m1,s1,Rd,-)

- Filter Expressiondefines over masters, slaves & trans typeseg. Filter(*,*,*)

Page 8: Transaction-based Online Debug for NoC-based ... KONG, ChenxiLOU 1 Transaction-based Online Debug for NoC-based Multiprocessor SoCs 11/17/2015 - by Mehdi Dehbashi, Görschwin Fey Presented

Outline

Background ----------------------------------------------------------------------------------

■ Overview of Transaction–based Debug

■ TDPSL (Transaction Debug Pattern Specification Language)

Transaction Based Online Debug --------------------------------------------------

■ Debug Method & Requirements

■ Debug Infrastructure

■ Approach Limitation

■ Implementation

8

Page 9: Transaction-based Online Debug for NoC-based ... KONG, ChenxiLOU 1 Transaction-based Online Debug for NoC-based Multiprocessor SoCs 11/17/2015 - by Mehdi Dehbashi, Görschwin Fey Presented

Highlights

9

A debugging infrastructure that is non-intrusive to NoC

Finding & analyzing transaction-based patterns at speed

Present an online transaction ordering mechanism

Online system recovery without stopping/interrupting NoC

Page 10: Transaction-based Online Debug for NoC-based ... KONG, ChenxiLOU 1 Transaction-based Online Debug for NoC-based Multiprocessor SoCs 11/17/2015 - by Mehdi Dehbashi, Görschwin Fey Presented

Outline

Background ----------------------------------------------------------------------------------

■ Overview of Transaction–based Debug

■ TDPSL (Transaction Debug Pattern Specification Language)

Transaction Based Online Debug --------------------------------------------------

■ Debug Method & Requirements

■ Debug Infrastructure

■ Approach Limitation

■ Implementation

10

Page 11: Transaction-based Online Debug for NoC-based ... KONG, ChenxiLOU 1 Transaction-based Online Debug for NoC-based Multiprocessor SoCs 11/17/2015 - by Mehdi Dehbashi, Görschwin Fey Presented

■ Be able to collect transaction elements at run-time

■ Be able to order transactions online

■ Be able to assert debug patterns online

11

Debug Method

Debug Requirements

Pattern Detection

Send Packet to

NoCNodes

Recover from Error

State

ErrorContinue

Recover

Page 12: Transaction-based Online Debug for NoC-based ... KONG, ChenxiLOU 1 Transaction-based Online Debug for NoC-based Multiprocessor SoCs 11/17/2015 - by Mehdi Dehbashi, Görschwin Fey Presented

Outline

Background ----------------------------------------------------------------------------------

■ Overview of Transaction–based Debug

■ TDPSL (Transaction Debug Pattern Specification Language)

Transaction Based Online Debug --------------------------------------------------

■ Debug Method & Requirements

■ Debug Infrastructure

■ Approach Limitation

■ Implementation

12

Page 13: Transaction-based Online Debug for NoC-based ... KONG, ChenxiLOU 1 Transaction-based Online Debug for NoC-based Multiprocessor SoCs 11/17/2015 - by Mehdi Dehbashi, Görschwin Fey Presented

13

Master 1 Master 2

Slave 2Slave 1

NoC

Monitor Monitor

Filter Filter

DU

DRI DRI

R RR

NI NI NI

R RR

NI NI

… …

……

……

Debug Infrastructure

Hardware infrastructure for a SoC with two

masters & two slaves

Page 14: Transaction-based Online Debug for NoC-based ... KONG, ChenxiLOU 1 Transaction-based Online Debug for NoC-based Multiprocessor SoCs 11/17/2015 - by Mehdi Dehbashi, Görschwin Fey Presented

14

Master 1 Master 2

Slave 2Slave 1

NoC

Monitor Monitor

Filter Filter

DU

DRI DRI

R RR

NI NI NI

R RR

NI NI

… …

……

……

Debug Infrastructure

Monitor

Filter Timer

Page 15: Transaction-based Online Debug for NoC-based ... KONG, ChenxiLOU 1 Transaction-based Online Debug for NoC-based Multiprocessor SoCs 11/17/2015 - by Mehdi Dehbashi, Görschwin Fey Presented

- Filter unrelated transaction, both in monitor & Debug Unit (DU)

15

Monitor

Filter

MasterInterconnect

master slave type address

Timestamp

Choose an always different value

Don’t care

- Observe master interconnects to extract packet elements

1’b1

Filter Structure in DU

Page 16: Transaction-based Online Debug for NoC-based ... KONG, ChenxiLOU 1 Transaction-based Online Debug for NoC-based Multiprocessor SoCs 11/17/2015 - by Mehdi Dehbashi, Görschwin Fey Presented

16

Master 1 Master 2

Slave 2Slave 1

NoC

Monitor Monitor

Filter Filter

DU

DRI DRI

R RR

NI NI NI

R RR

NI NI

… …

……

……

Debug Infrastructure

Slave-based Approach

DU-based Approach

DRI

Page 17: Transaction-based Online Debug for NoC-based ... KONG, ChenxiLOU 1 Transaction-based Online Debug for NoC-based Multiprocessor SoCs 11/17/2015 - by Mehdi Dehbashi, Görschwin Fey Presented

17

DRI (Debug Redundant Information)

2. DU - based Approach

1. Slave - based Approach

Master

Slave

DRI in slave Low transfer cost Address info only in EoTr, wait to

receive EoTr from slave

DU

Slave 1 Slave 2 Slave N…

Slave Address Observed

DRI in DU Non-Intrusive to SoC More bandwidth needed to

transfer slave address Larger memory storage in DU

Address Symbol

- Extract and transfer element address of a transaction

Page 18: Transaction-based Online Debug for NoC-based ... KONG, ChenxiLOU 1 Transaction-based Online Debug for NoC-based Multiprocessor SoCs 11/17/2015 - by Mehdi Dehbashi, Görschwin Fey Presented

18

Master 1 Master 2

Slave 2Slave 1

NoC

Monitor Monitor

Filter Filter

DU

DRI DRI

R RR

NI NI NI

R RR

NI NI

… …

……

……

Debug Infrastructure

Page 19: Transaction-based Online Debug for NoC-based ... KONG, ChenxiLOU 1 Transaction-based Online Debug for NoC-based Multiprocessor SoCs 11/17/2015 - by Mehdi Dehbashi, Görschwin Fey Presented

19

DU (Debug Unit)

DU

Filter

CDU

LDU

FSM

• Transfer data observed to top level

• Drop assertion unrelated transactions

• Synchronize Timer & Handle Error Cases

• Investigate Assertion Online

LDU Structure(Local Debug Unit)

CDU Structure(Central Debug Unit)

Transaction ordering based on timestamps

Page 20: Transaction-based Online Debug for NoC-based ... KONG, ChenxiLOU 1 Transaction-based Online Debug for NoC-based Multiprocessor SoCs 11/17/2015 - by Mehdi Dehbashi, Görschwin Fey Presented

20

Monitor

Filter Timer

Monitor

Filter Timer

Monitor

Filter Timer

Monitor

Filter Timer

LDU LDU

CDU

Synch Packet

Debug Packet

Recovery Packet

Restart Packet

LDU

CDU

LDU

LDU

LDU

• Low Error Detection Latency

• Large Number of DUs

NoC

• Low hardware cost

• Need traffic balance approach

• Wait until all transactions arrive

• Transaction ordering challenge

Tree Topology

Ring Topology

DU Topology

Error

Page 21: Transaction-based Online Debug for NoC-based ... KONG, ChenxiLOU 1 Transaction-based Online Debug for NoC-based Multiprocessor SoCs 11/17/2015 - by Mehdi Dehbashi, Görschwin Fey Presented

21

Debug FSM- Programmable FSMs utilized to investigate assertions online

Address Data

Current State Input Next State

Start Tr1 A

Start Other Start

A Tr2 B

… … …

Err - Err

FSM Memory OverheadWorst Case Transaction # = tWorst Case State # = s

Total Memory = ( ∗

Total Memory = 2 ∗

Transaction Pattern Encoding

Page 22: Transaction-based Online Debug for NoC-based ... KONG, ChenxiLOU 1 Transaction-based Online Debug for NoC-based Multiprocessor SoCs 11/17/2015 - by Mehdi Dehbashi, Görschwin Fey Presented

OutlineBackground ----------------------------------------------------------------------------------

■ Overview of Transaction–based Debug

■ TDPSL (Transaction Debug Pattern Specification Language)

Transaction Based Online Debug --------------------------------------------------

■ Debug Method & Requirements

■ Debug Infrastructure

■ Approach Limitation

■ Implementation

22

Page 23: Transaction-based Online Debug for NoC-based ... KONG, ChenxiLOU 1 Transaction-based Online Debug for NoC-based Multiprocessor SoCs 11/17/2015 - by Mehdi Dehbashi, Görschwin Fey Presented

Approach Limitations■ Only CDU has a comprehensive assertion checking for all masters

■ Does not work for hardware faults

■ Does not detect deadlocks between different threads of a single core

23

LDU 1LDU 2

Hardware DeadLock

Software DeadLock

Detection

Detection

Recovery

Recovery

Page 24: Transaction-based Online Debug for NoC-based ... KONG, ChenxiLOU 1 Transaction-based Online Debug for NoC-based Multiprocessor SoCs 11/17/2015 - by Mehdi Dehbashi, Görschwin Fey Presented

Outline

Background ----------------------------------------------------------------------------------

■ Overview of Transaction–based Debug

■ TDPSL (Transaction Debug Pattern Specification Language)

Transaction Based Online Debug --------------------------------------------------

■ Debug Method & Requirements

■ Debug Infrastructure

■ Approach Limitation

■ Implementation

24

Page 25: Transaction-based Online Debug for NoC-based ... KONG, ChenxiLOU 1 Transaction-based Online Debug for NoC-based Multiprocessor SoCs 11/17/2015 - by Mehdi Dehbashi, Görschwin Fey Presented

Implementation

25

Experiment Setup

Tool – Nirgram NoC SimulatorNetwork – 3 x 3 mesh networkSoC Setup – Four masters, Four SlavesDebug Pattern – Race, Deadlock, Livelock

Assertion in TDPSL

Race Deadlock Livelock

Assert never {SoTr(m1,s1,Wr,-); SoTr(m2,s1,Wr,SAME);EoTr(m1,s1,Wr, SAME)} filter (*,*,*)

Assert never {EoTr(m1,s1,Rd,-); EoTr(m1,s1,Wr,SAME);EoTr(m2,s2,Rd,-); EoTr(m2,s2,Rd,SAME);{EoTr(m1,s2,Rd,SAME); EoTr(m2,s1,Rd, SAME) |EoTr(m2,s1,Rd,SAME); EoTr(m1,s2,Rd, SAME)}[+] filter(*,*,*)

Similar to Deadlock

Page 26: Transaction-based Online Debug for NoC-based ... KONG, ChenxiLOU 1 Transaction-based Online Debug for NoC-based Multiprocessor SoCs 11/17/2015 - by Mehdi Dehbashi, Görschwin Fey Presented

26

Simulation Results Area Overhead

Debug PatternLookup Table Size (# of bits)

#Tr PatternsAddress Data

Race Pattern 1 4 2 3

Race Pattern 2 6 3 8

Deadlock Pattern 1 6 3 6

Deadlock Pattern 2 7 4 6

Livelock Pattern 1 7 4 6

Livelock Pattern 2 7 4 6

Effect of Online Recovery

Without Recovery With Recovery

# Eating 6 3276

# Resolved Deadlock 0 77

Page 27: Transaction-based Online Debug for NoC-based ... KONG, ChenxiLOU 1 Transaction-based Online Debug for NoC-based Multiprocessor SoCs 11/17/2015 - by Mehdi Dehbashi, Görschwin Fey Presented

Conclusions

■ An effective approach for NoC-based multiprocessor SoC online debugging

■ Non-intrusive way to investigate, debug & recover from error states at run time

■ Design tradeoffs & limitations

■ Debug pattern exercise with Nirgram NoC simulator

27

Page 28: Transaction-based Online Debug for NoC-based ... KONG, ChenxiLOU 1 Transaction-based Online Debug for NoC-based Multiprocessor SoCs 11/17/2015 - by Mehdi Dehbashi, Görschwin Fey Presented

Xiangfei KONG, Chenxi LOU

28

Thank you for your listening !

11/17/2015

Presentation By

Page 29: Transaction-based Online Debug for NoC-based ... KONG, ChenxiLOU 1 Transaction-based Online Debug for NoC-based Multiprocessor SoCs 11/17/2015 - by Mehdi Dehbashi, Görschwin Fey Presented

29

Questions ?

Page 30: Transaction-based Online Debug for NoC-based ... KONG, ChenxiLOU 1 Transaction-based Online Debug for NoC-based Multiprocessor SoCs 11/17/2015 - by Mehdi Dehbashi, Görschwin Fey Presented

30

Debate1. Will judging the DU FIFO size be a design challenge when using

the proposed online debug approach ?

2. As the recovery algorithm does not work for hardware deadlock faults & inner core multithread deadlocks, is it worth to use when another approach is available ? [22] A. Ghofrani, R. Parikh, S. Shamshiri, A. DeOrio, K,-T. Cheng, V. Bertacco,

Comprehensive online defect analysis in on-chip networks, in: VLSI Test Symp., 2012, pp.661-666