1. introducciÓn a la lÓgica reconfigurablefsantiag/cir_dig_rec/01_introduccion.pdfsimulación...
TRANSCRIPT
C I R C U I T O S D I G I T A L E S R E C O N F I G U R A B L E S
1. INTRODUCCIÓN A LA LÓGICA RECONFIGURABLE
UNIVERSIDAD TECNOLÓGICA DE LA MIXTECA
Instituto de Electrónica y Mecatrónica
M. C. Felipe Santiago Espinosa
Marzo / 2017
1
CIRCUITOS DIGITALES
ASIC : Application-Specific Integrated Circuit.
Lógica Digital
Lógica Estándar
TTL74xx
CMOS4xxx
Lógica Reconfigurable Personalizable
Micro
controladores
Microprocesador
+ Memoria
ASIC
SPLD’s CPLD’s FPGA’s SoC FPGA
2
CIRCUITOS DIGITALES RECONFIGURABLES
• De manera general, un circuito
digital reconfigurable (CDR)
contiene un arreglo de celdas
lógicas.
• En cada celda se puede
programar una función
booleana.
• Las celdas se comunican por
conexiones que también son
programables.
• Los CDR también cuentan con
bloques I/O configurables.
3
CIRCUITOS DIGITALES RECONFIGURABLES
• Históricamente, diferentes CDR’s se han colocado en el mercado:
• Dispositivos simples:
• Programmable Read Only Memory (PROM)
• Programmable Logic Arrays (PLA)
• Programmable AND-Array Logic (PAL)
• Complex Programmable Logic Devices (CPLD)
• Field Programmable Gate Arrays (FPGA)
• System on a Chip (SoC)
• Las densidades (# de transistores o compuertas en un chip) se han
ido incrementando y con ello se han ampliado las áreas de
aplicación.
4
CIRCUITOS DIGITALES RECONFIGURABLES
• Los CDR’s pueden ser programados “en sitio” en segundos o minutos, en lugar de semanas como ocurre con los ASIC.
• Algunos CDR’s cuentan con densidades que superan los 2 millones de compuertas. Esta densidad es lo suficientemente alta como para implementar casi cualquier sistema digital (Comparable a los ASIC)
• Los CDR’s representan un estilo de diseño de bajo-riesgo, porque el precio de un error en la lógica es pequeño tanto en dinero como en retrasos del proyecto.
• Los CDR’s no necesitan ser probados, dado que están completamente caracterizados por el fabricante.
5
VELOCIDAD EN LOS CDR’S
• La velocidad de los CDR’s es adecuada para muchas aplicaciones,
algunos dispositivos son manejados con osciladores externos de 100
o hasta 200 MHz, pero su circuitería interna les permite manejar
señales de reloj internas de hasta 800 MHz.
• Debido a los recursos requeridos para su programación, la velocidad
de un CDR nunca alcanzará la velocidad de un ASIC.
• La velocidad de una aplicación se puede incrementar cambiando el
CDR por uno con un proceso CMOS más rápido, sin modificar el
diseño.
6
DENSIDAD EN LOS CDR’S
• La programabilidad de los CDR’s requiere de circuitería
adicional que no puede ser usada por los diseñadores (Costo en
Área).
• Sin embargo, la densidad se ha incrementado recientemente
porque la mayoría de los fabricantes de CDR’s están
empleando nuevos procesos CMOS de sub-micras.
• Obviamente, la densidad de un CDR’s es menor a la de un
ASIC.
7
TIEMPO DE DESARROLLO
El tiempo de desarrollo usando CDR’s es medido en
días o semanas, en contraste al tiempo de desarrollo
con ASICs.
CDR ASIC
8
PROTOTIPADO Y TIEMPO DE SIMULACIÓN
• La verificación de un ASIC requiere de una extensiva
simulación antes de solicitar la manufactura.
• En contraste, la simulación con un CDR es mucho más simple
por el hecho de que su organización y tiempos de propagación
son conocidos de antemano.
• Muchos usuarios de CDR’s evitan la simulación de un sistema
completo y optan por una verificación in-circuit.
9
PRUEBAS Y MANUFACTURA
• En los ASIC’s hay tres tipos de costos adicionales para el desarrollo
de pruebas:
• Consideración de una lógica interna que facilite las pruebas.
• Creación de programas de prueba.
• Prueba de partes cuando la manufactura ha sido completada.
• Los CDR’s tienen una estructura simple y repetible, el programa de
prueba es el mismo para todos los diseños y usuarios de esa parte, el
usuario no necesita diseñar pruebas específicas.
• Los CDR’s son manufacturados y liberados como partes
completamente probadas, listas para la implementación de diseños.
10
MODIFICACIONES FUTURAS
• Un diseño basado en un CDR puede ser modificado
reprogramando al dispositivo. La reprogramación puede tomar
segundos o minutos, ya sea fuera de línea o en línea (mientras
el sistema está operando).
• En contraparte, cada nueva versión de un diseño basado en un
ASIC requiere de una máscara personalizada que cuesta miles
de dólares, lo cual sólo es factible si se realizará una
producción masiva, amortizando el costo entre el total de
unidades manufacturadas.
11
RIESGO DE INVENTARIO
• El mismo CDR puede ser utilizado para diferentes diseños. En
contraste con un ASIC que es utilizado en un sólo diseño.
• Esto significa que se requiere de un estudio previo para
determinar el volumen de circuitos ASIC a manufacturar,
siempre existe la probabilidad de que sean demasiadas o
insuficientes partes.
• No representa un riesgo mantener un volumen alto de CDR’s
en inventario.
12
LÓGICA RECONFIGURABLE VS. LÓGICA DISCRETA
• Similitudes: • Ambas tecnologías representan un bajo riesgo en inventario.
• Ventajas de los CDR’s: • Velocidad y densidad mucho más alta.
• Se facilita el desarrollo de prototipos.
• Las correcciones y/o modificaciones futuras resultan mucho más simples.
• Existen herramientas de simulación más sofisticadas.
• Desventajas de los CDR’s: • Algunos CDR no son convenientes para sistemas de baja
complejidad.
• Su precio es más alto, en muchos casos es necesario emplear una tarjeta para prototipado rápido.
13
LÓGICA RECONFIGURABLE VS. PROCESADORES
Circuito Digital
Reconfigurable
• Bloques e interconexiones configurables, es posible diseñar sistemas a medida.
• El programa define al hardware.
• En un sistema, los diferentes módulos pueden operar en forma concurrente.
• Un diseño puede optimizarse, ya sea en área o en velocidad.
Procesadores
• Unidades funcionales bien definidas.
• El programa determina el comportamiento del hardware.
• Un programa se ejecuta en forma secuencial, aunque exista concuerrencia en los recursos, su atención por la CPU será secuencial
14
CONCEPTOS RELACIONADOS
• Procesador o CPU: Es la unidad central de procesamiento de un sistema, se encarga de administrar los recursos del mismo bajo la ejecución de un programa, que básicamente es un conjunto ordenado de instrucciones reconocidas por el procesador.
• Microprocesador: Básicamente es una CPU en un circuito integrado y generalmente es utilizado para administrar los recursos de una computadora.
• Microcontrolador: Es un CI que contiene una CPU, memoria de programa, memoria para datos, puertos de I/O, temporizadores, interfaces seriales, etc., con todos estos recursos los MCU (micro-controller unit) generalmente son empleados en sistemas con un propósito específico.
• Procesador Digital de Señales (DSP): Es un CI similar a un MCU porque tiene una CPU, memoria y otros recursos, pero la diferencia fundamental es la precensia de hardware optimizado para realizar operaciones matemáticas en forma rápida, generalmente cuentan con una unidad de punto flotante.
15
USO DE LOS DIFERENTES DISPOSITIVOS
Lógica DiscretaSPLD
MCU CPLD
µP + mem y periféricos
DSP
SoC FPGA
FPGA
Complejidad de unsistema 16
CLASIFICACIÓN DE LOS CDR
Una clasificación básica es la siguiente:
• SPLD (Simple Programmable Logic Device)
• PROM (Programmable Read Only Memory)
• PLA (Programmable Logic Array)
• PAL (Programmable AND-Array Logic)
• GAL (Generic Array Logic)
• CPLD (Complex Programmable Logic Device)
• FPGA (Field Programmable Gate Array)
• SoC (System On a Chip)
17
PROM
Arreglo AND fijo + Arreglo OR programable
El primer circuito configurable por el usuario, inventado en 1956.
Dirección
Dato
18
PROM (EJEMPLO)
– X = AB’C’ + A’B’C + A’BC
– Y = A’BC’ + AB’C
– Z = AB’C’ + ABC’ + A’B’C + ABC
19
PLA
• A mediados de la década de 1970 surgen los arreglos
lógicos programables (PLA, Programmable Logic
Array).
• Tienen un arreglo AND programable seguido de un
arreglo OR programable.
• Pueden configurarse para realizar operaciones lógicas
AND y OR.
20
PLA
Arreglo AND programable + Arreglo OR programable 21
PLA (EJEMPLO)
– X = AB’C’ + A’B’C + A’BC
– Y = A’BC’ + AB’C
– Z = AB’C’ + ABC’ + A’B’C + ABC
22
PAL
• A finales de la década de 1970 surge el arreglo
lógico AND programable (PAL, Programmable
AND-Array Logic)
• Mejora los tiempos de retardo del PLA
• El PAL consta de una arreglo AND programable y
un arreglo OR fijo
23
PAL
Arreglo AND programable + Arreglo OR fijo 24
PAL
• X = AB’C’ + A’B’C
• Y = A’BC’ + AB’C
• Z = A’B’C + ABC
25
GAL
• Con los dispositivos PROM, PLA y PAL solo se pueden construir circuitos combinacionales
• Para crear circuitos secuenciales se requiere:
• Elementos de estado (Flip-Flop)
• Señal de reloj • Líneas de retroalimentación
• Con estos requerimientos se crearon los arreglos lógicos genéricos (GAL, Generic Logic Array)
• Una GAL se basa en un Arreglo AND programable y macro
celdas lógicas de salida
26
GAL
( OLMC, Output Logic Macrocell )
Combinacional
Secuencial 27
CPLD
• Un CPLD es un dispositivo lógico programable complejo (Complex Programmable Logic Device)
• Son circuitos programables construidos con base en arreglos de bloques lógicos (LABs)
• Cada LAB contiene un conjunto de Macro celdas
• Con cada macro celda se puede realizar una función lógica independiente
• Los LABs se conectan entre si a través de un arreglo de interconexiones programable
• Es posible realizar sistemas con mayor complejidad
28
CPLD
29
CPLD (DIAGRAMA A BLOQUES)
30
CPLD (MACRO CELDA)
31
CPLD (BLOQUE I/O)
32
FPGA
• Un FPGA es un Arreglo de Compuertas Programable en Campo (Field Programmable Logic Device)
• Son dispositivos programables que están construidos con base en una matriz de bloques lógicos configurables (CLB)
• En cada CLB es posible desarrollar una función lógica independiente
• Entre los diferentes CLBs existen líneas de interconexión de diferentes tamaños que también son configurables
• Alrededor de la matriz se encentran bloques de entrada y salida (IOB) que también son configurables
33
FPGA
34
PRINCIPALES FABRICANTES
35
36
Hay 3 rutas principales : • Entrada • Salida • Tres estados
IOBs
37
Los CLBs (Configurable Logic Blocks) constituyen los principales recursos lógicos para implementar circuitos combinacionales o secuenciales síncronos.
38
1 CLB = 4 Slices
Interior de un Slice
39
SOC FPGA
• Los sistemas embebidos están basados en un procesador o en un FPGA.
• Un SoC FPGA integra un procesador (o procesadores) y lógica reconfigurables (típica de un FPGA) en el mismo dispositivo.
• Un SoC integra: La funcionalidad de gestión de alto nivel de un procesador y las operaciones en tiempo real, el procesamiento concurrente o el manejo de interfaces de un FPGA.
• El resultado es una plataforma de cómputo incrustada, aún más potente.
40
SOC FPGA
Se elimina el costo de una pieza de plástico y se reduce el tamaño de la tarjeta del sistema. Se reduce el consumo de potencia y aumenta el ancho de banda para la comunicación entre el FPGA y el procesador. 41
SOC FPGA
42
TECNOLOGÍA DE PROGRAMACIÓN
• El fusible fue el primer elemento programable por el usuario, utilizado en los más simples PLDs.
• Actualmente se tienen diferentes tipos de “interruptores” programables para la configuración de dispositivos de alta densidad, como CPLDs y FPGAs.
• Las propiedades de estos interruptores programables, como tamaño, volatilidad, tecnología de fabricación, resistencia interna y capacitancia, determinan las principales características de un CDR.
43
EL ANTIFUSIBLE ONO
Un antifusible es lo opuesto a un fusible. Es un circuito abierto hasta que
se le hace circular una corriente (cerca de 5 mA). La corriente funde una
capa aislante delgada para formar un enlace resistivo permanente.
La serie ACT de FPGAs de Actel utiliza esta tecnología de
programación, en un antifusible conocido como PLICETM. 44
EL ANTIFUSIBLE METAL-METAL
QuickLogic usa un antifusible metal-metal llamado ViaLinkTM..
Un antifusible metal-metal permite una conexión directa a las capas
metálicas y consume menos área (se reduce la capacitancia) en contraste
a los antifusibles de poly-difusión (antifusible ONO).
45
RAM ESTÁTICA (SRAM)
46
RAM ESTÁTICA (SRAM)
Una celda SRAM puede utilizarse
para controlar intersecciones y
seleccionar diferentes opciones
para el ruteo de señales.
47
COMPUERTA FLOTANTE (EPROM/EEPROM)
Sin programar es un transistor «normal», programado queda como un circuito
abierto.
48
COMPUERTA FLOTANTE (EPROM/EEPROM)
Puede ser utilizado para
establecer la «unión» entre
dos alambres:
(considerando un canal n)
Word line Bit line
0 1
1 0
49
COMPUERTA FLOTANTE (EPROM/EEPROM)
También puede ser utilizado
para implementar lógica al
estilo AND-alambrada.
De esta forma, los transistores
proporcionan lógica y ruteo.
50
Tecnología Volatil? Reprogra-
mable? Area
R (ohm)
(en
unión)
C (fF)
(parásita)
# pasos
extra de
fabric.
SRAM
Mux
Trans. Paso
Si Si
In circuit Grande 0.5 – 2K 10 – 20 0
Antifusible
ONO No No
Pequeña
(fusible)
Grande
(trans. Prog.)
300-600 5 3
Antifusible
Metal-
metal
No No
Pequeña
(fusible)
Grande
(trans. Prog.)
50-100 1.1 – 1.3 3
EPROM No
Si
Fuera del
circuito
Pequeña en
un arreglo 2 – 4K 10 – 20 3
EEPROM No Si
In circuit 2 x EPROM 2 – 4K 10 – 20 > 5
COMPARACIÓN DE TECNOLOGÍAS DE PROGRAMACIÓN
Todas las tecnologías con un proceso CMOS a 1.2 µm. 51