题解 | 4位数值比较器电路
4位数值比较器电路
https://www.nowcoder.com/practice/e02fde10f1914527b6b6871b97aef86d
`timescale 1ns/1ns
module comparator_4(
input [3:0] A ,
input [3:0] B ,
output wire Y2 , //A>B
output wire Y1 , //A=B
output wire Y0 //A<B
);
//首先第一种方法就是使用always语句块,用if elseif等来编写
//第二种写真值表,卡诺图化简,用与或非门,
assign Y2 = (A[3] & !B[3]) |
(!(A[3]^B[3]) & (A[2] & !B[2])) |
(!(A[3]^B[3]) & !(A[2]^B[2]) & (A[1] & !B[1])) |
(!(A[3]^B[3]) & !(A[2]^B[2]) & !(A[1]^B[1]) & (A[0] & !B[0]));
assign Y0 = (!A[3] & B[3]) |
(!(A[3]^B[3]) & (!A[2] & B[2])) |
(!(A[3]^B[3]) & !(A[2] ^ B[2]) & (!A[1] & B[1])) |
(!(A[3]^B[3]) & !(A[2] ^ B[2]) & !(A[1] ^ B[1]) & (!A[0] & B[0]));
assign Y1 = (!(A[3]^B[3]) & !(A[2]^B[2]) & !(A[1]^B[1]) & !(A[0]^B[0]));
endmodule
