是否允许在系统verilog中实例化always_comb块内的模块?

时间:2016-05-17 08:03:56

标签: verilog system-verilog

是否允许在系统verilog中实例化always_comb begin OR OR1 (.Y(A), .A(Z), end 块内的模块?

FreeRTOS\Source\portable\RVDS\ARM_CM4F\

1 个答案:

答案 0 :(得分:5)

首先,您的代码不完整。显然,双输入 或门需要三个连接。

在verilog中,当您实例化模块时,这意味着您要向主板添加额外的硬件

在模拟开始之前必须添加 (即在编译时)。在这里,您无法在每个时钟脉冲添加/删除硬件。

实例化后,模块将执行/检查模拟的每个时间戳,直到结束。

因此,要执行任何模块,只需实例化它,为其提供所需的输入(并在必要时在子模块中添加always块)。

// Simply instantiate module
OR OR1 (.Y(A), .A(Z), .B(M));

无论哪种方式,您都可以将组合块添加到当前模块本身:

// Directly use ORing
always_comb begin
  A = Z | M;
end

可以从Verilog Module InstantiationInstantiating Modules and PrimitivesStructural Modelling链接获取有关实例化的更多信息。