admin管理员组

文章数量:1516870

Mentor

 该过程的第一步是为ATPG执行可能需要的任何特殊设置。这包括对模式创建过程本身设置限制。第二步是使用默认设置创建pattern 。这是一种非常快速的方法来确定离可测试性目标有多近,甚至可以从第一次运行中获得所需的测试覆盖率。但是,如果测试覆盖率不在所需的水平,可能需要排除覆盖率不足的原因,并使用其他方法创建其他pattern。

ATPG Setup

在ATPG之前,您可能需要设置某些标准,以帮助测试生成过程中的测试生成器。如果只想使用默认设置在ATPG工具中快速生成模式,建议使用create_patterns命令创建模式。如果初始模式不令人满意,则再次运行create_patterns命令。但是,如果仍然无法创建令人满意的模式集,请使用set_pattern_type命令和create_patterns命令,使用以下顺序:

ANALYSIS> set_pattern_type -sequential 2 ANALYSIS> create_patterns ATPG Constraints Definition ATPG约束类似于引脚约束和scan cell约束。引脚约束和扫描单元约束分别限制引脚和扫描单元的值。ATPG约束对电路中任何位置的可接受值种类进行了限制。例如,可以使用ATPG约束来防止设计中的总线争用或其他不希望发生的事件。此外,设计可能具有在正常系统操作下永远不会发生的某些条件。如果要在ATPG期间在回路上放置这些相同的约束,请使用ATPG约束。 在确定性模式生成期间,仅允许约束电路上的受限值。与仅在设置模式下可用的引脚和扫描单元约束不同,可以在设计展平后在任何系统模式下定义ATPG约束。如果要在执行设计规则检查之前设置ATPG约束,必须首先使用create_flat_model命令创建设计的展平模型。 当了解电路的行为方式,希望ATPG过程检查时,ATPG约束非常有用。例如,该设计可以具有行为类似于总线系统的电路的一部分;也就是说,一次只能打开或选择各种输入中的一个。使用ATPG约束,结合定义的ATPG函数,可以将此信息指定给ATPG工具。ATPG函数在设计中的电路上放置布尔关系。在用ATPG函数定义了电路部分的功能之后,可以根据需要用ATPG约束约束函数的值。这比仅将设计中的点约束为特定值更有用。

要定义ATPG函数,请使用add_ATPG_functions命令。使用此命令时,指定名称、函数类型和应用该函数的对象。可以使用add_ATPG_constraints命令指定ATPG约束。使用此命令时,可以指定值、对象、位置和类型。测试生成考虑所有当前约束。但是,设计规则检查只考虑静态约束。只能在设置模式下添加或删除静态约束。设计规则检查通常不考虑动态约束,但set_drc_handling命令参考说明中详细说明了一些例外情况(请参阅Atpg_analysis和ATPGC选项)。您可以在会话期间随时添加或删除动态约束。默认情况下,ATPG约束是动态的。

以下命令给出了如何将ATPG约束和函数一起使用的示例。假设知道,门/u5的四个输入中只有一个一次可以打开,例如,对于输出必须无争用的总线门,四个三态使能是正确的。可以使用以下命令指定: ANALYSIS> add_atpg_functions sel_func1 select1 /u1/o /u2/o /u3/o /u4/o ANALYSIS> add_atpg_constraints 1 sel_func1 这些命令指定“select1”函数应用于门/u1、/u2、/u3和/u4,select1函数的输出应始终为1。确定性模式生成必须确保满足这些条件。导致此约束为真的条件如所示, 表8-3.当该约束为真时,门/u5将无争用。

本文标签: Mentor