1. introducciÓn a la lÓgica reconfigurablefsantiag/cir_dig_rec/01_introduccion.pdfsimulación...

Post on 22-Mar-2020

19 Views

Category:

Documents

1 Downloads

Preview:

Click to see full reader

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

top related