我正在使用这个文档指南来实例化 IP 块的多个实例。
sub_blocks :core_pll, class_name: 'CORE_PLL', instances: 7
当我检查 DUT 模型中的 sub_blocks 时,我看到 Origen 在实例名称中从 0 到 6 递增。有没有办法提供自定义名称列表来覆盖编号?我知道我可以单独实例化每个,只是想知道是否有另一种方法。
谢谢
我正在使用这个文档指南来实例化 IP 块的多个实例。
sub_blocks :core_pll, class_name: 'CORE_PLL', instances: 7
当我检查 DUT 模型中的 sub_blocks 时,我看到 Origen 在实例名称中从 0 到 6 递增。有没有办法提供自定义名称列表来覆盖编号?我知道我可以单独实例化每个,只是想知道是否有另一种方法。
谢谢
不是现在。
这是使用原生 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 中。