【问题标题】:passing 'generate' statement while instantiating a module in verilog在verilog中实例化模块时传递“生成”语句
【发布时间】:2015-10-24 10:46:24
【问题描述】:

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

MUX2B_XB gas34 ( notPropSig, OECin, generate, notCoutSig );

实例化一个模块。其中,模块实现了一个简单的布尔逻辑。但是,合成器报错:

“生成”附近的语法错误。

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

【问题讨论】:

    标签: verilog system-verilog xilinx hdl synthesis


    【解决方案1】:

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

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

    如果您真的要使用 generate 构造来做某事,您需要提供更多上下文以便我们提供帮助。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多