ATPG原理及实现——6.fault grading

一、functional pattern

测试覆盖率不够,用functional pattern做为补充。

functional pattern保存在EVCD文件里:

TEST-T> set_patterns  -external  -strobe .. filename.evcd

怎么生成EVCD文件?

 fault simulation after ATPG

##先进行ATPG过程
BUILD-T> run_build _model top_mod_name
DRC-T> run_drc atpg_related.spf
TEST-T> add_faults -all
TEST-T> run_atpg -auto
TEST-T> report_summaries
TEST-T> write patterns pat.bin  -f binary  -replace
TEST-T> write_faults atpg.flt  -all  -uncollapsed  -replace
##从ATPG运行中读取故障列表,并保留故障分类、减少活动故障,以进行功能模式故障仿真
TEST-T> drc -force
DRC-T> remove_pi_constraints -all
DRC-T> remove_clocks -all
DRC-T> set_drc -nofile
DRC-T> test
TEST-T> set_patterns -external  -strobe . . . my_asic.evcd
TEST-T> read_faults atpg.flt  -force_retain
TEST-T> run_simulation -sequential   
TEST-T> run_fault_sim -seauential

二、test point分析

run_testpoint_analysis   [ -max_test_points <number>]   最多可写入的测试点数,默认为1000

             [ -num_observe_points _per_cell <number>]  与扫描单元或PO异或的观察点数,默认8

             [ -test _point_file <file_name>]

             [ -replace] 

             [ -class <sub-class>]  默认分析所有未检测到的故障;可以选择特定的故障子类别,可同时选择多个子类别;  

             [ -dont_touch <instance>]  避免放置测试点

参考脚本:

run_build_model
run_drc
add_faults -all
run_atpg -auto
run_testpoint_analysis <options>
run_atpg -auto -observe <test_point_file>

 三、基于clock域的fault相关命令

launch与capture在同一时钟域

add_faults -launch CLKA -capture CLKA
add_faults -launch CLKB -capture CLKB

launch与capture在不同时钟域

add_faults -launch CLKA -capture CLKB

add_faults -launch CLKB -capture CLKA

四、clock grouping

  • 禁用所有inter-clock路径

   set_delay -common_launch_capture_clock

  • 每次捕获多个时钟  ( 让多个时钟并行起来)

   系统时钟启动:set_delay -allow_multiple_common_clocks

    -common_launch_capture_clock选项在DRC之前发出

  • 启用干扰时钟分组  

   set_delay -disturbed(默认为开启)

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