Lgica Programable Profesor: Luis Jacobo lvarez Ruiz de Ojeda. Dpto. de Tecnologa Electrnica. Universidad de Vigo. 14/03/2007 Aplicaciones de las FPGAs. Luis J acobo lvarez Ruiz de Ojeda 2 ndice mbito de aplicacin. Campos de aplicacin. Tipos de circuitos implementados. Ejemplos de aplicacin real. Anlisis de aplicaciones. Estimacin de recursos de la FPGA. Aplicaciones de las FPGAs 14/03/2007 Aplicaciones de las FPGAs. Luis J acobo lvarez Ruiz de Ojeda 3 mbito de aplicacin. Complejidad del circuito media o elevada. Hasta 200.000 puertas equivalentes. Hasta 5.000 ecuaciones lgicas y biestables. Hasta 500 terminales de E/S de usuario. Hasta 500 MHz de frecuencia de reloj. Hasta 100 kbytes de RAM interna. Hasta 50 MACs hardware. 14/03/2007 Aplicaciones de las FPGAs. Luis J acobo lvarez Ruiz de Ojeda 4 Campos de aplicacin (I). Sector industrial. Automocin. Sector de telecomunicaciones. ADSL, satlite. Sector cientfico. Adquisicin de datos. Sector aeroespacial. Sector informtico. 14/03/2007 Aplicaciones de las FPGAs. Luis J acobo lvarez Ruiz de Ojeda 5 Campos de aplicacin (II). Sector industrial (I). 14/03/2007 Aplicaciones de las FPGAs. Luis J acobo lvarez Ruiz de Ojeda 6 Campos de aplicacin (III). Sector industrial (II). Automocin. 14/03/2007 Aplicaciones de las FPGAs. Luis J acobo lvarez Ruiz de Ojeda 7 Campos de aplicacin (IV). Sector de telecomunicaciones. 14/03/2007 Aplicaciones de las FPGAs. Luis J acobo lvarez Ruiz de Ojeda 8 Campos de aplicacin (V). Sector cientfico-mdico. 14/03/2007 Aplicaciones de las FPGAs. Luis J acobo lvarez Ruiz de Ojeda 9 Campos de aplicacin (VI). Sector aeroespacial. 14/03/2007 Aplicaciones de las FPGAs. Luis J acobo lvarez Ruiz de Ojeda 10 Campos de aplicacin (VII). Sector informtico. 14/03/2007 Aplicaciones de las FPGAs. Luis J acobo lvarez Ruiz de Ojeda 11 Tipos de circuitos implementados (I). Circuitos de interfaz complejos. Transferencia y almacenamiento de datos: Ethernet, USB, CAN, PCI, IDE, SATA, etc. Circuitos de procesado de seal. Sistemas en un Circuito [SOC ( System On Chip )]: Microprocesador + memoria + perifricos. Realizacin de prototipos de ASICs. Circuitos reconfigurables. 14/03/2007 Aplicaciones de las FPGAs. Luis J acobo lvarez Ruiz de Ojeda 12 Tipos de circuitos implementados (II). Circuitos de interfaz complejos (I). 14/03/2007 Aplicaciones de las FPGAs. Luis J acobo lvarez Ruiz de Ojeda 13 Tipos de circuitos implementados (III). Circuitos de interfaz complejos (II). 14/03/2007 Aplicaciones de las FPGAs. Luis J acobo lvarez Ruiz de Ojeda 14 Tipos de circuitos implementados (IV). Procesado de seal (I). 14/03/2007 Aplicaciones de las FPGAs. Luis J acobo lvarez Ruiz de Ojeda 15 Tipos de circuitos implementados (V). Procesado de seal (II). Imgenes. 14/03/2007 Aplicaciones de las FPGAs. Luis J acobo lvarez Ruiz de Ojeda 16 Tipos de circuitos implementados (VI). Sistemas en un Circuito (SOC) (I). Consiste en implementar en un nico circuito integrado los siguientes circuitos: Un microprocesador. Una o varias unidades de memoria de programa y/o de datos. Los perifricos del microprocesador. 14/03/2007 Aplicaciones de las FPGAs. Luis J acobo lvarez Ruiz de Ojeda 17 Tipos de circuitos implementados (VII). Sistemas en un Circuito (SOC) (II). 14/03/2007 Aplicaciones de las FPGAs. Luis J acobo lvarez Ruiz de Ojeda 18 Tipos de circuitos implementados (VIII). Prototipos de ASICs. La capacidad lgica de las FPGAs permite implementar sistemas digitales que posteriormente se fabricarn como ASIC semimedida o totalmente a medida, para comprobar su funcionalidad. En general es necesario utilizar varias FPGAs, dispuestas en organizacin matricial, e intercalar entre ellas circuitos de conexiones configurables. Es decisiva la potencia de las herramientas de CAD que se utilizan para realizar la particin del diseo y la comprobacin conjunta del sistema completo implementado. Es imprescindible que las FPGAs posean circuitos para su verificacin, como los de Boundary Scan" . 14/03/2007 Aplicaciones de las FPGAs. Luis J acobo lvarez Ruiz de Ojeda 19 Tipos de circuitos implementados (IX). Circuitos reconfigurables (I). Aplicaciones que necesitan cambiar la funcin de la FPGA en un tiempo muy reducido. Hasta 1997 no se consiguieron tiempos de configuracin inferiores al milisegundo. De momento el nmero de aplicaciones es escaso, pero su futuro es muy prometedor, fundamentalmente en el campo de la informtica. Posibilidad de reconfiguracin parcial. 14/03/2007 Aplicaciones de las FPGAs. Luis J acobo lvarez Ruiz de Ojeda 20 Tipos de circuitos implementados (X). Circuitos reconfigurables (II). Realizacin de distintos algoritmos de procesado en diferentes instantes: Modulacin/Demodulacin. Transmisin/Recepcin. Codificacin/Decodificacin. Compresin/Descompresin de sonido, vdeo, etc. 14/03/2007 Aplicaciones de las FPGAs. Luis J acobo lvarez Ruiz de Ojeda 21 Caractersticas de las FPGAs (I). Capacidad lgica elevada. Integracin de sistemas complejos. Sistemas en un Circuito (SOC). Prototipos de ASICs. 14/03/2007 Aplicaciones de las FPGAs. Luis J acobo lvarez Ruiz de Ojeda 22 Caractersticas de las FPGAs (II). Procesado de datos en paralelo. Procesado de seal: audio, vdeo, adquisicin de datos. 14/03/2007 Aplicaciones de las FPGAs. Luis J acobo lvarez Ruiz de Ojeda 23 Caractersticas de las FPGAs (III). Implementacin de memorias RAM internas. Coeficientes de filtros y algoritmos de procesado. Programa y datos de microprocesadores empotrados. Memorias bfer de datos (FIFO). 14/03/2007 Aplicaciones de las FPGAs. Luis J acobo lvarez Ruiz de Ojeda 24 Caractersticas de las FPGAs (IV). Reconfigurabilidad. Circuitos reconfigurables. 14/03/2007 Aplicaciones de las FPGAs. Luis J acobo lvarez Ruiz de Ojeda 25 Ejemplos de aplicacin real (I) Mdem para comunicaciones va satlite. 14/03/2007 Aplicaciones de las FPGAs. Luis J acobo lvarez Ruiz de Ojeda 26 Ejemplos de aplicacin real (II) Control de trayectoria de automvil. 14/03/2007 Aplicaciones de las FPGAs. Luis J acobo lvarez Ruiz de Ojeda 27 Ejemplos de aplicacin real (III) Mdem ADSL. 14/03/2007 Aplicaciones de las FPGAs. Luis J acobo lvarez Ruiz de Ojeda 28 Ejemplos de aplicacin real (IV) Tarjeta de adquisicin de datos. 14/03/2007 Aplicaciones de las FPGAs. Luis J acobo lvarez Ruiz de Ojeda 29 Ejemplos de aplicacin real (V) Reproductor de DVD interactivo. 14/03/2007 Aplicaciones de las FPGAs. Luis J acobo lvarez Ruiz de Ojeda 30 Ejemplos de aplicacin real (VI) Sistema de visin inteligente. 14/03/2007 Aplicaciones de las FPGAs. Luis J acobo lvarez Ruiz de Ojeda 31 Ejemplos de aplicacin real (VII) Sistema de mejora de imgenes mdicas. 14/03/2007 Aplicaciones de las FPGAs. Luis J acobo lvarez Ruiz de Ojeda 32 Anlisis de aplicaciones. Circuitos de interfaz (I). CONTROLADORES DE PERIFRICOS: Controlador memoria dinmica (DRAM). TRANSMISOR RECEPTOR DE COMUNICACIONES SERIE CON MEMORIA ( BUFFER ): Asncrono (RS232). INTERFACES CON BUSES ESTNDAR: Serie: USB (ordenadores). Paralelo: IDE (ordenadores). 14/03/2007 Aplicaciones de las FPGAs. Luis J acobo lvarez Ruiz de Ojeda 33 Controlador de memoria DRAM (I) Diagrama de bloques general. 14/03/2007 Aplicaciones de las FPGAs. Luis J acobo lvarez Ruiz de Ojeda 34 Controlador de memoria DRAM (II) Esquema bsico del grafo de estados del S.S.S. de control. 14/03/2007 Aplicaciones de las FPGAs. Luis J acobo lvarez Ruiz de Ojeda 35 Controlador de memoria DRAM (III) Extracto del grafo de estados, correspondiente a las operaciones de escritura y de lectura. 14/03/2007 Aplicaciones de las FPGAs. Luis J acobo lvarez Ruiz de Ojeda 36 Anlisis de aplicaciones. Circuitos de interfaz (II). MODULADORES/DEMODULADORES DE COMUNICACIONES: PCMCIA para RDSI (ordenadores porttiles) (necesita memorias externas y transceptor RDSI). USB para ADSL (necesita circuitos especficos para la conexin al bus USB y a la lnea ADSL). 14/03/2007 Aplicaciones de las FPGAs. Luis J acobo lvarez Ruiz de Ojeda 37 Interfaz USB para ADSL (I) Diagrama de bloques general. 14/03/2007 Aplicaciones de las FPGAs. Luis J acobo lvarez Ruiz de Ojeda 38 Interfaz USB para ADSL (II) Solucin para la conexin a la lnea ADSL, basada en los 3 circuitos Alcatel DynaMite chipset . 14/03/2007 Aplicaciones de las FPGAs. Luis J acobo lvarez Ruiz de Ojeda 39 Interfaz USB para ADSL (III) Solucin para la conexin al interfaz USB basada en el circuito National USBN9602. 14/03/2007 Aplicaciones de las FPGAs. Luis J acobo lvarez Ruiz de Ojeda 40 Interfaz USB para ADSL (IV) Diagrama de bloques de los circuitos necesarios. 14/03/2007 Aplicaciones de las FPGAs. Luis J acobo lvarez Ruiz de Ojeda 41 Interfaz USB para ADSL (V) Diagrama de bloques de los circuitos de interfaz que se implementarn en la FPGA. 14/03/2007 Aplicaciones de las FPGAs. Luis J acobo lvarez Ruiz de Ojeda 42 Interfaz USB para ADSL (VI) Anlisis del coste total de los circuitos necesarios. 14/03/2007 Aplicaciones de las FPGAs. Luis J acobo lvarez Ruiz de Ojeda 43 Anlisis de aplicaciones. Circuitos de procesado de seal. PROCESADORES DE SEAL ESPECFICOS: Transformada rpida de Fourier. Transformadas discretas: IDCT ( Inverse Discrete Cosine Transform ) (p.e. en decodificacin de vdeo MPEG). Circuitos de procesado borroso ( fuzzy ). FILTROS DIGITALES FIR ( Finite Impulse Response ): Filtro paso bajo de 16 etapas. Filtro bidimensional de imgenes de vdeo. Filtros FIR adaptativos. 14/03/2007 Aplicaciones de las FPGAs. Luis J acobo lvarez Ruiz de Ojeda 44 Transformada rpida de Fourier(I) Diagrama de bloques de los circuitos necesarios para realizar una FFT mediante aritmtica distribuida. 14/03/2007 Aplicaciones de las FPGAs. Luis J acobo lvarez Ruiz de Ojeda 45 Transformada rpida de Fourier(II) Comparativa del tiempo de clculo de una FFT mediante diferentes circuitos (ao 1995). 14/03/2007 Aplicaciones de las FPGAs. Luis J acobo lvarez Ruiz de Ojeda 46 Procesador borroso (fuzzy) (I) Diagrama de bloques de un procesador de 2 variables de entrada y 1 de salida. 14/03/2007 Aplicaciones de las FPGAs. Luis J acobo lvarez Ruiz de Ojeda 47 Procesador borroso (fuzzy) (II) Funciones de pertenencia ( membership ) de la variable de entrada Temperatura del aire . 14/03/2007 Aplicaciones de las FPGAs. Luis J acobo lvarez Ruiz de Ojeda 48 Procesador borroso (fuzzy) (III) Diagrama de bloques de un circuito borrosificador ( fuzzyfier ). 14/03/2007 Aplicaciones de las FPGAs. Luis J acobo lvarez Ruiz de Ojeda 49 Procesador borroso (fuzzy) (IV) Diagrama de bloques del circuito evaluador de reglas. 14/03/2007 Aplicaciones de las FPGAs. Luis J acobo lvarez Ruiz de Ojeda 50 Procesador borroso (fuzzy) (V) Diagrama de bloques de un circuito desborrosificador ( defuzzyfier ). 14/03/2007 Aplicaciones de las FPGAs. Luis J acobo lvarez Ruiz de Ojeda 51 Filtro paso bajo de 16 etapas (I) Diagrama de bloques del filtro. 14/03/2007 Aplicaciones de las FPGAs. Luis J acobo lvarez Ruiz de Ojeda 52 Filtro paso bajo de 16 etapas (II) Diagrama de bloques de los circuitos necesarios para implementar el filtro. 14/03/2007 Aplicaciones de las FPGAs. Luis J acobo lvarez Ruiz de Ojeda 53 Filtro bidimensional de vdeo (I) Diagrama de bloques del filtro. 14/03/2007 Aplicaciones de las FPGAs. Luis J acobo lvarez Ruiz de Ojeda 54 Filtro bidimensional de vdeo (II) Filtro FIR bidimensional. 14/03/2007 Aplicaciones de las FPGAs. Luis J acobo lvarez Ruiz de Ojeda 55 Filtro bidimensional de vdeo (III) Diagrama detallado del algoritmo del filtro FIR bidimensional. 14/03/2007 Aplicaciones de las FPGAs. Luis J acobo lvarez Ruiz de Ojeda 56 Bibliografa bsica (I). [LVAREZ 04] LVAREZ RUIZ DE OJEDA, Diseo Digital con Lgica Programable, Editorial Trculo, Santiago de Compostela, 2004. 14/03/2007 Aplicaciones de las FPGAs. Luis J acobo lvarez Ruiz de Ojeda 57 Bibliografa bsica (II). [CHAN 94] CHAN, Pak K., MOURAD, Samiha, " Digital design using Field Programmable Gate Arrays" , Prentice Hall, New Jersey, 1994. [JENKINS 94] JENKINS, Jesse H., " Designing with FPGAs and CPLDs" , Prentice Hall, New Jersey, 1994. [OLDFIELD 95] OLDFIELD, J.V., DORF, R.C., " Field Programmable Gate Arrays: Reconfigurable logic for rapid prototyping and Implementation of Digital Systems" , John Wiley & Sons, 1995. 14/03/2007 Aplicaciones de las FPGAs. Luis J acobo lvarez Ruiz de Ojeda 58 Bibliografa bsica (III). [ACTEL] http://www.actel.com [ALTERA] http://www.altera.com [ATMEL] http://www.atmel.com [QUICKLOGIC] http://www.quicklogic.com [XILINX] http://www.xilinx.com