1
두 개의 반가 사 모듈을 사용하여 기본 전체 덧셈기를 설계하고이를 테스트 벤치로 테스트하려고했습니다. 컴파일 오류는 없지만 출력 (Waveform)에서 Sum 및 Carry에 대해 Z와 X를 얻습니다. 나는이 오류를 바로 잡기 위해 무엇을 볼지 모르겠다.기본 전체 덧셈기의 출력에서 "Z와 X"얻기
이것을 바로 잡기 위해 다음 단계 (또는 몇 가지 포인터)를 점검해야하는 조언이 도움이 될 것입니다. 위의 대한
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
테스트 벤치 : 여기
는 전체 가산기에 대한 Verilog 코드입니다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
그는 파형입니다 재 :
대단히 감사합니다 .. – sundar