灰尘驾车 2022-08-01 14:50 采纳率: 71.4%
浏览 33
已结题

一百位二进制加法器verilog

下面代码一直有问题。for语句那块一直让我加分号

module top_module(
input [99:0] a, b,
input cin,
output reg [99:-1] cout,
output reg [99:0] sum );
wire [99:0] cmiddle;
always@(*)begin:adder
cout[-1]=cin;
for(i=0;i<100;i=i+1);
begin
add1 instancei(.a(a[i]),.b(b[i]),.cout(cout[i]),.cin(cout[i-1]),.sum(sum[i]));
end
end
endmodule

module add1 ( input a, input b, input cin, output sum, output cout );

assign {cout, sum} = a + b + cin;

endmodule

  • 写回答

1条回答 默认 最新

  • 老皮芽子 2022-08-01 15:36
    关注

    语法错误。在 always 里不能例化。

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

问题事件

  • 系统已结题 8月9日
  • 已采纳回答 8月1日
  • 创建了问题 8月1日