是否允许在系统verilog中实例化always_comb
begin
OR OR1 (.Y(A), .A(Z),
end
块内的模块?
FreeRTOS\Source\portable\RVDS\ARM_CM4F\
答案 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 Instantiation,Instantiating Modules and Primitives,Structural Modelling链接获取有关实例化的更多信息。