是否存在基于Origen中变量值的等效OR逻辑?

时间:2019-07-12 02:23:17

标签: origen-sdk

我正在研究Verigy 93K测试程序,我有一个逻辑,我想知道Origen中是否有等效代码。

我正在开发Verigy 93K测试程序,并且我需要将此逻辑(IF条件)插入流程中。 基本上,我有一个名为“ INSERTION”的变量,它将具有不同的值,例如“ GCORR”,“ VCORR”和其他值。

我想知道Origen中是否有类似的代码。

我附上了一张快照,希望它可以帮助我进一步阐明问题。

在这种逻辑下,我想检查INSERTION值,如果该值不等于GCORR或VCORR,则逻辑应该通过,否则失败。

这是屏幕截图: screenshot

2 个答案:

答案 0 :(得分:0)

This pull-request为此添加了一个官方API。

此示例将实现为:

whenever_any ne(:INSERTION, 'GCORR'), ne(:INSERTION, 'VCORR') do

  # Your tests in here   

end

这将产生逻辑上等效的东西,并且可以将其重新定位到其他平台。

如果您不关心此事,并且想要完全按照上面的示例中的说明进行生产,那么这也应该起作用(其中OR是针对V93K语法进行硬编码的):

whenever ne(:INSERTION, 'GCORR|VCORR') do

  # Your tests in here   

end

以下是上述PR中的此功能的初步文档-https://github.com/Origen-SDK/origen_testers/blob/66345c9422d9fa6b2577af20110259e45c2bdd26/templates/origen_guides/program/flowapi.md.erb#L71

答案 1 :(得分:-1)

在“ if / unless_enable”支持之外,我无法找到对流控制或变量值的api支持,这可以帮助检查1或0。一种方法是使用渲染。

render 'if @INSERTION != "GCORR|VCORR" then' 
render '{'
    # your code for non-GCORR_VCORR flow    
render "} \n else \n { \n } "