EE M216A.:. Fall Lecture 17. Testability. Prof. Dejan Marković

Similar documents
Simulink Design Environment

Very Large Scale Integration (VLSI)

CHAPTER 1 INTRODUCTION

VLSI Test Technology and Reliability (ET4076)

Very Large Scale Integration (VLSI)

CMOS Testing: Part 1. Outline

COEN-4730 Computer Architecture Lecture 12. Testing and Design for Testability (focus: processors)

EE434 ASIC & Digital Systems Testing

Digital Integrated Circuits

Design and Synthesis for Test

Memory Design I. Array-Structured Memory Architecture. Professor Chris H. Kim. Dept. of ECE.

Lecture 13: SRAM. Slides courtesy of Deming Chen. Slides based on the initial set from David Harris. 4th Ed.

Memory. Outline. ECEN454 Digital Integrated Circuit Design. Memory Arrays. SRAM Architecture DRAM. Serial Access Memories ROM

Lecture 2 VLSI Testing Process and Equipment

Memory in Digital Systems

Testing Principle Verification Testing

Graphics: Alexandra Nolte, Gesine Marwedel, Universität Dortmund. RTL Synthesis

Introduction to ICs and Transistor Fundamentals

Embedded Quality for Test. Yervant Zorian LogicVision, Inc.

March 20, 2002, San Jose Dominance of embedded Memories. Ulf Schlichtmann Slide 2. esram contents [Mbit] 100%

Spiral 2-8. Cell Layout

VLSI Test Technology and Reliability (ET4076)

Digital Design Methodology (Revisited) Design Methodology: Big Picture

IC Testing and Development in Semiconductor Area

Digital Design Methodology

VLSI Test Technology and Reliability (ET4076)

(Advanced) Computer Organization & Architechture. Prof. Dr. Hasan Hüseyin BALIK (5 th Week)

FPGA Programming Technology

UNIT IV CMOS TESTING

CMPEN 411 VLSI Digital Circuits Spring Lecture 22: Memery, ROM

Memory in Digital Systems

Deep Sub-Micron Cache Design

ESE370: Circuit-Level Modeling, Design, and Optimization for Digital Systems

+1 (479)

William Stallings Computer Organization and Architecture 8th Edition. Chapter 5 Internal Memory

Introduction to SRAM. Jasur Hanbaba

! Memory Overview. ! ROM Memories. ! RAM Memory " SRAM " DRAM. ! This is done because we can build. " large, slow memories OR

Physical Implementation

A Dual-Core Multi-Threaded Xeon Processor with 16MB L3 Cache

Memory in Digital Systems

Memory and Programmable Logic

Verification and Testing

OUTLINE Introduction Power Components Dynamic Power Optimization Conclusions

Chapter 9. Design for Testability

EE-382M VLSI II. Early Design Planning: Front End

Chapter 7. Logic Diagnosis. VLSI EE141 Test Principles and Architectures Ch. 7 - Logic Diagnosis - P. 1

Design Methodologies. Full-Custom Design

Custom Design Formal Equivalence Checking Based on Symbolic Simulation. Overview. Verification Scope. Create Verilog model. Behavioral Verilog

VLSI Test Technology and Reliability (ET4076)

UNIT 4 INTEGRATED CIRCUIT DESIGN METHODOLOGY E5163

COE 561 Digital System Design & Synthesis Introduction

Atmel AT94K FPSLIC Architecture Field Programmable Gate Array

Unleashing the Power of Embedded DRAM

ECE 486/586. Computer Architecture. Lecture # 2

EE586 VLSI Design. Partha Pande School of EECS Washington State University

VLSI Testing. Lecture Fall 2003

Curve Tracing Systems

Lecture #1: Introduction

Nanometer technologies enable higher-frequency designs

Lecture 11 SRAM Zhuo Feng. Z. Feng MTU EE4800 CMOS Digital IC Design & Analysis 2010

MEMORIES. Memories. EEC 116, B. Baas 3

A VARIETY OF ICS ARE POSSIBLE DESIGNING FPGAS & ASICS. APPLICATIONS MAY USE STANDARD ICs or FPGAs/ASICs FAB FOUNDRIES COST BILLIONS

CMPE 415 Programmable Logic Devices FPGA Technology I

Digital VLSI Testing Prof. Santanu Chattopadhyay Department of Electronics and EC Engineering India Institute of Technology, Kharagpur.

ECE520 VLSI Design. Lecture 1: Introduction to VLSI Technology. Payman Zarkesh-Ha

CMPEN 411 VLSI Digital Circuits. Lecture 01: Introduction

Chapter 8. Coping with Physical Failures, Soft Errors, and Reliability Issues. System-on-Chip EE141 Test Architectures Ch. 8 Physical Failures - P.

Design Methodologies and Tools. Full-Custom Design

Simulink-Hardware Flow

Z-RAM Ultra-Dense Memory for 90nm and Below. Hot Chips David E. Fisch, Anant Singh, Greg Popov Innovative Silicon Inc.

Chapter 4 Main Memory

Introduction to CMOS VLSI Design Lecture 13: SRAM

! Memory. " RAM Memory. " Serial Access Memories. ! Cell size accounts for most of memory array size. ! 6T SRAM Cell. " Used in most commercial chips

Memory Design I. Semiconductor Memory Classification. Read-Write Memories (RWM) Memory Scaling Trend. Memory Scaling Trend

FPGA. Logic Block. Plessey FPGA: basic building block here is 2-input NAND gate which is connected to each other to implement desired function.

RTL Design (2) Memory Components (RAMs & ROMs)

On-Chip Design Verification with Xilinx FPGAs

The Memory Hierarchy 1

Microelettronica. J. M. Rabaey, "Digital integrated circuits: a design perspective" EE141 Microelettronica

ELE 455/555 Computer System Engineering. Section 1 Review and Foundations Class 3 Technology

Internal Memory. Computer Architecture. Outline. Memory Hierarchy. Semiconductor Memory Types. Copyright 2000 N. AYDIN. All rights reserved.

CAD for VLSI. Debdeep Mukhopadhyay IIT Madras

William Stallings Computer Organization and Architecture 6th Edition. Chapter 5 Internal Memory

Betrouwbare Elektronica ontwerpen en Produceren

Topics. ! PLAs.! Memories: ! Datapaths.! Floor Planning ! ROM;! SRAM;! DRAM. Modern VLSI Design 2e: Chapter 6. Copyright 1994, 1998 Prentice Hall

Digital Integrated Circuits Lecture 13: SRAM

Page 1. Outline. A Good Reference and a Caveat. Testing. ECE 254 / CPS 225 Fault Tolerant and Testable Computing Systems. Testing and Design for Test

Memories. Design of Digital Circuits 2017 Srdjan Capkun Onur Mutlu.

Database Management Systems, 2nd edition, Raghu Ramakrishnan, Johannes Gehrke, McGraw-Hill

Hardware Design with VHDL PLDs I ECE 443. FPGAs can be configured at least once, many are reprogrammable.

Chapter 2 On-Chip Protection Solution for Radio Frequency Integrated Circuits in Standard CMOS Process

Content courtesy of Wikipedia.org. David Harrison, CEO/Design Engineer for Model Sounds Inc.

IBG Protection for Anti-Fuse OTP Memory Security Breaches

10/24/2016. Let s Name Some Groups of Bits. ECE 120: Introduction to Computing. We Just Need a Few More. You Want to Use What as Names?!

CS250 VLSI Systems Design Lecture 9: Memory

CHAPTER 12 ARRAY SUBSYSTEMS [ ] MANJARI S. KULKARNI

A Study on the Testing of VLSI Systems Using Reduced Power Consumption Methods

ENG04057 Teste de Sistema Integrados. Prof. Eric Ericson Fabris (Marcelo Lubaszewski)

CS 320 February 2, 2018 Ch 5 Memory

Lecture 11: MOS Memory

Transcription:

EE M216A.:. Fall 2010 Lecture 17 Testability Prof. Dejan Marković ee216a@gmail.com Semiconductor Memory It is an important component 30% of the worldwide semiconductor business DRAMs are a very high volume product Embedded dall non memory parts as well Often drives technology development Technologies can be specialized for memory DRAM have special capacitors, SRAMs special loads Intense device level circuit design process Large benefit to improved circuit performance Digital and analog design issues Lecture 18: Memory, D. Markovic Testability / Slide 2 2

Types of Memory There are many types of memory Usually distinguished by type of memory and access method Access methods Random access memory RAM You can access any memory location at the same speed Most common type of memory Content address memory CAM Access memory by a search on its contents E.g. find location where the upper byte is 250 Memory Types Static SRAM, read/write memory Dynamic DRAM, read/write/refresh memory Read only ROM, read mostly (PROM, EEPROM) Programmable ROM, Electrically Erasable PROM Lecture 18: Memory, D. Markovic Testability / Slide 3 3 Testability: Overview Reading Most slides in this lecture are from: Shannon Morton, (SGI), ISSCC 2003 W&H: Chapter 9 Introduction Silicon debugging is a growing problem that t accompanies the increasing complexity of current designs. This lecture discusses how chips fail, how chips are tested and debugged. Design for Test and Debug is the art of adding functionality to the chip to enhance its controllability and observability so that it can be effectively debugged and tested for correct operation. Controllability: the ability to set the state t of internal nodes from the chip s input pads. Observability: the ability to propagate the state of internal nodes to the chip s output pads. Lecture 18: Memory, D. Markovic Testability / Slide 4 4

Do You Want Unhappy Customers? Express Returns Yo Dude! Where do you want this truck load of returns?!! Pentium FP divider bug in 1994 cost the company $450 million dollars. (People got fired over this!) Lecture 18: Memory, D. Markovic Testability / Slide 5 5 Technology Scaling IC Scaling: 0.7x technology shrink 2x increase in number of internal nodes From 1µm technology to 0.1µm 100x increase in complexity of internal state Die size also increasing even more states Only a small relative increase in the number of pins available for test. Longer lengths of interconnect (over a mile!) More layers & tighter pitches more IC faults Complexity A combinational logic with N inputs implies 2 N test vectors. A sequential logic with N inputs and M states implies 2 N+M test vectors. Lecture 18: Memory, D. Markovic Testability / Slide 6 6

Cost of Testing Man hours required to generate sufficient test coverage (if at all possible) is vastly increased. Testing occurs at different stages and costs differently Wafer, packaged chip, board, system, field 10x more expensive at each level (wafer probing is $0.1/unit) Each part requires more time/tester, or more testers 50M units at 1sec/unit $5 million/year. At least $2 3 million for a 1000 pin tester. Reduced volume unable to meet demand loss of potential revenue Increased risk of shipping defective parts Unhappy customers loss of ongoing revenue Lecture 18: Memory, D. Markovic Testability / Slide 7 7 Why Chips Fail? Process defects Reliability failures Iddq failures Timing and noise failures Soft errors Logic design failures Lecture 18: Memory, D. Markovic Testability / Slide 8 8

Process Defect Examples Missing or poorly formed via (infant mortality) Hillock causing an open in upper layer metal Random and systematic defects Immediate functional failures / infant mortality Some causes of process defects SEM Courtesy of IBM [4] SEM Courtesy of Accurel [5] Dust particles, Oxide/Si defects/impurities/roughness Lithographic errors, Temp & chemical composition of processes Lecture 18: Memory, D. Markovic Testability / Slide 9 9 Reliability Failure rates of devices follow a bathtub shape Infant mortality: gross defects, poor manufacturing tolerances Useful life: problems from wear and tear, random effects Wear out: slower slope than infant, but accelerated failures Courtesy: M. Horowitz Lecture 18: Memory, D. Markovic Testability / Slide 10 10

Burn in Ovens Accelerate the infant mortality portion of the curve Push all the parts into the useful life region Discard the ones that die and sell the rest with high confidence Use burn in ovens to heat / simultaneously exercise the parts Bump up temperature and voltage to get acceleration factors Temp held to 150 200 o C and voltage to 1.5x 2x nominal (typical) Temperature depends on burn in oven package solution Package has a thermal resistivity, e.g. 0.24 o C/W Holding oven at 125 o C for 100W parts means 150 o C junction temp Courtesy: M. Horowitz Lecture 18: Memory, D. Markovic Testability / Slide 11 11 Burn in Oven Boards Populate a burn in board with your parts Board exercises the parts (tests and/or power virus) during burn in High power chips strain the capacity of burn in ovens You can t put too many 100W and 100A chips on a burn in board! www.sensata.com www.aiaaoc.com www.xbitlabs.com Lecture 18: Memory, D. Markovic Testability / Slide 12 12

Iddq Failures Excessive standby current (through S/D & gate too) Beyond that expected from sub threshold leakage Pseudo nmos structures (typically disallowed) Current references (analog circuitry) May indicates process defect having caused a short Tested during bring up & burn in May become less relevant as leakage (sub Vth & gate) is increasing rapidly with each technology May also be swamped by large L2/L3 SRAM leakage Lecture 18: Memory, D. Markovic Testability / Slide 13 13 Timing & Noise Failures Unforeseen critical path on chip Perhaps only under certain bizarre conditions Example: Insufficient differential into low swing SA s Particularly l relevant tto shrinks (interconnect tscaling) Glitch resulting from excessive RLC noise Timing push out to await settling of glitch Perhaps only under certain bizarre conditions Functional failure if driven into state holding circuitry Reliability failure due to excessive coupling Lecture 18: Memory, D. Markovic Testability / Slide 14 14

Soft Errors What are they? Alpha particle s (He nucleus) released primarily from radio active isotopes in lead (C4 bumps) [10] Cosmic rays of GeV energy levels [11] Collisions with Si atoms generate e /hole pairs e 1 are swept across PN junction reducing V d Vg=VSS Poly Vd=VCC α N+ N+ P-epi substrate Lecture 18: Memory, D. Markovic Testability / Slide 15 15 Soft Errors Memory Memory is usually the focus Dense; Low capacitance bl wordline (= VSS) blb VCC Inject current into S/D region and measure how much charge (Q crit ) is needed to flip the cell 1-0+ VSS Ialpha ECC codes are employed on large arrays to enable sufficient detection and correction. Parity checks used to enable sufficient detection C4 bumps may be prohibited over arrays, but... Lecture 18: Memory, D. Markovic Testability / Slide 16 16

Soft Errors Logic Logic is also prone to soft errors: Dynamic nodes and latches may flip state Static nodes may create a glitch that gets latched Clk A B C 1-1 VCC Ialpha If ECC is employed on the arrays, even with C4 bumps over them, then logic soft errors may govern overall FIT rate (failures in 10 9 hours) VSS Lecture 18: Memory, D. Markovic Testability / Slide 17 17 Logic Design Failures (Debug) Incorrect wiring into a gate Incorrect gate in a logic function Incorrect algorithm in the micro architecture BUBBLE ERRORS! Particularly between top or 2 nd level blocks A B Z=(A.B+C).D+E.F A B C D E F Z C D E F Z Lecture 18: Memory, D. Markovic Testability / Slide 18 18

VLSI Testing Testing is expensive: VLSI testers cost $1 5M Volume manufacturing requires large number of testers Test contributes 20 30% of the total chip cost Types of ftestingti Step Error Source Test Type Design Design flaws Design verification Prototype Design flaws Prototype flaws Functional test ( silicon debug ) Manufacture Physical defects Manufacturing test Shipping Mfg. test, transport System integration Same Functional test Service Stress, age diagnosis Wafer / packaged chip / board / system / field Courtesy: B. Nikolic Lecture 18: Memory, D. Markovic Testability / Slide 19 19 Testing Tools Several common external tools Probing Land a probe onto a top metal square (10x10µm) Imaging Infrared detect clock transitions E beam reflected electrons from different voltage wires is different Iddq monitor supply current FIB focussed ion beam Can cut or deposit metal to correct wiring errors (shorts or opens) Internal tools Design features to aid test and debug Lecture 18: Memory, D. Markovic Testability / Slide 20 20

Manufacturing Test Employed as part of the production flow to screen out defective parts Test patterns applied to the die/package to test for correctness against an ideal (fault free) free) model May also test for basic delay faults/characterization Burn in tests to weed out parts that are prone to early failure (infant mortality) in the field Explicit Design For Test structures usually required Chip design must already be functionally sound Lecture 18: Memory, D. Markovic Testability / Slide 21 21 Functional Test Employed as part of the bring up flow to debug the chip s electrical, logical, and timing functionality Evolving tests from basic ROM Icache load & executing programs that fit wholly within caches To full multi processor high end applications in a variety of real user systems How do you identify the cause of a program failure? Explicit Design For Debug structures are helpful Chip design is becoming functionally sound Lecture 18: Memory, D. Markovic Testability / Slide 22 22

Debugging Concepts Additional knobs available to debugging Raising and lowering the temperature Simple lab freeze spray and heat gun Raising and lowering the supply voltage Increase and decrease the cycle time Adjusting the duty cycle (clock compression) Common fixes Slow logic raise supply or increase cycle time Race condition increase temperaturet Leakage lower supply Lecture 18: Memory, D. Markovic Testability / Slide 23 23 Debugging a Chip Run parts on tester and exercise the Clk shrink mechanisms Move clock edges to test speedpath theories Also vary the voltage and frequency Obtain schmoo plots Named (and misspelled) after the Li l Abner comic strip (1940 s) One of the first schmoo plots looked round and bulbous A shmoo (plural: shmoon) Resembles a type of plot used by EEs (who can t spell and call it a schmoo ) www.deniskitchen.com Courtesy: M. Horowitz Lecture 18: Memory, D. Markovic Testability / Slide 24 24

Schmoo Sweeping the supply and operating frequency (often at various temperatures) Selectively done as a manufacturing test Can be an excellent way to determine problems Example of common schmoos T cycle T cycle 1.0 1.1 1.2 1.3 1.4 1.5 1.0 1.1 1.2 1.3 1.4 1.5 1.0 1.1 1.2 1.3 1.4 1.5 1.0 1.1 1.2 1.3 1.4 1.5 1.0 1.0 Typical 1.1 Wall: 1.1 Reverse: 1.2 1.2 Coupling 1.3 1.3 1.4 Charge sharing1.4 Leakage 1.5 1.0 1.1 1.2 1.3 1.4 1.5 1.5 1.0 1.1 1.2 1.3 1.4 1.5 1.2 1.3 1.4 1.5 1.0 1.1 1.2 1.3 1.4 1.5 Races 1.2 1.3 1.4 1.5 1.0 1.1 1.2 1.3 1.4 1.5 Speedpaths 1.0 1.0 Brick: Floor: Finger: 1.1 1.1 FSM Init Leakage Coupling V DD V DD V DD Lecture 18: Memory, D. Markovic Testability / Slide 25 25 Manufacturing Test Flow Raw Materials: Sliced, polished, processed, according to a great design Wafer Probe: Probe card attached to ATE steps across each die: Basic functionality. Speed Paths. Laser Repair: Zap fuses to enable redundant blocks & improve yield. Repeat wafer tests. Mark bad die. Packaged Parts: Tests for more detailed functionality, speed binning. Burn-in: V/T stress over time, then re-test. Weeds out infant mortality failures. System Test: Real apps, I/O, Power, Performance, etc. Lecture 18: Memory, D. Markovic Testability / Slide 26 26

Cost of Doing DFT Increased area less die/wafer & lower yield Increased cost per good die Increased cap hurts power & performance Extra logic may be a part of the chip s critical path Reduced operating frequency reduces revenue Test logic itself has a risk of introducing a bug What tests the test logic? The cost of doing DFT is far easier to quantify than the cost of not doing DFT Lecture 18: Memory, D. Markovic Testability / Slide 27 27 Scan based Test Scan chains offer observability and controllability Observability: can stop the chip and read our all the states Controllability: can stip the chip and set all the states Can trace back to find source of errors Courtesy: B. Nikolic Lecture 18: Memory, D. Markovic Testability / Slide 28 28

Building Scan Chains Idea: add parallel path to each flip flop Extra capacitance / area (typically <5% of the total chip area) Ensure that scan inputs can overwrite the state scan doesn t interfere with regular operation (backwriting) Trend is to have scanable FFs (libraries typically have scan FFs) Courtesy: M. Horowitz Lecture 18: Memory, D. Markovic Testability / Slide 29 29 Fault Models Defects manifest in a variety of different ways and may require the application of different circuit models to test for their presence Fault Model Effect on Circuit Notes Single Stuck-at Most common -- Single logic node stuck at 0 or 1 Line focus of this section Multiple Stuckat Line by SSL model [13] Vast majority covered Multiple logic nodes stuck at 0 or 1 Stuck-open Logic node floats () Bridging Logic node becomes AND(x,y) or OR(x,y) or depending on drive strengths May not be very well covered by SSL (83/95 to 51/98) [14] Delay Gate or Path delay is increased Coupling Pattern- Sensitive Transition on node causes Delay Fault on Y, or alters function Y=F(x,y) Complex space-time dependence bitlines, buses, register files RAM arrays Lecture 18: Memory, D. Markovic Testability / Slide 30 30

ATG Time Time required to generate a test vector set for all SA faults is a function of: ATG technique & heuristics for decision making Number of Primary Inputs & Outputs Number and size of sequential structures Number of equivalent SA faults Depth of logic from PI to PO (esp. for sequential!) Circuits with 10 6 gates or 10 3 latches may be too large to test with suitable SA coverage and in a reasonable amount of time Lecture 18: Memory, D. Markovic Testability / Slide 31 31 Scan Methodologies Full Scan: Every latch in the design is a scan latch Do NOT scan simple pipeline stages Partial Scan: A selection of latches are scannable Where low SA coverage is identified Sequential logic: counters, data forwarding paths Important data buses: PC, load/store bus Scan Islands: No scan within blocks, but a ring of scan latches on the I/O surrounds the block More applicable to debug Good for shrinks Lecture 18: Memory, D. Markovic Testability / Slide 32 32

AMD s K6 Flip Flop CLK DataIn Pulse Generator (can be shared) ckplse CLK must be inactive during scan DataOut ckplseb ScanIn ScanOut ScanClk1 ScanClk2 Non overlapping scan clocks no race & looser to route No additional logic in the D Q path (via ckplse) good performance Shift is destructive (=Load) Lecture 18: Memory, D. Markovic Testability / Slide 33 33 Intel s McKinley Flip Flop DataInB CLK En ScanIn ScanClk ckplse Pulse Generator (can be shared) DataOut Normal: clk=p sck=0 en=1 Capture: clk=p sck=0 en=0 ScanOutB Shift/Load: clk=p sck=p en=0 Similar in principle to the AMD scan latch, but with a single clock No additional logic in the D Q path (via ckplse), but o/p has extra load Scan operation results in true dynamic nodes need to be cautious of noise, and a minimum scan rate is necessary due to leakage Shift is destructive (=Load) CLK must be active during scan Lecture 18: Memory, D. Markovic Testability / Slide 34 34

Self Test Becoming more important with increasing chip complexity and larger modules Courtesy: B. Nikolic Lecture 18: Memory, D. Markovic Testability / Slide 35 35 Built In Self Test (BIST) The capability of a circuit to test itself Minimal external requirements (ck, si, so, control) Pros Cons At-speed testing of circuitry Small area/delay penalty Removes (or reduces) time May be difficult for faults insensitive and effort required for ATG to random patterns (64-bit NOR) Reduces tester time & ports, Aliasing in output compression thereby saving $$$ introduces risk in error detection Independent of fault model Lecture 18: Memory, D. Markovic Testability / Slide 36 36

General BIST Architecture Data In Data Out Pattern Generator may need to be initialized Circuit Test Error Status could be Signature Pattern as simple as PASS / Correct Signature FAIL Pattern Generator Seed 0 1 BIST? st Circuit under Tes Signature Analyze r BIST Controller Comparator Error Status One BIST controller may govern multiple CUTs This interfaces to the tester I/O to/from controller is serial to reduce wiring Lecture 18: Memory, D. Markovic Testability / Slide 37 37 4 bit LFSR as a Pattern Generator # p4 p3 p2 p1 1 1 0 0 0 2 0 0 1 1 3 0 1 1 0 p4 p3 p2 p1 4 1 1 0 0 5 1 0 1 1 Characteristic Polynomial: 4 + 2 +1 6 0 1 0 1 7 1 0 1 0 All OR functions can also be moved to 8 0 1 1 1 9 1 1 1 0 the far RHS of LFSR 10 1 1 1 1 Enables regularity in datapaths th 11 1 1 0 1 12 1 0 0 1 Example on next slide 13 0 0 0 1 Easily incorporated into scan chain 14 0 0 1 0 15 0 1 0 0 Reg Reg Reg Reg Lecture 18: Memory, D. Markovic Testability / Slide 38 38

Signature Analyzers One s counter: n bit counter x m bit inputs Transition counter: n bit counter x m bit inputs Single Input LFSR: n bit LFSR x m bit inputs Reg Reg Reg Reg in p4 p3 p2 p1 Multiple Input LFSR: m bit LFSR in<3> in<2> in<1> in<0> p4 Reg p3 Reg p2 Reg datapath cell p1 Reg Lecture 18: Memory, D. Markovic Testability / Slide 39 39 Spare Gates Post silicon edits can be done using Focused Ion Beams Remove or add wires FIB cannot add new devices, but Designers can throw some extra devices in the layout Need to put them in the schematics too (remember, LVS ) Spare gates are basic cells with grounded inputs They don t to anything normally (except take up space) You can insert them using a FIB edit layer Mixture of Inv, Nand, Nor, Flops Plan on inserting these in your blocks, wherever you have room Some companies call them happy gates Courtesy: M. Horowitz Lecture 18: Memory, D. Markovic Testability / Slide 40 40

Electronic Optics Can Look at Chips Scanning electron microscope looks at chips in a vacuum Useful for defect analysis, not really for tests during chip operation Courtesy: M. Horowitz Lecture 18: Memory, D. Markovic Testability / Slide 41 41 E beam Probing and Controlling E beam probing is a technique that requires face access Shoot electrons at the chip and measure reflected electrons Grounded metals look bright; high voltage metals look dark Can probe metals this way to find out their voltages Can also pulse e beams at higher energy to charge up nodes Mild form of controllability to go along with observability Courtesy: M. Horowitz Lecture 18: Memory, D. Markovic Testability / Slide 42 42

Focused Ion Beam (FIB) for Chip Edits FIB allows post fabrication edits on silicon Used to check if a proposed fix will actually work Very expensive (~$400/hr), so don t do it unless you need Usually 3 5 hours per normal fix / one chip at a time FIB edits can be additive or subtractive Cut wires or lay down new wires FIB used to be from the top of the chip only Today can also be used for backside FIB (for flip chip) Lecture 18: Memory, D. Markovic Testability / Slide 43 43 FIB Repair FIB is typically used to etch & deposit metals to make repairs for bug fixes. Example: Through your debug features, you believe the signal below needs to be AND ed with another signal Source Block Deposit Routes on upper layer metal Spare Gates Sink Block Etch Simulations seems to confirm this, but to be sure you d like to try the repair on a real part to see if it truly does fix the bug Spare gates need to be included in the design Lecture 18: Memory, D. Markovic Testability / Slide 44 44

FIB Etch & Deposition Process Images courtesy of Accurel FIB image of metal lines to be connected CAD overlay to identify locations of etch & deposition Final view of repair after FIB with chemical gases Lecture 18: Memory, D. Markovic Testability / Slide 45 45 Example of a FIB Job FIB milling and lifting of sample www.msm.cam.ac.uk video Lecture 18: Memory, D. Markovic Testability / Slide 46 46

Another FIB Example Lecture 18: Memory, D. Markovic Testability / Slide 47 47 Testing in a University Environment I/O hardware library, automated FPGA flow I/O lib RTL Custom tool 3 FPGA backend Simulink Hw lib Custom tool 2 ASIC backend Speed Power Area FPGA implements ASIC logic analysis [D. Markovic, C. Chang, B. Richards, H. So, B. Nikolic, R.W. Brodersen, CICC 07] Lecture 18: Memory, D. Markovic Testability / Slide 48 48

FPGA Based ASIC Verification Goal: use Simulink testbench (TB) for ASIC verification Develop custom interface blocks (I/O) Place I/O and ASIC RTL into TB model ASIC + + = I/O TB ASIC I/O TB Simulink implicitly provides the testbench Lecture 18: Memory, D. Markovic Testability / Slide 49 49 Simulink Test Model ADDR IN OUT WE BRAM_IN c c in rst Simulink hardware model out ADDR IN OUT WE BRAM_FPGA logic gpio gpio gpio c in rst clk ASIC board out gpio ADDR IN OUT WE BRAM_ASIC c reset sim_rst reg0 software_reg logic Lecture 18: Memory, D. Markovic Testability / Slide 50 50

Simple Verification Strategy Testbench model on the FPGA board Test vectors entered through RS232 Block read / write operation Custom read_xps, write_xps commands Client PC RS232 ~kb/s FPGA board GPIO ~130Mb/s ASIC board Real time performance bounded by GPIO Lecture 18: Memory, D. Markovic Testability / Slide 51 51 Example: Test Setup for a MIMO SVD Chip GPIO ASIC board FPGA board Real time at speed ASIC verification Lecture 18: Memory, D. Markovic Testability / Slide 52 52

Improved Verification Strategy Goal 1: Improved I/O speed Standardized ASIC/FPGA interface Goal l2: test t vectors on the FPGA Remote control via BORPH, an FPGA OS User Term. Ethernet BORPH FPGA board Z Dok ~500Mb/s ASIC board Testbench executes on a BORPH managed FPGA Lecture 18: Memory, D. Markovic Testability / Slide 53 53 FPGA aided ASIC Verification FPGA board controlled through Matlab FPGA implements pattern generation and logic analysis Z DOK+ connectors: data rate up to 500 Mbps FPGA board ASIC board Lecture 18: Memory, D. Markovic Testability / Slide 54 54

FPGA Based ASIC Verification (Summary) FPGA hosted testvectors & I/O control ASIC I/O ASIC I/O TB TB Simulation Emulation ASIC I/O Test Simulink Simulink Simulink Pure SW Simulation HDL Simulink Simulink Simulink ModelSim co simulation FPGA HIL tools Simulink Hardware in the loop simulation FPGA FPGA FPGA Pure FPGA emulation FPGA & ASIC FPGA & ASIC FPGA Custom SW FPGA FPGA Testvectors outside FPGA Testvectors inside FPGA Lecture 18: Memory, D. Markovic Testability / Slide 55 55 That s All Folks! Thanks for the fun quarter! See you tomorrow. Lecture 18: Memory, D. Markovic Testability / Slide 56 56