You are on page 1of 5

MULTIPLEXORES

Son circuitos combinacionales que tienen varias entradas, una sola salida y varias líneas de selección. Su funcionamiento podría asemejarse a un conmutador de varias posiciones que simularían las entradas y el terminal común, la salida; la conmutación se realizaría por medio de la línea de selección, de tal modo que las señales presentes en las entradas aparecerán en la salida en el orden indicado por la línea de selección; es decir, un multiplexor permite el envío por una sola línea de los datos presentes en varias líneas.

MULTIPLEXOR de 2 a 1 líneas
circuito integrado TTL 74157, contiene cuatro multiplexores con sus dos entradas de datos y su salida cada uno. Tiene una entrada de inhibición (STROBE G) activa a nivel bajo (0V) y una entrada de selección (SELECT), comunes a los cuatro multiplexores.

Cuando STROBE está a nivel bajo, si la entrada SELECT está a nivel bajo, en la salida aparece el valor del dato A; y si la SELECT está a nivel alto aparece el dato B.

all. end A_81MUX. — Se requieren dos salidas. D6. Codigo VHDL: MUX de 8 a 1 library ieee. D7) variable sel : integer range 0 to 7. else if (A = '1') then sel := sel + 1.all. begin sel := 0. D2. B.C: out std_logic). D4. GN : in std_logic. — Se requieren dos entradas S. entity A_81MUX is port (A.Z: in std_logic. architecture asumador_completo of sumador_completo is begin S<= X xor Y xor Z. end if. architecture BEHAVIOR of A_81MUX is begin process(A.Código VHDL: Sumador Completo library IEEE. D0. B. D4. use ieee. D3. WN : out std_logic).all. una es la suma end sumador_completo. Y. — y la otra representa el valor del acarreo. D7 : in std_logic. end asumador_completo. GN.std_logic_1164. use ieee. C. use IEEE. D1. D3. if GN = '1' then Y <= '0'. D6. . D2. WN <= '1'. D5. –Declaración de la entidad entity sumador_completo is port ( X.std_logic_1164. D1. C<= (X and Y) or ((X xor Y) and Z). D0.Y. C. D5.std_logic_signed.

sel: in std_logic_vector( 1 downto 0) ). in2. sel) begin case sel is . case sel is when 0 => Y <= D0. in3.if (B = '1') then sel := sel + 2. WN <= not D3. end mux. in2. when 2 => Y <= D2. WN <= not D7. WN <= not D6. in1. when 1 => Y <= D1. WN <= not D1. when 5 => Y <= D5. in3. end case. WN <= not D2. if (C = '1') then sel := sel + 4. in4: in std_logic. when 3 => Y <= D3. end BEHAVIOR.std_logic_1164. when 7 => Y <= D7. use ieee. architecture behave of mux is begin process (in1. end if.all. when 4 => Y <= D4. end process. end if. when 6 => Y <= D6. WN <= not D0. MUX 4 a 1 library ieee. in4. WN <= not D5. end if. entity mux is port (output_signal: out std_logic. WN <= not D4.

if A < B then LT <= '1'. end process. if A > B then GT <= '1'. architecture vcompare_arch of vcompare is begin process (A. end process. LE: out STD_LOGIC ). end if. end behave. use IEEE. LT. end if. LT <= '0'. end vcompare.when "00" => output_signal <= in1. end if. LE <= '0'. end case. GT. when "01" => output_signal <= in2. GT <= '0'.std_logic_1164. if A /= B then NE <= '1'. B) begin EQ <= '0'. end if. when "11" => output_signal <= in4. . if A >= B then GE <= '1'. when others => output_signal <= 'X'. when "10" => output_signal <= in3. GE. B: in STD_LOGIC_VECTOR (7 downto 0). Codigo VHDL: Comparador library IEEE. GE <= '0'. NE. if A = B then EQ <= '1'.all. end vcompare_arch. entity vcompare is port ( A. NE <= '0'. EQ. end if. if A <= B then LE <= '1'. end if.