tessent memory bist and logic bist - cloud object …€¦ · generated makefile snippet ... 336....

11
Tessent ® Memory BIST and Logic BIST Student Workbook © 2013 Mentor Graphics Corporation All rights reserved. This document contains information that is trade secret and proprietary to Mentor Graphics Corporation or its licensors and is subject to license terms. No part of this document may be photocopied, reproduced, translated, distributed, disclosed or provided to third parties without the prior written consent of Mentor Graphics..

Upload: truongkhanh

Post on 23-May-2018

613 views

Category:

Documents


20 download

TRANSCRIPT

Page 1: Tessent Memory BIST and Logic BIST - Cloud Object …€¦ · Generated Makefile Snippet ... 336. Tessent Memory BIST and Logic BIST. Tessent Memory BIST and Logic BIST

Tessent® Memory BIST and Logic BISTStudent Workbook

© 2013 Mentor Graphics CorporationAll rights reserved.

This document contains information that is trade secret and proprietary to Mentor Graphics Corporation or its licensorsand is subject to license terms. No part of this document may be photocopied, reproduced, translated, distributed,disclosed or provided to third parties without the prior written consent of Mentor Graphics..

Page 2: Tessent Memory BIST and Logic BIST - Cloud Object …€¦ · Generated Makefile Snippet ... 336. Tessent Memory BIST and Logic BIST. Tessent Memory BIST and Logic BIST

This document is for information and instruction purposes. Mentor Graphics reserves the right to make changes in specifications and other information contained in this publication without prior notice, and the reader should, in all cases, consult Mentor Graphics to determine whether any changes have been made.

The terms and conditions governing the sale and licensing of Mentor Graphics products are set forth in written agreements between Mentor Graphics and its customers. No representation or other affirmation of fact contained in this publication shall be deemed to be a warranty or give rise to any liability of Mentor Graphics whatsoever.

MENTOR GRAPHICS MAKES NO WARRANTY OF ANY KIND WITH REGARD TO THIS MATERIAL INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.

MENTOR GRAPHICS SHALL NOT BE LIABLE FOR ANY INCIDENTAL, INDIRECT, SPECIAL, OR CONSEQUENTIAL DAMAGES WHATSOEVER (INCLUDING BUT NOT LIMITED TO LOST PROFITS) ARISING OUT OF OR RELATED TO THIS PUBLICATION OR THE INFORMATION CONTAINED IN IT, EVEN IF MENTOR GRAPHICS HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.

U.S. GOVERNMENT LICENSE RIGHTS: The software and documentation were developed entirely at private expense and are commercial computer software and commercial computer software documentation within the meaning of the applicable acquisition regulations. Accordingly, pursuant to FAR 48 CFR 12.212 and DFARS 48 CFR 227.7202, use, duplication and disclosure by or for the U.S. Government or a U.S. Government subcontractor is subject solely to the terms and conditions set forth in the license agreement provided with the software, except for provisions which are contrary to applicable mandatory federal laws.

TRADEMARKS: The trademarks, logos and service marks ("Marks") used herein are the property of Mentor Graphics Corporation or other parties. No one is permitted to use these Marks without the prior written consent of Mentor Graphics or the owner of the Mark, as applicable. The use herein of a third-party Mark is not an attempt to indicate Mentor Graphics as a source of a product, but is intended to indicate a product from, or associated with, a particular third party. A current list of Mentor Graphics’ trademarks may be viewed at: www.mentor.com/trademarks.

End-User License Agreement: You can print a copy of the End-User License Agreement from:www.mentor.com/eula.

Mentor Graphics Corporation8005 S.W. Boeckman Road, Wilsonville, Oregon 97070-7777

Telephone: 503.685.7000Toll-Free Telephone: 800.592.2210

Website: www.mentor.comSupportNet: supportnet.mentor.com/

Send Feedback on Documentation: supportnet.mentor.com/doc_feedback_form

Part Number:072728

Page 3: Tessent Memory BIST and Logic BIST - Cloud Object …€¦ · Generated Makefile Snippet ... 336. Tessent Memory BIST and Logic BIST. Tessent Memory BIST and Logic BIST

Tessent Memory BIST and Logic BIST 3

Table of Contents

Module 1Introduction to Embedded Memory Test . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13

Objectives . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13Comprehensive BIST Infrastructure . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14Supported Memory Types . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15Tessent MemoryBIST Solution Components . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16Base Capabilities: Key Features . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17Base Capabilities: Architecture . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19Base Capabilities: Tessent MemoryBIST Operating Protocol . . . . . . . . . . . . . . . . . . . . . . . 20Scannable Memory Interface . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23Base Capabilities: Test Algorithms . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24Base Capabilities: Fault Coverage Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25Hard Algorithm Programming. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27Hard Algorithm Programming: High Level Programming Language. . . . . . . . . . . . . . . . . . 28Hard Algorithm Programming: Large Algorithm Library. . . . . . . . . . . . . . . . . . . . . . . . . . . 29Memory Library File for Each Memory (.lvmemlib) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30Memory Library Example . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31Built-In Standard Algorithms . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33Hard and Soft Programming . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34Field Algorithm Programming Option: Microcode Memory Architecture . . . . . . . . . . . . . . 35Field Algorithm Programming Option: Support for Both Hard and Soft Programming. . . . 36Tessent MemoryBIST Hierarchical Implementation. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37Hierarchical Bottom Up Flow Advantages . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38Tessent Block Flow . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39Tessent MemoryBIST Top Flow . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40Example: Design Architecture and Clocking . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41Basic Block BIST Architecture . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42Classic ASIC Flow. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43Tessent BIST Integration Flow . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44Prerequisites. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45Recommended BIST Test Directory Setup: Memory BIST . . . . . . . . . . . . . . . . . . . . . . . . . 46Directory Organization . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47Getting Help. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48Accessing SupportNet Material . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49Customer Support . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50Lab 1: Exploring Online Help and SupportNet . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52

Module 2Introduction to ETChecker . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53

Objectives . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53What Is ETChecker? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54Benefits of ETChecker. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55

Page 4: Tessent Memory BIST and Logic BIST - Cloud Object …€¦ · Generated Makefile Snippet ... 336. Tessent Memory BIST and Logic BIST. Tessent Memory BIST and Logic BIST

Table of Contents

4 Tessent Memory BIST and Logic BIST

ETChecker Features. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56ETChecker Flow . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57ETChecker Usage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58Summary of ETChecker Block Flow. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59ETChecker GUI . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61ETChecker GUI . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62Clock Extraction: Why Do It? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65Clock Extraction: How It Works . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 66Rule Checking . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67DFT Rules Checking Using ETChecker . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 68Running ETChecker . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69ETChecker: Generating the Template File . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 70Default ETChecker Configuration File . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71Basic ETChecker Configuration File. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 76Generated Makefile Snippet . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 77Edited Makefile . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 78Run Make Target ClockInfo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 79Reported lv.ClockDomainBases . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 80Example: Design Architecture and Clocking . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 81ETChecker: Clock Terminology . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 82Final ETChecker Configuration File . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 83Memory Clustering in ETChecker Configuration File . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 84Run Make Target RuleCheck . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 85Lab 2 Exercise 1: The Hierarchical Block Flow: ETChecker . . . . . . . . . . . . . . . . . . . . . . . . 87

Module 3Block Flow Planning With ETPlanner . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 89

Objectives . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 89DFT Planning Using ETPlanner . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 90ETPlanner: What Is It and Why Do I Need It? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 91ETPlanner: How Does It Work? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 92Input Files . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 93ETPlanner: -mode genPlan . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 96ETPlanner: Make File Targets . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 97ETPlanner: Validate Your Plan . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 99ETPlanner: Generate the Workspace . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 100ETPlanner: Generating the Template File . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 101ETPlanner Template File . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 102ETPlanner: Editing the Embedded Test Plan . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 104Running CheckPlan . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 106ETPlanner: Validating the Embedded Test Plan . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 107ETPlanner: Generating the Workspace Environment . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 110ETPlanner: ET Environment Example . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 111Design Environment Directories . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 112Output From ETPlanner. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 113Lab 2 Exercise 2: The Hierarchical Block Flow: ETPlanner . . . . . . . . . . . . . . . . . . . . . . . . 114

Page 5: Tessent Memory BIST and Logic BIST - Cloud Object …€¦ · Generated Makefile Snippet ... 336. Tessent Memory BIST and Logic BIST. Tessent Memory BIST and Logic BIST

Table of Contents

Tessent Memory BIST and Logic BIST 5

Module 4ETAssemble and ETSignOff in the Block Flow. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 115

Objectives . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 115DFT Generation and Assembly Using ETAssemble . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 116ETAssemble: What Is It? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 118ETAssemble: Running the Steps . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 119ETAssemble: Common Make File Targets . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 120ETAssemble Usage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 121ETAssemble: Pre-Layout ETSignOff . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 122ETAssemble: Generated Output For Display Block . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 123I Did ETAssemble — What Next? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 124Synthesis and STA. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 125Physical Design and Timing Closure. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 127DFT Verification Using ETSignoff . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 128Final ETSignoff Flow . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 129ETSignOff: Common Make File Targets . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 130Lab 2 Exercise 3: The Hierarchical Block Flow: ETAssemble and ETSignOff . . . . . . . . . 131

Module 5Memory BIST Hierarchical Top Level Flow . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 133

Objectives . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 133Top Level Flow Differences . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 134TAP Features . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 135Tessent MemoryBIST TAP Controller . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 136Boundary Scan Cells . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 137Top Level Flow: ETChecker . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 138Top Level Flow: ETChecker Initial Configuration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 139Top Level Flow: ETChecker Extracted Clocks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 140Example: Design Architecture and Clocking . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 141Top Level Flow: Final ETChecker Configuration. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 142Top Level Flow: ETPlanner . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 143Top Level Flow: ETAssemble Configuration Options . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 146Top Level Flow: ETAssemble . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 147 Pin Order File (.pinorder) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 148Top Level Flow: ETSignOff . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 150Tessent MemoryBIST Completed Full Chip Insertion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 151Prerequisite Files . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 152Memory Library File for Each Memory (.lvmemlib) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 153Memory Library Example . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 154Built-In Standard Algorithms . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 156Memlibc: Memory Library File Certification Tool . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 157Memlibc: Usage Example and Make Targets . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 158Cell Description File (cell.lvcelllib) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 159Pad Description File (pad.library) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 162Pad Description Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 164ETPlanner: Global Setup Files . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 166ETPlanner: Example CAD Setup File . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 167ETPlanner: Example ICTechnology File. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 168

Page 6: Tessent Memory BIST and Logic BIST - Cloud Object …€¦ · Generated Makefile Snippet ... 336. Tessent Memory BIST and Logic BIST. Tessent Memory BIST and Logic BIST

Table of Contents

6 Tessent Memory BIST and Logic BIST

ETPlanner: Example ETDefaults File . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 169Scan Models. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 170Importance of Partitioning . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 171Lab 3: The Memory BIST Hierarchical Top Flow . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 172

Module 6Introduction to Built-In Self Repair (BISR). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 173

Objectives . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 173Tessent MemoryBIST Solution Components: BIRA and BISR . . . . . . . . . . . . . . . . . . . . . . 174Overview of Built-In Self Repair. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 175Repair AnalysisOverview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 177Repair Analysis — Row OR Column Supported Redundancy Schemes . . . . . . . . . . . . . . . 178Repair Analysis — Row AND Column Supported Redundancy Scheme. . . . . . . . . . . . . . . 179Repair Analysis — Row AND ColumnOptimal Row AND Column Repair Analysis. . . . . 180Repair Analysis — Row OR ColumnSample Column I/O Redundancy Specification . . . . 181Self-RepairBenefits and Features . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 182Self-Repair Architecture . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 183Fully Autonomous Self-Repair . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 185Summary: Manufacturing Repair Flow . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 187Support for Power Domains . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 190Built-In Self-Repair Tasks Within the Tessent LV Flow . . . . . . . . . . . . . . . . . . . . . . . . . . . 192Lab Exercise: No Lab . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 198

Module 7Shared Bus Interface . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 199

Objectives . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 199Tessent MemoryBIST Shared Bus Support Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 200Tessent MemoryBIST Solution for Shared Bus Interfaces . . . . . . . . . . . . . . . . . . . . . . . . . . 201Library File Requirements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 202MemoryClusterTemplate . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 204Logical Memory Library Syntax Summary. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 205Logical MemoryTemplate File . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 206High-Level Flow . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 208ETCreate Flow With Shared Bus Interfaces . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 209ETChecker Step . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 210ETPlanner Step . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 211ETAssemble Step. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 212ETVerify . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 213Operation Sets for Latency/Pipelining. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 214Repair Support . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 215Common Issues and Debugging Strategies . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 216Using FreezeStep to Verify Individual Memories . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 217Memory Shared Bus Support Material . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 218Lab Exercise: No Lab . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 219

Module 8Introduction to Logic Test . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 221

Objectives . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 221

Page 7: Tessent Memory BIST and Logic BIST - Cloud Object …€¦ · Generated Makefile Snippet ... 336. Tessent Memory BIST and Logic BIST. Tessent Memory BIST and Logic BIST

Table of Contents

Tessent Memory BIST and Logic BIST 7

Overview — Tessent LogicBIST . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 222Goal . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 223Basics of Scan Based Test . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 224Testing Logic . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 225Stuck-At Fault Detection . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 226Stuck-At Test . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 227Transition Test . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 228Control and Observe Test Cube. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 229Fault Coverage Calculation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 230Test Coverage Calculation. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 231ATPG Process . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 232Defect Types in the Sub-90 Nanometer Process . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 233Transition Fault . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 234Logic BIST Basics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 235Launch-Off-Capture or Broadside . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 236Launch-Off-Shift . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 237Transition Test — Launch-Off-Capture . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 238Transition Test — Launch-Off-Shift . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 239Critical Timing Requirement for Scan Enable UsingLaunch-Off-Shift . . . . . . . . . . . . . . . . 240Launch-Off-Capture versus Launch-Off-Shift . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 241Scan Test Timing Considerations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 242Lab: No Lab . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 243

Module 9ETChecker and ETPlanner in the Logic BIST ELTCore Flow . . . . . . . . . . . . . . . . . . . . . 245

Objectives . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 245Setup Files/Prerequisite Files. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 246ICTech File . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 247ETDefault File . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 248Tessent SoCScan Scan Mapping File <technology>. lvscanglib . . . . . . . . . . . . . . . . . . . . . 249DFT Rules Checking Using ETChecker . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 250Example: Design Architecture and Clocking . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 251ETChecker Flow . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 252ETChecker: Generate Setup File . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 254ETChecker: lv.Target. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 257ETChecker: Setup File Clock Properties . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 258ETChecker: lv.Assert Property . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 260ETChecker: lv.TestMode. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 261ETChecker: lv.InjectControl . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 262ETChecker: lv.BlackBox . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 263X Source Protection . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 264ETChecker: lv.NonScanInstance . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 265lv.ELTCoreModule . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 266ETChecker: lv.BlockModule . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 268ETChecker: Modified Template File . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 269Modified Makefile . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 270ETChecker: Clock Extraction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 271ETChecker ClockInfo Extraction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 272

Page 8: Tessent Memory BIST and Logic BIST - Cloud Object …€¦ · Generated Makefile Snippet ... 336. Tessent Memory BIST and Logic BIST. Tessent Memory BIST and Logic BIST

Table of Contents

8 Tessent Memory BIST and Logic BIST

ETChecker: Extracted Clock Domains . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 273ETChecker: Generated Initial Clock Domain Info . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 274ETChecker: Setup File Clock Properties . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 275ETChecker: lv.ClockDomainBase Property . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 277ETChecker: lv.ClockDomainBase Property -injectPin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 279ETChecker: lv.InternalClockSource Property . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 281ETChecker: lv.InternalClockSource -testClockSource . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 282ETChecker: lv.InternalClockSource Using Functional Clock Dividers . . . . . . . . . . . . . . . . 283Example: Extracted Clock Domain Bases . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 284Determining a Clock Domain Base (CDB) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 285Determining an Internal Clock Source (ICS) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 286ETChecker: Example display.etpClockTree File Contents . . . . . . . . . . . . . . . . . . . . . . . . . . 287ETChecker: Modified Template File . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 288Properties for Assigning the Internal Clock Source . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 289ETChecker: Clock Extraction Scenario 01 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 292ETChecker: Test Plan Scenario 01 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 293ETChecker: Clock Extraction Scenario 02 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 294ETChecker: Test Plan Scenario 02 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 295ETChecker: Clock Extraction Scenario 03 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 296ETChecker: Test Plan Scenario 03 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 297ETChecker: Clock Extraction Scenario 04 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 298ETChecker: Test Plan Scenario 04 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 299ETChecker: Clock Extraction Scenario 05 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 300ETChecker: Test Plan Scenario 05 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 301ETChecker: Clock Extraction Scenario 06 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 302ETChecker: Test Plan Scenario 06 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 303ETChecker: Clock Extraction Scenario 07 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 304ETChecker: Test Plan Scenario 07 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 305ETChecker: Check DFT Rules . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 306ETChecker: ELT Design Rules . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 307Design Rule Checks With ETChecker. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 309When -atpgRulesOnly Rules Are Relaxed . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 310ETChecker: Understanding Violations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 312Investigate Error Reports with Incremental Schematic View . . . . . . . . . . . . . . . . . . . . . . . . 313ETChecker: Fixing Violations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 314ETChecker: Important ruleCheck Output . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 317ETChecker: Autofix Violations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 318ETChecker: Autofix Testability. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 319Example: Autofix File . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 320Example: display.etpDIInfo File . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 321ETChecker: Hand Off Design Information . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 322DFT Planning Using ETPlanner . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 323ETPlanner Flow . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 324ETPlanner: Global Setup Files . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 325ETPlanner: Generate the Test Plan File Using a Script. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 326ETPlanner: Edit the Embedded Test Plan . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 327ETPlanner: Validate Test Requirements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 329ETPlanner: Report File . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 330ETPlanner: Modifying the Embedded Test Plan . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 331

Page 9: Tessent Memory BIST and Logic BIST - Cloud Object …€¦ · Generated Makefile Snippet ... 336. Tessent Memory BIST and Logic BIST. Tessent Memory BIST and Logic BIST

Table of Contents

Tessent Memory BIST and Logic BIST 9

ETPlanner: Validating the Embedded Test Plan . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 333ETPlanner: Generate the Environment . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 335Test Planning With ETPlanner . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 336ATPG Library Specification . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 337Controlling TestKompress with ETPlanner. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 338ETPlanner Properties for TestKompress . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 339Lab 4 Exercise 1: The Hierarchical ELTCore Flow: ETChecker and ETPlanner. . . . . . . . . 340

Module 10Logic BIST ETAssemble, ETScan, and ETSignOff. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 341

Objectives . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 341DFT Generation and Assembly Using ETAssemble . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 342ETAssemble Features and Benefits . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 343ELTCore Level Environment Setup . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 344ELTCore Level ETAssemble Flow . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 345ELTCore Level ETAssemble Usage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 346ETAssemble: Example Configuration File . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 347ETAssemble — Assembled ETControllers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 348ETAssemble — Clock and Scan Enable Controllers. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 349ETAssemble: Synthesis and Layout Automation Files . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 350Scan Chain and Testpoint Insertion Using ETScan. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 351ETScan. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 352ELTCore Level ETScan Flow . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 353Testpoints. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 354Adding Observation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 355ETScan — Scan and Test Point Stitching . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 356Physical Design and Timing Closure. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 357DFT Verification Using ETSignoff . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 358ELTCore Level Post-Layout ETSignoff Flow. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 359ELT Hardware and Operation Details . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 360WTAP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 362ELT (Embedded Logic Test Controller) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 363Burst Mode Principal . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 364BCC (Burst Clock Controller) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 365Burst Clock Controller Connection Rules . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 367SCC (Shift Clock Controller) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 368Shift Clock Selection Control . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 369SEC (Scan Enable Controller) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 370LBIST-Inserted Test Structures . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 371Hierarchical Test: Isolation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 372Isolation Elements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 373Shared and Dedicated Isolation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 374Hierarchical Test: Shell Model . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 377Burst Mode Architecture . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 379Burst Mode Principal . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 380Scan Chain/Segments . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 381Shift Mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 382Burst Mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 383

Page 10: Tessent Memory BIST and Logic BIST - Cloud Object …€¦ · Generated Makefile Snippet ... 336. Tessent Memory BIST and Logic BIST. Tessent Memory BIST and Logic BIST

Table of Contents

10 Tessent Memory BIST and Logic BIST

Launch-From-Shift . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 384Burst Mode Avoids Clock Stretching Effect . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 385Run-Time Adjustable Waveforms . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 386Robust Timing Eliminates Unknowns Due to Timing Exceptions . . . . . . . . . . . . . . . . . . . . 387Handling Cross Clock Domain Paths . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 388Using Clock Gating Instead of Priority Data Flip-Flops . . . . . . . . . . . . . . . . . . . . . . . . . . . . 389Lab 4 Exercise 2: Completing the Logic BIST Flow: ETAssemble, ETScan, and ETVerify 390

Module 11Top Level Logic BIST Flow . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 391

Objectives . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 391Top Level Implementation Differences . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 392Top Level Implementation: ETChecker . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 393Top Level Implementation: ETChecker Initial Edited Configuration. . . . . . . . . . . . . . . . . . 394Top Level Implementation: ETChecker Extracted Clocks . . . . . . . . . . . . . . . . . . . . . . . . . . 395Top Level Implementation: Modular Schematic Viewer . . . . . . . . . . . . . . . . . . . . . . . . . . . 396Example: Design Architecture and Clocking . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 397Top Level Implementation: Final ETChecker Configuration . . . . . . . . . . . . . . . . . . . . . . . . 398Top Level Implementation: ETPlanner . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 400Top Level Implementation: ETAssemble . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 403 Pin Order File (.pinorder) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 404Top Level Tessent SoCScan Flow. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 406Tessent SoCScan: Top Level Scan Stitching. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 407Top Level Post-Layout ETSignOff Flow . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 408Top Level Implementation: ETSignOff. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 409DFT Verification Using ETSignoff . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 410Top Level Architecture . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 411 Important Topics. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 413Tap Interface — Sharing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 414Lab 5: The Logic BIST Hierarchical Top Flow . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 415

Module 12SDC Timing Constraints (Optional) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 417

Objectives . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 417Overview: Tessent Embedded Logic Test (ELT) SDC Constraints . . . . . . . . . . . . . . . . . . . 418Tessent Embedded Logic Test (ELT) SDC Constraints: Clock Constraints . . . . . . . . . . . . . 419Example Functional Circuit With SDC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 421Example: Specifying Timing Exceptions From FCLK3 Domain to FCLK1 and FCLK2 Domains

423Example: Specifying Timing Exceptions From FCLK3 Domain to FCLK1 and FCLK2 Domains

(Cont.) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 424Example: Specifying Timing Exceptions From FCLK3 Domain to FCLK1 and FCLK2 Domains

(Cont.) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 425Blocking Clock Behaviors . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 426Correcting Blocking Clock Behaviors . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 430Defining False Path and Multi-Cycle Path Timing Exceptions. . . . . . . . . . . . . . . . . . . . . . . 432Tessent Embedded Logic Test (ELT) SDC Constraints: Summary . . . . . . . . . . . . . . . . . . . 434Lab: No Lab . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 435

Page 11: Tessent Memory BIST and Logic BIST - Cloud Object …€¦ · Generated Makefile Snippet ... 336. Tessent Memory BIST and Logic BIST. Tessent Memory BIST and Logic BIST

Table of Contents

Tessent Memory BIST and Logic BIST 11

Appendix AClock Bases and Internal Clock Sources Solutions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 437

Objectives . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 437ETChecker: Clock Extraction Scenario 01 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 438ETChecker: Test Plan Scenario 01 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 439ETChecker: Test Plan Scenario 01: Case of RAMS. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 440ETChecker: Clock Extraction Scenario 02 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 441ETChecker: Test Plan Scenario 02 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 442ETChecker: Clock Extraction Scenario 03 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 443ETChecker: Test Plan Scenario 03 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 444ETChecker: Test Plan Scenario 03: Case PLL FF Sinks . . . . . . . . . . . . . . . . . . . . . . . . . . . 445ETChecker: Clock Extraction Scenario 04 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 446ETChecker: Test Plan Scenario 04 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 447ETChecker: Clock Extraction Scenario 05 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 448ETChecker: Clock Extraction Scenario 05 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 449ETChecker: Test Plan Scenario 05: Synchronous Clock Domains . . . . . . . . . . . . . . . . . . . 450ETChecker: Clock Extraction Scenario 06 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 451ETChecker: Test Plan Scenario 06: Case 1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 452ETChecker: Test Plan Scenario 06: Case 2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 453ETChecker: Clock Extraction Scenario 07 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 454

Appendix BShared Bus Interface With Repairable Memories. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 457

Objectives . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 457Overview: Tessent MemoryBIST Shared Bus Support With Repairable Memories . . . . . . 458Repair Support . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 459Direct Physical-Based Memory Mapping Repair . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 460Initial Logical Library Configuration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 461Direct Mapping Configuration. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 462Handling of RedundancyAnalysis Data. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 464Logical Memory-Based Repair Handling . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 465Handling of Multi-Bank Logical Memories Without Boundary (Without Address Segment) 466RedundancyAnalysis Wrapper . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 467Handling of Multi-Bank Logical Memories Without Boundary (With Address Segments) . 469Overview of Logical Redundancy Scheme . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 470RedundancyAnalysis Wrapper . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 471Implementation Flow. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 472Testcase Overview. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 473Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 474Lab Exercise: No Lab . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 475