Verilog语法无法理解
Verilog Syntax unable to understand
有人可以帮我理解以下代码中的 #(.LENGTH(`REG_FILE_ADDR_LEN))
是什么意思吗?另外,这段代码可以合成吗?
假设我们已经定义了 REG_FILE_ADDR_LEN = 32.
mux #(.LENGTH(`REG_FILE_ADDR_LEN)) mux_src2 (
.in1(instruction[15:11]),
.in2(instruction[25:21]),
.sel(ST_or_BNE),
.out(src2_reg_file)
);
定义模块时,可以定义参数,例如:
module mux #(
parameter LENGTH = <some default value>
)
(
/** ports **/
);
/** implementation **/
endmodule;
实例化该模块时,您可以覆盖默认参数。在您的情况下,您将用 32 覆盖 LENGTH
。例如,您可以在该模块的端口或局部变量中使用参数。
是的。它是可合成的。
有人可以帮我理解以下代码中的 #(.LENGTH(`REG_FILE_ADDR_LEN))
是什么意思吗?另外,这段代码可以合成吗?
假设我们已经定义了 REG_FILE_ADDR_LEN = 32.
mux #(.LENGTH(`REG_FILE_ADDR_LEN)) mux_src2 (
.in1(instruction[15:11]),
.in2(instruction[25:21]),
.sel(ST_or_BNE),
.out(src2_reg_file)
);
定义模块时,可以定义参数,例如:
module mux #(
parameter LENGTH = <some default value>
)
(
/** ports **/
);
/** implementation **/
endmodule;
实例化该模块时,您可以覆盖默认参数。在您的情况下,您将用 32 覆盖 LENGTH
。例如,您可以在该模块的端口或局部变量中使用参数。
是的。它是可合成的。