/
Design For Testability Design For Testability --OrganizationOrganizati Design For Testability Design For Testability --OrganizationOrganizati

Design For Testability Design For Testability --OrganizationOrganizati - PDF document

debby-jeon
debby-jeon . @debby-jeon
Follow
440 views
Uploaded On 2015-11-14

Design For Testability Design For Testability --OrganizationOrganizati - PPT Presentation

Overview of DFT TechniquesOverview of DFT Techniques AdAdhoc techniqueshoc techniques ExamplesExamples IO PinsIO Pins Scan TechniquesScan Techniques Full Partial ScanFull Par ID: 192680

 Overview DFT TechniquesOverview

Share:

Link:

Embed:

Download Presentation from below link

Download Pdf The PPT/PDF document "Design For Testability Design For Testab..." is the property of its rightful owner. Permission is granted to download and print the materials on this web site for personal, non-commercial use only, and to display it on your personal computer provided you do not modify the materials and that you retain all copyright notices contained in the materials. By downloading content from our website, you accept the terms of this agreement.


Presentation Transcript

Design For Testability Design For Testability --OrganizationOrganization  Overview of DFT TechniquesOverview of DFT Techniques  AdAd--hoc techniqueshoc techniques  ExamplesExamples  I/O PinsI/O Pins  Scan TechniquesScan Techniques  Full & Partial ScanFull & Partial Scan C. Stroud 9/09Design for Testability  Full & Partial ScanFull & Partial Scan  Multiple Scan ChainsMultiple Scan Chains  Boundary ScanBoundary Scan  BuiltBuilt--In SelfIn Self--TestTest  Evaluation Criteria for DFT TechniquesEvaluation Criteria for DFT Techniques Overview of DFT TechniquesOverview of DFT Techniques AdAd--hoc techniqueshoc techniques  Target “difficultTarget “difficult--toto--test” test” subcircutssubcircutsto improve to improve  ControllabilityControllability  ObservabilityObservability Scan techniquesScan techniques UpUp--front & topfront & top--down structured techniquesdown structured techniques  Enforce general design style & require following design rulesEnforce general design style & require following design rules C. Stroud 9/09Design for Testability  Enforce general design style & require following design rulesEnforce general design style & require following design rules  CAD tools for automatic implementation & vector generationCAD tools for automatic implementation & vector generation  Full scan design Full scan design --best overall DFT techniquebest overall DFT technique  Partial scan designPartial scan design Boundary scan Boundary scan --for testing device I/O interconnectfor testing device I/O interconnect BuiltBuilt--In SelfIn Self--TestTest  Internal test circuitry incorporated within chip/boardInternal test circuitry incorporated within chip/board AdAd--Hoc DFT Techniques: Basic IdeaHoc DFT Techniques: Basic Idea  Add MUXs to provide access to/from internal circuitryAdd MUXs to provide access to/from internal circuitry  Controllability & Controllability & ObservabilityObservability  Add gates to provide control to internal circuitryAdd gates to provide control to internal circuitry  Controllability onlyControllability only  Add these “test points” only where needed in circuitAdd these “test points” only where needed in circuit  Low area overhead penaltyLow area overhead penalty C. Stroud 9/09Design for Testability  Low area overhead penaltyLow area overhead penalty  Little (if any) performance impactLittle (if any) performance impact  Critical paths can often be avoidedCritical paths can often be avoided  Target difficult to test Target difficult to test subcircuitssubcircuits  Potential for significant increase in fault coveragePotential for significant increase in fault coverage  Creative testability solutions on a caseCreative testability solutions on a case--byby--case basiscase basis  But we have to figure out what & where those areBut we have to figure out what & where those are AdAd--Hoc DFT Techniques: Some BenefitsHoc DFT Techniques: Some Benefits  Provide test points for controllability & Provide test points for controllability & observabilityobservability  Provide easier initializationProvide easier initialization  For logic simulation and design verificationFor logic simulation and design verification  Partition the logic into easier to test piecesPartition the logic into easier to test pieces  Provide access to embedded blocksProvide access to embedded blocks  Core tests can be reCore tests can be re -- usedused C. Stroud 9/09Design for Testability  Core tests can be reCore tests can be re -- usedused  Bypass clock generation Bypass clock generation cktsckts(oscillators, one(oscillators, one--shots, etc.)shots, etc.)  Avoid or bypass asynchronous logicAvoid or bypass asynchronous logic  Break feedback loops (when they are a problem)Break feedback loops (when they are a problem)  Break up large counters into smaller onesBreak up large counters into smaller ones  Disable intentional redundant logic for testingDisable intentional redundant logic for testing AdAd--Hoc Techniques: ExamplesHoc Techniques: Examples  Add pin(s), MUX(s), gate(s) to change Add pin(s), MUX(s), gate(s) to change mode of operationmode of operation  Use test mode to modify structures detrimental to testUse test mode to modify structures detrimental to test  Breaking unBreaking un--initializableinitializablefeedback loopsfeedback loops  Helps prevent potentially detectable faultsHelps prevent potentially detectable faults  Bypassing internal oscillatorsBypassing internal oscillators C. Stroud 9/09Design for Testability 00 TestModeTestMode TestClockTestClock DDQQQQ InternalOscillatorInternalOscillator 0 TestMode TestClock DQQ InternalOscillator DDQQQQ 00 TestModeTestMode TestDataTestData UninitializableFeedback LoopUninitializableFeedback Loop DQQ 0 TestMode TestData UninitializableFeedback Loop AdAd--Hoc Techniques: Examples (cont.)Hoc Techniques: Examples (cont.)  Sometimes gates can replace MUX (gate is smaller)Sometimes gates can replace MUX (gate is smaller)  Asynchronous resets/presetsAsynchronous resets/presets  MUX to bypass vs. gate to blockMUX to bypass vs. gate to block  Breaking up large countersBreaking up large counters  MUX/gate in carryMUX/gate in carry--chainchain  Reduces test time from 2Reduces test time from 2NNto 2to 2NN/2/2NormalResetNormalReset 00 Test Reset Test Reset DDQQQQ asyncresetasyncreset NormalReset 0 Test Reset DQQ asyncreset C. Stroud 9/09Design for Testability TestModeTestMode ResetReset TestMode Reset TestModeTestMode DDQQQQ asyncresetasyncreset NormalResetNormalReset TestMode DQQ asyncreset NormalReset Cin Counter CoutCin Counter Cout Cin Counter CoutCin Counter Cout 00 Test ModeTest Mode TestDataTestData Cin Counter Cout Cin Counter Cout 0 Test Mode TestData Cin Counter CoutCin Counter Cout Cin Counter CoutCin Counter Cout Test ModeTest Mode Cin Counter Cout Cin Counter Cout Test Mode AdAd--Hoc Techniques: Examples (cont.)Hoc Techniques: Examples (cont.)Partitioning into easy to test Partitioning into easy to test subcircuitssubcircuitsusing MUXsusing MUXs  Each Each subcircuitsubcircuitcan be tested independentlycan be tested independently  this may require many MUXsthis may require many MUXs  Example of partitioning pipelined structure Example of partitioning pipelined structure (works for (works for almost any almost any cktckt))  T1=0, T2=1 T1=0, T2=1 normal system mode of operationnormal system mode of operation  T1=0, T2=0 T1=0, T2=0 testing testing cktcktAA  T1=1, T2=0 T1=1, T2=0  testing testing cktckt BB AA BB CC A B C C. Stroud 9/09Design for Testability  T1=1, T2=0 T1=1, T2=0  testing testing cktckt BB  T1=1, T2=1 T1=1, T2=1 testing testing cktcktCC BeforeDFTBeforeDFT AA BB CC BeforeDFT A B C AfterDFTAfterDFT AA BB CC MUXMUX MUXMUX MUXMUX MUXMUX T1T1T2T2T1T1T1T1 AfterDFT A B C MUX MUX MUX MUX T1T2T1T1 AdAd--Hoc Techniques: Examples (cont.)Hoc Techniques: Examples (cont.)Partitioning using fewer MUXsPartitioning using fewer MUXs  Testing is more difficult but easier than original circuitTesting is more difficult but easier than original circuit  A more observableA more observable  Less than full DFTLess than full DFT  C more controllableC more controllable  Less than full DFTLess than full DFT AfterDFTAfterDFT AA BB CC MUXMUX MUXMUX TestingTesting AA BB CC MUXMUX MUXMUX AfterDFT A B C MUX MUX Testing A B C MUX MUX C. Stroud 9/09Design for Testability  Less than full DFTLess than full DFT  B is completelyB is completely  ControllableControllable  ObservableObservable  Same as full DFTSame as full DFT  Half the area penaltyHalf the area penalty TestingCkt BTestingCkt B AA BB CC MUXMUX MUXMUX Ckt ACkt A AA BB CC MUXMUX MUXMUX TestingCkt CTestingCkt C AA BB CC MUXMUX MUXMUX TestingCkt B A B C MUX MUX Ckt A A B C MUX MUX TestingCkt C A B C MUX MUX Ad Hoc Techniques: I/O PinsAd Hoc Techniques: I/O PinsExtra I/O pins are often required (sometimes a lot of I/O)Extra I/O pins are often required (sometimes a lot of I/O)  Test data inputs may be able to share primary inputsTest data inputs may be able to share primary inputs  Test data outputs can share primary outputsTest data outputs can share primary outputs  Test data/mode for gate test point typically need I/O pinsTest data/mode for gate test point typically need I/O pins  Test mode control signals for MUX test points require:Test mode control signals for MUX test points require:  Extra I/O pinsExtra I/O pins  Devices with out processor interfaceDevices with out processor interface C. Stroud 9/09Design for Testability  Devices with out processor interfaceDevices with out processor interface  Decode test mode pins to obtain desired test modesDecode test mode pins to obtain desired test modes  Assumes only a subset of possible combinations neededAssumes only a subset of possible combinations needed  Extra internal test register bitsExtra internal test register bits  Devices with processor interface Devices with processor interface AfterDFTAfterDFT AA BB CC MUXMUX MUXMUX AfterDFT A B C MUX MUX TestModeTestMode DDQQQQ asyncresetasyncreset NormalResetNormalReset TestMode DQQ asyncreset NormalReset AdAd--Hoc Techniques: SummaryHoc Techniques: Summary  Advantages:Advantages:  Relatively low area overhead and performance impactRelatively low area overhead and performance impact  1 MUX (or gate) per test point1 MUX (or gate) per test point  Critical paths can often be avoided Critical paths can often be avoided  Moderate to good improvements in testabilityModerate to good improvements in testability  Does not constrain the designDoes not constrain the design  Can be used with other DFT techniques like BISTCan be used with other DFT techniques like BIST C. Stroud 9/09Design for Testability10  Can be used with other DFT techniques like BISTCan be used with other DFT techniques like BIST  Disadvantages:Disadvantages:  Requires manual design & implementationRequires manual design & implementation  Limited CAD support (if any) availableLimited CAD support (if any) available  I/O pin overhead can be high in some casesI/O pin overhead can be high in some cases  Fault simulation required to evaluate effectivenessFault simulation required to evaluate effectiveness  Considerable test development effort requiredConsiderable test development effort required Scan Design Techniques: Basic IdeaScan Design Techniques: Basic Idea  Transform FFs in sequential logic into shift registerTransform FFs in sequential logic into shift register  All FFs controllable & observable via serial accessAll FFs controllable & observable via serial access  Many different types of scan FF (too many!)Many different types of scan FF (too many!)  Test problem simplified to testing combinational logicTest problem simplified to testing combinational logic  The best overall DFT approach ever developedThe best overall DFT approach ever developed DiDiQiQi DiQi PrimaryPrimary PrimaryPrimary Primary Primary PrimaryPrimary PrimaryPrimary Primary Primary C. Stroud 9/09Design for Testability11 FFFFClkClk FFClk Scan FFScan FF ClkClk -1-1 ScanModeScanMode Scan FF Clk -1 ScanMode ScanFFsScanFFs CombinationalLogicCombinationalLogic Primary Inputs Primary Inputs Primary Outputs Primary Outputs ScanModeScanModeScanDataOutScanDataOut ScanData InScanData In ScanFFs CombinationalLogic Primary Inputs Primary Outputs ScanModeScanDataOut ScanData In Primary Inputs Primary Inputs Primary Outputs Primary Outputs CombinationalLogicCombinationalLogic FFsFFs Primary Inputs Primary Outputs CombinationalLogic FFs Level Sensitive Scan DesignLevel Sensitive Scan Design  Originally developed by IBMOriginally developed by IBM  Used level sensitive latchesUsed level sensitive latches  System vs. scan mode controlled by clocksSystem vs. scan mode controlled by clocks  SCLK SCLK ––system clock to slave latchsystem clock to slave latch  MCLK MCLK ––system clock to master latchsystem clock to master latch  1 MCLK pulse + 1 SCLK pulse = 1 system clock cycle1 MCLK pulse + 1 SCLK pulse = 1 system clock cycle  TCLK TCLK ––test clock to scan latchtest clock to scan latch  1 TCLK pulse + 1 SCLK pulse = 1 scan clock cycle1 TCLK pulse + 1 SCLK pulse = 1 scan clock cycle C. Stroud 9/09Design for Testability12 MCLKMCLKi-1TCLKi-1TCLK SCLKSCLK Slave LatchSlave LatchMaster LatchMaster LatchScan LatchScan Latch MCLKi-1TCLK SCLK Slave LatchMaster LatchScan Latch Scan Design Testing SequenceScan Design Testing Sequence Step 1.Step 1. Shift some patterns through scan chainShift some patterns through scan chain  FFs are now completely testedFFs are now completely tested Step 2.Step 2. ScanScan--in test vector in test vector  Scan Mode Scan Mode = 1= 1 Step 3.Step 3. Apply test vector at PIsApply test vector at PIs Step 4.Step 4. Observe results at POsObserve results at POs ScanFFsScanFFs CombinationalLogicCombinationalLogic PrimaryInputsPrimaryInputsPrimaryOutputsPrimaryOutputs ScanScan ScanDataOutScanDataOut ScanData InScanData In ScanFFs CombinationalLogic PrimaryInputsPrimaryOutputs Scan ScanDataOut ScanData In C. Stroud 9/09Design for Testability13 Step 4.Step 4. Observe results at POsObserve results at POs Step 5.Step 5. Apply Apply Clock Clock to capture results in scan chainto capture results in scan chain  Scan Mode Scan Mode = 0= 0 Step 6.Step 6. ScanScan--out results & scanout results & scan--in next test vector in next test vector  Scan Mode Scan Mode = 1= 1 Step 7.Step 7. Go to Step 3 until all test vectors processedGo to Step 3 until all test vectors processed Scan Mode Scan Mode Scan Mode Scan Design Techniques: AdvantagesScan Design Techniques: Advantages  Fully automated DFT processFully automated DFT process  WellWell--supported by CAD vendorssupported by CAD vendors  Sequential circuits become combinational in test modeSequential circuits become combinational in test mode  ATPG CAD tools for generating test vectorsATPG CAD tools for generating test vectors  Typically no fault simulation requiredTypically no fault simulation required  ATPG can identify redundant logicATPG can identify redundant logic  Helps minimize designHelps minimize design  Reduced timeReduced time -- toto -- marketmarket C. Stroud 9/09Design for Testability14  Reduced timeReduced time -- toto -- marketmarket  High fault coverageHigh fault coverage  Near 100% for gate level stuckNear 100% for gate level stuck--at and bridging faultsat and bridging faults  Can be applied hierarchicallyCan be applied hierarchically  chips chips boards boards systemsystem  Allows simplified & accurate fault/defect diagnosis & FMAAllows simplified & accurate fault/defect diagnosis & FMA  Highly structured & provides good basis for BISTHighly structured & provides good basis for BIST Scan Design Techniques: DisadvnatagesScan Design Techniques: Disadvnatages  Overhead:Overhead:  Pins: 3 ( Pins: 3 ( Scan Data In, Scan Data Out, Scan ModeScan Data In, Scan Data Out, Scan Mode))  Scan Data InScan Data Incan be shared with primary inputcan be shared with primary input  Scan Data OutScan Data Outcan be shared with primary outputcan be shared with primary output  Area Overhead: 1 MUX per flipArea Overhead: 1 MUX per flip--flopflop  Typically 2Typically 2--10% total area overhead penalty10% total area overhead penalty  Performance degradation: added delay through MUXPerformance degradation: added delay through MUX C. Stroud 9/09Design for Testability15  Performance degradation: added delay through MUXPerformance degradation: added delay through MUX  Routing overhead: scan chain connections, Routing overhead: scan chain connections, Scan ModeScan Mode  Long test application time:Long test application time:  # clock cycles # clock cycles ==#vectors #vectors ´´(#FFs + 1) + #FFs(#FFs + 1) + #FFs  Lots of vectors & output responses to storeLots of vectors & output responses to store  Logic must be synchronousLogic must be synchronous  Difficult to test at system clock speed Difficult to test at system clock speed Variations on Scan Design TechniquesVariations on Scan Design Techniques  Multiple scan chainsMultiple scan chains  Fewer clock cycles to scan vectors in/outFewer clock cycles to scan vectors in/out  Reduces test time if scan chains are balancedReduces test time if scan chains are balanced  MMtimes faster for times faster for MMequal length scan chainsequal length scan chains  Good for multiple clock (or clockGood for multiple clock (or clock--edge) circuitsedge) circuits  Additional pins for Scan Data In/Out for each chainAdditional pins for Scan Data In/Out for each chain C. Stroud 9/09Design for Testability16  Additional pins for Scan Data In/Out for each chainAdditional pins for Scan Data In/Out for each chain  Scan Data In can come from PIsScan Data In can come from PIs  Scan Data Out can use POs if output FF is last in scan chainScan Data Out can use POs if output FF is last in scan chain  Partial Scan Design replaces only selected FFs in devicePartial Scan Design replaces only selected FFs in device  Full scan replaces all FFs in device with scan FFsFull scan replaces all FFs in device with scan FFs  Lower area & performance penalty than full scanLower area & performance penalty than full scan  But usually lower fault coverage as wellBut usually lower fault coverage as well Scan Design Techniques: Partial ScanScan Design Techniques: Partial ScanLower area & performance penalty comes with price:Lower area & performance penalty comes with price:  What FFs should be replace and how manyWhat FFs should be replace and how many  TradeTrade--off between fault coverage and area overheadoff between fault coverage and area overhead  FF replacement selection methodsFF replacement selection methods  Structural:Structural: select FFs to cut loopsselect FFs to cut loops  ATPGATPG--based:based: select FFs useful during ATPGselect FFs useful during ATPG C. Stroud 9/09Design for Testability17  TestabilityTestability--based:based: select FFs to maximize testabilityselect FFs to maximize testability  CAD tool support more limited than for full scanCAD tool support more limited than for full scan  Fault simulation typically required for partial scanFault simulation typically required for partial scan  Not required for full scan since done by ATPGNot required for full scan since done by ATPG  Significantly more complex diagnosisSignificantly more complex diagnosis  Still difficult test at system clock speedStill difficult test at system clock speed Full Scan Full Scan --Partial Scan Comparison ExamplePartial Scan Comparison ExampleComparison study data from Comparison study data from Jet Propulsion LaboratoryJet Propulsion Laboratory  Viterbi Butterfly Decoder used for comparisonViterbi Butterfly Decoder used for comparison  Fewer FFs replaced with partial scanFewer FFs replaced with partial scan  Lower area overhead with partial scanLower area overhead with partial scan  More vectors but fewer clock cycles with partial scanMore vectors but fewer clock cycles with partial scan C. Stroud 9/09Design for Testability18 Number of Scan FFsNumber of Scan FFsLogic OverheadLogic OverheadNumber of VectorsNumber of VectorsClock cycles/vectorClock cycles/vectorTotal clock cyclesTotal clock cyclesNumber of Scan FFsNumber of Scan FFsLogic OverheadLogic OverheadNumber of VectorsNumber of VectorsClock cycles/vectorClock cycles/vectorTotal clock cyclesTotal clock cycles Full ScanFull Scan44844824.6%24.6%343444944915,71415,714Full ScanFull Scan44844824.6%24.6%343444944915,71415,714 Partial ScanPartial Scan25625614.1%14.1%414126226210,99810,998Partial ScanPartial Scan25625614.1%14.1%414126226210,99810,998 Number of Scan FFsNumber of Scan FFsLogic OverheadLogic OverheadNumber of VectorsNumber of VectorsClock cycles/vectorClock cycles/vectorTotal clock cyclesTotal clock cycles Full ScanFull Scan44844824.6%24.6%343444944915,71415,714 Partial ScanPartial Scan25625614.1%14.1%414126226210,99810,998 Boundary ScanBoundary Scan  Developed to test interconnect between chips on PCBDeveloped to test interconnect between chips on PCB  Originally referred to as JTAG (Joint Test Action Group)Originally referred to as JTAG (Joint Test Action Group)  Uses scan design based approach to test external interconnectUses scan design based approach to test external interconnect  NoNo--contact probe overcomes problems of “incontact probe overcomes problems of “in--circuit” testing:circuit” testing:  Surface mount components with less than 100 mil pin spacingSurface mount components with less than 100 mil pin spacing  DoubleDouble--sided component mounting sided component mounting  MicroMicro--and floating and floating viasvias  Provides standardized test interfaceProvides standardized test interface C. Stroud 9/09Design for Testability19  Provides standardized test interfaceProvides standardized test interface  IEEE standard 1149.1 IEEE standard 1149.1  Four wire interface Four wire interface  TMS TMS --Test Mode SelectTest Mode Select  TCK TCK --Test ClockTest Clock  TDI TDI --Test Data InTest Data In  TDO TDO --Test Data OutTest Data Out  TRST TRST --reset (optional & rarely included)reset (optional & rarely included) BS IntBS IntBS IntBS Int CoreCoreApplicationApplicationLogicLogicCoreCoreApplicationApplicationLogicLogic TMS TCK TDI TDOTMS TCK TDI TDO I/O buffer I/O buffer w/ BS cellw/ BS cellI/O buffer I/O buffer w/ BS cellw/ BS cell BS chainBS chainBS chainBS chain BS IntBS Int CoreCoreApplicationApplicationLogicLogic TMS TCK TDI TDO I/O buffer I/O buffer w/ BS cellw/ BS cell BS chainBS chain Boundary Scan (cont.)Boundary Scan (cont.)Additional logic required:Additional logic required:  1 Boundary Scan cell per I/O pin1 Boundary Scan cell per I/O pin  Test Access Port (TAP)Test Access Port (TAP)  44--wire interfacewire interface  TMSTMS  TCKTCK  TDITDI BS Chain (I/O buffers)BS Chain (I/O buffers)BS Chain (I/O buffers)BS Chain (I/O buffers) MUXMUXMUXMUX FFFFFFFF TDOTDO MUXMUXMUXMUX User Defined RegistersUser Defined RegistersUser Defined RegistersUser Defined Registers Bypass RegisterBypass RegisterBypass RegisterBypass Register TDITDI BS Chain (I/O buffers)BS Chain (I/O buffers) MUXMUX FFFF TDO MUXMUX User Defined RegistersUser Defined Registers Bypass RegisterBypass Register TDI C. Stroud 9/09Design for Testability20  TDITDI  TDOTDO  TAP controllerTAP controller  1616--state FSMstate FSM  Controlled by TMS & TCKControlled by TMS & TCK  various registers forvarious registers for  InstructionsInstructions  OperationsOperations Instruction RegisterInstruction RegisterInstruction RegisterInstruction Register Instruction DecoderInstruction DecoderInstruction DecoderInstruction Decoder MUXMUXMUXMUX TAPTAPControllerControllerTAPTAPControllerController TMSTCKTMSTCK Instruction RegisterInstruction Register Instruction DecoderInstruction Decoder MUXMUX TAPTAPControllerController TMSTCK Boundary Scan Cell ArchitectureBoundary Scan Cell Architecture BS Cell OperationBS Cell OperationBS Cell Operation MUXMUXMUXMUX Shift_DRShift_DR ININININOUTOUTCapture_DRCapture_DRUpdate_DRUpdate_DROUTOUTMode_ControlMode_Control D QD QCAPCAPCKCKD QD QCAPCAPCKCK D QD QUPDUPDCKCKD QD QUPDUPDCKCK MUXMUXMUXMUX MUXMUX Shift_DR ININOUTCapture_DRUpdate_DROUTMode_Control D QD QCAPCAPCKCK D QD QUPDUPDCKCK MUXMUXBiBi--directional buffers directional buffers require multiple BS cellsrequire multiple BS cells InputInput CellCell InputInput CellCell Input data to IC core Input data to IC core BS test data in (SINBS test data in (SIN InputInput CellCell Input data to IC core BS test data in (SINBasic BS CellBasic BS Cell C. Stroud 9/09Design for Testability21 OperationalOperationalModeModeNormalNormalScanScanCaptureCaptureUpdateUpdateOperationalOperationalModeModeNormalNormalScanScanCaptureCaptureUpdateUpdate DataDataTransferTransferIN IN ®®OUTOUTSSININ®®CAPCAPIN IN ®®CAPCAPCAP CAP ®®UPDUPDDataDataTransferTransferIN IN ®®OUTOUTSSININ®®CAPCAPIN IN ®®CAPCAPCAP CAP ®®UPDUPD BS Cell OperationBS Cell Operation OperationalOperationalModeModeNormalNormalScanScanCaptureCaptureUpdateUpdate DataDataTransferTransferIN IN ®®OUTOUTSSININ®®CAPCAPIN IN ®®CAPCAPCAP CAP ®®UPDUPD BS Cell Operation Tri-state controlFrom IC coreTri-state controlFrom IC core OutputOutputCellCellOutputOutputCellCell ControlControlCellCellControlControlCellCell CellCellCellCell PadPadPadPad to IC coreto IC core Output dataFrom IC coreOutput dataFrom IC coreBS test data out (SOUTBS test data out (SOUTTri-state controlFrom IC core OutputOutputCellCell ControlControlCellCell CellCell PadPad to IC core Output dataFrom IC coreBS test data out (SOUT Boundary Scan TAP Controller OperationBoundary Scan TAP Controller Operation1. Send test instruction serially via 1. Send test instruction serially via TDI TDI into Instruction Register into Instruction Register (( shiftshift--IRIR )) 2. Decode instruction and configure 2. Decode instruction and configure Select DRSelect DRSelect DRSelect DR Capture DRCapture DRCapture DRCapture DR Shift DRShift DRShift DRShift DR ExitExit -- 1 DR1 DR ExitExit -- 1 DR1 DR 000011 00 11 Select IRSelect IRSelect IRSelect IR Capture IRCapture IRCapture IRCapture IR Shift IRShift IRShift IRShift IR ExitExit -- 1 IR1 IR ExitExit -- 1 IR1 IR 000011 00 11 11 Test Logic ResetTest Logic ResetTest Logic ResetTest Logic Reset Run Test IdleRun Test IdleRun Test IdleRun Test Idle 00 11 11 11 00 Note: transitionson rising edgeof TCK basedon TMS valueNote: transitionson rising edgeof TCK basedon TMS value Select DRSelect DR Capture DRCapture DR Shift DRShift DR ExitExit -- 1 DR1 DR 00 0 1 Select IRSelect IR Capture IRCapture IR Shift IRShift IR ExitExit -- 1 IR1 IR 00 0 1 1 Test Logic ResetTest Logic Reset Run Test IdleRun Test Idle 0 1 1 1 0 Note: transitionson rising edgeof TCK basedon TMS value C. Stroud 9/09Design for Testability22 2. Decode instruction and configure 2. Decode instruction and configure test circuitry (test circuitry ( updateupdate--IRIR ))3. Send test data serially into Data 3. Send test data serially into Data Register (Register ( shiftshift--DRDR ) via ) via TDITDI4. Execute instruction (4. Execute instruction ( updateupdate--DRDR & & capturecapture--DRDR ))5. Retrieve test results captured in 5. Retrieve test results captured in Data Register (Data Register ( shiftshift--DRDR ) serially ) serially via via TDOTDO ExitExit -- 1 DR1 DR ExitExit -- 1 DR1 DR Pause DRPause DRPause DRPause DR ExitExit--2 DR2 DRExitExit--2 DR2 DR Update DRUpdate DRUpdate DRUpdate DR 00111111 00 0000 ExitExit -- 1 IR1 IR ExitExit -- 1 IR1 IR Pause IRPause IRPause IRPause IR ExitExit--2 IR2 IRExitExit--2 IR2 IR Update IRUpdate IRUpdate IRUpdate IR 00111111 00 0000 11 11 ExitExit -- 1 DR1 DR Pause DRPause DR ExitExit--2 DR2 DR Update DRUpdate DR 01 0 00 ExitExit -- 1 IR1 IR Pause IRPause IR ExitExit--2 IR2 IR Update IRUpdate IR 01 0 00 1 1 Boundary Scan InstructionsBoundary Scan InstructionsDefined by IEEE 1149.1 standard:Defined by IEEE 1149.1 standard:  Mandatory InstructionsMandatory Instructions  ExtestExtest––to test external interconnect between ICsto test external interconnect between ICs  Bypass Bypass ––to bypass BS chain in ICto bypass BS chain in IC  Sample/Preload Sample/Preload ––BS chain samples external I/OBS chain samples external I/O  IDCodeIDCode –– 3232 -- bit device IDbit device ID C. Stroud 9/09Design for Testability23  IDCodeIDCode –– 3232 -- bit device IDbit device ID  Optional InstructionsOptional Instructions  IntestIntest––to test internal logic within the ICto test internal logic within the IC  RunBISTRunBIST––to execute internal Builtto execute internal Built--In SelfIn Self--TestTest  If applicable (this is rare)If applicable (this is rare)  UserCodeUserCode––3232--bit programming data codebit programming data code  For programmable logic circuitsFor programmable logic circuits  User Defined InstructionsUser Defined Instructions Boundary Scan: UserBoundary Scan: User--Defined InstructionsDefined Instructions  UserUser--defined instructions facilitate:defined instructions facilitate:  Public instructions (available for customer use)Public instructions (available for customer use)  Private instructions (for the manufacturer use only)Private instructions (for the manufacturer use only)  Extending the standard to a universal interfaceExtending the standard to a universal interface  For any system operation feature or functionFor any system operation feature or function  A communication protocol to access new IC test functionsA communication protocol to access new IC test functions C. Stroud 9/09Design for Testability24  A communication protocol to access new IC test functionsA communication protocol to access new IC test functions ExampleExample : : Texas InstrumentsTexas Instruments74BCT824474BCT8244 Octal buffer with Boundary ScanOctal buffer with Boundary Scan  Additional 2Additional 2--bit Control Register whose state can bit Control Register whose state can reconfigure the BS Register for BIST functions reconfigure the BS Register for BIST functions (pseudorandom pattern generator or signature analyzer)(pseudorandom pattern generator or signature analyzer)  Additional instructions to initiate these functionsAdditional instructions to initiate these functions Boundary Scan: AdvantagesBoundary Scan: Advantages  It’s a standard!!! (IEEE 1149.1)It’s a standard!!! (IEEE 1149.1)  Allows mixing components from different vendorsAllows mixing components from different vendors  Provides excellent interface to internal BIST circuitryProvides excellent interface to internal BIST circuitry  Well supported by CAD tool vendors, IC & ATE manufacturersWell supported by CAD tool vendors, IC & ATE manufacturers  Allows testing of board & system interconnectAllows testing of board & system interconnect  BackBack--plane interconnect test without using PCB functionalityplane interconnect test without using PCB functionality C. Stroud 9/09Design for Testability25  Very high fault coverage for interconnectVery high fault coverage for interconnect  Useful in diagnosis & FMAUseful in diagnosis & FMA  Provides componentProvides component--level fault isolation level fault isolation  Allows realAllows real--time sampling of devices on boardtime sampling of devices on board  Useful at wafer test Useful at wafer test (fewer probes needed)(fewer probes needed)  BS path reconfigured to bypass ICs not under test for faster testBS path reconfigured to bypass ICs not under test for faster test Boundary Scan: DisadvantagesBoundary Scan: Disadvantages  Overhead:Overhead:  Logic: about 300 gates/chip for TAP + about 15 gates/pinLogic: about 300 gates/chip for TAP + about 15 gates/pin  Overall overhead typically small (1Overall overhead typically small (1--3%)3%)  But significant for only testing external interconnectBut significant for only testing external interconnect  Especially triEspecially tri--state (2 cells) & bistate (2 cells) & bi--directional buffers (3 cells)directional buffers (3 cells)  I/O Pins: 4I/O Pins: 4 C. Stroud 9/09Design for Testability26  5 if optional TRST (Test Reset) pin is included5 if optional TRST (Test Reset) pin is included  I/O delay penalty I/O delay penalty  1 MUX delay on all input & output pins1 MUX delay on all input & output pins  This can be reduced by designThis can be reduced by design  Internal scan design cannot have multiple chainsInternal scan design cannot have multiple chains  Cannot test at system clock speedCannot test at system clock speed  But internal BIST can run at system clock speedBut internal BIST can run at system clock speed BuiltBuilt--In SelfIn Self--Test (BIST)Test (BIST)  Provides the capability of a circuit to test itselfProvides the capability of a circuit to test itself  Can be applied hierarchically: module, chip, board, or systemCan be applied hierarchically: module, chip, board, or system  Provides Provides vertical testabilityvertical testability = same test circuitry used all all = same test circuitry used all all levels of testing: from chip to systemlevels of testing: from chip to system  OnOn--line BIST:line BIST: testing occurs during normal system operationtesting occurs during normal system operation  OffOff--line BIST:line BIST: testing occurs when circuit is outtesting occurs when circuit is out--ofof--serviceservice C. Stroud 9/09Design for Testability27 TestTestPatternPatternGeneratorGenerator(TPG)(TPG)TestTestPatternPatternGeneratorGenerator(TPG)(TPG) OutputOutputResponseResponseAnalyzerAnalyzer(ORA)(ORA)OutputOutputResponseResponseAnalyzerAnalyzer(ORA)(ORA) CircuitCircuitUnder TestUnder Test(CUT)(CUT)CircuitCircuitUnder TestUnder Test(CUT)(CUT) TestTestControllerControllerTestTestControllerController BIST StartBIST Start BIST DoneBIST Done System Data InSystem Data In System Data OutSystem Data Out Pass/FailorSignaturePass/FailorSignature TestTestPatternPatternGeneratorGenerator(TPG)(TPG) OutputOutputResponseResponseAnalyzerAnalyzer(ORA)(ORA) CircuitCircuitUnder TestUnder Test(CUT)(CUT) TestTestControllerController BIST Start BIST Done System Data In System Data Out Pass/FailorSignature DFT Evaluation CriteriaDFT Evaluation Criteria  Area overhead Area overhead  Performance penaltiesPerformance penalties  IO pin countIO pin count  CAD tool supportCAD tool support  Fault simulationFault simulation  ATE costATE cost Power dissipationPower dissipation Area Overhead Calculation MethodsArea Overhead Calculation Methodschip areachip areaarea of chip w/DFTarea of chip w/DFT area of chip w/o DFTarea of chip w/o DFTnumber of gatesnumber of gatestotal gates w/DFTtotal gates w/DFT total gates w/o DFTtotal gates w/o DFTfrequently used frequently used methodmethodtotal gates for DFTtotal gates for DFT total gates w/o DFTtotal gates w/o DFTmost frequently most frequently used methodused methodtotal gates for DFTtotal gates for DFT total gates w/DFTtotal gates w/DFTnumber of gate number of gate inputsinputs total gate inputs for DFTtotal gate inputs for DFT total gate inputs w/DFTtotal gate inputs w/DFT C. Stroud 9/09Design for Testability28  Power dissipationPower dissipation  Risk to projectRisk to project  Increase in design time vs. test time reductionIncrease in design time vs. test time reduction  Economic impact on productEconomic impact on product  Impact on product quality and product costImpact on product quality and product cost  How well does the DFT circuitry get tested?How well does the DFT circuitry get tested?  Does the BIST circuitry also test itself?Does the BIST circuitry also test itself? inputsinputs total gate inputs w/DFTtotal gate inputs w/DFT Number of gate Number of gate I/OI/Ototal gate I/O for DFTtotal gate I/O for DFT total gate I/O w/DFTtotal gate I/O w/DFT