Professional Documents
Culture Documents
Code converter
G[3] = bin[3]
G[2] = bin[3] ^ bin[2]
G[1] = bin[2] ^ bin[1]
G[0] = bin[1] ^ bin[0]
bin[3] = G[3]
bin[2] = G[3] ^ G[2]
bin[1] = G[3] ^ G[2] ^ G[1]
bin[0] = G[3] ^ G[2] ^ G[1] ^ G[0]
E0=B0'
E1=B1B0+B1'B0'
E2=B2'B1+B2'B0+B2B1'B0'
E3=B3+B2B1+B2B0
B1=E1'E0+E1E0'
B2=E2'E1'+E2'E0'+E2E1E0
B3=E3E2+E3E1E0
Design source:
Page 2 of 5
EC20B1042 B Srinidhi
Y[1] = A[2]^A[1];
Y[0] = A[1]^A[0];
end
2'b01:
begin
Y[3] = A[3];
Y[2] = A[3]^A[2];
Y[1] = A[3]^A[2]^A[1];
Y[0] = A[3]^A[2]^A[1]^A[0];
end
2'b10:
begin
Y[3] = A[3]|(A[2]&A[1])|(A[2]&A[0]);
Y[2] = A[2]^(A[1]|A[0]);
Y[1] = ~(A[1]^A[0]);
Y[0] = ~A[0];
end
2'b11:
begin
Y[3] = (A[3]&A[2]&~A[1]&~A[0])|(A[3]&~A[2]&A[1]&A[0]);
Y[2] = (~A[3]&A[2]&A[1]&A[0])|(~A[2]&(~A[1]|~A[0]));
Y[1] = (A[3]&A[2]&A[1]&A[0])|((~A[3]|~A[2])&(A[1]^A[0]));
Y[0] = ~A[0];
end
default: Y = 0;
endcase
end
endmodule
Test bench:
module tmc();
Page 3 of 5
EC20B1042 B Srinidhi
reg Y;
wire A,V;
mag_comp cc(Y,A,V);
initial
begin
A=4'b0001;V=2'b00;
#10 A=4'b0110;V=2'b01;
#10 A=4'b1001;V=2'b10;
#10 A=4'b1110;V=2'b11;
#10 $finish;
end
endmodule
Magnitude comparator
Page 4 of 5
EC20B1042 B Srinidhi
Page 5 of 5
EC20B1042 B Srinidhi
Result:
Page 6 of 5