Docsity
Docsity

Prepara tus exámenes
Prepara tus exámenes

Prepara tus exámenes y mejora tus resultados gracias a la gran cantidad de recursos disponibles en Docsity


Consigue puntos base para descargar
Consigue puntos base para descargar

Gana puntos ayudando a otros estudiantes o consíguelos activando un Plan Premium


Orientación Universidad
Orientación Universidad


vhdl ejercicios de practica, Apuntes de Electrónica Digital y Analógica

Ejemplos de circuitos programados en vhdl

Tipo: Apuntes

2019/2020

Subido el 21/10/2020

mariana-lopez-duran
mariana-lopez-duran 🇨🇴

4.5

(6)

4 documentos

1 / 10

Toggle sidebar

Esta página no es visible en la vista previa

¡No te pierdas las partes importantes!

bg1
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;
pf3
pf4
pf5
pf8
pf9
pfa

Vista previa parcial del texto

¡Descarga vhdl ejercicios de practica y más Apuntes en PDF de Electrónica Digital y Analógica solo en Docsity!

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;

USE IEEE.STD_LOGIC_1164.ALL;

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;

USE IEEE.STD_LOGIC_1164.ALL;

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;

USE IEEE.STD_LOGIC_1164.ALL;

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;

USE IEEE.STD_LOGIC_1164.ALL;

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;

USE IEEE.STD_LOGIC_1164.ALL;

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;

USE IEEE.STD_LOGIC_1164.ALL;

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;