






Prepara tus exámenes y mejora tus resultados gracias a la gran cantidad de recursos disponibles en Docsity
Gana puntos ayudando a otros estudiantes o consíguelos activando un Plan Premium
Prepara tus exámenes
Prepara tus exámenes y mejora tus resultados gracias a la gran cantidad de recursos disponibles en Docsity
Prepara tus exámenes con los documentos que comparten otros estudiantes como tú en Docsity
Encuentra los documentos específicos para los exámenes de tu universidad
Estudia con lecciones y exámenes resueltos basados en los programas académicos de las mejores universidades
Responde a preguntas de exámenes reales y pon a prueba tu preparación
Consigue puntos base para descargar
Gana puntos ayudando a otros estudiantes o consíguelos activando un Plan Premium
Comunidad
Pide ayuda a la comunidad y resuelve tus dudas de estudio
Ebooks gratuitos
Descarga nuestras guías gratuitas sobre técnicas de estudio, métodos para controlar la ansiedad y consejos para la tesis preparadas por los tutores de Docsity
Ejemplos de circuitos programados en vhdl
Tipo: Apuntes
1 / 10
Esta página no es visible en la vista previa
¡No te pierdas las partes importantes!







Ejemplos de Codificación en VHDL Puerta lógica AND y OR library IEEE; USE IEEE.STD_LOGIC_1164.ALL; ENTITY MiAND is port(A,B : in STD_LOGIC; Y : out STD_LOGIC); END ENTITY; ARCHITECTURE CÓDIGOS_MiAND of MiAND is signal Auxiliar_IN : STD_LOGIC_VECTOR(1 downto 0); BEGIN --CÓDIGO 2 : USANDO SENTENCIA CONCURRENTE(SE EVALUAN LAS LÍNEAS DE CÓDIGO EN PARALELO)WHEN ELSE Auxiliar_IN <= A&B; Y <= '1' when Auxiliar_IN="11" else '0'; END CÓDIGOS_MiAND;
ENTITY MiAND is port(Entradas : in STD_LOGIC_VECTOR(1 downto 0); Y : out STD_LOGIC); END ENTITY; ARCHITECTURE CÓDIGOS_MiAND of MiAND is BEGIN --CÓDIGO 2 : USANDO SENTENCIA CONCURRENTE WHEN ELSE --(SE EVALUAN LAS LÍNEAS DE CÓDIGO EN PARALELO) Y <= '1' when Entradas="11" else '0'; END CÓDIGOS_MiAND;
ENTITY MiAND is port(Entradas : in STD_LOGIC_VECTOR(1 downto 0); Y : out STD_LOGIC); END ENTITY; ARCHITECTURE CÓDIGOS_MiAND of MiAND is BEGIN --CÓDIGO 2 : USANDO SENTENCIA CONCURRENTE WITH SELECT WHEN --(SE EVALUAN LAS LÍNEAS DE CÓDIGO EN PARALELO) with Entradas select Y <= '1' when "11", '0' when others; END CÓDIGOS_MiAND;
ENTITY MiAND is port(Entradas : in STD_LOGIC; Y : out STD_LOGIC); END ENTITY; ARCHITECTURE CÓDIGOS_MiAND of MiAND is BEGIN --CÓDIGO 3 : USANDO SENTENCIA SECUENCIAL IF --(SE EVALUAN LAS LÍNEAS DE CÓDIGO EN SERIE DENTRO DE UN PROCESS QUE EQUIVALE A UNA LÍNEA DE CÓDIGO PRA EL ENTORNO DE VHDL) process(Entradas) begin if Entradas = "11" then Y <= '1'; else Y <= '0'; end if; end process;
ENTITY MiORInputs is generic( N : integer :=4); port(Entradas : in STD_LOGIC_VECTOR(N-1 downto 0); Y : in STD_LOGIC); END ENTITY; ARCHITECTURE CÓDIGOS_MiOR of MiORInputs is BEGIN --CÓDIGO 3 : USANDO SENTENCIA SECUENCIAL if --(SE EVALUAN LAS LÍNEAS DE CÓDIGO EN SERIE DENTRO DE UN PROCESS QUE EQUIVALE A UNA LÍNEA DE CÓDIGO PRA EL ENTORNO DE VHDL) process(Entradas) begin if Entradas = "0000" then Y <= '0'; else Y <= '1'; end if; end process; END CÓDIGOS_MiOR;
ENTITY MiORInputs is generic( N : integer :=4); port(Entradas : in STD_LOGIC_VECTOR(N-1 downto 0); Y : in STD_LOGIC); END ENTITY; ARCHITECTURE CÓDIGOS_MiOR of MiORInputs is BEGIN --CÓDIGO 3 : USANDO SENTENCIA SECUENCIAL if --(SE EVALUAN LAS LÍNEAS DE CÓDIGO EN SERIE DENTRO DE UN PROCESS QUE EQUIVALE A UNA LÍNEA DE CÓDIGO PRA EL ENTORNO DE VHDL) process(Entradas) begin if Entradas = (others => '0') then Y <= '0'; else Y <= '1'; end if; end process; END CÓDIGOS_MiOR;
ENTITY MiORInputs is generic( N : integer :=4); port(Entradas : in STD_LOGIC_VECTOR(N-1 downto 0); Y : inout STD_LOGIC); END ENTITY; ARCHITECTURE CÓDIGOS_MiOR of MiORInputs is BEGIN --CÓDIGO 3 : USANDO SENTENCIA SECUENCIAL FOR --(SE EVALUAN LAS LÍNEAS DE CÓDIGO EN SERIE DENTRO DE UN PROCESS QUE EQUIVALE A UNA LÍNEA DE CÓDIGO PRA EL ENTORNO DE VHDL) process(Entradas) begin Y <= Entradas(0); for i in 1 to Entradas'high loop Y <= Y OR Entradas(i); end process; END CÓDIGOS_MiOR;