在实例化多个sub_block实例时可以提供自定义名称吗?

时间:2017-12-16 17:36:14

标签: origen-sdk

我正在使用此doc guide来实例化IP块的多个实例。

sub_blocks :core_pll, class_name: 'CORE_PLL', instances: 7

当我检查DUT模型中的sub_blocks时,我看到Origen在实例名称中从0-6增加。有没有办法提供自定义名称列表来覆盖编号?我知道我可以单独实例化每一个,只是想知道是否有另一种方式。

THX

1 个答案:

答案 0 :(得分:1)

目前不是。

这是使用原生Ruby功能的一种可能性,这不是太糟糕:

sub_blocks :core_pll, class_name: 'CORE_PLL', instances: 7
# Aliases for the PLL blocks...
def plla; core_pll0; end
def pllb; core_pll1; end
def pllc; core_pll2; end
#...

然后您可以使用替代方法访问者名称:

dut.pllb == dut.core_pll1    # => true

请注意,由于在您首次访问访问者方法之前未生成访问者方法,因此您不能这样做:

alias :pllb :core_pll1

显然,如果您认为值得,可以在sub_block API中构建支持此功能的内容。