0

根据先前测试的结果,我在条件流分支方面遇到了一些问题。如果第一个测试失败,此流程代码旨在生成一个备用测试点:

  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
4

1 回答 1

0

很确定您在界面中的 bit 方法在生成流条目时没有传递选项。

你可能有类似的东西:

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
于 2017-09-08T23:00:58.453 回答