Professional Documents
Culture Documents
• Introduction
• Test Strategy
– Logic
– Memory
– IP
• System Test Offering
• MIDAS Architecture and Flow
– SSTM: Web DFT flow
– Core Level DFT
– Top Level DFT
Introduction to TI ASIC DFT
• What TI ASIC DFT is responsible for:
– DFT planning and customer interaction
– DFT architecture for entire design (subchips, IPs and
top-level)
– Generation, integration and verification of test
structures
– STA constraints for test modes
– Test Vector generation (TI-TDL format) and handoff to
TI Product Engineering (PE)
– Silicon debug support to TI PE team
Logic Test
Logic Test Architecture
• Approach – Scan and ATPG Based
• Architecture – Hierarchical divide-and-conquer strategy
• Fault Models
– Mandatory
• Stuck-at faults
• Transition faults
– Including Ram Sequential Testing
• IDDQ
– Under Evaluation
• Targeted Path Delay
• Bridge Defects
• Small Delay Defects
Hierarchical Scan Architecture Scan Enable
(t2c_se)
Scan In
(t2c_si)
• Synopsys DFTCompiler
integrated shared bounding
solution
Sub-chip Select
(t2c_subchip_sel)
Scan Out
(t2c_so)
Scan Mode Clocking
• Scan Shift:
– Single shift clock (TI_TEST_CLK) for all flops inside design
• Scan capture:
– Capture enables for all clock domains for individual control
– Stuck-at:
• Separate capture enables used
• Single or multiple set of patterns using named capture procedure in
ATPG tools
• Separate mode where TI_TEST_CLK can be used for capture on
cross-domain logic – hold violations on true paths must be fixed
– Transition fault:
• Separate capture enables used
• Multiple set of patterns (1 for each clock domain)
Scan Clocking Examples
SCAN_ENABLE
STUCK-AT
TI_TEST_CLK (shift clock) Capture
Scan-in
Scan-out
SCAN_ENABLE
Scan-in Scan-out
SCAN_ENABLE
N Captures
Sequencial Patterns
TI_TEST_CLK (shift clock)
…
Scan-in Scan-out
Period = {1/functional frequency}
Memory Test -PBIST
Need for PBIST
• Hard memory defects have always been around
• Subtle defects are on the rise for 40nm and 28 nm
– Could be dependent on varying operational constraints
like PVT
– Could be dependent on test algorithm
– Could be dependent on test modes
• PBIST Components
– PBIST controller
• Controller is a limited capability CPU
• Two 32 bit data interfaces
• Dual address and data generators and comparators
• TI-VLCT compliant datalogger interface
– An interface to load algorithms and memory information to the controller Instruction Registers
• VLCT interface
• On-chip RAM/ROM interface
Production Algorithms available for PBIST
• BIG6 • IDDQ
– March13N – Zeros
– Down1A – Ones
– Mapcolumn – Row-stripe/Inv Row-Stripe
– Precharge – Powerup/Inv Powerup
– DTXN2
– PMOS Open
• ROM • RETENTION
– Triple Read Fast – Zeros
– Triple Read Slow – Ones
– Triple Read XOR – Row-stripe/Inv Row-Stripe
– Powerup/Inv Powerup
PBIST Block Diagram
ROM I/F VLCT I/F CFG I/F
To/From Memories
Memory Data Path
• Forward Path
• ROM Interface
– On-chip ROM can be programmed with memory and algorithm information
– Simple interface
– Two bits that can be controlled via JTAG/CPU
– PASS/FAIL and DONE signals available at end of test
PBIST Summary
WBR
[n:0] [n:2]
WPI_SCAN_EXTEST WPO_SCAN_EXTEST
FI FO
W W
B CORE B
R R
FO FI
CDRs
WBY
WSI WSO
WIR
7
WRSTN, WRCK, SelectWIR, CaptureWR,
WSC ShiftWR, UpdateWR, AUXCK0, AUXCK1
1500 interface: from ip to chip pins
JTAG
tap jtag
control
jtag21500
IP IP IP IP
1500 PMT
tck wrck
selectWR
select (0=select DR states)
JTAG WSP
shiftDR-state shiftWR
captureWR
captureDR-state
updateDR-state updateWR
parametric &
functional parametric &
bist functional bist
parametric &
functional bist func
cbist
bist
• TI internal tool used to build chip level TDL from canned TDL
– TDL can run on all macros simultaneously for production or individual macros for
debug
• Canned TDL are simulated at chip level with timing annotation to prove the
scrambling process has been successful
DDR DFT
40nm DDR Macro Overview
IO Ring (TI) (Including Signal and power/ Pads)
• DDR Interface
(IDID) 8-Bit Data PHY (hard) [ Vir ]
8-Bit Data PHY (soft) [ Vir ]
– 8 Bit Data Macro BIST Logic
DLL Master
– 11 Bit Command (hard) [ Vir ]
IEEE1500 (TI) DLL Master
Macro (Soft) [ Vir ]
– 16 bit Address/32
8-Bit Data PHY (hard) [ Vir]
bit data 8-Bit Data PHY (soft) [ Vir]
BIST Logic
DLL Master
(hard) [ Vir ]
IEEE1500 (TI) DLL Master
(Soft) [ Vir ]
40nm DDR Testing Strategy
• Scan/ATPG used for logic test
– At-speed TFT/SA Patterns
– EXTEST is used to test core interface logic
• At-speed BIST loop back testing of IO
– Internal and External Loopback
• 1149.1 JTAG (Boundary scan)
– Used for parametric test
• Canned patterns -IEEE1500 interface
– JTAG2IEEE1500 allow access from the board
• NOTE: Internal and External loopback are not supported in
board environment
DDR internal Loopback
TX logic TX data
Data
Data 0 Comparator pad
RX Looped back
(repeated in logic
data
other data
slices)
TX prbs
Divider
Tx clock
clock
Looped back pad
RX prbs clock
DDR PHY
IOs
DDR External Loopback
TX data
TX logic
Comparator Looped Data
Data 0 RX pad
BOARD
(repeated logic back data
in other
data slices)
TX
Divider prbs
Tx clock
clock
pad
RX
DDR PHY
prbs IOs
instX
instX acts as transmit PHY and instY
Data board trace
acts as receive PHY
TX logic TX data
Comparator Data
Data 0 RX Looped pad
(repeated logic
back data
in other
data slices)
TX
Divider prbs clock board trace
RX Rx clock
DDR PHY prbs
instY IOs
Quality Requirements and DFT Tools
40nm Quality Requirements and Tools
TEST PATTERN SET 40nm Plan of record
Step Tool
DC Parametric (JTAG BSCAN 100% Boundary scan TI ION
+ 1149.6)
JTAG TI TITAN
IDDQ, 8+4 stops 80%+
Hookup Customer or MDI
Memory BIST 100%, Programmable
Memory BIST TI PBIST
Scan Chain Test 100% Scan insertion SNPS DFTCompiler
Scan Stuck-At 99%+
Compression SNPS DFTMAX
Scan Transition At-Speed 85%+ ATPG SNPS TetraMAX
Simulations NCVerilog
RAM sequential test 85% memory ports
JTAG patterns and
Burn-in Scan; PBIST 70%+; 100%
compliance MT Combat-ADS
tck
Run Test/Idle
Select-DR-Scan
Shift-DR
Pause-DR
Update-DR
scanen
capture_enable
edt_update
ser_clk
*clkgt*
FSM
© Synopsys
*clockcntrl*
Capture
Serializer ClockCtrl
*_SCCOMP_COMPRESSOR
1 serial output
Internal clock Compressor
scan_out
pulses every 1
0
1
0
1
0
1
0
so
4 external
4bit Serializer
clock pulses
System Test Capabilities Summary
• PBIST
– accessible though JTAG
– Simple Go/nogo
– Advance JTAG2VLCT provides ability to program
– Per Memory Pass/Fail information can be provided
• IP
– Accessible though JTAG21500
• IO
– Boundary Scan
• Logic System Test
– JTAG accessible through eSTAC
– eSTAC available on subchips only (there is no compression at the
top level)
Midas Architecture
MIDAS Overview
• MIDAS – TI ASIC DFT Insertion Methodology
Modular Integrated DFT – ASIC Solution
• Objectives
Improve Execution Cycle Time
Remove DFT insertion from critical design execution path
Support RTL insertion and Gate-level insertion models
Facilitate non-DFT team usage
STAB TAP
CL
CL SSTM logic
eFuse
PADBSR
Subchip 1
pBIST
Combiner
IO SSTM logic
JTAG to
Subchip 2
IEEE1500
BSR DFT DFT DFT
Wrapper Wrapper Wrapper
Scan
IP IP IP
Router
Subchip DFT Architecture (SSTM)
Standard Subchip Test Module
Subchip-level DFT Structure
Subchip
Memory Controlconnections
Memory BIST
Wrapper
Functional Logic
eFuse Hookup
Scan
Scan
Compression
SSTM
• Preference is to have 1 pBIST controller per subchip or share controllers for smaller
subchips
SSTM Clock Control
– Single slow clock (TI test clock ~ 125MHz) controls all functional flops
– Clock domain control per functional clock to enable scan capture
EN
I
C func_clk_out
func_clk 0 G
io2c_test_clk 1
t2c_testmode
Mux & Gating
t2c_func_clk_domain_sel
t2c_subchip_sel
t2c_func_clk_testclk_sel
t2c_se
Control Logic
SSTM Clock Control (cont.)
• Sub-chip PBIST clocks (ROM Clock, VLCT TCLK and Diag Clock)
– PBIST functional clocks are controlled using t2c_pbist_clken
– ROM Clock domain control (t2c_pbist_rom_domain_sel)
– VLCT TCLK and Diag Clock (t2c_tclk_domain_sel)
clkrst Module
io2c_test_clk 1
PBIST VLCT DIAG CLK
t2c_testmode
(To PBIST)
t2c_tclk_domain_sel
I t2c_subchip_sel
func_clk1 func_clk 0
C
G
func_clk_out
io2c_test_clk 1
io2c_test_clk
t2c_testmode
func_clk2
t2c_func_clk_domain_sel
I
C func_clk_out
t2c_atpgm
t2c_se
func_clk 0 G CCM
io2c_test_clk 1
t2c_subchip_sel
t2c_testmode
I
I C rom_clk_out
func_clkn t2c_func_clk_domain_sel C func_clk_out rom_clk
/4 0 G
func_clk 0 G
fastest func. io2c_test_clk 1
PBIST ROM clock
io2c_test_clk 1
t2c_func_clk_testclk_sel
t2c_subchip_sel
clock t2c_testmode
(To PBIST + MDP)
t2c_se
t2c_testmode CCM
t2c_pbist_rom_domain_sel
t2c_func_clk_domain_sel
t2c_func_clk_testclk_sel t2c_subchip_sel
t2c_subchip_sel
t2c_se
CCM
t2c_atpgm
t2c_func_clk_testclk_sel
t2c_se
t2c_se
CCM CCM
Design Information For SSTM Creation
• TI requires the following information from
customer for the creation of:
– SSTM:
• Memory information
• Clock-for test clock muxing
• Reset-For scan reset conntrol
• Flops and scan architecture information
• Memory Placement information (to optimize BIST architecture)
return
Web-DFT for SSTM Generation
SSTM Create Flow
Customer
Customer
designSpec.xls
designSpec.xls designmem_info
designmem_info
https://midas.ext.ti.com/cgi-bin/midas.cgi
Web-DFT
Web-DFT
SSTM
SSTM RTL
RTL Verif
Verif Logs
Logs
SSTM
SSTM Gates
Gates connection_spec
connection_spec
sstm.tar.gz
sstm.tar.gz
Customer
Customer
Web-DFT (https://midas.ext.ti.com/cgi-bin/midas.cgi)
Web-DFT Screenshot (2)
Web-DFT Screenshot (3)
Web-DFT Screenshot (4)
Web-DFT Screenshot (5)
Web-DFT Screenshot (6)
Web-DFT Screenshot (7)
SSTM Create Flow
Customer
Customer
designSpec.xls
designSpec.xls designmem_info
designmem_info
https://midas.ext.ti.com/cgi-bin/midas.cgi
Web-DFT
Web-DFT
SSTM
SSTM RTL
RTL Verif
Verif Logs
Logs
SSTM
SSTM Gates
Gates Connection_spec
Connection_spec
sstm.tar.gz
sstm.tar.gz
Customer
Customer
SSTM RTL Integration
• Connection Specification Provided by TI
Example:
instantiate, ti_SME_sstm, SME/sstm_inst
createbus, SME/t2c_mem_atpgm, 0:0:input
connect, SME/U_SM_IPE/U_IPE_MEM/U_DPRAM8X512_MASK_2/U_dejh00008128010_2/cscan, SME/sstm_inst/ti_sc_SME_001_cscan
MDI
Analyze RTL
(mdiAnalyze)
Connect.info
(internal)
RTL Editor
(mdiEdit) TI DFT IP Blocks
TITAN,SSTM
STAB TAP
CL
CL SSTM logic
eFuse
PADBSR
Subchip 1
pBIST
Combiner
IO SSTM logic
JTAG to
Subchip 2
IEEE1500
BSR DFT DFT DFT
Wrapper Wrapper Wrapper
Scan
IP IP IP
Router
IP DFT Wrapper
• IP DFT wrapper is required to have access to facilitate the
following IP testing:
– Scan based
• ATPG patterns to test IP-internal digital logic & interface logic
• Same fault models and coverage requirements as rest of device
IP IP
Test Mode
Test Mode
• Most IPs require a DFT wrapper
• PLLs, DLLs, DDRs, SerDes
• Wrapper will have standard control/observe names, e.g. t2c_*, c2t_*
Core PLL DFT Wrapper
clkout
PLL
0
Functional Ports
Test Muxes
DFT wrapper
MACRO
Func. O/Ps
Func. I/Ps
Func. I/F
t2c_tdi c2t_tdo
t2c_tck
JTAG I/F t2c_extest
t2c_extest_pulse BSCAN I/F
t2c_extest_train Bypass
t2c_actestsignal Mechanism
WPO_EXTEST
WPI_EXTEST
1
t2c_si 1500 I/F 1 c2t_so
0
0
WPI_INTEST
WPO_INTEST
Scan I/F io2c_test_clk
t2c_ip_select
ti_dft_func_clk_in Clock auxck1
Control Signals Leaker
DFT O/Ps
DFT I/Ps
1500 I/F
iDID and TS DFT Wrappers similar to above (minus JTAG i/f and clock leaker)
Clock Leaker Implementation
Test Ports
clkin clkout
Divider
PLL Clock leaker
Test Ports
clkin clkout
PLL Clock leaker
TI ASIC Clock Leaker
t2c_clk_ctrl [9:0]
EN c2t_cl_observe
ICG
1 1 1 1 1 1 1 1
1’b0 0 0 0 0 0 0 0 0 EN
ICG
0 0
1 1 clk_out
1
EN 0
EN
ICG ICG rcd_test_clk_ctrl
1
0
t2c_pll_bypass
t2c_se
t2c_capture_enable
t2c_transfaultmode
test_func_clk_in
t2c_test_clk
func_clk_in
t2c_atpg_mode
cust_lbist_clk
cust_lbist_mode
pBIST_Core Fuse_Core
pBIST
Combiner
eFus
e
Tap_pBIST Tap_Fuse
Tap_Core
Tap_Core TAP
Scan JTAG2_1500
Scan_Core Router Tap_Scan Tap_1500
1500_Core
• TITAN includes
• 1149.1/.6 JTAG Tap Controller
• TAP supports 64 OPCODEs and 54 TDRs
• eFuse Wrapper with FuseFarm
• pBIST Combiner
• Scan Router control module for hierarchical scan control
• JTAG to IEEE 1500 Bridge
eFuse Wrapper
SI Subchip
SO
Codec/
Flops
t2c_si F
F
F
ct2_so
F
t2c_subchip_sel
SO SI SO SI SO SI SO SI SO SI SO SI SO SI SO SI
1 t2c_wrck
io2t_wrck
!t2io_1500_mode 0
io2t_tdi
io2t_wsi 1 t2c_wsi WSP1
0
0 WSP2
io2t_shiftwr 1 t2c_shiftwr
STAB 0
1 t2c_capturewr
io2t_capturewr
0
io2t_updatewr 1 t2c_updatewr
t2c_wrstn
io2t_wrstn 1
WSPn
t2io_wso 0
c2t_wso
t2io_tdo 1
TDO TDR MUX
0 TCK
TDO Latch
BSCAN
Driver
BSCAN
Bidi
BSCAN
TCK
PI_GZ
TM_MODE1 SO
PO_GZ
GZ
TM_A F/F F/F 1
1
1 0 1 PO_A A
0 EN EN PAD
0 0
TCK Y
TM_MODE
SDR CDR UDR TM
PAD
PI_A
1
PO_Y
0
All muxes in
this block,
common for
every IO in
All core test
each IO
input/output
Test + cell/wrapper
signals
functional
outputs, gz
control
Module: ti_stab
{Enable}
s2b_tm_gz_{SIGNAME}
{FromCore}
s2b_tm_a_{SIGNAME}
Module: ti_padbsr
Output
bc_io_it bsc_bc_io_it_{SIGNAME} {cellname} pad_{SIGNAME}
b2p_gz_{SIGNAL}
TM_GZ PO_GZ GZ
TM_A PO_A b2p_a_{SIGNAL}
{ToCore} A PAD
PO_Y p2b_y_{SIGNAL}
{Enable} PI_Y Y
PI_GZ
{FromCore}
PI_A
t2io_shift_dr shift_dr
SDR
t2io_clock_dr clock_dr
t2io_update_dr update_dr
CDR
UDR
test_mode
TM
tm_or_mode1
TM_MODE1
t2io_mode2 mode2
MODE2
t2io_mode3 mode3
MODE3
bsr_so_{n}
bsr_so_{n+1} SI SO
t2io_tck
TCK
Efuse Overview
Fuse ROM
TI’s top-level test
control block (TITAN)
SRAM
fdi fclk
fclrz
fclrz
fclk 1 1
JTAG fdi fdo
Fuse
Controller
Fuse ROM
Autoload
fdi SRAM
fclk
fclrz
fdi 1 1 fdo