FPGA代码MoldelSim仿真时变量全为‘x’

FPGA代码,用两个2-4译码器组成一个3-8译码器,MoldelSim仿真时变量全为‘x’

代码:
module dec3_8(A,B,C,E,Y);
input A,B,C,E;
output[7:0] Y;
reg A1;
wire [3:0]Y1,Y2;
reg [7:0]Y;
dec2_4 d1(
.a(B),
.b(C),
.e(A),
.y(Y1)
);
dec2_4 d2(
.a(B),
.b(C),
.e(A1),
.y(Y2)
);
always A1=~A;
always@(A,B,C,E,Y1,Y2)
begin
if(E==0)
Y<=8'b1111_1111;
else
Y<={Y1[3:0],Y2[3:0]};
end
endmodule

module dec2_4(a,b,e,y);
input a,b;
input e;
output [3:0]y;
reg [3:0]y;
always@(a,b,e)
begin
if(e==0)
y<=4'b1111;
else
begin
case({a,b})
2'b00:y=4'b0111;
2'b01:y=4'b1011;
2'b10:y=4'b1101;
2'b11:y=4'b1110;
endcase
end
end
endmodule

testbench文件:
`timescale 10ns/10ns

module dec3_8_tb;

 reg a;
 reg b;
 reg c;
 reg e;
 
 wire[7:0] out;
 
 dec3_8 dec3_8(
    .A(a),
    .B(b),
    .C(c),
    .E(e),
    .Y(out)
);

initial begin
a=0;b=0;c=0;e=0;
#200;
a=0;b=0;c=1;e=0;
#200;
a=0;b=1;c=0;e=0;
#200;
a=0;b=1;c=1;e=0;
#200;
a=1;b=0;c=0;e=0;
#200;
a=1;b=0;c=1;e=0;
#200;
a=1;b=1;c=1;e=0;
#200;
a=0;b=0;c=0;e=1;
#200;
a=0;b=0;c=1;e=1;
#200;
a=0;b=1;c=0;e=1;
#200;
a=0;b=1;c=1;e=1;
#200;
a=1;b=0;c=0;e=1;
#200;
a=1;b=0;c=1;e=1;
#200;
a=1;b=1;c=1;e=1;
#200;
$stop;
end
endmodule

img

我的解答思路和尝试过的方法

testbench代码求批评指正

MoldelSim 需要运行 run 才能正常出波形