![Page 1: A Transistor-Level Test Strategy for C2MOS …tima.univ-grenoble-alpes.fr/conferences/ASYNC/Technical...• Gate-level stuck-at faults: – Basic fault model – Gate remodeling enables](https://reader034.vdocuments.mx/reader034/viewer/2022042320/5f0a0f0d7e708231d429d0e4/html5/thumbnails/1.jpg)
YALE UNIVERSITY
A Transistor-Level Test Strategy for C2MOS MOUSETRAP Asynchronous Pipelines
Feng Shi & Yiorgos MakrisElectrical Engineering Department
![Page 2: A Transistor-Level Test Strategy for C2MOS …tima.univ-grenoble-alpes.fr/conferences/ASYNC/Technical...• Gate-level stuck-at faults: – Basic fault model – Gate remodeling enables](https://reader034.vdocuments.mx/reader034/viewer/2022042320/5f0a0f0d7e708231d429d0e4/html5/thumbnails/2.jpg)
Outline
• Background• Test requirements and previous work• Testing for stuck-at faults• Testing for transistor-level faults
– Motivation– Stuck-open faults– Stuck-short faults
• Conclusion
![Page 3: A Transistor-Level Test Strategy for C2MOS …tima.univ-grenoble-alpes.fr/conferences/ASYNC/Technical...• Gate-level stuck-at faults: – Basic fault model – Gate remodeling enables](https://reader034.vdocuments.mx/reader034/viewer/2022042320/5f0a0f0d7e708231d429d0e4/html5/thumbnails/3.jpg)
Background: C2MOS Logic
A General C2MOS Logic Gate
![Page 4: A Transistor-Level Test Strategy for C2MOS …tima.univ-grenoble-alpes.fr/conferences/ASYNC/Technical...• Gate-level stuck-at faults: – Basic fault model – Gate remodeling enables](https://reader034.vdocuments.mx/reader034/viewer/2022042320/5f0a0f0d7e708231d429d0e4/html5/thumbnails/4.jpg)
Background: Static MOUSETRAP
reqN
ackN-1
reqN+1
ackNLatch Controller
doneN
Data in Data out
Stage NStage N-1 Stage N+1
En
LogicLogic LogicLogic
Data Latch
LogicLogic
Delay Delay Delay
ackN-2reqN-1
ackN+1
reqN+2
Transition signaling for handshake signalsLevel signaling for latch control
![Page 5: A Transistor-Level Test Strategy for C2MOS …tima.univ-grenoble-alpes.fr/conferences/ASYNC/Technical...• Gate-level stuck-at faults: – Basic fault model – Gate remodeling enables](https://reader034.vdocuments.mx/reader034/viewer/2022042320/5f0a0f0d7e708231d429d0e4/html5/thumbnails/5.jpg)
Background: C2MOS MOUSETRAP
reqN
ackN-1
reqN+1
ackNLatch Controller
doneN
Data in Data out
Stage NStage N-1 Stage N+1
EnDelay Delay Delay
ackN-2reqN-1
ackN+1
reqN+2
C2M
OS
C2M
OS
C2M
OS
Handshaking Logic
Processing Logic
![Page 6: A Transistor-Level Test Strategy for C2MOS …tima.univ-grenoble-alpes.fr/conferences/ASYNC/Technical...• Gate-level stuck-at faults: – Basic fault model – Gate remodeling enables](https://reader034.vdocuments.mx/reader034/viewer/2022042320/5f0a0f0d7e708231d429d0e4/html5/thumbnails/6.jpg)
Test Requirements
• Delay faults:– Degrade the performance– Violate the timing constraints
• Gate-level stuck-at faults:– Basic fault model – Gate remodeling enables the
use of static CMOS MOUSETRAP test methods• Transistor-level faults: (focus of this talk)
– Stuck-at fault model is not sufficient, especially for dynamic logic
– Some stuck-at faults in C2MOS are in fact transistor-level faults
![Page 7: A Transistor-Level Test Strategy for C2MOS …tima.univ-grenoble-alpes.fr/conferences/ASYNC/Technical...• Gate-level stuck-at faults: – Basic fault model – Gate remodeling enables](https://reader034.vdocuments.mx/reader034/viewer/2022042320/5f0a0f0d7e708231d429d0e4/html5/thumbnails/7.jpg)
Test for Stuck-at Faults
Test generation for I/O stuck-at faults through remodeling
![Page 8: A Transistor-Level Test Strategy for C2MOS …tima.univ-grenoble-alpes.fr/conferences/ASYNC/Technical...• Gate-level stuck-at faults: – Basic fault model – Gate remodeling enables](https://reader034.vdocuments.mx/reader034/viewer/2022042320/5f0a0f0d7e708231d429d0e4/html5/thumbnails/8.jpg)
Test for Stuck-at FaultsExploit test tools for static CMOS MOUSETRAP:• Testing the handshaking logic
– SPIN-SIM [ITC’04]: A logic and fault simulator for SI circuits, extended for DI, QDI circuits and for handling timing constraints
– SPIN-TEST [ICCAD’04]: A fault-simulation-based ATPG tool
– SPIN-PAC [ASP-DAC’05]: A test compaction tool that combines multiple SIC vectors into a single MIC vector
• Testing the processing logic– At initial state all latches are transparent– The processing logic can be treated as a whole
combinational block– Use any ATPG tool for combinational circuits
![Page 9: A Transistor-Level Test Strategy for C2MOS …tima.univ-grenoble-alpes.fr/conferences/ASYNC/Technical...• Gate-level stuck-at faults: – Basic fault model – Gate remodeling enables](https://reader034.vdocuments.mx/reader034/viewer/2022042320/5f0a0f0d7e708231d429d0e4/html5/thumbnails/9.jpg)
Transistor-Level Faults
Stuck-Open
Stuck-Short
![Page 10: A Transistor-Level Test Strategy for C2MOS …tima.univ-grenoble-alpes.fr/conferences/ASYNC/Technical...• Gate-level stuck-at faults: – Basic fault model – Gate remodeling enables](https://reader034.vdocuments.mx/reader034/viewer/2022042320/5f0a0f0d7e708231d429d0e4/html5/thumbnails/10.jpg)
Why Transistor-Level Faults
SA0
Stuck-Open
![Page 11: A Transistor-Level Test Strategy for C2MOS …tima.univ-grenoble-alpes.fr/conferences/ASYNC/Technical...• Gate-level stuck-at faults: – Basic fault model – Gate remodeling enables](https://reader034.vdocuments.mx/reader034/viewer/2022042320/5f0a0f0d7e708231d429d0e4/html5/thumbnails/11.jpg)
Testing Transistor-Level Faults
• Transistor stuck-open faults– Testing C2MOS logic gates– Testing handshaking logic– Testing processing logic
• Transistor stuck-short faults– Testing C2MOS logic gates– Testing handshaking logic– Testing processing logic
![Page 12: A Transistor-Level Test Strategy for C2MOS …tima.univ-grenoble-alpes.fr/conferences/ASYNC/Technical...• Gate-level stuck-at faults: – Basic fault model – Gate remodeling enables](https://reader034.vdocuments.mx/reader034/viewer/2022042320/5f0a0f0d7e708231d429d0e4/html5/thumbnails/12.jpg)
Stuck-Open Faults in C2MOS Gate
Stuck-Open
0
1
Test generation similar to CMOS gate
![Page 13: A Transistor-Level Test Strategy for C2MOS …tima.univ-grenoble-alpes.fr/conferences/ASYNC/Technical...• Gate-level stuck-at faults: – Basic fault model – Gate remodeling enables](https://reader034.vdocuments.mx/reader034/viewer/2022042320/5f0a0f0d7e708231d429d0e4/html5/thumbnails/13.jpg)
Stuck-Open Faults in C2MOS Gate
Stuck-Open
0 1
…
0
1
…
V1 V1: Set output to 1
…
0
1
…
V2
DD
V2: Test SA1 at output
![Page 14: A Transistor-Level Test Strategy for C2MOS …tima.univ-grenoble-alpes.fr/conferences/ASYNC/Technical...• Gate-level stuck-at faults: – Basic fault model – Gate remodeling enables](https://reader034.vdocuments.mx/reader034/viewer/2022042320/5f0a0f0d7e708231d429d0e4/html5/thumbnails/14.jpg)
Stuck-Open Faults in Handshake Logic
• Test pattern generation procedure:– Generate test patterns for the faulty gate– Select functional test patterns that exercise the
faulty gate– Append test patterns that propagate fault effect
to the primary outputs• Fault coverage:
– Detects faults in identity gates and XNOR gates– Cannot detect faults in keeper inverters
![Page 15: A Transistor-Level Test Strategy for C2MOS …tima.univ-grenoble-alpes.fr/conferences/ASYNC/Technical...• Gate-level stuck-at faults: – Basic fault model – Gate remodeling enables](https://reader034.vdocuments.mx/reader034/viewer/2022042320/5f0a0f0d7e708231d429d0e4/html5/thumbnails/15.jpg)
Stuck-Open Faults in Handshake Logic
reqN
ackN-1
reqN+1
ackNLatch Controller
doneN
Stage NStage N-1 Stage N+1
EnDelay Delay Delay
ackN-2reqN-1
ackN+1
reqN+2
Identity
Stuck-Open
![Page 16: A Transistor-Level Test Strategy for C2MOS …tima.univ-grenoble-alpes.fr/conferences/ASYNC/Technical...• Gate-level stuck-at faults: – Basic fault model – Gate remodeling enables](https://reader034.vdocuments.mx/reader034/viewer/2022042320/5f0a0f0d7e708231d429d0e4/html5/thumbnails/16.jpg)
Stuck-Open Faults in Handshake Logic
Stuck-Open
V1: A = 1, En = 1
DD
V2: A = 0, En = 1
1
0
1
V1
1
0
0
1
V2
0
![Page 17: A Transistor-Level Test Strategy for C2MOS …tima.univ-grenoble-alpes.fr/conferences/ASYNC/Technical...• Gate-level stuck-at faults: – Basic fault model – Gate remodeling enables](https://reader034.vdocuments.mx/reader034/viewer/2022042320/5f0a0f0d7e708231d429d0e4/html5/thumbnails/17.jpg)
Stuck-Open Faults in Handshake Logic
reqN
ackN-1
reqN+1
ackNLatch Controller
doneN
Stage NStage N-1 Stage N+1
EnDelay Delay Delay
ackN-2reqN-1
ackN+1
reqN+2
Identity
Stuck-Open
VALUE = 0VALUE = 1VALUE = DVALUE = Ď
Objective:Initial statev1: req=1, En=1
v2: req=0, En=1
![Page 18: A Transistor-Level Test Strategy for C2MOS …tima.univ-grenoble-alpes.fr/conferences/ASYNC/Technical...• Gate-level stuck-at faults: – Basic fault model – Gate remodeling enables](https://reader034.vdocuments.mx/reader034/viewer/2022042320/5f0a0f0d7e708231d429d0e4/html5/thumbnails/18.jpg)
Stuck-Open Faults in Handshake Logic
reqN
ackN-1
reqN+1
ackNLatch Controller
doneN
Stage NStage N-1 Stage N+1
EnDelay Delay Delay
ackN-2reqN-1
ackN+1
reqN+2
Identity
Stuck Open
VALUE = 0VALUE = 1VALUE = DVALUE = Ď
v1: req=1, En=1v2: req=0, En=1
Objective:V1: reqN-1=1
![Page 19: A Transistor-Level Test Strategy for C2MOS …tima.univ-grenoble-alpes.fr/conferences/ASYNC/Technical...• Gate-level stuck-at faults: – Basic fault model – Gate remodeling enables](https://reader034.vdocuments.mx/reader034/viewer/2022042320/5f0a0f0d7e708231d429d0e4/html5/thumbnails/19.jpg)
Stuck-Open Faults in Handshake Logic
reqN
ackN-1
reqN+1
ackNLatch Controller
doneN
Stage NStage N-1 Stage N+1
EnDelay Delay Delay
ackN-2reqN-1
ackN+1
reqN+2
Identity
Stuck-Open
VALUE = 0VALUE = 1VALUE = DVALUE = Ď
v1: req=1, En=1v2: req=0, En=1
Objective:V2: ackN+1=1
![Page 20: A Transistor-Level Test Strategy for C2MOS …tima.univ-grenoble-alpes.fr/conferences/ASYNC/Technical...• Gate-level stuck-at faults: – Basic fault model – Gate remodeling enables](https://reader034.vdocuments.mx/reader034/viewer/2022042320/5f0a0f0d7e708231d429d0e4/html5/thumbnails/20.jpg)
Stuck-Open Faults in Handshake Logic
reqN
ackN-1
reqN+1
ackNLatch Controller
doneN
Stage NStage N-1 Stage N+1
EnDelay Delay Delay
ackN-2reqN-1
ackN+1
reqN+2
Identity
Stuck-Open
VALUE = 0VALUE = 1VALUE = DVALUE = Ď
v1: req=1, En=1v2: req=0, En=1
Objective:V3: reqN-1=0
![Page 21: A Transistor-Level Test Strategy for C2MOS …tima.univ-grenoble-alpes.fr/conferences/ASYNC/Technical...• Gate-level stuck-at faults: – Basic fault model – Gate remodeling enables](https://reader034.vdocuments.mx/reader034/viewer/2022042320/5f0a0f0d7e708231d429d0e4/html5/thumbnails/21.jpg)
Stuck-Open Faults in Processing Logic
Exploit tools for CMOS logic through remodeling(gates are enabled)• Faults in pull-up/pull-down networks can be
detected as in CMOS logic • Faults at the enable PMOS(NMOS)
– Step 1: set the gate output to 1(0)– Step 2: test for a stuck-at-1(0) fault at the gate
output
![Page 22: A Transistor-Level Test Strategy for C2MOS …tima.univ-grenoble-alpes.fr/conferences/ASYNC/Technical...• Gate-level stuck-at faults: – Basic fault model – Gate remodeling enables](https://reader034.vdocuments.mx/reader034/viewer/2022042320/5f0a0f0d7e708231d429d0e4/html5/thumbnails/22.jpg)
Stuck-Short Faults in C2MOS Gate
Test generation similar to CMOS gate: IDDQ tests
Stuck-Short
0
1
![Page 23: A Transistor-Level Test Strategy for C2MOS …tima.univ-grenoble-alpes.fr/conferences/ASYNC/Technical...• Gate-level stuck-at faults: – Basic fault model – Gate remodeling enables](https://reader034.vdocuments.mx/reader034/viewer/2022042320/5f0a0f0d7e708231d429d0e4/html5/thumbnails/23.jpg)
Stuck-Short Faults in C2MOS Gate
Stuck Short
0 1
…
0
1
…
V1
V1: Set output to 1
1
0
V2V2: Disable the gate
D D
…
1
0
…
V3: Set output to 0 ifgate was enabled
V3
![Page 24: A Transistor-Level Test Strategy for C2MOS …tima.univ-grenoble-alpes.fr/conferences/ASYNC/Technical...• Gate-level stuck-at faults: – Basic fault model – Gate remodeling enables](https://reader034.vdocuments.mx/reader034/viewer/2022042320/5f0a0f0d7e708231d429d0e4/html5/thumbnails/24.jpg)
Stuck-Short Faults in Handshake Logic
• Test pattern generation procedure:– Generate test patterns for the faulty gate– Select functional test patterns that exercise the
faulty gate– Append test patterns that propagate fault effect
to the primary outputs (Voltage tests only)• Fault coverage:
– All faults through IDDQ/voltage tests
![Page 25: A Transistor-Level Test Strategy for C2MOS …tima.univ-grenoble-alpes.fr/conferences/ASYNC/Technical...• Gate-level stuck-at faults: – Basic fault model – Gate remodeling enables](https://reader034.vdocuments.mx/reader034/viewer/2022042320/5f0a0f0d7e708231d429d0e4/html5/thumbnails/25.jpg)
Stuck-Short Faults in Handshake Logic
reqN
ackN-1
reqN+1
ackNLatch Controller
doneN
Stage NStage N-1 Stage N+1
EnDelay Delay Delay
ackN-2reqN-1
ackN+1
reqN+2
Identity
Stuck-Short
![Page 26: A Transistor-Level Test Strategy for C2MOS …tima.univ-grenoble-alpes.fr/conferences/ASYNC/Technical...• Gate-level stuck-at faults: – Basic fault model – Gate remodeling enables](https://reader034.vdocuments.mx/reader034/viewer/2022042320/5f0a0f0d7e708231d429d0e4/html5/thumbnails/26.jpg)
Stuck-Short Faults in Handshake Logic
Stuck-Short
IDDQ test: A = 1, B = 1
1
0
1
V
1
![Page 27: A Transistor-Level Test Strategy for C2MOS …tima.univ-grenoble-alpes.fr/conferences/ASYNC/Technical...• Gate-level stuck-at faults: – Basic fault model – Gate remodeling enables](https://reader034.vdocuments.mx/reader034/viewer/2022042320/5f0a0f0d7e708231d429d0e4/html5/thumbnails/27.jpg)
Stuck-Short Faults in Handshake Logic
reqN
ackN-1
reqN+1
ackNLatch Controller
doneN
Stage NStage N-1 Stage N+1
EnDelay Delay Delay
ackN-2reqN-1
ackN+1
reqN+2
Identity
VALUE = 0VALUE = 1
Objective:ack=0,done=1
Initial state
Stuck-Short
![Page 28: A Transistor-Level Test Strategy for C2MOS …tima.univ-grenoble-alpes.fr/conferences/ASYNC/Technical...• Gate-level stuck-at faults: – Basic fault model – Gate remodeling enables](https://reader034.vdocuments.mx/reader034/viewer/2022042320/5f0a0f0d7e708231d429d0e4/html5/thumbnails/28.jpg)
Stuck-Short Faults in Handshake Logic
reqN
ackN-1
reqN+1
ackNLatch Controller
doneN
Stage NStage N-1 Stage N+1
EnDelay Delay Delay
ackN-2reqN-1
ackN+1
reqN+2
Identity
VALUE = 0VALUE = 1
Objective:ack=0,done=1
V1: reqN-1=1
Stuck-Short
![Page 29: A Transistor-Level Test Strategy for C2MOS …tima.univ-grenoble-alpes.fr/conferences/ASYNC/Technical...• Gate-level stuck-at faults: – Basic fault model – Gate remodeling enables](https://reader034.vdocuments.mx/reader034/viewer/2022042320/5f0a0f0d7e708231d429d0e4/html5/thumbnails/29.jpg)
Stuck-Short Faults in Handshake Logic
reqN
ackN-1
reqN+1
ackNLatch Controller
doneN
Stage NStage N-1 Stage N+1
EnDelay Delay Delay
ackN-2reqN-1
ackN+1
reqN+2
Identity
VALUE = 0VALUE = 1
Objective:ack=0,done=1
V2: reqN-1=0
Stuck-Short
![Page 30: A Transistor-Level Test Strategy for C2MOS …tima.univ-grenoble-alpes.fr/conferences/ASYNC/Technical...• Gate-level stuck-at faults: – Basic fault model – Gate remodeling enables](https://reader034.vdocuments.mx/reader034/viewer/2022042320/5f0a0f0d7e708231d429d0e4/html5/thumbnails/30.jpg)
Stuck-Short Faults in Handshake Logic
reqN
ackN-1
reqN+1
ackNLatch Controller
doneN
Stage NStage N-1 Stage N+1
EnDelay Delay Delay
ackN-2reqN-1
ackN+1
reqN+2
Identity
VALUE = 0VALUE = 1
Objective:ack=0,done=1
V3: reqN-1=1, fault detected through IDDQ
Stuck-Short
![Page 31: A Transistor-Level Test Strategy for C2MOS …tima.univ-grenoble-alpes.fr/conferences/ASYNC/Technical...• Gate-level stuck-at faults: – Basic fault model – Gate remodeling enables](https://reader034.vdocuments.mx/reader034/viewer/2022042320/5f0a0f0d7e708231d429d0e4/html5/thumbnails/31.jpg)
Stuck-Short Faults in Processing Logic
Utilize tools for CMOS logic through remodeling• Faults in pull-up/pull-down networks can be
tested as in CMOS logic (gates are enabled)• Faults at the enable PMOS (NMOS)
– Step 1: test for a SA0(1) fault at the gate output– Step 2: disable the gate by applying a test
sequence to handshaking logic– Step 3: could set the gate output to 0(1)– Step 4: propagate the fault effect by applying a
test sequence to handshaking logic
![Page 32: A Transistor-Level Test Strategy for C2MOS …tima.univ-grenoble-alpes.fr/conferences/ASYNC/Technical...• Gate-level stuck-at faults: – Basic fault model – Gate remodeling enables](https://reader034.vdocuments.mx/reader034/viewer/2022042320/5f0a0f0d7e708231d429d0e4/html5/thumbnails/32.jpg)
Conclusion• Proposed method for SA faults makes use of tools
for CMOS pipelines through remodeling• Proposed method for transistor-level faults
– Based on testing a single C2MOS gate– Generates functional test patterns for testing
handshaking logic– Uses ATPG tools for CMOS circuits for testing
processing logic• Results
– Very high fault coverage for both SA and transistor-level SO, SS faults
– No performance/area overhead