. B是两个被例化的模块,实现的功能是a1 a2 a3相加的结果与b相乘 ,其结果赋给z。这三个module你分别写到三个*.v文件即可。希望采纳!
module A(a,b,c,y); //三个数相加的模块
input a;
input b;
input c;
output[1:0] y;
assign y= a+b+c;
endmodule
module B(a,b,y); //两个数相乘的模块
input [1:0]a;
input [1:0]b;
output [3:0]y;
assign y=a*b ;
endmodule
module top(a1,a2,a3,b,z); //顶层模块
input a1,a2,a3;
input [1:0] b;
output [3:0] z;
wire[1:0] temp1;
//例化
A m1(.a(a1),
.b(a2),
.c(a3),
.y(temp1)
);
B m2(.a(temp1),
.b(b),
.y(z)
);
endmodule