SystemVerilog 实例化模块时,如何将输出连接到多维总线的每条导线

问题描述 投票:0回答:1

假设我有多维巴士

wire logic [7:0]example_bus[60] [16][4];

模块有输出

output logic [7:0]example_out[16][4];

如何将 example_out 分配给 example_bus 中的所有 60 条电线?

我知道如何将其分配给单独的电线。

example_mod example_mod1(
.example_out(example_bus[0]));

但是我不知道如何将输出分配给整个总线。

我考虑过使用单独的分配,但我发现这通常会导致计时问题。

multidimensional-array system-verilog instantiation
1个回答
0
投票

您可以使用分配模式来使分配更简单

  wire logic [7:0] example_bus[60] [16][4];
  wire logic [7:0] example_temp [16][4];
  
  example_mod example_mod1(
    .example_out(example_temp)
                  );
  assign example_bus = '{default:example_temp};

但这不会改变

example_out
中的每根线在
example_bus
中扇出 60 根线的事实。

© www.soinside.com 2019 - 2024. All rights reserved.