naturalized communication and...

Post on 11-Aug-2020

2 Views

Category:

Documents

0 Downloads

Preview:

Click to see full reader

TRANSCRIPT

Naturalized

Communication and Testing

Marly Roncken

Swetha Mettala Gilla

Hoon Park

Navaneeth Jamadagni

Chris Cowan

Ivan Sutherland

Asynchronous Research Center

Portland State University

ASYNC 2015, 3-6 May

PART 2: naturalized testing • emphasizes the role of actions

• by using dedicated action control: MrGO

• to safely start, stop, and freeze actions individually

• for single-step, multi-step, and at-speed test + debug

Outline

ASYNC 2015 - Naturalized Communication and Testing slide 2 of 40

PART 1: naturalized communication • exposes the fundamental pipeline actions underlying all handshakes

• to obtain a standard protocol interface for translation-free communication

• to simplify the exchange of designs + tools

Gotcha!

link is full

Please!

fill the link

2-phase

NRZ

REQ low

ASYNC 2015 - Naturalized Communication and Testing slide 3 of 40

PART 1

naturalized communication

ASYNC 2015 - Naturalized Communication and Testing slide 4 of 40

Dataflow pipeline: building blocks

handshake component

module

joint

communication channel

handshake channel

link link

in out

ASYNC 2015 - Naturalized Communication and Testing slide 5 of 40

Dataflow pipeline: action

WHAT to do: • copy data

• drain in

• fill out

WHEN to act:

in is full

and

out is empty

link in link out

joint

full empty

link in link out

joint

empty full

ASYNC 2015 - Naturalized Communication and Testing slide 6 of 40

Dataflow pipeline: original designs

Drawbacks: • link has wires only

• joint has all the computation + communication logic

• link-joint interface changes per handshake protocol

link joint link

Dout [1:M] Din [1:N]

SWout SWin

GasP

ASYNC 2015 - Naturalized Communication and Testing slide 7 of 40

Dataflow pipeline: original designs

Drawbacks: • link has wires only

• joint has all the computation + communication logic

• link-joint interface changes per handshake protocol

link joint link

DEout [1:M] DEin [1:N]

Rout Rin

Aout Ain

DOout [1:M] DOin [1:N]

Micropipeline

ASYNC 2015 - Naturalized Communication and Testing slide 8 of 40

Dataflow pipeline: original designs

Drawbacks: • link has wires only

• joint has all the computation + communication logic

• link-joint interface changes per handshake protocol

link joint link

Dout [1:M] Din [1:N]

Rout Rin

Aout Ain

Mousetrap

ASYNC 2015 - Naturalized Communication and Testing slide 9 of 40

Dataflow pipeline: original designs

Drawbacks: • link has wires only

• joint has all the computation + communication logic

• link-joint interface changes per handshake protocol

link joint link

Dout [1:M] Din [1:N]

Rin

Aout Ain

Rout

Click

ASYNC 2015 - Naturalized Communication and Testing slide 10 of 40

Dataflow pipeline: original designs

Drawbacks: • link has wires only

• joint has all the computation + communication logic

• link-joint interface changes per handshake protocol

link joint link

in out

ASYNC 2015 - Naturalized Communication and Testing slide 11 of 40

Dataflow pipeline: original designs

Drawbacks:

the joint is too fat and the links are too thin

link joint link

ASYNC 2015 - Naturalized Communication and Testing slide 12 of 40

Dataflow pipeline: re-design

link joint link

in out

Solution:

distribute the weight

Solution: • move the link-joint interface

• by moving the communication logic from the joint to the links

• such that link-joint interface signals match those in the pipeline action

ASYNC 2015 - Naturalized Communication and Testing slide 13 of 40

Dataflow pipeline: re-design

Dout [1:M] Din [1:N]

SWout SWin

GasP link joint link

Combinational Logic (CL)

from

Dout [1:M] Din [1:N]

SWout SWin

ASYNC 2015 - Naturalized Communication and Testing slide 14 of 40

Dataflow pipeline: re-design

fillout

Dout

fullout

Din

drainin

fullin

CL

half-link half-link joint

Solution: • move the link-joint interface

• by moving the communication logic from the joint to the links

• such that link-joint interface signals match those in the pipeline action

naturalized naturalized

to

• by exposing the fundamental pipeline signals: full-empty, drain, fill, D

• we can standardize the link-joint interface

• and simplify + share designs and tools

ASYNC 2015 - Naturalized Communication and Testing slide 15 of 40

Naturalized communication: take-away

D Dstored

fill

full

drain

full

GasP link

naturalized link

ASYNC 2015 - Naturalized Communication and Testing slide 16 of 40

Naturalized communication: take-away

fill

D

full

fill for normally-opaque capture

full for normally-transparent

drain

Dstored

Your link control circuitry full

naturalized link

• by exposing the fundamental pipeline signals: full-empty, drain, fill, D

• we can standardize the link-joint interface

• and simplify + share designs and tools

ASYNC 2015 - Naturalized Communication and Testing slide 17 of 40

PART 2

naturalized testing

(silicon)

ASYNC 2015 - Naturalized Communication and Testing slide 18 of 40

Naturalized testing: where we came from • synchronous systems

• start and stop the global clock action : One GO control

• use scan test to control + observe global state : Data

• to detect stuck-at faults

ASYNC 2015 - Naturalized Communication and Testing slide 19 of 40

Naturalized testing: where we are • self-timed systems

• start and stop all local actions together : One GO control

• use scan test to control + observe local state : Data + Full-Empty

• to detect stuck-at faults

ASYNC 2015 - Naturalized Communication and Testing slide 20 of 40

Naturalized testing: and where we go • stuck-at fault detection & beyond: at-speed test / debug / characterization

• start and stop each local action individually : All GO control

ASYNC 2015 - Naturalized Communication and Testing slide 21 of 40

dedicated action control

ASYNC 2015 - Naturalized Communication and Testing slide 22 of 40

WHAT to do: • copy data

• drain in

• fill out

WHEN to act:

in is full

and

out is empty

joint

link in link out

empty full

joint

link in link out

full empty

Dataflow pipeline: action reminder

ASYNC 2015 - Naturalized Communication and Testing slide 23 of 40

WHAT to do: • copy data

• drain in

• fill out

WHEN to act:

in is full

and

out is empty

and

GO GO

joint

link in link out

empty full

GO

joint

link in link out

full empty

Dataflow pipeline: action with GO control

run

ASYNC 2015 - Naturalized Communication and Testing slide 24 of 40

WHAT to do: • copy data

• drain in

• fill out

WHEN to act:

in is full

and

out is empty

and

GO GO

joint

link in link out

empty full

joint

link in link out

empty full

GO

joint

link in link out

full empty

Dataflow pipeline: action with GO control

run stop + freeze

no action

ASYNC 2015 - Naturalized Communication and Testing slide 25 of 40

Dataflow pipeline: design with GO control

GO

design reminder

link joint link naturalized naturalized

ASYNC 2015 - Naturalized Communication and Testing slide 26 of 40

Dataflow pipeline: design with GO control

link joint link

design reminder

Din

drainin

fullin

fillout

Dout

fullout

Combinational Logic

naturalized naturalized

ASYNC 2015 - Naturalized Communication and Testing slide 27 of 40

Dataflow pipeline: design with GO control

• go is high (GO) : run

• go is low ( ) : stop and freeze

• arbiter for safe stop : "proper stopper"

• scan chain delivers go signals

Din

drainin

fullin

fillout

Dout

fullout

Combinational Logic

go

Solution MrGO: pronounced "Mister GO"

link joint link naturalized naturalized

ASYNC 2015 - Naturalized Communication and Testing slide 28 of 40

AT-SPEED TESTING with MrGO

single data item

Testing a counter at speed

ASYNC 2015 - Naturalized Communication and Testing slide 29 of 40

INITIALIZE 1. freeze joints

2. set state

• full-empty links

• counter data

3. unfreeze "runway"

? ? ? ?

joint 1 2 3 4 5

RUN 1. unfreeze "runway" entry

2. wait for action to finish

EVALUATE • read counter data

Testing a counter at speed

ASYNC 2015 - Naturalized Communication and Testing slide 30 of 40

INITIALIZE 1. freeze all joints

2. set state

• full-empty links

• counter data

3. unfreeze "runway"

RUN 1. unfreeze "runway" entry

2. wait for action to finish

EVALUATE • read counter data

? ? ? ?

joint 1 2 3 4 5

Testing a counter at speed

ASYNC 2015 - Naturalized Communication and Testing slide 31 of 40

INITIALIZE 1. freeze all joints

2. set state

• full-empty links

• counter data

3. unfreeze "runway"

RUN 1. unfreeze "runway" entry

2. wait for action to finish

EVALUATE • read counter data

joint 1 2 3 4 5

full empty 0

GO GO

Testing a counter at speed

ASYNC 2015 - Naturalized Communication and Testing slide 32 of 40

INITIALIZE 1. freeze all joints

2. set state

• full-empty links

• counter data

3. unfreeze "runway" (3,4)

RUN 1. unfreeze "runway" entry

2. wait for action to finish

EVALUATE • read counter data

joint 1 2 3 4 5

full empty 0

Testing a counter at speed

ASYNC 2015 - Naturalized Communication and Testing slide 33 of 40

INITIALIZE 1. freeze all joints

2. set state

• full-empty links

• counter data

3. unfreeze "runway" (3,4)

RUN 1. unfreeze "runway" entry

2. wait for action to finish

EVALUATE • read counter data

0

GO GO

joint 1 2 3 4 5

GO GO

joint 1 2 3 4 5

full empty 0

Testing a counter at speed

ASYNC 2015 - Naturalized Communication and Testing slide 34 of 40

INITIALIZE 1. freeze all joints

2. set state

• full-empty links

• counter data

3. unfreeze "runway" (3,4)

RUN 1. unfreeze entry (2)

2. wait for action to finish

EVALUATE • read counter data

0

GO GO

joint 1 2 3 4 5

GO GO

joint 1 2 3 4 5

full empty 0

Testing a counter at speed

ASYNC 2015 - Naturalized Communication and Testing slide 35 of 40

INITIALIZE 1. freeze all joints

2. set state

• full-empty links

• counter data

3. unfreeze "runway" (3,4)

GO

RUN 1. unfreeze entry (2)

2. wait for action to finish

EVALUATE • read counter data

GO GO

joint 1 2 3 4 5

full empty 0

0

GO GO

joint 1 2 3 4 5

Testing a counter at speed

ASYNC 2015 - Naturalized Communication and Testing slide 36 of 40

INITIALIZE 1. freeze all joints

2. set state

• full-empty links

• counter data

3. unfreeze "runway" (3,4)

0

GO GO

joint 1 2 3 4 5

GO

RUN 1. unfreeze entry (2)

2. wait for action to finish

EVALUATE • read counter data

GO GO

joint 1 2 3 4 5

full empty 0

GO GO

joint 1 2 3 4 5

GO

0 1

Testing a counter at speed

ASYNC 2015 - Naturalized Communication and Testing slide 37 of 40

INITIALIZE 1. freeze all joints

2. set state

• full-empty links

• counter data

3. unfreeze "runway" (3,4)

RUN 1. unfreeze entry (2)

2. wait for action to finish

EVALUATE • read counter data

GO GO

joint 1 2 3 4 5

full empty 0

Testing a counter at speed

ASYNC 2015 - Naturalized Communication and Testing slide 38 of 40

INITIALIZE 1. freeze all joints

2. set state

• full-empty links

• counter data

3. unfreeze "runway" (3,4)

RUN 1. unfreeze entry (2)

2. wait for action to finish

EVALUATE • read counter data

GO GO

joint 1 2 3 4 5

full empty 0

1

GO GO

joint 1 2 3 4 5

GO

Testing a counter at speed

ASYNC 2015 - Naturalized Communication and Testing slide 39 of 40

INITIALIZE 1. freeze all joints

2. set state

• full-empty links

• counter data

3. unfreeze "runway" (3,4)

RUN 1. unfreeze entry (2)

2. wait for action to finish

EVALUATE • read counter data

GO GO

joint 1 2 3 4 5

full empty 0

1

GO GO

joint 1 2 3 4 5

GO

Get real!

ASYNC 2015 - Naturalized Communication and Testing slide 40 of 40

• two working silicon experiments – Weaver and Anvil

• use MrGO + JTAG-scan-access for test, debug, and characterization

• LIVE demos and tests are available at the conference

iva

n

ch

ris

na

v

ho

on

sw

eth

a

ma

rly

ASYNC 2015 - Naturalized Communication and Testing slide 41 of 40

BACK-UP SLIDES

(backup)

ASYNC 2015 - Naturalized Communication and Testing slide 42 of 40

THROUGHPUT

original and naturalized Mousetrap

(backup)

ASYNC 2015 - Naturalized Communication and Testing slide 43 of 40

1

Throughput comparison: canopy graphs

(backup)

ASYNC 2015 - Naturalized Communication and Testing slide 44 of 40

0.77

1

Throughput comparison: canopy graphs

(backup)

ASYNC 2015 - Naturalized Communication and Testing slide 45 of 40

0.77

1

1.26

Throughput comparison: canopy graphs

(backup)

ASYNC 2015 - Naturalized Communication and Testing slide 46 of 40

0.77

1

1.26

Throughput comparison: canopy graphs

(backup)

ASYNC 2015 - Naturalized Communication and Testing slide 47 of 40 (backup)

DELETE-button added especially

for Jens Sparsø

ASYNC 2015 - Naturalized Communication and Testing slide 48 of 40

CANOPY GRAPHS

characterization with MrGO

(backup)

Creating canopy graphs

ASYNC 2015 - Naturalized Communication and Testing slide 49 of 40

DO (ALL > i > 0 links)

counter=0

run 1 second with i full links

arbitrated stop

read counter

OD y"

FINAL for i ~ 60% links

GO

6G full

GO GO GO GO GO

joint (N+1)~1 2 3 4 5 6 ... N

empty full full

(backup)

ASYNC 2015 - Naturalized Communication and Testing slide 50 of 40

STUCK-AT FAULTS

one-shot testing with MrGO

(backup)

ASYNC 2015 - Naturalized Communication and Testing slide 51 of 40

TEST datapath (normally opaque)

DO (ALL CL test inputs)

freeze joint

set fullin = TRUE

fullout = FALSE

Din = test input

Dstoredout = CL(Din)

evaluate if Dstoredout remain unchanged

unfreeze joint

evaluate if Dstoredout = CL(Din)

OD

TEST control logic

DO (ALL full-empty link combos)

freeze joint

set fullin = combo(in)

fullout = combo(out)

evaluate if links remain unchanged

unfreeze joint

evaluate final link states

OD

Testing stuck-at faults

or GO

CL

under test

in out

Dstoredout Din Dout

(backup)

ASYNC 2015 - Naturalized Communication and Testing slide 52 of 40

TEST datapath (normally transparent)

DO (ALL CL test inputs)

freeze joint

set fullin=fullout = TRUE

Din = test input

Dstoredout = CL(Din)

evaluate if Dstoredout remain unchanged

set fullout = FALSE

unfreeze joint

evaluate if Dstoredout = CL(Din)

OD

TEST control logic

DO (ALL full-empty link combos)

freeze joint

set fullin = combo(in)

fullout = combo(out)

evaluate if links remain unchanged

unfreeze joint

evaluate final link states

OD

Testing stuck-at faults

or GO

CL

under test

in out

Dstoredout Din Dout

(backup)

ASYNC 2015 - Naturalized Communication and Testing slide 53 of 40

AT-SPEED TESTING

of data burst with MrGO

(backup)

Testing a burst of data at speed

ASYNC 2015 - Naturalized Communication and Testing slide 54 of 40

INITIALy"

FINAL

2

under test

empty

GO GO GO

full

GO GO

empty

GO GO GO GO

full 0

takeoff runway landing runway under test

full empty

(backup)

ASYNC 2015 - Naturalized Communication and Testing slide 55 of 40

MrGO

(backup)

ASYNC 2015 - Naturalized Communication and Testing slide 56 of 40

MrGO: dedicated action control

out

in

go

icon

• go is high ( GO ) – start in to out

• go is low ( ) – stop or freeze in to out

• arbiter for safe stop – "proper stopper"

• scan chain delivers go signals

(backup)

top related