Origen:使用测试ID进行流分支的问题

时间:2017-09-08 22:49:32

标签: origen-sdk

我在基于先前测试结果的条件流分支方面遇到了一些麻烦。如果第一次测试失败,则此流代码旨在生成回退测试点:

  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

1 个答案:

答案 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