Benemérita Universidad Autónoma de Puebla Facultad de Ciencias de la Electrónica Ingeniería en Mecatrónica Práctica 3: Diseño de Circuitos Lógicos y Aritméticos con VHDL. Equipo 7: Martínez Porras Erick Jesús Olvera Flores Javier Sebastián Park Pisyan Gerardo Jin Ho Peña Concha Miguel Puebla, Pue 21/04/2022 1. Resumen El siguiente documento muestra los resultados del Equipo 7 al realizar el diseño de los circuitos lógicos y aritméticos de la práctica anterior utilizando el programa ActiveHDL, el cuál hemos estado aprendiendo a utilizar a lo largo de estas últimas unidades. Esta práctica nos dio una oportunidad de reforzar lo aprendido sobre el programa ActiveHDL pues para algunos de nosotros todavía no comprendíamos correctamente su funcionamiento y utilidad. A pesar de que la mayor parte del trabajo ya había sido realizada, la práctica si presentó un reto para nosotros pues como se mencionó anteriormente, al ejecutar los debidos procedimientos surgieron ciertas dudas que fueron aclaradas al debatir entre nosotros, investigar e incluso volver a ver ciertas clases, lo cual fue más que suficiente para culminar exitosamente la práctica 3. 2. Objetivo de la práctica Diseñar y sintetizar circuitos lógicos y aritméticos usando VHDL. 3. Introducción Durante este último mes hemos aprendido a utilizar el simulador Active-HDL, el cual es un software basado en el lenguaje Verilog y VHDL, que nos ayuda a efectuar simulaciones de una variedad de sistemas. La traducción de el acrónimo VHDL sería; Very High Speed Integrated Circuit Hardware Description Language, siendo este un lenguaje de programación utilizado para la descripción e implementación de circuitos lógicos. Éste lenguaje fue creado con la intención de simular un diseño antes de su fabricación, proporcionando así al diseñador la oportunidad de buscar alternativas a un circuito que más se adhieran a sus necesidades. La interfaz del programa cuenta con una consola, un explorador de diseño y un editor de HDL cuyas funciones son las siguientes: • Consola: Nos permite visualizar un pequeño resumen de cada simulación. • • Explorador de diseño: Como el nombre lo indica, nos permite observar el contenido de las entidades, así como crear o incluir archivos VHDL. Editor: Igualmente es fácil intuir el funcionamiento de esta herramienta, sirve para modificar directamente el código del diseño a criterio del diseñador. El utilizar este lenguaje es necesaria la definición de elementos y su debido comportamiento, para esto, Active-HDL cuenta con tres editores fundamentales, que son el editor de lenguaje descriptivo de hardware, el editor de máquinas de estado finitas y finalmente el editor de diagramas de bloque, cuyos funcionamientos son los siguientes: • • • Editor de Lenguaje Descriptivo de Hardware: Es utilizado para describir una entidad, son asignadas las entradas y salidas necesarias. Editor de Máquinas de Estado Finitas: Nos permite construir un diagrama de estados utilizando diferentes elementos presentes en el editor de HDL mencionado anteriormente. Editor de Diagramas de Bloque: Cuando las entidades participantes ya hayan sido diseñadas, esta herramienta nos permite agregarlas en forma de bloques, facilitando la conexión entre dichas entidades. El entendimiento de este programa, a pesar de parecer en un principio complicado y tedioso, fue simple e intuitivo después de analizar, investigar e interactuar con su interfaz, los párrafos anteriores son una síntesis simple, que nos permitió facilitar nuestro entendimiento y utilización de Active-HDL 4. Metodología Para esta práctica se pidió utilizar el programa de Active-HDL para simular los circuitos aritméticos de la práctica número 2. Habiendo ya realizado los pasos mas complejos, ahora solo era necesario programar en Active para comprobar el correcto funcionamiento de los circuitos ya anteriormente planteados. 4.1 Sumador Para el circuito sumador de dos números de 3 bits se diseñó un código que implementara los bloques FA y HA con las mismas entradas y salidas utilizadas en la práctica anterior, conectando en cascada cada uno para al finar brindar la salida pertinente. 4.1 Comparador El código del comparador, a diferencia del código anterior, fue más simple de programar pues no contaba con bloques que fuera necesario conectar en cascada. Igualmente se utilizaron las mismas entradas y salidas que en la práctica anterior, con la diferencia que en el programa podemos establecer a A y a B como vectores con la intención de simplificar el código. En la arquitectura solo fue necesario establecer las 3 condiciones que darán la salida pertinente. 5. Resultados La programación ambos circuitos (el comparador de 3 bits y el sumador de 3 bits) fue realizada y completada con éxito, concordando con los resultados presentados en la práctica anterior, siendo que el sumador logró brindar correctamente los resultados de sumar 2 números binarios de 3 bits, dando como máximo el número 14 y el comparador dando una salida activa en A>B, A=B y A<B dependiendo del caso. Esto es explicado y comprobado más ampliamente en el video adjunto: https://www.youtube.com/watch?v=VclDW44c6m8 6. Conclusiones Active-HDL ha demostrado a lo largo de la unidad, pero más precisamente a lo largo de esta práctica, ser una herramienta extremadamente útil para el diseño de circuitos lógicos y aritméticos, pues nos permite simplificar el proceso de diseño y también comprobar el funcionamiento del mismo de una manera más rápida, más eficiente e incluso bastante más económica, pues el intentar comprobar el funcionamiento de un diseño con componentes físicos sería un gasto de recursos que Active-HDL resuelve. 7. Anexos ¿Cuál es la diferencia entre la implementación de la práctica 2 y esta práctica? Fue bastante diferente pues para esta fue utilizado un programa y lenguaje de programación específico y algo más especializado para la creación y diseño de circuitos lógicos aritméticos, mientras que para la práctica 2 fueron los pasos anteriores para poder ejecutar esta. ¿Qué aprendiste en el desarrollo de esta práctica? Aprendimos o reforzamos lo aprendido sobre Active-HDL, pues como ya mencionamos, algunos no comprendíamos la funcionalidad del programa, pero al llevar a cabo la práctica todos mejoramos nuestro entendimiento y se nos facilitó su uso. ¿Tienes algún comentario con respecto a la práctica? Al platicar y debatir entre los integrantes del equipo no encontramos ningún comentario extra a lo ya escrito y presentado en el presente documento. 8. Bibliografía • Jaramillo, J. A., & Guzmán, I. (z.d.). Introducción al Active-HDL SIM. Boletín UPIITA. Geraadpleegd op 23 april 2022, van https://www.boletin.upiita.ipn.mx/index.php/ciencia/66-cyt-numero04/534-introduccion-al-active-hdl-sim • Skahill, K., Legenhausen, J., Wade, R., Wilson, B., & Wilner, C. (2003). VHDL for Programmable Logic (2de editie). Addison-Wesley. Tabla de Actividades ACTIVIDADES Diseño del Sumador Estudiante Responsable Colaboradores Cumplió Javier x Si Diseño del Comparador Gerardo x Si Simulación del Sumador Javier x Si Simulación del comparador Gerardo x Si Documento Miguel x Si Erick Javier, Gerardo Si Video