马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有账号?注册
x
大家好:
请教一个verilog调用子模块时parameter的传递问题,如果顶层模块和子模块之间的parameter不一致,以那个为准?
具体如下:
比如在top文件中,调用一个子模块,使用parameter进行参数传递,如下:
Infrastructure-3 instantiation
infrastructure #
(
.C_INCLK_PERIOD (1),
.C_RST_ACT_LOW (2),
.C_INPUT_CLK_TYPE (3),
.C_CLKOUT0_DIVIDE (4),
.C_CLKOUT1_DIVIDE (5),
.C_CLKOUT2_DIVIDE (6),
)
子模块中的开头是这么写的:
module infrastructure #
(
parameter C_INCLK_PERIOD = 1,
parameter C_RST_ACT_LOW = 1,
parameter C_INPUT_CLK_TYPE = 1,
parameter C_CLKOUT0_DIVIDE = 1,
parameter C_CLKOUT1_DIVIDE = 1,
parameter C_CLKOUT2_DIVIDE = 1,
)
可以看到顶层和被调用模块并不一致,那么以那个为准? |