CASE语句实现74LS138功能

用CASE语句设计一个功能如74LS138的3线-8线译码器。要求提供代码、RTL图、仿真波形。

代码:

LIBRARY IEEE;
USE IEEE.STD_LOGIC_1164.ALL;
ENTITY Decord38 IS
	PORT(a,b,c : IN STD_LOGIC;
	S1,S0a,S0b : IN STD_LOGIC;
	Y : OUT STD_LOGIC_VECTOR(7 DOWNTO 0));
	END ENTITY Decord38;
ARCHITECTURE RTL OF Decord38 IS
	SIGNAL q : STD_LOGIC_VECTOR(2 DOWNTO 0);
	BEGIN 
		q <= c&b&a;
		PROCESS(S1,S0a,S0b,q)
		BEGIN
			IF(S1='1' AND S0a ='0' AND S0b ='0') THEN 
		CASE(q) IS
			WHEN "000" => Y <= "11111110";
			WHEN "001" => Y <= "11111101";
			WHEN "010" => Y <= "11111011";
			WHEN "011" => Y <= "11110111";
			WHEN "100" => Y <= "11101111";
			WHEN "101" => Y <= "11011111";
			WHEN "110" => Y <= "10111111";
			WHEN "111" => Y <= "01111111";
			WHEN OTHERS => Y <= NULL;
			END CASE;
			ELSE Y<= "11111111";
		END IF;
	END PROCESS;
END ARCHITECTURE RTL;

仿真波形:

RTL图:

  • 5
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

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

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值