Preface Read This First About This Manual This Design for Testability Reference Guide provides information on developing test strategies for ASIC designs. The following list summarizes the chapters of this ASIC document. How to Use This Manual The chapter highlights are presented in the following text. Chapter 1 Introduction to Design for Testability Introduces the subjects of designing for testability in the beginning of the design process, fault simulation, and dc parametric testing Chapter 2 Reasons for Using Design for Testability Discusses the time and money savings achieved by using and integrating design for testability (DFT) early in your design process. Discusses fault grading and fault coverage. Chapter 3 Developing a Testability Strategy Presents strategies for developing testability techniques Chapter 4 Test Pattern Requirements Presents the required and optional TDL pattern types Chapter 5 Ad Hoc Testability Practices Recommends some work-arounds and techniques that are useful for improving your testability iii How to Use This Manual Chapter 6 Structured Testability Practices Discusses the different types of scan design testing Chapter 7 IEEE Standard 1149.1-1990 Provides an overview of the IEEE Std 1149.1 and gives an overview of the boundary-scan architecture Chapter 8 Generic Test Access Port Discusses the generic test access port (GTAP), which is used to enable and disable various DFT features Chapter 9 Parallel Module Test Presents information on parallel module test (PMT), how to use PMT with MegaModules, such as how to test buses and hook up test buses to device pins Chapter 10 Parametric Measurements Discusses using parametric testing to guarantee conformance to electrical data sheets and presents information on the use of boundary-scan, pattern sets, and TDL types Chapter 11 Automatic Test Pattern Generation Presents automatic test pattern generation (ATPG) methodologies, such as path sensitization and full and partial scan Chapter 12 Test Pattern Generation Discusses generating test patterns for use by automated test equipment (ATE) Chapter 13 IEEE Standard 1149.1-Based dc Parametric Testing Discusses what is required in performing IEEE Standard 1149.1-based dc parametric testing Chapter 14 Military ASIC Summarizes military ASIC documents and the location of military-specific design information Appendix A Glossary Contains important ASIC words, phrases, and software tools iv Design for Testability Notational Conventions Notational Conventions This document uses the following conventions. ❏ Program listings, program examples, and interactive displays are shown in a special typeface (called courier) similar to a typewriter’s. Examples use a bold version of the special typeface for emphasis; interactive displays use a bold version of the special typeface to distinguish commands that you enter from items that the system displays (such as prompts, command output, error messages, etc.). Here is a sample program listing: 0011 0012 0013 0014 0005 0005 0005 0006 0001 0003 0006 .field .field .field .even 1, 2 3, 4 6, 3 Here is an example of a system prompt and a command that you might enter: C: ❏ csr -a /user/ti/simuboard/utilities In syntax descriptions, the instruction, command, or directive is in a bold typeface font and parameters are in an italic typeface. Portions of a syntax that are in bold should be entered as shown; portions of a syntax that are in italics describe the type of information that should be entered. Here is an example of a directive syntax: .asect section name, address .asect is the directive. This directive has two parameters, indicated by section name and address. When you use .asect, the first parameter must be an actual section name; the second parameter must be an address. ❏ Square brackets ( [ and ] ) identify an optional parameter. If you use an optional parameter, you specify the information within the brackets; you do not enter the brackets themselves. Here’s an example of an instruction that has an optional parameter: LALK 16-bit constant [, shift] The LALK instruction has two parameters. The first parameter, 16-bit constant, is required. The second parameter, shift, is optional. As this syntax shows, if you use the optional second parameter, you must precede it with a comma. v Information About Cautions and Warnings ❏ Braces ( { and } ) indicate a list. The symbol | (read as or ) separates items within the list. Here’s an example of a list: { * | *+ | *- } This provides three choices: *, *+, or *-. Unless the list is enclosed in square brackets, you must choose one item from the list. ❏ Some directives can have a varying number of parameters. For example, the .byte directive can have up to 100 parameters. The syntax for this directive is: .byte value1 [, ... , valuen] This syntax shows that .byte must have at least one value parameter, but you have the option of supplying additional value parameters, separated by commas. Information About Cautions and Warnings This book may contain cautions and warnings. This is an example of a caution statement. A caution statement describes a situation that could potentially damage your software or equipment. This is an example of a warning statement. A warning statement describes a situation that could potentially cause harm to you. The information in a caution or a warning is provided for your protection. Please read each caution and warning carefully. vi Design for Testability Related Documentation From Texas Instruments Related Documentation From Texas Instruments The following list describes related documents of interest to the Submicron ASIC Products Design for Testability Reference Guide (DFT) and includes corresponding literature numbers. The ASIC TDL 91 Reference, which discusses ASIC TDL 91 version 5.0. The TI Web-based ASIC TDL 91 Reference provides details about a particular tool’s capabilities. For more information on the Web, contact your TI Customer Design Center representative. The ASIC TDL 91 and Scan Designs Reference, which provides informative application examples on ASIC TDL 91 and scan designs. Refer to the TI web-based ASIC TDL 91 and Scan Designs Reference. The Submicron ASIC Products Design for Testability Application Reports, which provide information on designing with a generic test access port (GTAP) (refer to the Web-based Generic Test Access Port Application Report), on the RAM Built-In Self-Test (refer to the Web-based RAM Built-In Self-Test (BIST) Application Report), and on the multiplexed parallel module test (refer to the Web-based Multiplexed Parallel Module Test Application Report). The Submicron ASIC Products Design Software Manual (DSM): TIDSS Design Flow, which describes the Texas Instruments (TI) Design Support Software (TIDSS), Release 5 series design flow. The Web-based TIDSS Tools Reference gives details about the specific capabilities and features of each TIDSS tool. The Web-based TIDSS Tools Reference, which covers the TIDSS tools in depth and supports releases in the TIDSS series. This manual (TIDSS Design Flow) will often refer you to the TI Web-based TIDSS Tools Reference for details about a particular tool’s capabilities. For more information on the Web, contact your TI Customer Design Center representative. The Cadence Design Planner User’s Guide, which explains how to use the Cadence Design Planner floorplanner in the TI Flow. The Submicron ASIC Products Test Synthesis User’s Guide (literature number SRGU002B), which describes the Synopsys Test Compiler, a test tool combining design-for-testability synthesis with automatic test pattern generation. The TGC6000/TEC6000 Web-based Design Rules describes design rules in the flow and provide up-to-date information enabling effective use of tool-specific design rules and the resolution of errors and warnings encountered during the design process. vii Related Documentation From Texas Instruments Submicron ASIC Products Design Software Manual: TIDSS 5.0 Design Flow (literature number SRGU009) takes you through all the design steps needed to hand off a complete and verified design database to Texas Instruments. Submicron ASIC Products Design Software Manual: TIDSS Tools addresses the specifics of each TI software tool that you use in designing your submicron application-specific integrated circuit (ASIC). Available on the Web. Contact your TI Customer Design Center. Submicron ASIC Products Design for Testability Reference Guide (literature number SRUU002F) offers guidelines for developing a coherent approach to integrating testability in the design flow. TGC6000/TEC6000 0.18-µm CMOS Arrays Macro Library Summary (literature number SRGD005) provides accurate electrical and timing specifications for each macro included in the TI TGC6000/TEC6000 family software logic library. TGC6000/TEC6000 Series 0.18-µm CMOS Gate Arrays Family Data Sheet (literature number SRGS025A) summarizes electrical, timing, and packaging information for the macros included in the TI TGC6000/TEC60000 Series software logic library, release 1.0. TGC6000/TEC6000 Series 0.18-µm CMOS Gate Arrays Library Release 1.0 Release Notes (literature number SRGA027) describes the TGC6000/TEC6000 library release 1.0 for HP and Sun platforms. The library can be distributed on tape, either separately or in conjunction with other library releases and/or releases of Texas Instruments Design Support Software (TIDSS) release 5.0. Submicron ASIC Products TIDSS Release 5.0 Release Notes (literature number SRUA021) describes the Texas Instruments Design Support Software (TIDSS) release 5.0. Submicron ASIC Products Design Kit Installation Notes (literature number SRUU018) contains detailed instructions for installing the TGC6000/ TEC6000 library (and TIDSS, if applicable). Submicron ASIC Products Cadence Design Planner User’s Guide (literature number SRSU009) describes the various aspects of the Design Planner floorplanning tool. viii Design for Testability If You Need Assistance If You Need Assistance If you need assistance or to access information on the Internet/Intranet, contact your local TI Customer Design Center representative. Trademarks Advantest is a trademark of Advantest Corporation. ACE, DETECTOR, GOOD, MegaModule, and TI are trademarks of Texas Instruments Incorporated Analyzer, Cadence, Design Planner, Gate Ensemble, LeapFrog, QPlace, SDF, Verilog, Verilog HDL, and Verilog-XL, are trademarks of Cadence Design Systems, Inc. DFTAdvisor, FlexTest, FastScan, Mentor Graphics, and QuickSim II are trademarks of Mentor Graphics Corporation Behavioral Compiler, DC Expert, DC Professional, DesignPower, dont_touch, Power Compiler, Primetime, Synopsys, Synopsys VHDL Compiler, Test Compiler, Test Compiler Plus, VSS, VSS Expert, and VSS Professional are trademarks of Synopsys, Inc. Gemini, IKOS, NSIM, Voyager, and Voyager-FS are trademarks of IKOS Systems, Inc. HP, HP 700, HP 9000, and HP-UX are trademarks of Hewlett-Packard Company IBM is a trademark of International Business Machines Corporation SPARC, SPARC 20, SPARCstations, and UltraSPARC are trademarks of SPARC International, Inc., but licensed exclusively to Sun Microsystems, Inc. Solaris, Sun Sun-5, SunOS, and Sun Workstation are trademarks of Sun Microsystems, Inc. Quad Design, and Sunrise are trademarks of Viewlogic Systems, Incorporated, a subsidiary of Synopsys, Inc. Vitesse is a trademark of Vitesse Semiconductor Corporation EMIS is a trademark of Synercom Technology, Inc. ix Trademarks ICRAMBIST and LogicVision are trademarks of LV Software, Inc. Kevlar and Teflon are trademarks of E.I. DuPont de Nemours & Company MQUAD is a trademark of OIin Corporation Super-Compact is a trademark of Compact Software, Inc. Design VERIFYer is a trademark of Chrysalis Symbolic Design, Inc. Epilog is a trademark of Nextwave Design Automation, Inc. System Realizer is a trademark of Quickturn Design Systems, Inc. x Design for Testability Contents 1 Introduction to Design for Testability 1-1 2 Reasons for Using Design for Testability -1 The Need for Testability ...................................................................................................-2 Test-Time Cost ................................................................................................................-2 Time-to-Market ................................................................................................................-3 Fault Coverage and Cost of Ownership...........................................................................-5 3 Developing a Testability Strategy 3-1 Selecting a Technology..................................................................................................3-2 Committing to Testability Design Practices....................................................................3-3 Establishing a Fault-Grade Requirement.......................................................................3-4 Will IEEE Standard 1149.1 Be a System Requirement? ...............................................3-5 Selecting a Testability Approach Based on Gate Density..............................................3-6 Choosing Structured Tools ............................................................................................3-7 Establishing a Diagnostic Pattern Set to Expedite Debug .............................................3-9 Generating High-Fault-Grade Test Patterns ................................................................3-10 Simulating Test Patterns and Timing ...........................................................................3-11 Converting Test Patterns to TDL .................................................................................3-12 Planning for Test Pattern/Logic Revision Compatibility ...............................................3-13 4 Test Pattern Requirements 4-1 Responsibilities..............................................................................................................4-2 TDL Type Descriptions ..................................................................................................4-3 5 Ad Hoc Testability Practices 5-1 Logic Design With Testability in Mind ............................................................................5-2 Improving Testability Via Unused Pins ..........................................................................5-3 Using Bidirectional Pins.................................................................................................5-4 Initializing the Circuit to a Known State .........................................................................5-5 xi Contents Avoiding Asynchronous Circuitry ...................................................................................5-7 Avoiding Gated Clocks ..................................................................................................5-8 Allowing Internal Clocks to Be Bypassed From Circuit’s Inputs.....................................5-9 Allowing Counters and Dividers to Be Bypassed ........................................................5-10 Splitting Long Counter Paths .......................................................................................5-11 Multiplexing to Provide Direct Access to Logic ............................................................5-12 Breaking Feedback Paths in Nested Sequential Circuits.............................................5-14 Allowing Redundant Circuitry to Be Tested .................................................................5-15 Watching for Signals That Reconverge .......................................................................5-16 Decoupling Linked Logic Blocks ..................................................................................5-17 Johnson Counter Test Signal Generator .....................................................................5-18 Shift Register Test Signal Generator ...........................................................................5-19 Shift Register Used to Obtain Observability ................................................................5-20 6 Structured Testability Practices 6-1 Structured Approaches to Designing for Testability.......................................................6-2 Clocked Scan Flip-Flop Design .....................................................................................6-3 Multiplexed Flip-Flop Scan Design ................................................................................6-5 Clock Skew and Edge-Triggered Flip-Flop Scan ...........................................................6-7 Clocked LSSD Scan Flip-Flop Design ...........................................................................6-8 Guidelines for Flip-Flop Scan Design ..........................................................................6-10 Scan Path Loading on Critical ac Path ........................................................................6-11 Bus Contention and Scan Testing ...............................................................................6-12 Test-Isolation Modules.................................................................................................6-14 Where Scan Is Not Efficient.........................................................................................6-20 7 IEEE Standard 1149.1-1990 7-1 Overview........................................................................................................................7-2 Boundary-Scan Architecture .........................................................................................7-3 8 Generic Test Access Port 8-1 Overview........................................................................................................................8-2 Test Register..................................................................................................................8-3 Test Register—Bit Definitions .......................................................................................8-5 Controller .......................................................................................................................8-7 Communication Protocol ...............................................................................................8-8 9 Parallel Module Test 9-1 Contents xii Contents Parallel Module Test of MegaModules...........................................................................9-2 MegaModule Test Collar................................................................................................9-4 Single MegaModule PMT I/O Hookup ...........................................................................9-5 PMT Test Bus ................................................................................................................9-6 Multiple MegaModule PMT I/O Hookup.........................................................................9-7 PMT for Analog MegaModules ......................................................................................9-9 In-System Use .............................................................................................................9-21 10 Parametric Measurements 10-1 Overview......................................................................................................................10-2 Input Threshold Voltage Levels Using a Clocked NAND Tree (VIH_VIL TDL Type) ....10-4 Output Voltage Levels (DC_PARA TDL Type) ...........................................................10-10 Three-State High-Impedance Measurements (DC_PARA TDL Type) .......................10-11 Input Current Measurements (DC_PARA TDL Type) ................................................10-12 Quiescent Drain Supply Current (IDDQ TDL Type) ...................................................10-13 11 Automatic Test Pattern Generation 11-1 Introduction to Automatic Test Pattern Generation ......................................................11-2 Path Sensitization ........................................................................................................11-5 Full-Scan Designs .......................................................................................................11-6 Partial-Scan Designs ...................................................................................................11-7 Testing and Debugging Considerations .......................................................................11-8 Common ATPG Constraints ........................................................................................11-9 Summary ...................................................................................................................11-10 12 Test Pattern Generation 12-1 Introduction to Testing .................................................................................................12-2 Test Pattern Creation...................................................................................................12-6 TDL Overview............................................................................................................12-13 13 IEEE Standard 1149.1-Based dc Parametric Testing 13-1 Introduction..................................................................................................................13-2 Boundary-Scan Architecture .......................................................................................13-3 Parametric Measurements Using Boundary-Scan Architecture ................................13-10 Integrating Boundary-Scan Architecture and GTAP ..................................................13-18 14 Military ASIC 14-1 Military-Specific Design Information ............................................................................14-2 Military ASIC Topics Cross-Reference ........................................................................14-3 Contents xiii Contents Glossary Index xiv Design for Testability 1 Index-1 Figures 2–1 2–2 2–3 2–4 2–5 2–6 3–1 5–1 5–2 5–3 5–4 5–5 5–6 5–7 5–8 5–9 5–10 5–11 5–12 5–13 5–14 5–15 5–16 5–17 5–18 5–19 5–20 5–21 Fault Grade Versus Development Time ............................................................................-3 Economic Trade-Off for a Testable Design .......................................................................-4 Defect Level Versus Fault Coverage .................................................................................-6 Motorola/Delco Study Results ...........................................................................................-7 ASIC ppm Versus PCB ppm Rate .....................................................................................-8 Cost of Ownership .............................................................................................................-9 Testability Development Flow........................................................................................3-14 Observing an Internal Node.............................................................................................5-3 Test Signal Injection ........................................................................................................5-3 Bidirectional Pins Giving Access to Internal Nodes .........................................................5-4 Uncontrollable State Machine..........................................................................................5-5 Using Clear to Add Controllability ....................................................................................5-6 Add Clock to Asynchronous Latch...................................................................................5-7 Gated Clock and Alternative ............................................................................................5-8 Bypass Internal Clock Generators ...................................................................................5-9 Bypass Counters and Dividers ......................................................................................5-10 Long Counter Path Divided for Testing..........................................................................5-11 Multiplexing an Output Pin to Improve Observability .....................................................5-12 Multiplexing an Input Pin to Improve Controllability .......................................................5-12 Multiplexing Both Inputs and Outputs to Improve Testability.........................................5-13 Example of Unobservable Flip-Flop Outputs .................................................................5-13 Flip-Flop Outputs Made Observable With a Multiplexer ................................................5-13 Nesting of Sequential Circuits........................................................................................5-14 Redundant Circuitry .......................................................................................................5-15 Reconverging Signals....................................................................................................5-16 Decouple Circuit Blocks.................................................................................................5-17 Johnson Counter to Minimize Test Pins ........................................................................5-18 Test Signal Generator Using a Shift Register................................................................5-19 xv Figures 5–22 6–1 6–2 6–3 6–4 6–5 6–6 6–7 6–8 6–9 6–10 6–11 6–12 6–13 6–14 6–15 7–1 7–2 7–3 8–1 8–2 8–3 8–4 9–1 9–2 9–3 9–4 9–5 9–6 9–7 9–8 9–9 9–10 9–11 9–12 9–13 10–1 Shift Register Adding Observability to Buried Nodes ....................................................5-20 Clocked Scan Flip-Flop....................................................................................................6-3 Clocked Scan Flip-Flop Circuit Interconnect....................................................................6-4 Multiplexed Scan Flip-Flop ..............................................................................................6-5 Multiplexed Flip-Flop Scan Path ......................................................................................6-5 Clocked LSSD Scan Flip-Flop ........................................................................................6-8 Clocked LSSD Scan Flip-Flop Circuit Interconnect ........................................................6-9 Isolate Scan Path Loading.............................................................................................6-11 Bus Contention Hazard..................................................................................................6-12 Scan 3-State Disabling Logic.........................................................................................6-13 Partition Into Test-Isolation Blocks ................................................................................6-14 Multiple Clocked Scan Flip-Flop Scan Paths.................................................................6-16 Multiple Multiplexed Flip-Flop Scan Paths.....................................................................6-17 Multiple Clocked LSSD Scan Paths...............................................................................6-18 Scan Vectors for Multiple Scan Blocks ..........................................................................6-19 Scan Path Around a Function........................................................................................6-20 Boundary-Scan Architecture............................................................................................7-4 General-Purpose Boundary-Scan Macro.........................................................................7-6 Boundary-Scannable PCB...............................................................................................7-7 GTAP Block Diagram.......................................................................................................8-2 TP000 (Test Register Building Block)..............................................................................8-3 Typical Test-Register Architecture...................................................................................8-4 GTAP-Controller State Transition Diagram .....................................................................8-9 GTAP-Controlled PMT Block Diagram ............................................................................9-3 MegaModule With a Test Collar ......................................................................................9-4 Single MegaModule PMT ................................................................................................9-5 PMT Test Bus Hookup.....................................................................................................9-8 PMT for a Single Analog-to-Digital Converter................................................................9-10 PMT for a Single Video Band Analog-to-Digital Converter ............................................9-11 PMT for Multiple Analog-to-Digital Converters ..............................................................9-13 PMT for Multiple Video Band Analog-to-Digital Converters...........................................9-14 PMT for a Single Video Band Digital-to-Analog Converter ............................................9-16 PMT for Multiple Digital-to-Analog Converters ..............................................................9-17 PMT for Multiple Video Band Digital-to-Analog Converters...........................................9-18 PMT for a Single Differential Amplifier...........................................................................9-19 PMT for Multiple Differential Amplifiers..........................................................................9-20 Clocked NAND Tree Circuit (Dedicated Control Pins)...................................................10-5 Contents xvi Figures 10–2 10–3 11–1 11–2 12–1 12–2 12–3 12–4 12–5 12–6 12–7 12–8 12–9 12–10 13–1 13–2 13–3 13–4 13–5 13–6 13–7 13–8 13–9 13–10 CMOS ASIC NAND Tree Configurations.......................................................................10-7 Clocked NAND Tree Circuit (Shared Control Pins) .......................................................10-8 Typical Design Flow.......................................................................................................11-3 Typical ATPG Flow ........................................................................................................11-4 Synchronous Pattern for Use During Functional Test ...................................................12-3 ATE Block Diagram .......................................................................................................12-4 Tester Period Slip ..........................................................................................................12-5 Input Delay Groups........................................................................................................12-7 Definition of TDL Clocks ................................................................................................12-8 Minimum Clock Width ....................................................................................................12-9 TDL Output Strobe Placement.....................................................................................12-10 Simulation Tester Loads ..............................................................................................12-11 Waveform Representation of the Sample TDL ............................................................12-15 Relationship Between Test Vectors and Corresponding Logic Waveforms ................12-17 IEEE Standard 1149.1 Hardware Block Diagram ..........................................................13-3 A Simplified View of the Boundary-Scan Register.........................................................13-4 Boundary-Scan Cell.......................................................................................................13-5 TAP Controller State Diagram .......................................................................................13-7 Boundary-Scan Registers and GTAP Test Register Hardware ...................................13-19 GTAP Test Register Architecture ................................................................................13-20 Test Register Load Timing Diagram ............................................................................13-21 TCK-to-Master/Slave Clock Interface Circuit ...............................................................13-21 TDO Input Circuit for Test Activation ...........................................................................13-22 Example TST_ENBL Circuit ........................................................................................13-22 Contents xvii Tables Table 4–1 8–1 8–2 10–1 10–2 10–3 12–1 13–1 14–1 Page TDL Pattern Set Requirements Summary ................................................................. 4-5 Example Test-Register TP000 Assignments ............................................................. 8-5 Example Test-Register Test-Selection Codes............................................................ 8-6 Toggle States ........................................................................................................... 10-3 VIL/VIH Test Patterns (Dedicated Control Pins) ...................................................... 10-6 VIH_VIL Test Patterns (Shared Control Pins).......................................................... 10-9 Commonly Used TDL Logic State Characters......................................................... 12-15 Parametric Test Resources ................................................................................... 13-10 Military ASIC Topics Cross-Reference ................................................................... 14-4 xviii Chapter 1 Introduction to Design for Testability Testability is the concern most often voiced by Texas Instruments (TI) application specific integrated circuit (ASIC) users. This document is intended to consolidate TI policies into a coherent approach to designing for testability. It is not intended as a specification, but as a guide you can use for developing test strategies when designs are being initiated. Adoption of design-for-testability principles early in the design process ensures the maximum testability for the minimum effort. These guidelines emphasize that test is a part of the design flow, not a process that is performed at the end of the design cycle. Designing testability into any circuit affects the hardware to some degree. Additional logic usually must be added. This additional logic increases the amount of silicon required to implement the design. The savings from enhanced testability do not typically show up until the cycle time and cost of testing a circuit and its end system are analyzed. Fault simulation is an important part of designing for testability. This technique enables you to evaluate your test patterns to determine whether these patterns can detect faults. Faults can occur during either the design tooling stage or the circuit fabrication stage. A fault simulator uses fault models, such as a node shorted to power (stuck-at-one) or a node shorted to ground (stuckat-zero), and compares the response of a fault-free circuit with the response of a faulty circuit. If the response of the fault-free circuit is different than the response of the faulty circuit, the test patterns detect the fault. 1-1 By faulting all the nodes in the circuit, the fault simulator produces the test pattern fault coverage. The fault coverage is the percentage of faults detected among the total faults tested. The higher the fault coverage, the better the test pattern separates a faulty circuit from a fault-free circuit. After determining which faults have not been detected by the current set of test patterns, you can generate additional test patterns to detect these faults. The higher the fault coverage of the pattern set (often called fault grade), the greater the probability of obtaining only fault-free circuits. The dc parametric testing ensures that a fault-free circuit conforms to the electrical data sheet. The pattern set for dc parametric testing should provide one hundred percent toggle of all I/Os. The IDDQ (quiescent drain supply current) testing ensures a circuit is free from defects such as resistive bridging or partial gate punch through. Stuck-at-1 or stuck-at-0 often cannot detect defects of these types. 1-2 Design for Testability Chapter 2 Reasons for Using Design for Testability This chapter explains how design-for-testability principles ultimately save money and time when an ASIC design is created and manufactured. Topic Page The Need for Testability . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2–2 Test-Time Cost . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2–2 Time-to-Market . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2–3 Fault Coverage and Cost of Ownership . . . . . . . . . . . . . . . . . . . . 2–5 2-1 The Need for Testability 2.1 The Need for Testability Most engineers involved in the design of ASIC devices are familiar with the trade-offs between gate arrays, standard cells, and full custom devices. They are also familiar with the vendor selection process. The aspect of test capability and testability is often overlooked. In the past, testability could be ignored when typical designs were a few thousand gates. These designs were implemented first and then turned over to a test engineer or to a vendor to force a test program for production. As design complexities increased, this approach to testing became futile. Now, successful high-density ASIC design and manufacturing demand that circuits be designed with testability incorporated into the process. A designer often sees testability as having only a negative impact on performance and area. Although testability imposes additional constraints in the design phase, these constraints are unmanageable only if ignored until the design is completed and testability is handled as a post-design insertion. In fact, the design constraints are overwhelmingly balanced by improved testability, which adds value to the device throughout manufacturing and system life. 2.2 Test-Time Cost Test cost, as it relates to time, is a simple calculation. Most commercial testers cost between $2 million and $3 million. Under normal circumstances, the tester depreciation, plant, operator, and support personnel costs are between $.10 and $.20 per test second. Brute-force test approaches often generate a large number of test patterns. Because test patterns are run at multiple power supply values and possibly at multiple temperatures, inefficient pattern sets can severely impact the test costs of a complex ASIC device. 2-2 Design for Testability Time-to-Market 2.3 Time-to-Market Surveys indicate that 40 percent of the development cycle time for an ASIC device is required for test insertion and test pattern generation. This figure is expected to increase as device complexity increases. The intent of a designfor-testability (DFT) strategy is to achieve high-fault-detection test programs in reduced time (Figure 2–1). The obvious cycle-time reductions result from designed-in testability (elimination of iterative redesigns resulting from poor design practices), and from automatic test pattern generation (ATPG). Figure 2–1. Fault Grade Versus Development Time 100 With DFT Strategies Fault Grade % 80 60 Without DFT Strategies 40 20 0 Hours Days Weeks Months Time to Develop Test Patterns Figure 2–2 shows the economic relationship between time-to-market and system manufacturing and field maintenance costs. Point 1 represents the case where market entry timing forces a constraint on the development time. Because 40 percent of this time is expended in inserting testability, the temptation is to rush to market with devices that are not completely testable or tested. The result is higher than desirable manufacturing and field maintenance cost. Point 2 represents the case where DFT and ATPG techniques are employed to develop devices that are completely tested. This situation allows an economic optimum that is more favorable to long-term manufacturing and field-maintenance costs. Reasons for Using Design for Testability 2-3 Time-to-Market Figure 2–2. Economic Trade-Off for a Testable Design } Without DFT Strategy Economic Optimum 1 Cost $ Economic Optimum 2 } With DFT Strategy Manufacturing and Field Cost Fault Coverage % Development and Time-to-Market Cost Total Cost A less obvious result of a DFT strategy is the reduction of debug time. You, as an ASIC designer, must make certain assumptions about system requirements. Often a new device does not work in the system environment and requires debugging. If the device is designed for controllability and observability access, the debugging process is enhanced. Conversely, if these two features are overlooked, debugging and manufacturing can be significantly harder to accomplish, if not impossible. Oscilloscopes and waveform analyzers are not very effective in debugging systems using complex ASIC devices in a surface-mount environment. 2-4 Design for Testability Fault Coverage and Cost of Ownership 2.4 Fault Coverage and Cost of Ownership Figure 2–2 on page 2–4 shows the trade-off between time-to-market and manufacturing and field-maintenance costs. The horizontal factor on this figure is fault coverage. The relationship between fault coverage and devicedefect level is well documented. Figure 2–3 is a plot of the relationship modelled by T.W. Williams1 for fault coverages of 90 percent or greater. The model developed by Williams is expressed by the following equation: D = [1 – Y (1 – T) ] × 100 where: D = Defect level in percent Y = Theoretical functional process yield T = Fault coverage of the test program used 1. T. W. Williams and N. C. Brown, “Defect Level as a Function of Fault Coverage,” IEEE Transactions on Computers, C-30(12), December 1981, pp. 987-988. Reasons for Using Design for Testability 2-5 Fault Coverage and Cost of Ownership Figure 2–3. Defect Level Versus Fault Coverage 7 50% 6 Defect Level % 5 60% 4 70% 3 80% 2 90% 1 0 90 91 92 93 94 50% Process YLD — 6.7 6.04 5.39 4.74 4.07 60% Process YLD — 4.98 4.48 4 70% Process YLD — 3.5 80% Process YLD — 90% Process YLD — 95 96 97 98 99 100 3.41 2.73 2.08 1.38 0.89 0 3.51 3.02 2.52 2.02 1.52 1.01 0.51 0 3.16 2.81 2.47 2.12 1.77 1.42 1.06 0.71 0.36 0 2.21 1.99 1.77 1.55 1.33 1.11 0.89 0.67 0.45 0.22 0 1.05 0.94 0.84 0.73 0.63 0.32 0.21 0.11 0 0.53 0.42 Fault Coverage % To explore the Williams model briefly, assume that the ASIC vendor has a silicon and assembly process yield that is 70 percent. If the fault grade of the test program is also 70 percent, the defect level is projected to be 10.1 percent or 101000 ppm (parts per million) (This is outside the limits of the chart and was calculated.). At a fault grade of 90 percent, the defect level is projected to be 3.5 percent, or 35000 ppm. A study of the model shows that the process yield becomes an insignificant term when the fault coverage of the test program is very close to 100 percent. Motorola and Delco2 performed a study in 1980 that supports the Williams model. Their experimental results are shown in Figure 0-4. A fault coverage of 99.9 percent was required to obtain defect levels in the range of 100 ppm. 2. Harrison, Holzworth, Motz of Delco and Daniels Thomas, Weimann of Motorola, September 1980. 2-6 Design for Testability Fault Coverage and Cost of Ownership Figure 2–4. Motorola/Delco Study Results 100000 Defect Level ppm 10000 1000 100 10 90 99 99.9 Fault Coverage % Figure 2–5 shows the maximum allowable ASIC defect rate to achieve a goal PCB (printed circuit board) defect rate as a function of the number of ASIC devices per board assembly. Note that for multiple-device PCB designs, a goal of 500 ppm requires ASIC defect levels in the range of 100 to 200 ppm. Reasons for Using Design for Testability 2-7 Fault Coverage and Cost of Ownership Figure 2–5. ASIC ppm Versus PCB ppm Rate 600 Number of ASICs Per Board 1 ASIC ppm Rate 500 400 300 2 200 3 4 5 10 20 100 0 100 0 200 300 400 500 600 Goal PCB ppm Rate The theoretical and experimental studies conclude that a high-fault-grade test pattern set is required for low-defect-level ASIC devices. This type of pattern set is nearly impossible to obtain through manual brute-force means. The requirements for a high-fault-grade pattern set are: ❏ ❏ ❏ ATPG tool Fault grader A testable design that meets the constraints of the ATPG tool As stated earlier in this document, a design-for-testability strategy has performance and area costs. Now the cost of new tools has been added. Benefits such as lower test costs and reduced time-to-market have been mentioned. These benefits are real but often hard to quantify. Reduced cost of ownership is another major benefit and is easy to quantify. Figure 2–6 shows what is commonly referred to as the cost-of-ownership order-of-magnitude relationship. It says that each company has a cost associated with finding a defect in a packaged device before it has entered the assembly process. This cost can be calculated easily. The cost of finding a defective device after assembly onto a PCB is an order of magnitude more than it is before assembly. This continues until the cost to discover a defective device in a system at a customer’s site is three orders of magnitude greater 2-8 Design for Testability Fault Coverage and Cost of Ownership than that of discovery before assembly onto a PCB. The lowest cost of ownership is to find defective units before they are shipped from the vendor. Figure 2–6. Cost of Ownership Customer Site Discovery Site System PCB Package Device 0 1X 10X 100X 1000X Cost of Defect Discovery Multiplier The previous discussions have lead to the conclusion that the lowest cost of ownership can be obtained by providing the ASIC vendor with an efficient high-fault-detection set of test vectors. These DFT methodologies provide lower cost of ownership with the added benefit of reducing the time-to-market. Reasons for Using Design for Testability 2-9 Fault Coverage and Cost of Ownership 2-10 Design for Testability Chapter 3 Developing a Testability Strategy You should now be aware of the benefits of having a testable circuit and have a general awareness of testability techniques. This chapter presents a methodology for developing a testability strategy for your circuits. The process involves making decisions based upon your application. The following strategies, listed by section, step you through the process of testability. Topic Page Selecting a Technology . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3–2 Committing to Testability Design Practices . . . . . . . . . . . . . . . . . 3–3 Establishing a Fault-Grade Requirement . . . . . . . . . . . . . . . . . . . 3–4 Will IEEE Standard 1149.1 Be a System Requirement? . . . . . . . 3–5 Selecting a Testability Approach Based on Gate Density . . . . . . 3–6 Choosing Structured Tools . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3–7 Establishing a Diagnostic Pattern Set to Expedite Debug . . . . . 3–9 Generating High-Fault-Grade Test Patterns . . . . . . . . . . . . . . . . . 3–10 Simulating Test Patterns and Timing . . . . . . . . . . . . . . . . . . . . . . 3–11 Converting Test Patterns to TDL . . . . . . . . . . . . . . . . . . . . . . . . . . 3–12 Planning for Test Pattern/Logic Revision Compatibility . . . . . . . 3–13 3-1 Selecting a Technology 3.1 Selecting a Technology When selecting a technology or vendor, make sure there is enough performance and gate-count margin to allow the insertion of testability. Make an early recognition that you need a 10 percent ac margin and a 10 percent to 15 percent gate-count margin. An optimized testability library to support techniques such as parallel module test (PMT), scan, and IEEE Standard 1149.1-1990, IEEE Standard Test Access Port (TAP) and Boundary-Scan Architecture (JTAG) can reduce the impact of inserting testability features. Chapter 7, IEEE Standard 1149.1-1990, describes the standard. Failure to allow for technology margins puts you in a continual state of compromise. The result can be a circuit with a low purchase price that has a high cost of ownership through manufacturing because it is untestable. 3-2 Design for Testability Committing to Testability Design Practices 3.2 Committing to Testability Design Practices Follow the guidelines listed here to ensure sound testability practices: ❏ Commit to using the testability design practices presented here. ❏ Review the testability design practices with the design team before beginning the design. ❏ Add a testability commitment to the design requirements documents. ❏ Make testability audits part of the design review process. Developing a Testability Strategy 3-3 Establishing a Fault-Grade Requirement 3.3 Establishing a Fault-Grade Requirement The fault-grade requirement can usually be provided by the manufacturing or quality organization. Establish this requirement before the first design review. Add the fault-grade requirement to the design requirements document. This requirement drives many of the decisions that follow in the development of the test strategy. Many companies consider the fault-grade requirement to be an index of device cost of ownership. Failure to achieve it costs profits throughout the lifetime of the device. Therefore, a waiver of the fault-grade requirement should be formal and require management approval. 3-4 Design for Testability Will IEEE Standard 1149.1 Be a System Requirement? 3.4 Will IEEE Standard 1149.1 Be a System Requirement? When implemented in an ASIC device, IEEE Standard 1149.1 allows measurement of the interconnect between devices on a PCB through a fourpin bus. If IEEE Standard 1149.1 is selected, the four dedicated test pins can be used to control test techniques such as parallel module test and scan. Remember IEEE Standard 1149.1 is not a device test methodology. If there is a design requirement to simplify PCB testing, you should use all the resources available in the instruction register to control testing circuits. Developing a Testability Strategy 3-5 Selecting a Testability Approach Based on Gate Density 3.5 Selecting a Testability Approach Based on Gate Density The following strategies can be used to select a testability approach based on gate density. ❏ Designs with fewer than 10K gates Designs with fewer than 10K gates are not generally complex enough to require structured test approaches. The overhead impact is usually too high to justify them. Nonstructured design practices are usually sufficient. Parallel module test should be used to test embedded memories. Structured techniques, such as scan, can reduce test program generation time and allow high fault grades. These benefits make scan desirable even on low-density designs. ❏ Designs with more than 10K gates but fewer than 20K gates Structured techniques should be considered for designs in this density range. Nonstructured design practices are probably sufficient for highly combinatorial circuits without memory. Structured approaches should be considered as complexity is increased by the addition of sequential circuits, feedback, and memory. Consider scan for reduced cycle times and high fault grades. ❏ ❑Designs with more than 20K gates The complexity of circuits with this density usually requires structured approaches to achieve high fault grades. At this density, it is often hard to control or observe deeply embedded circuits. The overhead associated with structured testability approaches is acceptable at this density. 3-6 Design for Testability Choosing Structured Tools 3.6 Choosing Structured Tools Built-in self-test (BIST) or parallel module test (PMT) can be used to test RAM MegaModules. PMT is the most appropriate method for other MegaModules. This method provides the best high fault coverage and diagnostic capability. PMT reduces test time by eliminating the need to propagate test-control signals and circuit-response signals through complex surrounding logic to external pins. Design cycle time is also improved with PMT because TI provides test patterns for MegaModule functions. Scan is the preferred structured approach for sequential logic. The available scan choices are: ❏ ❏ ❏ ❏ ❏ ❏ Clocked scan Multiplexed flip-flop scan Level-sensitive scan design (LSSD) Clocked level-sensitive scan design Parallel scan paths Partial scan The choice between scan approaches is a trade-off between the impact on area and ac performance. The scan approach chosen should be used exclusively. Mixing scan approaches in the same device is not recommended. 3.6.1 Clocked Scan A clocked scan flip-flop has separate clock and data inputs for scan and system-mode operation. It also has separate data outputs for scan and system-mode operation. The clock-to-scanout propagation delay is purposely slowed. This reduces the chance of skew in the scan clock distribution network that could cause timing race conditions in the scan path. The separate scanout output isolates the loading of the scan-path routing from the system mode output. Clocked scan is a suitable choice for partial scan designs. This scan style uses a separate clock for scan and system-mode operation. This clock separation means that nonscan flip-flops are not clocked during the scan operation. 3.6.2 Multiplexed Flip-Flop Scan A multiplexed flip-flop scan element consists of a flip-flop with a single clock and a 2:1 multiplexer at the data input. This scan style relies on minimal clock Developing a Testability Strategy 3-7 Choosing Structured Tools skew in the clock distribution network to prevent timing race conditions in the scan path. Multiplexed scan is not a good choice for partial scan designs. This scan style uses a common clock for scan and system-mode operation. This clock sharing means that nonscan flip-flop clock inputs must be gated to disable them during the scan operation. 3.6.3 Level-Sensitive Scan Design (LSSD) Level-sensitive scan design (LSSD) is implemented with a level-sensitive register latch. Nonoverlapping, two-phase clocks are required. This device does not contain hazards or race conditions. The LSSD scan adapts well to partial scan designs. 3.6.4 Clocked Level-Sensitive Scan Design A clocked LSSD latch has separate clock and data inputs for scan- and system-mode operation. It also has separate data outputs for scan- and system-mode operation. The separate scan outputs isolate the system-mode data output from the scan-mode circuit loads. Clocked LSSD adapts well to partial scan design. 3.6.5 Parallel Scan Paths The length of scan paths should be considered because of test time. For example, a single path of 2000 scan registers requires 2000 tester periods to load. Four paths of 500 scan registers can be loaded in parallel in 500 tester periods. 3.6.6 Partial Scan While scan paths can convert sequential circuits into combinatorial circuits for testing, this procedure adds overhead and degrades performance. The ATPG tool may be the driving force in making the scan decision. Partial scan could be a good decision, if you follow good design practices and have an ATPG tool that can handle partial scan. In these cases, scan elements could be omitted from portions of the design that cannot tolerate the performance impact of scan. 3-8 Design for Testability Establishing a Diagnostic Pattern Set to Expedite Debug 3.7 Establishing a Diagnostic Pattern Set to Expedite Debug Establishing a diagnostic functional pattern set is an important step in decreasing the time-to-market for an ASIC device. The purpose of this pattern set is to isolate circuitry for analysis. The approach varies among types of applications. Key architectural blocks to isolate are memory control, state machines, and bus control. The isolation needs to be sufficient to allow simulation analysis to determine whether a fault is design, test pattern, or fabrication-related. At this point you need to establish whether ac critical path measurements are required as part of the production testing. The ac critical path pattern sets should be chosen based on system requirements. Developing a Testability Strategy 3-9 Generating High-Fault-Grade Test Patterns 3.8 Generating High-Fault-Grade Test Patterns The fault grade of a test pattern set determines the best possible quality level attainable with that set of patterns. The development of a high-fault-grade set of test patterns should come in three stages. Stage 1: Develop a set of functional patterns. You should develop these in the logic-simulation stage of design. Added to these are the diagnostic test patterns developed for debug analysis. The functional and diagnostic patterns need to be fault graded. This forms the starting point for automatic test pattern generation (ATPG). Stage 2: Use ATPG for the highest possible fault grade. A high fault grade in a short cycle time is possible if the development team has followed a testability strategy and has complied with the following guidelines: ■ ■ ■ Designed a device with controllability and observability Selected a quality ATPG tool Followed guidelines imposed by the ATPG tool Stage 3: Generate a dc leakage test. The classic stuck-at fault model is used by the ATPG tool, but it does not represent some types of CMOS faults. The dc leakage testing, often referred to as IDDQ testing, is useful in supplementing stuck-at testing. Implementing IDDQ testing requires a test mode to turn off all circuits that produce dc current, such as pullup and pulldown resistors. 3-10 Design for Testability Simulating Test Patterns and Timing 3.9 Simulating Test Patterns and Timing Two types of simulation are required during development. Logic simulation verifies both functionality and performance of the device. Test pattern simulation produces the information needed to verify the test patterns in a tester environment. Testers are synchronous systems that require all input patterns to be changed at fixed points within the test cycle. Normally, with the exception of primary clocks, input signals can change only near the beginning of each test cycle. The duration of the test cycle varies from system to system and determines the upper frequency limit at which a device can be tested. Typically, however, there are other limitations that establish the testing frequency. TI provides a tester constraints table in the test chapter of each productspecific design manual (see Related Documentation From Texas Instruments, p. viii) that summarizes these limitations. Additional requirements include the following: ❏ The tester load must be applied to the output. ❏ The tester slew must be applied to the input. ❏ Each TDL pattern set must contain initialization vectors. ❏ Simulations must be run at both the minimum and the maximum propagation delays in the device macro library. ❏ Inputs and outputs must satisfy the test description language (TDL) timing restrictions provided by TI. Developing a Testability Strategy 3-11 Converting Test Patterns to TDL 3.10 Converting Test Patterns to TDL The testers are programmed using TDL. TDL is a TI-developed test language used as a source input to program automated test equipment. The TDL contains a set of test vectors. Test vectors define input signals and expected output signals. Each test vector defines a test period of fixed duration. The entire test program defines a set of sequential test periods that perform a logic verification of the device being tested. 3-12 Design for Testability Planning for Test Pattern/Logic Revision Compatibility 3.11 Planning for Test Pattern/Logic Revision Compatibility The most frustrating experience is to debug a problem generated by human error. Development is a dynamic process. Make provisions in your testability strategy to ensure that design revisions drive any necessary test program revisions. Functional equivalent design revisions can affect timing and ATPG tool pattern sets. The most common cause of test-program-related problems at ASIC vendors is out-of-date pattern sets. Developing a Testability Strategy 3-13 Planning for Test Pattern/Logic Revision Compatibility Figure 3–1. Testability Development Flow Pick a technology vendor Commit to good testability design practices Establish a fault-grade requirement Yes IEEE Std 1149.1 required for PCB? No Yes Density = Gates Gates < 10K Review IEEE Std 1149.1 No Yes 10K < Gates < 20K No Consider Scan Recommend Scan Choose structured approach PMT Scan BIST Develop diagnostic pattern sets and locate critical paths Develop high-fault-grade pattern sets Generate test description language Simulate test patterns and timing Have a system to ensure test patterns are compatible with logic revisions Minimum time-to-market 3-14 Design for Testability Chapter 4 Test Pattern Requirements This chapter summarizes the Texas Instruments test pattern requirements. Topic Page Responsibilities . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4–2 TDL Type Descriptions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4–3 4-1 Responsibilities 4.1 Responsibilities You have the responsibility to provide a set of required test patterns to TI. These test patterns are used to perform dc parametric testing, logic verification, and propagation delay tests. TI accepts additional usergenerated patterns on a limited basis. The test patterns for handoff to TI must be described in TDL format. TDL stands for test description language and is the test pattern format accepted by TI’s internal set of tools. The contents of each TDL set must conform to a set of test flow constraints. See Test Pattern Generation on page 12–1 for information on test pattern generation details. The design’s testability schemes determine which TDL sets are required. Presently, three testability schemes are supported by TI ASIC: ❏ ❏ ❏ Scan TI parallel module test (PMT) for MegaModule testing Built-in self-test (BIST) A set of TDL types has been defined by TI ASIC to identify the functions of each TDL to the set of internal tools. For example, a TDL set written to facilitate dc parametric and IDDQ tests would be assigned the DC_PARA and IDDQ TDL types. 4-2 Design for Testability TDL Type Descriptions 4.2 TDL Type Descriptions The following subsections present the required and optional TDL types for scan, BIST, and PMT types. All TDLs are stand alone (meaning they contain initialization vectors). 4.2.1 Required TDL Pattern Sets The following three TDL sets are required for each design, regardless of the testability scheme used: DC_PARA TDL used to facilitate dc I/O parametric testing. Each buffer is toggled to all available input and/or output states. To reduce test time, a minimum number of vectors is desired. FUNC TDL used to verify the logic function IDDQ TDL used to facilitate static IDDQ testing At least one propagation delay measurement is required per design. The FUNC or DC_PARA TDL can be used to facilitate a propagation delay test by the insertion of an ASIC_TEST statement with the PROP keyword into the test vectors. 4.2.2 TDL Pattern Sets for Scan Products implementing scan require the following additional TDL sets: 4.2.3 SCAN TDL used to verify logic integrity. A SCAN TDL set can replace the requirement for a FUNC TDL set. SCANCHK TDL used to check scan path integrity. Each scan path is checked individually, and a fixed set of states is loaded/ unloaded for each scan register. TDL Pattern Sets for BIST Products implementing BIST require the following additional TDL set: BIST TDL that executes built-in self-test. If a BIST TDL fails, a DIAGNOST TDL set may be required to identify the root cause of the failure. Test Pattern Requirements 4-3 TDL Type Descriptions 4.2.4 TDL Pattern Sets for PMT Products that implement PMT have the following additional TDL sets provided by TI. 4.2.5 ANALOG_<name> TDL used to verify analog MegaModule functions PMT TDL used to verify MegaModule logic functions PMTSETUP TDL used to initialize the generic test access port (GTAP) controller to select a target MegaModule for test PMT_SIM TDL used to validate PMT MegaModule hookup to the package pins. This TDL is not run on the tester (ATE). Optional TDL Pattern Sets The following are optional TDL sets. BIST_AC TDL used to verify timing requirements. If a BIST_AC TDL fails, a DIAGNOST TDL set may be required to identify the root cause of the failure. DIAGNOST TDL that provides traceability of functional failures to specific logic blocks. A DIAGNOST TDL set is applied during nonproduction testing. FUNC_AC TDL used to verify timing requirements GTAPCHK TDL used to check the GTAP register scan path integrity SCAN_AC TDL used to verify timing requirements. Patterns are run at LOGIC VERIFICATION frequencies. All other AT-SPEED constraints apply. TURNOFF TDL used to deactivate the CMOS dc current producers in designs with dc turnoff capability VIH_VIL TDL used to facilitate dc input threshold testing. The inputs are tested one at a time by means of a NAND tree or IEEE Std 1149.1. TDL is stand alone. TI will accept a VIH_VIL test waiver instead of a VIH_VIL pattern set. TI uses the customer-provided TDL to automatically generate the tester program. The TDL is first subjected to a quality check to verify that it conforms 4-4 Design for Testability TDL Type Descriptions to the constraints of the test operation. Syntax and conformance to tester constraints are verified by the TI TDL rule checking tool called TDLCHKR. The TDL timing checks are performed on a simulator. The PMT TDL sets are added to the QC-verified customer-generated patterns. The combined pattern sets are then converted to a tester program by a software package called AUTOGEN. Table 4–1 summarizes the TDL pattern set requirements. Refer to the test chapter of the product-specific design manual to see the test pattern rate and other test constraint data. Table 4–1. TDL Pattern Set Requirements Summary Test Constraint Category Required Optional Prop Delay Option (see Notes: 1) DC_PARA ✓ - ✓ ✓ - FUNC ✓ - ✓ ✓ - IDDQ ✓ - ✓ ✓ - BIST - ✓ ✓ ✓ - BIST_AC - ✓ - - ✓ DIAGNOST - ✓ ✓ N/A N/A FUNC_AC - ✓ - - ✓ GTAPCHK - ✓ ✓ ✓ - SCAN - ✓ ✓ ✓ - SCANCHK - ✓ ✓ ✓ - SCAN_AC - ✓ - - ✓ (see Note TDL Type dc Parametric and Logic Verification AtSpeed Notes: 2) TURNOFF - ✓ ✓ ✓ - VIH_VIL - ✓ ✓ ✓ - Notes: 1) At least one propagation delay measurement is required per design. The TDL can be used to facilitate a propagation delay test by the insertion of an ASIC_TEST statement with the PROP keyword into the test vectors. Propagation delay measurements are not allowed for at-speed TDL types. 2) The maximum scan frequency is the same as for the logic verification constraints. All other at-speed constraints apply. Test Pattern Requirements 4-5 TDL Type Descriptions 4-6 Design for Testability Chapter 5 Ad Hoc Testability Practices This chapter describes various ad hoc techniques that can be used to make a design testable. Topic Page Logic Design With Testability in Mind . . . . . . . . . . . . . . . . . . . . . . 5–2 Improving Testability Via Unused Pins . . . . . . . . . . . . . . . . . . . . . 5–3 Using Bidirectional Pins . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5–4 Initializing the Circuit to a Known State . . . . . . . . . . . . . . . . . . . . 5–5 Avoiding Asynchronous Circuitry . . . . . . . . . . . . . . . . . . . . . . . . . 5–7 Avoiding Gated Clocks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5–8 Allowing Internal Clocks to Be Bypassed From Circuit’s Inputs 5–9 Allowing Counters and Dividers to Be Bypassed . . . . . . . . . . . . 5–10 Splitting Long Counter Paths . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5–11 Multiplexing to Provide Direct Access to Logic . . . . . . . . . . . . . . 5–12 Breaking Feedback Paths in Nested Sequential Circuits . . . . . . 5–14 Allowing Redundant Circuitry to Be Tested . . . . . . . . . . . . . . . . . 5–15 Watching for Signals That Reconverge . . . . . . . . . . . . . . . . . . . . . 5–16 Decoupling Linked Logic Blocks . . . . . . . . . . . . . . . . . . . . . . . . . . 5–17 Johnson Counter Test Signal Generator . . . . . . . . . . . . . . . . . . . 5–18 Shift Register Test Signal Generator . . . . . . . . . . . . . . . . . . . . . . . 5–19 Shift Register Used to Obtain Observability . . . . . . . . . . . . . . . . 5–20 5-1 Logic Design With Testability in Mind 5.1 Logic Design With Testability in Mind Designing for testability refers to a design approach that enables thorough testing of a system with minimal effort and maximum coverage. A circuit is termed testable when the testing effort involved is minimal compared to the design and manufacturing efforts. The key concepts in design for testability (DFT) are controllability and observability. The purpose of the various DFT techniques is to increase the ability to control and observe internal nodes from external inputs and outputs. The states of a circuit buried in logic cannot be easily controlled or observed by external pins. This lack of control makes the generation of test vectors more time consuming and usually results in excessive numbers of test vectors being generated. This problem can be addressed by adding special test pins that increase the controllability or observability of these states. If extra pins are not available, input combinations that cannot occur during normal operation of the circuit can be used to place the circuit in the test mode. On-chip test circuitry can also be used to partition the circuit into logical subsystems that can be tested in parallel. Testing smaller logical subsystems simplifies the task of test vector generation. If the logical subsystems operate in parallel, these test vectors can be merged, resulting in reduced test time on the tester. Two basic approaches to testing are prevalent in the industry. The first approach is categorized as ad hoc and the second as structured. The ad hoc techniques can be applied to a given product, but require that each circuit be examined on an individual basis. The structured techniques follow a design methodology and lend themselves more easily to design automation. Various ad hoc techniques can be applied to ensure that a design is testable. Such techniques essentially improve controllability, observability, and predictability of a design. Some of these techniques are fairly simple and can be implemented with minimum overhead. In addition, they aid in the development and debugging of the circuit and its test program. Brief descriptions of some ad hoc testability guidelines are described in the following sections. 5-2 Design for Testability Improving Testability Via Unused Pins 5.2 Improving Testability Via Unused Pins Observability of an internal node can be accomplished by connecting the node to an unused package pin (if available), as illustrated in Figure 5–1. Figure 5–1. Observing an Internal Node PAD Test Pin Unused package pins can also be used to control internal nodes that are difficult to access otherwise. The circuit shown in Figure 5–1 has been modified to allow the injection of test signals (ENABLE high) or to operate normally (ENABLE low). Figure 5–2 illustrates the reconfigured circuit. Figure 5–2. Test Signal Injection Test Signal PAD ENABLE PAD Ad Hoc Testability Practices 5-3 Using Bidirectional Pins 5.3 Using Bidirectional Pins Using bidirectional buffers instead of single-mode input and output buffers increases the effectiveness of the package pins. In Figure 5–3 data flows from INA to OUTB. In TEST mode (ENABLE high), test data and control signals enter OUTB and test results are read out at INA. Figure 5–3. Bidirectional Pins Giving Access to Internal Nodes ENABLE Test Data Out Bus INA PAD Core Logic Core Logic PAD Test Data In 5-4 Design for Testability OUTB Initializing the Circuit to a Known State 5.4 Initializing the Circuit to a Known State The entire circuit must be initializable to a known state, regardless of its current state. To easily predict the output of a circuit, all latches and flip-flops must have set or reset capability. Circuits that never need to be set to a particular state during normal operation (such as frequency dividers) also require a set/reset capability, or must be capable of being initialized through a shift register scan path. The tester needs to know how many pulses to apply before the first pulse appears on the output, and this depends on the initial state of the circuit. Figure 5–4 shows a state machine with three states. No combination of select and clock inputs can initialize the circuit to a known state. Figure 5–4. Uncontrollable State Machine 10 D Q D 01 Q 11 QZ QZ CLOCK SELECT Output By using a flip-flop with a clear, as shown in Figure 5–5, it is possible to force state 00. Successive clock pulses then select states 10, 11, and 01. State verification can be made from this list: State 00—Output always 1 State 10—Output equals inverse of SELECT State 11—Output always 0 State 01—Output equals SELECT Ad Hoc Testability Practices 5-5 Initializing the Circuit to a Known State Figure 5–5. Using Clear to Add Controllability 00 D Q QZ D Q QZ 10 01 11 CLEAR CLOCK SELECT Output A power-on clear mechanism, which initializes the circuit in the actual system configuration, is not an adequate test initialization implementation. Although this function must also be tested, the tester loses many of its utility programs if initialization is performed only in this manner, and overall testing suffers dramatically. By adding the special set or reset signal (Figure 5–5), the circuit can be directly set into a known state, and the tester is guaranteed to have the first pulse appear after a known number of cycles. All of the tester’s utility programs remain intact. 5-6 Design for Testability Avoiding Asynchronous Circuitry 5.5 Avoiding Asynchronous Circuitry For asynchronous systems, changes in the output state depend on circuit delays that are a function of wafer processing. Due to the variation in process parameters, there is no guarantee of exactly when an output changes state. It may be at the end of one cycle or at the beginning of another. Because the test vectors must be determined before the test is started, it is very difficult to keep the tester synchronized with the circuit. Therefore, testing asynchronous circuitry is difficult and costly (and in some cases, impossible). In an asynchronous SR latch, such as in Figure 5–6 a, set and reset signals can change state at any time, causing the output to change state at any time during any period. The output transition is dependent on the delays that create the set and reset signals. Addition of the clock, shown in Figure 5–6 b, ensures that if the set or reset signal changes state, the output changes only after the next clock transition. Figure 5–6. Add Clock to Asynchronous Latch (a) S Y Y R (b) S Y CLOCK Y R Ad Hoc Testability Practices 5-7 Avoiding Gated Clocks 5.6 Avoiding Gated Clocks Gating clocks creates an asynchronous circuit. The extra delay through the gate unsynchronizes the gated clock from the original system clock. Unwanted glitches on the gated clock can be the result, as shown in Figure 5–7(a). The safest approach is to use an enabled edge-triggered flip-flop, as shown in Figure 5–7(b). The timing for this circuit is more tolerant of propagation delays. Figure 5–7. Gated Clock and Alternative (a) Gated Clock Clock Gate Gate Delay Second Clock Gated Clock Ideal Timing Slight Delay in Gate Signal (b) Edge-Triggered Clock Clock Margin Enable Output Ideal Timing 5-8 Design for Testability Slight Delay in Enable Allowing Internal Clocks to Be Bypassed From Circuit’s Inputs 5.7 Allowing Internal Clocks to Be Bypassed From Circuit’s Inputs On-chip oscillator circuitry or other periodic pulse generating circuitry makes synchronization of the tester and the circuit very difficult (Figure 5–8 a). By allowing these clock signals to be bypassed and generated by the tester, the tester is automatically synchronized with the circuit (Figure 5–8 b). Output the bypassed clock signal as a circuit test. Figure 5–8. Bypass Internal Clock Generators (a) (b) Oscillator Out Oscillator Clock Signal Oscillator Test Clock Test Select M U X Clock Signal Ad Hoc Testability Practices 5-9 Allowing Counters and Dividers to Be Bypassed 5.8 Allowing Counters and Dividers to Be Bypassed Bypassing sequential circuits decreases the number of test vectors required to test the device and reduces the test time. The sequential circuitry is tested once and then is bypassed while the rest of the circuit is being tested. When a divider is used to convert a 1-MHz clock signal to 1 kHz, the tester must apply 1000 test vectors for each 1-kHz pulse (Figure 5–9a). However, when bypass circuitry is available, the divider can be tested once and then bypassed. The circuitry controlled by the divider can then be tested at a much higher frequency by using a 1-kHz clock directly, reducing test time (Figure 5–9 b). Output the bypassed counter/divider signal as a circuit test. Figure 5–9. Bypass Counters and Dividers (a) (b) Divider Out 1-MHz Clock 1000:1 Divider 1-kHz Clock 1-MHz Clock 1000:1 Divider Test Clock Test Select 5-10 Design for Testability M U X 1-kHz Clock Splitting Long Counter Paths 5.9 Splitting Long Counter Paths Long counter paths should be split into smaller testable modules. For example, a 16-bit counter requires 65 536 test patterns for full functional test. However, the same counter implemented using two 8-bit counters coupled with additional control circuitry, as shown in Figure 5–10, requires only 259 test patterns. The testing sequence can be performed by following these steps: 1) Clear both counters and enter TEST mode (TEST/NORM = Logic 1). 2) Apply 255 clock pulses; the test pin should be high. 3) Reset TEST/NORM to logic 0 and apply one additional clock pulse; the test pin should now be low, proving correct operation of both counter sections. Figure 5–10. Long Counter Path Divided for Testing TEST/NORM CLK A1 CLR1 QA1 QB1 QC1 QD1 Q0 Q1 Q2 Q3 QA2 QB2 QC2 QD2 Q4 Q5 Q6 2:1 MUX S A B A2 RESET CLR2 Dual 4-Bit Ripple Counter Y A1 CLR1 A2 Q7 CLR2 QA1 QB1 QC1 QD1 Q8 Q9 QA QB QA2 QB2 QC2 QD2 QC QD QE QF Dual 4-Bit Ripple Counter Test Pin PAD Ad Hoc Testability Practices 5-11 Multiplexing to Provide Direct Access to Logic 5.10 Multiplexing to Provide Direct Access to Logic In the following examples, test data and test enable signals can come from either external pins or test structures like those previously discussed. In Figure 5–11, an output multiplexer in normal mode passes data from Logic B to the output. The ENABLE line switches the multiplexer to pass data from Logic A to the output, which provides observability for Logic A. Figure 5–11. Multiplexing an Output Pin to Improve Observability ENABLE S Output A Y DATA IN Logic A PAD Logic B PAD B 2:1 MUX In Figure 5–12, a multiplexer gives controllability to Logic B by allowing the input pin DATA to be connected directly to Logic B, bypassing Logic A. Figure 5–12. Multiplexing an Input Pin to Improve Controllability ENABLE S Output A Y DATA IN Logic A PAD Logic B PAD B 2:1 MUX In Figure 5–13, testability for both logic blocks is enhanced by using both input and output multiplexing. 5-12 Design for Testability Multiplexing to Provide Direct Access to Logic Figure 5–13. Multiplexing Both Inputs and Outputs to Improve Testability ENABLE 1 ENABLE 2 S S Output A Y A Y PAD DATA IN Logic A PAD Logic B B B 2:1 MUX 2:1 MUX Of the three flip-flops shown in Figure 5–14, only the last flip-flop connects to a package pin. If a 4:1 multiplexer is added, as shown in Figure 5–15, each flip-flop output can be connected individually to the output pin. Figure 5–14. Example of Unobservable Flip-Flop Outputs Output Q DATA D Q D QZ CLRZ Q D QZ CLRZ PAD QZ CLRZ RESET CLOCK Figure 5–15. Flip-Flop Outputs Made Observable With a Multiplexer 4:1 MUX ENABLE 1 ENABLE 2 A B C0 C1 Q DATA D QZ CLRZ RESET CLOCK Q D QZ CLRZ Y PAD C2 C3 Q D Output QZ CLRZ Hi Lo Tie-Off Ad Hoc Testability Practices 5-13 Breaking Feedback Paths in Nested Sequential Circuits 5.11 Breaking Feedback Paths in Nested Sequential Circuits In sequential circuits, the next state is a function of the present state and current stimulus while the present state is determined by the stimulus applied previously. Therefore, multiple patterns need to be applied to control or observe the sequential circuit. The length of the test pattern increases dramatically if one sequential circuit feeds back to another sequential circuit. This is also known as nesting of sequential circuitry. In Figure 5–16 a, many vectors are required to stimulate the modules or to pass the response to the rest of the circuit. By partitioning the sequential circuits and breaking the feedback paths, controllability and observability can be improved (Figure 5–16 b). Figure 5–16. Nesting of Sequential Circuits (a) In Sequential Circuit Sequential Circuit Sequential Circuit Out Sequential Circuit Out (b) In Sequential Circuit Sequential Circuit MUX MUX MUX MUX MUX TEST IN 5-14 Design for Testability Allowing Redundant Circuitry to Be Tested 5.12 Allowing Redundant Circuitry to Be Tested Redundant circuitry is often included to improve performance, reliability, or fabrication yields. Access must be provided to allow both portions of circuitry to be tested separately to ensure that they both work. Figure 5–17 (a and b) shows a circuit with an OR gate configuration on the output. This type of circuit is inherently untestable unless the sections can be individually disabled by adding circuitry. Two test inputs as shown in (b) are required if the two disable signals cannot be derived from logic elsewhere in the core logic. An alternative solution is to eliminate any unnecessary redundant logic. Figure 5–17. Redundant Circuitry (a) (b) Test A Logic A In Logic A Out Logic B In Out Logic B Test B Ad Hoc Testability Practices 5-15 Watching for Signals That Reconverge 5.13 Watching for Signals That Reconverge Signals that fan out in multiple directions from a single source and later reconverge at the inputs to a functional module can create logic hazards and untestable circuits. The circuit shown in Figure 5–18 a is hazard-free but has an untestable fault. If B and C are both high, the output of G4 remains high regardless of the value of G2. Therefore, a short at the output of G2 is not be detected. By breaking the reconvergent path of the signal A, as shown in Figure 5–18 b, and by making the test input high, the output of G2 can be tested. This additional circuitry greatly enhances the testability of the circuit. Figure 5–18. Reconverging Signals (a) A B (b) A G1 G2 G4 C G1+G2+G3 B G2 C G3 G3 TEST 5-16 G1 Design for Testability G4 G1+G2+G3 Decoupling Linked Logic Blocks 5.14 Decoupling Linked Logic Blocks Decoupling normally linked logic blocks with AND gates so that each can be tested separately is shown in Figure 5–19.. Once again, unused package pins may be required to control the signal separation, unless unused states from a decoder are available. Figure 5–19. Decouple Circuit Blocks Module 1 Module 2 CONTROL 1 DEGATE CONTROL 2 Module 3 Ad Hoc Testability Practices 5-17 Johnson Counter Test Signal Generator 5.15 Johnson Counter Test Signal Generator The Johnson counter shown in Figure 5–20 requires only two pins (MCLR and CLK) to give 10 active-low test enable signals (T0Z-T9Z). T0Z stays active during your design’s normal operation. Figure 5–20. Johnson Counter to Minimize Test Pins T0Z T1Z T2Z T3Z T4Z T5Z T6Z T7Z T8Z T9Z Q D QZ CLRZ CLK MCLR 5-18 Design for Testability Q D QZ CLRZ Q D QZ CLRZ Q D QZ CLRZ Q D QZ CLRZ Shift Register Test Signal Generator 5.16 Shift Register Test Signal Generator Three pins (RESETZ, CLOCK, and TESTDATA) control the shift register shown in Figure 5–21. An 8-stage shift register allows you to insert up to 256 unique codes, which can either be test data or patterns enabling specific tests. Use RESETZ to inhibit the test function. Figure 5–21. Test Signal Generator Using a Shift Register RESETZ CLRZ CLOCK TESTDATA A QA QB QC QD QE QF QG QH TESTDATA1 TESTDATA2 TESTDATA3 TESTDATA4 TESTDATA5 TESTDATA6 TESTDATA7 TESTDATA8 8-Bit Parallel-Out Serial Shift Register Ad Hoc Testability Practices 5-19 Shift Register Used to Obtain Observability 5.17 Shift Register Used to Obtain Observability With the addition of an 8-bit shift register, the status of eight internal nodes is transmitted via one output pin, as shown in Figure 5–22. Because only two internal nodes drive output pins, other internal nodes in the logic are unobservable. A shift register with a length of eight bits can be used to transmit the status of eight shaded internal nodes to the TESTOUT pin. This concept can be expanded to n bits as needed. Figure 5–22. Shift Register Adding Observability to Buried Nodes Hi Lo CLK2 LOAD PAD DATA Module A Module B Module C OUT1 CLK CKINZ SERIN SHLD A B C D E F G H QH PAD TESTOUT QHZ 8-Bit Parallel-Out Serial Shift-Register CLK1 5-20 Module D PAD OUT2 Design for Testability Chapter 6 Structured Testability Practices This chapter discusses the benefits and limitations of scan design and presents several scan design approaches. Topic Page Structured Approaches to Designing for Testability . . . . . . . . . . 6–2 Clocked Scan Flip-Flop Design . . . . . . . . . . . . . . . . . . . . . . . . . . . 6–3 Multiplexed Flip-Flop Scan Design . . . . . . . . . . . . . . . . . . . . . . . . 6–5 Clock Skew and Edge-Triggered Flip-Flop Scan . . . . . . . . . . . . . 6–7 Guidelines for Flip-Flop Scan Design . . . . . . . . . . . . . . . . . . . . . . 6–10 Clocked LSSD Scan Flip-Flop Design . . . . . . . . . . . . . . . . . . . . . . 6–8 Scan Path Loading on Critical ac Path . . . . . . . . . . . . . . . . . . . . . 6–11 Bus Contention and Scan Testing . . . . . . . . . . . . . . . . . . . . . . . . . 6–12 Test-Isolation Modules . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6–14 Where Scan Is Not Efficient . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6–20 6-1 Structured Approaches to Designing for Testability 6.1 Structured Approaches to Designing for Testability The introduction to ad hoc approaches discussed the need for observability and controllability. These ad hoc techniques are point solutions. Scan approaches are more structured. The structured scan approach favors design automation and rule checking. There are many varieties of scan design and each has its own impact on the hardware. All of these techniques ease the problem of testability by making the circuit appear to be structured as a combinatorial network. The nature of scan design makes it very easy to control and observe every register/latch (logic storage) element in the circuit. The basic concept involves serially shifting test data into the logic storage elements and scanning out the test results. This allows initialization of all the logic storage elements to desired states and permits the contents of the buried logic storage elements to be examined easily. 6-2 Design for Testability Clocked Scan Flip-Flop Design 6.2 Clocked Scan Flip-Flop Design The clocked scan flip-flop has separate clock and data inputs for scan-test and system modes, as shown in Figure 6–1. The flip-flop inputs DATA (D) and SCANIN DATA (SD) represent the system and scan-test data inputs. The D input is clocked into the flip-flop by CLOCK. The SD input is clocked into the flip-flop by SCAN CLOCK. The output (Q) and SCANOUT (SO) outputs are logically equal. The output SO has a weak drive. This results in long clock-toscanout propagation times, reducing the chance of skew in the scan clock distribution network from causing timing race conditions during scan shifting. The SO also isolates the loading of the scan path from the system output Q. Figure 6–1. Clocked Scan Flip-Flop DATA D Q DATA OUT SO SCANOUT CLOCK SCANIN DATA SD SCAN CLOCK Interconnecting several clocked scan macros gives the circuit a serial scan shift capability that reduces the testing of a sequential circuit to the testing of a combinatorial circuit, as shown in Figure 6–2. The SO output of one flip-flop feeds the SD input of the next flip-flop. This is repeated until the scan path is formed. The TI library offers clocked scan flip-flop macros. Structured Testability Practices 6-3 Clocked Scan Flip-Flop Design Figure 6–2. DATA IN SCANIN Clocked Scan Flip-Flop Circuit Interconnect Logic D Q Logic D Q SO D Q Logic DATA OUT SD SD SD Logic SO SO SCANOUT CLOCK SCAN CLOCK The silicon overhead to implement clocked scan is in the range of 5 to 20 percent. Up to three additional pins are required to implement this scan style. Only SCAN CLOCK is required to be dedicated; the remainder of the pins can be shared with primary inputs and outputs. 6-4 Design for Testability Multiplexed Flip-Flop Scan Design 6.3 Multiplexed Flip-Flop Scan Design The multiplexed flip-flop scan method is very similar to the clocked-scan approach but differs in the flip-flop design. The flip-flop has a single CLOCK and a 2:1 multiplexer at the input, as shown in Figure 6–3. The multiplexer inputs of DATA (D) and SCANIN DATA (SD) represent the system and test data inputs selected by the SCAN ENABLE (SE) input signal. The Q output of one flip-flop then feeds the SD input of the next flip-flop. This is done until the scan path is formed, as shown in Figure 6–4. TI offers multiplexed scan flip-flop macros. Figure 6–3. Multiplexed Scan Flip-Flop D /1 D SD SCAN ENABLE 1 MUX Q DATA OUT QZ DATA OUT S CLOCK Figure 6–4. Multiplexed Flip-Flop Scan Path SCANIN DATA IN SCANOUT Logic SD D Q SE Logic SD D Q SE Logic SD D Q Logic DATA OUT SE SCAN ENABLE CLOCK Structured Testability Practices 6-5 Multiplexed Flip-Flop Scan Design There are some disadvantages. Adding logic into the data path limits the speed at which the circuit can be clocked. The hardware overhead is related to the number of registers, because each requires a 2:1 multiplexer. The silicon overhead to implement multiplexed flip-flop scan is in the range of 5 to 15 percent. Up to three additional pins are required to implement this type of scan. Only the SCAN ENABLE pin must be dedicated; the remainder of the pins can be shared with primary inputs and outputs. 6-6 Design for Testability Clock Skew and Edge-Triggered Flip-Flop Scan 6.4 Clock Skew and Edge-Triggered Flip-Flop Scan Edge-triggered flip-flop scan relies on minimal clock skew in the clock distribution network. You can inadvertently introduce clock skew, as demonstrated in the following two examples. ❏ You decide to use a clock signal that is the input to a clock distribution macro. This clock signal becomes significantly skewed relative to the clock signal from the clock distribution macro’s output. ❏ The ATPG tools do not allow gated or internally generated clocks. You can isolate the gated or internally generated clocks with a SCAN clock that meets all the scan rules. Typically, this is done by adding a multiplexer to the clock paths. During normal mode, the multiplexer selects the gated or internally generated clock. This technique meets scan design rules but also introduces clock skew. If two successive scan path flip-flops have significantly skewed scan clocks, where the first scan flip-flop is clocked before the second scan flip-flop, a timing race condition may exist. The first scan flip-flop captures the next scan data bit using the earlier scan clock, and its Q output changes and races to the second scan flip-flop along with the later scan clock. If the scan data arrives first, this scan data is clocked into both scan flip-flops. The scan data appears to jump across the first scan flip-flop directly into the second scan flip-flop on a single scan clock cycle. When this type of jump occurs, the ATPG test patterns interpret it as detecting a stuck-at-fault and reject the circuit. Simulation of the scan shift operation is the only way to verify that scan clock skew does not cause jumping. Structured Testability Practices 6-7 Clocked LSSD Scan Flip-Flop Design 6.5 Clocked LSSD Scan Flip-Flop Design The clocked LSSD scan flip-flop, shown in Figure 6–1, is a derivative of the clocked scan flip-flop. The flip-flop inputs DATA (D) and SCANIN DATA (SD) represent the system and scan-test data inputs. The D input is clocked into the flip-flop by CLOCK (edge-triggered). The SD input is clocked into the flipflop by TMC and TSC (two-phase non-overlapping clocks). The output (Q) and SCANOUT (SQ) outputs are logically equal. The SQ output also isolates the loading of the scan path from the system Q output. The Level-Sensitive Scan Design (LSSD) method is a very well-known approach. LSSD eliminates scan chain race conditions and other possible test problems related to clock skew, rise/fall times, and minimum circuit delays. Figure 6–5. Clocked LSSD Scan Flip-Flop DATA IN D CLOCK > SCANIN DATA SD MASTER SCAN CLOCK TMC SLAVE SCAN CLOCK TSC Q SQ DATA OUT SCANOUT Interconnecting several clocked LSSD scan flip-flops gives the circuit a serial shift capability that reduces the testing of a sequential circuit to the testing of a combinatorial circuit, as shown in Figure 6–6. The SQ output of one flip-flop feeds the SD input of the next flip-flop. This is repeated until the scan path is formed. The TI library offers clocked LSSD scan flip-flop macros. 6-8 Design for Testability Clocked LSSD Scan Flip-Flop Design Figure 6–6. Clocked LSSD Scan Flip-Flop Circuit Interconnect CLOCK DATA IN L O G I C D Q > SD TMC TSC SQ L O G I C D Q > SD TMC TSC SQ L O G I C D Q > SD TMC SQ L O G I C DATA OUT TSC SCANIN DATA SCAN OUT MASTER SCAN CLOCK SLAVE SCAN CLOCK The silicon overhead to implement clocked LSSD scan is in the range of 5 to 20 percent. Up to four additional pins are required to implement clocked LSSD scan, which can affect the circuit size and package selection. Only the Master Scan Clock and the Slave Scan Clock must be dedicated; the Scanin data and Scanout data can be shared with primary inputs and outputs. Structured Testability Practices 6-9 Guidelines for Flip-Flop Scan Design 6.6 Guidelines for Flip-Flop Scan Design The following design requirements must be met for successful flip-flop-based scan designs: ❏ All stored states must be in scan flip-flops. Cross-coupled latches are not permitted. ❏ All flip-flops in a scan path must have the same common clock. No logicgenerated or asynchronous clocks are permitted. ❏ One-shot delays and asynchronous timing are not permitted. ❏ All logic feedback paths must pass through scan flip-flops. ❏ All resettable scan flip-flops must be resettable only via a master or global reset. Resettable flip-flops are not required. Initialization can be accomplished by scanning in the initial state. ❏ No race condition may result from the application of a pulse at one external clock input while the other external clock inputs are held inactive and the remaining external inputs are stable. Refer to the applicable (TGC2000, TSC4000, etc.) macro library summary for macros that are available to support flip-flop-based scan designs. 6-10 Design for Testability Scan Path Loading on Critical ac Path 6.7 Scan Path Loading on Critical ac Path Some scan implementations route the scan path off the macro’s signal path. A long scan path on an ac speed-critical node can cause unacceptable delay. The scan path can be separated from the signal path in the following manner. Select a scan element with both true and complementary outputs. In Figure 6–7, a multiplexed flip-flop scan macro is chosen and the speed critical path is the true output. The scanout is taken from the complementary output. An inverter is placed after the complementary output to restore the signal polarity prior to the next scan flip-flop on the scan path. Some ATPG software tools can handle scan path inversions, making the addition of the inverter in the scan path to restore polarity unnecessary. Figure 6–7. Isolate Scan Path Loading SCANIN DATA IN SCANOUT Logic SD Q D SE QZ Logic SD D Q SE QZ Logic SD D Q Logic DATA OUT SE QZ SCAN ENABLE CLOCK Structured Testability Practices 6-11 Bus Contention and Scan Testing 6.8 Bus Contention and Scan Testing Device damage or data corruption can occur during scan testing as a result of bus contention. The contention can occur when scanning in data through registers that control 3-state drivers on a bus. As data is scanned, the registers probably contain states that force contention. Figure 6–8 is an example of a circuit containing contention hazards. Figure 6–8. Bus Contention Hazard SCAN ENABLE Out A B C D1 D Q SE SD D2 D Q SCANOUT SE SD D3 SCANIN CLOCK D Q SE SD Bus contentions can exist if more than one scan register contains a logic 1 during scanin or scanout. The contention hazard must be removed by the addition of 3-state disabling circuitry. The disabling circuitry is activated with a scan-enable signal. This is the same enable signal used to control the multiplexer in the scan flip-flop. An LSSD or clocked scan design would need a signal generated off a test-mode pin. Figure 6–9 shows the circuitry added to eliminate the contention hazard. 6-12 Design for Testability Bus Contention and Scan Testing Figure 6–9. Scan 3-State Disabling Logic SCAN ENABLE Out A B C D1 D Q SE SD D2 D Q Disabling Logic SCANOUT SE SD D3 SCANIN D Q SE SD CLOCK Structured Testability Practices 6-13 Test-Isolation Modules 6.9 Test-Isolation Modules Full scan techniques provide a straightforward approach to ASIC testing for a high fault grade. For large, register-intensive designs, the full scan technique results in very long scan paths. Multiple scan path designs reduce the costs of test vector generation and fault simulation. Parallel testing of the modules also reduces test time. 6.9.1 Multiple Scan Paths Parallel scan design is another approach to testing isolated modules. Parallel scan testing includes partitioning the circuit into modules and then testing the modules using scan. There are several ways to partition the circuit as shown in Figure 6–10. Figure 6–10. Partition Into Test-Isolation Blocks ROM RAM Serial Peripheral Interface MegaModule System Controller Serial Communications Interface Parallel Scan Blocks The following is a list of suggested partitions: 6-14 ❏ Partition circuitry between bus interfaces. The bus interface boundary provides a natural partition. ❏ Partition stand-alone functions. Large designs are usually designed and simulated in blocks. Often the blocks are designed concurrently by different designers. Extend the block responsibility to include test-vector generation and fault simulation. Design for Testability Test-Isolation Modules ❏ Partition logic to reduce the number of scan macros to fewer than 750 per logic block. This allows parallel testing of multiple paths rather than serial testing of one long path. Parallel test time is determined by the longest path. For this reason, the parallel paths should be of comparable lengths. In Figure 6–11, Figure 6–12, and Figure 6–13, all the SCANIN and SCANOUT data pins can be multiplexed with other operational functions. Structured Testability Practices 6-15 Test-Isolation Modules Figure 6–11. Multiple Clocked Scan Flip-Flop Scan Paths Die Boundary SYSTEM CLOCK Global System Clock SCANIN1 SCANOUT1 Block 1 SCANIN2 SCANOUT2 Block 2 SCANIN3 SCANOUT3 Block 3 SCAN CLOCK 6-16 Design for Testability Test-Isolation Modules Figure 6–12. Multiple Multiplexed Flip-Flop Scan Paths Die Boundary SYSTEM CLOCK Global System Clock SCANIN1 SCANOUT1 Block 1 SCANIN2 SCANOUT2 Block 2 SCANIN3 SCANOUT3 Block 3 SCAN ENABLE Structured Testability Practices 6-17 Test-Isolation Modules Figure 6–13. Multiple Clocked LSSD Scan Paths Die Boundary SYSTEM CLOCK Global System Clock SCANIN1 SCANOUT1 Block 1 SCANIN2 SCANOUT2 Block 2 SCANIN3 SCANOUT3 Block 3 2 MASTER SCAN CLOCK SLAVE SCAN CLOCK 6.9.2 Multiple Scan Path Patterns During testing, the scan data is first shifted into the device one bit per tester period into the scan path. After the scan data has been shifted into the device, 6-18 Design for Testability Test-Isolation Modules the tester then applies the input stimuli and the device under test returns to the normal mode of operation. Afterward, the response of the device is captured and shifted out for comparison. Normally, the scan result is shifting out while the new scan data is shifting in. As stated earlier, the longest scan path determines the length of the scan test vector. Because all the paths are being tested in parallel, it is necessary to add elements for the shorter paths so all vectors are equal in length. Figure 6–14 is an example of the elements added to the short scan vectors. These elements are don’t cares on the inputs and masks on the outputs. Figure 6–14. Scan Vectors for Multiple Scan Blocks SCANIN Vector SCANOUT Vector SCAN PATH 1 HHLLHLLHLLLHLLLHLH010101101101101101 SCAN PATH 2 YYYLHLHLHLLHLLHLLH010110110111101MMM SCAN PATH 3 YYYYYYYHLHHLLHLLHL11011101110MMMMMMM First Bit In Logic One Input = H Logic Zero Input = L Don’t Care Input = Y First Bit Out Logic One Output = 1 Logic Zero Output = 0 Mask Output = M Structured Testability Practices 6-19 Where Scan Is Not Efficient 6.10 Where Scan Is Not Efficient Although scan, as a structured design approach, is a very powerful methodology, there are certain circuit structures where other test methods such as PMT or BIST are more efficient, for example: ❏ ❏ ❏ ❏ Large macro functions (e.g., microprocessor cores) Compiled cells (e.g., RAMs, ROMs, and ALUs) Register files Any nondigital circuitry A scan path is often used around these circuit structures to ensure that proper data and control signals are being supplied by surrounding logic. A scan ring is formed by placing a scannable latch or register on all signals entering or leaving the circuit structure (Figure 6–15). Figure 6–15. Scan Path Around a Function DATA IN DATA IN SCANIN Scan Element ADDRESS RAM SCAN_ENABLE MUX S DATA OUT ADDRESS Scan Element I I Y DATA OUT SCANOUT Scan Element R/W R/W Scan Element ENABLE ENABLE Surrounding Logic In 6-20 Scan Element Design for Testability Surrounding Logic Out Chapter 7 IEEE Standard 1149.1-1990 This chapter explores the IEEE Standard 1149.1-1990 and the applications to testing printed circuit boards in a surface-mount environment. Topic Page Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7–2 Boundary-Scan Architecture . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7–3 7-1 Overview 7.1 Overview The IEEE Standard 1149.1-1990, IEEE Standard Test Access Port and Boundary-Scan Architecture (JTAG) foreword states, “This standard defines a test access port and boundary-scan architecture for digital integrated circuits and for the digital portions of mixed analog/digital integrated circuits. The facilities defined by the standard seek to provide a solution to the problem of testing assembled printed circuit boards and other products based on highly complex digital integrated circuits and high-density surface-mount assembly techniques. They also provide a means of accessing and controlling design-for-testability features built into the digital integrated circuits themselves. Such features might, for example, include internal scan paths and self-test functions as well as other features intended to support service applications in the assembled product.” The IEEE Standard 1149.1 is usually applied by system designers. For this reason, system designers have a greater role in defining the specifications for ASICs. To ensure that the ASICs work properly with other IEEE Standard 1149.1 test components, you as the ASIC designer must become familiar with this standard. 7-2 Design for Testability Boundary-Scan Architecture 7.2 Boundary-Scan Architecture Figure 7–1 shows the boundary-scan architecture specified by IEEE Standard1149.1. The boundary-scan architecture uses the following hardware components: ❏ ❏ ❏ ❏ ❏ ❏ Figure 7–1. Test access port controller (TAP) Instruction register (IR) Boundary-scan register (BSR) Device identification register (IDR) User test data register (UTDR) Bypass register (BR) Boundary-Scan Architecture ASIC Outputs Core Logic Register ASIC Inputs Boundary Scan UTDR IDR VCC BR TDI TMS TCK TRSTZ TAP 8-Bit IR TDO Denotes Optional Structures IEEE Standard 1149.1-1990 7-3 Boundary-Scan Architecture 7.2.1 Test Access Port Controller (TAP) The test access port (TAP) controller integrates instructions on the test-mode select line in accordance with the timing established on TCK. It generates clock and control signals for the rest of the components used to implement IEEE Std 1149.1. 7.2.2 Instruction Register (IR) The instruction register (IR) allows boundary-scan test instructions to be loaded into the ASIC. The boundary-scan test data registers are addressed via the instruction register. 7.2.3 Boundary-Scan Register (BSR) The boundary-scan register (BSR) is made up of individual test cells that form the boundary-scan path. These cells form a partition around the device between the I/O cells and the core logic that can be used for a variety of test purposes, including continuity testing of PCB interconnects, I/O sampling, and insertion of known values at I/O points. 7.2.4 Device Identification Register (DIR) The device identification register (DIR) is an optional register used for a variety of identification purposes, such as a manufacturer ID code, device registration number, or device revision number. 7.2.5 User Test Data Register (UTDR) The upper test data register (UDTR) is an optional register that allows manufacturers to incorporate design-specific test-related features. 7.2.6 Bypass Register (BR) The bypass register (BR) is a single-bit register that can be switched into the boundary-scan path so that the ASIC is bypassed during testing. This allows the testing of other boundary-scan compatible ICs more efficiently by reducing the total boundary-scan path length to that of the IC under test. 7-4 Design for Testability Boundary-Scan Architecture 7.2.7 Boundary-Scan Macro The boundary-scan macros are placed around the periphery of the die next to the I/O structures. The general-purpose boundary-scan macro has the capability to capture, shift, and update. Figure 7–2 and Figure 7–3 depict the boundary-scan circuitry. Figure 7–2. General-Purpose Boundary-Scan Macro SCANOUT MODE G1 SIGNAL IN 1 1 SHIFT/LOAD SIGNAL OUT G1 1 1 1D C1 SCANIN CLOCK A 1D C1 CLOCK B IEEE Standard 1149.1-1990 7-5 Boundary-Scan Architecture Figure 7–3. Boundary-Scannable PCB Boundary-Scan Cell Serial DATA IN Serial DATA OUT Serial Test Interconnect 7-6 Design for Testability System Interconnect Chapter 8 Generic Test Access Port This chapter introduces the generic test access port (GTAP), which is the Texas Instruments ASIC test controller. A dedicated implementation example is shown in Part 2 of this book, the Generic Test Access Port Application Report. Topic Page Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8–2 Test Register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8–3 Test Register—Bit Definitions . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8–5 Controller . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8–7 Communication Protocol . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8–8 8-1 Overview 8.1 Overview The generic test access port (GTAP) is the TI ASIC test controller. From the device pins, the GTAP can be instructed to enable or disable any combination of the design-for-testability features. Test features are controlled by the GTAP unless another controller is present. The GTAP is designed to consolidate all previous ad hoc ASIC test methods into a single unified test methodology. It is general-purpose, compatible with a wide range of tests, and expandable to accommodate future test needs, hence the name generic. The GTAP is divided into two functions. They are the test register and the GTAP controller. The GTAP block diagram is shown in Figure 8–1. The GTAP implementation requires one dedicated package pin, four smart control pins, and one smart output pin. Smart pins are pins that have a test function in the test mode and a user-defined function in the normal operating mode. The TEST input to the GTAP controller must be dedicated to the test mode operation. The remaining GTAP controller inputs (SCAN, MCLK, and SCLK) are test-access protocol pins and can be implemented as smart pins. The SCANIN input to the GTAP test register is referred to as the test instruction pin and can be implemented as a smart pin. The SCANOUT output from the GTAP test register can also be implemented as a smart pin. Figure 8–1. GTAP Block Diagram GTAP TWE TEST SCAN MCLK SCLK GTAP Controller (TP012 or TP0B2) TEST1 TEST2 GTT Test Register (TP000s or TP0B0s) GST SCANOUT SCANIN Enable Test Function 1 8-2 Design for Testability Enable Test Function 2 ... Enable Test Function N Test Register 8.2 Test Register The test register is an n-bit serial shift register, each bit corresponding to a specific test feature. Each ASIC test is selected by an n-bit code. Thus, the test register can also be interpreted as a test instruction register. It is loaded by shifting in n bits. Its serial nature economizes on ASIC resources (gates and interconnect). The test register is composed of TI TP000 (or TP0B0) macros (shown in Figure 8–2) daisy-chained together. The TP0B0 is the BiCMOS version of the TP000. The TP0B0 can substitute for the TP000 in the following descriptive sections. Figure 8–2. TP000 (Test Register Building Block) TP000 or TP0B0 GBUSENZ (LOW) GTSTEN (TEST1 OR TEST2) MSEL Master SCANIN D GTT C Q Slave D Q SCANOUT C GST Figure 8–3 illustrates how TP000 macros are integrated to form a test register. The TP000 macros are chained together through their SCANIN and SCANOUT signals. The SCANIN of the first TP000 is connected to an input pin. The SCANOUT of the last TP000 is connected to an output pin. Most of the remaining TP000 input signals (GTT, GST, and GBUSENZ) are connected in parallel. The GTSTEN signals are also connected in parallel but in two groups. These two groups correspond to the test register bit test function, either TEST1 or TEST2. Descriptions of TEST1 and TEST2 are presented later along with the GTAP controller. Generic Test Access Port 8-3 Test Register Figure 8–3. Typical Test-Register Architecture NORMAL OUT DISABLE HIZ MSEL TWE TEST2 TEST1 LOW GST S GTT SCANIN PAD SCANOUT TP000 GTAP_SCAN_IN TP000 MSEL1 MSEL2 TEST1 8-4 Design for Testability TP000 TP000 TP000 MSEL3 MSEL4 MSELn TEST2 PAD 1 GTAP_SCAN_OUT 1 2:1 MUX NORMAL OUTPUT DATA Test Register—Bit Definitions 8.3 Test Register—Bit Definitions Each test register bit controls an ASIC test feature. TI has identified and optimized a set of test features. Table 8–1 lists the currently identified test features. Table 8–1. Example Test-Register TP000 Assignments TP000 Type Function PWRDN TEST1 Turns off pullups and pulldowns VIH_VIL TEST1 Enables VIH/VIL output SRAM_OFF TEST1 Sets SRAMs to standby mode VIH_VIL CLK SELECT TEST2 Selects VIH_VIL CLK HI Z TEST2 I/O disable (sets high-impedance) PMT_I/O TEST2 Enables parallel module test datapaths MSELA TEST2 Enables MegaModule #1 MSELN TEST2 Enables BIST #1 MSELT TEST2 Expansion Generic Test Access Port 8-5 Test Register—Bit Definitions Table 8–2 lists the test register codes for selecting an ASIC test. The test register order is arbitrary. Table 8–2. Example Test-Register Test-Selection Codes TEST1 TEST2 VIH_VIL SRAM CLK PWRDN VIH/VIL OFF SELECT HI Z PMT_I/O MSELA MSELN MSELT ASIC Test PWRDN STATE 1 0 1 0 0 0 0 0 0 VIH/VIL_CLK_A 0 1 0 0 1 0 0 0 0 VIH/VIL_CLK_B 0 1 0 1 0 0 0 0 0 IIH/IIL/IOZ CURRENT 1 0 0 0 1 0 0 0 0 PU/PD CURRENT 0 0 0 0 1 0 0 0 0 VOL/VOH 1 0 0 0 0 0 0 0 0 PMT TEST ENABLE 1 0 0 0 0 1 1 0 0 BIST TEST ENABLE 1 0 0 0 0 0 0 1 0 EXPANSION 1 0 0 0 0 0 0 0 1 8-6 Design for Testability Controller 8.4 Controller The GTAP controller is the interface between the external device pins and the test register. It also controls test function sequencing via a state machine. Although the test register selects the test to be performed, the GTAP controller enables the selected test. The controller consists of five device pins: TEST, SCAN, MCLK, SCLK, and SCANIN. Only TEST is dedicated; the rest can have normal input functions but assume GTAP controller input functions when TEST is high. TEST Dedicated test pin (low = normal mode, high = test mode) SCAN Shared test pin option. While TEST is low, this pin behaves as a normal input pin. While TEST is high, this pin behaves as a GTAP controller input pin, and low-to-high transitions change the controller state. MCLK Shared test pin option. While TEST is low, this pin behaves as a normal input pin. While TEST is high, this pin behaves as a GTAP controller input pin; a low level holds each TP000 master latch, and a high level passes data through each TP000 master latch. SCLK Shared test pin option. While TEST is low, this pin behaves as a normal input pin. While TEST is high, this pin behaves as a GTAP controller input pin; a low level holds each TP000 slave latch, and a high level passes data through each TP000 slave latch. Generic Test Access Port 8-7 Communication Protocol 8.5 Communication Protocol As shown in Figure 8–4, the device enters test mode when you set the dedicated TEST pin high. The controller is in TEST1 state, as shown in Figure 8–4. The controller can be cycled through the remaining states, WRITE, RESTORE1, TEST2, and RESTORE2, by toggling SCAN low-to-high. At any time, returning TEST pin low exits the test mode. Upon entering test mode (TEST high), any smart-controller I/O signals (excluding TEST) must be internally latched. Thus, the core logic continues to see the last normal pin values. This isolates the core logic from the controller signals. These signals remain latched until TEST returns low. The test port operates in two distinct testing levels, TEST1 and TEST2. These two levels serve to better control the testing environment. TEST1 Very mild test condition. The device state remains unchanged. Minor test functions are enabled, pullup and pulldown macros disabled, and VIH/VIL output enabled. All device pins remain in normal mode. TEST2 Serious test condition. The device state may change as a result of performing one of these tests. Device pins may be forced to change directions. TEST1 features are also enabled during TEST2. WRITE Permits writing to the test register. Only the GTAP I/O pins should be active. All remaining device pins remain in normal mode. Because the shared controller I/O pins were internally latched on entering test mode, loading the test register does not disturb the device state if the normal values are reapplied during the RESTORE1 state. The scanout data from the test register are selected for the output buffer. RESTORE1 Permits the shared controller pins to return to normal values without affecting the test register following WRITE state. RESTORE2 Permits the shared controller pins to return to normal values without affecting the test register following TEST2 state. Figure 8–4 is a state-transition diagram for the GTAP controller. 8-8 Design for Testability Communication Protocol Figure 8–4. GTAP-Controller State Transition Diagram Off 0 TEST 1 TEST1 0 TEST 1 N L>H SCAN Y WRITE 0 TEST 1 N L>H SCAN Y RESTORE1 0 TEST 1 SCAN N L>H Y TEST2 0 TEST 1 SCAN N L>H Y RESTORE2 0 TEST 1 SCAN N L>H Y Generic Test Access Port 8-9 Communication Protocol 8-10 Design for Testability Chapter 9 Parallel Module Test This chapter provides an overview of parallel module test (PMT). PMT provides direct access to MegaModules from device pins. See Part 4: Multiplexed Parallel Module Test Application Report for a detailed discussion of PMT. Informative application examples are supplied. Topic Page Parallel Module Test of MegaModules . . . . . . . . . . . . . . . . . . . . . 9–2 MegaModule Test Collar . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9–4 Single MegaModule PMT I/O Hookup . . . . . . . . . . . . . . . . . . . . . . 9–5 PMT Test Bus . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9–6 Multiple MegaModule PMT I/O Hookup . . . . . . . . . . . . . . . . . . . . . 9–7 PMT for Analog MegaModules . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9–9 In-System Use . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9–21 9-1 Parallel Module Test of MegaModules 9.1 Parallel Module Test of MegaModules TI supplies you with libraries of complex ASIC macro functions, called MegaModules. Examples of MegaModules are RAMs and analog-to-digital converters. You can integrate MegaModules into your logic as easily as simple macros. After fabrication, all ASIC devices must be tested. Testing an embedded MegaModule with functional test vectors can be difficult or impossible. MegaModules can be deeply buried within logic. Many functional test vectors can be required for just one MegaModule access. MegaModules cannot be tested efficiently this way. Parallel module test (PMT) is designed to test MegaModules. PMT directly accesses the MegaModules from device pins, bypassing the intermediate logic. PMT permits efficient communication with MegaModules (in parallel as opposed to serial). TI supplies test vectors for its MegaModules. The generic test access port (GTAP) provides the control for PMT (Figure 9–1). This chapter introduces a generic PMT implementation. A detailed presentation is in Part 4: Multiplexed Parallel Module Test Application Report. Analog MegaModules have some special PMT implementation considerations. These special case implementations of PMT are also presented in this chapter. 9-2 Design for Testability Parallel Module Test of MegaModules Figure 9–1. GTAP-Controlled PMT Block Diagram GTAP TEST SCAN MCLK SCLK TWE GTAP Controller (TP012 or TP0B2)) Test Register (TP000s or TP0B0s) SCANIN MegaModule MegaModule SCANOUT MegaModule TEST_INPUT Bus TEST_OUTPUT Bus Parallel Module Test 9-3 MegaModule Test Collar 9.2 MegaModule Test Collar PMT requires that each MegaModule have a test collar. The test collar provides the TEST_INPUT bus interface and it is constructed from library components. Figure 9–2 shows a 2:1 multiplexer connected to each of the MegaModule’s inputs. These multiplexers select either the normal or test input signal into the MegaModule. The selection of normal or test mode is controlled by the PMT_IO test signal. Figure 9–3 shows a single MegaModule PMT implementation. Figure 9–2. MegaModule With a Test Collar PMT_IO MegaModule 2:1 MUX S NORM_IN TEST_INPUT 9-4 A B Design for Testability IN OUT NORM_OUT TEST_OUT Single MegaModule PMT I/O Hookup 9.3 Single MegaModule PMT I/O Hookup MegaModule TEST_INPUT connections are passed through an input buffer to the B terminal of the MegaModule’s collar input multiplexer. The input side of a bidirectional buffer can be used as a TEST_INPUT connection if the output portion of the buffer is disabled with the PMT_IO test signal. The interconnect loading of the TEST_INPUT connection can be isolated from the input buffer by an internal buffer as shown in Figure 9–3. The MegaModule outputs connect to the B terminal of a multiplexer prior to the output buffer. The multiplexer, prior to the output buffer, selects the core logic out or the TEST_OUTPUT, depending on the PMT_IO test signal. Because PMT passes the TEST_INPUT and TEST_OUTPUT signals through the I/O buffers, there are few restrictions on the buffer types that can be used. The GTAP controller inputs cannot be used for PMT TEST_INPUT or TEST_OUTPUT signals. Figure 9–3. Single MegaModule PMT Normal_Z PMT_IO A B 2:1 MUX S Core Logic PAD A Y B Input Buffer PAD Output Buffer 2:1 MUX S TEST_INPUT A B Y MegaModule TEST_OUTPUT Parallel Module Test 9-5 PMT Test Bus 9.4 PMT Test Bus If a device has multiple MegaModules, all TEST_INPUT signals can be bused together. Similarly, all TEST_OUTPUT signals can also be bused together. The device’s TEST_INPUT or TEST_OUTPUT bus is as wide as the widest MegaModule’s TEST_INPUT or TEST_OUTPUT bus, respectively. When connecting two TEST_INPUT/TEST_OUTPUT buses, TI recommends that like signals be bused together. For example, RAM MegaModule TEST_INPUT signals are composed of address, control, and input data. The address signal of one RAM MegaModule should be connected to the address signals of another RAM MegaModule. The selection of the MegaModule under test is controlled by the MSEL test signal. Identical MegaModules should have their outputs hooked to the output bus in a unique order to ensure that the correct MegaModule is being addressed during PMT testing. 9-6 Design for Testability Multiple MegaModule PMT I/O Hookup 9.5 Multiple MegaModule PMT I/O Hookup MegaModule TEST_INPUT bus connections are passed through an input buffer to the B terminal of the MegaModule’s collar input multiplexer. The input side of a bidirectional buffer can be used as a TEST_INPUT connection if the output portion of the buffer is disabled with the PMT_IO test signal. The interconnect loading of the TEST_INPUT connection can be isolated from the input buffer by an internal buffer, as shown in Figure 9–4. MegaModule outputs connect to the TEST_OUTPUT bus through an internal 3-state inverter. When the MegaModule is deselected, its internal 3-state buffer is placed in the high-impedance mode by MSEL. The polarity of the TEST_OUTPUT bus must be reestablished with an inverter, unless the output buffer is inverting. The multiplexer, prior to the output buffer, selects the core logic out or the TEST_OUTPUT bus depending on the PMT_IO test signal. A bus holder is required on the TEST_OUTPUT bus to keep it from floating during normal operation. Because this type of PMT passes the test buses through the I/O buffers, there are fewer restrictions on the buffer types that can be used with TEST_IN and TEST_OUT. The GTAP controller inputs cannot be used on either test bus. Parallel Module Test 9-7 Multiple MegaModule PMT I/O Hookup Figure 9–4. PMT Test Bus Hookup Normal_Z PMT_IO A B 2:1 MUX S Core Logic PAD A B Input Buffer 2:1 MUX S TEST_INPUT BUS A B Y A B Y Output Buffer MSEL1 MegaModule 1 2:1 MUX S PAD Y TEST_OUTPUT BUS MSEL2 MegaModule 2 Bus Holder The following are PMT hookup rules. 9-8 ❏ A dedicated signal pin is required to initiate the test mode of the operation (TEST signal on the TP012 or TP0B2 GTAP). ❏ The TEST pin and the four GTAP controller pins (SCAN, SCANIN, MCLK, and SCLK) are not available for PMT data signals. ❏ The IOG12, SW010, and SW012 buffers cannot be used for PMT data signals. ❏ VREF pins and bias generator pins cannot be used for PMT data signals. ❏ The required maximum number of input test pins on any MegaModule must not exceed the number of available intput buffers on the package minus the five GTAP pins. ❏ The required maximum number of output test pins on any MegaModule must not exceed the number of output buffers available in the package. Design for Testability PMT for Analog MegaModules 9.6 PMT for Analog MegaModules PMT implementation for analog MegaModules has one important variation. Analog signals connect directly to the analog MegaModule. Analog input signals pass through analog input macros and connect directly to the MegaModule’s analog inputs, bypassing the collar. MegaModule analog output signals connect directly to analog output macros. All control signals and nonanalog data signals are implemented using the standard PMT collar and hookup method. 9.6.1 PMT for a Single Analog-to-Digital (A/D) Converter Figure 9–5 and Figure 9–6 show the PMT implementation for single A/D converter MegaModules. With the exception of the AIN signal, all MegaModule TEST_INPUT signal connections are passed through an input buffer to the B terminal of the MegaModule’s test collar input multiplexers. The MegaModule’s test collar multiplexers select the core logic in or the TEST_INPUT signal, depending on the PMT_IO test signal. The MegaModule’s output signals connect to the B terminal of the multiplexers prior to the output buffers. The multiplexers, prior to the output buffers, select the core logic out or the TEST_OUTPUT signal, depending on the PMT_IO test signal. The analog input signals (AIN) pass through analog input buffers (SW010 or IOG12) directly to the A/D MegaModule, bypassing the test collar. The analog input buffer’s TEST_ENABLE signals are passed through an input buffer to the B terminal of a test collar multiplexer at the analog input buffer. The analog input buffer’s test collar multiplexer selects the core logic in or the TEST_ENABLE signal, depending on the PMT_IO test signal. Parallel Module Test 9-9 PMT for Analog MegaModules Figure 9–5. PMT for a Single Analog-to-Digital Converter Core Logic SW010 PAD S AC810 PAD IOG12 AIN D7 A B Y PAD Y PAD Y PAD S A B PAD Y S S A B PAD D0 Y A B CLRZ S S PAD A B Y CONVZ SLEEP A B S PAD A B Y Normal_Z PMT_IO 9-10 Design for Testability A B PMT for Analog MegaModules Figure 9–6. PMT for a Single Video Band Analog-to-Digital Converter Core Logic AC811/812 S A B PAD Y TESTCLRZ TEST S A B PAD PAD IOG12 Y S AIN A B SW010 D7 PAD PAD Y PAD Y PAD TDI7 S A B D0 PAD TDI0 S PAD A B Y Normal_Z PMT_IO A B Parallel Module Test 9-11 PMT for Analog MegaModules 9.6.2 PMT for Multiple Analog-to-Digital Converters If the device has multiple A/D converters, busing can be used. All TEST_ENABLE inputs can be bused together. All TEST_INPUT inputs can be bused together. All TEST_OUTPUT outputs can be bused together. A bus holder (PB110) is required for each bit of the TEST_OUTPUT bus. Identical MegaModules should have their outputs hooked to the TEST_OUTPUT bus in a unique order to ensure that the correct MegaModule is being addressed during PMT testing. Figure 9–7 and Figure 9–8 are examples of PMT for multiple analog-todigital converters. 9-12 Design for Testability PMT for Analog MegaModules Figure 9–7. PMT for Multiple Analog-to-Digital Converters Core Logic AC810 S PAD SW010 PAD MSEL1 S A B A Y B AIN D7 IOG12 PAD S A B Y S PAD A B PAD S PAD A B S A Y CLRZ B D0 S SLEEP CONVZ AC810 PAD Bus Hold- MSEL2 PAD A B PAD Bus Holder AIN D7 S A B S PAD A B CLRZ Bus Holder D0 Y S A Y S A B CONVZ SLEEP PAD B Normal_Z A B Parallel Module Test 9-13 PMT for Analog MegaModules Figure 9–8. PMT for Multiple Video Band Analog-to-Digital Converters Core Logic AC811/812 PAD TEST A Y B S PAD TESTCLRZ S PAD IOG12 SW010 IOG1 A B Y MSEL1 AIN PAD PAD S A Y B D7 TDI7 S A Y B D0 PAD TDI0 AC811/812 Bus Hold- TEST S A B PAD Y S MSEL2 A Y B PAD AIN IOG12 SW010 D7 PAD TDI7 S PAD A Y B D0 TDI0 Normal A B PMT_IO 9-14 Bus Holder TESTCLRZ Design for Testability PAD PAD PMT for Analog MegaModules 9.6.3 PMT for a Single Digital-to-Analog Converter Figure 9–9 shows the PMT implementation for single D/A converter MegaModules. All MegaModule TEST_INPUT signal connections are passed through an input buffer to the B terminal of the MegaModule’s test collar multiplexers. The MegaModule’s test collar multiplexers select the core logic in or the TEST_INPUT signal, depending on the PMT_IO signal. With the exception of the AOUT signal, the MegaModule’s TEST_OUTPUT signals connect to the B terminal of the multiplexers prior to the output buffers. The multiplexers, prior to the output buffers, select the core logic out or the TEST_OUTPUT signal, depending on the PMT_IO signal. The analog output signal (AOUT) passes directly from the D/A MegaModule to an analog I/O buffer (IOG12). The analog input buffer’s TEST_ENABLE signals are passed through an input buffer to the B terminal of a test collar multiplexer at the analog input buffer. The analog input buffer’s test collar multiplexer selects the core logic in or the TEST_ENABLE signal, depending on the PMT_IO signal. Parallel Module Test 9-15 PMT for Analog MegaModules Figure 9–9. PMT for a Single Video Band Digital-to-Analog Converter DA811 S IOG12 AOUT PAD A PAD B S S A B A B PAD TDO7 Y Y Y PAD Y PAD D7 S TDO0 S A B PAD Y D0 Normal_Z A B PMT_IO 9.6.4 A B PMT for Multiple Digital-to-Analog Converters If the device has multiple D/A converters, busing can be used. All TEST_ENABLE inputs can be bused together. All TEST_INPUT inputs can be bused together. All TEST_OUTPUT outputs can be bused together. A bus holder (PB110) is required for each bit of the TEST_OUTPUT bus. Identical MegaModules should have their outputs hooked to the TEST_OUTPUT bus in a unique order to ensure that the correct MegaModule is being addressed during PMT testing. Figure 9–10 and Figure 9–11 are examples of PMT for multiple digital-toanalog converters. 9-16 Design for Testability PMT for Analog MegaModules Figure 9–10. PMT for Multiple Digital-to-Analog Converters Core Logic DA810 S PAD A B Y CLRZ AOUT IOG12 PAD S PAD AY B SLEEPZ S MSEL1 AY B S PAD A B Y PAD Y TDO7 A Y B TDO0 S A Y B PAD D7 S A B S PAD D0 DA810 S AY B CLRZ AOUT IOG12 PAD S A B Y SLEEPZ MSEL2 Bus Holder S PAD AY B TDO7 Bus Holder S AY B D7 TDO0 S AY B PMT_IO D0 A B Parallel Module Test 9-17 PMT for Analog MegaModules Figure 9–11. PMT for Multiple Video Band Digital-to-Analog Converters Core Logic DA811 S A Y B IOG12 AOUT PAD MSEL1 S S A Y B PAD D7 S A B PAD Y D0 A Y B TDO0 A Y B PAD B IOG12 PAD MSEL2 D7 TDO7 Bus Holder Bus Holder S Y D0 TDO0 PMT_IO 9.6.5 S A Y AOUT S A B PAD DA811 S PAD Y A B TDO7 A B PMT for a Single Differential Amplifier Figure 9–12 shows the PMT implementation for a single differential amplifier. The MegaModule’s analog input signals (INP and INM) pass directly through analog I/O (IOG12) buffers into the differential amplifier. The MegaModule’s analog output signal (AOUT) passes directly from the differential amplifier to an analog I/O (IOG12) buffer. 9-18 Design for Testability PMT for Analog MegaModules All remaining MegaModule TEST_INPUT signal connections are passed through an input buffer to the B terminal of the MegaModule’s test collar multiplexers. The MegaModule’s test collar multiplexers select the core logic in or the TEST_INPUT signals, depending on the PMT_IO test signal. Figure 9–12. PMT for a Single Differential Amplifier Core Logic DA811 S A Y B IOG12 AOUT PAD MSEL1 S S PAD A Y B D7 S PAD A B Y A Y B TDO0 A Y B PAD B IOG12 PAD MSEL2 D7 TDO7 Bus Holder Bus Holder S PMT_IO S A Y AOUT S A B PAD DA811 S PAD D0 Y A B TDO7 Y D0 TDO0 A B Parallel Module Test 9-19 PMT for Analog MegaModules 9.6.6 PMT for Multiple Differential Amplifiers If the device has multiple differential amplifiers, busing can be used. All TEST_ENABLE inputs can be bused together. All TEST_INPUT inputs can be bused together. Figure 9–13 is an example of PMT for multiple differential amplifiers. Figure 9–13. PMT for Multiple Differential Amplifiers Core Logic DA811 S A Y B IOG12 AOUT PAD MSEL1 S S A Y B PAD D7 S A B PAD Y D0 A Y B TDO0 A Y B 9-20 Design for Testability PAD B IOG12 MSEL2 D7 TDO7 Bus Holder Bus Holder S PMT_IO S A Y AOUT S A B PAD DA811 S PAD Y A B TDO7 Y D0 TDO0 A B PAD In-System Use 9.7 In-System Use The multiplexed PMT implementation passes all MegaModule test signals through I/O buffers. At-speed operation of these MegaModules through direct access is limited only by the MegaModule’s capabilities and the performance of the hookup. For this reason, multiplexed PMT ports can be appropriate for in-system functions such as preload or status checks. Parallel Module Test 9-21 In-System Use 9-22 Design for Testability Chapter 10 Parametric Measurements This chapter presents dc parametric measurements. Parametric measurements validate conformance to the electrical data sheet. Topic Page Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10–2 Input Threshold Voltage Levels Using a Clocked NAND Tree (VIH_VIL TDL Type) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10–4 Output Voltage Levels (DC_PARA TDL Type) . . . . . . . . . . . . . . . 10–10 Three-State High-Impedance Measurements (DC_PARA TDL Type) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10–11 Input Current Measurements (DC_PARA TDL Type) . . . . . . . . . 10–12 Quiescent Drain Supply Current (IDDQ TDL Type) . . . . . . . . . . 10–13 10-1 Overview 10.1 Overview Parametric testing ensures conformance to the electrical data sheet. It requires functional test patterns to be developed for parametric testing. Parametric test patterns must be simulated to check for accuracy and for circuit hazards such as bus contention. If the circuit has IEEE Standard 1149.1 boundary-scan architecture, the boundary-scan feature should be used to facilitate input threshold, input leakage current, and output voltage level measurements. Most parametric testing pattern sets are assigned the DC_PARA TDL type. The DC_PARA pattern set should provide 100 percent toggle of all I/Os. This means that it drives all outputs to a logic low and a logic high. Bidirectional and 3-state outputs are driven to the high-impedance state. It also drives all inputs to a logic low and a logic high. Parametric testing is completed with the dc current leakage pattern set that is assigned the DC_PARA TDL type and the optional input threshold voltage pattern set that is assigned the VIH_VIL TDL type. The table below gives the required TDL states for the various signal types. 10-2 Design for Testability Overview Table 10–1. Toggle States Signal Type Required TDL States Input with no pullup/pulldown {L H} Input with pullup {L H | L T} Input with pulldown {L H | F H} Negative (101) clocks {C | H} Positive (010) clocks {C | L} Push-pull output including ECL and PECL {0 1N1} 3-state output with no pullup/pulldown {0 1 Z} 3-state output with pullup {0 1 Z | 0 1 P} 3-state output with pulldown {0 1 Z | 0 1 N} N-channel open drain output with no pullup/pulldown {0 Z} N-channel open drain with pullup {0 Z | 0 P} N-channel open drain, BTL/CTL/GTL {01 | 0P} Bidi (3-state output) with no pullup/pulldown {0 1 L H} Bidi (3-state output) with pullup { 0 1 L H | 0 1 L T} Bidi (3-state output) with pulldown {0 1 L H | 0 1 F H} Bidi (N-channel open drain) with no pullup/pulldown {0 L H} Bidi (N-channel open drain) with pullup {0 L H | 0 L T} Bidi (BTL/CTL/GTL) {0 L H} Bidi (CML/ECL/PECL) with no pullup/pulldown {0 1 H L | N1HL} Parametric Measurements 10-3 Input Threshold Voltage Levels Using a Clocked NAND Tree (VIH_VIL TDL Type) 10.2 Input Threshold Voltage Levels Using a Clocked NAND Tree (VIH_VIL TDL Type) VIH_VIL TDLs are optional. Circuits that implement boundary scan can be used to measure VIH and VIL. The SAMPLE/PRELOAD and EXTEST instructions can be used to capture the input logic level. The capture is scanned out for comparison to expected values. Three test patterns are required. They are a safe circuit initialization pattern, an all-inputs-at-VIL pattern (inputs include bidirectionals), and an allinputs-at-VIH pattern. For more information, see Chapter 13, IEEE Standard 1149.1-Based dc Parametric Testing. Circuits that are not IEEE Standard 1149.1-compliant need threshold circuitry to be added. Figure 10–1 shows the recommended circuitry commonly referred to as a clocked NAND tree. This approach requires the addition of a 2-input NAND gate to every input pin as well as CLK and VIH_VIL OUT pins. The NAND tree provides a purely combinatorial path from all inputs to a single VIH_VIL OUT through a flip-flop. Do not use a bidirectional buffer for the VIH_VIL OUT. The first NAND gate in the tree has one input connected to the high terminal of a tie-off cell. The flip-flop at the end of the NAND tree serves to break up a positive feedback loop between an input buffer and the NAND tree output. All the input buffers are driven to VIHmin and VILmax during VIH/VIL testing of the silicon. When the NAND tree output switches, it causes some power bus noise and some input threshold voltage shifting. Sometimes this threshold shifting is sufficient to cause an input buffer to output the opposite state. The input buffer may cause the NAND tree to switch again, completing the positive feedback loop. The positivw feedback loop can also exist between asynchronous inputs and outputs. for this reason, TI recommends that you exclude clocks, resets, presets, and other asynchronous inputs from the NAND-tree circuitry. 10-4 Design for Testability Input Threshold Voltage Levels Using a Clocked NAND Tree (VIH_VIL TDL Type) Figure 10–1. Clocked NAND Tree Circuit (Dedicated Control Pins) Hi Tie-Off Lo IN1 To Functional Logic IN2 To Functional Logic IN3 To Functional Logic IN4 To Functional Logic ••• INM-1 To Functional Logic INM To Functional Logic DTN12 D Q CLK To Functional Logic (Dedicated) PAD (Dedicated) VIH_VIL_TEST_OUT Parametric Measurements 10-5 Input Threshold Voltage Levels Using a Clocked NAND Tree (VIH_VIL TDL Type) The test patterns are specific. The first pattern consists of VIH threshold voltages on all inputs. The threshold voltages are then applied in accordance with Table 10–2. A circuit containing M number of input pins needs 2(M+1) test patterns to test both VIH and VIL thresholds. Table 10–2. VIL/VIH Test Patterns (Dedicated Control Pins) Inputs VIH_VIL OUT CLK IN1 IN2 ... INM-1 INM M=EVEN M=ODD = 1 1 ... 1 1 1 0 = 0 1 ... 1 1 0 1 . . . . . . . . . . . . . . . . . . . . . 1 0 0 ... 1 1 1 1 = 0 0 ... 0 1 0 0 = 0 0 ... 0 0 1 1 = 0 0 ... 0 1 0 0 = 0 0 ... 1 1 1 1 . . . . . . . . . . . . . . . . . . . . . = 0 1 ... 1 1 0 1 = 1 1 ... 1 1 1 0 On designs that have a bidirectional bus, running the normal NAND tree patterns may cause bus conflict conditions. This problem can be resolved by placing the TTL or CMOS bidirectional drivers in the high-impedance mode with a HI-Z signal. For ECL bidirectional pins, the Hi-Z signal puts the output driver in the cutoff mode. See Figure 10–2 for an example. For designs that do not have extra pins available for CLK and VIH_VIL OUT, these signals can be multiplexed with other signal pins. See Figure 10–3 for an example. The test patterns for the example in Figure 10–3 must be 10-6 Design for Testability Input Threshold Voltage Levels Using a Clocked NAND Tree (VIH_VIL TDL Type) modified and are shown in Table 10–3. Test pattern generation is simplified if CLK1 is placed on the input whose NAND gate is connected to the tie-off cell. The placement of CLK2 is arbitrary. Figure 10–2. CMOS ASIC NAND Tree Configurations From NAND Tree or high output of a tie-off macro(TO010) Input Types PAD To Functional Logic PAD To Functional Logic VREF PAD To Functional Logic PAD From Functional Logic PAD From Functional Logic To Functional Logic From Functional Logic PAD From Functional Logic VREF To Functional Logic ••• To NAND Tree HI-Z (From the GTAP) Parametric Measurements 10-7 Input Threshold Voltage Levels Using a Clocked NAND Tree (VIH_VIL TDL Type) Figure 10–3. Clocked NAND Tree Circuit (Shared Control Pins) Hi Tie-Off Lo IN1 (Shared CLK1) To Functional Logic MU111 S A B Y IN2 To Functional Logic IN3 To Functional Logic IN4 To Functional Logic ••• To Functional Logic INM-1 MU111 S INM (Shared CLK2) VIL_VIH Clock Select (GTAP) VIL_VIH Enable (GTAP) From Functional Logic From Functional Logic 10-8 Design for Testability A B To Functional Logic Y DTN12 MU111 D Q S A B Y MU111 S A B Y Shared PAD VIH_VIL_Test_OUT Input Threshold Voltage Levels Using a Clocked NAND Tree (VIH_VIL TDL Type) Table 10–3. VIH_VIL Test Patterns (Shared Control Pins) Inputs VIL_VIH Clock Select VIH_VIL OUT CLK1 IN1 IN2 IN3 ... INM-1 CLK2 INM M=EVEN M=ODD L = H H ... H H 0 1 L = L H ... H H 1 0 L = L L ... H H 0 1 . . . . . . . . . . . . . . . . . . . . . . . . L = L L ... L H 0 0 L = L L ... L L 1 1 H L L L ... H = 0 0 . . . . . . . . . . . . . . . . . . . . . . . . H L L H ... H = 0 1 H L H H ... H = 1 0 H H H H ... H = 0 1 Parametric Measurements 10-9 Output Voltage Levels (DC_PARA TDL Type) 10.3 Output Voltage Levels (DC_PARA TDL Type) Circuits that implement boundary scan can be used to test output logic levels. The IEEE Standard 1149.1 instructions used are SAMPLE/PRELOAD and EXTEST. Three test patterns are required. They are a safe circuit initialization pattern, an outputs-at-VOL pattern, and an outputs-at-VOH pattern (see Chapter 13, IEEE Standard 1149.1-Based dc Parametric Testing ). If boundary-scan architecture is not used, the VOL/VOH measurement is made from a dc parametric pattern set that drives all outputs to a logic low and a logic high. Be sure to simulate these parametric patterns to verify that all outputs are driven high and low and to avoid circuit hazards such as bus contention. 10-10 Design for Testability Three-State High-Impedance Measurements (DC_PARA TDL Type) 10.4 Three-State High-Impedance Measurements (DC_PARA TDL Type) Circuits that implement boundary-scan can be used to test 3-state highimpedance outputs. The IEEE Standard 1149.1 instructions used are SAMPLE/PRELOAD and EXTEST. Two test patterns are required. They are a safe circuit initialization pattern and an all-three-state-outputs-disabled pattern (see Chapter 13, IEEE Standard 1149.1-Based dc Parametric Testing ). The same safe circuit initialization pattern set can be used for all input and output parametric measurements using boundary scan. If boundary scan is not used, the high-impedance measurement is made from a functional pattern set that disables all outputs. Be sure to simulate these patterns to verify that all outputs are disabled and to avoid circuit hazards such as bus contention. When pullups or pulldowns are used on your outputs, you will need to supply test patterns to both disable and enable them while the output is highimpedance. Leakage measurements are made when the pullup or pulldown is disabled. DC through current measurements are made when the pullup or pulldown is enabled. Parametric Measurements 10-11 Input Current Measurements (DC_PARA TDL Type) 10.5 Input Current Measurements (DC_PARA TDL Type) Circuits that implement boundary scan can be used to test input current. The pattern set must force all inputs to logic 1 and logic 0. Be sure to simulate this pattern set to verify that all inputs are exercised high and low, and to avoid circuit hazards such as bus contention. If boundary scan is not used, the input current measurements are made from a functional pattern set. The pattern set must force all inputs to logic 1 and logic 0. Be sure to simulate this pattern set to verify that all inputs are exercised high and low, and to avoid circuit hazards such as bus contention. When pullups or pulldowns are used on your inputs, you will need to supply test patterns to both disable and enable them. Leakage measurements are made when the pullup or pulldown is disabled. DC through current measurements are made when the pullup or pulldown is disabled. 10-12 Design for Testability Quiescent Drain Supply Current (IDDQ TDL Type) 10.6 Quiescent Drain Supply Current (IDDQ TDL Type) The classical stuck-at fault model has been quite successful in detecting shorts and opens. It has been pointed out that the stuck-at model does not represent some types of CMOS faults, most notably threshold drifts and surface contamination. Quiescent drain supply current (IDDQ) testing has proved useful in supplementing stuck-at testing. Excessive CMOS leakage indicates either an existing logical fault or a marginal device that is likely to fail. Test conditions for IDDQ must turn off all circuits that produce dc current in the static state and are assigned the IDDQ TDL type. The circuit design and test pattern must eliminate the following sources of dc current. 10.6.1 Initialize the ASIC to a Sustainable Logic State For IDDQ testing, the tester pauses at the designated test pattern and measures the power pin current. The pause can last several hundred milliseconds for a production test to several minutes during a debug process. For this reason, the designated IDDQ test vector must permit an indefinite pause without damage to the device and maintain the ASIC device’s logic initialization. 10.6.2 Eliminate dc Through-Current That Interferes With IDDQ Testing Disabling the dc through current makes it possible to detect abnormally high current drawn by CMOS faults. Observe the following guidelines to disable dc through-current: ❏ Some macros have a testability pin to disable the dc through-current. Pullups, pulldowns, LVDS buffers, bias generators,and oscillators have the PWRDN pin. Drive the PWRDN signal to disable the dc through current for IDDQ testing. ❏ Some macros, such as ECL I/O buffers, cannot disable their dc throughcurrent, but are isolated by a power pin independent of the core logic’s power pin. This allows IDDQ measurements to be made on the core logic. ❏ Floating internal nodes, floating I/O inputs, and internal bus contention cause dc through-current and must be avoided. Parametric Measurements 10-13 Quiescent Drain Supply Current (IDDQ TDL Type) ❏ Non-terminated bidirectional buffers (e.g. TTL, PCI, CMOS) must not be masked during an IDDQ test. The tester is disconnected from the pin when an output TDL state (including masks) is specified at an IDDQ test pattern. When the is physically in the high-impedance state, the pin floats and the input buffer draws dc through current. 10.6.3 Identify the IDDQ Test Locations in the TDL Identify test locations by placing an ASIC_TEST IDDQ statement after each IDDQ test vector. Identify any TDL pattern set containing an IDDQ test with the IDDQ pattern set type. 10-14 Design for Testability Chapter 11 Automatic Test Pattern Generation Automatic test pattern generation (ATPG) techniques are increasingly being used to create high-fault-coverage test patterns. Topic Page Introduction to Automatic Test Pattern Generation . . . . . . . . . . 11–2 Path Sensitization . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11–5 Full-Scan Designs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11–6 Partial-Scan Designs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11–7 Testing and Debugging Considerations . . . . . . . . . . . . . . . . . . . 11–8 Common ATPG Constraints . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11–9 Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11–10 11-1 Introduction to Automatic Test Pattern Generation 11.1 Introduction to Automatic Test Pattern Generation This chapter discusses an increasingly popular test methodology called Automatic Test Pattern Generation (ATPG). It is the intent of this discussion to provide a practical overview of today’s circuit environment. Three ATPG approaches for sequential circuits (full scan, partial scan, and nonscan) are discussed. Important testing and debugging implications of using the ATPG approach are also presented. The circuit design environment has evolved dramatically over the past few years, providing computing power and software to aid in almost every phase of the design process. Schematic capture, simulation, test extraction, and layout represent the essential software programs for a complete design system. Semiconductor process technology has kept pace, permitting implementation of extremely complex logic systems on a single chip. This has resulted in an increase in the difficulty of chip testing. Much of the added testing difficulty is due to higher gate density. Packing more logic onto one circuit greatly increases the gate-to-I/O ratio and decreases the accessibility of that logic. Allowing a reasonable number of I/ O signals to be dedicated for testing can ease the testing process considerably. These test signals can be used to add controllability or observability to the circuit in a variety of ways. For many designs, setting aside the desired number of dedicated test pins is not possible due to pinout constraints. In spite of these obstacles, a complete and efficient test program must be generated. Most often, designers specify a functional simulation, and the test program is automatically extracted from the functional simulation results. Fault grading tools allow you to grade the test program by calculating a fault coverage percentage. You can then add to the test program to increase the fault coverage to an acceptable level. An integrated design environment begins with circuit design entry (as shown in Figure 11–1) and proceeds with electrical rules checking and simulation. During the design process, it is often necessary to modify the circuit design to correct errors and include enhancements. Once the design has been stabilized, the process of test generation must be accomplished. It is important for testing considerations to be addressed early in the design phase so that test generation becomes a task of implementing the predefined testing plan. You should decide on a target percentage for fault coverage as soon as possible, because a high target percentage may require the adoption of certain circuit design methods. 11-2 Design for Testability Introduction to Automatic Test Pattern Generation Figure 11–1. Typical Design Flow Circuit Design Entry Electrical Rules Checking Simulation Test Generation Fault Simulation Layout Fabrication It is possible that, during the ATPG phase, the need for additional test points to achieve the target percentage becomes apparent. (See Chapter , Ad Hoc Testability Practices, and Chapter 6, Structured Testability Practices, for approaches to designing for testability.) If this is the case, the netlist must be modified and resimulated. It is important, in terms of efficiency and effectiveness, that the ATPG software be integrated into the design environment. ATPG tools require the circuit description at gate level, all circuit timing information, any pregenerated functional test patterns and any userspecified parameters. The software uses this information to follow a flow similar to that shown in Figure 11–2. Automatic Test Pattern Generation 11-3 Introduction to Automatic Test Pattern Generation Figure 11–2. Typical ATPG Flow Check Circuit for Adherence to Any Scan Design Rules Imposed by ATPG Tool Fault Grade Pregenerated Functional Test Patterns Select an Undetected Fault Generate Test Patterns to Detect Fault Fault Simulation Eliminate Additionally Detected Faults from Consideration In this flow, the first step is to check the circuit for adherence to any designfor-testability rules imposed by the ATPG tool. Fault simulation is then performed with the optional user-generated functional patterns. All faults detected by these patterns are tagged and eliminated from the ATPG process. Any remaining undetected faults are passed to the ATPG algorithm where tests are generated for these faults. Fault simulation is rerun to check the effects of generating the input patterns necessary to check the faults under consideration, and to identify any previously undetected faults that may have been detected by this pattern. Iteration of this process continues until the desired fault coverage is achieved. Fault simulation, as an intermediate step, checks the targeted fault as well as all other undetected faults, thus reducing the number of ATPG iterations. 11-4 Design for Testability Path Sensitization 11.2 Path Sensitization Test pattern generation programs use a variety of methods to achieve essentially the same test generation capability. The definition of a good test for a fault is an input combination that produces an incorrect output when the fault under consideration is present in the circuit. Thus, the presence of the fault can be observed at the outputs. Path sensitization is one such method of generating a test for a fault. The general procedure is: 1) Select a fault (such as node stuck-at-one). 2) Assign the faulty wire a value opposite to the fault condition (such as ode stuck-at-zero). This allows sensitization for the expected signal. 3) Choose a path from the fault to a circuit output. 4) Sensitize this path by assigning logic values to gate inputs along the path such that the signal is passed to the circuit output. 5) Execute the test to detect the signal by determining the network inputs that produce the desired values on gate inputs along the sensitized path. Some variations of this path sensitization method are used in commercial ATPG programs. All are effective methods for generating tests for faults in most combinatorial circuitry (without reconvergent fanout). However, few tools are effective for ATPG of sequential circuits. This has led to the development of a set of design rules to simplify test generation in sequential circuits. Level-sensitive scan design (LSSD) is one such design methodology that imposes design restrictions that allow the circuit to be forced into a test mode in which the ATPG methods above can be used to generate tests for faults. Another approach is random vector generation. This method has straightforward applications for some combinatorial circuitry but has not been extended effectively to sequential circuitry. Certain combinatorial circuits lend themselves nicely to this approach while others do not. Current ATPG tools are unable to achieve good results on complex designs without DFT features. Most of the commercial, general-purpose ATPG tools use scan techniques. Scan techniques fall into two broad categories: full scan and partial scan. Automatic Test Pattern Generation 11-5 Full-Scan Designs 11.3 Full-Scan Designs By far the most popular ATPG methodology uses a full-scan approach. This calls for rigid design rules to be followed that allow the circuit to be placed in a test mode in which all logic storage elements are connected as shift registers, breaking up the combinatorial circuitry. When this method is used, the circuit is placed in the test mode and a test pattern is shifted in, thereby defining all internal storage states. The circuit is then taken out of the test mode and operated for a known number of system clock cycles. The circuit is again placed in the test mode and the internal storage states are shifted out for comparison to an ATPG-generated signature. It is argued that full-scan designs are both easily tested and more likely to be correct the first time. Some ATPG tools work only on full-scan designs. 11-6 Design for Testability Partial-Scan Designs 11.4 Partial-Scan Designs Partial scan is a technique where only some of the logic storage elements (those in the most difficult to test areas) are made scannable. This approach has fewer design restrictions. Some ATPG tools support partial scan and they can also be used on full-scan designs. Partial-scan ATPG tools can help you determine where scan elements are required. Because such modifications are not acceptable in every design, it is essential that these tools are used by you, the designer, and not by the ASIC vendor. Automatic Test Pattern Generation 11-7 Testing and Debugging Considerations 11.5 Testing and Debugging Considerations Several types of problems can cause a semiconductor circuit to fail. These include logic design and layout errors as well as mask and wafer fabrication defects. When performing test pattern generation, you must first determine the strategy of testing for all possible problems. It is very important to remember that ATPG patterns should only be used to test for random faults relating to the manufacturing process. Although ATPG patterns may be an efficient tool for indicating the presence of a defect, they generally provide little information relative to the nature and location of the defect. Consequently, ATPG patterns alone are seldom useful if you are involved in the debugging process. Most ATPG packages provide a crossreference listing that shows which faults are detected in each vector. This information may be of little use, however, because many faults often are detected in each vector and isolating the specific fault may be impossible. A straightforward method of avoiding debugging and pattern-length problems is to begin the test program with a thorough functional test. Most ATPG systems accept manually generated pattern inputs. In this way, a fault grade of the functional patterns can be done before proceeding with automatic test pattern generation. ATPG patterns can then be added to increase the fault coverage to an acceptable level. 11-8 Design for Testability Common ATPG Constraints 11.6 Common ATPG Constraints The following constraints are common to most ATPG tools. ❏ All clocks must be controlled externally (no gated or logic-generated clocks). ❏ No combinatorial-feedback loops ❏ No asynchronous timing ❏ Scan-compatible sequential elements are used. Automatic Test Pattern Generation 11-9 Summary 11.7 Summary When embarking on an ATPG methodology, you must consider many aspects of the total design environment, such as: ❏ Integration of the ATPG tool into the design environment ❏ Adherence to circuit design rules pertaining to the ATPG tool ❏ Maintaining a functional test generation plan for debugging and critical path testing Consideration of all these items before adopting any particular ATPG implementation should minimize any problems that might occur later. 11-10 Design for Testability Chapter 12 Test Pattern Generation This chapter discusses test pattern generation. Test patterns must operate on automated test equipment (ATE). Topic Page Introduction to Testing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12–2 Test Pattern Creation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12–6 TDL Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12–13 12-1 Introduction to Testing 12.1 Introduction to Testing A logic truth table is used to verify the logic behavior of an integrated circuit and thereby check for the presence of manufacturing defects. This truth table is referred to as a test pattern, and a test vector is defined as a line in the truth table. Logic simulators are used to explore the Boolean and timing responses of a circuit by applying a user-defined set of input stimuli. If you have done a good job, the set of input stimuli can be used to control and observe the behavior of all nodes in the circuit. Automated test equipment (ATE) used to screen integrated circuits does not have the same features as the logic simulator. Access to internal nodes is not possible, and propagation delays need to be measured from inputs to outputs of the device. Testing a chip is performed by applying binary patterns (input vectors) to stimulate the logic inputs and then comparing the output response to the values predicted by simulation. In general, the phase relationship and sequence of input stimuli applied to an integrated circuit to test the functionality and performance of the device are somewhat different than the simulation patterns used to verify the logic design. These differences are due mostly to the inherent characteristics of testing equipment used to evaluate logic devices. For this reason, test patterns must be simulated using conditions consistent with ATE capabilities. ATEs are synchronous systems. Described simply, an ATE operates in a periodic fashion. Input signals change at designated points within the test period. Output signals are strobed at designated points in the period. Figure 0-1 is a diagram of the phase relationship of input and output data with respect to the test period for a sample test pattern. The TI test utilities assume a data input, a clock, then a strobe for the test signal sequence. All test period timing is referenced to the beginning of the period (to). 12-2 Design for Testability Introduction to Testing Figure 12–1. Synchronous Pattern for Use During Functional Test to to to to to to Data Input Primary Clock Output Strobe Test Period Each vector applied to the device under test (DUT) is stored in the ATE pattern memory. If the number of test vectors exceeds the ATE pattern memory capacity, two or more memory reloads from disk would be required, greatly increasing the test time. Minimizing the number of test vectors is desirable not only to reduce the test run time, but also to reduce simulation and fault grading times. The number of primary clocks and strobe times that can be applied to the DUT is a function of the number of timing generators available in the ATE. By programming these timing generators, you can select multiple clocks or strobe timing relationships with respect to the test period. Figure 12–2 shows a simplified block diagram of an ATE. Test Pattern Generation 12-3 Introduction to Testing Figure 12–2. ATE Block Diagram Data Control Structures CC OO Output LLIIIIIUU KKNNNNNTT Pattern Data 121234512 SETR P := ’CCHHLLHAA’; SETR P := ’CCLHLHL11’; Strobe SETR P := ’CCHLHHH1Z’; Enable SETR P := ’CCHHLLH10’; Timing Test Patterns (TDL Data) CLK1 CLK2 IN1 IN3 IN4 IN2 OUT2 Input and Clock Pattern Data OUT1 Input Timing Data IN5 Logic Control DUT Test Data Compared Pass -1 The minimum duration of the test period varies from system to system and determines the frequency range at which a device can be tested. Typically, however, there are other constraints that require the testing frequency to be much lower than the capability of the tester. A major factor influencing testing is called period slip. In some cases, the exact time in which the output signal becomes valid is not critical to the system operation. It is very important to the ATE. Testing systems compare the output states to the expected responses on a period-by-period basis by activating strobe signals (Figure 12–1 and Figure 12–2) which, in turn, enable a set of comparators connected to the output channels. If output responses slip from one test period to the next, the device fails even though it may be fully functional at the system level (see Figure 12–3). In order to minimize this problem, functionality of devices is verified at a relatively low 12-4 Design for Testability Introduction to Testing frequency. (High-frequency testing—called at-speed —can be performed if care is taken to mask the strobe for the slipped periods.) The placement of output strobes is described in a later section. Figure 12–3. Tester Period Slip Based on Expecting a High Logic Output Pass Output Signal at Min Delay Output Signal at Max Delay Fail Strobe Test Period N Test Period N+1 Properly constructed test patterns should contain input signals and expected output responses as observed during simulation. For any circuit containing sequential logic, test patterns consist of two parts: 1) An initialization step to set external and internal nodes, including memory elements, from an unknown state to a known state by exercising the device clock, data, reset, or scan pins. 2) The actual test vectors used to stimulate input and output pins. If a device contains internal 3-state buses, you must arrange the enable logic so that the buses are always driven (not left in the high-impedance state). A bus holder cell prevents bus floating by maintaining the last state on the bus in a way similar to a latch. Furthermore, internal bus contention must be avoided to ensure the device initialization is not upset by noise resulting from the contention. Test Pattern Generation 12-5 Test Pattern Creation 12.2 Test Pattern Creation The TI ATE program generation software uses Test Description Language (TDL) as an input. The TDL file contains a set of test vectors and timing information. Test vectors define input signals and expected output signals for a test period of fixed duration. The entire test pattern defines a set of sequential test periods that perform a logic verification test on the device being tested. Before TDL can be generated, the following concepts and limitations must be understood and applied when setting up the simulation runs for the functional and scan tests. These concepts include input delay groups, clocks, and output strobe groups. 12.2.1 Input Delay Group An input delay group is a set of input signals that transition at the same time. Every input or bidirectional signal must be assigned to one, and only one, input delay group. Figure 12–4 illustrates the relationship between the input delay groups and the test period. 12-6 Design for Testability Test Pattern Creation Figure 12–4. Input Delay Groups Test Period Input Delay Group 1 Minimum Delay Input Delay Group 2 Input Delay Group 3 Input Delay Group 4 ••• Input Delay Group N Maximum Delay A delay group can be assigned either a return-to-complement (clock) or a nonreturn-to-complement signal. Input signals other than clocks can have either zero or one transition within a test period. All transitions of the input delay groups must occur no earlier than the specified minimum or later than the specified maximum delay time after the beginning of a test period. The defined timing for input delay groups may not change within any particular test pattern set. The input signal capabilities for each tester are specified in the design manual for the gate array family. 12.2.2 TDL Clocks Input signals defined as clocks must be assigned to an input delay group programmed as a return-to-zero or a return-to-one signal. A clock signal is a complete pulse within a test period. Figure 12–5 shows two examples of input clocks along with the corresponding TDL clock statements (CLOCK). Each clock signal can be programmed to occur zero or one time per test period. Test Pattern Generation 12-7 Test Pattern Creation Figure 12–5. Definition of TDL Clocks to Active State Test Period to Rest State Test Period to (HOLD0) (HOLD1) Delay Width (10 ns) (11.5 ns) Return-to-Zero Leading Edge Delay Trailing Edge Delay CLOCK VAR = CLK1, PATTERN = 010, HOLD0 = 10 NS, HOLD1 = 11.5 NS; to Active State Test Period to Rest State Test Period (HOLD1) (HOLD0) Delay Width (10 ns) (11.5 ns) Return-to-One Leading Edge Delay Trailing Edge Delay CLOCK VAR = CLK2, PATTERN = 101, HOLD0 = 11.5 NS, HOLD1 = 10 NS; Pattern 010 defines a return-to-zero pulse. Pattern 101 defines a return-toone pulse. HOLD0 is the time the signal is held low and HOLD1 is the time the signal is held high. Figure 12–6 depicts the minimum clock width. 12-8 Design for Testability Test Pattern Creation Figure 12–6. Minimum Clock Width (a) Within a Test Period to to Test Period to Test Period Minimum Clock Pulse Width (b) Between Test Periods to Test Period to Test Period to Minimum Clock Pulse Width 12.2.3 Output Strobe Groups The outputs of the device are sampled at a specified time into the test period. An output strobe group is a set of outputs that are sampled at the same time. Figure 12–7 shows the restrictions on the output strobe timing. Output transitions must not occur in this window. The defined delay for an output strobe group may not change within a test pattern set. Strobe capabilities for each tester are specified in the design manual for the gate array family. Test Pattern Generation 12-9 Test Pattern Creation Figure 12–7. TDL Output Strobe Placement to to Test Period Strobe Window Max Output Delay Output Min Output Delay Strobe Offset Strobe 12.2.4 Special Test Precautions The product-specific design manuals present the rules to ensure proper testing. These include: ❏ Rules to prevent contention between TTL/CMOS bidirectional buffers and the tester ❏ Rules to prevent sampling a 3-state or bidirectional buffer before it has had time to settle 12.2.5 ATE Loads ATE loads must be applied to the output during simulation. Figure 12–8 illustrates ATE loads to be used. 12-10 Design for Testability Test Pattern Creation Figure 12–8. Simulation Tester Loads CMOS, PCI, etc From Output under Test GTL, PECL, etc Test Point From Output under Test Test Point 50 W C = 45 pF for V-Series = 75 pF for T3320/T3340 Termination Voltage 12.2.6 ATE Input Slews ATE slews must be applied to the input during simulation. 12.2.7 Performance Test Procedures In addition to the standard low-speed functional testing, TDL can be used to make dynamic tests. At-Speed Testing The capabilities for each tester are specified in the design manual for the gate array family. Setup and Hold Testing Setup and hold verification is performed by proper selection of input signal delays in FUNC_AC, SCAN_AC, and BIST_AC TDL pattern types. Pin-to-Pin Testing Critical timing can be verified by making pin-to-pin propagation delay measurements. Keywords can be inserted into the TDL ASIC_TEST statement to define a test to be included in the test program. Propagation delay measurements have the following capabilities: ❏ Delay from one package pin to another (input-to-output or output-tooutput). Pass or fail using max values ❏ Delay from a clock edge to an output. Pass or fail using max values Test Pattern Generation 12-11 Test Pattern Creation Guard-banding the limits are automatically done at test to account for tester accuracy. Minimum delays are not generally tested. Minimum testing is done on a special request basis. 12-12 Design for Testability TDL Overview 12.3 TDL Overview All test patterns must be cycle-based with synchronous clocks. Cycle-based means that: ❏ ❏ The test vector timing is based on a fixed-length repeating cycle. Input changes and output strobes occur at the same offset in each cycle. Synchronous clocks means that all clock periods are multiples of the cycle time. Example 0-1 shows three common TDL statements. Example 12–1. Three TDL Statements TDL_VERSION:= “ASIC_TDL_91 ASIC_TITLE = ”LIBRARY_TYPE CUSTOMER TI_PART_NUMBER PATTERN_SET_NAME PATTERN_SET_TYPE REVISION DATE 4.3”; = TsC4000, = Ardee, = f123456, = tdl0, = FUNC, iddq, = 1.00, = 9/27/96”; CONNECT P, VAR=(IN[1],CLK,OUT[1]), BIDI[1]), DEFPIN=(IN2, IN, INOUT); PERIOD = 200NS; DELAY VAR = (IN[1], BIDI[1], OFFSET = 20NS; CLOCK VAR=CLK, HOLD0 = 35NS, HOLD1 = 25NS, PATTERN= 010; STROBE VAR = (OUT[1], BIDI[1]), OFFSET = 190NS; ASIC_BIDI_CTRL = ”enables_net, TYPE = CONTROL, POLARITY=H” VAR = (BIDI[1]); THRU_CURRENT = ”NET enablez_net, OFF_WHEN=H” VAR=(IN[1]); THRU_CURRENT = ”DATA=UNKNOWN”, VAR= (IN[1]); (*$ end of header and timing section, start of pattern data section *) SETR P:=T’LC0M’; (*$ vector 0 *) SETR P:=T’HC10’; (*$ vector 1 *) THRU_CURRENT = ”DATA = OFF”, VAR = (IN[1]); ASIC_TEST = ”IDDQ”; ASIC_TEST = ”PROP FROM = CLK, CLKEDGE = LEADING, TO = OUT[1], MAX = 50NS, REJECT = NO”; END; TDL_VERSION refers to the TDL specification version you have used. The PATTERN_SET_NAME must begin with an alphabetic character and not exceed eight characters in length. Test Pattern Generation 12-13 TDL Overview The PATTERN_SET_TYPE field identifies the TDL’s function(s). The CONNECT statement lists all the signal names and the order in which they appear in the SETR statements. The PERIOD, DELAY, CLOCK, and STROBE statements provide the timing data. The SETR statement defines the logic state data. For logic state definitions, refer to Table 0-1. The ASIC_BIDI_CTRL statement documents the bidirectional control signal information for the TDL2simulator tools. This statement causes the TDL2simulator tools to automatically trace on the internal net that determines the direction for the named bidirectional I/O signals. The THRU_CURRENT statement documents whether the bond pad dc through current for an I/O is on, off, or unknown. This statement is required for DC_PARA and IDDQ TDLs and is commonly associated with I/Os that are connected to pullup or pulldown macros. The IDDQ statement specifies the test vector used to measure the quiescent power pin current. The PROP statement measures the time difference between a transition on the FROM signal to a transition on the TO signal. Place an ASIC_TEST statement after the SETR statement that facilitates the test. Figure 12–9 shows the corresponding waveform representation of the sample TDL. 12-14 Design for Testability TDL Overview Figure 12–9. Waveform Representation of the Sample TDL t0 t0 H Offset = 20 ns IN[1] t0 Test Period 1 = 200 ns L Offset = 35 ns C CLK Pulse Width = 25 ns 0 OUT[1] 1 OUT[1] STROBE Strobe Offset = 190 ns Table 12–1. Commonly Used TDL Logic State Characters Character Direction Logic State (Tester Perspective) L Input Drive low H Input Drive high C Input Drive pulse Y Input Don’t care 0 Output Expect low 1 Output Expect high Z Output Expect high-impedance state M Outout Mask (don’t care) 12.3.1 TDL Example A portion of a TDL file containing one initialization vector and four test vectors is shown in Example 12–2. The patterns are defined by the character strings Test Pattern Generation 12-15 TDL Overview enclosed in single quotes. There are seven inputs (CLOCK, IN1-1N6) and four outputs (OUT1-OUT4). Example 12–2. TDL File Example (*$ (*$ (*$ (*$ (*$ SETR SETR SETR SETR SETR C *) L OOOO*) O IIIIII UUUU*) C NNNNNN TTTT*) K 123456 1234*) P:=T’L_YYYYYY_MMMM’; P:=T’C_HHHLLL_MMMM’; P:=T’C_HLHLHH_1100’; P:=T’C_LHLHHL_1Z00’; P:=T’C_LHLHHL_1011’; Figure 0-10 shows the relationship between the set of test vectors and the corresponding logic waveforms. 12-16 Design for Testability TDL Overview Figure 12–10. Relationship Between Test Vectors and Corresponding Logic Waveforms CLOCK IN1 IN2 IN3 IN4 IN5 IN6 OUT1 OUT2 OUT3 CLOCK IN1 IN2 IN3 IN4 IN5 IN6 OUT1 OUT2 OUT3 OUT4 OUT4 SETR P:=T’L_Y Y Y Y Y Y_M M M M’: SETR P:=T’C_H H H L L L_M M M M’: SETR P:=T’C_H L H L H H_1 1 0 0’: SETR P:=T’C_L L L H H L_1 Z 0 0’: SETR P:=T’C_L H H L L H_1 0 1 1’: 12.3.2 Specifying Propagation Delay Measurements in TDL Keywords can be inserted into the ASIC_TEST statement to define propagation delay tests. The statement with keywords is placed following the test vector for which the measurement is to be performed. Propagation delay measurements are made with the format in Example 12–3. Test Pattern Generation 12-17 TDL Overview Example 12–3. TDL Used to Specify Propagation Delay Measurements ASIC_TEST =“PROP FROM=<SIGNAL NAME>,TO=<SIGNAL NAME> [,CLKEDGE=<CLOCK EDGE>],MAX=<VALUE>[,MIN=<VALUE>], REJECT = <YES/NO>”; Required keywords: PROP Indicates a propagation delay test is to be performed FROM Indicates the input signal TO Indicates the output signal MAX Indicates the maximum limit REJECT Indicates whether to reject a device having a measured value outside the min or max limits. A YES value causes rejection. A NO value allows the test to be made but does not reject devices measuring outside the limits. Optional keywords: CLKEDGE Is required if the FROM signal is a clock. The two values for this parameter are LEADING and TRAILING. LEADING indicates the positive-going edge of a 010 clock or the negative-going edge of a 101 clock. TRAILING indicates the negative-going edge of a 010 clock or the positive-going edge of a 101 clock. MIN Indicates minimum limits. Minimum limit testing is performed only by special request. Keyword fields can be in any order. If the timing fields require more than one line, each line must be terminated with a comma (,). The last line must end with a double quote and semicolon (”;). As shown in Example 12–4, the ASIC_TEST statement means that you should measure the propagation delay on the preceding pattern, from pin IN1 to pin OUT1, with a maximum limit of 85 ns. Example 12–4. Propagation Delay Measurement (*$ O *) (*$ ICU *) (*$ NLT *) (*$ 1K1 *) SETR P:T’LCO’; 12-18 Design for Testability TDL Overview SETR P:T’HC1’; ASIC_TEST=“PROP FROM=IN1,TO=OUT1,MAX=85NS, REJECT=YES”; If the input signal is a clock, the edge must be specified. See Example 0-5 for the specification of a clock-to-output measurement. Example 12–5. Clock-to-Output Measurement ASIC_TEST = “PROP FROM=CLK,TO=OUT1,MAX=55NS, CLKEDGE=LEADING,REJECT=NO”; 12.3.3 Scan TDL During functional testing, TDL defines conditions for all signal pins on a device. During the serial load and unload of a scan path, the only input data pins that are driven by changing data are the scanin pins. The only output or bidirectional pins that are unmasked are the scanout pins. Clock pins are also active. The functional TDL, which describes the conditions for all signal pins in every cycle, contains a massive amount of redundant information. TDL can describe just the nonredundant information. It minimizes the file size and vector processing costs. Additional statements used are: PATH This statement defines the scanin and scanout pins for a particular scan path. A scanin pin must be an input (IN). A scanout pin must be an output (OUT). Bidirectional pins (INOUT) can be used for either scanin or scanout, but this is not recommended because it requires extra circuitry. SET This statement is used to provide values for all pins prior to a SCAN statement. The scan pin values in the SCAN statement take precedence over the SET statement values. The pin values defined in the SET statement are not applied until the SCAN statement is executed. SCAN The SCAN statement indicates that scanning is to be performed using the scan pin values, described by SCAN_IN and SCAN_OUT. The number of scan cycles is determined by the loop_count parameter. Example 12–6 uses the previously listed TDL statements. Example 12–6. Scan TDL Example CONNECT P,VAR=(IN1,IN2,IN3,IN4,ACLOCK, BCLOCK,CCLOCK, SCANIN1,SCANOUT1,OUT1,OUT2,OUT3,OUT4), DEFPIN=(IN 8,OUT 5); PERIOD=200NS; STROBEVAR=(OUT1,OUT2,OUT3,OUT4,SCANOUT),OFFSET=190NS; Test Pattern Generation 12-19 TDL Overview DELAY CLOCK VAR=(IN1,IN2,IN3,IN4,SCANIN1),OFFSET= 5NS, CLOCK VAR=(ACLOCK,CLOCK),HOLD0=30NS,HOLD1=10NS,PATTERN=010; CLOCK VAR=(BCLOCK),HOLD0=10NS,HOLD1=10NS,PATTERN=010; PATHSCAN1,VAR=(SCANIN1,SCANOUT1), VAR=(R1.sd,R2.sd,R3.sd,R4.sd), CONFIG=L’TTTTT’; SETRP := T’YYYY_LLL_YM_MMMM’; SET P := T’HHHH_CCL_LM_MMMM’; SCAN FOR 4, SCAN_IN SCAN1:= T’LHLH’; SCAN_OUT SCAN1:= T’0111’; END_SCAN; Example 0-7 shows the scan vectors from Example 0-6 written in functional TDL format. Notice how the redundant information expands the vectors. Example 12–7. Scan Vectors in Functional TDL Format SETR P := T’YYYY_LLL_YM_MMMM’; SETR P := T’HHHH_CCL_L0_MMMM’; SETR P := T’HHHH_CCL_H1_MMMM’; SETR P := T’HHHH_CCL_L1_MMMM’; SETR P := T’HHHH_CCL_H1_MMMM’; 12.3.4 Specifying IDDQ Measurements in TDL Keywords can be inserted into the ASIC_TEST statement to define quiescent power supply current measurements. The statement with keywords is placed following the test vector for which the measurement is to be performed. Quiescent power supply current measurements are made with the following format. ASIC_TEST = “IDDQ”; ASIC_TEST = “IDDQ MIN = <value>, MAX = <value>”; Required keyword: IDDQ Indicates an IDDQ test is to be performed Optional keywords: 12-20 Design for Testability TDL Overview MIN <value> specifies the minimum allowed IDDQ value. <value> follows the usual conventions for current specifications. MAX <value> specifies the maximum allowed IDDQ value. <value> follows the usual conventions for current specifications. If no limits are included, the IDDQ defaults for the given technology type are used. The IDDQ ASIC_TEST statement can be inserted in multiple locations in the TDL. For more reference material on the test program generation, refer to the following sources: ❏ ❏ ❏ Part 2 of this document, the Generic Test Access Port Application Report Part 5 of this document, the ASIC TDL 91 Reference Guide Part 6 of this document, the ASIC TDL 91 and Scan Designs Reference Guide Test Pattern Generation 12-21 TDL Overview 12-22 Design for Testability Chapter 13 IEEE Standard 1149.1-Based dc Parametric Testing This chapter proposes performing ASIC dc parametric tests using IEEE Standard 1149.1-1990. Two IEEE Standard 1149.1 configurations are presented: ❏ ❏ Standard Test Access Port Generic Test Access Port (GTAP) The standard test access port works on all IEEE Standard 1149.1 devices. The GTAP configuration requires additional circuitry for improved dc parametric test capabilities. Topic Page Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13–2 Boundary-Scan Architecture . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13–3 Parametric Measurements Using Boundary-Scan Architecture 13–10 Integrating Boundary-Scan Architecture and GTAP . . . . . . . . . 13–18 13-1 Introduction 13.1 Introduction The IEEE Standard 1149.1-1990 defines a standard test access port and boundary-scan architecture. This circuitry is primarily intended to test system interconnect. All device I/O pins can be made observable and controllable respectively through boundary-scan cells. The IEEE Standard 1149.1 can independently control the device I/O pins to send/receive test signals to and from other IEEE Standard 1149.1 devices to test the interconnect. This capability can also be used for dc parametric testing. For example, by applying test patterns to the input pins and observing these pins with IEEE Standard 1149, a VIH/VIL test can be made. Also, a VOH/VOL test can be made by driving test patterns from the output pins with IEEE Standard 1149.1 and capturing the output pin values with IC automated test equipment (ATE). The IEEE Standard 1149.1 has limited provisions for device internal testing as well. The boundary-scan cells on the I/O pins can also drive test patterns into the device and capture the device’s response to the test patterns, respectively. In addition to this capability, new capabilities can be integrated into the boundary-scan architecture through user-defined test data registers. Examples of test data registers are internal scan paths. 13-2 Design for Testability Boundary-Scan Architecture 13.2 Boundary-Scan Architecture The boundary-scan architecture (see Figure 0-1) consists of four dedicated test pins: Test Data In (TDI), Test Data Out (TDO), Test Mode Select (TMS) and Test Clock (TCK). An optional Test Reset (TRST) pin is permitted. The boundary-scan register surrounds the core logic (see Figure 0-2), and all device I/O signals must pass through a boundary-scan cell (BSC). The boundary-scan operations are programmed through the instruction register. Figure 13–1. IEEE Standard 1149.1 Hardware Block Diagram Boundary-Scan Register Device Identification Register * TDI Test Data Register * MUX TDO Bypass Register Instruction Register * Note: Optional Instruction Decode TMS TAP Controller TCK IEEE Standard 1149.1-Based dc Parametric Testing 13-3 Boundary-Scan Architecture Figure 13–2. A Simplified View of the Boundary-Scan Register PU/PD SO Input Pin PI SI PI PO 2-State Output Pin PO SI SO SO SI PU/PD Input Pin PI PO PO PI SI SO SO SI PU/PD PU/PD Input Pin PI PO SI On-Chip System Logic PO PI 3-State Output Pin BUF SO PU/PD SI SO Input Pin PO PI PO PI SI SO SO SI PU/PD PI PO PI PO SI SO SCAN IN SCAN OUT BUF Input/ Output Pin A 1-bit bypass register is required to put the test circuit in a bypass mode. Boundary-scan permits optional circuits such as a device ID register, and user-defined test data registers. All communication with the boundary-scan registers is serial through the TDI/TDO pins. The test access port (TAP) is a 16-state controller. The TAP is controlled via the TMS/TCK pins. Refer to the IEEE Standard 1149.1 for a more complete description of this circuit. 13-4 Design for Testability Boundary-Scan Architecture 13.2.1 Boundary-Scan Cell The boundary-scan cell (BSC) is the basic element of the boundary-scan register. Each I/O port is connected through a BSC. Thus the I/O port can be made observable and controllable. Each BSC consists of two 2:1 multiplexers and two flip-flops (see Figure 13–2 and Figure 13–3). All port signals must pass through MUX2 via the signal in/signal out paths. All remaining BSC signals come from the Test Access Port (TAP) or connect to neighboring BSCs. REG1 is sometimes referred to as the capture flip-flop, because it is clocked on the rising edge of TCK during the Capture-DR TAP state. REG2 is sometimes referred to as the update flip-flop, because it is clocked on the falling edge of TCK during the Update-DR TAP state. The controls for MUX1 and MUX2 are decoded from the instruction register contents. Figure 13–3. Boundary-Scan Cell MUX2 MODE G1 SIGNAL IN 1 Y 1 SIGNAL OUT MUX1 SHIFT/LOAD SCANOUT G1 REG1 1 SCANIN 1 Y 1D REG2 Q C1 CLOCK A 1D C1 Q REG1 or REG2 may be implemented as latches CLOCK B 13.2.2 Test Access Port The TAP is the interface to the IEEE Standard 1149.1 circuitry. The TAP is a 16-state controller that uses a serial communication protocol. The TAP can change state on each rising edge of TCK depending on the value of TMS and the current TAP state. Figure 13–4 illustrates the 16 TAP controller states. On power up, the TAP can be in any state. Holding TMS high and applying five IEEE Standard 1149.1-Based dc Parametric Testing 13-5 Boundary-Scan Architecture rising edges on TCK guarantees that the TAP is in the Test-Logic-Reset state regardless of the original state. The TAP controller consists of two major state groups: Data Register (DR) and Instruction Register (IR). These two groups are functionally identical. The IR state group handles sampling (Capture-IR), loading/unloading (Shift-IR), and activating (Update-IR) the instruction register. The DR state group performs the same functions but for all other registers, i.e., boundary-scan, device ID, test data register, etc. The instruction register contents select the specific DR register. Only during the Shift-DR and Shift-IR states are the TDI and TDO pins used for shifting in/out register data. All shifting is done synchronous to the TCK clock. During all other states, the TDO pin is in highimpedance mode. 13-6 Design for Testability Boundary-Scan Architecture Figure 13–4. TAP Controller State Diagram 1 Test-Logic-Reset 0 0 Run-Test/Idle 1 Select-DR-Scan 1 Select-IR-Scan 0 1 0 1 Capture-DR Capture-IR 0 0 Shift-DR Shift-IR 0 1 Exit1-DR 1 Exit1-IR 0 0 Pause-DR Pause-IR 0 0 1 1 0 Exit2-DR Exit2-IR 1 1 Update-DR 1 0 1 1 0 1 0 Update-IR 1 0 The value shown adjacent to each state transition in Figure 13– 4 represents the signal present at TMS at the time of a rising edge of TCK. IEEE Standard 1149.1-Based dc Parametric Testing 13-7 Boundary-Scan Architecture 13.2.3 Boundary-Scan Instructions Boundary-scan instructions predefine several special instruction register values known as public instructions. The instruction register contents are decoded by instruction decode logic, and the appropriate data register is connected between the TDI and TDO pins. The instruction decode logic may also generate other control signals associated with an instruction. An instruction is loaded by the following steps: 1) Move the TAP to the Shift-IR state. 2) Set the TDI pin to the first IR bit value. 3) Toggle TCK from low to high. 4) Repeat steps 2 and 3 for each successive IR bit. 5) Move the TAP to the Exit1-IR state. 6) Move the TAP to the Update-IR state. Upon entering the Shift-IR state, the instruction register is automatically connected to the TDI/TDO pins. Shifting in a new instruction actually loads the capture portion of the instruction register. Upon entering the Update-IR state, the next high-to-low TCK clock edge transfers the new instruction from the capture to the update portion of the instruction register, where the new instruction goes into effect. Until then, the old instruction is still in effect. Two public instructions are SAMPLE/PRELOAD and EXTEST. All boundaryscan-compatible devices support these two public instructions. These instructions are useful for dc parametric testing. 13.2.4 Boundary-Scan Instruction: SAMPLE/PRELOAD The SAMPLE/PRELOAD instruction permits taking a snapshot of the device I/O activity in the boundary-scan register (BSR) and shifting out the data, both without interfering with normal device operations. This instruction also permits preloading the BSR update flip-flops with an arbitrary value for use by another instruction. This instruction selects the boundary-scan register to be connected between the TDI and TDO pins. The SAMPLE operation occurs during the Capture-DR state and the next rising edge of TCK. All I/O data is captured in the BSR capture flip-flops from where it is serially shifted to the TDO pin on the rising edge of TCK during the Shift-DR states. PRELOAD data can be simultaneously shifted in with the 13-8 Design for Testability Boundary-Scan Architecture shift out. The PRELOAD data is loaded into the BSR update flip-flops during the Update-DR state and the next falling edge of TCK. The binary value for the SAMPLE/PRELOAD instruction is user-definable. 13.2.5 Boundary-Scan Instruction: EXTEST The EXTEST instruction is designed to test external chip circuitry. The output BSC’s update flip-flop controls the device output pins. The input pins are observable by the input BSC’s capture flip-flops. During the Capture-DR state and the next rising edge of TCK, all input signals are clocked into the capture flip-flops. Captured data is shifted out, and new output data (similar to PRELOAD data) is shifted in on the rising edge of TCK during the Shift-DR state. The new output is loaded into the update flip-flop during the Update-DR state and the next falling edge of TCK. The binary value for the EXTEST instruction is all zeros. IEEE Standard 1149.1-Based dc Parametric Testing 13-9 Parametric Measurements Using Boundary-Scan Architecture 13.3 Parametric Measurements Using Boundary-Scan Architecture This section describes the procedure to perform dc parametric measurements on an ASIC device with IEEE Standard 1149.1 boundaryscan architecture. The basic circuits facilitate several of these measurements directly (i.e., VIH/VIL and VOH/VOL). Several measurements (IDDQ, IIH/IIL, and IOZ) require the control of nonboundary-scan features (i.e., SRAM standby mode and dc through-current cells). These controls must be provided by some other means. Table 0-1 lists the dc parametric measurements and the required device resources. Table 13–1. Parametric Test Resources Interface Parametric Tests TAP BSR VIH/VIL ✓ ✓ VOH/VOL ✓ ✓ SRAM Standby dc Through Current Test Vectors ✓ ✓ ✓ IDDQ IIH/IIL ✓ ✓ IOZ ✓ ✓ VIH/VIL and VOH/ VOL (TAP pins) ✓ Note: ✓ ✓ Device initialization can require both boundary-scan and test vectors. 13.3.1 VIH/VIL Test The VIH/VIL test comprises the following steps. Step 1: Initialize the device for test. 1) Apply power to the device under test. 2) Initialize the TAP controller by setting TMS to a logic high and toggling TCK with five rising clock edges. 3) Apply sufficient normal vectors to prevent device states that may harm the device (i.e., prevent bus contention). Step 2: Set all bidirectional pins to input mode. 13-10 Design for Testability Parametric Measurements Using Boundary-Scan Architecture 1) Load SAMPLE/PRELOAD instruction. 2) Transition TAP through the following states: Update-IR→Select-DR-Scan→Capture-DR→Shift-DR 3) Serially apply boundary-scan register data to the TDI pin and clock each bit with the rising edge of TCK. The boundary-scan register data must force all bidirectional pins to input mode. 4) Transition TAP through the following states: Exit1-DR→Update-DR→Select-DR-Scan→Select-IR-Scan 5) Load EXTEST instruction. Step 3: Apply a broadside VIH test pattern (all inputs high) to device. Step 4: Capture the VIH input pin signals. Transition TAP through the following states: Update-IR→Select-DR-Scan→Capture-DR Step 5: Scan out the captured VIH data. 1) Transition TAP through the following states: Capture-DR→Shift-DR 2) Set TMS low. 3) Serially reapply boundary-scan register data to the TDI pin and clock each bit with the rising edge of TCK. The boundary-scan register data must force all bidirectional pins to input mode. Serially verify each value on the TDO pin. 4) Transition TAP through the following states: Exit1-DR→Update-DR Step 6: Apply a broadside VIL (all inputs low) test pattern to device. Step 7: Capture the VIL input pin signals. Transition TAP through the following states: Update-DR→Select -DR-Scan→Capture-DR Step 8: Scan out the captured VIL data. 1) Transition TAP through the following states: Capture-DR→Shift-DR 2) Set TMS low. IEEE Standard 1149.1-Based dc Parametric Testing 13-11 Parametric Measurements Using Boundary-Scan Architecture 3) Serially reapply boundary-scan register data to TDI pin and clock each bit with the rising edge of TCK. The boundary-scan register data must force all bidirectional pins to input mode. Serially verify each value on the TDO pin. 4) Transition TAP through the following states: Exit-DR→Update-DR Step 9: For Schmitt-trigger inputs, repeat VIH test (Step 3 through Step 5). Step 10: Reset the TAP. Transition TAP through the following states: Update-DR→Select-DR-Scan→Select-IR-Scan→ Test-Logic-Reset 13.3.2 VOH/VOL Test The VOH/VOL test comprises the following steps. Step 1: Initialize the device for test. 1) Apply power to the device under test. 2) Initialize the TAP controller by setting TMS to a logic high and toggling TCK with five rising clock edges. 3) Apply sufficient normal vectors to prevent device states that may harm the device (i.e., prevent bus contention). Step 2: Set all 3-state and bidirectional pins to output mode and VOH pattern (all outputs high). 1) Load SAMPLE/PRELOAD instruction. 2) Transition TAP through the following states: Update-IR→Select-DR-Scan→ Capture-DR→Shift-DR 3) Serially apply boundary-scan register data to the TDI pin and clock each bit with the rising edge of TCK. The boundary-scan register data must force all 3-state and bidirectional pins to output mode. All output pins should have VOH values. 4) Transition TAP through the following states: Exit1-DR→Update-DR→Select-DR-Scan→Select-IR-Scan 5) Load EXTEST instruction. Step 3: Measure the VOH values at each output pin with the ATE. 13-12 Design for Testability Parametric Measurements Using Boundary-Scan Architecture Step 4: Set all 3-state and bidirectional pins to output mode and VOL pattern (all outputs low). 1) Transition TAP through the following states: Update-IR→Select-DR-Scan→Capture-DR→Shift-DR 2) Serially apply boundary-scan register data to the TDI pin and clock each bit with the rising edge of TCK. The boundary-scan register data must force all 3-state and bidirectional pins to output mode. All output pins should have VOL values. 3) Transition TAP through the following states: Exit1-DR→Update-DR Step 5: Measure the VOL values at each output pin with the ATE. Step 6: Reset the TAP. Transition TAP through the following states: UpdateDR→Select-DR-Scan→Select-IR-Scan→ Test-Logic-Reset 13.3.3 IDDQ Test The IDDQ test comprises the following steps. Step 1: Set ATE for an IDDQ test. All output and bidirectional pins are unloaded. Step 2: Initialize the device for test. 1) Apply power to the device under test. 2) Initialize the TAP controller by setting TMS to a logic high and toggling TCK with five rising clock edges. 3) Apply sufficient normal vectors to prevent device states that may harm the device (that is, prevent bus contention). Step 3: Force SRAMs into standby mode by whatever means have been provided. Usually, normal vectors are required to disable the SRAMs. Step 4: Apply customer-provided test vectors to device, stopping at the vector of interest. IEEE Standard 1149.1-Based dc Parametric Testing 13-13 Parametric Measurements Using Boundary-Scan Architecture Step 5: Turn off through-current devices (pullups and pulldowns) by whatever means have been provided. Sometimes, a device pin is dedicated for turning off these through-current devices. Step 6: :Measure IDDQ at the VCC pin. Step 7: Repeat Step 4 through Step 6 for all vectors of interest. Care must be taken so that the SRAMs are never turned on. Boundary-scan instructions are not involved in the IDDQ test. 13.3.4 IIH/IIL Test The IIH/IIL test comprises the following steps. Step 1: Initialize the device for test. 1) Apply power to the device under test. 2) Initialize the TAP controller by setting TMS to a logic high and toggling TCK with five rising clock edges. 3) Apply sufficient normal vectors to prevent device states that may harm the device (i.e., prevent bus contention). Step 2: Set all bidirectional pins to input mode. 1) Load SAMPLE/PRELOAD instruction. 2) Transition TAP through the following states: Update-IR→Select-DR-Scan→Capture-DR→ Shift-DR 3) Serially apply boundary-scan register data to TDI pin and clock each bit with rising edge of TCK. The boundary-scan register data must force all bidirectional pins to input mode. 4) Transition TAP through the following states: Exit1-DR→Update-DR→Select-DR-Scan→Select-IR-Scan 5) Load EXTEST instruction. Step 3: Apply a broadside IIH/IIL test pattern (alternating highs and lows on adjacent device pins) to the device. This pattern is designed to 13-14 Design for Testability Parametric Measurements Using Boundary-Scan Architecture detect pin-to-pin leakage. For differential input pins, apply VIH to one input and VIL to the other. Step 4: Turn off through-current devices (pullups and pulldowns) by whatever means have been provided. Sometimes, a device pin is dedicated for turning off these through-current devices. Step 5: Measure IIH/IIL leakage current at each input pin with the ATE. Step 6: Repeat Step 3 through Step 5 using complement of original IIH/IIL test pattern. Step 7: Repeat Step 3 through Step 6 but with through-current devices left on to measure bias current. Step 8: Reset the TAP. Transition TAP through the following states: Update-IR→Select-DR-Scan→Select-IR-Scan→ Test-Logic-Reset 13.3.5 IOZ Test The IOZ test comprises the following steps. Step 1: Initialize the device for test. 1) Apply power to the device under test. 2) Initialize the TAP controller by setting TMS to a logic high and toggling TCK with five rising clock edges. 3) Apply sufficient normal vectors to prevent device states that may harm the device (i.e., prevent bus contention). Step 2: Set all bidirectional pins to input mode and all 3-state output buffers to high-impedance state. 1) Load SAMPLE/PRELOAD instruction. 2) Transition TAP through the following states: Update-IR→Select-DR-Scan→Capture-DR→Shift-DR 3) Serially apply boundary-scan register data to TDI pin and clock each bit with the rising edge of TCK. The boundary-scan register data must force all bidirectional pins to output mode. All 3-state output pins should be in high-impedance state. IEEE Standard 1149.1-Based dc Parametric Testing 13-15 Parametric Measurements Using Boundary-Scan Architecture 4) Transition TAP through the following states: Exit1-DR→Update-DR→Select-DR-Scan→Select-IR-Scan 5) Load EXTEST instruction. Step 1: Turn off through-current devices (pullups and pulldowns) by whatever means have been provided. Sometimes, a device pin is dedicated for turning off these through-current devices. Step 2: Measure IOZ leakage current at each 3-state output pin with the ATE. Step 3: Repeat Step 3 through Step 4 but with through-current devices left on to measure pullup/pulldown current. Step 4: Reset the TAP. Transition TAP through the following states: Update-IR→Select-DR-Scan→Select-IR-Scan→ Test-Logic-Reset 13.3.6 VIH/VIL and VOH/VOL Test on TAP Pins The test access port (TAP) signals consist of three input signals (TMS, TCK, and TDI), one output signal (TDO), and one optional input signal (TRST). Unlike all other device pins, the TAP pins are excluded from the boundaryscan register. A different approach is required for dc parametric tests on TAP signals. The TAP signals are tested indirectly. The input signals are manipulated to produce a predictable and unique output signal. If the expected output occurs, then the input must have been received correctly. All input and output signals experience both logic highs and lows. Step 1: Initialize the TAP controller to the Test-Logic-Reset state. Hold TMS to a logic high while toggling TCK with five rising edges. TMS is always loaded on the rising edge to TCK. Step 2: Step the TAP controller to the Shift-IR state with the following TMS sequence, 0-1-1-0-0. The TDO output should be in high-impedance state during this sequence. The last rising edge of TCK (1) loads the instruction register’s two least significant bits (LSBs) with 01 where 1 is the LSB (closest to TDO) and (2) enables the TDO output. The latter event indicates entry into Shift-IR state (see Note). For this to occur, the TMS and TCK must have successfully decoded logic highs and logic lows. This indirectly confirms TMS and TCK VIH/VIL capability. 13-16 Design for Testability Parametric Measurements Using Boundary-Scan Architecture The Shift-DR state also enables the TDO output. However, the Shift-DR state cannot be arrived at following a TMS sequence of 0-1-1-0-0. If TMS fails VIH/VIL, then it would decode 1-1-1-1-1 or 0-0-0-0-0, neither of which could arrive at Shift-DR or Shift-IR state. Step 3: The TAP controller stays in Shift-IR state while TMS is held to logic low. For the n-bit instruction register, apply n TCK clock pulses to shift out the instruction register. The first two bits shifted out should be a logic high followed by a logic low. These two output bits constitute the TDO VOH/VOL test. Simultaneously, the first two bits shifted in should be a logic high followed by a logic low. Step 4: Apply two more TCK clocks. The next TDO values should be a logic high followed by a logic low. These bits are a result of the first two bits shifted in. This event indirectly confirms TDI VIH/VIL capability. Step 5: If the optional TRSTZ signal is present, it should be held at a logic high until now. Set TRSTZ to a logic low. The TAP controller should be asynchronously reset from Shift-IR to Test-Logic-Reset state. This would be detectable when TDO returns to high-impedance state. Therefore, TRSTZ passes VIH/VIL. IEEE Standard 1149.1-Based dc Parametric Testing 13-17 Integrating Boundary-Scan Architecture and GTAP 13.4 Integrating Boundary-Scan Architecture and GTAP Boundary-scan architecture and TAP simplify making some dc parametric tests (VIH/VIL and VOH/VOL). However other dc parametric tests still require additional hardware support (IDDQ, IIH/IIL, and IOZ). This last group of tests requires turning off through-current macros and putting SRAMs in a standby mode that must be controlled outside boundary-scan control. There is no standard way of controlling through-current macros and SRAMs. This section proposes one way to integrate all dc parametric testing under a centralized boundary-scan control. The generic test access port (GTAP) is a TI ASIC test controller. The GTAP is designed to ease dc parametric testing in addition to other functions. The GTAP consists of a state-machine controller and a GTAP test register. If a device adheres to IEEE Std 1149.1, the GTAP controller is not necessary. The TAP controller becomes the primary test access port. The GTAP test register can be integrated into the boundary-scan architecture as a test data register. Refer to Figure 13–5. 13-18 Design for Testability Integrating Boundary-Scan Architecture and GTAP Figure 13–5. Boundary-Scan Registers and GTAP Test Register Hardware Boundary-Scan Register Device Identification Register * TDI D Q TP000 TP000 TP000 TP000 MUX TDO GTAP Test Register Bypass Register Instruction Register TEST_REG Instruction Decode TMS TAP Controller Shift_DR Run-Test/Idle TCK * Note: Optional 13.4.1 Boundary-Scan Private Instruction: TEST_REG A private instruction, TEST_REG, permits access with the GTAP Test Register. TEST_REG is a user-defined instruction. Upon loading this instruction, the GTAP test register is connected between the TDI and TDO pins. This instruction also partially enables the GTAP test register contents. IEEE Standard 1149.1-Based dc Parametric Testing 13-19 Integrating Boundary-Scan Architecture and GTAP 13.4.2 GTAP Test Register The GTAP test register consists of multiple TP000 macros connected as a scan path. Refer to Figure 0-6. All clock signals (GTT and GST) and enable signals (GTSTEN and GBUSENZ) are connected in parallel. The SCANOUT signal of one TP000 is connected to the SCANIN of the next, thus forming a scan path. The MSEL output signal is connected to a test feature associated with that TP000. A flip-flop is required to synchronize TDI data into the GTAP test register. Figure 13–6. GTAP Test Register Architecture TST_ENBL LOW GTT GTT GST GST TDI D Q TDIQ TCK G GZ C1 GST C2 SI G GTT SO GZ C1 GST C2 SI GTT SO G GZ C1 GST C2 SI G GTT SO GZ C1 C2 SI SO TP000 TP000 TP000 TP000 MSEL1 MSEL2 MSEL3 MSELn TDO The TP000 macros use two-phase nonoverlapping clocks (GTT/GST). Figure 13–7 illustrates TCK timing along with the required TP000 clock timing. The TCK is an edge-triggered clock. An edge-triggered-to-two-phase nonoverlapping clock generator circuit is required. Figure 13–8 illustrates one possible circuit implementation. Shift-DR is a signal representing whether the TAP is in the Shift-DR state. TEST_REG is a signal decoded from the instruction register decode logic. It represents when the TEST_REG private instruction is loaded into the instruction register. 13-20 Design for Testability Integrating Boundary-Scan Architecture and GTAP Figure 13–7. Test Register Load Timing Diagram TCK TDI A TDIQ B A C B D C D GTT GST Figure 13–8. TCK-to-Master/Slave Clock Interface Circuit TEST_REG CK120 AN310 Shift-DR D Q 2-Phase Clock Gener. Shift-DRQ 3-Input AND Gate TCK GTT GST IV110 13.4.3 Test Activation Control Pin (Optional) A device-pin, test-activation control signal facilitates efficient dc parametric testing. This signal permits test features to be activated/deactivated easily without the time-consuming process of scanning in new instructions. This also simplifies test vector generation, because the test control is simplified. Both test time and test costs are saved. The Test Data Output (TDO) pin can be used as an external test activation control to facilitate fast dc parametric testing (i.e., ICCQ testing). According to IEEE Standard 1149.1-Based dc Parametric Testing 13-21 Integrating Boundary-Scan Architecture and GTAP IEEE Standard 1149.1 Rule 3.5.1b, “The TDO driver shall be set to its inactive drive state except when the scanning of data is in progress.” An optional pullup may be required for the TDO pin to ensure no accidental activations (see Figure 13–9 and Figure 13–10). Figure 13–9. TDO Input Circuit for Test Activation SCAN_ENBL PAD From TAP Controller TDO To TST_ENBL Circuit Figure 13–10. Example TST_ENBL Circuit TEST_REG Run-Test/Idle TST_ENBL 3-Input AND Gate TDO The GTAP test register’s selected test features can be activated for dc parametric testing under the following conditions: ❏ ❏ ❏ EST_REG is current instruction. TAP Controller is in Run-Test/Idle state. TDO pin is forced low. Alternatively, an unused or shared input device pin can be dedicated for this function. Some devices may not have any unused pins. Also, sharing a pin is device-specific. By using the TDO pin (which always exists), integration into the TI flow is simplified. This proposal assumes adoption of test activation control via the TDO pin. 13-22 Design for Testability Integrating Boundary-Scan Architecture and GTAP 13.4.4 Parametric Measurements Using Boundary-Scan Architecture and GTAP Test Register The IDDQ and IOZ tests are different when the GTAP test register is included. The other tests are the same as without the GTAP test register. VIH/VIL Test The VIH/VIL test is the same as for the boundary-scan architecture without the GTAP test register. VOH/VOL Test The VOH/VOL test is the same as for the boundary-scan architecture without the GTAP test register. IDDQ Test The IDDQ test comprises the following steps. Step 1: Set ATE for an IDDQ test. All output and bidirectional pins are unloaded. Step 2: Initialize the device for test. 1) Apply power to the device under test. 2) Initialize the TAP controller by setting TMS to a logic high and toggling TCK with five rising clock edges. 3) Apply sufficient normal vectors to prevent device states that may harm the device (i.e., prevent bus contention). Step 3: Initialize the GTAP test register. 1) Load TAP controller with TEST_REG private instruction. 2) Transition TAP through the following states: Update-IR→Select-DR-Scan→Capture-DR→Shift-DR 3) Serially apply GTAP test register data to the TDI pin and clock each bit with the rising edge of TCK. The GTAP test register data is programmed to force SRAMs into standby mode and turn off through-current macros. 4) Transition TAP through the following states: Exit1-DR→Update-DR→Run-Test/Idle IEEE Standard 1149.1-Based dc Parametric Testing 13-23 Integrating Boundary-Scan Architecture and GTAP 5) Upon leaving the Shift-DR TAP state, force the TDO pin high. Step 4: Apply customer-provided test vectors to device, stopping at vector of interest. Step 5: Force SRAMs into standby mode and turn off through-current devices (pullups and pulldowns) by forcing the TDO pin low. Step 6: Measure IDDQ at VCC pin. Step 7: Return SRAMs and through-current devices to their normal states by forcing the TDO pin high. Step 8: Repeat Step 4 through Step 6 for all vectors of interest. Step 9: Reset the TAP. Transition TAP through the following states: Select-DR-Scan→Select-IR-Scan→Test-Logic-Reset IIH/IIL Test The IIH/IIL test is the same as for the boundary-scan architecture without the GTAP test register. IOZ Test The IOZ test comprises the following steps. Step 1: Initialize the device for test. 1) Apply power to the device under test. 2) Initialize the TAP controller by setting TMS to a logic high and toggling TCK with five rising clock edges. 3) Apply sufficient normal vectors to prevent device states that may harm the device (that is, prevent bus contention). Step 2: Initialize the GTAP test register. 1) Load TAP controller with TEST_REG private instruction. 2) Transition TAP through the following states: Update-IR→Select-DR-Scan→Capture-DR→Shift-DR 3) Serially apply GTAP test register data to TDI pin and clock each bit with rising edge of TCK. The GTAP test register data is programmed to turn off through-current macros. 13-24 Design for Testability Integrating Boundary-Scan Architecture and GTAP 4) Transition TAP through the following states: Exit1-DR→Update-DR→Run-Test/Idle 5) Upon leaving the Shift-DR TAP state, force the TDO pin high. Step 3: Set all bidirectional pins to input mode and all 3-state output buffers to high-impedance state. 1) Load SAMPLE/PRELOAD instruction (refer to instructions). 2) Transition TAP through the following states: Update-IR→Select-DR-Scan→Capture-DR→Shift-DR 3) Serially apply boundary-scan register data to TDI pin and clock each bit with rising edge of TCK. The boundary-scan register data must force all bidirectional pins to output mode. All 3-state output pins should be in high-impedance state. 4) Transition TAP through the following states: Exit1-DR→Update-DR→Select-DR-Scan→Select-IR-Scan 5) Load EXTEST instruction. Step 4: Turn off through-current devices (pullups and pulldowns) by forcing the TDO pin low. Step 5: Measure IOZ leakage current at each 3-state output pin with the ATE. Step 6: Return through-current devices to their normal states by forcing the TDO pin high. Step 7: Repeat Step 3 through Step 6 but with through-current devices left on to measure pullup/pulldown current. Step 8: Reset the TAP. Transition TAP through the following states: Select-DR-Scan→Select-IR-Scan→Test-Logic-Reset 13.4.5 VIH/VIL and VOH/VOL Test on TAP Pins The VIH/VIL and VOH/VOL tests are the same as for the boundary-scan architecture without the GTAP test register. Same as for boundary-scan architecture without GTAP test register. IEEE Standard 1149.1-Based dc Parametric Testing 13-25 Integrating Boundary-Scan Architecture and GTAP 13-26 Design for Testability Chapter 14 Military ASIC This chapter summarizes military ASIC documents and the location of military-specific design information. This additional military-specific information is necessary to complete a military design. Topic Page Military-Specific Design Information . . . . . . . . . . . . . . . . . . . . . . 14–2 Military ASIC Topics Cross-Reference . . . . . . . . . . . . . . . . . . . . 14–3 14-1 Military-Specific Design Information 14.1 Military-Specific Design Information Although the information provided in submicron ASIC documentation applies to military designs as well as commercial, the following documents contain additional information specific to military designs. These military-specific documents should be considered the primary sources of information for military designs. ❏ Military family data sheets that contain product and macro library descriptions, an overview of the design flow and tools, and a summary of the product families. ❏ The Military ASIC Design/Test Guidelines document that contains the following additional information needed to complete a military ASIC design: ■ Design guidelines ■ ■ ■ ■ ■ ■ ■ ■ ■ ■ ■ ■ Output buffer selection Pullup/pulldown input macros Power pin requirements Power estimation Package pin placement Handoff requirements Military standards compliance Test application notes Test strategy considerations Tester constraints Military ASIC dc parametric application notes Prototype and production testing Military designs are currently supported in a variety of packages. The package availability/offering to support military designs is continually being updated and expanded. A TI representative can supply you with the current status and availability of specific packages. 14-2 Design for Testability Military ASIC Topics Cross-Reference 14.2 Military ASIC Topics Cross-Reference Table 14–1 provides a cross-reference of the most common ASIC design topics and their applicable documents. The table indicates summary and detailed information. Table 14–1. Military ASIC Topics Cross-Reference 1 Submicron ASIC Documents 2 Military-Specific Military ASIC Topics FDS MADG MLS DM DSM DFT ACE CHIPS TSG MDF Product description S S D Macro library description S S D Ratings, conditions, and characteristics D D D Power estimation D D D D D D Package drawings and characteristics Design considerations for packaging D D Detailed macro tables S D VCC, temperature, and process multipliers D D Gate array design practices D D D D S D D D S D D D D Design flow and handoff requirements S D Design for testability S D Test pattern requirements S D TI Design Environment (TIDE) S D Datapath and memory compiler (ACE) S S Floorplanning (CHIPS) S S Digital PLL application note Symbols and definitions Notes: Legend: S S D S D D D D D 1) S = Summary information, D = Detailed information 2) Refer to the Preface for a list of submicron ASIC documents. FDS MADG MLS DM DSM DFT ACE CHIPS TSG MDF BiCMOS and CMOS Family Data Sheets Military ASIC Designer’s Guide BiCMOS and CMOS Arrays Macro Library Summaries BiCMOS and CMOS Design Manuals Design Software Manual Design for Testability Reference Guide ASIC Compiler Environment User’s Guide CHIPS Reference Guide Test Synthesis User’s Guide Mentor Design Flow User’s Guide Military ASIC 14-3 14-4 Design for Testability Appendix A Glossary A ACE: ASIC Compiler Environment. The graphical user interface delivery mechanism for submicron gate-array memory compiler elements. ASIC: Application Specific Integrated Circuit. A device designed for a user application, usually by the user. asynchronous logic: A collection of logic elements with the signal timing entirely dependent on the propagation delay of all elements in the signal path. The resulting signal flow timing changes with variations in process control, temperature, and power-supply voltage. ASIC TDL 91: An improved TI TDL format that supports both narrow and wide (SCAN) TDL. Narrow TDL lists the ATE state for all pins in every cycle. Wide or SCAN TDL allows a description of only nonredundant ATE states and pins. ATE: Automated Test Equipment. Machines used to test silicon. ATPG: Automatic Test Pattern Generation. A process by which the vectors required to produce a high-fault coverage for a design are generated by a program. These tools generally require scans in synchronous designs and assume certain scan rules. at-speed testing: Refers to test vectors that target the detection of delay faults. The term usually apllies to test vectors that operate at design frequency or that validate setup conditions. AUTOGEN: A TI software tool that compiles an automated test equipment program (ATE) program from TDL. Automatic Test Pattern Generation: A methodology, using software tools, to generate test patterns. Test patterns attempt to control and observe each circuit node using a stuck-at model. 1 B back annotation: The process of updating the design database with actual interconnect delays (as opposed to estimations by design CAD software). The actual delays are calculated after placement and routing, when exact interconnect lengths are known. BIST: Built-In Self-Test. The capability of a product to carry out a functional test of itself. Some support from external equipment may be required. BIST usually involves special hardware in the product to generate input stimuli and to analyze test responses. block: A group of interconnected cells. May contain instances of other blocks. BNF: Backus Naur Form. A description of ASIC TDL 91. BTL: Backplane Transceiver Logic. A form of transmission line driver and receiver circuitry specified by IEEE Std 1149.1. bus: A data distribution path that typically has multiple data receivers and can have multiple data sources. Bus structures must be driven by threestate drivers. The drivers must be capable of disconnecting from the bus, and only one such source can be active at one time. bus contention: If more than one bus driver is active with conflicting output levels at the same time, neither driver may be able to assert a true logic level on the bus line. The result could be excessive drive current, undefined logic levels, and possible device failure. bus holder: A logic device that prevents a bus from floating if all bus drivers are placed into the high-impedance state. It maintains the last logic state. C cell: An individual component of a library (typically a logic gate; for example, a NA210 2-input NAND gate). See macro. CHIPS: Comprehensive Hierarchical Physical Synthesis. TI’s submicron gate-array floorplanning tool designed to improve design cycle time by decreasing layout iterations. Includes PRELUDE delay estimation capabilities plus full graphic floorplanning. circuit initialization: A sequence of stimuli that sets internal nodes of a circuit to a predictable known state. 2 Design for Testability clock skew: The difference in clock edge timing across the chip. Loading and interconnect capacitance cause the active clock edge to be delayed, possibly disrupting critical circuit timing. clocked scan: An edge-triggered scan methodology. The clocked scan flipflop has separate clock and data inputs for scan- and system-mode operation. CMOS: Complementary Metal Oxide Semiconductor. A form of digital logic that has the characteristics of low power consumption, wide power supply range, and high noise immunity. combinational fault: A functional fault whose effect on the behavior of the circuit is not affected by the sequence of the input stimuli. controllability: The ability of a node to be established at specific logic states by applying stimuli to the circuit’s externally accessible nodes. core logic: All logic functions except I/O buffers are core logic. critical path: Any path with special timing requirements. CTL: CMOS Transceiver Logic. A form of transmission-line driver and receiver circuitry. These circuits allow CMOS devices to communicate in a low-noise, terminated-transmission-line environment. D delay fault: A fault in a circuit that causes failure to meet ac specifications but might not cause functional failure. design-for-testability feature: Lets you specify a list of placement rules describing the connectivity of any logic path you want to group. design requirements document: A document to guide the product development that states the goals of the design. This type of document usually includes functional description, performance goals, cost goals, testability goals, and quality goals. detectable fault: A functional fault for which a test pattern can be created that always causes the effects of the fault to be observable at an externally accessible node. detected fault: A functional fault that causes effects that are observed at an externally accessible node when the circuit is exercised by the existing test pattern. Glossary 3 DFT: Design for Testability. A design goal requiring that each node be both observable and controllable. Failure to achieve this design goal can compromise quality assurance. E ECL: Emitter-Coupled Logic. A nonsaturating form of digital logic that eliminates transistor storage time as a speed-limiting characteristic, permitting very-high-speed operation. F fault: A defect that can cause a failure in the circuit operation/timing. fault detectability ratio: The ratio of detectable faults to the sum of detectable and undetectable faults. fault grade: A measurement of the efficiency of test vectors to detect manufacturing defects in silicon. The fault-grade value is usually presented as a percentage of the stuck-at faults that can be identified using those test vectors. fault grading: The process of determining the test pattern fault coverage of a circuit. fault-tolerant design: A design approach to enhance the ability of a circuit to remain operational after the occurrence of a fault. Fault-tolerance design techniques can impact fault detection. floating bus: Any bus line not driven by an active device is free to assume any voltage level. Circuits with inputs connected to this bus may draw excessive current or otherwise malfunction. floating input: The input of a macro can assume an undefined voltage level if it is not driven to a defined logic level. Circuits with floating inputs can draw excessive current or otherwise malfunction. functional fault: A fault that causes improper logical operation of a circuit. G GTAP: Generic Test Access Port. The TI ASIC test controller. The GTAP can be instructed to enable or disable any combination of DFT features. 4 Design for Testability I I/O: Input/Output. An input/output or bidirectional buffer cell used to connect design interface signals directly to package pins. ICCQ: IDDQ: A TI term for IDDQ. See IDDQ. DC leakage testing looks for abnormally high VCC current that indicates a logic or process defect. Test conditions for IDDQ testing must turn off all circuits that produce dc current in the static state. J JTAG: Joint Test Action Group. 1) Committee that established the test access port (TAP) and boundary-scan architecture defined in IEEE Standard 1149.1-1990. 2) Common name for IEEE Std1149.1-1990. L LSSD: Level-Sensitive Scan Design. A scan methodology. It is a technique where all logic storage elements in a device are chained together in a dual mode. The first mode is the normal operation of the device where clocks allow the storage of data in normal system operation. In the second mode, master and slave clocks are used to shift data in and out of the device for testing purposes. M MegaModule: ter files. High-complexity macros such as SRAMs, FIFOs, and regis- multiplexed flip-flop scan: Multiplexed flip-flop scan design is a scan methodology. It is a technique where all logic storage elements in a device are chained together in a dual mode. A 2:1 multiplexer is placed at the input of the logic storage elements. The first mode is the normal operation of the device where the multiplexer allows the storage of data in normal system operation. In the second mode, the multiplexer allows the shifting of data in for test purposes. netlist: A description of a logic circuit that names the macros used and describes their interconnection. Glossary 5 node: The end-point of a branch in a network or a point at which two or more branches meet. O observability: The ability to determine the logic states of an internal circuit node at the circuit’s externally accessible nodes. open circuit fault: A fault in a circuit that alters the number of nodes by breaking a node into two or more nodes. P parametric fault: A fault in a circuit that causes failure to meet ac or dc specifications but might not cause functional failure. parametric test: These are electrical tests that evaluate parameters such as dc and ac electrical characteristics ( VIH, IDDQ, VOH, tpd, etc. ). PECL: Pseudo ECL. Logic that is implemented to operate with standard 5V VCC and GND power supplies. PMT: Parallel Module Test. A system of additional logic built into MegaModules for the purpose of enhancing the testability of the circuitry. Package input and output pins are multiplexed with internal test circuitry to minimize the need for package pins dedicated to testing. prelayout simulation: Accomplished as part of verification that the design meets design specifications. To be effective, simulation must include circuit evaluation using both minimum and maximum propagation delays. The only unknown is actual interconnect capacitance. Interconnect capacitance is estimated by the design CAD software to give an assumed value. R redundant circuit: Deliberate duplication of logical functions to create backup functions that enhance performance or reliability of operation. RTL: Register Transfer Level. A subset of behavioral modeling constructs that can be used to model a circuit at the level of data flowing between a set of registers. This level of abstraction typically contains little timing information, except references to a set of clock edges and features. 6 Design for Testability S scan path: A shift register made up of the logic storage elements (standalone bit-storage devices). In test mode, the storage elements are connected in a shift register. During normal operation they carry out their normal system functions. The scan path is used to shift test data into the logic storage elements for controllability and to shift out test response data for observability. sequential fault: A functional fault whose effect on the behavior of the circuit is affected by the sequence of the input stimuli. short circuit fault: A fault in a circuit that alters the number of nodes by connecting two or more nodes together. simulation: The process of using workstation software to exercise a logic design. When properly done, simulation verifies both circuit timing and logic functionality. state machine: A logic block that can assume any of several output logic states in response to input stimuli. Each logic state is uniquely determined from the previous state and the previous input. stuck-at-0 fault: A fault in a digital circuit characterized by a node remaining at a logic low (0) state regardless of changes in input stimuli. stuck-at-1 fault: A fault in a digital circuit characterized by a node remaining at a logic high (1) state regardless of changes in input stimuli. synchronous logic: Any group of logic storage elements through which the signal flow timing is controlled by the system clock. Clock signals cause data signals to advance from one logic storage element to the next, one element at a time. The resulting signal flow is thus made predictable. T testable: An electronic circuit is testable if test patterns can be generated, evaluated, and applied in such a way as to satisfy predefined levels of performance defined in terms of fault-detection, fault-location, and testapplication criteria, within a predefined cost-budget and timescale. TDL: Test Description Language. A TI language defining test stimuli as a series of input values and expected output values. The TDL file serves as a source file to program the automated testers used for production test. Glossary 7 test pattern: A set of test vectors. test pattern fault coverage: The ratio of the total number of detected faults to the total number of detectable faults. test program: A test pattern and instructions suitable for use on automated test equipment (ATE). A test program can be used to perform functional and parametric (ac, dc, or other) tests. test vector: A single instance of input stimuli and expected output responses. U undetectable fault: A functional fault for which no set of functional test vectors can be created that can guarantee that the effects of the fault are observable at an externally accessible node. undetected fault: A functional fault that causes effects that are not observed at an externally accessible node when the circuit is exercised by the existing test pattern. V VCC: Positive supply voltage or the voltage required across supply and ground terminals of a TTL or CMOS integrated circuit VDD: Positive supply voltage or the voltage required across supply and VSS terminals of a CMOS integrated circuit VSS: 8 Ground terminal of a CMOS integrated circuit Design for Testability Index $ 1-2 ( ) 1-2 ) keyword fields end with 12-18 , 1-2 . 1-2 _ 1-2 ” 1-2 0 TDL character 12-15 1 TDL character 12-15 A ac critical paths pattern sets 3-9 scan path loading on 6-11 ac margin 3-2 ACE defined 1 activating, IR, updateIR group does 13-6 ad hoc tests 5-1 asynchronous circuits 5-7 bidirectional buffers 5-4 counters 5-10 dividers 5-10 gated clocks 5-8 internal clocks 5-9 internal node observability 5-3 Johnson counter test signal generator 5-18 known states 5-5 logic blocks 5-17 long counter chains 5-11 multiplexing direct access to logic 5-12 nesting sequential circuits 5-14 reconverging signals 5-16 redundant circuits 5-15 shift registers observability obtained from 5-20 test signal generator 5-19 structured vs 5-2 analog MegaModules 9-9 ANALOG TDL described 4-4 analogtodigital converter PMT I/O hookup 9-9, 9-12 application specific integrated circuit 1-2 approaches to testability 5-2 area vs testability -2 arithmetic logic units structured design approach not suited for 6-20 ASIC defined 1 ASIC Compiler Environment defined 1 ASIC compiler environment 1-2 ASIC TDL 91 1-2 defined 1 ASIC test controller 1-2 ASIC tests 8-6 ASIC_TEST ICCQ 10-14 ASIC_TEST statements pintopin testing and 12-11 propagation delay test specifications in 12-17 quiescent power supply current measurements specified in 12-20 1 Index asynchronous circuits avoiding 5-7 gating clocks create 5-8 asynchronous clocks not in scan path flipflops 6-10 asynchronous logic defined 1 asynchronous timing as ATPG constraint 11-9 ATE block diagram 12-4 defined 1 loads 12-10 simulation example 12-11 logic simulator vs 12-2 pattern memory, DUT vectors stored in 12-3 test patterns operate on 12-1 ATPG 11-1 clock skew and 6-7 constraints 11-9 cycletime reduction from -3 debugging considerations 11-8 defined 1 design flow typical 11-4 highfaultgrade test patterns and 3-10 introduction 11-2 path sensitization 11-5 scan designs 11-7 full 11-6 summary 11-10 testing considerations 11-8 tool -8 atspeed testing 4-4, 4-5, 12-5, 12-11 AUTOGEN defined 1 PMT TDL sets converted by 4-5 automated test equipment 1-2 automatic test pattern generation 1-2 defined 1 automation, design structured approach favors 6-2 B back annotation defined 2 backplane transceiver logic 1-2 Backus Naur Form 1-2 BiCMOS, TP0B0 macro 8-3 bidirectional buffers test contention and 12-10 bidirectional buses normal NAND tree patterns cause bus conflicts 10-6 bidirectional pins 1-2 internal access with 5-4 BIST defined 2 TDL pattern sets for 4-3 BIST TDL 4-3 TGC1000 pattern set requirements 4-5 TGC2000 pattern set requirements 4-5 BIST TEST ENABLE, ASIC test 8-6 BIST_AC TDL described 4-4 setup and hold testing and 12-11 TGC1000 pattern set requirements 4-5 TGC2000 pattern set requirements 4-5 bit definitions for test register 8-5 block defined 2 block diagrams ATE 12-4 GTAP 8-2 GTAPcontrolled PMT 9-3 IEEE Standard 1149.1 hardware 13-3 BNF defined 2 boundary-scan architecture 13-10 boundaryscan architecture 3-2, 7-2, 7-4, 10-12, 13-3, 13-5, 13-7, 13-8, 13-9, 13-10, 1312, 13-13, 13-14, 13-15, 13-16, 13-18, 13-19, 13-20, 13-21, 13-22, 13-23 boundaryscan cell 1-2, 13-5 boundaryscan instructions 13-8, 13-9, 13-14 boundaryscan macros 7-5, 7-6, 7-7 Index 2 Index boundaryscan registers 1-2 BR described 7-5 BSC example 13-5 I/O signals pass through 13-3 BSR dc parametric test resources 13-10 described 7-5 GTAP test register and hardware, example 13-19 public instructions and 13-8 view of, simplified 13-4 BTL defined 2 builtinself test 1-2 bus defined 2 bus contentions avoiding 12-5 bidirectional bus running normal NAND tree patterns may cause 10-6 defined 2 internal avoid 10-13 parametric test patterns and 10-2 removing 6-12 scan testing and 6-12 bus floating preventing 12-5 bus holders defined 2 bus interface boundary 6-14 bypass counters 5-10 bypass dividers 5-10 bypass register 7-5 C C TDL character 12-15 captureIR group sampling done by 13-6 cautions information about vi cells 1-2 defined 2 characters simulator mapping 1-2 CHIPS defined 2 circuit testable described 5-2 circuit design typical flow ATPG 11-4 circuit initialization 5-5 defined 2 clear mechanism controllability added with 5-6 CLKEDGE keywords 12-18 CLOCK 6-5 shift register and 5-19 clock edge to output pintopin testing of 12-12 clock inputs circuit initialization to known state and 5-5 clocked scan flipflops 6-3 clock signals GTAP test registers and 13-20 TDL 12-7 width, minimum illustrated 12-9 clock skew defined 3 edgetriggered flipflop scan and 6-7 CLOCK statements TDL 12-7 Clocked LSSD scan flip-flop circuit interconnect illustrated 6-9 illustrated 6-8 clocked NAND tree input threshold voltage levels tested with 10-4 illustrated 10-5 shared control pins Index 3 Index illustrated 10-8 TGC1000 configurations illustrated 10-7 TGC2000 configurations illustrated 10-7 clocked scan 3-7 defined 3 clocked scan flipflop scan designs 6-3 macros, TI offers 6-3 clocked scan flipflop scan designs multiple scan chains illustrated 6-16 clocks 1-2 adding to asynchronous latch 5-7 constraints ATPG 11-9 flipflop scan design and 6-10 clocktooutput measurements 12-19 CMOS defined 3 CMOS transceiver logic 1-2 combinational fault defined 3 commas (,) keyword fields separated by 12-18 compatibility planning for 3-13 compiled cells structured approach not suited for 6-20 complementary metal oxide semiconductor 1-2 Comprehensive Hierarchical Physical Synthesis defined 2 constraints ATPG 11-9 contact ix contentions 1-2 tester vs TTL/CMOS bidirectional buffers 1210 control pins dedicated clocked NAND tree circuit illustrated 10-5 voltage level test patterns 10-6 shared clocked NAND tree circuit illustrated 10-8 voltage level test patterns illustrated 10-9 controllability adding with clear mechanism 5-6 debugging time and -4 defined 3 of I/O ports, via BSC 13-5 of logic multiplexing improves 5-12 scan designs and 6-2 test vector generation and 5-2 controller 1-2 generic test access port communication protocol 8-8 core logic defined 3 costofownership -8 costs 1-2 of ownership -5 faultgrade requirements as part of 3-4 illustrated -9 tradeoffs -4 counters bypassing 5-10 critical path defined 3 crosscoupled latches 6-10 CTL defined 3 D DATA 6-3, 6-5 data corruption bus contention causes 6-12 data inputs clocked scan flipflops 6-3 data register TAP group 13-6 dc leakage current Index 4 Index measuring 10-13 dc leakage test 1-2, 3-10 dc parametric measurements 10-1 input current 10-12 input threshold voltage levels using clocked NAND tree 10-4 leakage current 10-13 output voltage levels 10-10 overview 10-2 threestate highimpedance 10-11 using boundary-scan architecture resources 13-10 using boundaryscan architecture GTAP and test activation control pin TDO input circuit for 13-22 TST_ENBL circuit 13-22 test register architecture example 13-20 load time diagram 13-21 using boundaryscan architecture 13-10 using boundaryscan architecture GTAP and hardware registers 13-19 integrating 13-18 private instruction TEST_REG 13-19 test activation control pin 13-21 test register 13-20, 13-23 dc parametric testing 1-2, 4-2, 13-1 boundaryscan architecture 13-3, 13-5, 13-7, 13-8, 13-9 hardware block diagram 13-3 introduction 13-2 resources for 13-10 TGC1000 requirements 4-5 TGC2000 requirements 4-5 dc parametric tests using boundaryscan architecture IDDQ 13-13 IIH/IIL 13-14 IOZ 13-15 VIH/VIL 13-10 VIH/VIL and VOH/VOL (TAP pins) 13-16 VOH/VOL 13-12 dc threshold testing VIH-VIL TDL for 4-4 dc through current dc parametric test resources 13-10 DC_PARA TDL described 4-3 output voltage levels 10-10 parametric test pattern sets assigned to 10-2 TGC1000 pattern set requirements 4-5 TGC2000 pattern set requirements 4-5 threestate highimpedance measurements 1011 debugging ATPG considerations 11-8 diagnostic pattern sets, establishing for 3-9 time design for testability impact on -4 decoupling linked logic blocks 5-17 defect levels ASIC PPM vs PCB PPM rates illustrated -8 fault coverage vs -5 for PCB designs -7 highfaultgrade test pattern set for low -8 Motorola, Delco study results -6 Williams model -5 delay fault defined 3 delays minimum not tested 12-12 Delco Williams study supported by study from -6 design practices committing to for DFT strategy development 3-3 reasons for using -1 design automation structured approach favors 6-2 Design Automation Division 1-2 Design Flow Users Guide vii design help ix Design Requirements Document defined 3 Index 5 Index faultgrade requirements inclusion in 3-4 designfortestability feature defined 3 detectable fault defined 3 detected fault defined 3 development cycle timetomarket and -3 development time fault grade vs illustrated -3 device identification register 7-5 device under test vectors applied to stored in ATE pattern memory 12-3 devices damage to bus contention causes 6-12 initialization dc parametric test resources and 13-10 pin test activation 13-21 TDO input circuit for example 13-22 TST_ENBL circuit example 13-22 DFT concepts key 5-2 defined 4 economic tradeoffs for -4 feature defined 3 flow, typical 11-3 ATPG 11-4 GTAP 8-1 logic design, keeping in mind 5-2 militaryspecific information 14-1, 14-3 purpose 5-2 reasons for using -1 fault coverage -5 introduction -1 ownership cost -5 testability needed -2 testtime costs -2 timetomarket -3 scan designs 6-1 strategy development 3-1 committing to 3-3 compatibility planning for 3-13 diagnostic pattern set, creating 3-9 faultgrade requirements establishing 3-4 flowchart 3-14 gate density as base for 3-6 highfaultgrade test patterns, generating 3-10 IEEE Std 1149.1 as system requirement 3-5 structured tools choosing 3-7 technology, selecting 3-2 test patterns converting to TDL 3-12 simulations 3-11 timing patterns, simulating 3-11 structured approaches 6-2 DIAGNOST TDL described 4-4 if BIST TDL fails 4-3 TGC1000 pattern set requirements 4-5 TGC2000 pattern set requirements 4-5 diagnostics pattern set establishment for debugging 3-9 differential amplifier PMT I/O hookup 9-18, 9-19 digitaltoanalog converter PMT I/O hookup 9-15, 9-16 direct access to logic multiplexing provides 5-12 directconnect PMT 1-2 dividers bypassing 5-10 documentation militaryspecific ASIC 14-3 double quotes (”) keyword fields end with 12-18 DR TAP group 13-6 duration Index 6 Index minimum of test periods 12-4 DUT vectors applied to stored in ATE pattern memory 12-3 E ECL defined 4 economics 1-2 tradeoffs -2, -4 edgetriggered clocks 5-8 edgetriggered flipflop scan designs 6-7 efficiency scan designs not noted for 6-20 embedded memories PMT tests 3-6 emittercoupled logic 1-2 EXPANSION ASIC test 8-6 external chip circuitry EXTEST instruction designed to test 13-9 EXTEST instructions 13-9 input threshold voltage levels checked using clocked NAND tree 10-4 output voltage levels 10-10 threestate highimpedance measurements and 10-11 F falltime measurements 1-2 fault defined 4 fault coverage described 1-2 determining target 11-2 device defect level vs -5 Motorola Delco study results -6 tradeoffs -4 fault detectability ratio defined 4 fault grade 1-2 defined 4 development time vs illustrated -3 requirements establishing as part of DFT strategy development 3-4 fault grader -8 fault grading defined 4 fault simulation 1-1 multiple scan chain designs and 6-14 faulttolerant design 4 feedback loops combinatorial as ATPG constraints 11-9 feedback paths breaking in nested sequential circuits 5-14 scan flipflops and 6-10 field maintenance costs fault coverage and -5 flipflop outputs 5-13 flipflop scan designs 5-5, 6-3, 6-5, 6-7, 6-10 floating bus defined 4 floating I/O inputs avoid 10-13 floating input defined 4 floating internal nodes avoid 10-13 frequency dividers 5-5 FROM keywords 12-18 full scan designs 11-6 FUNC TDL described 4-3 TGC1000 pattern set requirements 4-5 TGC2000 pattern set requirements 4-5 FUNC_AC TDL described 4-4 setup and hold testing and 12-11 TGC1000 pattern set requirements 4-5 TGC2000 pattern set requirements 4-5 Index 7 Index functional fault defined 4 G gate density DFT strategy development based on 3-6 gatecount margin 3-2 gated clocks avoiding 5-8 GBUSENZ signals 13-20 generating test patterns 12-1 ATE block diagram 12-4 creating 12-6 input delay groups 12-6 illustrated 12-7 TDL example 12-15 propagation delay measurements specifying, in TDL 12-17 quiescent current measurements 12-20 scan 12-19 TDL clocks 12-7 ATE loads 12-10 simulation 12-11 definition example 12-8 output strobe groups 12-9 placement, illustrated 1210 performance test procedures 12-11 test precautions special 12-10 width, minimum example 12-9 introduction 12-2 synchronous pattern use example 12-3 tester priod slip 12-5 generic test access port 1-2 GTAP 1-2, 8-1 block diagram 8-2 defined 4 integrating with boundaryscan architecture 13-18, 1319, 13-20, 13-21, 13-22, 13-23 overview 8-2 PMT control block diagram 9-3 controlled by 9-2 PMTSETUP TDL initializes 4-4 Test Register 13-20 and boundaryscan registers 13-19 architecture example 13-20 load timing diagram 13-21 TEST_REG instruction and 13-19 Test Registers 8-3 GTAP controller 8-7 multiplexed PMT I/O hookups and 9-7 state transition diagram 8-9 GTAPCHK TDL described 4-4 scan path integrity verified by 4-4 TGC1000 pattern set requirements 4-5 TGC2000 pattern set requirements 4-5 GTSTEN signals 13-20 guidelines for flipflop scan designs 6-10 H H TDL character 12-15 hardware design testability affects on 1-1 overhead for multiplexed flipflop scan designs 6-6 help with designs ix HI Z ASIC test selection codes 8-6 Index 8 Index TP000 bit assignments 8-5 highfrequency testing 12-5 hookup analogtodigital converter multiple PMT I/Os 9-12 single PMT I/O 9-9 differential amplifier multiple PMT I/O 9-19 single PMT I/O 9-18 digitaltoanalog converter multiple PMT I/O 9-16 single PMT I/O 9-15 multiple MegaModule PMT I/O 9-7 single MegaModule PMT I/O 9-5 I I/O defined 5 I/O buffers multiplexed PMT and 9-7 I/O ports BSC connects 13-5 ICC TDL TGC1000 pattern set requirements 4-5 TGC2000 pattern set requirements 4-5 ICCQ defined 5 keywords 12-20 IDDQ defined 5 test location and pattern set identification 1014 IDDQ TDL described 4-3 IDDQ test 1-2, 13-10, 13-13 location and pattern set identification 10-14 using boundaryscan architecture and GTAP test register 13-23 IDR described 7-5 IEEE Standard 1149.1 1-2, 7-1 boundaryscan architecture 7-3, 7-4 circuit not adhering to threshold circuitry needs to be added to 10-4 dc parametric measurements 10-2 using boundary-scan architecture 13-10 using boundaryscan architecture 13-10, 1318, 13-19, 13-20, 13-21, 13-22, 1323 dc parametric testing based on 13-1 boundaryscan architecture 13-3, 13-5, 13-7, 13-8, 13-9 hardware block diagram 13-3 introduction 13-2 dc parametric tests using boundaryscan architecture 13-10, 1312, 13-13, 13-14, 13-15, 13-16 DFT strategy development requirement 3-5 output voltage levels testing and 10-10 overview 7-2 threestate highimpedance measurements and 10-11 IEEE Standard Test Access Port and BoundaryScan Architecture (JTAG) 1-2 IIH/IIL test 13-10, 13-14 using boundaryscan architecture and GTAP test register 13-24 IIH/IIL/IOZ CURRENT ASIC test 8-6 initializing circuit to known state 5-5 flipflop scan designs and 6-10 input current 10-12 measuring 10-12 input delay groups test period relationship to 12-6 illustrated 12-6 input signals delays setup and hold verification of 12-11 FROM keyword indicates 12-18 input delay group is set of 12-6 test vectors define 12-6 input threshold voltage levels clocked NAND tree for testing 10-4 illustrated 10-5 shared control pins illustrated 10-8 TGC1000 configurations 10-7 Index 9 Index TGC2000 configurations 10-7 input/output defined 5 instruction register 1-2 instructions loading 13-8 internal clocks bypassing 5-9 internal nodes bidirectional pins give access to 5-4 observability via unused pins 5-3 introduction 1-1 inverter isolating scan chain loading with 6-11 IOZ test 13-10, 13-15 using boundaryscan architecture and GTAP test register 13-24 IR boundaryscan operations programmed through 13-3 described 7-5 TAP group 13-6 J Johnson counter test signal generator 5-18 Joint Test Action Group 1-2 JTAG 3-2 defined 5 L L TDL character 12-15 latches set, reset capabilities needed for circuit initialization 5-5 layout errors failures and 11-8 leakage current 10-13 levelsensitive scan design 1-2 linked logic blocks uncoupling 5-17 load timing test register diagram 13-21 loading IR shiftIR group does 13-6 logic adding 1-1 compatibility planning for 3-13 direct access multiplexing provides 5-12 redundant removing 5-15 logic blocks linked decoupling 5-17 logic design failures based on 11-8 logic feedback paths scan flipflops and 6-10 logic functions FUNC TDL verifies 4-3 PMT TDL verifies 4-4 logic integrity SCAN TDL verifies 4-3 logic simulation 3-11 logic simulator ATE vs 12-2 logic verification responsibilities for 4-2 SCAN_AC TDL and 4-4 TGC1000 TDL pattern set requirements 4-5 TGC2000 TDL pattern set requirements 4-5 logic waveforms test vectors and corresponding 12-17 long counter chains 5-11 long scan chains multiple scan chains vs 6-14 separating from signal path 6-11 LSSD 3-8 ATPG and 11-5 Index 10 Index defined 5 multiple clocked scan chains illustrated 6-18 LSSD scan flip-flop design 6-8 M M TDL character 12-15 macro functions structured approach not suited for 6-20 macros 1-2 clocked scan flipflop 6-3 multiplexed flipflop scan design 6-5 MagaModules test collar 9-4 mask fabrication defects failures and 11-8 MAX keywords 12-18, 12-21 MCLK GTAP controller pin 8-7 measurements parametric 10-1 input current 10-12 input threshold voltage levels using clocked NAND tree 10-4 leakage current 10-13 output voltage levels 10-10 overview 10-2 threestate highimpedance 10-11 MegaModule PMT I/O hookup 9-5, 9-7, 9-9, 9-12, 9-15, 916, 9-18, 9-19 MegaModules defined 5 described 9-2 logic functions tested by PMT TDL 4-4 multiplexed PMT insystem use 9-21 rules 9-8 PMT I/O hookup 9-5, 9-7 PMT test for 9-2 PMT_SIM TDL verifies PMT hookup to package pins 4-4 memories embedded PMT tests 3-6 memory PMT collar 1-2 military ASIC 14-1 topic crossreference table 14-3 MIN keywords 12-18, 12-21 modules testisolation 6-14 Motorola Williams study supported by study from -6 MSELA ASIC test selection codes 8-6 TP000 bit assignments 8-5 MSELN ASIC test selection codes 8-6 TP000 bit assignments 8-5 MSELT ASIC test selection codes 8-6 TP000 bit assignments 8-5 multiplexed flipflop scan 3-7, 6-5, 6-6, 5 multiplexed flipflop scan designs 6-17 multiplexed PMT 1-2 multiplexing direct access to logic provided by 5-12 N nesting sequential circuits feedback paths in breaking 5-14 netlist defined 5 node defined 6 nondigital circuitry structured approach not suited for 6-20 notational conventions v Index 11 Index O P observability debugging time and -4 defined 6 of I/O ports, via BSC 13-5 of internal nodes improving via unused pins 5-3 of logic multiplexing improves 5-12 scan designs and 6-2 shift register used to obtain 5-20 test vector generation and 5-2 onchip oscillator circuitry 5-9 open circuit fault defined 6 oscillators PWRDN pin 10-13 oscilloscopes ineffective in debugging ASIC systems -4 output signals test vectors define 12-6 TO keyword indicates 12-18 output strobe groups test pattern generation and 12-9 placement example 12-10 precautions special 12-10 output voltage levels testing 10-10 overhead for clocked scan flipflop designs 6-4 for multiplexed flipflop scan designs 6-6 overview ATPG 11-2 GTAP 8-2 IEEE Standard 1149.1 7-2 parametric measurements 10-2 PMT 9-1 TDL 12-13 test pattern generation 12-2 ownership costs -5 illustrated -9 package pins pintopin testing of 12-11 parallel module test 1-2 parallel scan chains 3-8 parallel scan designs 6-14 parallel testing 6-14 time determined by longest chain 6-15 parametric fault defined 6 parametric measurements 10-1 input current 10-12 input threshold voltage levels using clocked NAND tree 10-4 leakage current 10-13 output voltage levels 10-10 overview 10-2 threestate highimpedance 10-11 parametric test defined 6 partial scan 3-8 partial scans designs 11-7 partitioning circuits in multiple scan chains 6-14 path sensitization ATPG and 11-5 PATH statements description 12-19 pattern sets diagnostic establishing 3-9 parallel module tests 4-4 scan 4-3 pattern statements IDDQ 10-14 PCB boundaryscannable 7-7 costofownership orderofmagnitude relationship for -8 defect rates for -7 ASIC PPM vs illustrated -8 Index 12 Index IEEE Standard 1149.1 and 7-1 IEEE Standard1149.1 and 3-5 PECL defined 6 performance TDL test procedures 12-11 atspeed testing 12-11 pintopin testing 12-11 setup and hold testing 12-11 testability and -2 period slip described 12-4 tester example 12-5 pins 1-2 TDL defines conditions for signal 12-19 unused testability improved via 5-3 pintopin testing 12-11 PMT 1-2, 9-1 analog MegaModules 9-9 analogtodigital I/O hookup 9-9, 9-12 defined 6 DFT strategy development and 3-2 differential amplifier I/O hookup 9-18, 9-19 digitaltoanalog I/O hookup 9-15, 9-16 embedded memories tested with 3-6 MagaModules 9-2 multiple MegaModule I/O hookup 9-7 multiplexed insystem use 9-21 rules 9-8 single MegaModule I/O hookup 9-5 TDL pattern sets for 4-4 test bus 9-6 PMT TDL described 4-4 PMT TEST ENABLE ASIC test 8-6 PMT_I/O ASIC test selection codes 8-6 TP000 bit assignments 8-5 PMT_SIM TDL described 4-4 PMTSETUP TDL described 4-4 power supply quiescent current measurements ASIC_TEST statements define 12-20 predictability of designs 5-2 prelayout simulation defined 6 preload multiplexed PMT appropriate for 9-21 PRELOAD instructions 13-8 printed circuit boards 1-2 private instructions TEST_REG 13-19 process yields in Williams model -5 PROP keywords 12-18 propagation delay tests 1-2 edgetriggered clock and 5-8 measurements example 12-18 one needed per design 4-3 pintopin testing verifies 12-11 PROP keyword indicates 12-18 responsibilities for 4-2 specifying measurements in TDL 12-17 TGC1000 TDL pattern set requirements 4-5 TGC2000 TDL pattern set requirements 4-5 pseudo ECL 1-2 PU/PD CURRENT ASIC test 8-6 public instructions 13-8 pulldown macros PWRDN pin 10-13 pullup macros PWRDN pin 10-13 pulsegenerating circuitry 5-9 PWRDN ASIC test selection codes 8-6 TP000 bit assignments 8-5 PWRDN pin 10-13 PWRDN STATE ASIC test 8-6 Index 13 Index Q quiescent power supply current measurements ASIC_TEST statement defines 12-20 TDLCHKR a tool for 4-4 rules multiplexed PMT 9-8 precautions for test pattern creation 12-10 R random access memory structured approaches not suited for 6-20 random vector generation ATPG 11-5 read only memory structured design approach not suited for 6-20 reconverging signals watching for 5-16 redundant logic defined 6 testing 5-15 register files structured approach not suited for 6-20 register transfer level defined 6 registers 1-2 as overhead for multiplexed flipflop scan designs 6-6 REJECT keywords 12-18 reset capabilities initializing circuit to known state requires, for latches, flipflops 5-5 RESETZ shift register and 5-19 RESTORE1 test condition 8-8 RESTORE2 test condition 8-8 review process design DFT strategy development and 3-4 risetime measurement 1-2 RTL defined 6 rule checking structured approach favors 6-2 S safe circuit initialization pattern 10-4, 10-10, 1011 SAMPLE/PRELOAD instructions 13-8 input threshold voltage levels checked using clocked NAND tree 10-4 output voltage levels 10-10 threestate highimpedance measurements and 10-11 sampling IR captureIR group does 13-6 SCAN GTAP controller pin 8-7 scan 3-7 DFT strategy development and 3-2 sequential logic tested best with 3-7 scan chains parallel 3-8 SCAN CLOCK 6-3, 6-4 clock skew and 6-7 scan designs 1-2, 6-1 bus contention scan testing and 6-12 clocked scan flipflop 6-3 edgetriggered flipflop 6-7 flipflop guidelines 6-10 inefficiencies in certain structures 6-20 multiplexed flipflop 6-5 parallel 6-14 partial ATPG and 11-7 scan path loading on critical ac path 6-11 structured approaches 6-2 testisolation modules 6-14 SCAN ENABLE 6-5, 6-6 Index 14 Index scan macros partitioning logic reduces number of 6-15 scan paths defined 7 flipflops 6-7 flipflops in 6-10 integrity GTAPCHK TDL checks 4-4 SCANCHK TDL checks 4-3 inversions 6-11 isolating loading with inverter illustrated 6-11 loading on critical ac paths 6-11 multiple as testisolatable modules 6-14 clocked scan flipflop scan designs 6-16 LSSD illustrated 6-18 multiplexed flipflop scan designs 6-17 patterns 6-18 test patterns, multiple 6-18 scan rings 6-20 SCAN statements description 12-19 SCAN TDL described 4-3 TGC1000 pattern set requirements 4-5 TGC2000 pattern set requirements 4-5 scan testing bus contention and 6-12 SCAN_AC TDL described 4-4 setup and hold testing and 12-11 TGC1000 pattern set requirements 4-5 TGC2000 pattern set requirements 4-5 SCANCHK TDL described 4-3 TGC1000 pattern set requirements 4-5 TGC2000 pattern set requirements 4-5 SCANIN DATA 6-3, 6-5 SCANOUT 6-3 SCLK GTAP controller pin 8-7 select inputs circuit initialization to known state and 5-5 semicolon ( 12-18 sequential circuits bypassing 5-10 nests breaking feedback paths in 5-14 sequential fault defined 7 sequential logic scan approach best for testing 3-7 serial shift register test register is 8-3 set capabilities initializing circuit to known state requires, for latches, flipflops 5-5 SET statements description 12-19 setup and hold testing 12-11 shift registers observability obtained by using 5-20 scan chain circuit initialization to known state and 5-5 serial test register is 8-3 test signal generator 5-19 shiftIR group loading done by 13-6 short circuit fault defined 7 signal generators test Johnson counter 5-18 shift register 5-19 signals paths long scan chains separating from 6-11 reconverging 5-16 separating unused pins control 5-17 types TDL toggle states required for various 10-3 silicon Index 15 Index overhead for clocked scan flipflop designs 6-4 for multiplexed flipflop scan designs 6-6 simulations ATE loads and 12-10 example 12-11 defined 7 test pattern 3-11 skew, scan 1-2 slave clock interface circuit TCKtoMaster 13-21 splitting long counter chains 5-11 SR 1-2 SRAM MegaModules 9-2 SRAM OFF ASIC test selection codes 8-6 SRAM standby dc parametric test resources 13-10 SRAM_OFF TP000 bit assignments 8-5 SRL 1-2 state machine controllability using clear to add illustrated 5-6 defined 7 state machines uncontrollable illustrated 5-5 state transition diagram GTAP controller 8-9 states initializing circuit to known 5-5 static testing ICC TDL facilitates 4-3 status check multiplexed PMT appropriate for 9-21 strategies for testability, developing 3-1 commitment to design practices 3-3 compatibility planning 3-13 diagnostic pattern set for debugging 3-9 faultgrade requirements 3-4 flowchart 3-14 gatedensity approach 3-6 highfaultgrade test pattern generation 3-10 IEEE Std 1149.1 as system requirement 3-5 structured tool selection 3-7 technology selection 3-2 test patterns converting to TDL 3-12 timing simulations 3-11 structured testing ad hoc vs 5-2 structured tools choosing 3-7 clocked scan 3-7 LSSD 3-8 multiplexed flipflop scan 3-7 parallel scan chains 3-8 partial scan 3-8 scan designs 6-2 stuckat0fault 7 stuckat1fault 7 surface contamination circuit dc leakage current measuring for 10-13 synchronous logic defined 7 synchronous systems ATEs are 12-2 system designers IEEE Standard 1149.1 effect on 7-2 T TAP 1-2 boundaryscan architecture 13-5 controller 7-4 dc parametric test resources 13-10 described 13-4 DFT strategy development and 3-2 IEEE Standard 1149.1 and 7-2 state diagram 13-7 Index 16 Index TCK boundaryscan architecture test pin 13-3 to Master slave clock interface circuit 13-21 TDI boundaryscan architecture test pin 13-3 TDL 1-2 BIST_AC pattern types 12-11 clocks 12-7 definition example 12-8 width minimum illustrated 12-9 defined 7 example 12-15 FUNC_AC pattern types 12-11 IDDQ location 10-14 propagation delay measurements specifying 12-17 quiescent power supply current measurements defined in 12-20 scan 12-19 example 12-19 vectors 12-20 SCAN_AC pattern types 12-11 simulation timing and 3-11 test pattern created by 12-6 ATE loads 12-10 simulation example 12-11 clocks 12-7 input delay group 12-6 output strobe groups 12-9 placement example 12-10 performance test procedures 12-11 precautions special 12-10 test patterns converting to 3-12 handing off to TI in 4-2 toggle states required for signal types 10-2 types described 4-3 BIST 4-3 pattern sets required by all 4-3 PMT 4-4 scan 4-3 TDLCHKR rule checker 4-4 TDO pins as test activation control pin 13-21 example 13-22 boundaryscan architecture test pin 13-3 technologies selecting, for DFT strategy development 3-2 TEST GTAP controller pin 8-7 test access port 1-2 test access port controller 1-2 test activation control pin 13-21 TDO input circuit for example 13-22 TST_ENBL circuit example 13-22 test bus PMT 9-6 test capability overlooked in design process -2 Test Clock boundaryscan architecture test pin 13-3 test collar MegaModule 9-4 test controller 1-2 Test Data In boundaryscan architecture test pin 13-3 Test Data Out boundaryscan architecture test pin 13-3 test description language 1-2 test insertion timetomarket and -3 Test Mode Select boundaryscan architecture test pin 13-3 test pattern fault coverage 1-2 defined 8 test pattern sets BIST 4-3 Index 17 Index output strobe groups and 12-9 TDL requirements for 4-3 test patterns compatibility planning for 3-13 converting to TDL 3-12 dc parametric measurements and 10-2 defect levels and -8 defined 8 fault grade vs development time and illustrated -3 for MegaModules, TI provides 3-7 for threshold voltage measurements dedicated control pins 10-6 shared control pins 10-9 generating 12-1 ATE block diagram 12-4 development cycle time and -3 introduction 12-2 path sensitization 11-5 synchronous pattern for use during functional test example 12-3 TDL ATE loads simulation example 12-11 creates 12-6 example 12-15 input delay groups 12-6 output strobe groups 12-9 performance test procedures 12-11 propagation delay measurements, specifying 12-17 quiescent power supply current measurements defined in 12-20 scan 12-19 example 12-19 vectors 12-20 TDLs create ATE loads 12-10 clocks 12-7 output strobe groups placement example 12-10 precautions special 12-10 tester period slip 12-5 handing off to TI in TDL format 4-2 highfault grade 11-1 highfaultgrade 3-10 requirements 4-1 responsibilities for providing 4-2 scan path multiple 6-18 simulations 3-11 TDL type descriptions 4-3 test costs and -2 timing 3-11 test periods duration of minimum 12-4 input delay group relationship to illustrated 12-7 test pins boundaryscan architecture 13-3 test procedures performance TDL 12-11 atspeed testing 12-11 pintopin testing 12-11 setup and hold testing 12-11 test program defined 8 test register 8-3 architecture typical illustrated 8-4 bit definitions 8-5 building block illustrated 8-3 described 8-3 test selection codes 8-6 Test Reset boundaryscan architecture test pin 13-3 test selection codes for test register 8-6 test signal generators Johnson counter 5-18 Index 18 Index shift registers 5-19 test signals injecting 5-3 test vectors 1-2 corresponding logic waveforms and 12-17 dc parametric test resources 13-10 defined 8 described 12-2 DFT and 5-2 input signals defined by 12-6 multiple scan chain designs and 6-14 numbers of minimizing 12-3 output signals defined by 12-6 propagation delay measurements specifying, in ASIC_TEST statements 12-17 quiescent power supply current measurements specifying 12-20 TDL contains 3-12 TEST_REG instructions 13-19 TEST1 test condition 8-8 test register codes 8-6 TP000 bit assignments 8-5 TEST2 test condition 8-8 test register codes 8-6 TP000 bit assignments 8-5 testability ad hoc schemes 5-1 asynchronous circuits 5-7 bidirectional buffers 5-4 counter chains 5-11 counters 5-10 dividers 5-10 gated clocks 5-8 internal clocks 5-9 internal node observability 5-3 Johnson counter test signal generator 5-18 known states 5-5 logic blocks 5-17 multiplexing direct access to logic 5-12 nesting sequential circuits 5-14 reconverging signals 5-16 redundant circuits 5-15 shift register observability obtained from 5-20 shift registers test signal generator 5-19 area impact and -2 introduction 1-1 of logic multiplexing improves 5-13 overlooked, in design process -2 performance impact and -2 principles, applying early in process 1-1 scan designs and 6-2 schemes 1-2 structured 6-1 approaches to 6-2 bus contention scan testing and 6-12 clocked scan flipflop 6-3 edgetriggered flipflop 6-7 flipflop scan design 6-10 LSSD 6-8 multiplexed flipflop 6-5 scan path loading on critical ac path 6-11 scan paths 6-20 testisolatable modules 6-14 testisolation modules multiple scan paths patterns 6-18 testisolation modules 6-14 structured tools choosing 3-7 clocked scan 3-7 LSSD 3-8 multiplexed flipflop scan 3-7 parallel scan chains 3-8 partial scan 3-8 testable defined 7 TESTDATA shift register and 5-19 testers commercial -2 constraints 3-11 described 3-11 Index 19 Index TTL/CMOS bidirectional buffers vs contentions 12-10 testing approaches to 5-2 ATPG considerations 11-8 chips how done 12-2 introduction to 12-2 parallel 6-14 period slip and 12-4 TESTOUT pin 5-20 tests costs -8 testtime costs -2 TGC1000 NAND tree configurations illustrated 10-7 TGC2000 NAND tree configurations illustrated 10-7 threestate disabling logic 6-12 threestate highimpedance measurements 10-11 threestate logic 12-10 threshold circuitry adding, to circuits not adhering to IEEE Standard 1149.1 10-4 threshold drifts circuit dc leakage current measuring 10-13 TI Customer Design Center, contacting ix time test costs -2 timetomarket -3, -5, -8, 3-9 timing 1-2 BIST_AC TDL verifies requirements 4-4 checks TDLCHKR and 4-4 FUNC_AC TDL verifies requirements 4-4 gated clocks vs edgetriggered clocks 5-8 generators clock, strobe times and 12-3 race conditions in edgetriggered flipflop scan designs 6-7 SCAN_AC TDL verifies requirements 4-4 TMS boundaryscan architecture test pin 13-3 TO keywords 12-18 toggle states required, for TDL states, for various signal files 10-3 tools design costs and -8 TP000 bit definitions for 8-5 macros GTAP test registers consist of 13-20 test register composed of 8-3 test register building block illustrated 8-3 TP0B0 test register composed of 8-3 trademarks ix tradeoffs -2, -4, -5, -6 TRST boundaryscan architecture test pin 13-3 truth tables 1-2 described 12-2 TST_ENBL circuit as test activation control pin example 13-22 TURNOFF TDL described 4-4 TGC1000 pattern set requirements 4-5 TGC2000 pattern set requirements 4-5 U undetectable fault defined 8 undetected fault defined 8 unloading IR shiftIR group does 13-6 updateIR group activating IR done by 13-6 user test data register 7-5 Index 20 Index UTDR described 7-5 V vendors design process and -2 VIH/VIL and VOH/VIL test (TAP pins) 13-10 VIH/VIL and VOH/VOL test (TAP pins) 13-16 using boundaryscan architecture and GTAP test register 13-26 VIH/VIL test 13-10 ASIC test selection codes 8-6 using boundaryscan architecture and GTAP test register 13-23 VIH/VIL_CLK_A ASIC test 8-6 VIH/VIL_CLK_B ASIC test 8-6 VIH_VIL TP000 bit assignments 8-5 VIH_VIL CLK SELECT ASIC test selection codes 8-6 TP000 bit assignments 8-5 VIH_VIL TDL described 4-4 input threshold voltage levels 10-4 parametric testing and 10-2 TGC1000 pattern set requirements 4-5 TGC2000 pattern set requirements 4-5 VOH/VOL test 13-10, 13-12 using boundaryscan architecture and GTAP test register 13-23 VOL/VOH ASIC test 8-6 voltage level measurements 10-1 input current 10-12 input threshold using clocked NAND tree 10-4 leakage current 10-13 output 10-10 overview 10-2 threestate highimpedance 10-11 W wafer fabrication defects failures and 11-8 warnings information about vi waveform analyzers ineffective in debugging ASIC systems -4 Williams fault coverage model -5 Motorola, Delco study supports -6 WRITE test condition 8-8 Y Y TDL character 12-15 Z Z TDL character 12-15 Index 21 Index Index 22 Index Index 23 Index Index 24 Index Index 25 Index Index 26 Index Index 27 Index Index 28 Index Index 29 Index Index 30 Index Index 31 Index Index 32 Index Index 33 Index Index 34 Index Index 35 Index Index 36 Appendix A Glossary A ACE: ASIC Compiler Environment. The graphical user interface delivery mechanism for submicron gate-array memory compiler elements. ASIC: Application Specific Integrated Circuit. A device designed for a user application, usually by the user. asynchronous logic: A collection of logic elements with the signal timing entirely dependent on the propagation delay of all elements in the signal path. The resulting signal flow timing changes with variations in process control, temperature, and power-supply voltage. ASIC TDL 91: An improved TI TDL format that supports both narrow and wide (SCAN) TDL. Narrow TDL lists the ATE state for all pins in every cycle. Wide or SCAN TDL allows a description of only nonredundant ATE states and pins. ATE: Automated Test Equipment. Machines used to test silicon. ATPG: Automatic Test Pattern Generation. A process by which the vectors required to produce a high-fault coverage for a design are generated by a program. These tools generally require scans in synchronous designs and assume certain scan rules. at-speed testing: Refers to test vectors that target the detection of delay faults. The term usually apllies to test vectors that operate at design frequency or that validate setup conditions. AUTOGEN: A TI software tool that compiles an automated test equipment program (ATE) program from TDL. Automatic Test Pattern Generation: A methodology, using software tools, to generate test patterns. Test patterns attempt to control and observe each circuit node using a stuck-at model. 1 B back annotation: The process of updating the design database with actual interconnect delays (as opposed to estimations by design CAD software). The actual delays are calculated after placement and routing, when exact interconnect lengths are known. BIST: Built-In Self-Test. The capability of a product to carry out a functional test of itself. Some support from external equipment may be required. BIST usually involves special hardware in the product to generate input stimuli and to analyze test responses. block: A group of interconnected cells. May contain instances of other blocks. BNF: Backus Naur Form. A description of ASIC TDL 91. BTL: Backplane Transceiver Logic. A form of transmission line driver and receiver circuitry specified by IEEE Std 1149.1. bus: A data distribution path that typically has multiple data receivers and can have multiple data sources. Bus structures must be driven by threestate drivers. The drivers must be capable of disconnecting from the bus, and only one such source can be active at one time. bus contention: If more than one bus driver is active with conflicting output levels at the same time, neither driver may be able to assert a true logic level on the bus line. The result could be excessive drive current, undefined logic levels, and possible device failure. bus holder: A logic device that prevents a bus from floating if all bus drivers are placed into the high-impedance state. It maintains the last logic state. C cell: An individual component of a library (typically a logic gate; for example, a NA210 2-input NAND gate). See macro. CHIPS: Comprehensive Hierarchical Physical Synthesis. TI’s submicron gate-array floorplanning tool designed to improve design cycle time by decreasing layout iterations. Includes PRELUDE delay estimation capabilities plus full graphic floorplanning. circuit initialization: A sequence of stimuli that sets internal nodes of a circuit to a predictable known state. 2 Design for Testability clock skew: The difference in clock edge timing across the chip. Loading and interconnect capacitance cause the active clock edge to be delayed, possibly disrupting critical circuit timing. clocked scan: An edge-triggered scan methodology. The clocked scan flipflop has separate clock and data inputs for scan- and system-mode operation. CMOS: Complementary Metal Oxide Semiconductor. A form of digital logic that has the characteristics of low power consumption, wide power supply range, and high noise immunity. combinational fault: A functional fault whose effect on the behavior of the circuit is not affected by the sequence of the input stimuli. controllability: The ability of a node to be established at specific logic states by applying stimuli to the circuit’s externally accessible nodes. core logic: All logic functions except I/O buffers are core logic. critical path: Any path with special timing requirements. CTL: CMOS Transceiver Logic. A form of transmission-line driver and receiver circuitry. These circuits allow CMOS devices to communicate in a low-noise, terminated-transmission-line environment. D delay fault: A fault in a circuit that causes failure to meet ac specifications but might not cause functional failure. design-for-testability feature: Lets you specify a list of placement rules describing the connectivity of any logic path you want to group. design requirements document: A document to guide the product development that states the goals of the design. This type of document usually includes functional description, performance goals, cost goals, testability goals, and quality goals. detectable fault: A functional fault for which a test pattern can be created that always causes the effects of the fault to be observable at an externally accessible node. detected fault: A functional fault that causes effects that are observed at an externally accessible node when the circuit is exercised by the existing test pattern. Glossary 3 DFT: Design for Testability. A design goal requiring that each node be both observable and controllable. Failure to achieve this design goal can compromise quality assurance. E ECL: Emitter-Coupled Logic. A nonsaturating form of digital logic that eliminates transistor storage time as a speed-limiting characteristic, permitting very-high-speed operation. F fault: A defect that can cause a failure in the circuit operation/timing. fault detectability ratio: The ratio of detectable faults to the sum of detectable and undetectable faults. fault grade: A measurement of the efficiency of test vectors to detect manufacturing defects in silicon. The fault-grade value is usually presented as a percentage of the stuck-at faults that can be identified using those test vectors. fault grading: The process of determining the test pattern fault coverage of a circuit. fault-tolerant design: A design approach to enhance the ability of a circuit to remain operational after the occurrence of a fault. Fault-tolerance design techniques can impact fault detection. floating bus: Any bus line not driven by an active device is free to assume any voltage level. Circuits with inputs connected to this bus may draw excessive current or otherwise malfunction. floating input: The input of a macro can assume an undefined voltage level if it is not driven to a defined logic level. Circuits with floating inputs can draw excessive current or otherwise malfunction. functional fault: A fault that causes improper logical operation of a circuit. G GTAP: Generic Test Access Port. The TI ASIC test controller. The GTAP can be instructed to enable or disable any combination of DFT features. 4 Design for Testability I I/O: Input/Output. An input/output or bidirectional buffer cell used to connect design interface signals directly to package pins. ICCQ: IDDQ: A TI term for IDDQ. See IDDQ. DC leakage testing looks for abnormally high VCC current that indicates a logic or process defect. Test conditions for IDDQ testing must turn off all circuits that produce dc current in the static state. J JTAG: Joint Test Action Group. 1) Committee that established the test access port (TAP) and boundary-scan architecture defined in IEEE Standard 1149.1-1990. 2) Common name for IEEE Std1149.1-1990. L LSSD: Level-Sensitive Scan Design. A scan methodology. It is a technique where all logic storage elements in a device are chained together in a dual mode. The first mode is the normal operation of the device where clocks allow the storage of data in normal system operation. In the second mode, master and slave clocks are used to shift data in and out of the device for testing purposes. M MegaModule: ter files. High-complexity macros such as SRAMs, FIFOs, and regis- multiplexed flip-flop scan: Multiplexed flip-flop scan design is a scan methodology. It is a technique where all logic storage elements in a device are chained together in a dual mode. A 2:1 multiplexer is placed at the input of the logic storage elements. The first mode is the normal operation of the device where the multiplexer allows the storage of data in normal system operation. In the second mode, the multiplexer allows the shifting of data in for test purposes. netlist: A description of a logic circuit that names the macros used and describes their interconnection. Glossary 5 node: The end-point of a branch in a network or a point at which two or more branches meet. O observability: The ability to determine the logic states of an internal circuit node at the circuit’s externally accessible nodes. open circuit fault: A fault in a circuit that alters the number of nodes by breaking a node into two or more nodes. P parametric fault: A fault in a circuit that causes failure to meet ac or dc specifications but might not cause functional failure. parametric test: These are electrical tests that evaluate parameters such as dc and ac electrical characteristics ( VIH, IDDQ, VOH, tpd, etc. ). PECL: Pseudo ECL. Logic that is implemented to operate with standard 5V VCC and GND power supplies. PMT: Parallel Module Test. A system of additional logic built into MegaModules for the purpose of enhancing the testability of the circuitry. Package input and output pins are multiplexed with internal test circuitry to minimize the need for package pins dedicated to testing. prelayout simulation: Accomplished as part of verification that the design meets design specifications. To be effective, simulation must include circuit evaluation using both minimum and maximum propagation delays. The only unknown is actual interconnect capacitance. Interconnect capacitance is estimated by the design CAD software to give an assumed value. R redundant circuit: Deliberate duplication of logical functions to create backup functions that enhance performance or reliability of operation. RTL: Register Transfer Level. A subset of behavioral modeling constructs that can be used to model a circuit at the level of data flowing between a set of registers. This level of abstraction typically contains little timing information, except references to a set of clock edges and features. 6 Design for Testability S scan path: A shift register made up of the logic storage elements (standalone bit-storage devices). In test mode, the storage elements are connected in a shift register. During normal operation they carry out their normal system functions. The scan path is used to shift test data into the logic storage elements for controllability and to shift out test response data for observability. sequential fault: A functional fault whose effect on the behavior of the circuit is affected by the sequence of the input stimuli. short circuit fault: A fault in a circuit that alters the number of nodes by connecting two or more nodes together. simulation: The process of using workstation software to exercise a logic design. When properly done, simulation verifies both circuit timing and logic functionality. state machine: A logic block that can assume any of several output logic states in response to input stimuli. Each logic state is uniquely determined from the previous state and the previous input. stuck-at-0 fault: A fault in a digital circuit characterized by a node remaining at a logic low (0) state regardless of changes in input stimuli. stuck-at-1 fault: A fault in a digital circuit characterized by a node remaining at a logic high (1) state regardless of changes in input stimuli. synchronous logic: Any group of logic storage elements through which the signal flow timing is controlled by the system clock. Clock signals cause data signals to advance from one logic storage element to the next, one element at a time. The resulting signal flow is thus made predictable. T testable: An electronic circuit is testable if test patterns can be generated, evaluated, and applied in such a way as to satisfy predefined levels of performance defined in terms of fault-detection, fault-location, and testapplication criteria, within a predefined cost-budget and timescale. TDL: Test Description Language. A TI language defining test stimuli as a series of input values and expected output values. The TDL file serves as a source file to program the automated testers used for production test. Glossary 7 test pattern: A set of test vectors. test pattern fault coverage: The ratio of the total number of detected faults to the total number of detectable faults. test program: A test pattern and instructions suitable for use on automated test equipment (ATE). A test program can be used to perform functional and parametric (ac, dc, or other) tests. test vector: A single instance of input stimuli and expected output responses. U undetectable fault: A functional fault for which no set of functional test vectors can be created that can guarantee that the effects of the fault are observable at an externally accessible node. undetected fault: A functional fault that causes effects that are not observed at an externally accessible node when the circuit is exercised by the existing test pattern. V VCC: Positive supply voltage or the voltage required across supply and ground terminals of a TTL or CMOS integrated circuit VDD: Positive supply voltage or the voltage required across supply and VSS terminals of a CMOS integrated circuit VSS: 8 Ground terminal of a CMOS integrated circuit Design for Testability