Origen: Problems with flow branching using test ids

匿名 (未验证) 提交于 2019-12-03 02:38:01

问题:

I'm having some trouble with conditional flow branching based on the result of a previous test. This flow code is intended generate a fall-back test point if the first test fails:

  bist :cpu, ip: :L2, testmode: :speed, cond: :pmin, id: :cpu_pmin   bist :cpu, ip: :L2, testmode: :speed, cond: :pmax, if_failed: :cpu_pmin 

Using origen to render the flow with this code generates two consecutive tests with no branching:

  run(cpu_L2_speed_pmin_95CE6EC);   run(cpu_L2_speed_pmax_95CE6EC); 

This does appear to work correctly when I use an id attached to a group, but not an individual test.

If I replace the second test call with a call to bin instead, I get an error:

  bist :cpu, ip: :L2, testmode: :speed, cond: :pmin, id: :cpu_pmin   bin 10, if_failed: :cpu_pmin 

produces the error message:

[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:

Pretty sure your bist method in the interface is not passing the options along when it is generating the flow entry.

You probably have something like:

flow.test(my_test_suite) 

but you need to let the flow generator know about the :id, :if_failed and any other flow control options which are in play. This will probably do it:

flow.test(my_test_suite, options) 

If you were to take your interface method out of the equation for a minute and change to this, then you should see it working:

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 


标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!