Pregunta para principiantes sobre VHDL. Utilizo VHDL para crear un controlador de válvulas digital de siete segmentos cc4511.
Copié tu programa y hubo varios errores y advertencias cuando lo ejecuté en Quartus. Se han corregido. Puedes comprobarlos y corregirlos tú mismo. Básicamente, lo que escribiste es bastante bueno, pero los hay. algunos errores Los detalles no son muy reflexivos y los errores también son muy primitivos, por ejemplo, a la estructura detrás del fuselaje le falta un comienzo. Jaja, no soy lo suficientemente cuidadoso, he adjuntado una simulación para ver el efecto. Si tienes alguna pregunta, házmelo saber. También soy principiante. .....
biblioteca?ieee;?
use?ieee.std_logic_1164.all;?
entidad?
puerto (?lt,?bi,?le:?in?std_logic;?
insign?:in?std_logic_vector(3?downto?0);?
outsign?:out? std_logic_vector(6?downto?0));?
Puerto de salida abcdefg?
La lógica arquitectónica de cc4511 es
comenzar
proceso(lt,bi,le,insign)?
Iniciar
si(lt='0')entonces
cerrar sesión<="1111111";?
elsif(bi='0')entonces?--lt='1'and?bi='0'?
outsign<="0000000";?
elsif(le='0') entonces --lt='1' and bi='1' and le='0'?
--¿Parte de decodificación DCBA?
caso?insign?es?
¿cuándo?"0000"=>?outsign<="1111110";?--****0?
¿Cuándo?"0001"=>?outsign<="0110000";?--****1?
¿Cuándo?"0010"=>?outsign<=" 1101101";?--****2?
¿cuándo?"0011"=>?outsign<="1111001";?--****3?
¿Cuándo?"0100"=>?outsign<="0110011";?--****4?
¿Cuándo?"0101"=>?outsign<="1011011";?--* ***5?
¿Cuándo?"0110"=>?outsign<="0011111";?--6?
¿Cuándo?"0111"=>?outsign<= "1110000";?--7?
¿Cuándo?"1000"=>?outsign<="1111111";?--8?
¿Cuándo?"1001"=>?outsign<="1110011";?--****9?
¿cuándo?otros?=>?outsign<="0000000 ";?---- ¿desvanecerse?
end?
else?outsign<="0000000";
end?if;?
¿final?
final?logic;.