El dia de hoy les traigo mas ejemplos de vhdl... espero que ya se esten dando cuenta como se hace esto de vhdl.....
Ejemplo 6:
Diseñar en VHDL, un codificador de 4:2 con prioridad
     | -------------------------------------------------
  -- electronico-etn.blogspot.com-- ejemplos practiicos
 -- Codificador de prioridad
 -------------------------------------------------
 library ieee;
 use ieee.std_logic_1164.all;
 
 entity codificador is
 port    (w:in std_logic_vector (3 downto 0);
 y: out std_logic_vector (1 downto 0);
 z: out std_logic);
 end codificador;
 
 architecture behaivor of codificador is
 beginwith w select
 y
<=    "00" when "0001","01" when "0010",
 "01" when "0011",
 "10" when "0100",
 "10" when "0101",
 "10" when "0110",
 "10" when "0111",
 "11" when others;
 with w select
 z
<=    '0' when "0000",'1' when others;
 end behaivor;
 | 
Ejemplo 7:
Diseñar en VHDL, un codificador 4:2 (como el ejemplo anterior), sin tanto codigo. realizarlo mas eficientemente
Solucion:
     | --------------------------------------------------
  -- electronico-etn.blogspot.com-- ejemplos practiicos
 -- Codificador de prioridad + eficiente
 --------------------------------------------------
library ieee;
 use ieee.std_logic_1164.all;
 
 entity codeficiente is
 port    (w:in std_logic_vector (3 downto 0);
 y: out std_logic_vector (1 downto 0);
 z: out std_logic);
 end codeficiente;
 
 architecture behaivor of codificador is
 begin
 with w select
 y
<=    "11" when w(3) H '1' else"10" when w(2) H '1' else
 "01" when w(1) H '1' else
 "00";
 z
<=    '0' when    w = "0000", else '1';end codeficiente;
 | 
 Ejemplo 8:
Diseñar en VHDL, un comparador de 4 bits 
, que a la salida te de informacion de 
A mayor que 
B, 
A menor que 
B y 
A Igual que 
B.
Solucion:
     | --------------------------------------------- electronico-etn.blogspot.com
 -- APLICACION DE MULTIPLEXORES
 -- COMPARACION
 -------------------------------------------
 LIBRARY IEEE;
 USE IEEE.STD_LOGIC_1164.ALL;
 
 ENTITY comparador IS
 PORT
 (BCD1, BCD2: IN std_logic_vector(3 DOWNTO 0);
 Igual, Mayor, Menor: OUT std_logic);
 END comparador;
 
 ARCHITECTURE RTL OF comparador IS
 BEGIN
 
 Compara:PROCESS(BCD1, BCD2)
 BEGIN
 --Comparación de Igualdad.
 IF (BCD1 = BCD2)
 THEN Igual <= '1';
 ELSE Igual <= '0';
 END IF;
 --Comparación de Mayor (svE1>svE2).
 IF (BCD1 > BCD2)
 THEN Mayor <= '1';
 ELSE Mayor <= '0';
 END IF;
 --Comparación de Menor (svE1
 IF (BCD1 < BCD2)
 THEN Menor <= '1';
 ELSE Menor <= '0';
 END IF;
 END PROCESS Compara;
 END RTL;
 | 
Ejemplo 9:
Diseñar en VHDL, un comparador de 4 bits, que a la salida te de informacion de 
A mayor  que 
B, 
A menor que 
B y 
A Igual que 
B. METODO 2 (ojo: hay varios mas)
     | ------------------------------------------ electronico-etn.blogspot.com
 -- ejemplos practiicos
 ----------------------------------------
 LIBRARY ieee;
 USE ieee.std_logic_1l64.all;
 USE ieee.std_logic_unsigned.all ;
 ENTITY ejemplo09 ISPORT ( A,B: IN STD_LOGIC_VECTOR(3 DOWNTO 0);
 igual,mayor,menor: OUT STD_LOGIC);
 END ejemplo09;
 
 ARCHITECTURE rtl OF ejemplo09 IS
 BEGIN
  igual <= 'l' WHEN A = B ELSE '0';
  mayor <= '1' WHEN A > B ELSE '0';
  menor <='l' WHEN A < B ELSE'0';END rtl;
  | 
Ejemplo 10:
Diseñar en VHDL, un comparador de 4 bits 
CON SIGNO, que a la salida te de informacion de 
A mayor   que 
B, 
A menor que 
B y 
A Igual que 
B
Solucion:
     | ----------------------------------- electronico-etn.blogspot.com
 -- ejemplos practiicos
 ---------------------------------
 LIBRARY ieee;
 USE ieee.std_logic_1164.all;
 USE ieee.std_logic_arith.all;
 -- aqui en la libreria arith radica la
 -- diferencia, a comparacion del
 -- anterior circuito
 
 ENTITY ejemplo10 ISPORT ( A,B: IN signed(3 DOWNTO 0);
 igual,mayor,menor: OUT STD_LOGIC);
 END ejemplo10;
 
 ARCHITECTURE  behavior OF ejemplo10 IS
 BEGIN
 igual <=  'l' WHEN A = B ELSE '0';
 mayor <=  '1' WHEN A > B ELSE '0';
 menor <='l'  WHEN A < B ELSE'0';END behavior;
 | 
Ejemplo 11:
Diseñar en VHDL, un multiplexor de 16 a 1 con 4 variables de seleccion. 
USANDO multiplexores de 4 a 1
Solucion:
     | ------------------------------------------------ electronico-etn.blogspot.com
 -- ejemplos practiicos
 ----------------------------------------------
 LIBRARY ieee;
 USE ieee.std_logic_1l64.all;
 LIBRARY work;
 USE work.mux4to1_package.all;
 ENTITY ejemplo11 IS
 PORT(w :IN
STD_LOGIC_VECTOR(0 TO 15);
 s :IN STD_LOGTC_VECTOR(3 DOWNTO 0);
 f :OUT STD_LOGIC );
 END ejemplo11;
 ARCHITECTURE Structure OF ejemplo1l IS
 SIGNAL m:STD_LOGIC_VECTOR(O TO 3) ;
 BEGIN
 Mux1: mux4ro1 PORT MAP
 (w(0),w(1),w(2),w(3),s(1 DOWNTO 0),m(0));
 Mux2: mux4to1 PORT MAP
 (w(4),w(5),w(6),w(7),s(1 DOWNTO 0),m(1));
 Mux3: mux4to1 PORT MAP
 (w(8),w(9),w(10),w(11),s(l DOWNTO 0),m(2));
 Mux4: mux4to1 PORT MAP
 (w(12),w(13),w(14),w(15),s(l DOWNTO 0),m(3));
 Mux5: mux4to1 PORT MAP
 (m(0),m(l),m(2),m(3),s(3 DOWNTO 2),f );
 END Structure; | 
Proximamente mas ejemplos sobre transcodificadores, y ejemplos de laboratorios de digitales 1