DFT小记

记录DFT见闻

Bridging Fault
What are not bridging fault
1. BF does not consider shorts to power and group
2. BF does not consider defect resistance value
3. BF does not consider Intra-cell(intra-gate) defects
BF is gate-level, not transistor-level fault model
4. BF does not distinguish between fanout stem and branches
5. BF is not transient fault
Need to identify pairs of neighbor signals from layout
Fault extraction

Like below:

I_ORCA_TOP/I_PCI_READ_FIFO/U164/A1 I_ORCA_TOP/I_PCI_READ_FIFO/U164/A2
I_ORCA_TOP/I_PCI_READ_FIFO/U164/A1 I_ORCA_TOP/I_PCI_READ_FIFO/U164/Z
I_ORCA_TOP/I_PCI_READ_FIFO/U164/A2 I_ORCA_TOP/I_PCI_READ_FIFO/U164/

One pattern test for stuck-at fault, two-pattern test for delay test(one pattern for initialize circuit state; second pattern for launch transition, propagate fault effect to output)

Example 1 Script for Bridging Faults

# read netlist and libraries, build, run_drc
read_netlist design.v -delete
run_build_model design
run_drc design.spf

# bridging faults
set_faults -model bridging

# allow instance input pins to be valid victim sites
set_faults -bridge_input

# to optimize strengths during atpg
set_atpg -optimize_bridge_strengths

# read in fault list
add_faults -node_file nodes.txt

# run atpg with merging
set_atpg -merge high
run_atpg -auto_compression

# write the bridging patterns out
write_patterns bridge_pat.bin -format binary -replace

# now fault simulate bridge patterns with stuck-at faults
# this part is intended to reduce the set of patterns by not generating
# patterns for stuck-at faults detected by the bridging patterns
remove_faults -all
set_faults -model stuck
add_faults -all

# read in bridging pattern
set_patterns -external bridge_pat.bin

# fault simulate
run_fault_sim

# generate additional stuck-at patterns
set_atpg -merge high
set_patterns -internal
run_atpg -auto_compression

Untestable faults
examples of untestable faults:
1. redundant circuitry
2. unused output or tied input
3. hazard control circuitry
4. error control circuitry
5. ATPG constraints

report_nofaults -all #Use this command to report faults that have the nofault attribute
 TEST> add_nofaults -module MUX2H -stuck 1 SL
  4 faults were added to nofault list.
 TEST> report_nofaults -all
 sa1 ** mux0/SL
 sa1 ** mux1/SL
 sa1 ** mux2/SL
 sa1 ** mux3/SL
 TEST> report_nofaults mux2
 sa1 ** mux2/SL

Example Script for Combining Multiple Fault Models in a Single Run

########################################################################################
#
# Example script for running TetraMAX performing multi-fault ATPG
# -Script is for use in Tcl mode TetraMAX
# -Script is for system clock launch Transition/SDD fault ATPG
# -Script includes Power Aware ATPG settings
# -Script for use with TetraMAX 2008.09-SP1 or later
#
# Script performs the following steps
# 1. Runs Path Delay ATPG and stores patterns stand-alone
# 2. Runs combined SDD/Transition ATPG
# 3. Fault grades SDD/Transition patterns against Dynamic Bridge model
# 4. Generates additional Dynamic Bridge fault patterns
# 5. Fault grades all at-speed patterns against stuck-at model
# 6. Generates additional stuck-at patterns
# 7. Fault grades at-speed and stuck-at patterns against bridging fault model
# 8. Generates additional bridging fault patterns

########################################################################################

# Define a logfile for run
set_messages -log multi_fault_atpg.log -replace

# Read Libraries
read_netlist my_cell_lib.v
read_netlist my_tmax_ram_lib.v

# Read netlist
read_netlist my_design.v

# If working with Fault coverage, do not remove unused gates during build
# by removing comment from following command
# set_build -nodelete_unused_gates
 
# Build image of design in memory
run_build_model MY_TOP_LEVEL

#  Optionally Enable low power shift
set_atpg -fill adjacent
set_atpg -chain_tes
  • 4
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值