问题标签 [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.
origen-sdk - 测试程序流生成在测试接口的后续初始化时从主流文件中丢失选项
我通过主流程文件中的选项哈希传递了一些参数:
问题是当调用其他子流时选项不会保持不变。这是第一次调用测试接口时的撬动会话:
但是,这是第二次命中相同断点时的 pry 会话:
我想我有几个问题:
- 主要流程选项不应该对子流程保持不变,而不需要对用户进行额外的工作吗?
- 为什么要重新初始化接口?似乎每个生成命令应该只发生一次。
提前谢谢
- 编辑 *
@Ginty,您在回答中说:
就传递到顶级流程的选项而言,实际上并不能保证将它们传递给初始化。相反,如果接口想要拦截它们,则应该创建启动和关闭方法:
但是在文档中,我看到以下内容:
要运行一个接口,它必须实现您的流程将调用的所有方法。还习惯于创建一个初始化方法,该方法将捕获传递给 Flow.create 的任何选项(例如在我们的流示例中将环境声明为探针)。
此外,启动方法看起来像是在接口初始化后运行的回调。在接口完成初始化之前,我使用选项散列传递的信息是必需的。这不是造成下游用户不需要担心的脆弱的运行顺序依赖性吗?问候
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
origen-sdk - Origen Pin 模型具有供应属性但没有基础供应模型?
我可以看到 Origen 引脚模型有一个 ' supply ' 方法,但我没有看到底层的 Supply 类。这种供应方法真的只是用于分组/迭代目的吗?有没有人用于自动创建 ATE 级别?
谢谢
origen-sdk - 将参数传递给非硅子块/助手的约定
抱歉,如果标题有点令人困惑,但是 Origen 提供哪些选项/约定来设置不一定是硅模型或只是一般助手的子块?
例如,我有一个扫描助手插件,可以指导用户创建扫描测试程序。我想将选项/自定义列表添加到顶级应用程序。有几种方法可以做到这一点:
我可以添加 attr_readers/methods 列表。我认为这看起来有点难看,并且在顶层添加了一些其他任何东西都没有使用的东西,并且它炸毁了 $dut.methods。
我可以使用此处定义的参数:http: //origen-sdk.org/origen/guides/models/parameters/并在扫描测试仪应用程序中调用它们。但是查看指南,我认为这不是所需的用例。它看起来更像是上下文切换,但也许这只是示例用例。
我可以在顶层添加一个 scan_tester.setup 方法或其他东西。这似乎是不必要的,因为它基本上与#2 做同样的事情,但需要调用一个“设置”方法。是的,它只有 1 行,但如果你搞砸了或忘记添加那行,那么你需要通过 #2 避免一些调试(例如,如果没有提供扫描参数来帮助警告,我可以打印一个警告错别字等)。
我可以将它设置为一个子块(目前我是如何得到它的),但这并不适合。扫描不是硅模型,因此基地址没用,但需要。它没有寄存器等。
然后还有其他我可以做的“Ruby”事情(通过 on_create 设置,使用全局变量等),但由于某种原因,这些似乎都不如上述任何选项好(主要是,我需要更多的设置而不是使用任何现有选项)。
这些中的任何一个都可以。但从惯例的角度来看,我的扫描测试仪设置应该朝哪个方向发展?还有其他我没有考虑过的选择吗?我倾向于选项#2,因为它看起来最干净。
谢谢
origen-sdk - 澄清输出和参考文件的目录结构
在默认的 config/application.rb 文件中,有一些注释可以用来说明。具体来说,它说“通常您希望设置参考目录结构以反映您的输出结构的结构”。
在输出目录和参考目录之间没有镜像结构的实际后果是什么?
谢谢
origen-sdk - Origen 是否支持寄存器别名?
您可以在 Origen 中为寄存器添加别名吗?类似于引脚别名的工作方式?
origen-sdk - 检查中的位域宽度
目前正在从事一个项目,我为我的寄存器导入的数据具有很长的位域名称。检查当前的“13”宽度限制使寄存器完全不可读,因为前 13 个字符是相同的。
我在 reg.rb 上进行了黑客攻击,仅通过用 4 替换所有 8 来报告半字节而不是字节的检查。如果没有更好的想法,如果位宽大于 13,我将尝试添加一些东西来自动执行此操作。
想法?
origen-sdk - 测试程序文档 API 之间的差异(cc、pp、group、#)
查看Origen 测试程序文档创建指南,我仍然有几个问题:
- 'cc' 和在测试前使用注释 (#) 有什么区别?
- 'pp' 只是一个文档分组(即与 :group 不同)吗?
- 使用 Flow :group 方法时,是否会自动创建文档组?
谢谢