circuitos logicos programables
Post on 10-Dec-2015
252 Views
Preview:
DESCRIPTION
TRANSCRIPT
INSTITUTO TECNOLOGICO DE COLIMA
“DISPOSITIVOS LOGICOS PROGRAMABLES”
PLC
Cualquier dispositivo lógico cuya función esta especificada por el usuario (AND OR)
FABRICACIÓN
CMOS (varias veces)
EPLD
- Radiación ultravioleta.- Ventanas de cuarzo. - Encapsulados en cerámica
EEPLD
- Eléctricamente.- Encapsulado de plástico
Bipolares TTL o ECL (una ves)
• Fundición de fusibles o destrucción de uniones
PROM
programable read only memory) viene de la ROM (reas onle memory). Formada por compuestas AND conectadas como decodificador y una matriz programable OR.
PROGRAMACIÓN
Solo se programa una vez. Quema fusibles o destruye uniones.
Aplicaciones
• Funcionamiento del sistema PC : en la gestión del proceso de arranque, el chequeo inicial del sistema, carga del sistema operativo y diversas rutinas de control de dispositivos de entrada/salida suelen ser las tareas encargadas a los programas grabados en ROM.
• La memoria ROM constituye lo que se ha venido llamando Firmware, es decir, el software metido físicamente en hardware.
PROGRAMACION
DIAGRAMA
• Numero fijos de AND que alimentan a una matriz programable OR
PAL
Programmable Array Logic (Lógica en un Arreglo Programable), la arquitectura de éste PLD está compuesto por un Plano AND programable y el Plano OR fijo. Este dispositivo es el intermedio entre una PROM y un PLA; debido a que, por cada entrada que se agregue no será necesario duplicar la cantidad de fusibles y el tener un plano fijo conduce a un menor retardo en la circuitería interna. También incluye la capacidad de programar la polaridad de salida. Este PLD puede incluir una serie de componentes a la salida del plano OR, como pueden ser: Inversores y Flip-Flops, que permitirán hacer del dispositivo, un PLD versátil.
Existen dos tipos de PAL’s, uno de los cuales puede ser programado solamente una vez, por ejemplo: El PAL16R8 el cual es un dispositivo de 16 posibles entradas y con 8 salidas; todas con Flip-Flops. El otro PAL mejor conocido como GAL de Generic Array Logic ( Lógica en Arreglo Genérico ), combina las características de un PAL; pero además, agrega tecnología especial para ser borrado y programado eléctricamente.
El circuito interno de un PAL consiste de una matriz de conexiones, una matriz de compuertas AND programables y un arreglo de compuertas OR fijo. La matriz de conexiones es una red de conductores distribuidos en filas y columnas con un fusible en cada punto de intersección, mediante la cual se seleccionan cuales entradas del dispositivo serán conectadas al arreglo OR y así obtener una función lógica en forma de suma de productos. Los circuitos PAL son no reprogramables; ya que la síntesis de las ecuaciones lógicas se realiza a través de la quema de fusibles en cada punto de intersección de los pines de entrada con las compuertas. Si un dispositivo contiene macrocélulas, comúnmente tendrá una arquitectura PAL. Las macrocélulas típicas pueden programarse como entradas, salidas, o entrada/salida (e/s) usando una habilitación tri-estado. Normalmente tienen registros de salida que pueden usarse o no conjuntamente con el pin de e/s asociado.
El software de diseño PALASM (PAL Assembler, ensamblador PAL) convertía las ecuaciones Booleanas de los ingenieros en el patrón de fusibles requerido para programar el dispositivo.
Por lo general se usa algún lenguaje de "alto nivel" (como CUPL o ABEL) que describe la ecuaciones lógicas deseadas, y posteriormente se lo compila (mediante pasos de optimización y minimización) a un archivo JEDEC, que posee la información sobre qué fusibles internos quemar. Un entorno de desarrollo y simulación gratuito es WinCUPL de Atmel.
Es necesario comprar (o construir) un programador. Al contrario que con los mayoría de los microcontroladores, no parece haber ninguno sencillo, ya que por lo general todos los PLD necesitan un voltaje de programación VPP de aproximadamente 15V.
Ventajas
Configurables la matriz AND y fija la OR
La salida no es flexible
Menos conexiones a realizar
Ocupan menos espacio
Las PAL CMOS permiten ser borradas (UV y/o eléctricamente
Aplicaciones
Conversores de código (por ejemplo de binario a gray o viceversa) Conversores de binario a 7 segmentos (que también muestren las letras A-F) Verificadores de paridad y chequeo de errores Distintos tipos de contadores y registros Controladores de memoria y E/S para microprocesadores Tablas predefinidas (LUT)
PLA
Las PLA (Programmable Array Logic).son matrices lógicas programables. Estos dispositivos contienen ambos términos AND y OR programables lo que permite a cualquier término AND alimentar cualquier término OR. Las PLA probablemente tienen la mayor flexibilidad frente a otros dispositivos con respecto a la lógica funcional. Todos los PLA están formados por matrices programables.
Normalmente poseen realimentación desde la matriz OR hacia la matriz AND que puede usarse para implementar máquinas de estado asíncronas. La mayoría de las máquinas de estado, sin embargo, se implementan como máquinas sincrónas. Con esta perspectiva, los fabricantes crearon un tipo de PLA denominado Secuencial (Sequencer) que posee registros de realimentación desde la salida de la matriz OR hacia la matriz AND.
Los PLA tienen la capacidad de programar la polaridad de salida, lo que permite trabajar con max-términos si se requieren; esto se logra a través de una ORExclusiva. No obstante, los fusibles adicionales (debido a que hay dos planos programables), agregan un retardo mayor que los de un solo plano programable y una circuitería más compleja y al mismo tiempo la programación se vuelve más elaborada. Debido a la tecnología que utilizan también aumenta su costo.
La matriz AND está formada por una red de compuertas AND conectadas a través de conductores y fusibles en cada punto de intersección. Cada punto de intersección entre una fila y una columna se denomina celda. La siguiente figura muestra un arreglo de compuertas no programado.
La matriz OR está formada por una red de compuertas OR conectadas a través conductor y fusibles en cada punto de intersección. La siguiente figura muestra un arreglo de compuertas no programado.
Programación de un PLD Programar significa realizar las conexiones reales en el arreglo, es decir cuales conexiones deben estaren 0, 1 Existen 2 métodos para programar un PLD
•Programación por ZIF
Este implica remover el chip del PLC y se requiere colocarlo en un dispositivo especial llamado (Programador)
•Programación en Sistema
Este método el chip no necesita extraerse del circuito para su programación se la realiza por medio de un cable conocido como JTAG donde tiene 4 terminales que son conectadas la PLC y es cargada la información por medio de software que establece el formato apropiado de PLC
->Ventajas
Configurable la matriz AND y OR
Mayor número de conexiones a programar
Mayor flexibilidad en la realización del circuito
Tipos de configuraciones
-Con fusibles:
Irreversibles y no reconfigurables
Fueron los primeros en aparecer
-Con transistores MOS reconfigurables (no volátiles)
Borrables y reconfigurables:
Borrables mediante luz ultravioleta
Borrables eléctricamente
-Con transistores MOS y memoria activa estática (volátiles)
Se configura cada conexión mediante un biestable
Al dejar de alimentar el circuito se pierde la configuración
GAL (GENERIC ARRAY LOGIC)
En su forma básica es un PLD con una matriz AND reprogramable, una matriz OR fija y una macrocelda. Esta estructura permite implementar cualquier función lógica en forma de suma de productos con un numero de términos definido. Pueden ser reprogramadas varias veces.
En un GAL el fusible se reemplaza por una celda CMOS eléctricamente borrable (EECMOS) y mediante programación se activa o desactiva cada celda EECMOS.
Una celda activada conecta su correspondiente intersección de fila y columna, y una celda descativada desconecta dicha intersección. Con esta estructura se puede aplicar cualquier combinación de variables de entrada, o sus complementos, a una compuerta AND para generar cualquier operación producto que se desee.
ESTRUCTURA
Matriz Lógica Genérica (GAL)
CARACTERISTICAS:
• Es reprogramable.• Tiene configuraciones de salida reprogramables. • Usa tecnología E2CMOS (Electrically Erasable CMOS).
FUNCIONAMIENTO DE UNA GAL
COMO SE PROGRAMA
Mediante software ABEL, VHDL, VERIGOL, AHDL
Diagrama de bloques de la GAL22V10
Diagrama de la matriz GAL22V10
APLICACIÓNES
Ejemplo de aplicación:
Demostrar cómo se puede implementar la suma de productos de 6Variables siguientes con la GAL22V10:
EJEMPLO DE APLICACIÓN:
Indicar cómo se programa una GAL para obtener la siguiente expresiónde 3 variables:
FPGA (Field Programmable Gate Array)
• Consiste en arreglos de varias celdas lógicas las cuales se comunican unas con otras mediante canales de conexión verticales y horizontales. lo que se programa en una FPGA son los conmutadores que sirven para realizar las conexiones entre los diferentes bloques, mas la configuracion de los bloques.• No tienen una estructura de implementación predefinida, como los CPLD, permitiendo implementar una función lógica de mulltiples maneras. • Son tremendamente flexibles y potentes algunas de ellas. • Los inconvenientes de su utilización es la baja velocidad de operacion y baja densidad lógica debido a los retardos introducidos por los conmutadores y las largas pistas de conexion.
ELEMENTOS BASICOS1. Bloques lógicos, cuya estructura y contenido se denomina arquitectura. Hay muchos tipos de arquitecturas, que varían principalmente en complejidad (desde una simple puerta hasta módulos mas complejos o estructuras tipo PLD). Suelen incluir biestables para facilitar la implementación de circuitos secuenciales. Otros módulos de importancia son los bloques de Entrada/Salida.
2. Recursos de interconexión, cuya estructura y contenido se denomina arquitectura de rutado.
3. Memoria RAM, que se carga durante el RESET para configurar bloques y conectarlos.
TIPOS DE FPGAS
1. Matriz simétrica, como son las de XILINX.2. Basada en canales, ACTEL.3. Mar de puertas, ORCA.4. PLD jerárquico, ALTERA o CPLDs de XILINX.
ARQUITECTURA DE LAS FPGA DE XILINX
Como se realiza el proceso de programación:
En primer lugar, si se piensa que el numero de dispositivos de conexión que hay en una FPGA es muy grande (tipicamente superior a 100.000), es necesario que cumplan las siguientes propiedades:
Ser lo mas pequenos posible. Tener la resistencia ON lo mas baja posible, mientras la OFF ha de
ser lo mas alta posible (para que funcione como conmutador). Se deben poder incorporar al proceso de fabricación de la FPGA.
PRINCIPALES FAMILIAS
.
En la actualidad existen tambien las familias de FPGA SpartanII, SpartanIII, Virtex, VirtexII y VirtexPro.CELDAS LOGICAS
Cada celda lógica es funcionalmente similar a los bloques lógicos de un CPLD.La diferencia está en que un FPGA normalmente utiliza generadores de funciones en vez de compuertas.
Cada uno de estos generadores es como una memoria en donde en vez de implementar la función lógica mediante compuertas, se precalcula el resultado y se almacena en el generaqdor.
COMO SE PROGRAMA
El denominado modo Serial/Slave. En este caso los datos llegan en serie por un pin de entrada de datos de forma síncrona: un reloj (CCLK) valida los datos de la Entrada serie (DIN). Se deja al alumno definir el formato de los datos de entrada cuando se esta en configuración. El control de la FPGA se puede hacer desde un microprocesador, resultando el esquema de conexion mas sencillo Resulta evidente que hay que utilizar los recursos de interconexion para realizar la pro-gramacion, por lo que sería necesario configurar primero las interconexiones para realizar la programacion de los CLBs.Para programar las LUTs, se sugiere como forma sencilla de implementacion comenzar configurando todas las lineas para que lleven a, b c y d a todos los CLBs de la FPGA. Luego se Utilizaran unas lineas de seleccion de CLB" que vayan habilitando cada CLB mientras se hace la programacion. Son necesarios unos decodificadores globales que sirvan para llevar el dato a cada fila/columna de CLBs. Esto se puede ver como el acceso en escritura a una memoria. Si se realiza la escritura por las o columnas, harian falta unos registros de desplazamiento globales. Todos los elementos de memoria se deben enlazar siguiendo una filosofia "scan-path".
CUANTAS VECES SE PUEDE PROGRAMAR
Una FPGA basada en SRAM (RAM estática) admite un número ilimitado de reprogramaciones sin necesidad de borrados previos.
Un FPGA que utiliza este tipo de tecnología solo se puede programar una sola vez y utilizan algo similar a un fusible para realizar las conexiones. Una vez que este programado ya no se puede recuperar.Una desventaja obvia es que no son reutilizables, pero por el contrario disminuyen considerablemente el tamaño y costo de los dispositivos.
APLICACIONES
La principal aplicación de las FPGAs está orientada al procesamiento digital de señales (DSP), la cual es empleada en comunicaciones, procesado de datos, etc. La elección de una FPGA para aplicaciones de tratamiento de señal se debe a su alta frecuencia de trabajo, a su capacidad de procesamiento en paralelo, y a su bajo precio en comparación con los ASICs. De esta aplicación se derivan una gran variedad de aplicaciones de las FPGAs, citándose algunas de ellas a continuación:
Sistemas de visión artificial: en el mundo actual existen cada vez en más número dispositivos que disponen de un sistema de visión artificial. Ejemplo de esto son las cámaras de videovigilancia, robots, etc.
Sistemas de imágenes médicas: cada vez con más frecuencia se están empleando las FPGAs para el tratamiento de imágenes biomédicas obtenidas mediante procesos de PET, escáner CT, rayos X, imágenes tridimensionales, etc.
Radio definida por software: de forma tradicional, una radio consistía en una antena, encargada de recibir y enviar una señal, y un hardware encargado de procesar esa señal, filtrarla, modificar su frecuencia, etc.
Codificación y encriptación: la seguridad en el envío de mensajes es fundamental en la vida diaria, por ejemplo a la hora de enviar un email o de realizar una compra por internet, y lo es más aún en el ámbito militar, aeronáutico y gubernamental
Reconocimiento de voz: el reconocimiento de la persona que habla es una técnica empleada en seguridad, sistemas de recuperación de información, etc., y se espera que en el futuro su ámbito de aplicación aumente.
Aeronáutica y defensa: además de las mencionada previamente, existen multitud de aplicaciones aeronáuticas y de defensa que emplean FPGAs debido a las buenas características que éstas ofrecen.
Bibliografia
http://www.pablin.com.ar/electron/cursos/intropld/
http://es.wikipedia.org/wiki/L%C3%B3gica_programada
http://html.rincondelvago.com/dispositivos-logicos-programables.html
http://ingridbasanta.blogspot.mx/2007/12/dispositivos-lgicos-programables.html
http://www.virtual.unal.edu.co/cursos/sedes/manizales/4060027/CURSO/leccion_3/10.htm
Dispositivos lógicos programables, Universidad de Guadalajara, Centro universitario de ciencias exactas e ingenierías.
top related