Upload
others
View
1
Download
0
Embed Size (px)
Citation preview
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)