Download Lógica Programable -Introducción -

Document related concepts
no text concepts found
Transcript
Lógica Programable
-Introducción Introducción a los Sistemas
Lógicos y Digitales
2008
Sergio Noriega – Introducción a los Sistemas Lógicos y Digitales - 2008
Memorias
Lógica Programable
Clasificación según acceso:
SRAM
Volátiles
Simple puerto
Doble puerto
DRAM
Aleatorio
No volátiles
ROM
PROM
EPROM
EEPROM
FLASH
NVRAM
Secuencial
Registro de desplazamiento
Circuito de acoplamiento de carga (CCD)
FIFO (First In First Out)
LIFO (Last In First Out)
Contenido
CAM (Content Addressable Memory)
Memorias
Lógica Programable
Introducción a los Sistemas Lógicos y Digitales 2007
Memorias
Lógica Programable
Introducción a los Sistemas Lógicos y Digitales 2007
Memorias
Lógica Programable
Introducción a los Sistemas Lógicos y Digitales 2007
Memorias
Lógica Programable
Introducción a los Sistemas Lógicos y Digitales 2007
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:
Microprocesador (microprocesador, microcontrolador, DSP, etc.).
Introducción a los Sistemas Lógicos y Digitales 2007
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.
Introducción a los Sistemas Lógicos y Digitales 2007
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.
Rentable para volúmenespequeños de partes.
Introducción a los Sistemas Lógicos y Digitales 2007
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
Menor
Menor
Menor
costo de desarrollo:
tiempo muerto en el desarrollo.
cantidad de partes diferentes.
cantidad diferentes de fabricantes.
Introducción a los Sistemas Lógicos y Digitales 2007
Lógica Programable
Lógica Programable
ESTO CUBRE SOLO EL DISEÑO DE
CIRCUITOS COMBINATORIOS
Introducción a los Sistemas Lógicos y Digitales 2007
Lógica Programable
Lógica Programable
ESTO CUBRE SOLO EL DISEÑO DE
CIRCUITOS COMBINATORIOS
Introducción a los Sistemas Lógicos y Digitales 2007
Lógica Programable
Lógica Programable
ESTO CUBRE SOLO EL DISEÑO DE
CIRCUITOS COMBINATORIOS
Introducción a los Sistemas Lógicos y Digitales 2007
Lógica Programable
Lógica Programable
ESTO CUBRE SOLO EL DISEÑO DE
CIRCUITOS COMBINATORIOS
Introducción a los Sistemas Lógicos y Digitales 2007
Lógica Programable
Lógica Programable
ESTO CUBRE SOLO EL DISEÑO DE
CIRCUITOS COMBINATORIOS
Introducción a los Sistemas Lógicos y Digitales 2007
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.
Los problemas son: baja velocidad de respuesta, subutilización del hardware e
imposibilidad de generar lógica secuencial.
Introducción a los Sistemas Lógicos y Digitales 2007
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)
Introducción a los Sistemas Lógicos y Digitales 2007
Lógica Programable
Lógica Programable
ESTRUCTURA BÁSICA DE UNA PAL
Introducción a los Sistemas Lógicos y Digitales 2007
Lógica Programable
Lógica Programable
ESTRUCTURA BÁSICA DE UNA PLA
Introducción a los Sistemas Lógicos y Digitales 2007
Lógica Programable
Lógica Programable
Esquema del circuito asociado a
una de las compuertas AND que
forman la estructura de una PAL
básica.
intacto
Esquema físico para la
implementación de la función
quemado
AB
no hay unión
Esquema simplificado para la
implementación de la función
AB
hay unión
Introducción a los Sistemas Lógicos y Digitales 2007
Lógica Programable
Lógica Programable
PAL (Programmable Array Logic)
En el año 1977 Monolithic Memories Inc. creó el primer circuito
integrado digital programable por el usuario.
Vista del primer chip programable (PAL16L8)
Introducción a los Sistemas Lógicos y Digitales 2007
Lógica Programable
Lógica Programable
PAL (Programmable Array Logic)
Introducción a los Sistemas Lógicos y Digitales 2007
Lógica Programable
Lógica Programable
PAL (Programmable Array Logic)
PAL16L8
Introducción a los Sistemas Lógicos y Digitales 2007
Lógica Programable
Lógica Programable
PAL (Programmable Array Logic)
PAL16L8
Introducción a los Sistemas Lógicos y Digitales 2007
Lógica Programable
Lógica Programable
PAL (Programmable Array Logic)
PAL16R8
Introducción a los Sistemas Lógicos y Digitales 2007
Lógica Programable
PAL (Programmable Array Logic)
Lógica Programable
PAL16R8
PAL16R8
Introducción a los Sistemas Lógicos y Digitales 2007
Lógica Programable
GAL16LV8
Lattice Semiconductor
Lógica Programable
Generic 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
Introducción a los Sistemas Lógicos y Digitales 2007
Lógica Programable
GAL16LV8
Lógica Programable
OLMC (Out Logic Macrocell)
Introducción a los Sistemas Lógicos y Digitales 2007
Lógica Programable
GAL16LV8
Lógica Programable
La 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)
Modo Simple
Introducción a los Sistemas Lógicos y Digitales 2007
Lógica Programable
GAL16LV8
Lógica Programable
Modo Complejo
Modo Registrado
Introducción a los Sistemas Lógicos y Digitales 2007
Lógica Programable
GAL16LV8
Lógica Programable
Introducción a los Sistemas Lógicos y Digitales 2007
Lógica Programable
EPLD
Lógica Programable
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
recursos fundamentalmente de
lógica combinatoria y a bajo costo.
Introducción a los Sistemas Lógicos y Digitales 2007
Lógica Programable
FPGA
Lógica Programable
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
multiplicadores aritméticos para
implementar DSP.
Introducción a los Sistemas Lógicos y Digitales 2007
Lógica Programable
Lógica Programable
Introducción a los Sistemas Lógicos y Digitales 2007
Lógica Programable
EPLD vs. FPGA
Lógica Programable
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.
Las FPGA suelen ser de granualidad fina.
Introducción a los Sistemas Lógicos y Digitales 2007
Ló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.
Sergio Noriega – Introducción a los Sistemas Lógicos y Digitales - 2008