011000010111001101100001011011100111101001100001
01101010011001010110000101101110
Laboratorio de Sistemas Digitales Víctor Asanza Armijos 1
011000010111001101100001011011100111101001100001 01101010011001010110000101101110
Dispositivos lógicos configurables
y programables:
Laboratorio de Sistemas Digitales Víctor Asanza Armijos 2
011000010111001101100001011011100111101001100001 01101010011001010110000101101110
Objetivos:
Al finalizar esta sesión el estudiante será capaz de:
• Conocer las tecnologías de lógica digital.
• Entender como funciona el CPLD.
• Entender como funciona el FPGA.
Laboratorio de Sistemas Digitales Víctor Asanza Armijos 3
011000010111001101100001011011100111101001100001
Introducción:
Clasificación general de tecnologías de lógica Digital: 01101010011001010110000101101110
Lógica Estándar TTL 74xx
CMOS 4xxx
Lógica digital PLDs
Lógica Programable FPGAs
CPLDs
ASICs Gate Arrays
Standard Cell
Full Custom Microprocessor & RAM
Laboratorio de Sistemas Digitales Víctor Asanza Armijos 4
011000010111001101100001011011100111101001100001
Introducción:
Circuitos lógicos estándar: Ya están definidas desde fábrica. 01101010011001010110000101101110
SSI (Small-Scale Integration).-Puertas lógicas, desde unos pocos
transistores hasta centena de ellos.
MSI (Medium-Scale Integration).- Contienen cientos de
transistores.
TTL ( transistor-transistor logic).-
• Alimentación 4,75v - 5,25V
• 0,0V y 0,08V -> estado L (bajo); 2,4V y Vcc -> estado H (alto)
• No pueden viajar más de 2 m por cable sin graves pérdidas.
CMOS (Complementary metal-oxide-semiconductor).-
• Transistores tipo pMOS y nMOS.
• Robustos frente a ruido o degradación de señal.
• Familias lógicas usadas para fabricar CI.
Ej.: Registros, decodificadores, multiplexores, etc.
Laboratorio de Sistemas Digitales Víctor Asanza Armijos 5
011000010111001101100001011011100111101001100001 01101010011001010110000101101110
Introducción:
Lógica programable: Requieren la configuración o programación
del usuario, requieren semanas de desarrollo.
• PLDs / SPLDs (Dispositivos Lógicos Programables Simples): Conjunto de
puertas AND cuyas salidas -> a un conjunto de puertas OR.
• ROM (AND-fijo, OR-programable)
• PAL (AND-programable, OR-fijo)
• PLA (AND-programable, OR-programable)
• CPLDs (Dispositivos Lógicos Programables Complejos)
• FPGAs (Arreglos de Puertas Programables por Campos)
Laboratorio de Sistemas Digitales Víctor Asanza Armijos 6
011000010111001101100001011011100111101001100001 01101010011001010110000101101110
Introducción:
Circuitos Integrados de Aplicación Específica (ASICs):
Configurados por los fabricantes pero con las funciones
definidas por el usuario, requieren meses de desarrollo, mas
económico que CPLDs o FPGAs.
Full Custom VLSI: Requiere años de diseño y pruebas del
dispositivo. Se justifica bajo volúmenes grandes de ventas.
Ej.: Microprocesadores y memorias RAM de computadoras.
Laboratorio de Sistemas Digitales Víctor Asanza Armijos 7
011000010111001101100001011011100111101001100001
Introducción:
Relación de tecnología de lógica digital: 01101010011001010110000101101110
PLDs
Velocidad, CPLDs
Densidad, FPGAs
Complejidad,
Volumen de ASICs
Producción,
Costo de Full Custom
producción, VLSI Design
Tiempo de
desarrollo
Laboratorio de Sistemas Digitales Víctor Asanza Armijos 8
011000010111001101100001011011100111101001100001 01101010011001010110000101101110
Introducción:
ENCAPSULADO.- Los PLDs y FPGAs están disponibles en varios
encapsulados:
• Altera MAX CPLD esta empaquetado como PLCC (Plastic-leaded chip
carrier)
• También llamado Quad-Flat-J-Leg Chipcarrier (QFJ)
• Encapsulados PLCC pueden ser cuadrados o rectangulares.
• Número de pines oscila entre 20 y 84, espaciado de pines de 1,27 mm
(0,05 pulgadas).
Laboratorio de Sistemas Digitales Víctor Asanza Armijos 9
011000010111001101100001011011100111101001100001 01101010011001010110000101101110
Introducción:
ENCAPSULADO.-
• Altera FLEX FPGA esta empaquetado como PQFP(plastic quad flat pack)
o encapsulado cuadrado plano, es un encapsulado para montaje
superficial (mount surface).
• Utiliza habitualmente de 44 a 200 pines, separación entre ellos de 0,4 a 1
mm.
Laboratorio de Sistemas Digitales Víctor Asanza Armijos 10
011000010111001101100001011011100111101001100001 01101010011001010110000101101110
Introducción:
ENCAPSULADO.-
• Xilinx FPGA esta en paquete PGA(pin grid array).
• Particularmente usado en microprocesadores.
• Ej.: Intel 80386 y el Intel 80486.
• Hay nuevos tipos de empaquetado BGA (ball grid array).
Laboratorio de Sistemas Digitales Víctor Asanza Armijos 11
011000010111001101100001011011100111101001100001 01101010011001010110000101101110
Introducción:
ENCAPSULADO.-
Laboratorio de Sistemas Digitales Víctor Asanza Armijos 12
011000010111001101100001011011100111101001100001 01101010011001010110000101101110
CPLD(Complex Programmable Logic Device)
• Colección de PLDs individuales dentro de un chip.
• Estructura de interconexión que permite a los PLDs estar conectados
entre si dentro del chip.
• Macrocelda es la puerta OR combinada con la circuitería adicional (FFs,
Mux, buffer de tres estados).
Laboratorio de Sistemas Digitales Víctor Asanza Armijos 13
011000010111001101100001011011100111101001100001 01101010011001010110000101101110
CPLD(Complex Programmable Logic Device)
BLOQUE DE ARREGLOS LÓGICOS (LAB) / BLOQUES FUNCIONALES (FB):
Altera: formado por LAB
Xilinx: formado por FB
Bloques tipo PAL(PLA), conectados por un conjunto de interconectores.
PLA:
Programmable
Logic Array
Laboratorio de Sistemas Digitales Víctor Asanza Armijos 14
011000010111001101100001011011100111101001100001 01101010011001010110000101101110
CPLD(Complex Programmable Logic Device)
BLOQUE DE ARREGLOS LÓGICOS (LAB) / BLOQUES FUNCIONALES (FB):
Cada bloque Lógico PAL (PLA) es conectado al subcircuito Bloque de
Entrada/Salida (I/O Block).
Laboratorio de Sistemas Digitales Víctor Asanza Armijos 15
011000010111001101100001011011100111101001100001 01101010011001010110000101101110
CPLD(Complex Programmable Logic Device)
BLOQUE DE ARREGLOS LÓGICOS (LAB) / BLOQUES FUNCIONALES (FB):
El LAB/FAB incluye 4 macroceldas.
Ej.: CPLD XC95288 de Xilinx -> 228 macroceldas en 16 bloques.
Macrocelda: tiene puerta OR de 4 entradas (puede tener hasta 20 entradas),
la salida de la puerta OR esta conectada a la entrada de la XOR, pudiendo ser
programada para conectar a 0 o 1 para tener la señal igual o inversa de la
salida OR. Incluye FFs, multiplexores y buffer de tres estados.
Hay macroceldas entrada/salida, también macroceldas ocultas (buried
macrocells).
Laboratorio de Sistemas Digitales Víctor Asanza Armijos 16
011000010111001101100001011011100111101001100001 01101010011001010110000101101110
CPLD(Complex Programmable Logic Device)
MATRIZ DE INTERCONEXIONES
PROGRAMABLES:
• Interconexiones mediante multiplexores/
PIA o Interconexiones mediante arreglo
/PIM.
• Permite unir terminales de
entrada/salida a las entradas del bloque
lógico.
• Permite unir las salidas de un bloque
lógico a las entradas de otro bloque
lógico o a entradas del mismo bloque.
• Elemento básico es un Switch
Programable y borrable eléctricamente
basado en el transistor EEPROM.
Laboratorio de Sistemas Digitales Víctor Asanza Armijos 17
011000010111001101100001011011100111101001100001 01101010011001010110000101101110
CPLD(Complex Programmable Logic Device)
MATRIZ DE INTERCONEXIONES PROGRAMABLES:
• Transistor EEPROM tiene dos puertas Gate: uno normal y otro floating.
• Con Ve=12V penetran electrones en el vidrio aislante -> abierta.
• Con el mismo voltaje inverso se cierra el switch.
• La mayoría de CPLDs usan.-
• PIM: matriz de filas y columnas con switch programable en cada
intersección.
• PIA: Existe un multiplexor por cada entrada al bloque lógico. Las
vías de interconexión programable son conectadas a las entradas
de un número fijo de multiplexores por cada bloque lógico. Las
entradas de selección de estos Mux son programadas para permitir
que sea seleccionada únicamente una vía de la matriz de
interconexión por cada mux.
Laboratorio de Sistemas Digitales Víctor Asanza Armijos 18
011000010111001101100001011011100111101001100001 01101010011001010110000101101110
CPLD(Complex Programmable Logic Device)
BLOQUES ENTRADA/SALIDA (IOB):
• Permite el paso de una señal hacia dentro o hacia el exterior del
dispositivo.
• Debe ser bidireccionales y poder manejar corrientes adecuadas.
• IOB elementales.- entrada, salida o bidireccional. Está asociado e un
Bloque Lógico determinado.
• IOB complejos.- realizan algunas tareas de sincronización de datos
externos. No tienen relación predeterminada con los bloques lógicos.
Laboratorio de Sistemas Digitales Víctor Asanza Armijos 19
011000010111001101100001011011100111101001100001 01101010011001010110000101101110
FPGA(Field-Programmable Gate Array)
Dispositivo lógico configurable que puede implementar circuitos lógicos
relativamente grandes.
• Bloques lógicos configurables /
Bloques de Arreglos Lógicos.
• Bloques de entrada / salida
• Interconexiones configurables.
La concentración de Bloques
Lógicos se denomina
granularidad, las FPGA tienen
(fine grain).
Laboratorio de Sistemas Digitales Víctor Asanza Armijos 20
011000010111001101100001011011100111101001100001 01101010011001010110000101101110
FPGA(Field-Programmable Gate Array)
BLOQUES LÓGICOS CONFIGURABLES (CLB)/(LAB):
• FPGA de organización tipo terraza
• FPGA de organización tipo cuadricula (Manhattan)
• FPGA de organización tipo mar de puertas
Laboratorio de Sistemas Digitales Víctor Asanza Armijos 21
011000010111001101100001011011100111101001100001 01101010011001010110000101101110
FPGA(Field-Programmable Gate Array)
BLOQUES LÓGICOS CONFIGURABLES (CLB)/(LAB):
Laboratorio de Sistemas Digitales Víctor Asanza Armijos 22
011000010111001101100001011011100111101001100001 01101010011001010110000101101110
FPGA(Field-Programmable Gate Array)
BLOQUES LÓGICOS CONFIGURABLES (CLB)/(LAB):
No se usa tecnología EEPROM, se usan celdas SRAM
Laboratorio de Sistemas Digitales Víctor Asanza Armijos 23
011000010111001101100001011011100111101001100001 01101010011001010110000101101110
FPGA(Field-Programmable Gate Array)
BLOQUES LÓGICOS CONFIGURABLES (CLB)/(LAB):
Laboratorio de Sistemas Digitales Víctor Asanza Armijos 24
011000010111001101100001011011100111101001100001 01101010011001010110000101101110
FPGA(Field-Programmable Gate Array)
BLOQUES DE ENTRADA / SALIDA:
• Las FPGA solo utilizan IOB /
IOE (Elementos de I/O) tipo
complejos.
• Se delegan a los bloques de
I/O ciertas tareas de
sincronización de datos
externos.
• Opciones de configuración:
slew rate (velocidad de
respuesta), de pullups o
pulldowns, agregado de
retardos, etc.
Laboratorio de Sistemas Digitales Víctor Asanza Armijos 25
011000010111001101100001011011100111101001100001
FPGA(Field-Programmable Gate Array)
01101010011001010110000101101110
Laboratorio de Sistemas Digitales Víctor Asanza Armijos 26