L
L
ó
ó
gica Programable
gica Programable
--
Introducci
Introducci
ó
ó
n
n
-
-Introducci
Introducci
ó
ó
n a los Sistemas
n a los Sistemas
L
L
ó
ó
gicos y Digitales
gicos y Digitales
2008
Lógica Programable
Memorias
Clasificación según acceso:
Aleatorio
Secuencial
Contenido
Volátiles
No volátiles
Registro de desplazamiento
Circuito de acoplamiento de carga (CCD)
FIFO (First In First Out)
LIFO (Last In First Out)
CAM (Content Addressable Memory)
SRAM
DRAM
Simple puerto
Doble puerto
ROM
PROM
EPROM
EEPROM
FLASH
NVRAM
Lógica Programable
Memorias
Lógica Programable
Memorias
Lógica Programable
Memorias
Lógica Programable
Memorias
Lógica Programable
Lógica Programable
Caminos posibles para desarrollo de lógica:
Lógica convencional:
•Compuertas (diseño discreto a muy bajo nivel de integración).
•Circuitos integrados específicos básicos (sumadores, contadores, FF´s , decodificadores, MUX´s, DeMUX´s, etc.)
•Circuitos integrados específicos complejos (timer, contador universal, etc.) Lógica programable por hardware:
•Memoria ROM y sus derivados ( ROM, PROM, EEPROM, Flash, etc.). •Lógica programable (PAL, GAL, EPLD, CPLD-FPGA, etc.).
Lógica programable por software:
Lógica Programable
Lógica Programable
Exigencias del mercado actual:
•Equipos cada vez mas complejos. •Especificaciones variables.
•Reducción de costos (tiempos de desarrollo ↓↓).
El diseñador debe por lo tanto:
•Requerir de dispositivos mas modernos. •Herramientas de desarrollo mas flexibles. •Posibilidad de actualizar los diseños.
•Disminuir costos en el chequeo del producto final. Solución:
Disponer de una plataforma de diseño que le brinde una solución universal.
Generalmente esto se consigue en el ámbito digital, con la elección de sistemas basados en el empleo de microprocesadores y/o lógica programable.
Lógica Programable
Lógica Programable
Soluciones posibles con lógica programada por hardware
MPGA (Mask Programmabled Gate Array): Diseño específico de chips.
Rentable para muy grandes volúmenes de componentes. ASIC (Application Specific Integrated Circuit):
Diseño semi-programable.
Rentable para volúmenes moderados de partes. FPL (Field Programmable Logic):
Totalmente configurable.
Lógica Programable
Lógica Programable
Ventajas del uso de lógica programable sobre lógica standard
Mayor performance:Mayor velocidad. Menor tamaño.
Mayor confiabilidad.
Mejor adaptación a cambios en el diseño. Control rápido y eficiente del diseño.
Menor costo de desarrollo:
Menor tiempo muerto en el desarrollo. Menor cantidad de partes diferentes.
Lógica Programable
Lógica Programable
ESTO CUBRE SOLO EL DISEÑO DE CIRCUITOS COMBINATORIOS
Lógica Programable
Lógica Programable
ESTO CUBRE SOLO EL DISEÑO DE CIRCUITOS COMBINATORIOS
Lógica Programable
Lógica Programable
ESTO CUBRE SOLO EL DISEÑO DE CIRCUITOS COMBINATORIOS
Lógica Programable
Lógica Programable
ESTO CUBRE SOLO EL DISEÑO DE CIRCUITOS COMBINATORIOS
Lógica Programable
Lógica Programable
ESTO CUBRE SOLO EL DISEÑO DE CIRCUITOS COMBINATORIOS
Lógica Programable
Lógica Programable
ESTRUCTURA DE UNA MEMORIA PROM
La opción de desarrollar lógica combinatoria con ROM tiene la ventaja de poder implementar múltiples funciones de varias variables simultáneamente
Por ejemplo una ROM de 64KBytes x 8 permite generar 8 funciones de hasta 16 variables cada una.
Lógica Programable
Lógica Programable
Evolución de los Dispositivos Lógicos Programables (PLD)
Primera generación: PAL (Programmable Array Logic) PLA (Programmable Logic Array) GAL (Generic Array Logic)
Segunda generación: EPLD (Electrically Programmable Logic Device) Tercera generación: FPGA (Field Programmable Gate Array)
Lógica Programable
Lógica Programable
Lógica Programable
Lógica Programable
Lógica Programable
Lógica Programable
quemado
intacto
Esquema físico para la
implementación de la función A B
Esquema simplificado para la implementación de la función A B
no hay unión
Esquema del circuito asociado a una de las compuertas AND que forman la estructura de una PAL
Lógica Programable
Lógica Programable
Vista del primer chip programable (PAL16L8)
En el año 1977 Monolithic Memories Inc. creó el primer circuito integrado digital programable por el usuario.
Lógica Programable
Lógica Programable
Lógica Programable
Lógica Programable
PAL16L8 PAL (Programmable Array Logic)
Lógica Programable
Lógica Programable
PAL16L8 PAL (Programmable Array Logic)
Lógica Programable
Lógica Programable
PAL16R8 PAL (Programmable Array Logic)
Lógica Programable
Lógica Programable
PAL16R8
PAL16R8 PAL (Programmable Array Logic)
Lógica Programable
Lógica Programable
GAL16LV8Generic Array Logic
La GAL es a diferencia de la PAL programable con memoria EEPROM a fin de poder ser re-programable un número muy grande de veces (10.000 y con mantenimiento de la información de unos 10 años). LV trabaja con 3.3V y V con 5V. Posee 8 bloques lógicos idénticos para generar funciones
Lógica Programable
Lógica Programable
GAL16LV8Lógica Programable
Lógica Programable
GAL16LV8La GAL16LV8 tiene 3 modos de configuración de In/Out:
Modo Simple (similar a la estructura de la PAL16L8)
Modo Complejo (agrega la posibilidad de usar Tri-State) Modo Registrado (permite salidas con FFD)
Lógica Programable
Lógica Programable
GAL16LV8Modo Complejo
Lógica Programable
Lógica Programable
GAL16LV8Lógica Programable
Lógica Programable
EPLD
Los circuitos programables digitales de segunda generación también se basan en el uso de matriz AND-OR (programable la AND) para generar un dado número de funciones lógicas generalmente de hasta 5 variables.
Las características mas sobresalientes de las EPLD ó también llamadas CPLD (Complex PLD) son:
> Utilizan tecnología E2PROM para su programación.
> Existe una matriz compleja de interconexión (PIM) con gran flexibilidad en la configuración interna y asignación de señales a los pines de E/S. > Poseen una interface serie especial
con propósitos de programación y test en fabrica y por el usuario. > Su estructura interna cuenta con
bloques idénticos (Logic Blocks) para genera una función
combinatoria con posibilidad de salida registrada.
> Suelen utilizarse para aquellos diseños donde se requiera de baja a mediana complejidad con
Lógica Programable
Lógica Programable
FPGA
Son dispositivos de 3ra. generación con bloques lógicos basados en LUTs. Tienen una matriz de interconexión mucho mas compleja y distribuída que las EPLD.
Existen versiones de FPGA que tienen como elementos de memoria celdas SRAM (las mas comunes), además de anti-fusibles y Flash.
Con RAM se tiene la ventaja de poder implementar diferentes tipos de
memoria además de poseer una
mayor densidad de integración lo que permite mayor realización de lógica. La desventaja es la necesidad de una memoria externa de booteo.
Actualmente hay versiones de FPGA con bloques dedicados de PLL y
Lógica Programable
Lógica Programable
Lógica Programable
Lógica Programable
EPLD vs. FPGA
Las EPLD son mas baratas y no requieren el empleo de memoria serie
para su configuración como las FPGA basadas en RAM. Son de granuladidad gruesa.
Las FPGA basadas en RAM en cambio permiten mayor densidad de
integración, tanto interna como disponibilidad de pines de E/S, una gran capacidad de síntesis secuencial y flexibilidad en el diseño lógico.
Las FPGA basadas en anti-fusibles son OTP (One Time Programmable) y su utilización está restringuida al ámbito aeroespacial.
Las FPGA basadas en tecnología E2PROM sacrifican espacio en beneficio
de eliminar la memoria E2PROM serie y abaratar un poco los costos.
L
L
ó
ó
gica Programable
gica Programable
Bibliografía:
Apuntes de teoría:
• Trabajo Final “Introducción a los Dispositivos FPGA: Análisis y Ejemplos de Diseño ”. Autor: Eduardo Bozich. Año 2005.
Libros:
• “Circuitos microelectrónicos”. Sedra - Smith. Ed. Oxford.
• “Sistemas Digitales”. R. Tocci, N. Widmer, G. Moss. Ed. Prentice Hall. • “Diseño Digital”. M. Morris Mano. Ed. Prentice Hall. 3ra edición.
• “Diseño de Sistemas Digitales”. John Vyemura. Ed. Thomson.
• “Diseño Lógico”. Antonio Ruiz, Alberto Espinosa. Ed. McGraw-Hill.
• “Digital Design:Principles & Practices”. John Wakerly. Ed. Prentice Hall. • “Digital Design with CPLD Applications and VHDL”. Robert Dueck. Ed.
Thomson .
• “Diseño Digital”. Alan Marcovitz. Ed. McGraw-Hill.
• “Electrónica Digital”. James Bignell, R. Donovan. Ed. CECSA.
• “Fundamentos de Diseño Lógico y Computadoras”. M. Mano, C. Kime. Ed. Prentice Hall.