Professional Documents
Culture Documents
El decodificador de 3 a 8 lneas activa una sola de las 8 lneas de salida de acuerdo con el cdigo
binario presente en las 3 lneas de entrada. Las salidas son mutuamente exclusivas ya que
solamente una de las salidas es igual a 1 en cualquier momento.
Las entradas del decodificador son x, y, z y las salidas van de y0 a y7 (activas bajas). La tabla de
verdad del decodificador se muestra en la tabla 3.1.2.
Entradas
Salidas
Y0
Y1
Y2
Y3
Y4
Y5
Y6
Y7
Como la tabla anterior tiene 8 salidas, por lo tanto sera necesario dibujar ocho mapas de
karnaugh para simplificar cada una de las funciones de salida. Por tanto procedimiento, se puede
dibujar un solo mapa y reducir la funcin para cada trmino por separado. La reduccin de cada
trmino da como resultado la equivalencia entre cada mintrmino de entrada y la salida
correspondiente. Por ejemplo, la entrada 110 activar la salida Y6. En el circuito el mintrmino
corresponder a una compuerta AND de tres entradas con las variables ABCcomo entradas. De
manera similar se construye el circuito para el resto de entradas. El circuito lgico del
decodificador de 3 a 8 lneas se representa en la figura 3.1.3.
DIAGRAMA ESQUEMATICO
PROGRAMACION
Library IEEE;
Use
IEEE.std_logic_1164.all;
Entity Trab_Combinacional Is
port
(
LED_B : Out STD_LOGIC_VECTOR(7 DOWNTO 0);
PrimaryId=LED_B[7..0]
LED_G : Out STD_LOGIC_VECTOR(7 DOWNTO 0);
PrimaryId=LED_G[7..0]
LED_R : Out STD_LOGIC_VECTOR(7 DOWNTO 0);
PrimaryId=LED_R[7..0]
SW : In STD_LOGIC_VECTOR(7 DOWNTO 0)
PrimaryId=SW[7..0]
);
attribute MacroCell : boolean;
-- ObjectKind=Port|
-- ObjectKind=Port|
-- ObjectKind=Port|
-- ObjectKind=Port|
End Trab_Combinacional;
----------------------------------------------------------------------------------------------------------------------Architecture Structure Of Trab_Combinacional Is
Component AND3S
-- ObjectKind=Part|PrimaryId=U1|
SecondaryId=1
port
(
I0 : in STD_LOGIC;
-- ObjectKind=Pin|PrimaryId=U1-I0
I1 : in STD_LOGIC;
-- ObjectKind=Pin|PrimaryId=U1-I1
I2 : in STD_LOGIC;
-- ObjectKind=Pin|PrimaryId=U1-I2
O : out STD_LOGIC
-- ObjectKind=Pin|PrimaryId=U1-O
);
End Component;
Component INV
port
(
I : in STD_LOGIC;
O : out STD_LOGIC
);
End Component;
-- ObjectKind=Part|PrimaryId=U3|SecondaryId=1
-- ObjectKind=Pin|PrimaryId=U3-I
-- ObjectKind=Pin|PrimaryId=U3-O
Component J8B_8S
-- ObjectKind=Part|PrimaryId=U5|
SecondaryId=1
port
(
I : in STD_LOGIC_VECTOR(7 downto 0);
-- ObjectKind=Pin|PrimaryId=U5-I[7..0]
O0 : out STD_LOGIC;
-- ObjectKind=Pin|PrimaryId=U5-O0
O1 : out STD_LOGIC;
-- ObjectKind=Pin|PrimaryId=U5-O1
O2 : out STD_LOGIC;
-- ObjectKind=Pin|PrimaryId=U5-O2
O3 : out STD_LOGIC;
-- ObjectKind=Pin|PrimaryId=U5-O3
O4 : out STD_LOGIC;
-- ObjectKind=Pin|PrimaryId=U5-O4
O5 : out STD_LOGIC;
-- ObjectKind=Pin|PrimaryId=U5-O5
O6 : out STD_LOGIC;
-- ObjectKind=Pin|PrimaryId=U5-O6
O7 : out STD_LOGIC
-- ObjectKind=Pin|PrimaryId=U5-O7
);
End Component;
Component J8S_8B
SecondaryId=1
port
(
-- ObjectKind=Part|PrimaryId=U6|
I0 : in STD_LOGIC;
-- ObjectKind=Pin|PrimaryId=U6-I0
I1 : in STD_LOGIC;
-- ObjectKind=Pin|PrimaryId=U6-I1
I2 : in STD_LOGIC;
-- ObjectKind=Pin|PrimaryId=U6-I2
I3 : in STD_LOGIC;
-- ObjectKind=Pin|PrimaryId=U6-I3
I4 : in STD_LOGIC;
-- ObjectKind=Pin|PrimaryId=U6-I4
I5 : in STD_LOGIC;
-- ObjectKind=Pin|PrimaryId=U6-I5
I6 : in STD_LOGIC;
-- ObjectKind=Pin|PrimaryId=U6-I6
I7 : in STD_LOGIC;
-- ObjectKind=Pin|PrimaryId=U6-I7
O : out STD_LOGIC_VECTOR(7 downto 0)
-- ObjectKind=Pin|PrimaryId=U6O[7..0]
);
End Component;
Signal NamedSignal_GND1_BUS : STD_LOGIC_VECTOR(7 downto 0); -- ObjectKind=Net|
PrimaryId=GND1_BUS[7..0]
Signal PinSignal_U1_O
: STD_LOGIC; -- ObjectKind=Net|PrimaryId=NetU1_O
Signal PinSignal_U10_O
: STD_LOGIC; -- ObjectKind=Net|PrimaryId=NetU6_I4
Signal PinSignal_U11_O
: STD_LOGIC; -- ObjectKind=Net|PrimaryId=NetU6_I5
Signal PinSignal_U12_O
: STD_LOGIC; -- ObjectKind=Net|PrimaryId=NetU6_I6
Signal PinSignal_U13_O
: STD_LOGIC; -- ObjectKind=Net|PrimaryId=NetU6_I7
Signal PinSignal_U2_O
: STD_LOGIC; -- ObjectKind=Net|PrimaryId=NetU2_O
Signal PinSignal_U3_O
: STD_LOGIC; -- ObjectKind=Net|PrimaryId=NetU2_I0
Signal PinSignal_U4_O
: STD_LOGIC; -- ObjectKind=Net|PrimaryId=NetU4_O
Signal PinSignal_U5_O0
: STD_LOGIC; -- ObjectKind=Net|PrimaryId=NetU1_I0
Signal PinSignal_U5_O1
: STD_LOGIC; -- ObjectKind=Net|PrimaryId=NetU1_I1
Signal PinSignal_U5_O2
: STD_LOGIC; -- ObjectKind=Net|PrimaryId=NetU1_I2
Signal PinSignal_U6_O
: STD_LOGIC_VECTOR(7 downto 0); -- ObjectKind=Net|
PrimaryId=LED_B[7..0]
Signal PinSignal_U7_O
: STD_LOGIC; -- ObjectKind=Net|PrimaryId=NetU4_I1
Signal PinSignal_U8_O
: STD_LOGIC; -- ObjectKind=Net|PrimaryId=NetU6_I3
Signal PinSignal_U9_O
: STD_LOGIC; -- ObjectKind=Net|PrimaryId=NetU9_O
Begin
U13 : AND3S
Port Map
(
I0 => PinSignal_U3_O,
I1 => PinSignal_U7_O,
I2 => PinSignal_U9_O,
O => PinSignal_U13_O
);
-- ObjectKind=Part|PrimaryId=U13|SecondaryId=1
-- ObjectKind=Pin|PrimaryId=U13-I0
-- ObjectKind=Pin|PrimaryId=U13-I1
-- ObjectKind=Pin|PrimaryId=U13-I2
-- ObjectKind=Pin|PrimaryId=U13-O
U12 : AND3S
Port Map
(
I0 => PinSignal_U5_O0,
I1 => PinSignal_U7_O,
I2 => PinSignal_U9_O,
O => PinSignal_U12_O
);
-- ObjectKind=Part|PrimaryId=U12|SecondaryId=1
U11 : AND3S
Port Map
(
I0 => PinSignal_U3_O,
I1 => PinSignal_U5_O1,
I2 => PinSignal_U9_O,
O => PinSignal_U11_O
);
-- ObjectKind=Part|PrimaryId=U11|SecondaryId=1
-- ObjectKind=Pin|PrimaryId=U12-I0
-- ObjectKind=Pin|PrimaryId=U12-I1
-- ObjectKind=Pin|PrimaryId=U12-I2
-- ObjectKind=Pin|PrimaryId=U12-O
-- ObjectKind=Pin|PrimaryId=U11-I0
-- ObjectKind=Pin|PrimaryId=U11-I1
-- ObjectKind=Pin|PrimaryId=U11-I2
-- ObjectKind=Pin|PrimaryId=U11-O
U10 : AND3S
Port Map
(
I0 => PinSignal_U5_O0,
I1 => PinSignal_U5_O1,
I2 => PinSignal_U9_O,
O => PinSignal_U10_O
);
U9 : INV
Port Map
(
I => PinSignal_U5_O2,
O => PinSignal_U9_O
);
U8 : AND3S
Port Map
(
I0 => PinSignal_U3_O,
I1 => PinSignal_U7_O,
I2 => PinSignal_U5_O2,
O => PinSignal_U8_O
);
U7 : INV
Port Map
(
I => PinSignal_U5_O1,
O => PinSignal_U7_O
);
-- ObjectKind=Part|PrimaryId=U10|SecondaryId=1
-- ObjectKind=Pin|PrimaryId=U10-I0
-- ObjectKind=Pin|PrimaryId=U10-I1
-- ObjectKind=Pin|PrimaryId=U10-I2
-- ObjectKind=Pin|PrimaryId=U10-O
-- ObjectKind=Part|PrimaryId=U9|SecondaryId=1
-- ObjectKind=Pin|PrimaryId=U9-I
-- ObjectKind=Pin|PrimaryId=U9-O
-- ObjectKind=Part|PrimaryId=U8|SecondaryId=1
-- ObjectKind=Pin|PrimaryId=U8-I0
-- ObjectKind=Pin|PrimaryId=U8-I1
-- ObjectKind=Pin|PrimaryId=U8-I2
-- ObjectKind=Pin|PrimaryId=U8-O
-- ObjectKind=Part|PrimaryId=U7|SecondaryId=1
-- ObjectKind=Pin|PrimaryId=U7-I
-- ObjectKind=Pin|PrimaryId=U7-O
U6 : J8S_8B
Port Map
(
I0 => PinSignal_U1_O,
I1 => PinSignal_U2_O,
I2 => PinSignal_U4_O,
I3 => PinSignal_U8_O,
I4 => PinSignal_U10_O,
I5 => PinSignal_U11_O,
I6 => PinSignal_U12_O,
I7 => PinSignal_U13_O,
O => PinSignal_U6_O
);
-- ObjectKind=Part|PrimaryId=U6|SecondaryId=1
U5 : J8B_8S
Port Map
(
I => SW,
O0 => PinSignal_U5_O0,
O1 => PinSignal_U5_O1,
O2 => PinSignal_U5_O2
);
-- ObjectKind=Part|PrimaryId=U5|SecondaryId=1
U4 : AND3S
Port Map
(
I0 => PinSignal_U5_O0,
I1 => PinSignal_U7_O,
I2 => PinSignal_U5_O2,
-- ObjectKind=Pin|PrimaryId=U6-I0
-- ObjectKind=Pin|PrimaryId=U6-I1
-- ObjectKind=Pin|PrimaryId=U6-I2
-- ObjectKind=Pin|PrimaryId=U6-I3
-- ObjectKind=Pin|PrimaryId=U6-I4
-- ObjectKind=Pin|PrimaryId=U6-I5
-- ObjectKind=Pin|PrimaryId=U6-I6
-- ObjectKind=Pin|PrimaryId=U6-I7
-- ObjectKind=Pin|PrimaryId=U6-O[7..0]
-- ObjectKind=Pin|PrimaryId=U5-I[7..0]
-- ObjectKind=Pin|PrimaryId=U5-O0
-- ObjectKind=Pin|PrimaryId=U5-O1
-- ObjectKind=Pin|PrimaryId=U5-O2
-- ObjectKind=Part|PrimaryId=U4|SecondaryId=1
-- ObjectKind=Pin|PrimaryId=U4-I0
-- ObjectKind=Pin|PrimaryId=U4-I1
-- ObjectKind=Pin|PrimaryId=U4-I2
O => PinSignal_U4_O
);
U3 : INV
Port Map
(
I => PinSignal_U5_O0,
O => PinSignal_U3_O
);
-- ObjectKind=Pin|PrimaryId=U4-O
-- ObjectKind=Part|PrimaryId=U3|SecondaryId=1
-- ObjectKind=Pin|PrimaryId=U3-I
-- ObjectKind=Pin|PrimaryId=U3-O
U2 : AND3S
Port Map
(
I0 => PinSignal_U3_O,
I1 => PinSignal_U5_O1,
I2 => PinSignal_U5_O2,
O => PinSignal_U2_O
);
-- ObjectKind=Part|PrimaryId=U2|SecondaryId=1
U1 : AND3S
Port Map
(
I0 => PinSignal_U5_O0,
I1 => PinSignal_U5_O1,
I2 => PinSignal_U5_O2,
O => PinSignal_U1_O
);
-- ObjectKind=Part|PrimaryId=U1|SecondaryId=1
-- ObjectKind=Pin|PrimaryId=U2-I0
-- ObjectKind=Pin|PrimaryId=U2-I1
-- ObjectKind=Pin|PrimaryId=U2-I2
-- ObjectKind=Pin|PrimaryId=U2-O
-- ObjectKind=Pin|PrimaryId=U1-I0
-- ObjectKind=Pin|PrimaryId=U1-I1
-- ObjectKind=Pin|PrimaryId=U1-I2
-- ObjectKind=Pin|PrimaryId=U1-O
-- Signal Assignments
--------------------LED_B
<= PinSignal_U6_O; -- ObjectKind=Net|PrimaryId=LED_B[7..0]
LED_G
<= NamedSignal_GND1_BUS; -- ObjectKind=Net|PrimaryId=GND1_BUS[7..0]
LED_R
<= NamedSignal_GND1_BUS; -- ObjectKind=Net|PrimaryId=GND1_BUS[7..0]
NamedSignal_GND1_BUS <= "00000000"; -- ObjectKind=Net|PrimaryId=GND1_BUS[7..0]
End Structure;