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...