Documentos de Académico
Documentos de Profesional
Documentos de Cultura
DEFINICIONES.
1
01/10/2018
entity CASO is
Port ( A,B : in STD_LOGIC;
Y : out STD_LOGIC);
end CASO;
begin
PROCESS(A,B)
begin
if (A='1' AND B='1') then
y<='0';
else
y<='1';
end if;
end process;
end Behavioral;
entity CASO is
Port ( A,B,C,D : in STD_LOGIC;
F1 : out STD_LOGIC);
end CASO;
begin
PROCESS(A,B,C,D)
begin
if (B='0' AND C='1') then
F1<='1';
elsif(C='1' AND D='1') then
F1<='1';
elsif(A='0' AND B='1' AND D='1')then
F1<='1';
else
F1<='0';
end if;
end process;
end Behavioral;
2
01/10/2018
library IEEE;
use IEEE.STD_LOGIC_1164.ALL;
INSTRUCCIÓN CASE. use IEEE.STD_LOGIC_ARITH.ALL;
use IEEE.STD_LOGIC_UNSIGNED.ALL;
Es utilizada para seleccionar una entre varias alternativas de ejecución de entity CASO is
determinadas acciones en función del valor de una expresión. Port ( A: in STD_LOGIC_VECTOR(3 DOWNTO 0);
F1: out STD_LOGIC);
begin
CASE expresion IS PROCESS(A)
WHEN caso_1 =>sentencia; begin
case A IS
Caso_2 =>sentencia; when "0000"=>F1<='0';
……. when "0001"=>F1<='0';
when "0010"=>F1<='1';
WHEN OTHER => sentencia; when "0011"=>F1<='1';
END CASE; when "0100"=>F1<='0';
when "0101"=>F1<='1';
when "0110"=>F1<='0';
when "0111"=>F1<='1';
when "1000"=>F1<='0';
when "1001"=>F1<='0';
when "1010"=>F1<='1';
when "1011"=>F1<='1';
when "1100"=>F1<='0';
when "1101"=>F1<='0';
when "1110"=>F1<='0';
when others=>F1<='1';
end case;
end process;
end Behavioral;
3
01/10/2018
CÓDIGO ALU.
library IEEE;
entity CASO is
Port ( A,B: in STD_LOGIC_VECTOR(3 DOWNTO 0);
S: in STD_LOGIC_VECTOR(2 DOWNTO 0);
F: out STD_LOGIC_VECTOR(4 DOWNTO 0));
end CASO;
begin
PROCESS(A,B,S)
begin
case S IS
when "000"=>F<="00000";
when "001"=>F<=('0'&B)-('0'&A);
when "010"=>F<=('0'&A)-('0'&B);
when "011"=>F<=('0'&A)+('0'&B);
when "100"=>F<=('0'&A) XOR ('0'&B);
when "101"=>F<=('0'&A) OR ('0'&B);
when "110"=>F<=('0'&A) AND ('0'&B);
WHEN others=>F<="11111";
end case;
end process;
end Behavioral;