ATPG原理及实现——4.Faults and Coverage
一、主要的fault分类
DT——Detected
PT——Possibly Detected
UD——Undetected
AU——ATPG Untestable
ND——Not Detected
使用set_faults -symmary verbose查看更详细的fault分类:
① DT——Detected
DS(detected by simulation)
DI(detected by implication)
② PT———Possible Detected Faults
AP(ATPG untestable,Possibly detected)——当前的ATPG设置下无法检测到此故障
NP(Not analyzed, Possibly detected) ——不能证明无法检测到故障;可能中止限制太低导致
F2的Q端的值不唯一
③ UD——Undetectable
UU ——undetectable unuse fault
UO——undetectable unobservable
UT——undetectable tied
UB - undetectable blocked
UR - undetectable redundant
④ AU——atpg untestable
⑤ND——not detected
NC——not controlled
NO——not observed
二、报告
DRC后初始,还没开始产生pattern:
scan atpg后
三、测试覆盖率&故障覆盖率
查看故障覆盖率:
BUIID-T> set_build -nodelete_unused_gates
. .
TEST-T>set_faults -fault_coverage
TEST一T> report_summaries
四、add fault &定义nofault、部分故障测试
1.add fault:
- 增加Stuck-at-1 和 stuck-at-0 fault:
add_faults <pin_path l inst_name l -module <name> l -all>
- 将fault位置放置在故障接口文件中,读取文件来定义故障:
read_faults filename
2.定义nofault:
- 在add fault之前定义nofault来禁止故障位置:add_nofaults
Pin pathname、Primitive instance pathname、Hierarchical instance pathname、Module name
- 将fault位置放置在故障接口文件中,读取文件来定义Nofault:
read_nofaults filename
//Example: Exclude faults in A2D converter and JTAG block add_nofaults /ANALOG2DIGITAL
//12456 faults were added to nofault list add_nofaults /ORCA_JTAG_BSR_top_inst
//2434 faults were added to nofault list add_faults -all
3.测试部分故障:
remove_faults -retain_sample 只测试多少%的pattern
TEST-T> add faults -all //87098 fau1ts were added to fault list. TEST-T> remove faults -retain 5 //Fault sampling finished: //faults reduced from 87098 to 4308,只测试5%的pattern
五、故障文件
1.格式:
可使用write_fault保存fault文件
--代表与前面的fault等价
2.故障等价:
两个输入端的SA0与输出端的SA1等价,因此fault从6个变为4个
3.Collapsesd VS. Uncollapsed Faults
未折叠的故障列表包含所有可故障引脚上的故障;
折叠的故障列表仅包含“主要”故障(即每组等效故障一个故障);
- 报告测试覆盖率
set_faults -report [-collapsed l -uncollapsed]
- 写出故障列表
write_faults <file> [-collapsed l -uncollapsed]
六、保存fault
- 保存所有故障or仅保存特定的类:
write_faults my_asic_all.flt -replace -all
write_faults my_asic_au_nd.flt -replace -class {au nd}
- 选择collapsed or uncollapsed lists:
write_faults my_asic_col.flt -all -collapsed
write_faults my_asic_uncol.flt -uncollapsed -all
- 以压缩形式保存故障文件
write_faults my_asic_all.flt.gz -all -compress gzip