Documentos de Académico
Documentos de Profesional
Documentos de Cultura
TALLER 2
GRUPO N° 1
Santa Marta
14/03/20
1)
library IEEE;
use IEEE.STD_LOGIC_1164.ALL;
entity ModuloTopTemperatura is
Port ( X,Y,Z : in STD_LOGIC;
O : out STD_LOGIC);
end ModuloTopTemperatura;
end Behavioral;
2)
A B C D N-S E-O
0 0 0 0 0 1
0 0 0 1 0 1
0 0 1 0 0 1
0 0 1 1 0 1
0 1 0 0 1 0
0 1 0 1 0 0
0 1 1 0 0 0
0 1 1 1 0 1
1 0 0 0 1 0
1 0 0 1 0 0
1 0 1 0 0 0
1 0 1 1 0 1
1 1 0 0 1 0
1 1 0 1 0 0
1 1 1 0 0 0
1 1 1 1 0 1
TABLA DE VERDAD PARA EL SEMÁFORO N-S
E-O = A'B' + CD
ESTRUCTURAL
LIBRARY ieee;
USE ieee.std_logic_1164.ALL;
ENTITY ESTRUCTURAL IS
PORT(
C : IN STD_LOGIC_VECTOR (3 DOWNTO 0);--Sensor Carro
SEM: OUT STD_LOGIC_VECTOR (1 DOWNTO 0);--Semaforo
END comportamental;
END carro;
------------------------------------------------------------------
------------------------------------------------------------------
------------------------------------------------------------------
------------------------------------------------
LIBRARY ieee;
USE ieee.std_logic_1164.ALL;
ENTITY comportamental IS
PORT(
C : IN STD_LOGIC_VECTOR (3 DOWNTO 0);--Sensor Carro
SEM: OUT STD_LOGIC_VECTOR (1 DOWNTO 0);--Semaforo
END comportamental;
--primera condición
if (C(1)='1' and C(0)='1')then --C Y D encendidos
SEM(0)<='0' --SEM(2) es el semáforo N-S
SEM(1)<='1' --SEM(1) es el semáforo E-O
ELSIF ((C(1)='1') OR (C(0)='1')) and (C(2)='0' AND
C(3)='0'))then -- C o D están encendidos pero A y B
apagados
SEM(0)<='0' --SEM(2) es el semáforo N-S
SEM(1)<='1' --SEM(1) es el semáforo E-O
ELSIF ((C(3)='1' and C(4)='1') and (C(1)='0' and
C(0)='0')then
SEM(0)<='1' --SEM(2) es el semáforo N-S
SEM(1)<='0' --SEM(1) es el semáforo E-O
ELSIF ((C(3)='1' or C(4)='1') and (C(1)='0' and
C(0)='0')then
SEM(0)<='1' --SEM(2) es el semáforo N-S
SEM(1)<='0' --SEM(1) es el semáforo E-O
ELSIF ((C(3)='0' and C(4)='0' and (C(1)='0' and
C(0)='0')then
SEM(0)<='0' --SEM(2) es el semáforo N-S
SEM(1)<='1' --SEM(1) es el semáforo E-O
ELSE
SEM(0)<='0' --SEM(2) es el semáforo N-S
SEM(1)<='0' --SEM(1) es el semáforo E-O
END IF
END PROCESS;
END carro;
3)
library IEEE;
use IEEE.STD_LOGIC_1164.ALL;
use IEEE.NUMERIC_STD.ALL;
entity Top is
Port ( W: in STD_LOGIC;
X: in STD_LOGIC_VECTOR(1 downto 0);
Y,Z : in STD_LOGIC_VECTOR(2 downto 0);
BCD: out STD_LOGIC_VECTOR(3 downto 0);
Signal4 : out STD_LOGIC);
end Top;
begin
xu <= "0001" when x = "01" else "0010" when x ="10" else "0000";
yu <= "0001" when y = "001" else "0010" when y = "010" else "0011"
when y="100" else "0000";
Zu <= "0001" when z = "001" else "0010" when z = "010" else "0011"
when z="100" else "0000";
BCD <=STD_LOGIC_VECTOR(total);
signal4 <= '1' when total > 4 else '0';
end Behavioral;
4)
a) 9 bits
b) respuesta es 38
c) 7 bits
d) ninguna de las anteriores y pues realmente por
simplificación sale con un sola compuerta xor de dos entradas,
concretamente
A’B’C+ABC’+A’BC’+A’B’C = B xor C
e) a=6, b=-2
5)
library IEEE;
use IEEE.STD_LOGIC_1164.ALL;
entity Sumador is
Port ( a,b : in STD_LOGIC_VECTOR(2 downto 0);
Sel : in STD_LOGIC;
Dout : out STD_LOGIC_VECTOR(6 downto 0);
Dig : in STD_LOGIC_VECTOR(1 downto 0));
end Sumador;
COMPONENT sumador
port(
d0: in STD_LOGIC_VECTOR(2 downto 0);
d1: in STD_LOGIC_VECTOR(2 downto 0);
A1: out STD_LOGIC_VECTOR(3 downto 0);
A2: out STD_LOGIC_VECTOR(3 downto 0)
);
End component;
COMPONENT MUX2_1
port(
D0: in STD_LOGIC_VECTOR(2 downto 0);
D1: in STD_LOGIC_VECTOR(2 downto 0);
SEL: in STD_LOGIC;
A2: out STD_LOGIC_VECTOR(3 downto 0)
);
End component;
COMPONENT DEC_BCD_7seg
port(
n: in STD_LOGIC_VECTOR(3 downto 0);
seg: out STD_LOGIC_VECTOR(6 downto 0)
);
End component;
COMPONENT DEC2_1
port(
Din: in STD_LOGIC;
sal: out STD_LOGIC_vector(1 downto 0) );
End component;
begin