这就是if/unless_enable控件的用途:http: //origen-sdk.org/origen/guides/program/flowapi/#Execution_Based_on_the_Runtime_Environment
这会在 V93K 上创建所谓的用户标志(我认为),这些标志旨在由“用户”在流程执行之前设置,而不是在执行期间真正改变状态。与可以在流执行期间通过测试在运行时更改的流标志相反。
if/unless_job是一个类似的用户标志,旨在指示测试流程中的插入(例如晶圆测试 1、晶圆测试 2 等),并受到泰瑞达平台上同名的列/属性的启发。在 V93K 上,它会生成一个名为@JOB.
您拥有的三种不同类型的控件是:
if/unless_job- 用于对测试插入名称进行建模,通常此命名是您希望所有测试模块都同意的名称 - 您实际上不能为此具有模块特定的值。例如WT1, WT2, FTR,FTH等。
if/unless_enable- 在流程开始时设置选项开关以启用/禁用流程的不同部分。这些可以是非常特定于特定测试模块的,也可以是整个流程通用的,或者两者兼而有之。例如SAMPLES,TTR等SRAM_CZ。
if/unless_flag- 响应可以在运行时更改的标志,通常取决于特定测试的结果。
最后,启用通常由测试平台控制器软件设置,或者可以在流程本身内设置,具体取决于平台和本地约定。
如果您想在流程本身中启用/禁用这些标志,那么 Origen 提供以下 API:
enable :samples
if_enable :samples do
test :test1 # Will be hit due to the samples flag being set
end
disable :samples
if_enable :samples do
test :test1 # Now it won't be
end