Upload
phamdiep
View
218
Download
1
Embed Size (px)
Citation preview
1
EE M216A .:. Fall 2010Lecture 17
Testability
Prof. Dejan Marković[email protected]
Semiconductor Memory
It is an important component– 30% of the worldwide semiconductor business– DRAMs are a very high volume product
E b dd d ll t ll– Embedded all 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
D. Markovic / Slide 2
Intense device‐level circuit design process– Large benefit to improved circuit performance– Digital and analog design issues
Lecture 18: Memory, Testability | 2D. Marković .:. Fall 2010
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
D. Markovic / Slide 3
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, Testability | 3D. Marković .:. Fall 2010
Testability: Overview
Reading– W&H: Chapter 9
Introduction –Sili d b i i i bl th t i th
Most slides in this lecture are from: Shannon Morton, (SGI), ISSCC 2003
Silicon debugging is a growing problem that 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.
C t ll bilit th bilit t t th t t f i t l d
D. Markovic / Slide 4
– Controllability: the ability to set the state 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, Testability | 4D. Marković .:. Fall 2010
3
Do You Want Unhappy Customers?
Yo Dude !Where do you want this truck
load of returns ?!!Express Returns
D. Markovic / Slide 5
Pentium FP divider bug in 1994 cost the company $450 million dollars. (People got fired over this!)
Lecture 18: Memory, Testability | 5D. Marković .:. Fall 2010
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 stateof 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
D. Markovic / Slide 6
Complexity– A combinational logic with N inputs implies 2N test vectors.– A sequential logic with N inputs and M states implies 2N+M test
vectors.
Lecture 18: Memory, Testability | 6D. Marković .:. Fall 2010
4
Man‐hours required to generate sufficient test coverage (if at all possible) is vastly increased.
Testing occurs at different stages and costs differently
Cost of Testing
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.
D. Markovic / Slide 7
– 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, Testability | 7D. Marković .:. Fall 2010
Why Chips Fail?
Process defects
Reliability failures
Iddq failures
Timing and noise failures
Soft errors
D. Markovic / Slide 8
Logic design failures
Lecture 18: Memory, Testability | 8D. Marković .:. Fall 2010
5
Process Defect Examples
Missing or poorly formed via (infant mortality)
Hillock causing an open in upper layer metal
D. Markovic / Slide 9
SEM Courtesyof IBM [4] SEM Courtesy of Accurel [5]
Random and systematic defects− Immediate functional failures / infant mortality
Some causes of process defects− Dust particles, Oxide/Si defects/impurities/roughness− Lithographic errors, Temp & chemical composition of processes
Lecture 18: Memory, Testability | 9D. Marković .:. Fall 2010
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
W t l l th i f t b t l t d f il– Wear out: slower slope than infant, but accelerated failures
D. Markovic / Slide 10
Courtesy: M. Horowitz
Lecture 18: Memory, Testability | 10D. Marković .:. Fall 2010
6
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‐200oC 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 oC/W
D. Markovic / Slide 11
– Holding oven at 125oC for 100W parts means 150oC junction temp
Courtesy: M. Horowitz
Lecture 18: Memory, Testability | 11D. Marković .:. Fall 2010
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 ovensHigh power chips strain the capacity of burn in ovens– You can’t put too many 100W and 100A chips on a burn‐in board!
D. Markovic / Slide 12
www.sensata.com
www.aiaaoc.com www.xbitlabs.com
Lecture 18: Memory, Testability | 12D. Marković .:. Fall 2010
7
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)● 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
D. Markovic / Slide 13
● May also be swamped by large L2/L3 SRAM leakage
Lecture 18: Memory, Testability | 13D. Marković .:. Fall 2010
Timing & Noise Failures
Unforeseen critical path on chip– Perhaps only under certain bizarre conditions– Example: Insufficient differential into low‐swing SA’s
P ti l l l t t h i k (i t t li )– Particularly relevant to shrinks (interconnect scaling)
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
D. Markovic / Slide 14
– Reliability failure due to excessive coupling
Lecture 18: Memory, Testability | 14D. Marković .:. Fall 2010
8
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 pairsCollisions with Si atoms generate e /hole pairse‐1 are swept across PN junction reducing Vd
Poly
Vg=VSSVd=VCC α
D. Markovic / Slide 15
N+ N+
P-epi substrate
Lecture 18: Memory, Testability | 15D. Marković .:. Fall 2010
Soft Errors ‐ Memory
Memory is usually the focus– Dense; Low capacitance
bl
VCC
blbwordline (= VSS)
ECC codes are employed on large arrays to enable sufficient
Inject current into S/D region and measure how much charge (Qcrit) is needed to flip the cell VSS
1- 0+
Ialpha
D. Markovic / Slide 16
ECC codes are employed on large arrays to enable sufficient detection and correction.Parity checks used to enable sufficient detectionC4 bumps may be prohibited over arrays, but...
Lecture 18: Memory, Testability | 16D. Marković .:. Fall 2010
9
Soft Errors ‐ Logic
Logic is also prone to soft errors:– Dynamic nodes and
latches may flip state
ClkVCC
1-latches may flip state– Static nodes may create a
glitch that gets latched
VSS
A
1
Ialpha
BC
D. Markovic / Slide 17
If ECC is employed on the arrays, even with C4 bumps over them, then logic soft‐errors may govern overall FIT rate (failures in 109 hours)
Lecture 18: Memory, Testability | 17D. Marković .:. Fall 2010
Logic Design Failures (Debug)
Incorrect wiring into a gateIncorrect gate in a logic functionIncorrect algorithm in the micro‐architectureBUBBLE ERRORS!BUBBLE ERRORS!– Particularly between top or 2nd level blocks
AB
C
AB
C
Z=(A.B+C).D+E.F
D. Markovic / Slide 18
DEF
DEF
ZZ
Lecture 18: Memory, Testability | 18D. Marković .:. Fall 2010
10
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
T f t tiTypes of testing
Step Error Source Test Type
Design Design flaws Design verification
PrototypeDesign flaws
Prototype flawsFunctional test
(“silicon debug”)
Manufacture Physical defects Manufacturing test
D. Markovic / Slide 19
Courtesy: B. Nikolic
Shipping Mfg. test, transport
System integration Same Functional test
Service Stress, age diagnosis
Wafer / packaged chip / board / system / field
Lecture 18: Memory, Testability | 19D. Marković .:. Fall 2010
Testing Tools
Several common “external” tools– Probing
● Land a probe onto a top metal square (10x10µm)
Imaging– 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)
D. Markovic / Slide 20
“Internal” tools– Design features to aid test and debug
Lecture 18: Memory, Testability | 20D. Marković .:. Fall 2010
11
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) modelagainst an ideal (fault‐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
D. Markovic / Slide 21
Chip design must already be functionally sound
Lecture 18: Memory, Testability | 21D. Marković .:. Fall 2010
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 cachesprograms 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
Chi d i i b i f i ll d
D. Markovic / Slide 22
Chip design is becoming functionally sound
Lecture 18: Memory, Testability | 22D. Marković .:. Fall 2010
12
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– 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
R diti i t t
D. Markovic / Slide 23
– Race condition – increase temperature– Leakage – lower supply
Lecture 18: Memory, Testability | 23D. Marković .:. Fall 2010
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 frequencyAlso 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)
D. Markovic / Slide 24
Courtesy: M. Horowitz
www.deniskitchen.com
(p )Resembles a type of plot used by EEs(who can’t spell and call it a “schmoo”)
Lecture 18: Memory, Testability | 24D. Marković .:. Fall 2010
13
Schmoo
Sweeping the supply and operating frequency (often at various temperatures)– Selectively done as a manufacturing test
Can be an excellent way to determine problemsExample of common “schmoos”
T cyc
le
1.0 1.1 1.2 1.3 1.4 1.5
1.0
1.1
1.2
1.3
1.4
1.5
X X X X X X
X X X X X
X X X X
X X
X X X
X
1.0 1.1 1.2 1.3 1.4 1.5
1.0
1.1
1.2
1.3
1.4
1.5
X X X
X X X
X X X
X X X
X X X
X X X
1.0 1.1 1.2 1.3 1.4 1.5
1.0
1.1
1.2
1.3
1.4
1.5
X X X X X X
X X X X X
X X X X
X X
X X X
X
Typical Wall: Reverse:Coupling
Charge sharing
Races
Speedpaths
Leakage
D. Markovic / Slide 25
T cyc
le
VDD
1.0
1.1
1.2
1.3
1.4
1.5 1.0 1.1 1.2 1.3 1.4 1.5
X X X
X X X
X X X
X X X
X X X
X X X
1.0 1.1 1.2 1.3 1.4 1.5
1.0
1.1
1.2
1.3
1.4
1.5X X X X X X
X X X X X X
VDD
1.0 1.1 1.2 1.3 1.4 1.5
1.0
1.1
1.2
1.3
1.4
1.5
X X
X X X X
VDD
Finger:Floor:Brick:FSM Init Leakage Coupling
Lecture 18: Memory, Testability | 25D. Marković .:. Fall 2010
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 f nctionalit
D. Markovic / Slide 26
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, Testability | 26D. Marković .:. Fall 2010
14
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?
D. Markovic / Slide 27
The cost of doing DFT is far easier to quantify than the cost of not doing DFT
Lecture 18: Memory, Testability | 27D. Marković .:. Fall 2010
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 errorsCan trace back to find source of errors
D. Markovic / Slide 28
Courtesy: B. Nikolic
Lecture 18: Memory, Testability | 28D. Marković .:. Fall 2010
15
Building Scan Chains
Idea: add parallel path to each flip‐flop– Extra capacitance / area (typically <5% of the total chip area)– Ensure that
i i h● 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)
D. Markovic / Slide 29
Courtesy: M. Horowitz
Lecture 18: Memory, Testability | 29D. Marković .:. Fall 2010
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 NotesSingle Stuck-at Line Single logic node stuck at 0 or 1 Most common --
focus of this sectionMultiple Stuck-at Line Multiple logic nodes stuck at 0 or 1 Vast majority covered
by SSL model [13]Stuck-open Logic node floats (X)
BridgingLogic node becomes AND(x,y) or OR(x,y) or X depending on drive strengths
May not be very well covered by SSL (83/95 to 51/98) [14]
D. Markovic / Slide 30
Delay Gate or Path delay is increased
CouplingTransition on node X causes Delay Fault on Y, or alters function Y=F(x,y)
bitlines, buses, register files
Pattern-Sensitive Complex space-time dependence RAM arrays
Lecture 18: Memory, Testability | 30D. Marković .:. Fall 2010
16
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 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 ≈106 gates or ≈103 latches may be too large to test
D. Markovic / Slide 31
with suitable SA coverage and in a reasonable amount of time
Lecture 18: Memory, Testability | 31D. Marković .:. Fall 2010
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 scannablePartial 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
D. Markovic / Slide 32
/– More applicable to debug − Good for shrinks
Lecture 18: Memory, Testability | 32D. Marković .:. Fall 2010
17
AMD’s K6 Flip‐Flop
CLK
ckplse
Pulse Generator(can be shared)
CLK must be inactive during scan
ckplseB
DataIn
ScanIn
DataOut
ScanOut
ScanClk1
ScanClk2
D. Markovic / Slide 33
Non‐overlapping scan clocks ⇒ no race & looser to routeNo additional logic in the D→Q path (via ckplse) ⇒ good performanceShift is destructive (=Load)
Lecture 18: Memory, Testability | 33D. Marković .:. Fall 2010
Intel’s McKinley Flip‐Flop
CLK
ckpl
se
DataInB DataOut
Normal:clk=p sck=0 en=1
ScanIn
ScanOutB
ScanClk
Pulse Generator(can be shared)
En
Shift/Load:clk=p sck=p en=0
Capture: clk=p sck=0 en=0
Similar in principle to the AMD scan latch but with a single clock
D. Markovic / Slide 34
Similar in principle to the AMD scan latch, but with a single clockNo additional logic in the D→Q path (via ckplse), but o/p has extra loadScan operation results in true dynamic nodes ⇒ need to be cautious of noise, and a minimum scan rate is necessary due to leakageShift is destructive (=Load) CLK must be active during scan
Lecture 18: Memory, Testability | 34D. Marković .:. Fall 2010
18
Self‐Test
Becoming more important with increasing chip complexity and larger modules
D. Markovic / Slide 35
Courtesy: B. Nikolic
Lecture 18: Memory, Testability | 35D. Marković .:. Fall 2010
Built‐In Self‐Test (BIST)
The capability of a circuit to test itself– Minimal external requirements (ck, si, so, control)
Pros ConsAt-speed testing of circuitry Small area/delay penaltyRemoves (or reduces) time and effort required for ATG
May be difficult for faults insensitive to random patterns (64-bit NOR)
Reduces tester time & ports, Aliasing in output compression
D. Markovic / Slide 36
p ,thereby saving $$$
g p pintroduces risk in error detection
Independent of fault model
Lecture 18: Memory, Testability | 36D. Marković .:. Fall 2010
19
General BIST Architecture
st e r
Data In Data Out Pattern Generator mayneed to be initialized
01 Circ
uit
unde
r Te s
Patte
rnG
ener
ator
Sign
atur
eA
naly
ze
Com
para
tor
BIST Controller Error StatusSeed
BIS
T?Test
Pattern
CircuitSignature
CorrectSignature
need to be initializedError Status could be as simple as PASS / FAIL
D. Markovic / Slide 37
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, Testability | 37D. Marković .:. Fall 2010
4‐bit LFSR as a Pattern Generator
Reg
Reg
Reg
Reg
# p4 p3 p2 p11 1 0 0 02 0 0 1 13 0 1 1 0
All XOR functions can also be moved to the far RHS of LFSR
E bl l it i d t th
p3p4 p2 p1 4 1 1 0 05 1 0 1 16 0 1 0 17 1 0 1 08 0 1 1 19 1 1 1 010 1 1 1 111 1 1 0 1
Characteristic Polynomial: X4+X2+1
D. Markovic / Slide 38
– Enables regularity in datapaths– Example on next slide
Easily incorporated into scan chain
11 1 1 0 112 1 0 0 113 0 0 0 114 0 0 1 015 0 1 0 0
Lecture 18: Memory, Testability | 38D. Marković .:. Fall 2010
20
Signature Analyzers
One’s counter: n‐bit counter x m‐bit inputsTransition counter: n‐bit counter x m‐bit inputsSingle Input LFSR: n‐bit LFSR x m‐bit inputs
Reg
Reg
p3
Reg
Reg
p4 p2 p1
in
Multiple Input LFSR: m‐bit LFSR
D. Markovic / Slide 39
p4
Reg
p2
Reg
p1
Reg
Reg
p3
in<3> in<2> in<1> in<0>
datapath cell
Lecture 18: Memory, Testability | 39D. Marković .:. Fall 2010
Spare Gates
Post‐silicon edits can be done using Focused Ion Beams– Remove or add wires
FIB cannot add new devices butFIB 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)
Y i t th i FIB dit l
D. Markovic / Slide 40
– 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, Testability | 40D. Marković .:. Fall 2010
21
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
D. Markovic / Slide 41
Courtesy: M. Horowitz
Lecture 18: Memory, Testability | 41D. Marković .:. Fall 2010
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
C b t l thi t fi d t th i lt– 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
D. Markovic / Slide 42
Courtesy: M. Horowitz
Lecture 18: Memory, Testability | 42D. Marković .:. Fall 2010
22
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 timey p / p
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)
D. Markovic / Slide 43Lecture 18: Memory, Testability | 43D. Marković .:. Fall 2010
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 b l d b ’ d h h lbelow needs to be AND’ed with another signal
EtchDeposit
SpareGates
SourceBlock
SinkBlock
− 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
D. Markovic / Slide 44
Routes on upperlayer metal
− Spare gates need to be included in the design
Lecture 18: Memory, Testability | 44D. Marković .:. Fall 2010
23
FIB Etch & Deposition Process
Images courtesy of Accurel
D. Markovic / Slide 45
FIB image of metal lines to be connectedCAD overlay to identify locations of etch & depositionFinal view of repair after FIB with chemical gases
Lecture 18: Memory, Testability | 45D. Marković .:. Fall 2010
Example of a FIB Job
FIB milling and lifting of sample www.msm.cam.ac.uk
D. Markovic / Slide 46
video
Lecture 18: Memory, Testability | 46D. Marković .:. Fall 2010
24
Another FIB Example
D. Markovic / Slide 47Lecture 18: Memory, Testability | 47D. Marković .:. Fall 2010
Testing in a University Environment
Simulink
libI/O lib
I/O hardware library, automated FPGA flow
Hw lib
SpeedPowerArea
Customtool 2
ASICbackend
I/O lib
FPGAbackend
Customtool 3
RTL
D. Markovic / Slide 48
backendbackend
[D. Markovic, C. Chang, B. Richards, H. So, B. Nikolic, R.W. Brodersen, CICC’07]
FPGA implementsASIC logic analysis
Lecture 18: Memory, Testability | 48D. Marković .:. Fall 2010
25
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
+ + =TB TB
I/OASIC
I/OASIC
D. Markovic / Slide 49
Simulink implicitly provides the testbench
Lecture 18: Memory, Testability | 49D. Marković .:. Fall 2010
Simulink Test Model
IN OUTADDR
WE Simulinkhardware
‐c‐‐c‐ in out
IN OUTADDR
WEBRAM_IN hardware
model
ASICboard gpio
‐c‐
in
rst
clk
logic
gpio
gpio
gpio
out
BRAM_FPGA
IN OUTADDR
WE
rst
D. Markovic / Slide 50
software_reg
sim_rstreset
reg0
BRAM_ASIC
logic
‐c‐ gpio
‐c‐
Lecture 18: Memory, Testability | 50D. Marković .:. Fall 2010
26
Simple Verification Strategy
Testbench model on the FPGA board– Test vectors entered through RS232
Block read / write operation/ p– Custom read_xps, write_xps commands
FPGAboard
Client PC
ASICboard
RS232
~kb/s ~130Mb/s
GPIO
D. Markovic / Slide 51
Real‐time performance bounded by GPIO
Lecture 18: Memory, Testability | 51D. Marković .:. Fall 2010
Example: Test Setup for a MIMO SVD Chip
ASIC boardASIC board
GPIO
D. Markovic / Slide 52
FPGA board
Real‐time at‐speed ASIC verification
Lecture 18: Memory, Testability | 52D. Marković .:. Fall 2010
27
Improved Verification Strategy
Goal 1: Improved I/O speed− Standardized ASIC/FPGA interface
G l 2 t t t th FPGAGoal 2: test vectors on the FPGA− Remote control via BORPH, an FPGA OS
BORPHFPGAboard
UserTerm. ASIC
board~500Mb/s
Z DokEthernet
D. Markovic / Slide 53
Testbench executes on a BORPH managed FPGA
Lecture 18: Memory, Testability | 53D. Marković .:. Fall 2010
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
D. Markovic / Slide 54
FPGA board
ASIC board
Lecture 18: Memory, Testability | 54D. Marković .:. Fall 2010
28
FPGA Based ASIC Verification (Summary)
FPGA‐hosted testvectors & I/O control
ASIC I/O TB TBI/O
ASIC
SimulationSimulink Simulink Simulink Pure SW Simulation
HDL Simulink SimulinkSimulink ModelSim co‐simulation
EmulationFPGA HIL tools Simulink
Hardware in the loop simulation
l i
ASIC I/O TB TB
D. Markovic / Slide 55
FPGA FPGA FPGA Pure FPGA emulation
ASIC I/O Test
FPGA &ASIC
FPGA Custom SWTestvectors outside FPGA
FPGA &ASIC
FPGA FPGATestvectors inside FPGA
Lecture 18: Memory, Testability | 55D. Marković .:. Fall 2010
That’s All Folks!
Thanks for the fun quarter!
See you tomorrow.
D. Markovic / Slide 56Lecture 18: Memory, Testability | 56D. Marković .:. Fall 2010