BCD-3초과코드 변환회로의 verilog HDL설계
2010, Nov 07
BCD코드를 3초과코드로 변환하는 회로를 VHDL로 설계하고,
진리치표대로 동작함을 확인하시오
//Stimulus for simple circuit
module stimcrct;
reg D,C,B,A;
wire W,X,Y,Z;
BCDto3 bcd2three(A,B,C,D,W,X,Y,Z);
initial
begin
D = 1'b0; C = 1'b0; B = 1'b0; A = 1'b0;
#100
D = 1'b0; C = 1'b0; B = 1'b0; A = 1'b1;
#100
D = 1'b0; C = 1'b0; B = 1'b1; A = 1'b0;
#100
D = 1'b0; C = 1'b0; B = 1'b1; A = 1'b1;
#100
D = 1'b0; C = 1'b1; B = 1'b0; A = 1'b0;
#100
D = 1'b0; C = 1'b1; B = 1'b0; A = 1'b1;
#100
D = 1'b0; C = 1'b1; B = 1'b1; A = 1'b0;
#100
D = 1'b0; C = 1'b1; B = 1'b1; A = 1'b1;
#100
D = 1'b1; C = 1'b0; B = 1'b0; A = 1'b0;
#100
D = 1'b1; C = 1'b0; B = 1'b0; A = 1'b1;
#100
$finish;
end
endmodule
//Description of circuit with delay
module BCDto3 (A,B,C,D,W,X,Y,Z);
input A,B,C,D;
output W,X,Y,Z;
wire x,y,z;
or g1(W,D,x);
and g2(x,C,y);
or g3(y,B,A);
xor g4(X,C,y);
xor g5(z,B,A);
not g6(Y,z);
not g7(Z,A);
endmodule