1

我正在使用这个文档指南来实例化 IP 块的多个实例。

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

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

谢谢

4

1 回答 1

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 中。

于 2017-12-18T10:02:29.513 回答