0

我们已经改进了我们的 Origen 用法,以便我们为每个测试模块(scan、mbist 等)提供一个 params 文件和一个流文件。现在,我们需要在处理 DUT 模型和测试流程生成时考虑测试插入。我可以在这里看到,使用作业标志是在流文件中指定测试插入细节的首选方法。该视频展示了如何在模拟测试流程时指定测试插入。我的问题是如何在不生成流时指定测试插入,只将参数文件加载到 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,以便仅加载一些参数集即可访问所选作业?

谢谢

4

1 回答 1

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

于 2018-02-07T09:29:04.740 回答