Gal

SEP SESTNM TECNM INSTITUTO TECNOLÓGICO DE TOLUCA PRACTICA 2 Dispositivo Lógico Programable (GAL) Carrera: Mecatrónic

Views 76 Downloads 5 File size 984KB

Report DMCA / Copyright

DOWNLOAD FILE

Recommend stories

Citation preview

SEP

SESTNM

TECNM

INSTITUTO TECNOLÓGICO DE TOLUCA

PRACTICA 2 Dispositivo Lógico Programable (GAL) Carrera: Mecatrónica Materia: Electrónica Digital.

Profesor: Marco Antonio Reyes González Alumnos: Castañeda Morales Juan Hernández Tenorio Arturo Alejandro Mondragón Arzate Pablo Mauricio Rojas caballero David EQUIPO 2

Metepec, Estado de México, a 27 de septiembre de 2018

MATERIALES NECESARIOS  1 Tabla de pruebas (Protoboard).  4 Resistencias de 220 k ohm.  Cable para conexiones de protoboard.  3 diodos emisores de luz de cualquier color.  Multímetro.  1 GAL 22V10  1 Fuente de voltaje variable o fija de 5 volts.  2 Cables o puntas para conexión a la fuente de voltaje.  1 Deep switch de más de 4 posiciones.  Programador “Superpro” y computadora con ABEL instalado.

DISPOSITIVOS LOGICOS PROGRAMABLES Un PLD (Programmable Logic Device, Dispositivo lógico programable) es un componente electrónico empleado para la fabricación de circuitos digitales. A diferencia de las puertas lógicas un PLD tiene una función indefinida. Antes de que un PLD pueda ser usado en un circuito este puede ser programado.

2

Un PLD está formado por una matriz de compuertas AND y puertas OR, que se pueden programar para conseguir funciones lógicas específicas. Existen cuatro tipos de dispositivos que se clasifican como PLD. 1. PROM

(Programmable

Read

Only

Memory). Memoria programable de sólo lectura. 2. PLA (Programmable Logic Array). Matriz lógica programable. 3. PAL (Programmable Array Logic). Matriz lógica programable. 4. GAL (Generic Array Logic). Matriz lógica genérica. Todos los PLD están formados por matrices programables. Esencialmente, una matriz programable es una red de conductores distribuidos en filas y columnas con un fusible en cada punto de intersección. Las matrices pueden ser fijas o programables. VENTAJAS DE LOS PLDs

Facilidad de diseño Las herramientas de soporte al diseño con PLDs facilitan enormemente este proceso. Estas nuevas herramientas permiten expresar la lógica de los circuitos utilizando formas variadas de entrada tales como; ecuaciones, tablas de verdad, procedimientos para máquinas de estados, esquemas, entre otros. La simulación digital posibilita la depuración de los diseños antes de la programación de los dispositivos. Todo el equipo de diseño se reduce a un software de bajo coste que corre en un PC, y a un programador.

3

Prestaciones Los PLDs TTL que hay en el mercado tienen tiempos de conmutación tan rápidos como los circuitos integrados de función fija más veloces. Los PLDs ECL son todavía más rápidos. Sin embargo, el incremento de velocidad obtenido con los dispositivos CMOS, que ya han igualado o superado en prestaciones a los dispositivos TTL, está provocando el abandono de la tecnología bipolar por parte de los fabricantes. En cuanto al consumo de potencia, los PLDs generalmente consumen menos que el conjunto de chips a los que reemplazan. Fiabilidad Cuanto más complejo es un circuito, más probabilidades hay de que alguna de sus partes falle. Puesto que los PLDs reducen el número de chips en los sistemas, la probabilidad de un fallo disminuye. Los circuitos impresos con menor densidad de CI son más fáciles de construir y más fiables. Las fuentes de ruido también se reducen. Economía Por ejemplo, la reducción del área de las placas de circuito impreso obtenida gracias a que cada PLD sustituye a varios circuitos integrados de función fija. Muchas veces se consigue reducir el número de placas de circuito impreso economizándose en conectores. La reducción de artículos en almacén también aporta ventajas económicas. Seguridad Los PLDs tienen fusibles de seguridad que impiden la lectura de los dispositivos programados, protegiendo los diseños frente a copias. Además de los puntos mencionados, podemos añadir que los PLDs facilitan el ruteado de las placas de circuito impreso debido a la libertad de asignación de

4

patillas que proporcionan. Permiten realizar modificaciones posteriores del diseño y en ocasiones hacen posible la reutilización de circuitos impresos con algunos fallos, mediante una reasignación de los PLDs. NOTA: Durante la realización de la práctica se empleó una GAL 22V10 la cual posee buenas características para la fase del desarrollo y el prototipo de circuitos. A continuación, se mencionan las características de cada uno de los PLDS principales, incluida la GAL.

CLASIFICACION DE PLDs Se clasifican de acuerdo con su arquitectura, es decir, la ordenación funcional de los elementos internos que proporciona al dispositivo sus características específicas. 1. Memoria programable de sólo lectura (Programmable Read Only Memory, PROM). Está formada por un conjunto fijo de puertas AND (no programable) conectadas como decodificador y una matriz programable OR. Se utiliza como memoria direccionable y no como dispositivo lógico.

5

2. Matriz lógica programable PLA (Programmable Logic Array). Es un PLD formado por una matriz AND programable y una matriz OR programable. También se denomina FPLA (Field Programmable Logic Array) debido a que es el usuario y no el fabricante el que la programa. 3. Matriz lógica programable PAL (Programmable Array Logic).

Se ha desarrollado para superar ciertas desventajas de la PLA, tales como largos retardos debidos a fusibles adicionales que resulta de la utilización de dos matrices programables y la mayor complejidad del circuito. La PAL básica está formada por una matriz AND programable y una matriz OR fija con la lógica de salida.

4. Matriz lógica genérica GAL (Generic Array Logic). Es el desarrollo más reciente (1985). Al igual que la PAL se forma con una matriz AND programable y una matriz OR fija. Las dos principales diferencias son:

6

1. Es reprogramable: usa la tecnología 𝑬𝟐 CMOS (Electrically Erasable CMOS) CMOS borrable eléctricamente en lugar de fusibles. 2. Tiene configuraciones de salida programables.

Una GAL permite implementar cualquier expresión en suma de productos con un número de variables definidas. Para el proceso de programación se lleva a cabo activando

o

desactivando

cada

celda

E2CMOS con el objetivo de aplicar las combinaciones adecuadas de variables a cada compuerta AND y obtener así la suma de productos.

GAL (Internamente) ¿Cómo se observa? Dentro de una GAL, cada fila está conectada a la entrada de una puerta AND, y cada columna a una variable de entrada o a su complemento. Dependiendo de la

7

distribución de las celdas que estén activadas (ya sean variables de entrada o sus complementos) se obtiene un producto, pero debió a que todas las celdas son reprogramables, se pueden activar o desactivar las celdas a la compuerta según sea necesario, y de esta manera obtener cualquier operación producto que se desee. Para poder programar y reprogramar una GAL se utiliza un programador OPAL, o en su defecto se utiliza la técnica de programación de circuitos en los chips secundarios. Las celdas E2CMOS activadas conectan a las variables deseadas (o sus complementos) con las apropiadas entradas de las puertas AND. Una celda E2CMOS se encuentra desactivada cuando ninguna variable o su complemento la utilizan para un determinado producto (por lo tanto desconecta la fila y la columna). En cambio una celda activada logra conectar de forma efectiva su correspondiente fila y columna. PROGRAMA HDL ABEL (ADVANCED BOOLEAN EQUATIONS LANGUAGE)

ABEL es un lenguaje de descripción de hardware (HDL) que permite: 1. Describir un circuito digital. 2. Definir vectores de test para comprobar el funcionamiento del programa. 3. Generar el mapa de fusibles para programar los PLD´s (disposisitivo lógico programable). Es un lenguaje de Bajo nivel muy cercano a la circuitería que representa y es eficaz para describir sistemas digitales desde LSI (pequeña escala de integración), MSI (Gal y los FPGA)

8

Estructura de un archivo fuente ABEL Los elementos básicos que componen un archivo fuente de ABEL-HDL (Módulo) se pueden dividir en 5 secciones principales: 1. Cabecera. 2. Declaraciones. 3. Descripción de Lógica. 4. Vectores de prueba. 5. Fin. La sección de encabezado Puede constar de los siguientes elementos:

1. Módulo (requerido). 2.Interfaz (nivel inferior, opcional). 3.Título. La sección de declaraciones puede constar de los siguientes elementos: 1. Declaración de palabras clave. 2. Interfaz y de bloque funcional de Declaraciones. 3. Declaración de señales (números de nodo pasador y opcional).

9

4. Declaración de constantes. 5. Declaración de Macro. 6. Declaración de librerías. 7. Declaración de dispositivos (uno por módulo).

ESTRUCTURA GRAFICA

PROGRAMADOR El programador es la herramienta económica universal que nos permitirá programar nuestro circuito lógico programable, en este caso la GAL, superpro 610, funciona mediante una interfaz de control mediante conexión USB 2.0 a un software instalado en la Computadora. En esta práctica se empleó el programador: SUPER PRO 610 P CON 

Motor de procesamiento con algoritmo ultra rápido ARM9 32 Bit MCU + Linux.

10



Velocidad de programación hasta un 30% más rápido que SuperPro 500P.



Programas dispositivos con Vcc tan bajo como 1.2V.



Conductores universales de 48 pines interconstruidos.



Dispone de programar / probar de circuitos integrados y memorias lógicas TTL / CMOS.



Algoritmos de programación único fabricante IC aprobados proporcionan una alta fiabilidad. Verificación Vcc al ( +5% ~ -5%) y ( 10 % ~ 10%) mejora la fiabilidad de programación.



Proporciona protección de sobre corriente y sobretensión para la seguridad del chip y hardware de programación .



Compatible con Windows XP / Vista / 7/8 ( 32/64 bit)

PROCEDIMIENTO

Para la realización de una correcta programación de la GAL para implementación en un sistema digital como el caso del comparador de dos bits, debemos siempre de considerar los siguientes pasos: 1. Ver que hace el sistema, analizar la lógica del sistema por lo tanto debemos conocer ya previamente las tres funciones simplificadas que describen el sistema comparador. 2. Analizar la matrícula de la GAL a emplear para posteriormente revisar su hoja de datos. 3. Iniciar con la programación en ABEL, seguir el esquema de la estructura gráfica y la teoría vista en clase para cada uno de los elementos básicos que componen un archivo de fuente ABEL HDL. (Instalar el programa previamente). 4. Instalar e iniciar el programador” Superpro”, para conectar y programar la GAL. 5. Armar el circuito con la GAL ya programada y realizar pruebas de funcionamiento.

11

Paso 1 Deseamos analizar un sistema digital que posee dos entradas (x,y) de dos bits y cuya función va ser comparar las salidas arrojando tres diferentes posibilidades, cuando “x” es mayor que “y”, cuando “x” es igual a “y” y cuando “y” es mayor que “x”. Las funciones obtenidas en la práctica: ̅̅̅̅̅̅̅̅̅̅̅ A. 𝑓1(𝑥 = 𝑦) = (𝐴 ⊕ 𝐶) ̅̅̅̅̅̅̅̅̅̅̅ (𝐵 ⊕ 𝐷) ̅̅̅̅̅̅̅̅̅ + 𝐴̅𝐶 B. 𝑓2(𝑥 < 𝑦) = 𝐵̅ 𝐷(𝐴⨁𝐶) ̅ + 𝐴𝐵𝐷 ̅ C. 𝑓3(𝑥 > 𝑦) = 𝐴𝐶̅ + 𝐵𝐶̅ 𝐷

Paso 2 Utilizaremos una GAL 22V10 Nota: Su voltaje de operación respecto a tierra recomendado es de +4.75 a +5.25 Volts.

Paso 3 Captura de realización de practica en HDL con ABEL. Se introdujo el código siguiendo las características mencionadas en la estructura básica de un programa para programación de PLD

12

Captura de pantalla

Paso 4 Instalación de superpro 610 P.

13

Paso 5 Construcción del circuito comparador con tres funciones distintas armado con la Gal programada.

RESULTADOS Una vez realizados todos los pasos anteriores establecidos en el procedimiento lo que prosiguió fue el ensamblaje del circuito utilizando de la GAL, esto nos demostró que la GAL es muy eficiente al momento de armar nuestros sistemas de modo que se optimizó en costo y en espacio. Los resultados se resumen a que cuando nosotros teníamos cada uno de los tres circuitos de la práctica armados por separado funcionaban a la perfección pero se ocuparon una gran cantidad de compuertas para lograr el resultado deseado de cada función correspondiente al comparador, sin embargo nuestro trabajo en esta práctica lo redujo todo a un solo circuito integrado en este caso programable.

14

Dentro de este circuito lógico, nosotros logramos introducir nuestras funciones reducidas utilizando ISPLEVER, lo cual nos demuestra también que por muy complejo que el sistema sea, siempre existirán dispositivos lógicos que puedan ser programados para simplificar la construcción del mismo sistema. Lo más laborioso para esta práctica fue la parte de la programación con respecto a la lógica y el familiarizarse con la interfaz de ISPLEVER, pero una vez que se comprende su estructura simple se vuelve más fácil y se adquiere una mejor lógica de programación.

15

CONCLUSIONES

Castañeda Morales Juan Al realizar la práctica se observó la eficiencia que tienen este tipo de integrados como lo es la Gal, es muy factible su uso ya que se emplean menos componentes que los que se vieron en la primera práctica y por ende la funcionalidad de la práctica es muy buena al no tener conectado muchos componentes, la programación en Abel es muy práctica y muy accesible a los usuarios por la forma del lenguaje que utiliza para programar.

Hernández Tenorio Arturo Alejandro En la práctica se comprobó el circuito comparador, utilizando la gal22v10 y se observo como por medio de la programación se pueden introducir funciones sin la necesidad de utilizar una gran cantidad de compuertas lógicas brindando de esa manera un circuito más compacto y mucho mas flexible al momento de trabajar con este debido a que si se desea se puede reprogramar para quitar o agregar alguna función.

Mondragón Arzate Pablo Mauricio Rojas caballero David

16

REFERENCIAS Torres, H. (2017). Compuertas Lógicas. marzo 12,2018, de HETPRO Sitio web: https://hetpro-store.com/TUTORIALES/compuertas-logicas/ Cidead. (2016). Puertas Lógicas. marzo 13, 2018, de Laboratorio Virtual de Lógica Binaria Sitio web: http://recursostic.educacion.es/secundaria/edad/4esotecnologia/quincena6/pdf/quince na6.pdf L.Floyd Thomas. (2010). Fundamentos de electronica-sistemas digitales. marzo 20, 2018, de Electronica Sitio web: https://ecadigitaliiequipo7.wordpress.com/2010/03/08/dispositivos-logicosprogramables-pld/ Lattice. (1998). GAL22V10 Generic Array Logic. marzo 17, 2018, de Semiconductor Corporation Sitio web: http://web.mit.edu/6.115/www/document/gal22v10.pdf Desconocido. (2011). Dispositivos Lógicos Programables y Memorias. marzo 19, 2018, de Desconocido Sitio web: https://www.infor.uva.es/~jjalvarez/asignaturas/fundamentos/apuntes/digital/Tema4_ memorias.pdf García A., Mitsiu A. (2012). Descripción de una GAL. marzo 17, de Circuitos Lógicos programables Sitio web: http://wiki-pita.blogspot.mx/2012/08/descripcion-de-unagal.html Reyes, M. (2018). Programación HDL ABEL. marzo 19, 2018, de Instituto Tecnoloogico de Toluca Sitio web: file:///C:/Users/USUARIO/Desktop/Programacion_ABEL.pdf

17