Descarga la aplicación para disfrutar aún más
Vista previa del material en texto
TecNM-Campus Apizaco. Sánchez-Lezama José-Eduardo, García-López Brian, Carreto. Síntesis de un Multiplexor. Digital Desing with VHDL by PHD. Antonio Solís Lima 1 Resumen— En la siguiente practica se pretende realizar la síntesis del funcionamiento de un multiplexor que tenga cuatro entradas y una salida, utilizando el software de ispLEVER para poder generar un archivo. jed. Dicho archivo será usado en una GAL AM22V10 dentro del programa Proteus para poder simular mediante un circuito el funcionamiento del multiplexor, posteriormente el programa será quemado en una GAL física para que dicho circuito sea alambrado en físico usando una Protoboard para poder verificar que el programa funcione correctamente. Índice de Términos—Instrucciones, multiplexor, programación y simulación. I. INTRODUCCIÓN A. Objetivo general Sintetizar un multiplexor de cuatro entradas una salida, programado en VHDL, en una GAL22V10. B. Objetivos específicos Aprender a programar en VHDL, mediante el editor de ISP Lever. Programar el multiplexor, de cuatro entradas una salida, en el lenguaje VHDL a través del ISPLever. Simular el multiplexor de cuatro entradas una salida, programado en VHDL, en la plataforma PROTEUS. Sintetizar el multiplexor de cuatro entradas una salida, programado en VHDL, en UNA GAL22V10 usando el programador universal SUPERPPRO 3000U. Alambrar el multiplexor sintetizado de cuatro entradas una salida en un protoboard para verificar su funcionamiento. C. Exposición GAL 22V10. El GAL22V10 [1] es un dispositivo que tiene una serie de dispositivos lógicos programable implementadas como circuitos integrados basados en CMOS Lógica de arreglos. Es un circuito integrado re-configurable mediante una matriz de compuertas inter-conectadas. El circuito esta integrado por 10 macroceldas. Una GAL permite implementar cualquier expresión en suma de productos con un número de variables definidas. El cada proceso de programación consiste en activar o desactivar celda E2CMOS con el objetivo de aplicar la combinación adecuada de variables a cada compuerta AND y obtener la suma de productos. Ver Figura 1. Figura 1. GAL22V10B. Las celdas E2CMOS activadas conectan las variables deseadas o sus complementos con las apropiadas entradas de las puertas AND. Las celdas E2CMOS están desactivadas cuando una variable o su complemento no se utiliza en un determinado producto. La salida final de la puerta OR es una suma de productos. Cada fila está conectada a la entrada de una puerta AND, y cada columna a una variable de entrada o a su complemento. Mediante la programación se activa o desactiva cada celda Experimento No. 3 – Síntesis de un Multiplexor Carreto-Morales José-María, López-García Brian, Sánchez-Lezama José-Eduardo, Solís-Lima Antonio l19370772@apizaco.tecnm.mx, l19370714@apizaco.tecnm.mx, l19370825@apizaco.tecnm.mx, antonio.sl@apizaco.tecnm.mx TecNM-Instituto Tecnológico de Apizaco TecNM-Campus Apizaco. Sánchez-Lezama José-Eduardo, García-López Brian, Carreto. Síntesis de un Multiplexor. Digital Desing with VHDL by PHD. Antonio Solís Lima 2 E2CMOS, y se puede aplicar cualquier combinación de variables de entrada, o sus complementos, a una puerta AND para generar cualquier operación producto que se desee. Una celda activada conecta de forma efectiva su correspondiente fila y columna, y una celda desactivada desconecta la fila y la columna. Multiplexor. Los multiplexores [2] son circuitos combinacionales con varias entradas y una salida de datos, y están dotados de entradas de control capaces de seleccionar una de las entradas de datos para permitir su transmisión desde la entrada seleccionada a la salida que es única. La entrada seleccionada viene determinada por la combinación de ceros (0) y unos (1) lógicos en las entradas de control. La cantidad de entradas de control que necesitaremos para seleccionar será el resultado de elevar el 2 a una potencia. Así, por ejemplo, a un multiplexor de 8 entradas le corresponderán 3 de control. Podemos decir que la función de un multiplexor consiste en seleccionar una entrada de entre un número de líneas de entrada y transmitir el dato de un canal de información único. Por lo tanto, es equivalente a un conmutador de varias entradas y una salida. Ver Figura 2. Multiplexor. Figura 2. Multiplexor. Resistencias. Las resistencias ceramicas [3] son los componentes más usados en los circuitos electrónicos, y su finalidad es la de limitar la corriente que circula por un circuito, así como dividir la tensión a través del mismo. Están constituidas por material de grafito recubierto de una capa de pintura. La cerámica es un componente interno muy común en muchos tipos de resistencias. Básicamente en una película de carbón, el material resistivo se adhiere a la parte externa del núcleo de cerámica, normalmente con forma cilíndrica. Lo núcleos cerámicos ofrecen una buena base no conductora para mantener los componentes conductivos y dar a la resistencia su estructura. Ver figura 3. Figura 3. Resistencia. Protoboard. La protoboard [4] es una placa de pruebas para electrónica que contiene numerosos orificios en los que es posible insertar cables y otros elementos electrónicos para montar circuitos provisionales. Los orificios se encuentran conectados por bajo a través de pequeñas láminas metálicas que siguen un patrón determinado: – Los orificios ubicados en una misma fila se encuentran unidos entre sí. – Los que están en filas diferentes no tienen conductividad entre si. La intención es crear o modificar circuitos con la mayor rapidez y fluidez posibles. Es fundamental para llevar a cabo experimentos. Si el circuito funciona entonces se monta el circuito de forma definitiva. Ver Figura 4. TecNM-Campus Apizaco. Sánchez-Lezama José-Eduardo, García-López Brian, Carreto. Síntesis de un Multiplexor. Digital Desing with VHDL by PHD. Antonio Solís Lima 3 Figura 4. Protoboard. Diodo Led. El acrónimo inglés LED (Light Emitting Diode) [5] que en castellano significa literalmente “Diodo Emisor de Luz’’ es un elemento capaz de recibir una corriente eléctrica moderada y emitir una radiación electromagnética transformada en luz. Coloquialmente es conocido como Diodo Luminoso. El funcionamiento de las luces LED viene dado por el Principio fotoeléctrico ideado por Albert Einstein. Este principio se basa en la existencia de materiales que al someterlos a una corriente eléctrica pueden producir luz. En el caso de los LED, la corriente eléctrica genera luz al pasar por los diodos. Este proceso también recibe el nombre de electroluminiscencia. Para que este proceso funcione es necesario que el LED esté polarizado directamente. Es decir, tiene que existir una corriente circular de un término positivo (ánodo) a uno negativo (cátodo). Es aquí cuando se produce el llamado “fotón” al desprenderse los electrones y se produce luz. Ver Figura 5. Figura 5. Diodo Led. Jumpers. Un jumper [6] o saltador es un elemento que permite cerrar el circuito eléctrico del que forma parte dos conexiones. La función del cable macho-macho es con frecuencia usado en el tablero protoboard haciendo posible la conexión de dos elementos ingresados en dicho tablero. Se conoce como macho-macho debido al fragmento que sobresale de los extremos del cable. Ver Figura 6. Ver Figura 6. Cables Jumpers. Programador universal Superpro 3000U. El SUPERPRO-3000U [7] es un programador universal en USB puerto que también puede ejecutarse en modo independiente. está equipado con un zócalo ZIF48 que le permite programar más de 10.000 referencias de dispositivos. No requiere ningún adaptador para todos losdispositivos en paquetes DIP, y para dispositivos CMS solo requiere un tipo de adaptador por tipo de paquete. Maneja dispositivos de bajo voltaje (3.3V, 2,7 V y 1,5 V) también. El programador también puede probar los pines del dispositivo insertado para detectar cualquier fallo: inserción incorrecta del dispositivo, pin defectuoso, etc... SUPERPRO/3000U está diseñado para múltiples aplicaciones. Hay 3 modos de trabajo, modo hospedado por PC a través del puerto USB para el R&D, modo independiente para la producción, modo terminal para la aplicación del cliente. Viene TecNM-Campus Apizaco. Sánchez-Lezama José-Eduardo, García-López Brian, Carreto. Síntesis de un Multiplexor. Digital Desing with VHDL by PHD. Antonio Solís Lima 4 con un sistema operativo con todas las funciones, interfaz de operador de teclado LCD+ y una interfaz de tarjeta CF para algoritmos y almacenamiento de archivos de datos de usuario para modo independiente. SUPERPRO/3000U anuncia el sistema de programación de clustering. una solución de producción de volumen característica. Varias unidades trabajan juntas en modo autónomo como un programador de producción en varios sitios. Ventajas sobre la programación tradicional de pandillas: no se necesitan adaptadores especiales ni s/w. Admite más dispositivos y algoritmos se actualizan más rápidamente. Cumple con el presupuesto flexible. Comienza con una sola unidad, entonces, agrega más para aumentar el rendimiento con el crecimiento del negocio. Más seguro para la cadena de producción porque una sola unidad defectuosa no detendrá la producción entera. Mayor rendimiento. Cada unidad comienza a funcionar tan pronto como se inserta un nuevo chip, no es necesario iniciar sincrónicamente todas las unidades. Ver Figura 7. Figura 7. Superpro 3000U. II. MATERIAL Y EQUIPO Computadora. Sistema operativo XP, W7, W8, W10. 64 bits Software ispLEVER (licencia ya instalada) Software PROTEUS. Programador SUPERPRO 3000U Protoboard Leds Resistencias Gal 22v10B Push button/dip switch Cables Jumpers Fuente de alimentación III. PROCEDIMIENTO 1. Abrir la aplicación del ispLEVER, dar clic en “File” y seleccionar “New Proyect”. Ver Figura 8. Figura 8. Inicio del ispLEVER. 2. Asignar un nombre para el proyecto y seleccionar las opciones que se muestran en la Figura 9. Posteriormente hacer clic en “siguiente”. TecNM-Campus Apizaco. Sánchez-Lezama José-Eduardo, García-López Brian, Carreto. Síntesis de un Multiplexor. Digital Desing with VHDL by PHD. Antonio Solís Lima 5 Figura 9. Ventana para iniciar un nuevo proyecto. 3. En la siguiente ventana, activar la opción “Show Obsolete Devices” para poder seleccionar el dispositivo GAL22V10D. Ver Figura 10. Figura 10. Ventana de “Select Device”. 4. Seleccionar las opciones que se muestran en la Figura 11 y después hacer clic en “siguiente”. Figura 11. Opciones que se tienen que seleccionar. 5. En la siguiente ventana solo se tiene que hacer clic en “siguiente” ya que no hay ningún archivo que agregar. Ver Figura 12. Figura 12. Ventana para agregar archivo. 6. Seleccionamos la opción de “Finalizar” para poder crear el proyecto nuevo. Ver Figura 13. Figura 13. Resumen de configuraciones seleccionadas. 7. Ahora en la pantalla de inicio del ispLEVER deberá aparecer el proyecto nuevo que se creó. TecNM-Campus Apizaco. Sánchez-Lezama José-Eduardo, García-López Brian, Carreto. Síntesis de un Multiplexor. Digital Desing with VHDL by PHD. Antonio Solís Lima 6 Figura 14. Pantalla de inicio con el proyecto creado. 8. Seleccionar la opción de “Source” y posteriormente hacer clic en la parte que dice “New”. Ver Figura 15. Figura 15. Apartado “source” que se encuentra en el menú. 9. En la ventana emergente, seleccionar la opción de “VHDL Module” como se muestra en la figura 16. Después hacer clic en “Ok”. Figura 16. Ventana de “New Source”. 10. Asignar un nombre al archivo, la entidad y la arquitectura como se muestra en la Figura 17. Posteriormente hacer clic en “Ok”. Figura 17. Ventana de “New VHDL Source”. 11. A continuación se abrirá el Editor de Texto en donde se escribirá el código que el programa seguirá. Ver Figura 18. Figura 18. Estructura del código para el programa. 12. Una vez escrito el código, se debe de guardar en la opción de “File” y “Save”. 13. Dirigirse a la pantalla de inicio, seleccionar la parte de procesos para el archivo fuente y ejecutar el proceso de “Generate Schematic Symbol”. Ver Figura 19. Figura 19. Apartado de Procesos para el archivo fuente actual. 14. Hacer clic derecho en el componente GAL22V10D-10LP y seleccionar la opción de “New”. Ver Figura 20. TecNM-Campus Apizaco. Sánchez-Lezama José-Eduardo, García-López Brian, Carreto. Síntesis de un Multiplexor. Digital Desing with VHDL by PHD. Antonio Solís Lima 7 Figura 20. Componente GAL22V10D-10LP. 15. En la ventana emergente escoger la opción de “Waveform Simulus”, después hacer clic en “Ok”. Ver Figura 21. Figura 21. Ventana de Nuevo archivo fuente. 16. En caso de que aparezca la ventana de la Figura 22, seleccionar la opción de “GAL22V10D- 10LP” y darle al “Ok”. Figura 22. Ventana para asociar la simulación de onda. 17. Asignar un nombre al archivo y dar clic en “OK”. Ver Figura 23. Figura 23. Nombre del archivo. 18. Seleccionar la opción de “Edit” de la ventana que apareció y escoger la opción de “Import Wave” como se muestra en la Figura 24. Figura 24. Import Wave en la opción del menú. 19. Seleccionar todos los puertos que serán incluidos en la simulación de onda, hacer clic en “Add” y posteriormente en “Show”. Ver Figura 25. Figura 25. Ventana “Import”. 20. Hacer doble clic en los puertos de onda que tienen el símbolo “I” (ya que son los que corresponden a las entradas) para poder editarlos. Desplazar el cursor hasta la posición que se necesite para poder simularlo. Ver Figura 26. TecNM-Campus Apizaco. Sánchez-Lezama José-Eduardo, García-López Brian, Carreto. Síntesis de un Multiplexor. Digital Desing with VHDL by PHD. Antonio Solís Lima 8 Figura 26. Editor de formas de onda. 21. Una vez editados los puertos de onda de las entradas, se debe de guardar en la opción de “File” y “Save”. 22. Volver a la pantalla de inicio y seleccionar el archivo con la forma de onda (extensión. wdl) para poder ejecutar el proceso de “Functional Simulation” como se muestra en la Figura 27. Figura 27. Proceso de Functional Simulation. 23. Si la simulación es correcta aparecerá la ventana de la Figura 28. En caso contrario, se deberá ir al Navegador de ispLEVER ubicado en la parte inferior y hacer doble clic en la línea que se encuentre de color rojo para poder ver el error en el código y solucionarlo. Figura 28. Simulación exitosa. 24. En la ventana de la Figura 21, hacer clic en el icono de “!” (Run) para poder analizar el resultado de la simulación en el visualizador de forma de onda. Ver Figura 29. Figura 29. Resultado de la simulación en el visualizador de forma de onda. 25. Una vez que la simulación sea correcta, volver a la página de inicio. Seleccionar el componente “GAL22V10D-10LP”. Ver Figura 30. Figura 30. Componente GAL22V10D-10LP en la pantalla de inicio. 26. Seleccionar y ejecutar la opción de “Create Fuse Map” para crear el mapa de fusibles. Ver Figura 31. TecNM-Campus Apizaco. Sánchez-Lezama José-Eduardo, García-López Brian, Carreto. Síntesis de un Multiplexor. Digital Desing with VHDL by PHD. Antonio Solís Lima 9 Figura 31. Proceso de creación del mapa de fusibles. 27. Ir a laopción de “Window” del menú y seleccionar “Report Viewer”. Ver Figura 32. Figura 32. Opción “Window” en el menú. 28. En la ventana emergente, seleccionar la opción de “View File” y buscar el archivo con el nombre de nuestro proyecto y que sea extensión .RPT para poder ver el mapa de fusibles. Ver Figura 33, Figura 34 y Figura 35. Figura 33. Opción de “View File”. Figura 34. Selección de archivo .RPT. Figura 35. Mapa de fusibles. 29. Ahora procedemos a realizar la comprobación del programa mediante la simulación en proteus, para eso abrimos nuestro software de proteus, como se ve en la figura 36. Figura 36. Abriendo software de proteus. 30. Una vez abierto el proteus seleccionamos la opción de esquema electrónico, como se ve en la figura 37. TecNM-Campus Apizaco. Sánchez-Lezama José-Eduardo, García-López Brian, Carreto. Síntesis de un Multiplexor. Digital Desing with VHDL by PHD. Antonio Solís Lima 10 Figura 37. Esquema electrónico. 31. Empezamos a buscar los componentes que requerimos, para eso daremos clic en la “P”, como se ve en la figura 38. Se abre una ventana y ahí empezamos a buscar los elementos: AM22V10, LOGICSTATE, LED-GREEN, RES, SWITCH, como se ve en la figura 39. Figura 38. Pick Devices. Figura 39. Elementos a usar. 32. Ya que tenemos los elementos necesarios empezamos a trabajar en el espacio que nos aparece ahí y realizamos las conexiones correspondientes en base al diagrama de conexiones que obtuvimos con el ispLEVER, poder identificar las entradas y salida del multiplexor, usaremos la opción de “Modo grafico 2D texto” que tiene proteus, y así poder identificar las entradas y salida, como se ve en la figura 40. Figura 40. Conexiones de la placa. 33. Entonces ahora meteremos el archivo de programación de la placa, lo que debemos hacer es dar clic sobre la placa en proteus y buscar un archivo que tenga la terminación “jed”, una vez seleccionado el archivo damos en ok, como se ve en la figura 41. Figura 41. Editar componente. 34. Ahora lo simulamos, para eso le damos en el siguiente botón para correr simulación, como se ve en la figura 42. TecNM-Campus Apizaco. Sánchez-Lezama José-Eduardo, García-López Brian, Carreto. Síntesis de un Multiplexor. Digital Desing with VHDL by PHD. Antonio Solís Lima 11 Figura 42. Botón para correr simulación. 35. A continuación veremos las combinaciones que se pueden hacer en la simulación modificando los valores de S0 y S1, y activando la entrada correspondiente, como se ve en la figura 43, 44, 45, 46. Figura 43. Cuando S0=0, S1=0, el led enciende solo con la entrada A (A=1). Figura 44. Cuando S0=1, S1=0, el led enciende solo con la entrada B (B=1). Figura 45. Cuando S0=0, S1=1, el led enciende solo con la entrada C (C=1). Figura 46. Cuando S0=1, S1=1, el led enciende solo con la entrada D (D=1). 36. Para el posterior cableado en la protoboard se comenzó quemando el gal en el superpro3000U. Ver Figura 47. Figura 47. Quemador Superpro 3000U TecNM-Campus Apizaco. Sánchez-Lezama José-Eduardo, García-López Brian, Carreto. Síntesis de un Multiplexor. Digital Desing with VHDL by PHD. Antonio Solís Lima 12 37. Luego de haber quemado el código en la GAL22V10B se monta en la protoboard identificando donde serán las salidas, en este caso son las patas 5 y 10 de la GAL, además se le conecto la alimentación en las respectivas patas de la GAL. Ver Figura 48. Figura 48. Alambrado de la GAL. 38. Después, se conectaron las patas de la 1 a la 4 de la GAL a unos interruptores con led para corroborar que estos encendían con la combinación debida. Ver Figura 49. Figura 49. Circuito ya terminado de alambrar. 39. Al probar el circuito, este si funciono, porque al meter las combinaciones posibles de S0 y S1, las entradas del multiplexor se activan en base a los valores de S0 y S1, y la entrada que este activada encenderá el led de salida, pero solo la entrada que este activada hará eso, las demás no podrán hacerlo hasta que pongamos la combinación adecuada de cada una, como se ve en la figura 50, 51, 52, 53. Figura 50. Cuando S0=0, S1=0, el led-amarillo enciende solo con la entrada A (A=1). Figura 51. Cuando S0=1, S1=0, el led-amarillo enciende solo con la entrada B (B=1). Figura 52. Cuando S0=0, S1=1, el led-amarillo enciende solo con la entrada C (C=1). TecNM-Campus Apizaco. Sánchez-Lezama José-Eduardo, García-López Brian, Carreto. Síntesis de un Multiplexor. Digital Desing with VHDL by PHD. Antonio Solís Lima 13 Figura 53. Cuando S0=1, S1=1, el led enciende solo con la entrada D (D=1). IV. RESULTADOS Los resultados obtenidos de esta práctica son favorables ya que logramos cumplir nuestro objetivo general, y nuestros objetivos específicos, se logró realizar la programación de un multiplexor en el software de ispLEVER y su respectiva simulación en el software de proteus, se hizo la elaboración del alambrado del circuito, solo se tuvo un pequeño inconveniente, el cual era que las entradas (a, b, c, d) no las mandábamos a tierra y eso provocaba que nuestro led de salida se enclavara, pero afortunadamente lo solucionamos a tiempo, le mostramos al docente el alambrado del multiplexor y funcionaba correctamente, ver figura 54. Figura 54. Entrega del multiplexor al Docente. V. CONCLUSIONES Gracias a esta práctica se lograron emplear funcionamiento de un multiplexor, el cómo se comporta el multiplexor en base a los selectores S0 y S1, se reforzaron los conocimientos que se tenían sobre el software de ispLEVER, proteus, algo nuevo que se adquirió con esta práctica fue el funcionamiento de programación en una placa que podemos utilizar no solamente en la simulación sino también la podemos utilizar físicamente, pues gracias a la GAL fue posible sintetizar conocimientos previos que adquirimos con el profesor en clases anteriores sobre el un multiplexor y comprender como funciona este. REFERENCIAS [1] Hubor, “Proteus”, 2015. [En linea] Disponible en https://www.hubor-proteus.com/proteus-pcb/proteus- pcb/2-proteus.html [Accedido el 25-feb-2022] [2] MecatronicaLATAM, “Compuertas logicas”, 2021. [En linea] Disponible en https://www.mecatronicalatam.com/es/tutoriales/electroni ca/compuertas-logicas/ [Accedido el 25-feb-2021] [3] Jesus Alfonso Carvajal Valderrama, “Compuertas logicas con ispLEVER de Lattice Semiconductor mediante editor esquematico”, 2012. [En linea]. Disponible en http://digitales1escom.blogspot.com/2012/03/compuertas- logicas-con-isplever-de.html [Accedido el 24-feb-2022]. [4] Wikipedia, “GAL22V10”, 2022 [En línea] Disponible en https://en.wikipedia.org/wiki/GAL22V10 [Accedido el 25-feb-2022]. Jose Maria Carreto Morales nació en la ciudad de Tlaxcala, México durante el aaño de 2001. Se preparo en educación media-superior en el Colegio de Bachilleres del Estado de Tlaxcala Plantel 17 Cuapiaxtla. Estudia actualmente el 6to semestre de ingeniería en Mecatrónica en el Instituto Tecnológico de Apizaco. Brian López García nació en la cuidad de Calpulalpal, Tlaxcala, en el año 2001. El estudió el nivel preparatoria en el Centro de Bachillerato Tecnológico Industrial y de Servicios (CBTis) No. 154, y actualmente estudia el sexto semestre de la carrera en Ingeniería Mecatrónica en el Instituto Tecnológico de Apizaco. TecNM-Campus Apizaco. Sánchez-Lezama José-Eduardo, García-López Brian, Carreto. Síntesis de un Multiplexor. Digital Desing with VHDL by PHD. Antonio Solís Lima 14 José Eduardo Sánchez Lezama nació en el estado de Tlaxcala, México, el 19 de abril del 2001. Estudio en la preparatoriaCBTIS 03 ubicado en la Loma Xicohtencatl, Tlaxcala, y actualmente se encuentra estudiando el sexto semestre de la carrera en Ingeniería Mecatrónica en el Instituto Tecnológico de Apizaco. Antonio Solís Lima nació en la ciudad Puebla, México, en el año 1966. Él recibió el título de ingeniero en Comunicaciones y Electrónica por el Instituto Politécnico Nacional de México en el año 1988. Después él recibió el grado de master en Ciencias de la Comercialización de la Ciencia y Tecnología por el Centro de Investigación de Materiales Avanzados, Monterrey, en el año 2013. Posteriormente, él recibió el grado doctoral en Planeación Estratégica y Dirección de Tecnología por la Universidad Popular Autónoma de Puebla en el año 2019.
Compartir