我无法在我的 Verilog 代码中处理此错误:“错误:格式错误的语句”

穆罕默德·萨拉赫

“main.v:38:错误:格式错误的语句”。在加法器模块中调用

我想在 Verilog 中实现 ALU,但我得到了这个错误。

甚至 StackOverflow 上一个问题也帮不了我。

module Adder(A, B, Cin, S, Cout);
  input A, B, Cin;
  output reg S, Cout;
  
  always @(*)
    begin
      S = (A ^ B) ^ Cin;
      Cout = (A & B) | (A & Cin) | (B & Cin);
    end
endmodule

module ALU(op1, op2, opCode, Cin, Res, cFlag, zFlag, oFlag);
  input [31 : 0] op1, op2;
  input [3 : 0] opCode;
  input Cin;
  output [31 : 0] Res;
  output cFlag, zFlag, oFlag;
  integer i;
  
  wire Cout;
  
  always @(*) begin
      if(opCode == 4'b1001) begin
        for(i = 0; i < 32; i = i + 1) begin
           Adder adder(op1[i], op2[i], Cin, Res[i], Cout);
           case(Cout)
            1'b1 : Cin = 1'b1;
            1'b0 : Cin = 1'b0;
           endcase
        end
      end
    end
endmodule
迈克夫

模块不能在 always 块中实例化。如果您需要一个模块的多个实例,请使用带有 for 循环的生成。您可以完全实例化模块而无需循环。我可能首先使用两个模块来完成此操作以使其正常工作,然后进行更改以获得设计所需的数字(在本例中为 32)。

所有模块都在仿真的细化阶段静态实例化,仅一次,并且在 t=0 之前的时间。没有动态创建模块。

您可能会发现这有助于解决此问题和类似问题:
https
://www.amiq.com/consulting/2014/10/01/what-goes-where-in-systemverilog/始终块不是此问题的“容器”图表。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

我在Android中收到错误“无法到达的语句”返回

此改装代码可能出现什么错误?我无法理解我的API和MOBILE的联系

Flask&Tweepy-我无法处理错误

adapter.setOnClickItemListener((ImageAdapter.OnItemClickListener)getActivity()); 此代码生成错误,我无法解决错误

Verilog未签名的非还原部门。语法错误:“我放弃” Icarus Verilog

无法解决我的TCP服务器代码中的此错误

Verilog中的2对1多路复用器因无法绑定case语句而给出错误?

我无法解决xcode5.0.2中的此错误

如何在我的haskell代码中更正此错误:

Verilog多维reg错误

我无法发现逻辑错误

无法捕获我的mysql错误

Verilog GCD执行错误

Verilog编码错误

我在代码中收到无法解决的符号错误

我无法解决我的错误

无法在我的代码中发现错误:C ++

无法识别我的Reducer联接代码中的错误

我已经为基于FSM的串行加法器电路编写了Verilog代码,但是却遇到某种语法错误

如何在我的作业代码中修复此错误?

我用verilog实现了SIPO移位寄存器,但是出现了未知错误

Verilog 函数 - 无法弄清楚我的错误

“缺少”的错误;我无法解决

System Verilog:我对 $stable 语句感到困惑

我在 Verilog 上的定义中有错误 for

我的“并行到串行”verilog 代码有什么问题

我如何在 Verilog 中编写这个 For 循环

时钟门控 verilog 代码无法正常工作

我在 Verilog 中编写了这段代码,没有错误消息,但它不起作用