我在基于先前测试结果的条件流分支方面遇到了一些麻烦。如果第一次测试失败,则此流代码旨在生成回退测试点:
bist :cpu, ip: :L2, testmode: :speed, cond: :pmin, id: :cpu_pmin
bist :cpu, ip: :L2, testmode: :speed, cond: :pmax, if_failed: :cpu_pmin
使用origen用此代码渲染流程会生成两个连续的测试,没有分支:
run(cpu_L2_speed_pmin_95CE6EC);
run(cpu_L2_speed_pmax_95CE6EC);
当我使用附加到组的ID时,这似乎可以正常工作,但不是单独的测试。
如果我通过调用bin来替换第二个测试调用,则会出现错误:
bist :cpu, ip: :L2, testmode: :speed, cond: :pmin, id: :cpu_pmin
bin 10, if_failed: :cpu_pmin
产生错误消息:
[ERROR] 1.464[0.927] || Test ID cpu_pmin is referenced in flow func in the following lines, but it is never defined:
[ERROR] 1.465[0.000] || /<origen_pathname>/program/func.rb:41
答案 0 :(得分:0)
非常确定界面中的bist方法在生成流条目时没有传递选项。
你可能有类似的东西:
flow.test(my_test_suite)
但您需要让流量生成器了解:id
,:if_failed
以及正在使用的任何其他流量控制选项。这可能会这样做:
flow.test(my_test_suite, options)
如果您将接口方法从等式中取出一分钟并更改为此,那么您应该看到它正常工作:
flow.test :cpu, ip: :L2, testmode: :speed, cond: :pmin, id: :cpu_pmin
flow.test :cpu, ip: :L2, testmode: :speed, cond: :pmax, if_failed: :cpu_pmin