题解 | #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 ); 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 Y1 = (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]); endmodule
第一下完全没看懂这个怎么写,上一章的题大部分都是有时钟的,而这个就是一个真值表。
看了别人的解题思路大部分是用门级写的,但是门级的写着感觉冗余,不如这样直接根据真值表写出表达式即可。