VHDL——4选1数据选择器

这篇博客介绍了如何使用VHDL的case语句和if语句来实现一个四路数据选择器(MUX4)。通过示例代码,展示了在信号处理过程中,根据输入信号`s1`和`s2`的不同组合,如何选择输出`z`为`a`、`b`、`c`或`d`。
摘要由CSDN通过智能技术生成

1.端口图

2.VHDL语言

2.1case语句

library ieee;
use ieee.std_logic_1164.all;

entity mux4 is
    port(a,b,c,d : in std_logic;
	      s1,s2 : in std_logic;
			z : out std_logic);
end mux4;

architecture behave of mux4 is
signal s : std_logic_vector(1 downto 0);
begin
  s <= s1&s2;
    process(a,b,c,d,s1,s2)
	 begin
	 case s is
	     when "00" => z <= a;
		  when "01" => z <= b;
		  when "10" => z <= c;
		  when "11" => z <= d;
		  when others => z <= 'X';
	 end case;
	 end process;
end behave;
		  

if语句

architecture behave of mux4 is
signal s : std_logic_vector(1 downto 0);
begin
  s <= s1&s2;
    process(a,b,c,d,s1,s2)
	 begin
	      if(s = "00") then z <= a;
		  elsif(s = "01")then z <= b;
		  elsif(s = "10")then z <= c;
		  else z <= d;
	 end if;
	 end process;
end behave;
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

364.99°

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

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

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

打赏作者

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

抵扣说明:

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

余额充值