通过';生成';在verilog中实例化模块时的语句

通过';生成';在verilog中实例化模块时的语句,verilog,system-verilog,xilinx,hdl,synthesis,Verilog,System Verilog,Xilinx,Hdl,Synthesis,我有一段verilog代码,我正在尝试合成它。里面有一条线 MUX2B_XB gas34 ( notPropSig, OECin, generate, notCoutSig ); 实例化一个模块。其中,模块实现了一个简单的布尔逻辑。但是,合成器给出了一个错误: “生成”附近的语法错误 我无法理解在实例化时在此上下文中使用“generate”语句,以及如何在不影响预期功能的情况下解决错误。您似乎试图使用generate作为变量名,并将该变量连接到模块的第三个端口。但是,generate是一个Ve

我有一段verilog代码,我正在尝试合成它。里面有一条线

MUX2B_XB gas34 ( notPropSig, OECin, generate, notCoutSig );
实例化一个模块。其中,模块实现了一个简单的布尔逻辑。但是,合成器给出了一个错误:

“生成”附近的语法错误


我无法理解在实例化时在此上下文中使用“generate”语句,以及如何在不影响预期功能的情况下解决错误。

您似乎试图使用
generate
作为变量名,并将该变量连接到模块的第三个端口。但是,
generate
是一个Verilog关键字,不能用作变量名(另一个示例是尝试将
始终
用作变量,如
逻辑[1:0]始终;
,不能将此类关键字用作变量名)。您只需更改该变量的名称:

logic gen; // Or whatever the type and width of this line should be
...
MUX2B_XB gas34(notPropSig, OECin, gen, notCoutSig);

如果您实际需要使用
generate
构造什么,则需要提供更多上下文,以便我们提供帮助。

您似乎试图使用
generate
作为变量名,并将该变量连接到模块的第三个端口。但是,
generate
是一个Verilog关键字,不能用作变量名(另一个示例是尝试将
始终
用作变量,如
逻辑[1:0]始终;
,不能将此类关键字用作变量名)。您只需更改该变量的名称:

logic gen; // Or whatever the type and width of this line should be
...
MUX2B_XB gas34(notPropSig, OECin, gen, notCoutSig);
如果您实际需要使用
生成
构造什么,则需要提供更多上下文,以便我们提供帮助