[go: up one dir, main page]

0% encontró este documento útil (0 votos)
295 vistas1 página

Codificadores VHDL

Este documento describe codificadores y decodificadores digitales utilizando VHDL. Explica codificadores de 4 a 2 entradas y 8 a 3 entradas con prioridad, que mapean combinaciones binarias de entrada a salidas codificadas. También describe un decodificador de 2 a 4 salidas, que mapea combinaciones binarias de entrada a una de las 4 salidas activadas. Todos ellos usan una estructura concurrente when-else anidada para evaluar cada entrada binaria y activar la salida correspondiente.

Cargado por

José Torres
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
295 vistas1 página

Codificadores VHDL

Este documento describe codificadores y decodificadores digitales utilizando VHDL. Explica codificadores de 4 a 2 entradas y 8 a 3 entradas con prioridad, que mapean combinaciones binarias de entrada a salidas codificadas. También describe un decodificador de 2 a 4 salidas, que mapea combinaciones binarias de entrada a una de las 4 salidas activadas. Todos ellos usan una estructura concurrente when-else anidada para evaluar cada entrada binaria y activar la salida correspondiente.

Cargado por

José Torres
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
Está en la página 1/ 1

VHDL

Conversores de cdigo:
Codificadores:
Codificador 4 a 2
library IEEE;
use IEEE.std_logic_1164.all;
entity CODI4a2 is
port(
E: in std_logic_vector(3 downto 0);
S: out std_logic_vector(1 downto 0);
EO: out
std_logic);
end CODI4a2;

Codificador 8 a 3 con prioridad


library IEEE;
use IEEE.std_logic_1164.all;
entity CODI8a3 is
port(
E: in std_logic_vector(7 downto 0);
S: out std_logic_vector(2 downto 0);
C: out std_logic);
end CODI8a3;

architecture arch1 of CODI4a2 is


begin
S <= "11" when E(3) = '1' else
"10" when E(2) = '1' else
"01" when E(1) = '1' else
"00";
EO<='1' when E="0000" else'0';
end arch1;

architecture arch1 of CODI8a3 is


begin
S <= "111" when E(7) = '1' else
"110" when E(6) = '1' else
"101" when E(5) = '1' else
"100" when E(4) = '1' else
"011" when E(3) = '1' else
"010" when E(2) = '1' else
"001" when E(1) = '1' else
"000";
C<='0' when E="00000000" else'1';
end arch1;

Para estos decodificadores se ha usado la estructura when-else. Se trata de


una estructura concurrente. En este caso, usamos varios when-else anidados.
Cuando la entrada E toma un nmero en binario, la lnea correspondiente se
activa. La entrada E es un vector, usamos entonces E() para ir llamando a
los bits correspondientes.

Decodificador 2 a 4
library IEEE;
use IEEE.std_logic_1164.all;
entity DECO2a4 is
port(
input : in
std_logic_vector(1 downto 0);
output : out std_logic_vector(3 downto 0));
end DECO2a4;
architecture arch1 of DECO2a4 is
begin
output <= "1000" when input="11" else
"0100" when input="10" else
"0010" when input="01" else
"0001";
end arch1;

12

También podría gustarte