Sunteți pe pagina 1din 6

Instituto Politcnico

Nacional
Unidad Profesional
Interdisciplinaria de Ingeniera y
Tecnologas Avanzadas

Dispositivos Lgicos
Programables
Practica 0. Introduccin a Entorno
VHDL
Profesor: TREJO SALAZAR DAVID BENJAMIN
Grupo: 2MV6
ALUMNOS:

Njera Becerra Maximiliano


Olea Vargas Jonathan
Emmanuel
Romero Martnez Issa Balam
Ao Lectivo

2015

INTRODUCCIN.
Para que sea til, la lgica programable debe permitir combinar componentes tanto
hardware como software en una misma unidad funcional. Todos los fabricantes de dispositivos
SPLD, CPLD y FPGA proporcionan soporte software para cada dispositivo hardware. Estos
paquetes de software se encuentran dentro una categora de software que se conoce con el
nombre de CAD (Computer Aided Design, diseo asistido por computadora). Suponga que
dispone de un diseo de circuito lgico que quiere implementar en un dispositivo programable.
Podemos introducir el diseo en la computadora utilizando dos formas bsicas: introduccin de
esquemticos o introduccin de textos. Para poder emplear el mtodo de la introduccin de
texto, deber estar familiarizado con un lenguaje de descripcin de alto nivel (HDL), como por
ejemplo VHDL, Verilog, ABEL o AHDL. La mayora de los fabricantes de lgica programable
proporcionar paquetes de software que soportan VHDL y Verilog, porque se trata de lenguajes
HDL estndar. Algunos fabricantes soportan tambin ABEL, AHDL y otros lenguajes HDL
propietario. La introduccin de esquemticos nos permite bsicamente colocar en pantalla
smbolos de puertas lgicas y otras funciones lgicas de biblioteca y conectarlos segn se
requiera en el diseo. No hace falta conocer un lenguaje HDL para realizar la introduccin de
esquemticos
1.-Para aumentar la confiabilidad de un transmisor que enva un dato de cuatro bits,
Disee un generador de bit de paridad par, de esta forma el transmisor ahora enviara 5
datos.
library IEEE;
use IEEE.STD_LOGIC_1164.ALL;
use IEEE.STD_LOGIC_arith.ALL;
use IEEE.STD_LOGIC_unsigned.ALL;

entity Ejercicio1 is
Port ( entradas : in STD_LOGIC_vector(0 to 3);
salidas : out STD_LOGIC_vector(0 to 3);
paridad : out STD_LOGIC);
end Ejercicio1;
architecture Behavioral of Ejercicio1 is
begin
salidas<=entradas;
paridad<= not((entradas(0) xor entradas(1))xor(entradas(2) xor entradas(3)));
--La XOR slo va ser cierta en un nmero impar de bits en alto, as al aplicar la
expresin
--NOT a todas las XOR, solo estar en alto en un nmero par de bits en alto
end Behavioral;

2.-Disee el comprobador de error de paridad, el cual tiene 5 entradas y una salida.

.
library IEEE;
use IEEE.STD_LOGIC_1164.ALL;
use IEEE.STD_LOGIC_arith.ALL;
use IEEE.STD_LOGIC_unsigned.ALL;
entity Ejercicio2 is
Port ( entradas : in STD_LOGIC_vector(0 to 3);
par : out STD_LOGIC;
comp : in STD_LOGIC);
end Ejercicio2;
architecture Behavioral of Ejercicio2 is
begin
par <= comp xor not((entradas(0) xor entradas(1))xor(entradas(2) xor entradas(3)));
--La XOR slo va ser cierta en un nmero impar de bits en alto, as al aplicar la
expresin
--NOT a todas las XOR, solo estar en alto en un nmero par de bits en alto, y esto se
-- compara con la entrada par, para detectar un posible error
end Behavioral;

3.- Disear un decodificador de diecisis nmeros con un display de 7 segmentos.


library IEEE;
use IEEE.STD_LOGIC_1164.ALL;
entity Ejercicio3 is
Port ( entradas : in STD_LOGIC_vector(0 to 3);
disp : out STD_LOGIC_vector(0 to 7);
AD : out STD_LOGIC_vector(0 to 3));
end Ejercicio3;
architecture Behavioral of Ejercicio3 is
begin

--Aqu se compara la entrada con cada caso para poderlo convertir de binario a su
--formato aplicable a un display de nodo comn
display : process(entradas)begin
AD<=x"7";
if(entradas="0000")then disp<=x"03";

elsif(entradas="0001")then disp<=x"9F";
elsif(entradas="0010")then disp<=x"25";
elsif(entradas="0011")then disp<=x"0D";
elsif(entradas="0100")then disp<=x"99";
elsif(entradas="0101")then disp<="01001001";
elsif(entradas="0110")then disp<="01000001";
elsif(entradas="0111")then disp<=x"1f";
elsif(entradas="1000")then disp<=x"01";
elsif(entradas="1001")then disp<=x"19";
elsif(entradas="1010")then disp<=x"B9";
elsif(entradas="1011")then disp<=x"B5";
elsif(entradas="1100")then disp<=x"D5";
elsif(entradas="1101")then disp<=x"D9";
elsif(entradas="1110")then disp<=x"6F";
elsif(entradas="1111")then disp<=x"FD";
else disp<=x"FF";
end if;
end process display;
end Behavioral;

4.-Disee el circuito integrado 74151 en VHDL (verifique las hojas de especificaciones), que
hace referencia a un multiplexor 8x1.
library IEEE;
use IEEE.STD_LOGIC_1164.ALL;
use IEEE.STD_LOGIC_arith.ALL;
use IEEE.STD_LOGIC_unsigned.ALL;

entity multiplexor is
Port ( ent : in STD_LOGIC_VECTOR (0 to 7);
sel : in STD_LOGIC_VECTOR (0 to 2);
sal : out STD_LOGIC);
end multiplexor;
architecture Behavioral of multiplexor is
begin
mux: process(ent,sel)begin
Case sel is
--Aqu se compara con cada caso, y al ser iguales se le asigna la salida pertinente
when"000" => sal <= ent(0);
when"001" => sal <= ent(1);

when"010" => sal <= ent(2);


when"011" => sal <= ent(3);
when"100" => sal <= ent(4);
when"101" => sal <= ent(5);
when"110" => sal <= ent(6);
when"111" => sal <= ent(7);
when others => sal <= '0';
end Case;
end process mux;

end Behavioral;
CONCLUSIONES
Njera Becerra Maximiliano
En esta prctica se pudo recordar los fundamentos de la programacin con el lenguaje de
programacin VHDL, que una de sus ventajas es la de facilitar la descripcin del hardware que
se est diseando, evitando as el uso de una cantidad considerable compuertas, flip-flops,
multiplexores, por mencionar algunos de toda la gama componentes que se hubiera requerido
para poder crear esta prctica por los mtodos tradicionales de diseo. Al usar VHDL tambin
se redujo de manera significativa el nmero de instrucciones necesarias para poder crear el
prototipo, que las que se habran utilizada en ensamblador, ya que VHDL y cualquier otro
lenguaje de descripcin de software est diseado especficamente para este tipo de
aplicaciones y cuenta con funciones especializadas en circuitos lgicos que le simplifican el
trabajo al programador y permiten enfocarse ms a la resolucin del problema que a la
codificacin.
Olea Vargas Jonathan Emmanuel
Pudimos ver en esta prctica el uso del sistema de comprobacin de errores mediante el uso
del sistema del bit de error de paridad, que en este caso se us una paridad par, tambin se
program el circuito encargado de monitorear el correcto funcionamiento del sistema antes
mencionado, este tipo de sistemas incrementan la seguridad entre la comunicacin de diversos
dispositivos, sin embargo como cualquier sistema son susceptibles a cierto tipo de errores, que
en este caso, sera incapaz de detectar un error si se dieran por pares, puesto que este
sistema slo est habilitado para detectar errores en una cantidad de bits impares, una de
las tantas soluciones que se le podran dar a este problema, es, implementarle un bit de
imparidad aunque incrementara la complejidad del sistema, y posiblemente la aplicacin para la
que se est diseando este circuito no lo requiera.
Romero Martnez Iss Balam.
En esta prctica conocimos y recordamos algunas de las instrucciones usadas en VHDL,
que nos permitan crear cualquier compuerta desde un lenguaje de programacin, lo que implica
poder crear componentes de acuerdo a nuestras necesidades, y evitar tener que adaptarse a
las configuraciones establecidas en los circuitos integrados, que a veces complican de sobre

manera la interconexin entre diversos componentes, tambin no es necesario estar revisando


la disponibilidad de un integrado en especial, o que se sencillamente su costo lo hace inviable en
su implementacin en nuestros proyectos. Tambin nos permite simularlo todo en un mismo
ambiente de trabajo, tan slo con reconfigurar los pines de entrada y salida, adems que las
NEXYS cuentan con la interfaz grfica necesaria que normalmente se ocupa en los diseos de
sistemas digitales

S-ar putea să vă placă și