01 - Introduccion CDR
01 - Introduccion CDR
01 - Introduccion CDR
Marzo / 2019
1
CIRCUITOS Digitales
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.
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.
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.
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).
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.
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
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
Complejidad de un
sistema
17
Clasificación de los CDR
Una clasificación básica es la siguiente:
18
PROM
El primer circuito configurable por el usuario, inventado en 1956.
Dirección
Dato
19
PROM (Ejemplo)
20
PLA
oA mediados de la década de 1970 surgen los arreglos
lógicos programables (PLA, Programmable Logic Array).
21
PLA
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)
24
PAL
25
PAL
X = AB’C’ + A’B’C
Y = A’BC’ + AB’C
Z = A’B’C + ABC
26
GAL
27
GAL
Combinacional
28
CPLD
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
• Entrada
• Salida
• Tres estados
39
Bloques Lógicos Configurables
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
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.
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.
49
RAM Estática (SRAM)
50
Compuerta Flotante
(EPROM/EEPROM)
51
Compuerta Flotante
(EPROM/EEPROM)
(considerando un canal n)
52
Compuerta Flotante
(EPROM/EEPROM)
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
54