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