题解 | #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

第一下完全没看懂这个怎么写,上一章的题大部分都是有时钟的,而这个就是一个真值表。

看了别人的解题思路大部分是用门级写的,但是门级的写着感觉冗余,不如这样直接根据真值表写出表达式即可。

全部评论

相关推荐

05-12 17:28
已编辑
门头沟学院 硬件开发
ldf李鑫:不说公司名祝你以后天天遇到这样的公司
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务