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

原文地址:https://www.cnblogs.com/yilia-er/p/14245707.html