Download presentation
Presentation is loading. Please wait.
1
Design for Testability
Sungho Kang Yonsei University
2
Outline Introduction Testability Measure Design for Testability Ad-Hoc
Testable Design Conclusion
3
Merging Design and Test
Introduction Design and Test become closer
4
Design and Test Introduction Design process
5
Testability Measures Testability Objective
Inherent property of the circuit based on the circuit topology Probability that a fault is detected by a random vector Function of controllability and observability Controllability Ability to establish a specific signal value at each node in the circuit by setting values on the circuit inputs Observability Ability to determine the signal value at any node in a circuit by controlling primary inputs and observing its outputs Objective Estimate testability Provide guidance for redesign Provide guidance in search process of test generation Measures should be computationally simple
6
What Designers Want to Know
Testability Will this device require an inordinate amount of time, level of effort, and/or test length in order to provide acceptable testing? Require general information about design What are the problem areas in the design where a modification can ease the testing problem? Require detailed information Testability measures might be useful Detailed information may be useful to the above question
7
SCOAP Sandia Controllability and Observability Analysis Program
Testability Sandia Controllability and Observability Analysis Program Compute relative complexity to control and observe Combinational Node Primary input or a combinational standard cell output node Sequential Node Output node of a sequential standard cell
8
SCOAP 6 Numbers for Each Node, N
Testability 6 Numbers for Each Node, N CC0(N): combinational 0-controllability minimum # of combinational nodes to set node N to 0 CC1(N): combinational 1-controllability minimum # of combinational nodes to set node N to 1 SC0(N): sequential 0-controllability minimum # of sequential nodes to justify 0 to node N SC1(N): sequential 1-controllability minimum # of sequential nodes to justify 1 to node N CO(N): combinational observability # of combinational nodes between N and PO and minimum # of combinational nodes to propagate a signal value on N to PO SO(N): sequential observability # of sequential nodes between N and PO and minimum # of sequential nodes to propagate a signal value on N to PO
9
SCOAP Initial Values for PIs and POs Buffers and Inverters PI PO
Testability Initial Values for PIs and POs PI PO CC0(X) CC1(X) SC0(X) SC1(X) CO(X) 0 SO(X) 0 Buffers and Inverters Buffers Inverters CC0(Y) CC0(X)+1 CC1(X)+1 CC1(Y) CC1(X)+1 CC0(X)+1 SC0(Y) SC0(X) SC1(X) SC1(Y) SC1(X) SC0(X) CO(X) CO(Y) CO(Y)+1 SO(X) SO(Y) SO(Y)
10
SCOAP Y = AND (X1, X2) CC0(Y) = min[CC0(X1), CC0(X2)] + 1
Testability Y = AND (X1, X2) CC0(Y) = min[CC0(X1), CC0(X2)] + 1 CC1(Y) = CC1(X1) + CC1(X2) + 1 SC0(Y) = min[SC0(X1), SC0(X2)] SC1(Y) = SC1(X1) + SC1(X2) CO(X1) = CO(Y) + CC1(X2) + 1 SO(X1) = SO(Y) + SC1(X2)
11
SCOAP Fanout CC1(Y) = CC1(X) CC1(Z) = CC1(X)
Testability Fanout CC1(Y) = CC1(X) CC1(Z) = CC1(X) CO(X) = min [CO(Y), CO(Z)]
12
SCOAP Example CC0(A) = CC1(A) = CC0(B) = CC1(B) = CC0(C) = CC1(C) = 1
Testability Example CC0(A) = CC1(A) = CC0(B) = CC1(B) = CC0(C) = CC1(C) = 1 CC0(D) = min [CC0(A), CC0(B)] + 1 = 2 CC1(D) = CC1(A) + CC1(B) + 1 = 3 CC0(E) = CC0(D) + CC0(C) + 1 = 4 CC1(E) = min [CC1(C), CC1(D)] + 1 = 2 CO(E) = 0 CO(D) = CO(E) + CC0(C) + 1 = 2 CO(C) = CO(E) + CC0(D) + 1 = 3 CO(A) = CO(D) + CC1(B) + 1 = 4 CO(B) = CO(D) + CC1(A) + 1 = 4
13
SCOAP Tree Problem in reconvergent fanout Optimistic Error
Testability Tree Good estimate Problem in reconvergent fanout Optimistic Error Want 3/ Pessimistic Error Want 2/2
14
Limitations of Testability Measures
All testability measure have similar simplifying assumptions so that all results are estimates Involves the restricted information source (only circuit topology) Faults which are difficult to test cause problems Testability data provide a relatively poor indication of whether or not an individual fault will be detected by a given test
15
Design for Testability
Difficulty in ATPG Not effective for large sequential circuits Advantages Test generation is easy High quality testing Disadvantages Area overhead Timing overhead
16
Classification of DFT Ad-Hoc Design Structured Design Initialization
Design for Testability Ad-Hoc Design Initialization Adding extra test points Circuit partitioning Structured Design Scan design Scan Path Level Sensitive Scan Design Random Access Scan Boundary Scan Built-in Self Test
17
Ad Hoc Techniques Ad-Hoc Techniques which can be applied to a given product, but are not directed at solving the general problem Cost is lower than that of structured approaches (Scan, BIST, etc.) The job of doing test generation and fault simulation are usually not as simple or as straightforward
18
Test Points Ad-Hoc Employ test points to enhance controllability and observability Large demand on extra I/O pins Example
19
Test Points Ad-Hoc Multiplexing monitor points
20
Test Points Ad-Hoc Use demultiplexer and latch register to implement control points
21
Test Points Ad-Hoc Time sharing I/O ports
22
Test Points Candidates for control points
Ad-Hoc Candidates for control points Control, address, and data bus lines on bus structured designs Enable/hold inputs to microprocessors Enable and read/write inputs to memory devices Clock and preset/clear inputs to memory devices Data select lines to multiplexers and demultiplexers Control lines on tristate devices Candidates for observation points Stem lines associated with signals having lots of fanouts Global feedback paths Redundant signal lines Outputs of logic devices having many inputs Outputs from state devices Address, control, and data buses
23
Initialization Design circuits to be easily initializable
Ad-Hoc Design circuits to be easily initializable Initialization Process bringing a sequential circuit into a known state at some known time Circuits requiring some clever initialization sequence should be avoided Flip-flop with explicit clear Use explicit clear to all FFs
24
Oscillators and Clocks
Ad-Hoc Disable internal oscillators and clocks during test Example A = 0 and B : Test input
25
Partitioning Ad-Hoc Partitioning shift registers into smaller units
26
Partitioning Ad-Hoc Split large counters
27
Partitioning Ad-Hoc Partitioning large circuits into small subcircuits to reduce test generation cost Example T1=0 T2=0 : Normal Mode T1=0 T2=1 : Test C1 T1=1 T2=0 : Test C2
28
Avoid Use of Redundant Logic
Design Rule If a redundant fault occurs, it may invalidate some test for non-redundant faults Such faults cause difficulty in calculating fault coverage Much test generation time can be spent
29
Avoid Global Feedback Paths
Design Rule Provide logic to break global feedback paths Asynchronous circuits other than latches should be avoided when possible Avoid combinational feedback loop
30
Avoid Gated Clock Make sure EN settles before CLK changes
Design Rule Make sure EN settles before CLK changes Or redesign the circuit as follows
31
Bypass Counters Design Rule
32
Avoid Internal Pulse Generator
Design Rule All internal pulse or clock generators should be isolated during test
33
Avoid Cross-coupled NAND/NOR
Design Rule Add logic to make each cross-coupled NAND/ NOR gate behave as a transparent buffer during test
34
Avoid Bus Floating Design Rule Make sure each tristate bus has one pullup register, pulldown register or bus holder
35
Avoid Potential Bus Contention
Design Rule Make sure only one tristate gate is selected at a time
36
Easily Testable Circuits
Testable Design Aimed at developing design techniques that start with a functional specification and results that are easy to test Properties Small test sets No redundancy Tests can be found without much extra work Tests can be easily generated Faults should be locatable to the desire degree
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.