2014-02-21 TDTS 01 Lecture 9 Design for Testability Zebo Peng Embedded Systems Laboratory IDA, Linköping University Lecture 9 The test problems Fault modeling Design for testability techniques Zebo Peng, IDA, LiTH 2 TDTS01 Lecture Notes – Lecture 9 1 2014-02-21 What is Testing? To examine a product to ensure that it functions correctly and exhibits the properties and capabilities it was designed to possess. Automatic Test Equipment Testing is an important activity in the life-cycle of an electronics product. Zebo Peng, IDA, LiTH 3 TDTS01 Lecture Notes – Lecture 9 Life-Cycle of an Electronic System Specification Design Implementation Production Validation Verification Review Inspection Simulation Test Preparation and DFT Production Test Integration Test Testing System Test Operation and Maintenance Zebo Peng, IDA, LiTH 4 TDTS01 Lecture Notes – Lecture 9 2 2014-02-21 Causes of Incorrect Functions Design errors usually consistent Fabrication (manufacturing) errors often consistent, e.g., wrong components usually mistakes by operators Fabrication (manufacturing) defects inconsistent, e.g., impurity of materials defects Physical failures wear-out environmental factors Zebo Peng, IDA, LiTH 5 TDTS01 Lecture Notes – Lecture 9 Defect Example Zebo Peng, IDA, LiTH 6 TDTS01 Lecture Notes – Lecture 9 3 2014-02-21 The Stuck-At Fault Model Every fault in a circuit changes its functionality as if some nodes were steadily tied to either logic 0 or 1. S-A-0 a b c o d Total no of faults = 3 N -1 A single stuck-at model is usually used. That is, we assume that only one node at a time is tied to 0 or 1. Zebo Peng, IDA, LiTH 7 TDTS01 Lecture Notes – Lecture 9 Single Stuck-At (SSA) Fault Model Number of possible faults is small (2N). Capable of representing many different physical faults. Test patterns produced for SSA faults detect also many other faults. Facilitate the use of Boolean algebra mathematics in deriving test patterns. Technology independent. SSA fault coverage remains an established metric for test quality, and is still widely used in the industry. Zebo Peng, IDA, LiTH 8 TDTS01 Lecture Notes – Lecture 9 4 2014-02-21 Bridging Faults An AND-bridging example a b c o AND d Technology dependent (e.g., a short-circuit can lead to an AND-bridging, OR-bridging or dominance-bridging). Faults are related to the placement of the components. Fault activation and propagation are more difficult. Zebo Peng, IDA, LiTH 9 TDTS01 Lecture Notes – Lecture 9 Composition of Costs of Testing Cost of test equipment (hardware): A test controller (usually a computer). Interface drivers and receivers and cable-connections. System of probe-contacts. A controlled environment (e.g., a temperature chamber). Cost of software supports: Test pattern generation programs. Test-design verification procedures (fault simulation and analysis). Testing time: Test development time. Test application time. ATE Zebo Peng, IDA, LiTH 10 TDTS01 Lecture Notes – Lecture 9 5 2014-02-21 Test = Optimization Testing and DFT are optimization problems: To minimize the total test cost, C(x), defined as: Ctest = Cdev + Cappl + Csilicon + Cquality Subject to a set of constraints, Gi(x), i = 1,2, …k test strategy and methods fault coverage requirement power consumption ATE and tool limitation test and DFT engineers … Zebo Peng, IDA, LiTH 11 TDTS01 Lecture Notes – Lecture 9 Types of Testing Production test — testing of individual products to check whether faults are introduced during the manufacturing phase. It is assumed that the design is correct. System test — testing of the product in the environment where it is operating to ensure that it works correctly when interconnected with other components. Burn-in — testing at elevated temperature and voltage to accelerate and detect early life failures. Operation and maintenance test — testing of the product in the filed for diagnosis or "preventive" purpose. Prototype test — testing to check for design faults during the system development phase. Diagnosis is required. Zebo Peng, IDA, LiTH 12 TDTS01 Lecture Notes – Lecture 9 6 2014-02-21 Lecture 9 The test problems Fault modeling Design for testability techniques Zebo Peng, IDA, LiTH 13 TDTS01 Lecture Notes – Lecture 9 Design for Testability (DFT) To take into account the testing aspects during the design process so that more testable designs will be generated. Advantages of DFT: Reduce test efforts. Reduce cost for test equipment. Shorten time-to-market. Increase product quality. Limitations: Hardware overhead, 5-30%, and performance degradation. Increased design complexity. Zebo Peng, IDA, LiTH 14 TDTS01 Lecture Notes – Lecture 9 7 2014-02-21 Controllability and Observability The key to design for testability is the ability to control and observe directly the internal states. Controllability of an internal node - ability to set it to a specific logic value. Observability of an internal node - ability to observe its specific logic value on primary output. S-A-0 a b c o d Zebo Peng, IDA, LiTH 15 TDTS01 Lecture Notes – Lecture 9 Ad Hoc DFT Techniques Good design practices learnt through experience are used as guidelines: OP Test point insertion: C1 C1 a1 o1 C2 CP0 (a) original design C2 CP1 (b) 0/1-injection and observation Very simple. Can be used in principle anywhere. Large overhead of I/O ports (-> multiplexing and addressing) Zebo Peng, IDA, LiTH 16 TDTS01 Lecture Notes – Lecture 9 8 2014-02-21 Ad Hoc DFT Techniques (Cont’d) Design circuits to be initializable. Provide easy reset. Eliminate asynchronous logic. Control/bypass internal clocks and oscillators. Q Q Q Q … Q Q Clock Reset Zebo Peng, IDA, LiTH 17 TDTS01 Lecture Notes – Lecture 9 Ad Hoc DFT Techniques (Cont’d) 0 Redundancy must be avoided or controlled. Stuck-at-0 on X is a redundant fault! a 1b 1 2 01c x stuck-at-0 1 3 0 4 0 z = ab + bc + ac = ab + ac z a b c z A Hazard-Free Circuit High sequential depth should be avoided. Combinational feedback loops should be avoided since they result in additional hidden storage elements. Zebo Peng, IDA, LiTH 18 TDTS01 Lecture Notes – Lecture 9 9 2014-02-21 Disadvantages of Ad-Hoc Methods Experts and tools not always available. Test generation must often be manually performed with no guarantee of high fault coverage. Design iterations may be needed, which is very time consuming. Zebo Peng, IDA, LiTH 19 TDTS01 Lecture Notes – Lecture 9 Structural DFT Techniques Can be applied to any design in a systematic way: Full scan. Partial scan. Boundary scan. Built-in self-test (BIST). Zebo Peng, IDA, LiTH 20 TDTS01 Lecture Notes – Lecture 9 10 2014-02-21 Basic Scan Technique Sequential circuits have poor controllability and poor observability. To address this problem, the flip-flops are connected into a long shift register. PI Combinational part Scan Out PO PI PO Scan Out In test mode, the flip-flops will be controlable and observable. Scan In Scan In Zebo Peng, IDA, LiTH Combinational part 21 TDTS01 Lecture Notes – Lecture 9 Scan Design Circuit is designed using pre-specified design rules. Test structure is added to the completed design: Add a test control (TC) primary input. Replace flip-flops by scan flip-flops (SFF), and connect them to form one or several shift registers in the test mode. Make input/output of each scan shift register controllable/observable from PI/PO. Full scan = all flip-flops are included in the scan path: The problem of ATPG for sequential circuits is reduced to ATPG for combinational ones. Zebo Peng, IDA, LiTH 22 TDTS01 Lecture Notes – Lecture 9 11 2014-02-21 Scan Design Rules Use only clocked D-type of flip-flops for all state variables. At least one PI pin must be available for test; more pins, if available, can be used. All clocks must be controlled from PIs. Clocks must not feed data inputs of flip-flops. Zebo Peng, IDA, LiTH 23 TDTS01 Lecture Notes – Lecture 9 Correcting a Rule Violation All clocks must be controlled from PIs. Comb. logic D1 Q Comb. logic FF D2 CK Comb. logic Q D1 D2 Zebo Peng, IDA, LiTH FF CK 24 Comb. logic TDTS01 Lecture Notes – Lecture 9 12 2014-02-21 Scan Flip-Flop (SFF) Master latch D Slave latch TC Q MUX SD Q CK D flip-flop Master open Slave open CK Normal mode, D selected TC Zebo Peng, IDA, LiTH 25 t Scan mode, SD selected t TDTS01 Lecture Notes – Lecture 9 Scan Overheads IO pins: One pin necessary. Area overhead: Gate overhead = [4 Nff/(Ng + 10 Nff)] x 100%, where Ng = No. of comb. gates; Nff = No. of flip-flops. • Example: Ng = 100k gates, Nff = 2k flip-flops, overhead = 6.7%. More accurate estimate must consider scan wiring and layout area. Performance overhead: Multiplexer delay added in combinational path; approx. two gate-delays. Flip-flop output loading due to one additional fanout; approx. 5-6%. Zebo Peng, IDA, LiTH 26 TDTS01 Lecture Notes – Lecture 9 13 2014-02-21 Partial Scan A subset of FFs is selected for the scan path. Advantages: reduced area overhead. avoid performance degradation. reduced test application time. Disadvantages: design time may increase. need a sequential ATPG tool. need a method for selecting the partial scan subset. Zebo Peng, IDA, LiTH 27 TDTS01 Lecture Notes – Lecture 9 Partial-Scan Architecture PI PO Combinational circuit CK1 FF CK2 FF SCANOUT SFF TC SFF SCANIN Zebo Peng, IDA, LiTH 28 TDTS01 Lecture Notes – Lecture 9 14 2014-02-21 A Partial-Scan Method Select a minimal set of flip-flops for scan to eliminate all cycles. Q Combinational Q Q Q Q Q Alternatively, in order to keep the overhead low, only long cycles will be eliminated. In some circuits with a large number of self-loops, all cycles other than self-loops will be eliminated. Zebo Peng, IDA, LiTH 29 TDTS01 Lecture Notes – Lecture 9 Partial Scan Example Circuit: TLC, 355 gates, 21 flip-flops Scan flip-flops Max. cycle Depth* ATPG Fault sim. Fault length CPU s CPU s cov. ATPG Test seq. vectors length 0 4 14 1,247 61 89.01% 805 805 4 2 10 157 11 95.90% 247 1,249 9 1 5 32 4 99.20% 136 1,382 10 1 3 13 4 100.00% 112 1,256 21 0 0 2 2 100.00% 52 1,190 * Cyclic paths ignored Zebo Peng, IDA, LiTH 30 TDTS01 Lecture Notes – Lecture 9 15 2014-02-21 Summary Testing is mainly used to find physical defects introduced during the manufacturing and operation phases. It is an expensive and complex task, and is becoming more and more difficult with the development of complex systems. Testability must be taken into account at all stages of the design and synthesis process. In particular, early testability consideration prevents costly design iterations. The key to successful testing lies in the design process! Zebo Peng, IDA, LiTH 31 TDTS01 Lecture Notes – Lecture 9 16