Decodificador 3-8 escrito en VHDL

Decodificador 3-8 escrito en VHDL

El decodificador 3-8 es un decodificador compuesto por 3 terminales de entrada y 8 terminales de salida, que realiza la conversión de números binarios de 3 bits en salida decimal (la entrada y la salida están representadas por niveles alto y bajo). La tabla de verdad es la siguiente :
inserte la descripción de la imagen aquí
Este artículo utiliza dos métodos para implementar el decodificador (case y with-select)

Por lo tanto, al diseñar, defina 3 entidades de entrada y dos de 8 salidas (respectivamente lenguaje de casos y lenguaje con selección), diseñe dos estructuras HA y HB respectivamente, e implemente lenguaje de casos y selección en la estructura respectivamente.La declaración de asignación de señal finalmente se selecciona por la sentencia de configuración para ejecutar la sentencia with-select. (El código específico es el siguiente)

LIBRARY IEEE;
USE IEEE.STD_LOGIC_1164.ALL;
ENTITY homework1 IS
	PORT(A:IN STD_LOGIC_VECTOR(2 DOWNTO 0);               --输入端
		LED8S1,LED8S2:OUT STD_LOGIC_VECTOR(7 DOWNTO 0));  --输出端(LED8S1是HA的输出,LED8S2是HB的输出)
END homework1;

ARCHITECTURE HA OF homework1 IS      --HA实现CASE语句
BEGIN
PROCESS(A)                           --顺序执行
BEGIN
CASE A IS
WHEN "000" =>LED8S1<="11111110";
WHEN "001" =>LED8S1<="11111101";
WHEN "010" =>LED8S1<="11111011";
WHEN "011" =>LED8S1<="11110111";
WHEN "100" =>LED8S1<="11101111";
WHEN "101" =>LED8S1<="11011111";
WHEN "110" =>LED8S1<="10111111";
WHEN "111" =>LED8S1<="01111111";
WHEN OTHERS=>NULL;                    
END CASE;
END PROCESS;
END HA;

ARCHITECTURE HB OF homework1 IS            --HB实现选择赋值语句
SIGNAL tmp :STD_LOGIC_VECTOR(2 DOWNTO 0);  --定义一个信号数组
BEGIN
tmp<=A;                                    --将实体中A的值赋值给tmp
WITH tmp SELECT
LED8S2<="11111110" WHEN "000",
	   "11111101" WHEN "001",
	   "11111011" WHEN "010",
	   "11110111" WHEN "011",
	   "11101111" WHEN "100",
	   "11011111" WHEN "101",
	   "10111111" WHEN "110",
	   "01111111" WHEN "111",
	   "11111111" WHEN OTHERS;
END HB;

CONFIGURATION S OF homework1 IS             --配置
FOR HB
END FOR;
END CONFIGURATION S;



Entre ellos, CONFIGURACIÓN se usa para seleccionar la estructura a usar (la estructura HB se usa en este artículo) y
el siguiente paso es simular
inserte la descripción de la imagen aquí

Preste atención al orden DOWNTO en la entidad ENTITY (๑•́ ₃ •̀๑)

Supongo que te gusta

Origin blog.csdn.net/ws15168689087/article/details/109992766
Recomendado
Clasificación