-1

当我合成下面的代码块时,mypfx生成块的名称不会显示在推断的寄存器名称中。我希望看到寄存器名称看起来像some_hierarchy_prefix/mypfx_0_test_latch_i,但我看到了some_hierarchy_prefix/test_latch_0_。为什么会这样,我如何重新编码以mypfx显示在寄存器名称中?

logic [31:0] test_latch [31:0];
logic [31:0] test_data;
logic clock;

generate
  for(i = 0; i < 32; i++) begin : mypfx
    always_latch
     begin
        if (clock) test_latch[i] <= test_data;
      end     
  end : mypfx
endgenerate
4

1 回答 1

0

由于两个原因,mypfx 不需要成为实例名称的一部分:

  1. 它可以在不使用 mypfx 前缀的情况下唯一标识 32 个 test_latch 实例
  2. test_latch 上没有定义特定的命名规则来以特定方式重命名它

您可以执行以下操作以使 mypfx 成为实例名称的一部分

logic [31:0] test_latch;
logic [31:0] test_data;
logic clock;
generate
  for(i = 0; i < 32; i++) begin : mypfx
    always_latch
     begin
        if (clock) test_latch <= test_data;
     end     
  end : mypfx
endgenerate
于 2013-09-24T06:38:36.170 回答