问题标签 [origen-sdk]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
45 浏览

origen-sdk - 测试程序流生成在测试接口的后续初始化时从主流文件中丢失选项

我通过主流程文件中的选项哈希传递了一些参数:

问题是当调用其他子流时选项不会保持不变。这是第一次调用测试接口时的撬动会话:

但是,这是第二次命中相同断点时的 pry 会话:

我想我有几个问题:

  1. 主要流程选项不应该对子流程保持不变,而不需要对用户进行额外的工作吗?
  2. 为什么要重新初始化接口?似乎每个生成命令应该只发生一次。

提前谢谢

  • 编辑 *

@Ginty,您在回答中说:

就传递到顶级流程的选项而言,实际上并不能保证将它们传递给初始化。相反,如果接口想要拦截它们,则应该创建启动和关闭方法:

但是在文档中,我看到以下内容:

要运行一个接口,它必须实现您的流程将调用的所有方法。还习惯于创建一个初始化方法,该方法将捕获传递给 Flow.create 的任何选项(例如在我们的流示例中将环境声明为探针)。

此外,启动方法看起来像是在接口初始化后运行的回调。在接口完成初始化之前,我使用选项散列传递的信息是必需的。这不是造成下游用户不需要担心的脆弱的运行顺序依赖性吗?问候

0 投票
2 回答
28 浏览

origen-sdk - Any reason Origen::Parameter set contexts are hidden from the user?

Is there any reason the Origen::Parameters sets do not have a public method for retrieving all of the possible set ids? I do see a public method that works, though it isn't named like it is meant to be used publicly. Why is this not more visible?

EDIT

@Ginty, I tried your suggestion but it doesn't return the keys I am looking for. In the first sentence in the Parameter docs, the keys I am looking for are referred to 'parameter contexts'. The reason these would be useful would be to do something like this:

Specifically, I am creating parameter contexts from the information in my flow file and would like to verify that they exist before trying to access them. Essentially it is a handshake between my test flow and the test method parameters I am storing using unique (hopefully) parameter IDs/contexts.

thx

0 投票
1 回答
12 浏览

origen-sdk - Origen Pin 模型具有供应属性但没有基础供应模型?

我可以看到 Origen 引脚模型有一个 ' supply ' 方法,但我没有看到底层的 Supply 类。这种供应方法真的只是用于分组/迭代目的吗?有没有人用于自动创建 ATE 级别?

谢谢

0 投票
1 回答
20 浏览

origen-sdk - 如何补充 Origen 命令的功能?

我查看了有关添加覆盖命令的 Origen 文档,除了 -d 之外没有看到任何禁止覆盖的 origen 命令。但是,当我尝试覆盖目标命令时,我没有看到 Origen 执行与执行命令时相同的操作。这是我设定目标时的期望:

当我对覆盖的命令执行相同操作时,目标不会改变。这是我覆盖的目标命令:

我认为“退出 0”代码将确保 ARGV 返回到 Origen 以完成目标命令,但似乎什么也没做。

谢谢

0 投票
2 回答
32 浏览

origen-sdk - 将参数传递给非硅子块/助手的约定

抱歉,如果标题有点令人困惑,但是 Origen 提供哪些选项/约定来设置不一定是硅模型或只是一般助手的子块?

例如,我有一个扫描助手插件,可以指导用户创建扫描测试程序。我想将选项/自定义列表添加到顶级应用程序。有几种方法可以做到这一点:

  1. 我可以添加 attr_readers/methods 列表。我认为这看起来有点难看,并且在顶层添加了一些其他任何东西都没有使用的东西,并且它炸毁了 $dut.methods。

  2. 我可以使用此处定义的参数:http: //origen-sdk.org/origen/guides/models/parameters/并在扫描测试仪应用程序中调用它们。但是查看指南,我认为这不是所需的用例。它看起来更像是上下文切换,但也许这只是示例用例。

  3. 我可以在顶层添加一个 scan_tester.setup 方法或其他东西。这似乎是不必要的,因为它基本上与#2 做同样的事情,但需要调用一个“设置”方法。是的,它只有 1 行,但如果你搞砸了或忘记添加那行,那么你需要通过 #2 避免一些调试(例如,如果没有提供扫描参数来帮助警告,我可以打印一个警告错别字等)。

  4. 我可以将它设置为一个子块(目前我是如何得到它的),但这并不适合。扫描不是硅模型,因此基地址没用,但需要。它没有寄存器等。

然后还有其他我可以做的“Ruby”事情(通过 on_create 设置,使用全局变量等),但由于某种原因,这些似乎都不如上述任何选项好(主要是,我需要更多的设置而不是使用任何现有选项)。

这些中的任何一个都可以。但从惯例的角度来看,我的扫描测试仪设置应该朝哪个方向发展?还有其他我没有考虑过的选择吗?我倾向于选项#2,因为它看起来最干净。

谢谢

0 投票
1 回答
26 浏览

origen-sdk - 澄清输出和参考文件的目录结构

在默认的 config/application.rb 文件中,有一些注释可以用来说明。具体来说,它说“通常您希望设置参考目录结构以反映您的输出结构的结构”。

在输出目录和参考目录之间没有镜像结构的实际后果是什么?

谢谢

0 投票
1 回答
23 浏览

origen-sdk - Origen 是否支持寄存器别名?

您可以在 Origen 中为寄存器添加别名吗?类似于引脚别名的工作方式?

0 投票
2 回答
24 浏览

origen-sdk - 子参数集可以从另一个对象继承吗?

在 Origen::Parameters文档中,我看到参数集可以从同一范围内的其他参数集继承。我还看到可以将参数上下文设置为跟随另一个对象。我正在寻找的似乎是两个功能的组合:

谢谢

0 投票
1 回答
20 浏览

origen-sdk - 检查中的位域宽度

目前正在从事一个项目,我为我的寄存器导入的数据具有很长的位域名称。检查当前的“13”宽度限制使寄存器完全不可读,因为前 13 个字符是相同的。

我在 reg.rb 上进行了黑客攻击,仅通过用 4 替换所有 8 来报告半字节而不是字节的检查。如果没有更好的想法,如果位宽大于 13,我将尝试添加一些东西来自动执行此操作。

想法?

0 投票
1 回答
36 浏览

origen-sdk - 测试程序文档 API 之间的差异(cc、pp、group、#)

查看Origen 测试程序文档创建指南,我仍然有几个问题:

  1. 'cc' 和在测试前使用注释 (#) 有什么区别?
  2. 'pp' 只是一个文档分组(即与 :group 不同)吗?
  3. 使用 Flow :group 方法时,是否会自动创建文档组?

谢谢