题解 | #4位数值比较器电路#

4位数值比较器电路

http://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

简析

题目要求用门级描述方式。严格地说,大小比较也应该转换为与或非表示。对于1bit数aabb来说:

a>b    aba<b    aba==b    aba>b \iff a \cdot \overline{b} \\ a<b \iff \overline{a} \cdot b \\ a==b \iff a \odot b

提交完了才发现,懒得改了。

Verilog篇题解 文章被收录于专栏

本人对牛客网verilog篇题目一些理解

全部评论

相关推荐

02-22 18:38
门头沟学院 Java
程序员牛肉:标准的NPC简历,一个短链接+12306。你可以在牛客上面搜一搜有多少人的简历和你一样。你自己能不能给出你一个理由让面试官在大家简历高度相同的情况下,选择约面你而不是对应的211,985学生? 是因为你即将拥有的那段小厂实习吗?这种小厂实习真的很有含金量吗?因此你可以找实习,但是你如果只能找到小厂实习的话,其实意义不太大。 但你的时间是充足的,相信我:从现在到今年的九月份大三上你就干两个事情:"写博客"+“参加开源之夏”。这两个搞好了不亚于一段大厂实习的含金量。 想要让自己变得更强,首先就是不要把自己当打工人看待,让自己简历上面的活人气息更多一点,不要让自己成为流水线的产物。你不是在出售你的技能,你是在利用你的技能和公司达成一种合作关系。
点赞 评论 收藏
分享
评论
9
收藏
分享

创作者周榜

更多
牛客网
牛客企业服务