Verilog生成语句问题

Verilog生成语句问题,verilog,Verilog,我试图在Verilog中使用生成函数。代码编译成功,但无法模拟。我得到以下错误: Illegal output or inout port connection for "port 'sum'". Illegal output or inout port connection for "port 'carry'". 谁能告诉我我做错了什么 module test(input wire [2:0] a, input wire [2:0] b, output re

我试图在Verilog中使用
生成
函数。代码编译成功,但无法模拟。我得到以下错误:

Illegal output or inout port connection for "port 'sum'".
Illegal output or inout port connection for "port 'carry'".
谁能告诉我我做错了什么

module test(input wire [2:0] a, 
        input wire [2:0] b,
        output reg [2:0] s,
        output reg [2:0] c);

genvar i;
generate 
for(i=0;i<3;i=i+1)
    adder_half inst(.sum(s[i]),.carry(c[i]),.a(a[i]),.b(b[i]));
endgenerate 

endmodule

module adder_half(
  output sum,carry,
  input a,b
    );
 xor(sum,a,b);
 and(carry,a,b);

endmodule
模块测试(输入线[2:0]a,
输入线[2:0]b,
输出寄存器[2:0]s,
输出调节器[2:0]c);
genvar i;
生成

对于(i=0;i而言,
reg
类型仅用于过程赋值,但实例连接更像是连续赋值

从输出中删除
reg
关键字。更改:

    output reg [2:0] s,
    output reg [2:0] c);
致:


reg
类型仅用于过程赋值,但实例连接更像是连续赋值

从输出中删除
reg
关键字。更改:

    output reg [2:0] s,
    output reg [2:0] c);
致:


reg
类型仅用于过程赋值,但实例连接更像是连续赋值

从输出中删除
reg
关键字。更改:

    output reg [2:0] s,
    output reg [2:0] c);
致:


reg
类型仅用于过程赋值,但实例连接更像是连续赋值

从输出中删除
reg
关键字。更改:

    output reg [2:0] s,
    output reg [2:0] c);
致:


我没有做一个,我直接使用了该工具的(ModelSim)模拟选项。我将加法器输出类型更改为reg,但仍然得到相同的错误。模块加法器半(输出reg和,进位,输入a,b);始终@(*)begin sum=a^b;carry=a&b;end end MODULESORRY我的错误,感谢它开始工作,但我不应该在块内使用reg类型(这里是它的生成块)该类型仅与当前模块相关。
reg
的输出连接到下一层次结构的
wire
。我没有制作,我直接使用了工具的(ModelSim)模拟选项。我将加法器输出类型更改为reg,但仍然得到相同的错误。模块加法器(输出reg和、进位、输入a、b);always@(*)begin sum=a^b;carry=a&b;end end MODULESORRY我的错误,感谢它开始工作,但我不应该在块内使用reg类型(这里是它的生成块)该类型仅与当前模块相关。
reg
的输出连接到下一层次结构的
wire
。我没有制作,我直接使用了工具的(ModelSim)模拟选项。我将加法器输出类型更改为reg,但仍然得到相同的错误。模块加法器(输出reg和、进位、输入a、b);always@(*)begin sum=a^b;carry=a&b;end end MODULESORRY我的错误,感谢它开始工作,但我不应该在块内使用reg类型(这里是它的生成块)该类型仅与当前模块相关。
reg
的输出连接到下一层次结构的
wire
。我没有制作,我直接使用了工具的(ModelSim)模拟选项。我将加法器输出类型更改为reg,但仍然得到相同的错误。模块加法器(输出reg和、进位、输入a、b);always@(*)begin sum=a^b;carry=a&b;end EndModules抱歉,感谢它开始工作,但我不应该在块内使用reg类型(此处为其生成块)。该类型仅与当前模块相关。
reg
的输出连接到层次结构下一级的
wire