March 23, 2005 The VLSI Design & Test Seminar Series
Built-In Self-Test for Regular Structure Embedded Cores in System-on-Chip
Srinivas Murthy Garimella Master’s Thesis Defense
Built-In Self-Test for Regular Structure Embedded Cores in - - PowerPoint PPT Presentation
Built-In Self-Test for Regular Structure Embedded Cores in System-on-Chip Srinivas Murthy Garimella Masters Thesis Defense Thesis Advisor : Dr. Charles E. Stroud Committee Members : Dr. Victor P. Nelson & Dr. Adit D. Singh Department of
March 23, 2005 The VLSI Design & Test Seminar Series
Srinivas Murthy Garimella Master’s Thesis Defense
March 23, 2005 The VLSI Design & Test Seminar Series
2
March 23, 2005 The VLSI Design & Test Seminar Series
3
March 23, 2005 The VLSI Design & Test Seminar Series
4
March 23, 2005 The VLSI Design & Test Seminar Series
5
March 23, 2005 The VLSI Design & Test Seminar Series
6
March 23, 2005 The VLSI Design & Test Seminar Series
7
dedicated memories
partitioning during FPGA design
distributed memories
utilization
PLB PLB PLB PLB PLB PLB PLB PLB PLB IOB Interconnect Network
March 23, 2005 The VLSI Design & Test Seminar Series
8
6-Transistor SRAM Cell
Vdd Word Word Bit Bit 5 1 2 3 4 6
March 23, 2005 The VLSI Design & Test Seminar Series
9
March 23, 2005 The VLSI Design & Test Seminar Series
10
(NPSFs) - base cell and neighboring
cells
value
1 1 n n n b n n n n n
March 23, 2005 The VLSI Design & Test Seminar Series
11
March 23, 2005 The VLSI Design & Test Seminar Series
12
↑: addressing upward ↨: either way w0: write 0 r1: read 1
cells
K = data width
0000(1111),0101(1010),0011(1100)
Algorithm Notation
March LR w/ o BDS ↨ (w0); ↓(r0, w1); ↑(r1,w0,r0,r0, w1); ↑(r1,w0); ↑(r0,w1,r1,r1,w0); ↑(r0); March LR with BDS ↨ (w00); ↓(r00, w11); ↑(r11,w00,r00,r00, w11); ↑(r11,w00); ↑(r00,w11,r11,r11,w00); ↑(r00,w01,w10,r10); ↑(r10,w01,r01); ↑(r01);
March 23, 2005 The VLSI Design & Test Seminar Series
13
March 23, 2005 The VLSI Design & Test Seminar Series
14
FPGA Core Array FPGA Core Array
Y Y X X Y Y Y Y Y Y X X X X X X
PLB local routing PLB local routing PLB PLB PLB PLB PLB PLB PLB PLB PLB PLB PLB PLB PLB PLB PLB PLB PLB PLB
March 23, 2005 The VLSI Design & Test Seminar Series
15
Din Dout Wadd Radd WE OE 5 4
5 4 Vertical Routing Planes Vertical Routing Planes Horizontal Routing Horizontal Routing Planes Planes PLB global routing PLB global routing PLB PLB
March 23, 2005 The VLSI Design & Test Seminar Series
16
March 23, 2005 The VLSI Design & Test Seminar Series
17
memories
problem as BIST relies on march tests for fault coverage
FPGAs)
March 23, 2005 The VLSI Design & Test Seminar Series
18
approach
Data comparison
RAM Comparison
configurations
March 23, 2005 The VLSI Design & Test Seminar Series
19
expected data comparison
March 23, 2005 The VLSI Design & Test Seminar Series
20
↨(w0); ↑(r0; w1; r1); ↓(r1; w0; r0); ↑(r0);
March 23, 2005 The VLSI Design & Test Seminar Series
21
March 23, 2005 The VLSI Design & Test Seminar Series
22
X X
RAM1 RAM2
X X X X X X Y Y Y Y
Shift In Shift out Dout Dout
March 23, 2005 The VLSI Design & Test Seminar Series
23
March 23, 2005 The VLSI Design & Test Seminar Series
24
20 40 60 80 100 1 2 3 RAM Configuration Fault Coverage (%) Individual FC Cumulative FC
D P S Y N C S P S Y N C S P A S Y N C
# Collapsed faults = 1870 Undetected faults = 6 Fault Coverage = 99.81%
devices with fault injection
AT94K40)
March 23, 2005 The VLSI Design & Test Seminar Series
25
March 23, 2005 The VLSI Design & Test Seminar Series
26
A V R A V R
March 23, 2005 The VLSI Design & Test Seminar Series
27
registers and for BIST clock
and tested with fault injection
sequential program execution in AVR
configurations is reduced by a factor of 2.5
March 23, 2005 The VLSI Design & Test Seminar Series
28
March 23, 2005 The VLSI Design & Test Seminar Series
29
Function Execution Cycles Program Memory (bytes) Data Memory (bytes) BIST 398,100 1,860 72 Diagnostics 110,000 1,330 132 Total 508,100 3,190 204
March 23, 2005 The VLSI Design & Test Seminar Series
30
FPGA
program memory
from AVR
memory
configured to be data or program memory
FPGA memory
AVR and/ or FPGA is 14KB + 96 bytes
4K x 8 4K x 8 4K x 8 AVR Reg Space AVR Memory Mapped I/O FPGA Access Only FIXED 4K x 8 O P T I O N A L
2K x 16 2K x 16 2K x 16 FIXED 10K x 16
O P T I O N A L
SOFT “BOOT BLOCK”
Program SRAM Memory Data SRAM Memory
March 23, 2005 The VLSI Design & Test Seminar Series
31
relocation
relocation
port tests with dual-port tests
AT94K10 and AT94K40 devices
A V R F P G A D a t a S R A M
March 23, 2005 The VLSI Design & Test Seminar Series
32
Testing resource Configuration BI ST exec tim e ( sec) Dw ld tim e ( m s) Total test tim e ( m s) TPG PLBs ORA PLBs Clock Speed ( Hz) Speed Up
Dual-port 1 4 7 µ 5 0 0 5 0 0 .1 4 6 6 9 6 0 1 7 .7 M Single-port sync 1 2 4 µ 5 0 0 5 0 0 .1 2 1 2 3 1 1 5 2 1 2 .3 M Single-port ( using FPGA) 3 2 .7 m 3 7 5 4 0 7 .7 2 1 0 1 6 1 8 .5 M 1 Single-port + dual- port 6 5 7 m 3 7 5 1 0 3 2 3 0 8 2 0 M 1 Free RAM ( using FPGA) Single-port async 4 0 µ 5 0 0 5 0 0 1 8 1 1 5 2 2 1 .4 M Free RAM ( using AVR&FPGA) All m odes 8 .8 m 6 0 0 6 0 8 .8 1 4 1 1 5 2 2 0 M 2 .4 6 Free RAM ( using AVR) All m odes 2 0 m 1 8 0 2 0 0 1 4 1 1 5 2 2 0 M 7 .5 Data SRAM Single-port + dual- port ( w ith stack relocation) 9 5 m 3 7 5 4 7 0 3 0 8 2 0 M
March 23, 2005 The VLSI Design & Test Seminar Series
33
port march algorithm
March 23, 2005 The VLSI Design & Test Seminar Series
34
↨(w0); ↑(r0; w1; r1); ↓(r1; w0; r0); ↑(r0); d w 0 u r 0 , w 1 , r 1 d r 1 , w 0 , r 0 u r 0
March 23, 2005 The VLSI Design & Test Seminar Series
35
LUT1 Shift Reg RAM LUT2 Shift Reg RAM Storage Element Storage Element Carry logic Carry logic Arithmetic Logic M u x 1 M u x 2
memory
Slice Architecture
March 23, 2005 The VLSI Design & Test Seminar Series
36
control signals
Block RAM Architecture
March 23, 2005 The VLSI Design & Test Seminar Series
37
March 23, 2005 The VLSI Design & Test Seminar Series
38
BI ST Architecture
TPG ORA RAM
Spartan II
Pro and Spartan III
edge of clock and all write modes tested in different configurations
data width
configurations
diagnostic resolution at edges
diagnosis
RAM BIST Algorithm TPG slices ORA slices March LR w/o BDS 62 March LR with BDS (16-bit) 110 March LR with BDS (36-bit) 174 N = # of block RAMs D = # of data bits N×D ×2
TPG and ORA slice count
March 23, 2005 The VLSI Design & Test Seminar Series
39
BDS
data SRAM in Atmel SoCs
Read-First mode
RAMs
RAMs
Algorithm Data Width TPG Count (slices) ORA Count (slices) March s2pf D=16 49 N*2*D March d2pf D=16 76 N*2*D March s2pf D=36 64 N*2*D March d2pf D=36 113 N*2*D N = Number of Block RAMs D = Data width
March 23, 2005 The VLSI Design & Test Seminar Series
40
mode of testing
logic
ORA logic in one slice
slice instead of a LUT
ORA Design
March 23, 2005 The VLSI Design & Test Seminar Series
41
JTAG pin Function DRCK1 CLK SEL2 RESET TDI SHIFT TDO1 SCANOUT
Function of JTAG pins
March 23, 2005 The VLSI Design & Test Seminar Series
42
50 100 150 200 250 300 350 400 450 2 S 1 5 2 S 3 2 S 5 2 S 1 2 S 1 5 2 S 2 V 5 V 1 V 1 5 V 2 V 3 V 4 V 6 V 8 V 1 3 S 5 3 S 2 3 S 4 3 S 1 3 S 1 5 3 S 2 3 S 4 3 S 5 2 V 4 2 V 8 2 V 2 5 2 V 5 2 V 1 2 V 1 5 2 V 2 2 V 3 2 V 4 2 V 6 2 V 8 2 V P 2 2 V P 4 2 V P 7 2 V P 2 2 V P X 2 2 V P 3 2 V P 4 2 V P 5 2 V P 7 2 V P X 7 2 V P 1 R A M s /m u lt ip lie
March 23, 2005 The VLSI Design & Test Seminar Series
43
5 10 15 20 25 30 35 40 45 50 2 S 1 5 2 S 3 2 S 5 2 S 1 2 S 1 5 2 S 2 V 5 V 1 V 1 5 V 2 V 3 V 4 V 6 V 8 V 1 3 S 5 3 S 2 3 S 4 3 S 1 3 S 1 5 3 S 2 3 S 4 3 S 5 2 V 4 2 V 8 2 V 2 5 2 V 5 2 V 1 2 V 1 5 2 V 2 2 V 3 2 V 4 2 V 6 2 V 8 2 V P 2 2 V P 4 2 V P 7 2 V P 2 2 V P X 2 2 V P 3 2 V P 4 2 V P 5 2 V P 7 2 V P X 7 2 V P 1 av ailable in FPG A needed for BIST
March 23, 2005 The VLSI Design & Test Seminar Series
44
March 23, 2005 The VLSI Design & Test Seminar Series
45
two 18-bit inputs
combinational and registered
levels in two configurations
Algorithm Mode TPG slices ORA slices Count [10] combinational 8 N×36 Modified count registered 10 N×36 Modified count registered 10 N×36 N = Number of Multiplier Cores
Multiplier BIST details
March 23, 2005 The VLSI Design & Test Seminar Series
46
devices
structure cores
capability
March 23, 2005 The VLSI Design & Test Seminar Series
47
March 23, 2005 The VLSI Design & Test Seminar Series
48
March 23, 2005 The VLSI Design & Test Seminar Series
49
Configurations for Atm el Field Program m able Gate Arrays Using Macro Generation Language”, Proc. IEEE North Atlantic Test Workshop, 2004.
System on Chip: A Case Study”, Proc. IEEE International Test Conference, 2004.
Em bedded Program m able Logic Cores in System -on-Chip Devices”, Proc. International Conference on Computers and Their Applications, 2005.
Self-Test of Em bedded Cores in System -on-Chip”, Proc. Southeastern Symposium on System Theory, 2005.
Em bedded Cores in Generic SoCs”, submitted to International Conference on Embedded Systems and Applications, 2005.
Field Program m able Gate Arrays Using Partial Reconfiguration”, submitted to North Atlantic Test Workshop, 2005.
Reconfiguration of Logic Built-I n Self-Test for FPGA Cores in SoCs”, submitted to North Atlantic Test Workshop, 2005.