问题遇到的现象和发生背景
Error (10839): Verilog HDL error at _0000_1bit_adder_ga.v(1): declaring nested module declarations is a SystemVerilog feature
内嵌模块无法声明,未知原因。
此模块可单独运行,但不能作为子模块被调用
注:两模块为不同文件
用代码块功能插入代码,请勿粘贴截图
//主模块,由一位加法器构成的二位加法器
module _0000_2bit_adder_st(a, b, ci, s, co);
`include "_0000_1bit_adder_ga.v"
input wire[1:0] a;
input wire[1:0] b;//a为被加数, b为加数
input ci;//进位输入
output co;//进位输出
output [1:0] s;//2位二进制数相加的和
wire cl;
_0000_1bit_adder_ga adder1(.X(a[0]), .Y(b[0]), .CIN(ci), .S(s[0]), .COUT(cl)),
adder2(.X(a[1]), .Y(b[1]), .CIN(cl), .S(s[1]), .COUT(co));
endmodule
//子模块,一位加法器
//X,Y为(被)加数;CIN为进位输入;S为和;COUT为进位输出
module _0000_1bit_adder_ga(X, Y, CIN, S, COUT);
input X, Y, CIN;
output S, COUT;
wire A, B1, B2, B3;
xor(A, X, Y);
xor(S, A, CIN);//输出至S
and(B1, X, CIN);
and(B2, Y, CIN);
and(B3, X, Y);
or(COUT, B1, B2, B3);//输出至COUT
endmodule
//门级描述
运行结果及报错内容
运行错误如下:
Error (10839): Verilog HDL error at _0000_1bit_adder_ga.v(1): declaring nested module declarations is a SystemVerilog feature
我的解答思路和尝试过的方法
多次更改声明方式无果,不知错误原因
望解惑