麻烦一下 我用下面的代码实现(a1+b1)+(x1*y1),主要是想编小代码,熟悉一下基本的语法。但怎么功能仿真不对呢 麻烦高手给我看一下
module alldesign(a1,b1,x1,y1,out);//want to design (a1+b1)+x1*y1
input [2:0] a1,b1,x1,y1;
output [5:0] out;
wire [5:0] out;
wire [3:0] temp1; wire [5:0] temp2;
design1 my1(.a(a1),.b(b1),.c(temp1));
design2 my2(.x(b1),.y(y1),.z(temp2));
assign out[5:0]=temp1[3:0]+temp2[5:0];
endmodule
module design1(a,b,c);
input [2:0] a,b;
output [3:0] c;
reg [3:0] c;
always @(a,b)
c[3:0]=a[2:0]+b[2:0];
endmodule
module design2(x,y,z);
input [2:0] x,y;
output [5:0] z;
reg [5:0] z;
always @(x,y)
z[5:0]=x[2:0]*y[2:0];
endmodule
下面是仿真结果
0 a1=0,b1=0,x1=0,y1=0,out= 0
# 5 a1=2,b1=1,x1=1,y1=3,out= 6
# 10 a1=2,b1=4,x1=4,y1=3,out=18
# 15 a1=3,b1=3,x1=3,y1=3,out=15
# 20 a1=2,b1=5,x1=3,y1=3,out=22
# 25 a1=2,b1=4,x1=2,y1=1,out=10
# 30 a1=6,b1=6,x1=2,y1=3,out=30
# 35 a1=2,b1=5,x1=7,y1=1,out=12 |