直接从Verigy导入测试方法定义时,我会看到以下参数类型:
[:string, :ContextPins, :int, :double, :PinString, :SpecValue, :SpecVariable, :OptionList, :long, :bool]
但是,origen-sdk docs显示以下类型是可以接受的:
# The type can be :string, :current, :voltage, :time, :frequency, or :integer
某些Verigy类型可以轻松转换为:string (:ContextPins, :PinString, :OptionList, :SpecVariable)
,:int
可以转换为:integer
,但其余类型需要评估参数本身的意图(即这:double value
一个:frequency
还是:voltage
?)。有没有办法绕过这种评估?如果没有,似乎以下类型可能有用:
[:float, :bignum, :bool]
答案 0 :(得分:0)
一般来说,在我们生成程序时,变量的类型并不重要。在大多数情况下,变量最终会在测试流源文件中表示为字符串:
tm_10:
"arg1" = "0";
"arg2" = "some_pin";
"arg3" = "1.523"
最初创建测试方法定义API是为了能够定义Advantest提供的内置AC和DC测试方法库。这些方法的一些参数使用了测试流文件中的单位,例如
"arg1" = "0A";
"arg2" = "some_pin";
"arg3" = "1.523V"
因此添加了:voltage
和:current
等类型来支持它。
但是,我不确定我是否曾尝试过检查这些是否真的需要,也许它们被丢弃了,它们等同于Origen的基本单位方法:10.V == 10 # => true
。
我建议您现在只为所有内容选择:string
类型,看它是否有效。
如果没有,您可以在此处添加其他类型:https://github.com/Origen-SDK/origen_testers/blob/5b89bf287b3d307bd6708c878666f3609a5fd3af/lib/origen_testers/smartest_based_tester/base/test_method.rb#L5(看起来我们已经有:double
,但文档中没有提及它。
然后,您可以在此处定义如何在测试流文件中格式化新类型:https://github.com/Origen-SDK/origen_testers/blob/5b89bf287b3d307bd6708c878666f3609a5fd3af/lib/origen_testers/smartest_based_tester/base/test_method.rb#L88