INSTITUTO TECNOLÓGICO DE MORELIA MAESTRIA EN CIENCIAS EN INGENIERÍA ELECTRÓNICA ELECTRÓNICA DIGITAL AVANZADA REPORTE 5 “SUMADOR DE 6 BITS IMPLEMENTADO EN EL CPLD XC2C64A-7VQ44” NOMBRE: ING. ANTONY MORALES CERVANTES N. C. M06120218 PROFESOR: DR. ARTURO MENDEZ PATIÑO 9 DE MARZO DEL 2012 Contenido 1 Descripción .................................................................................................................................. 3 2 Código en VHDL para implementar sumador en CPLD ............................................................... 4 2.1 Programa principal. ............................................................................................................. 4 2.2 Sumador genérico instanciado en programa principal ....................................................... 7 2.2.1 Medio sumador ........................................................................................................... 8 2.2.2 Sumador completo ...................................................................................................... 8 2.3 3 Archivo de restricciones ...................................................................................................... 9 Conclusiones.............................................................................................................................. 10 2 1 Descripción En esta práctica se implementó un sumador en un CPLD de la familia XC2C64A-7VQ44 mostrado en la Ilustración 1, debido a la lógica del código, la suma máxima que se pudo implementar fue de 6 bits. Se instanció un sumador genérico, el cual a su vez tiene instanciados un sumador completo y un medio sumador. Mediante un proceso se realiza la asignación de bits correspondientes a los displays, el display de la derecha el menos significativo hasta el display de la izquierda el más significativo. Y otro proceso para codificar en bloques de 4 bits y poderlos mostrar en la hexadecimal. Ilustración 1. CPLD XC2C64A-7VQ44 Los 6 bits son introducidos con el dip switch con los botones 3-8 siendo el 3 el bit menos significativo y el 8 el más significativo, para cargar el primer dato de la suma se realiza mediante el botón 2 y el segundo dato de la suma se carga con el botón uno. Un botón extra es usado para seleccionar si se despliega en los 4 displays el resultado o los valores introducidos. 3 2 Código en VHDL para implementar sumador en CPLD 2.1 Programa principal. Sección de Código 1. Sumador para CPLD. Declaración de librerías, puertos, señales e instanciación del sumador genérico. 4 Sección de Código 2. Sumador para CPLD. Procesos de carga de datos y de selección para mostrar la salida o los datos cargados a través de los displays. 5 Sección de Código 3. Sumador para CPLD. Proceso para mostrar los datos del decodificador en los displays, ordenando en bloques de 4 bits tomando de los menos significativos a los más significativos. Y los displays ordenados de derecha a izquierda. Sección de Código 4. Sumador para CPLD. Condiciones del decodificador para mostrar números en hexadecimal en los displays. 6 2.2 Sumador genérico instanciado en programa principal Sección de Código 5. Sumador genérico instanciando un medio sumador y un sumador completo. 7 2.2.1 Medio sumador Sección de Código 6. Medio sumador. 2.2.2 Sumador completo Sección de Código 7. Sumador completo. 8 2.3 Archivo de restricciones Sección de Código 8. Archivo de restricciones para asignación de pines a la tarjeta CPLD. 9 3 Conclusiones El problema más relevante en la implementación del sumador en el CPLD es la limitante de las macroceldas, ya que esto reduce la cantidad de bits que podemos sumar. y podemos concluir que el lenguaje de VHDL es una herramienta muy útil para el desarrollo práctico de diversos programas. 10