题解 | #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
);
wire [3:0]y0,y1,y2;
comp1 u_comp1_0(
	.en(1),
	.a(A[3]),
	.b(B[3]),
	.y2(y2[3]),
	.y1(y1[3]),
	.y0(y0[3])
);
genvar i;
generate
	for(i=0;i<3;i=i+1)begin
		comp1 u_comp1(
			.en(y1[i+1]),
			.a(A[i]),
			.b(B[i]),
			.y2(y2[i]),
			.y1(y1[i]),
			.y0(y0[i])
		);
	end
endgenerate
assign Y0=|y0;
assign Y1=&y1;
assign Y2=|y2;
endmodule
module comp1(
	input en,
	input a,
	input b,
	output y2,
	output y1,
	output y0
);
assign y2=en&a&(~b);
assign y0=en&(~a)&b;
assign y1=en&(~(y2|y0));
endmodule

全部评论

相关推荐

VirtualBool:都去逗他了?
点赞 评论 收藏
分享
qq乃乃好喝到咩噗茶:神人哆哆鲤还活着呢,什么时候给这玩意举报下架
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客企业服务