verilog 用逻辑门实现四选一数据选择器

首先看看用逻辑功能直接实现的四选一数据选择器

语句如下:

module sxy(
	a,b,c,d,s1,s0,y
	);
	input	a	;
	input	b	;
	input	c	;
	input	d	;
	input	s1	;
	input	s0	;
	output	y	;
	reg		y	;


always @(*)begin
	case ({s1,s0})
		2'b00: 	y <= a;
		2'b01: 	y <= b;
		2'b10:	y <= c;
		2'b11:	y <= d;
	endcase
end

endmodule

测试结果如下: 

 

 今天的主要目的是用逻辑门实现四选一是数据选择器

四选一数据选择器的真值表如下:

 根据真值表可以用四个三输入与门和一个四输入或门来实现我们需要的四选一数据选择器

语句如下:

module sxy(
	a,b,c,d,s1,s0,y
	);
	input	a	;
	input	b	;
	input	c	;
	input	d	;
	input	s1	;
	input	s0	;
	output	y	;
	wire	y	;
	wire	a1	;
	wire	b1	;
	wire	c1	;
	wire	d1	;
	
	and	 (a1,a,~s1,~s0);
	and  (b1,b,~s1,s0);
	and  (c1,c,s1,~s0);
	and  (d1,d,s1,s0);
	or 	 (y,a1,b1,c1,d1);
endmodule

测试结果如下:

 

 

  • 2
    点赞
  • 33
    收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
©️2022 CSDN 皮肤主题:数字20 设计师:CSDN官方博客 返回首页
评论

打赏作者

多多中意食肥橙

你的鼓励将是我创作的最大动力

¥2 ¥4 ¥6 ¥10 ¥20
输入1-500的整数
余额支付 (余额:-- )
扫码支付
扫码支付:¥2
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、C币套餐、付费专栏及课程。

余额充值