









Prepara tus exámenes y mejora tus resultados gracias a la gran cantidad de recursos disponibles en Docsity
Gana puntos ayudando a otros estudiantes o consíguelos activando un Plan Premium
Prepara tus exámenes
Prepara tus exámenes y mejora tus resultados gracias a la gran cantidad de recursos disponibles en Docsity
Prepara tus exámenes con los documentos que comparten otros estudiantes como tú en Docsity
Encuentra los documentos específicos para los exámenes de tu universidad
Estudia con lecciones y exámenes resueltos basados en los programas académicos de las mejores universidades
Responde a preguntas de exámenes reales y pon a prueba tu preparación
Consigue puntos base para descargar
Gana puntos ayudando a otros estudiantes o consíguelos activando un Plan Premium
Comunidad
Pide ayuda a la comunidad y resuelve tus dudas de estudio
Ebooks gratuitos
Descarga nuestras guías gratuitas sobre técnicas de estudio, métodos para controlar la ansiedad y consejos para la tesis preparadas por los tutores de Docsity
En una Nexys 3 con lenguaje VHDL se presenta: -el diseño de un generador de bit de paridad par, de esta forma el transmisor ahora enviara 9 datos. - el diseño de un comprobador de error de paridad, el cual tiene 9 entradas y una salida. -Decodificador de dieciséis números con un display de 7 segmentos - Diseño de un circuito integrado 74151 en VHDL que hace referencia a un multiplexor 8x1.
Tipo: Ejercicios
1 / 15
Esta página no es visible en la vista previa
¡No te pierdas las partes importantes!










Conocer la herramienta de desarrollo ISE Design 10.1 o superior para proyectos en VHDL, así como gravarlos en un dispositivo PLD. II INTRODUCCIÓN: 2.1 Lenguaje VHDL El lenguaje de descripción hardware VHDL ( V ery high speed H ardware D escription L ogic) es un lenguaje orientado a la descripción de hardware pero con muchos elementos heredados de otros lenguajes como C o Pascal. Una vez realizado un programa en VHDL (con extensión VHD) y haberlo compilado con éxito, tendremos un fichero con el mismo nombre y extensión JED, con el cual podremos grabar una PLD (Dispositivo Lógico Programable) con la misma operatividad que el fichero VHD. Al describir cualquier dispositivo en VHDL (desde una simple puerta and hasta un sistema completo) se deben definir dos elementos principales: Entidad o entity que es la interfaz del dispositivo con el exterior. Tiene por objeto decir que señales son visibles o accesibles desde el exterior, es decir los puertos o ports del dispositivo. entity prog01 is port ( a,b,c: in std_logic; x: out std_logic; end prog01; Arquitectura o arquitecture que es la funcionalidad que realiza el dispositivo, es decir, qué transformaciones se realizarán sobre los datos que entren por los puertos de entrada para producir la salida. Dentro de este apartado es donde se dota de operatividad al circuito. Su estructura general es la siguiente, y debe estar incluida en el mismo fichero de la entidad a la que hace referencia: arquitecture nombre of nombre_entidad is begin sentencias end nombre; Además se debe tener en cuenta una serie de detalles más de éste lenguaje:
Figura 3. Multiplexor (conmutador) III DESARROLLO: 3 .1 Ambiente de desarrollo Para el desarrollo de esta práctica utilizamos el ambiente de desarrollo básico de Xilinx ISE Desing Suite versión 14.7, a través de sus herramientas para síntesis lógica y física de sistemas digitales sobre FPGAs se realizó, para cada problema presentado en la práctica, la configuración y programación de una Nexys 3 con una tarjeta xc6slx16-2csg324 y Spartan 6. 3 .2 Problemas y solución. Problema 1.- Para aumentar la confiabilidad de un transmisor que envía un dato de 8 bits. Diseñe un generador de bit de paridad par, de esta forma el transmisor ahora enviara 9 datos. Figura 4. Generador de paridad Solución: Para el diseño del generador de paridad se diseñó un circuito con 7 entradas y 8 salidas, debido a que la Nexys 3 solo cuenta con 8 Led’s, sin embargo, fue el mismo principio, las entradas se compararon entre sí una a una con una compuerta xor y el último Led encendía cuando se tenían activado un número impar de entradas y se apagaba cuando el número de entradas era par. Posteriormente se procedió a simular el programa y una vez que se comprobó el funcionamiento,
se sintetizó e implementó para poder generar el circuito y grabarlo en la Nexys 3. El código VHDL puede verse en las figuras 2 y 3. Figura 5. Descripción del circuito generador de paridad. Figura 6. Especificación de las terminales de los switch y LEDs de la tarjeta de desarrollo para el generador de paridad.
Figura 9. Especificación de las terminales de los switch y LEDs de la tarjeta de desarrollo para mostrar el error del generador de paridad. Problema 3.- Diseñar un decodificador de dieciséis números con un display de 7 segmentos como lo indica la figura siguiente. Figura 10. Patrones del decodificador. Solución: Para poder hacer el decodificador lo primero que hicimos fue declarar un total de 4 entradas para elegir el número y 7 salidas para poder mostrarlo en los displays de 7 segmentos, además se declaró otro vector de longitud 4 para poder activar los 4 displays de la Nexys 3 que utilizamos como se muestra en la figura 8.
Figura 11. Entidad del decodificar de para un display de 7 segmentos. Posteriormente se realizó el código del decodificar, el cual consiste en asignar a cada bit del display un ‘0’ o un ‘1’ dependiendo de si queremos que encienda o se apagué dicho segmento respectivamente en base al número en binario que indiquemos con los bits de entrada. Figura 12. Descripción del circuito de un decodificar de dieciséis números.
Solución: Para el realizar el circuito integrado 74151 se diseñó teniendo como base un multiplexor 8x1, lo que significa que tenemos: ▪ 8 entradas de datos ▪ 3 entradas de selección obtenidas de: 2 n^ entradas = n selectores 8=2^3 - > 3 Selectores También, como se muestra en la fig. 14. en la tabla de verdad, el circuito integrado 74151 además de la salida Z, tiene una salida negada 𝑍̅. Una vez declaradas las entradas y salidas se realizó la implementación lógica binaria de las entradas de selección con sus correspondientes entradas de datos, de acuerdo a la tabla de verdad anteriormente mencionada. Asimismo se colocó el “enable” que no es mas que una instrucción con la que se deshabilitará el multiplexor cuando ésta sea activada (en este caso se le asigno un botón de la Nexys 3) como se muestra en la siguiente imagen. Figura 15. Descripción del circuito integrado 74151 en VHDL.
Como se muestra en la fig. 15 para la asignación de botones se colocaron las entradas de datos en los Switch, las entradas de selección al igual que el “enable” en los botones, las salidas se representaron mediante Led’s que encienden o apagan de acuerdo a las instrucciones que reciben. Figura 16. Generador de paridad visto en la tarjeta de desarrollo. 3 .4 Comprobación física. A continuación, se muestran los resultados obtenidos de acuerdo con la solución dada para cada uno de los problemas propuestos en la práctica. 1.- Generador de paridad:
3.- Decodificador de dieciséis números para displays de 7 segmentos: Figura 19. Decodificador de dieciséis números visto en la Nexys 3. 4 .- Circuito integrado 74151 (Multiplexor 8x1) Figura 20. Última instrucción (según tabla de Fig. 14) a) Led de salida Z encendido (sin activar “enable”), b) led de salida negada 𝒁̅ encendido (“enable” activado) a) b)
Figura 21. Tercer instrucción (según tabla de Fig. 14) a) Led de salida Z encendido (sin activar “enable”), b) led de salida negada 𝒁̅ encendido (“enable” activado) IV OBSERVACIONES Y CONCLUSIONES: El desarrollo de la práctica se me facilitó debido a que los problemas o ejercicios propuestos no eran de mucha dificultad, sin embargo, tuvimos algunos problemas con el último ejercicio debido a que no podíamos declarar la variable del enable, pero después de intentar con distintas formas o métodos pudimos hacer que el programa funcionara correctamente con un simple if. Este tipo de prácticas me ayudan mucho para reforzar algunos conceptos que por falta de práctica había olvidado, y me hacen familiarizar cada vez mejor con el programa y el lenguaje de programación VHDL y la Nexys 3. Hicimos una entidad y una arquitectura para cada problema y en diferentes proyectos del ISE Design Suite 14.7 debido a que no supimos implementar varias entidades en un solo programa. Al final, logramos cumplir con todos los objetivos y aprendimos nuevas cosas que nos ayudarán en futuras prácticas. Durante la resolución de cada problema me pude percatar de las facilidades que brinda la plataforma ISE Design Suite 14.7, se pueden desarrollar una variedad de programas para implementarlos en la Nexys 3 u otra tarjeta. Se puede realizar desde la programación de compuertas lógicas hasta el uso de código binario para programar tablas de verdad. Aunque el lenguaje VHDL es sencillo, tuvimos algunos problemas de Syntaxis pues debíamos recordar cómo programar las compuertas lógicas correctamente en los primeros problemas, se presentaron errores a la hora de colocar corchetes o paréntesis, además en el último problema se presentó la dificultad de cómo usar adecuadamente “elsif” y “else” para que “enable” realizara correctamente su función de activar o desactivar el multiplexor. a) b)