【正确答案】图4.3.24(a)所示电路的VHDL程序如下:
LIBRARY ieee;
USE ieee.Std_logic_1164.ALL;
LIBRARY lattice:
USE lattice.components.ALL;
ENTITY xiti424a IS
PORT(a,b,C:IN Std_logic;f, g:OUT Std_logic);
END xiti424a:
ARCHITECTURE xiti424a_ar OF xiti424a IS
SIGNAL sel:Std_logic_vector(1 downto 0);
BEGIN
sel<=b&c:
PROCESS(a,b,c)
BEGIN
CASE sel IS
WHEN"00" =>f<=not a;g<='0' ;
WHEN "01" =>f<='1';g<=a;
WHEN"10"=>f<='1';g<=a;
WHEN"11"=>f<=a;g<='1';
WHEN OTHERS=>f<='Z';g<='Z';
END CASE:
END PROCESS:
END xiti424a_ar;
图4.3.24(b)所示电路的VHDL程序如下:
LIBRARY ieee;
USE ieee.Std_logic_1164.ALL;
LIBRARY lattice;
USE lattice.components.ALL;
ENTITY xiti424b IS
PORT(a,b,c:IN Std_logic;f1, f2:OUT Std_logic);
END xiti424b:
ARCHITECTURE xiti424b_ar OF xiti424b IS
SIGNAL sel:Std_logic_vector(1 downto 0);
BEGIN
sel<=b&C;
PROCESS(a,b,c)
BEGIN
CASE sel 1S
WHEN"00"=>f1<=a;f2<='0';
WHEN"01"=>f1<=not a;f2<=not a;
WHEN"10"=>f1<=not a;f2<=not a;
WHEN"11"=>f1<=a;f2<='1';
WHEN OTHERS=>f1<='Z';f2<='Z';
END CASE:
END PROCESS:
END xiti424b_ar;
【答案解析】