Ich habe eine grundlegende Volladdierer mit zwei Halbaddierer-Module und versuchen, es mit einer Testbench zu testen. Es gibt keine Kompilierungsfehler, aber am Ausgang (Waveform) bekomme ich Z und X für Sum und Carry. Ich stecke fest und bin mir nicht sicher, was ich als nächstes ansehen soll, um diesen Fehler zu korrigieren.Getting "Z und X" am Ausgang für eine grundlegende Full Adder
Irgendwelche Ratschläge in welchen nächsten Schritten (oder einigen Zeigern) überprüft werden müssen, um dies zu beheben, wäre hilfreich. Hier
ist die Verilog-Code für den Volladdierer:
module half_adder(x,y,S,C);
input x,y;
output S,C;
xor G1(S,x,y);
and G2(C,x,y);
endmodule
module full_adder(x,y,z,S,C);
input x,y,z;
output S,C;
wire S1,C1,C2;
half_adder HA1(S1,C1,x,y);
half_adder HA2(S,C2,S1,z);
or G3(C,C1,C2);
endmodule
Prüfstand für die oben:
module tb_fulladder;
wire S,C;
reg x,y,z;
full_adder DUT(x,y,z,S,C);
initial
begin
x=1'b0;y=1'b0;z=1'b0;
#50
x=1'b0;y=1'b0;z=1'b1;
#50
x=1'b0;y=1'b1;z=1'b0;
#50
x=1'b0;y=1'b1;z=1'b1;
#50
x=1'b1;y=1'b0;z=1'b0;
#50
x=1'b1;y=1'b0;z=1'b1;
#50
x=1'b1;y=1'b1;z=1'b0;
#50
x=1'b1;y=1'b1;z=1'b1;
end
initial
#500
$finish;
endmodule
Er re die Wellenform:
Vielen Dank .. – sundar