Naturalized Communication and Testing

Transcription

Naturalized Communication and Testing
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
Outline
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
2-phase
NRZ
REQ low
Please!
fill the link
Gotcha!
link is full
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
ASYNC 2015 - Naturalized Communication and Testing
slide 2 of 40
PART 1
naturalized communication
ASYNC 2015 - Naturalized Communication and Testing
slide 3 of 40
Dataflow pipeline: building blocks
handshake component
module
joint
communication channel
handshake channel
link
in
ASYNC 2015 - Naturalized Communication and Testing
link
out
slide 4 of 40
Dataflow pipeline: action
WHEN to act:
in is full
and
out is empty
joint
full
empty
link in
link out
joint
WHAT to do:
• copy data
• drain in
• fill out
ASYNC 2015 - Naturalized Communication and Testing
empty
full
link in
link out
slide 5 of 40
Dataflow pipeline: original designs
link
Drawbacks:
joint
link
• link has wires only
• joint has all the computation + communication logic
• link-joint interface changes per handshake protocol
ASYNC 2015 - Naturalized Communication and Testing
slide 6 of 40
Dataflow pipeline: original designs
Din [1:N]
Dout [1:M]
SWin
SWout
GasP
link
Drawbacks:
joint
link
• link has wires only
• joint has all the computation + communication logic
• link-joint interface changes per handshake protocol
ASYNC 2015 - Naturalized Communication and Testing
slide 7 of 40
Dataflow pipeline: original designs
DEin [1:N]
DEout [1:M]
DOin [1:N]
DOout [1:M]
Ain
Aout
Rin
Rout
Micropipeline
link
Drawbacks:
joint
link
• link has wires only
• joint has all the computation + communication logic
• link-joint interface changes per handshake protocol
ASYNC 2015 - Naturalized Communication and Testing
slide 8 of 40
Dataflow pipeline: original designs
Din [1:N]
Dout [1:M]
Ain
Aout
Rin
Rout
Mousetrap
link
Drawbacks:
joint
link
• link has wires only
• joint has all the computation + communication logic
• link-joint interface changes per handshake protocol
ASYNC 2015 - Naturalized Communication and Testing
slide 9 of 40
Dataflow pipeline: original designs
Din [1:N]
Dout [1:M]
Ain
Rin
Aout
Rout
Click
link
Drawbacks:
joint
link
• link has wires only
• joint has all the computation + communication logic
• link-joint interface changes per handshake protocol
ASYNC 2015 - Naturalized Communication and Testing
slide 10 of 40
Dataflow pipeline: original designs
in
link
Drawbacks:
out
joint
link
the joint is too fat and the links are too thin
ASYNC 2015 - Naturalized Communication and Testing
slide 11 of 40
Dataflow pipeline: re-design
out
in
link
Solution:
joint
link
distribute the weight
ASYNC 2015 - Naturalized Communication and Testing
slide 12 of 40
Dataflow pipeline: re-design from
Din [1:N]
Combinational Logic (CL)
SWin
Dout [1:M]
SWout
GasP
link
Solution:
joint
link
• 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 to
Din [1:N]
Din
Dout
CL
drainin
SWin
fullin
naturalized
half-link
Solution:
Dout [1:M]
fillout
fullout
joint
SWout
naturalized
half-link
• 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 14 of 40
Naturalized communication: take-away
• by exposing the fundamental pipeline signals: full-empty, drain, fill, D
• we can standardize the link-joint interface
• and simplify + share designs and tools
naturalized link
D
Dstored
fill
drain
full
full
GasP link
ASYNC 2015 - Naturalized Communication and Testing
slide 15 of 40
Naturalized communication: take-away
• by exposing the fundamental pipeline signals: full-empty, drain, fill, D
• we can standardize the link-joint interface
• and simplify + share designs and tools
naturalized link
D
fill
full
fill for normally-opaque capture
full for normally-transparent
Your link control circuitry
ASYNC 2015 - Naturalized Communication and Testing
Dstored
drain
full
slide 16 of 40
PART 2
naturalized testing
(silicon)
ASYNC 2015 - Naturalized Communication and Testing
slide 17 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 18 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 19 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 20 of 40
dedicated action control
ASYNC 2015 - Naturalized Communication and Testing
slide 21 of 40
Dataflow pipeline: action reminder
joint
WHEN to act:
in is full
and
out is empty
full
empty
link in
link out
WHAT to do:
• copy data
• drain in
• fill out
joint
empty
full
link in
link out
ASYNC 2015 - Naturalized Communication and Testing
slide 22 of 40
Dataflow pipeline: action with GO control
joint
WHEN to act:
in is full
and
out is empty
and
full
empty
link in
link out
GO
GO
run
WHAT to do:
• copy data
• drain in
• fill out
joint
empty
full
link in
link out
GO
ASYNC 2015 - Naturalized Communication and Testing
slide 23 of 40
Dataflow pipeline: action with GO control
joint
WHEN to act:
in is full
and
out is empty
and
joint
full
empty
full
empty
link in
link out
link in
link out
GO
GO
run
stop + freeze
WHAT to do:
• copy data
• drain in
• fill out
joint
empty
full
link in
link out
no action
GO
ASYNC 2015 - Naturalized Communication and Testing
slide 24 of 40
Dataflow pipeline: design with GO control
GO
naturalized
link
joint
naturalized
link
design reminder
ASYNC 2015 - Naturalized Communication and Testing
slide 25 of 40
Dataflow pipeline: design with GO control
Din
Dout
Combinational Logic
drainin
naturalized
link
fullin
fillout
joint
fullout
naturalized
link
design reminder
ASYNC 2015 - Naturalized Communication and Testing
slide 26 of 40
Dataflow pipeline: design with GO control
Din
Dout
Combinational Logic
drainin
fillout
go
naturalized
link
fullin
fullout
joint
: run
Solution MrGO: • go is high (GO)
pronounced "Mister GO"
naturalized
link
• go is low (
)
: stop and freeze
• arbiter for safe stop : "proper stopper"
• scan chain delivers go signals
ASYNC 2015 - Naturalized Communication and Testing
slide 27 of 40
AT-SPEED TESTING with MrGO
single data item
ASYNC 2015 - Naturalized Communication and Testing
slide 28 of 40
Testing a counter at speed
INITIALIZE
joint 1
1. freeze joints
2. set state
• full-empty links
• counter data
3. unfreeze "runway"
2
?
3
?
4
?
5
?
RUN
1. unfreeze "runway" entry
2. wait for action to finish
EVALUATE
• read counter data
ASYNC 2015 - Naturalized Communication and Testing
slide 29 of 40
Testing a counter at speed
INITIALIZE
joint 1
1. freeze all joints
2. set state
• full-empty links
• counter data
3. unfreeze "runway"
2
?
3
?
4
?
5
?
RUN
1. unfreeze "runway" entry
2. wait for action to finish
EVALUATE
• read counter data
ASYNC 2015 - Naturalized Communication and Testing
slide 30 of 40
Testing a counter at speed
INITIALIZE
joint 1
1. freeze all joints
2. set state
• full-empty links
• counter data
3. unfreeze "runway"
2
3
4
5
0
full
empty
RUN
1. unfreeze "runway" entry
2. wait for action to finish
EVALUATE
• read counter data
ASYNC 2015 - Naturalized Communication and Testing
slide 31 of 40
Testing a counter at speed
INITIALIZE
joint 1
1. freeze all joints
2. set state
• full-empty links
• counter data
3. unfreeze "runway" (3,4)
2
3
4
5
0
full
empty
GO
GO
RUN
1. unfreeze "runway" entry
2. wait for action to finish
EVALUATE
• read counter data
ASYNC 2015 - Naturalized Communication and Testing
slide 32 of 40
Testing a counter at speed
INITIALIZE
joint 1
1. freeze all joints
2. set state
• full-empty links
• counter data
3. unfreeze "runway" (3,4)
2
3
4
5
0
full
joint 1
RUN
1. unfreeze "runway" entry
2. wait for action to finish
EVALUATE
• read counter data
ASYNC 2015 - Naturalized Communication and Testing
empty
2
GO
GO
3
4
5
0
GO
GO
slide 33 of 40
Testing a counter at speed
INITIALIZE
joint 1
1. freeze all joints
2. set state
• full-empty links
• counter data
3. unfreeze "runway" (3,4)
2
3
4
5
0
full
joint 1
RUN
1. unfreeze entry (2)
2. wait for action to finish
EVALUATE
• read counter data
ASYNC 2015 - Naturalized Communication and Testing
empty
2
GO
GO
3
4
5
0
GO
GO
slide 34 of 40
Testing a counter at speed
INITIALIZE
joint 1
1. freeze all joints
2. set state
• full-empty links
• counter data
3. unfreeze "runway" (3,4)
2
3
4
5
0
full
joint 1
empty
2
RUN
• read counter data
ASYNC 2015 - Naturalized Communication and Testing
GO
3
4
5
0
1. unfreeze entry (2)
2. wait for action to finish
EVALUATE
GO
GO
GO
GO
slide 35 of 40
Testing a counter at speed
INITIALIZE
joint 1
1. freeze all joints
2. set state
• full-empty links
• counter data
3. unfreeze "runway" (3,4)
2
3
4
5
0
full
joint 1
empty
2
RUN
• read counter data
ASYNC 2015 - Naturalized Communication and Testing
GO
3
4
5
0
1. unfreeze entry (2)
2. wait for action to finish
EVALUATE
GO
GO
GO
GO
slide 36 of 40
Testing a counter at speed
INITIALIZE
joint 1
1. freeze all joints
2. set state
• full-empty links
• counter data
3. unfreeze "runway" (3,4)
2
3
4
5
0
full
joint 1
empty
2
RUN
• read counter data
ASYNC 2015 - Naturalized Communication and Testing
GO
3
4
5
1
0
1. unfreeze entry (2)
2. wait for action to finish
EVALUATE
GO
GO
GO
GO
slide 37 of 40
Testing a counter at speed
INITIALIZE
joint 1
1. freeze all joints
2. set state
• full-empty links
• counter data
3. unfreeze "runway" (3,4)
2
3
4
5
0
full
joint 1
empty
2
RUN
• read counter data
ASYNC 2015 - Naturalized Communication and Testing
GO
3
4
5
1
1. unfreeze entry (2)
2. wait for action to finish
EVALUATE
GO
GO
GO
GO
slide 38 of 40
Testing a counter at speed
INITIALIZE
joint 1
1. freeze all joints
2. set state
• full-empty links
• counter data
3. unfreeze "runway" (3,4)
2
3
4
5
0
full
joint 1
empty
2
RUN
• read counter data
ASYNC 2015 - Naturalized Communication and Testing
GO
3
4
5
1
1. unfreeze entry (2)
2. wait for action to finish
EVALUATE
GO
GO
GO
GO
slide 39 of 40
Get real!
ivan
swetha
hoon
chris
ASYNC 2015 - Naturalized Communication and Testing
nav
marly
• 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
slide 40 of 40
BACK-UP SLIDES
ASYNC 2015 - Naturalized Communication and Testing
(backup) slide 41 of 40
THROUGHPUT
original and naturalized Mousetrap
ASYNC 2015 - Naturalized Communication and Testing
(backup) slide 42 of 40
Throughput comparison: canopy graphs
1
ASYNC 2015 - Naturalized Communication and Testing
(backup) slide 43 of 40
Throughput comparison: canopy graphs
1
0.77
ASYNC 2015 - Naturalized Communication and Testing
(backup) slide 44 of 40
Throughput comparison: canopy graphs
1.26
1
0.77
ASYNC 2015 - Naturalized Communication and Testing
(backup) slide 45 of 40
Throughput comparison: canopy graphs
1.26
1
0.77
ASYNC 2015 - Naturalized Communication and Testing
(backup) slide 46 of 40
DELETE-button
added especially
for Jens Sparsø
ASYNC 2015 - Naturalized Communication and Testing
(backup) slide 47 of 40
CANOPY GRAPHS
characterization with MrGO
ASYNC 2015 - Naturalized Communication and Testing
(backup) slide 48 of 40
Creating canopy graphs
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
joint (N+1)~1
2
3
4
5
6
... N
6G
full
GO
full
GO
ASYNC 2015 - Naturalized Communication and Testing
empty
GO
GO
GO
full
GO
(backup) slide 49 of 40
STUCK-AT FAULTS
one-shot testing with MrGO
ASYNC 2015 - Naturalized Communication and Testing
(backup) slide 50 of 40
Testing stuck-at faults
under test
CL
Din
Dout
in
or
GO
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
ASYNC 2015 - Naturalized Communication and Testing
Dstoredout
out
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
(backup) slide 51 of 40
Testing stuck-at faults
under test
CL
Din
Dout
in
or
GO
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
ASYNC 2015 - Naturalized Communication and Testing
Dstoredout
out
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
(backup) slide 52 of 40
AT-SPEED TESTING
of data burst with MrGO
ASYNC 2015 - Naturalized Communication and Testing
(backup) slide 53 of 40
Testing a burst of data at speed
INITIALy"
under test
takeoff runway
landing runway
0
full
empty
GO
GO
GO
GO
under test
FINAL
2
empty
full
GO
full
empty
GO
ASYNC 2015 - Naturalized Communication and Testing
GO
GO
GO
(backup) slide 54 of 40
MrGO
ASYNC 2015 - Naturalized Communication and Testing
(backup) slide 55 of 40
MrGO: dedicated action control
•
•
•
•
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
out
icon
in
go
ASYNC 2015 - Naturalized Communication and Testing
(backup) slide 56 of 40