2017-09-06 44 views
0

Origen拥有modes用于顶级DUT和IP。但是,模式API不允许随意定义属性的灵活性。有预先定义的属性,其中一些属性(例如typ_voltage)特定于特定公司或设备。参数集上下文和模型模式之间的关系?

相反,Parameters module确实允许在“上下文”内创建灵活的参数/属性定义。芯片“模式”和参数“上下文”之间的概念区别究竟是什么?他们都要求用户设置它们。

add_mode :mymode do |m| 
    m.typ_voltage = 1.0.V 
    # I believe I am limited to what I can define here 
end 

define_params :mycontext do |params| 
    params.i.can.put.whatever.i.want = 'bdedkje' 
end 

它们都包含看起来在功能上类似的方法with_modeswith_params。为什么不让模式属性像更灵活的params API一样工作?

THX

+0

不明白你在问什么,你能否详细说明一下? – Ginty

+0

根据要求更新了原始问题 –

回答

1

如果能够任意命名的属性添加到模式似乎是一个好主意,我,但你是正确的,它不支持今天。

没有特别的原因,除了没有人看到它需要它,但是接受PR来添加它没有问题。

理想情况下,在实现这一点时,最好通过一个模块进行尝试,然后将模块包含到其他类中以提供相同的功能,例如给引脚,位等等相同的能力。

+0

感谢Ginty。你认为实际使用Parameter:Sets来存储任何模型使用这个新模块的属性是可以的吗?即通过在对象模式和参数上下文中使用相同的ID,将属性处理委托给Paramter :: Set。 –

+0

不要以为我会直接使用这个参数API,它们应该是不同的东西。您真的希望寻找一种AdHocAttributes功能添加到模式对象中,所以我希望创建这样一个模块,然后将其与我们想要类似功能的生态系统中的其他对象混合。 – Ginty

+0

你可以勾画出你看到的api吗?这会帮助我开始。谢谢 –

相关问题