Dispositivos de lógica programable SISTEMAS ELECTRÓNICOS DIGITALES 2 o Curso Ingeniería Técnica Industrial Especialidad en Electrónica Industrial Dr. José Luis Rosselló Índice Conceptos generales Dispositivos programables Tipos de dispositivos programables PROMs FPLAs PALs FPGAs Logica Programable 2 Electrónica, Universitat Illes Balears 1
Idioma Programa de alto nivel (Algoritmo) Maquinas secuenciales Puertas lógicas Especificación Comportamiento Transferencia entre registros (RTL) Lógica FLUJO DE DISEÑO SÍNTESIS LÓGICA AUTOMÁTICA Transistores Rectángulos Circuitos Layout Dispositivo programable IMPLEMENTACIÓN LÓGICA PLDs Logica Programable 3 Conceptos generales Cada circuito integrado contiene un determinado número de elementos lógicos Para cada tipo de aplicación el esquema de interconexiones es fija Posibles implementaciones de una aplicación En un circuito específico (ASIC) En un circuito de propósito general (programable) Logica Programable 4 Electrónica, Universitat Illes Balears 2
Fundamento Cualquier función lógica puede expresarse como suma de productos F=m 1 +m 2 +m 3 + =xyz+ zyz+xyz La función se realiza en dos niveles 1 er nivel Producto 2 o nivel Suma Logica Programable 5 Esquema de conexiones A s B Conexión entre líneas mediante un dispositivo programable { Este s = 0 s = 1 A B A B elemento conector puede ser un fusible (si la programación de cada interconexión es permanente) o un transistor MOS de doble puerta si queremos que además de programable sea reconfigurable Logica Programable 6 Electrónica, Universitat Illes Balears 3
Modelo de estructura AND ~ 1 1 x 1 x 2 x n-1 x n Pull - up s s s s x 1 x 2 x 3 x 1 x 2 x 3 x n-1 x n x n-1 x n Logica Programable 7 Modelo de estructura OR Pull - down 0 ~ 0 x 1 x 2 x n-1 x n s s s s x 1 x 2 x 3 x 1 x 2 x 3 x n-1 x n x n-1 x n Logica Programable 8 Electrónica, Universitat Illes Balears 4
Matriz programamable AND-OR Permite realizar cuatro funciones logicas de n entradas. Logica Programable 9 Ejemplo de programación Ejemplo sencillo: Full adder s=xyz+xyz +xyz+xyz c=xyz+xyz +xyz+xyz Logica Programable 10 Electrónica, Universitat Illes Balears 5
Dispositivos programables Tecnología basada en fusibles Programable una sola vez No-Volátil Tecnología basada en SRAM Reconfigurable Volátil Tecnología EPROM y EEPROM Reconfigurable No-Volátil Logica Programable 11 Tecnología basada en fusibles Logica Programable 12 Electrónica, Universitat Illes Balears 6
Tecnología EPROM y EEPROM Transistor MOS Óxido de puerta Fuente n+ Puerta Drenador n+ Óxido de campo (SiO 2) Substrato tipo P p+ stopper Transistor n-mos Logica Programable 13 Tecnología CMOS Logica Programable 14 Electrónica, Universitat Illes Balears 7
Concepto de Tensión umbral (V TH ) Fuente V GS Lineas de Campo Eléctrico Puerta V DS Drenador n+ n+ Substrat tipus p p- Zona de vaciamiento (ausencia de agujeros) Canal de conducción (electrones acumulados) Logica Programable 15 Curvas características del transistor n-mos ID (ma) 2 1 V DS = V GS -V T V GS = 5V Lineal Saturación V GS = 4V V GS = 3V 0.020 ID 0.010 Corriente sub-umbral V GS = 2V V GS = 1V 0.0 1.0 2.0 3.0 4.0 5.0 V DS (V) (a) I D en función de V DS 0.0 V T 1.0 2.0 3.0 V GS (V) (b) I D en función de V GS (para VDS = 5V). Transistor n-mos W = 100 µm, L = 20 µm Logica Programable 16 Electrónica, Universitat Illes Balears 8
Transistor MOS de doble puerta Fuente Puerta flotante Puerta Drenador D G n + p n + S Substrato Símbolo Logica Programable 17 Programación del transistor de doble puerta 20 V 0 V 5 V 10 V 5 V 20 V 0 V 5 V S D S D S D Programación por avalancha Los electrones quedan atrapados en la puerta flotante El valor efectivo de la tensión umbral aumenta debido al apantallamiento de los electrones atrapados en la puerta flotante Logica Programable 18 Electrónica, Universitat Illes Balears 9
Desplazamiento de V TH 0.020 I D 0.010 0.0 5 10 V GS (V) Logica Programable 19 Flash EEPROM Puerta de control Puerta flotante Borrado Óxido de tunneling n + Fuente Programación Substrato P n + Drenador Logica Programable 20 Electrónica, Universitat Illes Balears 10
Cross-sections of NVM cells Flash Courtesy Intel EPROM Logica Programable 21 Puertas distribuidas (esquema físico) Logica Programable 22 Electrónica, Universitat Illes Balears 11
Tipos de dispositivos programables PROM: Matriz OR programable y AND no programable FPLA: Matriz AND y OR programables PAL: Matriz AND programable y OR no programable Logica Programable 23 PROM Matriz OR programable y AND no programable Más rápidas si se comparan con otros tipos de lógica Ideales si hemos de implementar funciones que usan todos los mintérminos Codificadores, Look-up tables Para n entradas tenemos 2n puertas AND Bastante extensas para n grande Logica Programable 24 Electrónica, Universitat Illes Balears 12
PROMs Logica Programable 25 Esquema básico de una PROM Logica Programable 26 Electrónica, Universitat Illes Balears 13
Problema 1: Implementar en las siguientes funciones: f 1 =AB+BC f 2 =(A+B+C)(A+B) f 3 =A+BC Logica Programable 27 Problema 2: Implementar un conversor de binario a código gray Logica Programable 28 Electrónica, Universitat Illes Balears 14
FPLA Matriz OR y AND programables Más pequeñas y flexibles que las PROM Cualquier término producto puede ser programado (no sólo mintérminos) Más lentas al tener una etapa más para ser programada Logica Programable 29 Problema: Voto mayoritario Programa la PLA de forma que proporcione el sentido del voto mayoritario de un total de cinco electores (cada voto consiste en un sí o un no). Logica Programable 30 Electrónica, Universitat Illes Balears 15
Polaridad de salida programable Logica Programable 31 Extensión de la PLAs Circuitos basados en la estructura AND- OR modificada de forma que: Permiten terminales bidireccionales Permiten la utilitzación de variables intermedias Logica Programable 32 Electrónica, Universitat Illes Balears 16
Pines bidireccionales y líneas de realimentación Logica Programable 33 Logica Programable 34 Electrónica, Universitat Illes Balears 17
Ejemplo: Función paridad de 9 bits F = x 0 x 1 x 2 x 3 x 4 x 5 x 6 x 7 x 8 Implementación a 2 niveles : 256 mintérminos Implementación multinivel y 0 = x 0 x 1 x 2 y 1 = x 3 x 4 x 5 y 2 = x 6 x 7 x 8 F = y 0 y 1 y 2 Logica Programable 35 x0 x1 x2 x3 x4 x5 x6 x7 F y2 y1 y 0 x8 Logica Programable 36 Electrónica, Universitat Illes Balears 18
PAL Matriz AND programable y OR no programable Compromiso entre las FPLA y PROMs (más rápidas que las FPLA y no tan grandes como las PROMs) Los términos productos comunes a varias funciones tienen que ser implementados por duplicado Logica Programable 37 PAL comercial: PAL16L8 Logica Programable 38 Electrónica, Universitat Illes Balears 19
Problema: Programación de un comparador de 4 bits Programar una PAL16L8 de forma que compare dos números de cuatro bits. El sistema ha de producir tres salidas (X,Y,Z), donde X=1 sólo cuando A=B, Y=1 sólo cuando A>B y Z=1 sólo cuando A<B. Solución: X=E 3 E 2 E 1 E 0 Y=a 3 b 3 +E 3 a 2 b 2 +E 3 E 2 a 1 b 1 +E 3 E 2 E 1 a 0 b 0 Z= a 3 b 3 +E 3 a 2 b 2 +E 3 E 2 a 1 b 1 +E 3 E 2 E 1 a 0 b 0 Donde E i evalua si los bits a i y b i son iguales o no. E i = a i b i + a i b i Logica Programable 39 Implementación del comparador a 3 b 3 E 3 E 2 E 1 E 0 (sin usar) a 2 b 2 a 1 b 1 a 0 b 0 E 3 E 2 E 1 E 0 X(A=B) Y(A>B) Z(A<B) Logica Programable 40 Electrónica, Universitat Illes Balears 20
PAL16R8. Salida con resgistros Logica Programable 41 PLDs Complejas Logica Programable 42 Electrónica, Universitat Illes Balears 21
Estructura de las macro celdas Introducción de módulos secuenciales en las macro-celdas Logica Programable 43 Diagrama de bloc Macrocell Logica Programable 44 Electrónica, Universitat Illes Balears 22
Programación registro universal de 8 bits en EP224 Logica Programable 45 Esquema por macro-celda S 0 S 1 P 0 - P 7} }Q0 - Q7 Load SL SR Mem S1 S0 out P3 Q2 Q4 Q3 Q3 0 x x x 0 0 0 1 x x x 0 0 1 x 0 x x 0 1 0 x 1 x x 0 1 1 x x 0 x 1 0 0 x x 1 x 1 0 1 x x x 0 1 1 0 x x x 1 1 1 1 Q 3 D Q C Logica Programable 46 Electrónica, Universitat Illes Balears 23
Programación salida Q3 P 0 - P 7} Q 0 - Q 7} S 0 S 1 S 0 S 1 P 3 S 0 S 1 Q 2 S 0 S 1 Q 4 S 0 S 1 Q 3 Q 3 D Q C P 3 Q 2 Q 4 Logica Programable 47 Arquitectura Classic de Altera Logica Programable 48 Electrónica, Universitat Illes Balears 24
Configuraciones Modo 0: Registro controlado por el reloj global. La salida se controla por la lógica del término producto Modo 1: La salida se encuentra permanentemente habilitada. El reloj se controla por la lógica del término producto Logica Programable 49 Integrados Classic de Altera EP610 EPLD 300 puertas equiv. 2 Clks indep 16 macro-celdas tpd = 10ns freq = 100 MHz EP910 EPLD 450 puertas equiv. 2 Clks indep 24 macro-celdas tpd = 12ns freq = 76.9 MHz Logica Programable 50 Electrónica, Universitat Illes Balears 25
EP1810 EPLD 900 puertas equiv. 4 Clks indep 48 macro-celdas tpd = 20ns freq = 50 MHz Logica Programable 51 Evolución de las PLAs: Las FPGAs Contenido de las FPGAs: Matriz de celdas regularmente dispuestas sobre silicio cuya funcionalidad es progamable (las llamamos CLB) Colección de celdas programables de entrada-salida dispuestas perimetralmente y que deonomnamos IOB Colección de bloques de interconexión que, bajo programación permiten conectar CLBs e IOBs entre sí Logica Programable 52 Electrónica, Universitat Illes Balears 26
(CLBs) (IOBs) Logica Programable 53 Líneas de interconexión IOBs CLBs Logica Programable 54 Electrónica, Universitat Illes Balears 27
Logica Programable 55 Tipos de tecnología usada Tecnología SRAM PLICE (Fusibles) EPROM EEPROM Volátil Sí No No No Re-Prog Sí No Sí Sí Logica Programable 56 Electrónica, Universitat Illes Balears 28
FPGAs comerciales Altera (MAX, FLEX, ACEX, Cyclone, APEX,.) Xilinx (XC2000, XC8100, ) Actel (ACT 1-4, 3200DX, 1200XL, ) Cross Point (CP20) Concurrent Logic (CLi6000) Quick Logic (pasic) Intel (ifx780) AMD (MACH1,2,3,4,5) ATMEL (ATV) Pilkingston (Serie TS) Zycad Gatefield (Serie GF) Logica Programable 57 Logica Programable 58 Electrónica, Universitat Illes Balears 29
Ejemplo de FPGA comercial, Família MAX5000 (Multiple Array Matrix )de Altera Logica Programable 59 Arquitectura del los bloques básicos (LAB) Logica Programable 60 Electrónica, Universitat Illes Balears 30
Estructura de macro-cel.la Logica Programable 61 Componentes de expansión y control I/O Logica Programable 62 Electrónica, Universitat Illes Balears 31
Logica Programable 63 Logica Programable 64 Electrónica, Universitat Illes Balears 32
Logica Programable 65 Logica Programable 66 Electrónica, Universitat Illes Balears 33
Logica Programable 67 Logica Programable 68 Electrónica, Universitat Illes Balears 34
Logica Programable 69 Logica Programable 70 Electrónica, Universitat Illes Balears 35
Logica Programable 71 Logica Programable 72 Electrónica, Universitat Illes Balears 36
Logica Programable 73 Logica Programable 74 Electrónica, Universitat Illes Balears 37
Logica Programable 75 Logica Programable 76 Electrónica, Universitat Illes Balears 38
Logica Programable 77 PCBs genéricas de desarrollo Logica Programable 78 Electrónica, Universitat Illes Balears 39
Logica Programable 79 Logica Programable 80 Electrónica, Universitat Illes Balears 40