在DUT模型中设置当前测试插入

时间:2018-02-06 13:25:30

标签: origen-sdk

我们已经进化了我们的Origen用法,因此我们有一个params文件和每个测试模块的流文件(scan,mbist等)。在处理DUT模型和测试流生成时,我们现在需要考虑插入测试。我可以看到here使用作业标志是在流文件中指定测试插入细节的首选方法。此video显示了在模拟测试流时如何指定测试插入。我的问题是如何在不生成流时指定测试插入,只将params文件加载到DUT模型中?使用此参数集定义扫描/ ATPG测试模块的某些测试条件。

  scan.define_params :test_flows do |p|
    p.flows.ws1.chain = [:vmin, :vmax]
    p.flows.ft1.chain = [:vmin, :vmax]
    p.flows.ws1.logic = [:vmin, :vmax]
    p.flows.ft1.logic = [:vmin]
    p.flows.ws1.delay = [:pmax]
    p.flows.ft1.delay = [:pmin]
  end

您可以在参数集层次结构中看到定义了两个测试插入:'ws1'和'ft1'。我是否正确地假设--job选项仅在与origen testers:run命令一起使用时才在某处设置标志?或者可以将此选项应用于origen i,这样只需加载一些参数集就可以访问所选的作业吗?

THX

1 个答案:

答案 0 :(得分:1)

没有内置的方法可以在这里做你想做的事情,但鉴于你在这个例子中使用参数,我将这样做的方法是将参数上下文与作业名称对齐:

scan.define_params :ws1 do |p|
  p.flows.chain = [:vmin, :vmax]
  p.flows.logic = [:vmin, :vmax]
  p.flows.delay = [:pmax]
end

scan.define_params :ft1 do |p|
  p.flows.chain = [:vmin, :vmax]
  p.flows.logic = [:vmin]
  p.flows.delay = [:pmin]
end

有多种方法可以实际设置当前上下文,一种方法是为每个作业设置目标:

# target/ws1.rb
MyDUT.new
dut.params = :ws1

# target/ft1.rb
MyDUT.new
dut.params = :ft1

这里假设扫描对象配置为跟踪顶级DUT的上下文 - http://origen-sdk.org/origen//guides/models/parameters/#Tracking_the_Context_of_Another_Object