Está en la página 1de 54

UNIVERSIDAD TECNOLÓGICA DE LA MIXTECA

Instituto de Electrónica y Mecatrónica

Introducción a la lógica reconfigurable


CIRCUITOS DIGITALES RECONFIGURABLES

Marzo / 2019

1
CIRCUITOS Digitales

ASIC: Application-Specific Integrated Circuit.

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
Existen diferentes CDR’s que se han colocado en el mercado:
◦ Simple Programmable Logic Devices (SPLD) :
◦ 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 Chip (SoC)
Las densidades (Número de transistores o compuertas en un chip)
se han ido incrementando y con ello se han ampliado las áreas de
aplicación.

4
• Intel 4004 fue construido
con tecnología de 10um,
400 kHz, 2250
transistores
• Intel Core-i7 fue
construido con tecnología
de 32 nm, 6 núcleos,
3.4 GHz, 995 millones de
transistores.
• Actualmente existe la
tecnología de 5 nm.
• Actualmente con
densidades de hasta
30,000,000 transistores

5
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.

6
Velocidad en los CDR’s
La velocidad de los CDR’s es adecuada para muchas aplicaciones,
algunos dispositivos son manejados, por ejemplo, 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.
7
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.

La densidad de un CDR’s es menor a la de un ASIC.

8
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.

9
CDR ASIC
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.

10
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.

11
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.

12
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.

13
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.
14
Lógica reconfigurable vs.
Procesadores
CIRCUITO DIGITAL RECONFIGURABLE PROCESADORES

• Bloques e interconexiones • Unidades funcionales bien


configurables, es posible diseñar definidas.
sistemas a medida.
• El programa determina el
• El programa define al hardware. comportamiento del hardware.
• En un sistema, los diferentes • Un programa se ejecuta en forma
módulos pueden operar en forma secuencial, aunque exista
concurrente. concurrencia en los recursos, su
atención por la CPU será secuencial
• Un diseño puede optimizarse, ya
sea en área o en velocidad.

15
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 presencia de
hardware optimizado para realizar operaciones matemáticas en forma rápida,
generalmente cuentan con una unidad de punto flotante.

16
Uso de los diferentes dispositivos

Lógica Discreta
SPLD

MCU CPLD

CDR´s
DSP FPGA

µP + mem y periféricos SoC FPGA

Complejidad de un
sistema
17
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)

18
PROM
El primer circuito configurable por el usuario, inventado en 1956.

Dirección

Dato

Arreglo AND fijo + Arreglo OR programable

19
PROM (Ejemplo)

– X = AB’C’ + A’B’C + A’BC


– Y = A’BC’ + AB’C
– Z = AB’C’ + ABC’ + A’B’C + ABC

20
PLA
oA mediados de la década de 1970 surgen los arreglos
lógicos programables (PLA, Programmable Logic Array).

oTienen un arreglo AND programable seguido de un


arreglo OR programable.

oPueden configurarse para realizar operaciones lógicas


AND y OR.

21
PLA

Arreglo AND programable + Arreglo OR programable

22
PLA (Ejemplo)
– X = AB’C’ + A’B’C + A’BC
– Y = A’BC’ + AB’C
– Z = AB’C’ + ABC’ + A’B’C + ABC

23
PAL
oA finales de la década de 1970 surge el arreglo lógico AND
programable (PAL, Programmable AND-Array Logic)

oMejora los tiempos de retardo del PLA

oEl PAL consta de una arreglo AND programable y un


arreglo OR fijo.

24
PAL

25
PAL
X = AB’C’ + A’B’C
Y = A’BC’ + AB’C
Z = A’B’C + ABC

26
GAL

oCon los dispositivos PROM, PLA y PAL solo se pueden construir


circuitos combinacionales.
oPara crear circuitos secuenciales se requiere:
oElementos de estado (Flip-Flop)
oSeñal de reloj
oLíneas de retroalimentación
oCon estos requerimientos se crearon los arreglos lógicos
genéricos (GAL, Generic Logic Array).
oUna GAL se basa en un Arreglo AND programable y macro celdas
lógicas de salida.

27
GAL

Combinacional

( OLMC, Output Logic Macrocell ) Secuencial

28
CPLD

oUn CPLD es un dispositivo lógico programable complejo (Complex


Programmable Logic Device)
oSon circuitos programables construidos con base en arreglos de
bloques lógicos (LABs)
oCada LAB contiene un conjunto de Macro celdas
oCon cada macro celda se puede realizar una función lógica
independiente
oLos LABs se conectan entre si a través de un arreglo de
interconexiones programable (PIA)
oEs posible realizar sistemas con mayor complejidad

29
CPLD
CPLD (Diagrama a Bloques)

31
CPLD (Macro celda)

32
CPLD
(Bloque I/O)

33
FPGA
oUn FPGA es un Arreglo de Compuertas Programable en
Campo (Field Programmable Logic Device)
oSon dispositivos programables que están construidos con
base en una matriz de bloques lógicos configurables (CLB)
oEn cada CLB es posible desarrollar una función lógica
independiente
oEntre los diferentes CLBs existen líneas de interconexión de
diferentes tamaños que también son configurables
oAlrededor de la matriz se encentran bloques de entrada y
salida (IOB) que también son configurables

34
FPGA

35
Principales Fabricantes

36
Principales Fabricantes

37
Arquitectura de la Familia
Spartan-3E de Xilinx

38
IOBs

Hay tres rutas principales :

• Entrada
• Salida
• Tres estados

39
Bloques Lógicos Configurables

Los CLBs (Configurable Logic Blocks) constituyen los principales


recursos lógicos para implementar circuitos combinacionales o
secuenciales síncronos.

40
Interior de
un Slice

1 CLB = 4 Slices

41
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.

42
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.

43
SoC FPGA

44
SoC FPGA

45
Tecnología de Programación
El fusible fue el primer elemento programable por el usuario, utilizado
en los SPLDs.

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.

46
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.
47
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).
48
RAM Estática (SRAM)

49
RAM Estática (SRAM)

Una celda SRAM puede utilizarse


para controlar intersecciones y
seleccionar diferentes opciones
para el ruteo de señales.

50
Compuerta Flotante
(EPROM/EEPROM)

Sin programar es un transistor «normal», programado queda como un circuito


abierto.

51
Compuerta Flotante
(EPROM/EEPROM)

Puede ser utilizado para


establecer la «unión» entre
dos alambres:

Word line Bit line


0 1
1 0

(considerando un canal n)

52
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.

53
COMPARACIÓN DE TECNOLOGÍAS DE PROGRAMACIÓN
# pasos
Reprogra- R (ohm) C (fF)
Tecnología Volatil? Area extra de
mable? (en unión) (parásita)
fabric.
SRAM
Si
Mux Si Grande 0.5 – 2K 10 – 20 0
In circuit
Trans. Paso
Pequeña (fusible)
Antifusible
No No Grande 300-600 5 3
ONO
(trans. Prog.)
Pequeña (fusible)
Antifusible
No No Grande 50-100 1.1 – 1.3 3
Metal-metal
(trans. Prog.)
Si
Pequeña en un
EPROM No Fuera del 2 – 4K 10 – 20 3
arreglo
circuito
Si
EEPROM No 2 x EPROM 2 – 4K 10 – 20 >5
In circuit

Todas las tecnologías con un proceso CMOS a 1.2 µm.

54