Introducción a FPGA Dispositivos y Herramientas DCSE -4003 Índice (Dispositivos FPGA) 1. 2. 3. 4. Introducción Antecedentes Tecnologías de programación Dispositivos comerciales 1. Xilinx 2. Altera 5. Resumen (DCSE -4003 ) 2 1 Algunos inventos • J. Bardeen, W. Brattain & W. Shockely (Bell Labs) inventaron el transistor bipolar en 1947. • J. Kilby (Texas Inst) & R. Noyce (Fairchild) inventaron el “circuito integrado” en 1958 (varios transistores interconectados en el mismo substrato). • En 1971 INTEL presenta el primer microprocesador: 4004 (2100 transistores). • En 1980 Mead & Conway publican “Introduction to VLSI Systems”, proponiendo el diseño de ASIC: Application Specific Integrated Circuits. • En 1985 se presentan los FPGA: Field Programmable Gate Array. (DCSE -4003 ) 3 Ley de Moore • En 1965, Gordon Moore predijo que el número de transistores en un circuito integrado se duplicaría cada 18 – 14 meses (crecimiento exponencial). • Se ha cumplido desde entonces • • • • 2300 transistores, reloj 1 MHz (Intel 4004) - 1971 16 Millón transistores (Ultra Sparc III) 42 Millón, reloj 2 GHz (Intel P4) - 2001 140 Millón transistores (HP PA-8500) (DCSE -4003 ) 4 2 Microprocesador Intel 4004 (DCSE -4003 ) 5 Intel Pentium IV (DCSE -4003 ) 6 3 Moore’s Law in Microprocessors Transistors Transistors on on lead lead microprocessors microprocessors double double every every 22 years years 1000 2X growth in 1.96 years! Transistors (MT) 100 10 P6 Pentium® proc 486 1 386 286 0.1 8086 8080 8008 4004 8085 0.01 0.001 1970 1980 1990 Year 2000 2010 Courtesy, Intel (DCSE -4003 ) 7 Evolution in DRAM Chip Capacity human memory human DNA 100000000 10000000 64.000.000 4X growth every 3 years! 16.000.000 K b it c a p a c ity /c h ip 4.000.000 1.000.000 1000000 256.000 book 100000 64.000 16.000 10000 4.000 1.000 1000 256 100 64 0.07 µm 0.1 µm 0.13 µm 0.18-0.25 µm 0.35-0.4 µm 0.5-0.6 µm encyclopedia 2 hrs CD audio 30 sec HDTV 0.7-0.8 µm 1.0-1.2 µm 1.6-2.4 µm page 10 1980 1983 1986 1989 1992 1995 1998 2001 2004 2007 2010 Year (DCSE -4003 ) 8 4 Die Size Growth Die Die size size grows grows by by 14% 14% to to satisfy satisfy Moore’s Moore’s Law Law Die size (mm) 100 10 8080 8008 4004 8086 8085 286 386 P6 486 Pentium ® proc ~7% growth per year ~2X growth in 10 years 1 1970 1980 1990 Year 2000 2010 Courtesy, Intel (DCSE -4003 ) 9 Clock Frequency Lead Lead microprocessors microprocessors frequency frequency doubles doubles every every 22 years years 10000 2X every 2 years Frequency (Mhz) 1000 P6 100 486 10 8085 1 0.1 1970 (DCSE -4003 ) 8086 286 Pentium ® proc 386 8080 8008 4004 1980 1990 Year Courtesy, Intel 2000 2010 10 5 Power Dissipation Lead Lead Microprocessors Microprocessors power power continues continues to to increase increase Power (Watts) 100 P6 Pentium ® proc 10 8086 286 1 8008 4004 486 386 8085 8080 0.1 1971 1974 1978 1985 1992 2000 Year Power Power delivery delivery and and dissipation dissipation will will be be prohibitive prohibitive Courtesy, Intel (DCSE -4003 ) 11 Power Density Power Density (W/cm2) 10000 1000 Nuclear Reactor 100 8086 10 4004 Hot Plate P6 8008 8085 Pentium® proc 386 286 486 8080 1 Lineal con fclk 1970 y con Rocket Nozzle Vdd2 1980 1990 Year 2000 2010 Power Power density density too too high high to to keep keep junctions junctions at at low low temp temp (DCSE -4003 ) Courtesy, Intel 12 6 Evolución ASIC y MPU [ITRS 2000] Año de producción Funciones por chip (106 transistores) 1999 2001 2004 2000 2002 2003 2005 180nm 130nm 90nm 2008 60nm 2011 40nm 2014 30nm 61 86 122 173 244 345 488 1381 3907 11052 Tamaño chip (mm2) 310 310 310 325 340 356 372 427 489 561 Transistores 106 / cm2 19,7 27,8 39,4 53,2 71,9 97,1 131 324 799 1970 2304 2560 3042 3042 3042 3042 3042 3840 4224 4416 1200 1386 1600 1724 1857 2000 2155 2655 3190 3825 6-7 6-7 7 8-9 9 9-10 10 Nº pads On-chip frec. (MHz) Niveles conexionado 7-8 8 8 (DCSE -4003 ) 13 Límites de la Ley de Moore ? • Disipación de potencia en los circuitos. Monitorización temperatura. • Tecnologías de interconexión. • Problemas asociados al aluminio (resistividad, electromigración e inducción de tensiones mecánicas). • Retardo de los hilos: porcentaje elevado del retardo de las señales (en procesos < 0,25 µm y frecuencias de 1 GHz, la resistencia de las pistas de conexión provoca que una gran parte del chip sea inalcanzable en un solo ciclo de reloj). • Calidad de los aislantes • Umbral de ruido térmico (~0.25 v). • Tamaño de las obleas. Mejor productividad, si reducido número de defectos. • Complejidad, test, … (DCSE -4003 ) 14 7 Mobile Pentium 3 (Intel 2001) (DCSE -4003 ) 15 Mobile Pentium 3 (Intel 2001) 512K L2 Advanced transfer cache Instruction Fetch Instruction decode & Dynamic execution 133 MHz System Bus Data prefetch logic Clock & enhanced SpeedStep Data cache Integer unit Streaming SIMD MMX Floating Point unit (DCSE -4003 ) 16 8 Heterogeneity – SoC Systems-on-chip • Digital • • • • • Analog Control • RF µP • Power DSP Interfaces • MEMs • Memory • IP • SRAM • DRAM • FLASH (DCSE -4003 ) 17 Diseño de Sistema • Imaginemos: Sistema de comunicaciones digitales Dominio Funcional Dominio Estructural Algoritmo FSM Módulo Ecuación Booleana Procesador ALU Celda Transistor ? Mask Floorplan Cell Floorplan Module Floorplan Chip Floorplan Dominio Físico (DCSE -4003 ) 18 9 Diseño de Sistema PCB ANALOG FPGA Processor CPU CPU FPGA CUSTOM MEM MEM Some “Stuff” “Stuff” bus More “Stuff” “Stuff” (DCSE -4003 ) 19 Panorama de los IC Circuitos Integrados Full-Custom ASICs Semi-Custom ASICs PLD PAL (DCSE -4003 ) PLA User Programmable FPGA GAL 20 10 Dos aproximación a la implementación ASIC Application Specific Integrated Circuit FPGA Field Programmable Gate Array • off the shelf. El diseñador • Diseño completo desde la se limita a la configuración descripción funcional al • Layout físico predefinido, el layout físico. diseño finaliza con la • Un fabricante (foundry) descarga del programa de encarga de su producción: configuración (bitstream) coste de la máscara • Económicamente viable para producción a gran escala: (~$1M/diseño) (DCSE -4003 ) 21 ¿Qué opción escoger? ASICs Elevadas Prestaciones FPGAs Off-the-shelf Coste de desarrollo Bajo Consumo Short time-to-market Economía de escala (DCSE -4003 ) Reconfigurabilidad 22 11 ¿Qué es una FPGA? Consiste en una un IC cuya funcionalidad es configurable Matriz de puertas lógicas. Dos alternativas 1. PAL, GAL, PLD, CPLD …matriz tradicional en las que las puertas están predeterminadas y tan sólo se programa la interconexión. 2. En la FPGA se programa tanto la funcionalidad como la interconexión. (DCSE -4003 ) 23 ¿Qué es una FPGA?: Ventajas Las FPGAs son un elemento de desarrollo ideal para la realización de prototipos digitales El ciclo de desarrollo y fabricación de un ASIC es costoso y largo, involucrando a mucho personal especializado (manpower) La experiencia industrial ha mostrado que pueden: 1. 2. Reducir significativamente el coste de desarrollo de sistemas digitales especializados de baja tirada. Competir en prestaciones con los microprocesadores comerciales más avanzados del momento. Además la reprogramabilidad acerca el diseño HW al SW 1. Posibilidad de descarga actualizaciones con nuevas funcionalidades o que corrijan errores detectados -> reducción del time-to-market (DCSE -4003 ) 24 12 ¿Qué es una FPGA?? Bloque configurable Bloque E/S Matriz de componentes cuya funcionalidad y conectividad es programable (DCSE -4003 ) 25 Índice 1. 2. 3. 4. Introducción Antecedentes Tecnologías de programación Dispositivos comerciales 1. Xilinx 2. Altera 5. Resumen (DCSE -4003 ) 26 13 Antecedentes • PROMs: Se puede emplear los bits de direcciones como entradas y el contenido como salida. (solución ineficiente) (DCSE -4003 ) 27 Antecedentes • Algebra de Boole • Toda función combinacional como suma de productos o productos de sumas • PLAs (Programmable Logic Arrays): Philips 1970 • Suma de productos (SOP): • Plano AND programable • Plano OR fijo • Disponen de un biestable a la salida de la puerta OR de manera que se pueden desarrollar circuitos secuenciales. (DCSE -4003 ) 28 14 Antecedentes: PLA D C B A OR array (hard-wired) 0 1 • Circuitos combinacionales 2 3 4 5 • Circuitos secuenciales • FSM’s 6 7 8 9 10 11 12 13 14 15 AND array (programmable) O 1 O 2 O 3 O 4 (DCSE -4003 ) 29 Antecedentes: PLA A B 2-to-4 decoder A A B B AND array AB AB AB AB AB AB AB AB Fuse Input lines Product lines If blown, OR input is logic 0. OR array O1 O2 O3 O4 Sum of product outputs Suma de productos en una PLD (DCSE -4003 ) 30 15 Índice 1. 2. 3. 4. Introducción Antecedentes Tecnologías de programación Dispositivos comerciales 1. Xilinx 2. Altera 5. Resumen (DCSE -4003 ) 31 Tecnologías de programación • Fusibles con tecnología EPROM/EEPROM • PLA • Conexiones SRAM • FPGA • Fusibles && Antifusibles • Muy especifica (espacio o entornos radioactivos) (DCSE -4003 ) 32 16