【正确答案】PLD描述如下。
LIBRARY IEEE;
USE IEEE.STD_LOGIC_1164.ALL;
USE IEEE.STD_LOGIC_ARITH.ALL;
USE IEEE.STD_LOGIC_UNSIGNED.ALL;
ENTITY Se141 IS
port(a0,al,S:IN STD_LOGIC;
d:IN STD_LOGIC_VECTOR(3 downto 0);
y,noty:OUT STD_LOGIC);
END Sel41;
ARCHITECTURE rtl of Sel41 IS
signal sel:STD_LOGIC_VECTOR(1 downto 0);
BEGIN
sel<=al&a0;
PROCESS(sel,s,d)
BEGIN
IF(s='0')THEN
CASE sel IS
WHEN"00"=>y<=d(0);noty<=NOT d(0);
WHEN"01"=>y<=d(1);noty<=NOT d(1);
WHEN"10"=>y<=d(2);noty<=NOT d(2);
WHEN"11"=>y<=d(3);noty<=NOT d(3);
WHEN OTHERS=>y<='X';noty<='X';
END CASE;
ELSE
y<='0';noty<='1';
END IF; ,
END PROCESS;
END rtl;
【答案解析】