ejemplos Basicos Vhdl

Empezemos con ejemplos de circuitos combinacionales simple}, luego algunos MSI por quartus 2.
los ejemplos que los ire poniendo a continuacion seran por nivel, en que vallamos aprendiendo vhdl.
ACA LES TRAIGO 5 ejemplos:
Ejemplo 1:
Diseñar en VHDL, una puerta NOREX.
---------------------------------
-- electronico-etn.blogspot.com
-- ejemplos practiicos
---------------------------------
library ieee;
use ieee.std_logic_1164.all;

entity ejemplo01 is
port
(a,b: in std_logic; F: out std_logic);
end ejemplo01;

architecture rtl of ejemplo01 is
begin
F<= a xnor b;
end rtl;


Ejemplo 2:
Diseñar en VHDL, un sistema que cumpla con F=A'B'+B'C+AC'
Solucion:
---------------------------------
-- electronico-etn.blogspot.com
-- ejemplos practiicos
---------------------------------
library ieee;
use ieee.std_logic_1164.all;

entity ejemplo02 is
port
(A,B,C: in std_logic; F: out std_logic);
end ejemplo02;

architecture rtl of ejemplo02 is
begin
F<= (not A AND not B)OR(not B AND C)OR(A AND not C);
end rtl;

 Ejemplo 3:
Diseñar en VHDL, un multiplexor de 4 entradas (E3,E2,E1,E0) y una salida F. Con 2 variables de seleccion S1,S0.
Solucion:
---------------------------------
-- electronico-etn.blogspot.com
-- ejemplos practiicos
---------------------------------
library ieee;
use ieee.std_logic_1164.all;

entity ejemplo03 is
port
(E: in std_logic_vector(3 DOWNTO 0);
F: out std_logic; S: in std_logic_vector(1 DOWNTO 0)
end ejemplo03;

architecture rtl of ejemplo03 is
begin
with S select
F<= E(0) when "00",
           E(1) when "01",
           E(2) when "10",
           E(3) when others;
end rtl;

Ejemplo 4:
Diseñar en VHDL, un decodificador completo de 3 entradas (I2,I1,I0)y 8 salidas (S7,S5,S4,...,S0)
Solucion:
---------------------------------
-- electronico-etn.blogspot.com
-- ejemplos practiicos
---------------------------------
library ieee;
use ieee.std_logic_1164.all;

entity ejemplo04 is
port
(I: in std_logic_vector(3 DOWNTO 0);
S: out std_logic_vector(7 DOWNTO 0)
);
end ejemplo04;

architecture rtl of ejemplo04 is
begin
with E select
S<= "00000001" when "000",
       "00000010" when "001",
       "00000100" when "010",
       "00001000" when "011",
       "00010000" when "100",
       "00100000" when "101",
       "01000000" when "110",
       "10000000" when others;
end rtl;

Ejemplo 5:
Diseñar en VHDL, un decodificador completo de 3 entradas (I2,I1,I0)y 8 salidas (S7,S5,S4,...,S0). Con señal enable/disable
Solucion:
---------------------------------
-- electronico-etn.blogspot.com
-- ejemplos practiicos
---------------------------------
library ieee;
use ieee.std_logic_1164.all;

entity ejemplo05 is
port
(I: in std_logic_vector(3 DOWNTO 0);
S: out std_logic_vector(7 DOWNTO 0);
ENABLE: in std_logic);
end ejemplo05;

architecture rtl of ejemplo05 is
signal sAUX: std_logic_vector(7 DOWNTO 0);
begin
with E select
   sAUX<=  "00000001" when "000",
         "00000010" when "001",
         "00000100" when "010",
         "00001000" when "011",
         "00010000" when "100",
         "00100000" when "101",
         "01000000" when "110",
         "10000000" when others;
S<=  sAUX when ENABLE='1' ELSE "00000000";
end rtl;

Proximamente mas ejemplos sobre codificador, codificador directo a un display de 7 segmentos, generadores de paridad, transcodificadores, etc etc etc.. segun tenga tiempo de vago ire colgando mas ejemplitos.. si tienes proyectos en quartus 2 , seria bueno que los compartas asi todos aprendemos...