Introducci on pr actica a los FPGA - sase.com.ar ?· Itinerario de la presentaci on 1 Implementaci on…

  • Published on
    26-Jul-2018

  • View
    212

  • Download
    0

Transcript

  • Introduccion practica a los FPGA

    Ing. Roberto Simone - EDUDEVICES

    August 16, 2012 - www.edudevices.com.ar

    Ing. Roberto Simone () Introduccion practica a los FPGA August 16, 2012 1 / 84

  • Itinerario de la presentacion

    1 Implementacion de un sistema dedicado.

    2 Chau compuertas, hola FPGA.

    3 El FPGA no muerde.

    4 Ejemplos en VHDL.

    Ing. Roberto Simone () Introduccion practica a los FPGA August 16, 2012 2 / 84

  • Itinerario de la presentacion

    1 Implementacion de un sistema dedicado.

    2 Chau compuertas, hola FPGA.

    3 El FPGA no muerde.

    4 Ejemplos en VHDL.

    Ing. Roberto Simone () Introduccion practica a los FPGA August 16, 2012 2 / 84

  • Itinerario de la presentacion

    1 Implementacion de un sistema dedicado.

    2 Chau compuertas, hola FPGA.

    3 El FPGA no muerde.

    4 Ejemplos en VHDL.

    Ing. Roberto Simone () Introduccion practica a los FPGA August 16, 2012 2 / 84

  • Itinerario de la presentacion

    1 Implementacion de un sistema dedicado.

    2 Chau compuertas, hola FPGA.

    3 El FPGA no muerde.

    4 Ejemplos en VHDL.

    Ing. Roberto Simone () Introduccion practica a los FPGA August 16, 2012 2 / 84

  • Implementacion de un sistema dedicado

    1 Implementacion de un sistema dedicado.

    2 Chau compuertas, hola FPGA.

    3 El FPGA no muerde.

    4 Ejemplos en VHDL.

    Ing. Roberto Simone () Introduccion practica a los FPGA August 16, 2012 3 / 84

  • Implementacion de un sistema dedicadoOpcion con microprocesador

    Ing. Roberto Simone () Introduccion practica a los FPGA August 16, 2012 4 / 84

  • Implementacion de un sistema dedicadoOpcion con logica discreta

    Ing. Roberto Simone () Introduccion practica a los FPGA August 16, 2012 5 / 84

  • Implementacion de un sistema dedicadoPuntos a favor de los microprocesadores

    Un chip tiene resueltos buena parte del hardware:

    CPU.Memorias de programa y de datos.Puertos de E/S.Modulos indispensables:

    Conversor A/D.Timers.USART.

    Es REPROGRAMABLE.

    Solo debemos preocuparnos del firmware y la periferia analogica.

    Ing. Roberto Simone () Introduccion practica a los FPGA August 16, 2012 6 / 84

  • Implementacion de un sistema dedicadoPuntos a favor de los microprocesadores

    Un chip tiene resueltos buena parte del hardware:

    CPU.Memorias de programa y de datos.Puertos de E/S.Modulos indispensables:

    Conversor A/D.Timers.USART.

    Es REPROGRAMABLE.

    Solo debemos preocuparnos del firmware y la periferia analogica.

    Ing. Roberto Simone () Introduccion practica a los FPGA August 16, 2012 6 / 84

  • Implementacion de un sistema dedicadoPuntos a favor de los microprocesadores

    Un chip tiene resueltos buena parte del hardware:

    CPU.

    Memorias de programa y de datos.Puertos de E/S.Modulos indispensables:

    Conversor A/D.Timers.USART.

    Es REPROGRAMABLE.

    Solo debemos preocuparnos del firmware y la periferia analogica.

    Ing. Roberto Simone () Introduccion practica a los FPGA August 16, 2012 6 / 84

  • Implementacion de un sistema dedicadoPuntos a favor de los microprocesadores

    Un chip tiene resueltos buena parte del hardware:

    CPU.Memorias de programa y de datos.

    Puertos de E/S.Modulos indispensables:

    Conversor A/D.Timers.USART.

    Es REPROGRAMABLE.

    Solo debemos preocuparnos del firmware y la periferia analogica.

    Ing. Roberto Simone () Introduccion practica a los FPGA August 16, 2012 6 / 84

  • Implementacion de un sistema dedicadoPuntos a favor de los microprocesadores

    Un chip tiene resueltos buena parte del hardware:

    CPU.Memorias de programa y de datos.Puertos de E/S.

    Modulos indispensables:

    Conversor A/D.Timers.USART.

    Es REPROGRAMABLE.

    Solo debemos preocuparnos del firmware y la periferia analogica.

    Ing. Roberto Simone () Introduccion practica a los FPGA August 16, 2012 6 / 84

  • Implementacion de un sistema dedicadoPuntos a favor de los microprocesadores

    Un chip tiene resueltos buena parte del hardware:

    CPU.Memorias de programa y de datos.Puertos de E/S.Modulos indispensables:

    Conversor A/D.Timers.USART.

    Es REPROGRAMABLE.

    Solo debemos preocuparnos del firmware y la periferia analogica.

    Ing. Roberto Simone () Introduccion practica a los FPGA August 16, 2012 6 / 84

  • Implementacion de un sistema dedicadoPuntos a favor de los microprocesadores

    Un chip tiene resueltos buena parte del hardware:

    CPU.Memorias de programa y de datos.Puertos de E/S.Modulos indispensables:

    Conversor A/D.

    Timers.USART.

    Es REPROGRAMABLE.

    Solo debemos preocuparnos del firmware y la periferia analogica.

    Ing. Roberto Simone () Introduccion practica a los FPGA August 16, 2012 6 / 84

  • Implementacion de un sistema dedicadoPuntos a favor de los microprocesadores

    Un chip tiene resueltos buena parte del hardware:

    CPU.Memorias de programa y de datos.Puertos de E/S.Modulos indispensables:

    Conversor A/D.Timers.

    USART.

    Es REPROGRAMABLE.

    Solo debemos preocuparnos del firmware y la periferia analogica.

    Ing. Roberto Simone () Introduccion practica a los FPGA August 16, 2012 6 / 84

  • Implementacion de un sistema dedicadoPuntos a favor de los microprocesadores

    Un chip tiene resueltos buena parte del hardware:

    CPU.Memorias de programa y de datos.Puertos de E/S.Modulos indispensables:

    Conversor A/D.Timers.USART.

    Es REPROGRAMABLE.

    Solo debemos preocuparnos del firmware y la periferia analogica.

    Ing. Roberto Simone () Introduccion practica a los FPGA August 16, 2012 6 / 84

  • Implementacion de un sistema dedicadoPuntos a favor de los microprocesadores

    Un chip tiene resueltos buena parte del hardware:

    CPU.Memorias de programa y de datos.Puertos de E/S.Modulos indispensables:

    Conversor A/D.Timers.USART.

    Es REPROGRAMABLE.

    Solo debemos preocuparnos del firmware y la periferia analogica.

    Ing. Roberto Simone () Introduccion practica a los FPGA August 16, 2012 6 / 84

  • Implementacion de un sistema dedicadoPuntos a favor de los microprocesadores

    Un chip tiene resueltos buena parte del hardware:

    CPU.Memorias de programa y de datos.Puertos de E/S.Modulos indispensables:

    Conversor A/D.Timers.USART.

    Es REPROGRAMABLE.

    Solo debemos preocuparnos del firmware y la periferia analogica.

    Ing. Roberto Simone () Introduccion practica a los FPGA August 16, 2012 6 / 84

  • Implementacion de un sistema dedicadoSituaciones problematicas: Caso 1 - DMA

    Ing. Roberto Simone () Introduccion practica a los FPGA August 16, 2012 7 / 84

  • Implementacion de un sistema dedicadoSituaciones problematicas: Caso 1 - DMA

    La CPU puede ser un cuello de botella.

    Ing. Roberto Simone () Introduccion practica a los FPGA August 16, 2012 8 / 84

  • Implementacion de un sistema dedicadoSituaciones problematicas: Caso 1 - DMA

    La CPU puede ser un cuello de botella. DMA

    Ing. Roberto Simone () Introduccion practica a los FPGA August 16, 2012 9 / 84

  • Implementacion de un sistema dedicadoSituaciones problematicas: Caso 1 - DMA

    La CPU puede ser un cuello de botella. DMAPara fsamp > 1MSPS el A/D suele ser externo.

    Ing. Roberto Simone () Introduccion practica a los FPGA August 16, 2012 10 / 84

  • Implementacion de un sistema dedicadoSituaciones problematicas: Caso 1 - DMA

    La CPU puede ser un cuello de botella. DMAPara fsamp > 1MSPS el A/D suele ser externo.

    Para capacidad > 1MB la RAM suele ser externa.

    El MCU debe ejecutar varias instrucciones en 1s y direccionar masde 1MB externo.

    Ing. Roberto Simone () Introduccion practica a los FPGA August 16, 2012 11 / 84

  • Implementacion de un sistema dedicadoSituaciones problematicas: Caso 1 - DMA

    La CPU puede ser un cuello de botella. DMAPara fsamp > 1MSPS el A/D suele ser externo.

    Para capacidad > 1MB la RAM suele ser externa.

    El MCU debe ejecutar varias instrucciones en 1s y direccionar masde 1MB externo.

    Ing. Roberto Simone () Introduccion practica a los FPGA August 16, 2012 11 / 84

  • Implementacion de un sistema dedicadoSituaciones problematicas: Caso 1 - DMA

    La CPU puede ser un cuello de botella. DMAPara fsamp > 1MSPS el A/D suele ser externo.

    Para capacidad > 1MB la RAM suele ser externa.

    El MCU debe ejecutar varias instrucciones en 1s y direccionar masde 1MB externo.RARO

    Ing. Roberto Simone () Introduccion practica a los FPGA August 16, 2012 12 / 84

  • Implementacion de un sistema dedicadoSituaciones problematicas: Caso 2 - PCI

    Ing. Roberto Simone () Introduccion practica a los FPGA August 16, 2012 13 / 84

  • Implementacion de un sistema dedicadoSituaciones problematicas: Caso 2 - PCI

    El reloj es de 33MHz, tCLK = 30, 3ns.

    Difcil de atender para un microcontrolador.

    En el mejor de los casos no podra realizar otra funcion.

    Ing. Roberto Simone () Introduccion practica a los FPGA August 16, 2012 14 / 84

  • Implementacion de un sistema dedicadoSituaciones problematicas: Caso 2 - PCI

    El reloj es de 33MHz, tCLK = 30, 3ns.

    Difcil de atender para un microcontrolador.

    En el mejor de los casos no podra realizar otra funcion.

    Ing. Roberto Simone () Introduccion practica a los FPGA August 16, 2012 14 / 84

  • Implementacion de un sistema dedicadoSituaciones problematicas: Caso 2 - PCI

    El reloj es de 33MHz, tCLK = 30, 3ns.

    Difcil de atender para un microcontrolador.

    En el mejor de los casos no podra realizar otra funcion.

    Ing. Roberto Simone () Introduccion practica a los FPGA August 16, 2012 14 / 84

  • Implementacion de un sistema dedicadoSituaciones problematicas: Caso 3 - Generacion de video

    En los monitores los pxeles se encienden en secuencia.

    Ing. Roberto Simone () Introduccion practica a los FPGA August 16, 2012 15 / 84

  • Implementacion de un sistema dedicadoSituaciones problematicas: Caso 3 - Generacion de video

    Las senales analogicas de ROJO, VERDE y AZUL deben ingresar ensecuencia.

    Ing. Roberto Simone () Introduccion practica a los FPGA August 16, 2012 16 / 84

  • Implementacion de un sistema dedicadoSituaciones problematicas: Caso 3 - Generacion de video

    Para una resolucion de 640 x 480 pxeles deben ser ingresados cada 40ns.

    Ing. Roberto Simone () Introduccion practica a los FPGA August 16, 2012 17 / 84

  • Implementacion de un sistema dedicadoSituaciones problematicas: Caso 3 - Generacion de video

    El reloj adecuado es de 25,176MHz.

    Ing. Roberto Simone () Introduccion practica a los FPGA August 16, 2012 18 / 84

  • Implementacion de un sistema dedicadoSituaciones problematicas: Caso 3 - Generacion de video

    Ing. Roberto Simone () Introduccion practica a los FPGA August 16, 2012 19 / 84

  • Implementacion de un sistema dedicadoSituaciones problematicas: Caso 3 - Generacion de video

    Ing. Roberto Simone () Introduccion practica a los FPGA August 16, 2012 20 / 84

  • Implementacion de un sistema dedicadoSituaciones problematicas: Caso 3 - Generacion de video

    Los colores R, G, B de cada pxel se guardan en una memoria llamadaframe buffer.

    Ing. Roberto Simone () Introduccion practica a los FPGA August 16, 2012 21 / 84

  • Implementacion de un sistema dedicadoSituaciones problematicas: Caso 3 - Generacion de video

    La memoria es leda a medida que se muestra la imagen.

    Ing. Roberto Simone () Introduccion practica a los FPGA August 16, 2012 22 / 84

  • Implementacion de un sistema dedicadoSituaciones problematicas: Caso 3 - Generacion de video

    Ing. Roberto Simone () Introduccion practica a los FPGA August 16, 2012 23 / 84

  • Implementacion de un sistema dedicadoSituaciones problematicas: Caso 3 - Generacion de video

    Ing. Roberto Simone () Introduccion practica a los FPGA August 16, 2012 24 / 84

  • Implementacion de un sistema dedicadoSituaciones problematicas: Caso 3 - Generacion de video

    Ing. Roberto Simone () Introduccion practica a los FPGA August 16, 2012 25 / 84

  • Implementacion de un sistema dedicadoSituaciones problematicas: Caso 3 - Generacion de video

    Ing. Roberto Simone () Introduccion practica a los FPGA August 16, 2012 26 / 84

  • Implementacion de un sistema dedicadoSituaciones problematicas: Caso 3 - Generacion de video

    Para dibujar una imagen guardamos datos en el frame buffer.

    Ing. Roberto Simone () Introduccion practica a los FPGA August 16, 2012 27 / 84

  • Implementacion de un sistema dedicadoSituaciones problematicas: Caso 4 - Analizadores de protocolo

    Decodifican protocolos de mediana complejidad, como IIC.

    O protocolos altamente sofisticados como USB.

    Un microcontrolador no puede registrar todas las transiciones de lassenales.

    Tampoco tiene la memoria para almacenar todos los eventos.

    Ing. Roberto Simone () Introduccion practica a los FPGA August 16, 2012 28 / 84

  • Implementacion de un sistema dedicadoSituaciones problematicas: Caso 4 - Analizadores de protocolo

    Decodifican protocolos de mediana complejidad, como IIC.

    O protocolos altamente sofisticados como USB.

    Un microcontrolador no puede registrar todas las transiciones de lassenales.

    Tampoco tiene la memoria para almacenar todos los eventos.

    Ing. Roberto Simone () Introduccion practica a los FPGA August 16, 2012 28 / 84

  • Implementacion de un sistema dedicadoSituaciones problematicas: Caso 4 - Analizadores de protocolo

    Decodifican protocolos de mediana complejidad, como IIC.

    O protocolos altamente sofisticados como USB.

    Un microcontrolador no puede registrar todas las transiciones de lassenales.

    Tampoco tiene la memoria para almacenar todos los eventos.

    Ing. Roberto Simone () Introduccion practica a los FPGA August 16, 2012 28 / 84

  • Implementacion de un sistema dedicadoSituaciones problematicas: Caso 4 - Analizadores de protocolo

    Decodifican protocolos de mediana complejidad, como IIC.

    O protocolos altamente sofisticados como USB.

    Un microcontrolador no puede registrar todas las transiciones de lassenales.

    Tampoco tiene la memoria para almacenar todos los eventos.

    Ing. Roberto Simone () Introduccion practica a los FPGA August 16, 2012 28 / 84

  • Chau compuertas, hola FPGA

    1 Implementacion de un sistema dedicado.

    2 Chau compuertas, hola FPGA.

    3 El FPGA no muerde.

    4 Ejemplos en VHDL.

    Ing. Roberto Simone () Introduccion practica a los FPGA August 16, 2012 29 / 84

  • Chau compuertas, hola FPGALogica discreta: Mapas de Karnaugh

    Partimos de la especificacion de un circuito combinacional.

    Ing. Roberto Simone () Introduccion practica a los FPGA August 16, 2012 30 / 84

  • Chau compuertas, hola FPGALogica discreta: Mapas de Karnaugh

    Ing. Roberto Simone () Introduccion practica a los FPGA August 16, 2012 31 / 84

  • Chau compuertas, hola FPGALogica discreta: Mapas de Karnaugh

    S = D.B + D.B.A

    Ing. Roberto Simone () Introduccion practica a los FPGA August 16, 2012 32 / 84

  • Chau compuertas, hola FPGALogica discreta: Mapas de Karnaugh

    S = D.B + D.B.A

    Ing. Roberto Simone () Introduccion practica a los FPGA August 16, 2012 32 / 84

  • Chau compuertas, hola FPGALogica discreta: Mapas de Karnaugh

    Los mapas de Karnaugh son practicos hasta 4 variables.

    Con 5 variables, el metodo no es tan directo.

    Para mas de 5 variables es inviable.

    No considera que multiples salidas pueden compartir parte de suscircuitos.

    Orientado a la implementacion de circuitos con compuertas.

    Ing. Roberto Simone () Introduccion practica a los FPGA August 16, 2012 33 / 84

  • Chau compuertas, hola FPGALogica discreta: Mapas de Karnaugh

    Los mapas de Karnaugh son practicos hasta 4 variables.

    Con 5 variables, el metodo no es tan directo.

    Para mas de 5 variables es inviable.

    No considera que multiples salidas pueden compartir parte de suscircuitos.

    Orientado a la implementacion de circuitos con compuertas.

    Ing. Roberto Simone () Introduccion practica a los FPGA August 16, 2012 33 / 84

  • Chau compuertas, hola FPGALogica discreta: Mapas de Karnaugh

    Los mapas de Karnaugh son practicos hasta 4 variables.

    Con 5 variables, el metodo no es tan directo.

    Para mas de 5 variables es inviable.

    No considera que multiples salidas pueden compartir parte de suscircuitos.

    Orientado a la implementacion de circuitos con compuertas.

    Ing. Roberto Simone () Introduccion practica a los FPGA August 16, 2012 33 / 84

  • Chau compuertas, hola FPGALogica discreta: Mapas de Karnaugh

    Los mapas de Karnaugh son practicos hasta 4 variables.

    Con 5 variables, el metodo no es tan directo.

    Para mas de 5 variables es inviable.

    No considera que multiples salidas pueden compartir parte de suscircuitos.

    Orientado a la implementacion de circuitos con compuertas.

    Ing. Roberto Simone () Introduccion practica a los FPGA August 16, 2012 33 / 84

  • Chau compuertas, hola FPGALogica discreta: Mapas de Karnaugh

    Los mapas de Karnaugh son practicos hasta 4 variables.

    Con 5 variables, el metodo no es tan directo.

    Para mas de 5 variables es inviable.

    No considera que multiples salidas pueden compartir parte de suscircuitos.

    Orientado a la implementacion de circuitos con compuertas.

    Ing. Roberto Simone () Introduccion practica a los FPGA August 16, 2012 33 / 84

  • Chau compuertas, hola FPGAMapeo tecnologico: AND-OR

    Surge directamente del mapa de Karnaugh.

    Ing. Roberto Simone () Introduccion practica a los FPGA August 16, 2012 34 / 84

  • Chau compuertas, hola FPGAMapeo tecnologico: OR-AND

    Lo obtenemos agrupando 0s en el mapa.

    S = (D + B).(B + A).(D + B)

    Ing. Roberto Simone () Introduccion practica a los FPGA August 16, 2012 35 / 84

  • Chau compuertas, hola FPGAMapeo tecnologico: NAND-NAND

    Aplicamos De Morgan a la suma de productos

    S = D.B + D.B.A = D.B.D.B.A

    Ing. Roberto Simone () Introduccion practica a los FPGA August 16, 2012 36 / 84

  • Chau compuertas, hola FPGAMapeo tecnologico: NOR-NOR

    Aplicamos De Morgan al producto de sumas

    S = (D + B).(B + A).(D + B) = (D + B) + (B + A) + (D + B)

    Ing. Roberto Simone () Introduccion practica a los FPGA August 16, 2012 37 / 84

  • Chau compuertas, hola FPGALogica discreta: Otros problemas

    Un error en el PCB: PCB a la basura.

    Problemas para distribuir en el PCB senales sensibles como el reloj.

    PCB tamano bano: kilos y kilos de electronica.

    Disenos ultrargidos: Difciles de actualizar.

    Ing. Roberto Simone () Introduccion practica a los FPGA August 16, 2012 38 / 84

  • Chau compuertas, hola FPGALogica discreta: Otros problemas

    Un error en el PCB: PCB a la basura.

    Problemas para distribuir en el PCB senales sensibles como el reloj.

    PCB tamano bano: kilos y kilos de electronica.

    Disenos ultrargidos: Difciles de actualizar.

    Ing. Roberto Simone () Introduccion practica a los FPGA August 16, 2012 38 / 84

  • Chau compuertas, hola FPGALogica discreta: Otros problemas

    Un error en el PCB: PCB a la basura.

    Problemas para distribuir en el PCB senales sensibles como el reloj.

    PCB tamano bano: kilos y kilos de electronica.

    Disenos ultrargidos: Difciles de actualizar.

    Ing. Roberto Simone () Introduccion practica a los FPGA August 16, 2012 38 / 84

  • Chau compuertas, hola FPGALogica discreta: Otros problemas

    Un error en el PCB: PCB a la basura.

    Problemas para distribuir en el PCB senales sensibles como el reloj.

    PCB tamano bano: kilos y kilos de electronica.

    Disenos ultrargidos: Difciles de actualizar.

    Ing. Roberto Simone () Introduccion practica a los FPGA August 16, 2012 38 / 84

  • Chau compuertas, hola FPGAMapeo tecnologico: FPGA

    Los FPGA estan repletos de tablas llamadas Look-Up Tables.

    Las LUTs son SRAM de alta velocidad.

    Las LUTs son reprogramables.

    Ing. Roberto Simone () Introduccion practica a los FPGA August 16, 2012 39 / 84

  • Chau compuertas, hola FPGAMapeo tecnologico: FPGA

    Los FPGA estan repletos de tablas llamadas Look-Up Tables.

    Las LUTs son SRAM de alta velocidad.

    Las LUTs son reprogramables.

    Ing. Roberto Simone () Introduccion practica a los FPGA August 16, 2012 39 / 84

  • Chau compuertas, hola FPGAMapeo tecnologico: FPGA

    Los FPGA estan repletos de tablas llamadas Look-Up Tables.

    Las LUTs son SRAM de alta velocidad.

    Las LUTs son reprogramables.

    Ing. Roberto Simone () Introduccion practica a los FPGA August 16, 2012 39 / 84

  • Chau compuertas, hola FPGAMapeo tecnologico: FPGA

    Podemos usar o no un flip-flop junto con la LUT.

    Nos permite construir circuitos secuenciales.

    Surge el elemento logico ( LE ).

    Ing. Roberto Simone () Introduccion practica a los FPGA August 16, 2012 40 / 84

  • Chau compuertas, hola FPGAMapeo tecnologico: FPGA

    Podemos usar o no un flip-flop junto con la LUT.

    Nos permite construir circuitos secuenciales.

    Surge el elemento logico ( LE ).

    Ing. Roberto Simone () Introduccion practica a los FPGA August 16, 2012 40 / 84

  • Chau compuertas, hola FPGAMapeo tecnologico: FPGA

    Podemos usar o no un flip-flop junto con la LUT.

    Nos permite construir circuitos secuenciales.

    Surge el elemento logico ( LE ).

    Ing. Roberto Simone () Introduccion practica a los FPGA August 16, 2012 40 / 84

  • Chau compuertas, hola FPGAMapeo tecnologico: FPGA

    Disponemos de autopistas ( ruteo ) para conectar las senales de los LEentre s y con los terminales del chip.

    Ing. Roberto Simone () Introduccion practica a los FPGA August 16, 2012 41 / 84

  • Chau compuertas, hola FPGAConfiguracion del FPGA

    Armar un circuito con un FPGA consiste de

    Llenar las tablas de verdad.

    Ing. Roberto Simone () Introduccion practica a los FPGA August 16, 2012 42 / 84

  • Chau compuertas, hola FPGAConfiguracion del FPGA

    Armar un circuito con un FPGA consiste de

    Llenar las tablas de verdad.

    Ing. Roberto Simone () Introduccion practica a los FPGA August 16, 2012 42 / 84

  • Chau compuertas, hola FPGAConfiguracion del FPGA

    Armar un circuito con un FPGA consiste de

    Determinar si usamos o no cada flip-flop.

    Ing. Roberto Simone () Introduccion practica a los FPGA August 16, 2012 43 / 84

  • Chau compuertas, hola FPGAConfiguracion del FPGA

    Armar un circuito con un FPGA consiste de

    Determinar si usamos o no cada flip-flop.

    Ing. Roberto Simone () Introduccion practica a los FPGA August 16, 2012 44 / 84

  • Chau compuertas, hola FPGAConfiguracion del FPGA

    Armar un circuito con un FPGA consiste de

    Conectas las entradas y salidas de los LE.

    Ing. Roberto Simone () Introduccion practica a los FPGA August 16, 2012 45 / 84

  • Chau compuertas, hola FPGATecnica de diseno

    No tienen sentido minimizar funciones con los mapas de Karnaugh

    S = D.B + D.B.A

    Debemos llenar los 16 casilleros de cada LUT.

    Ing. Roberto Simone () Introduccion practica a los FPGA August 16, 2012 46 / 84

  • Chau compuertas, hola FPGATecnica de diseno

    No tienen sentido minimizar funciones con los mapas de Karnaugh

    S = D.B + D.B.A

    Debemos llenar los 16 casilleros de cada LUT.

    Ing. Roberto Simone () Introduccion practica a los FPGA August 16, 2012 46 / 84

  • Chau compuertas, hola FPGATecnica de diseno

    Si llenamos las LUT a mano volvemos a la antigua tecnica de diseno.

    Actualmente se trabaja a nivel RTL.

    Ing. Roberto Simone () Introduccion practica a los FPGA August 16, 2012 47 / 84

  • Chau compuertas, hola FPGATecnica de diseno

    Si llenamos las LUT a mano volvemos a la antigua tecnica de diseno.

    Actualmente se trabaja a nivel RTL.

    Ing. Roberto Simone () Introduccion practica a los FPGA August 16, 2012 47 / 84

  • El FPGA no muerde

    1 Implementacion de un sistema dedicado.

    2 Chau compuertas, hola FPGA.

    3 El FPGA no muerde.

    4 Ejemplos en VHDL.

    Ing. Roberto Simone () Introduccion practica a los FPGA August 16, 2012 48 / 84

  • El FPGA no muerdeDiseno de ejemplo

    Paso 1: Especificacion del diseno Al tocar 2 botones simultaneamente seencedera el LED.

    Ing. Roberto Simone () Introduccion practica a los FPGA August 16, 2012 49 / 84

  • El FPGA no muerdeDiseno de ejemplo

    Paso 1: Especificacion del diseno Al tocar 2 botones simultaneamente seencedera el LED.

    Ing. Roberto Simone () Introduccion practica a los FPGA August 16, 2012 49 / 84

  • El FPGA no muerdeDiseno de ejemplo

    Paso 2: Elegir un FPGA

    Fabricantes de FPGA:

    Ing. Roberto Simone () Introduccion practica a los FPGA August 16, 2012 50 / 84

  • El FPGA no muerdeDiseno de ejemplo

    Paso 2: Elegir un FPGAFabricantes de FPGA:

    Ing. Roberto Simone () Introduccion practica a los FPGA August 16, 2012 50 / 84

  • El FPGA no muerdeDiseno de ejemplo

    Paso 2: Elegir un FPGA

    ALTERA: Familias de FPGA

    CPLD

    MAX 7000MAX II

    FPGACyclone - bajo costo

    Cyclone ICyclone IICyclone IIICyclone IVCyclone V

    Arria - gama mediaStratix - tecnologa de punta

    Ing. Roberto Simone () Introduccion practica a los FPGA August 16, 2012 51 / 84

  • El FPGA no muerdeDiseno de ejemplo

    Paso 2: Elegir un FPGAALTERA: Familias de FPGA

    CPLD

    MAX 7000MAX II

    FPGACyclone - bajo costo

    Cyclone ICyclone IICyclone IIICyclone IVCyclone V

    Arria - gama mediaStratix - tecnologa de punta

    Ing. Roberto Simone () Introduccion practica a los FPGA August 16, 2012 51 / 84

  • El FPGA no muerdeDiseno de ejemplo

    Paso 2: Elegir un FPGAALTERA: Familias de FPGA

    CPLD

    MAX 7000MAX II

    FPGACyclone - bajo costo

    Cyclone ICyclone IICyclone IIICyclone IVCyclone V

    Arria - gama mediaStratix - tecnologa de punta

    Ing. Roberto Simone () Introduccion practica a los FPGA August 16, 2012 51 / 84

  • El FPGA no muerdeDiseno de ejemplo

    Paso 2: Elegir un FPGAALTERA: Familias de FPGA

    CPLD

    MAX 7000MAX II

    FPGACyclone - bajo costo

    Cyclone ICyclone IICyclone IIICyclone IVCyclone V

    Arria - gama mediaStratix - tecnologa de punta

    Ing. Roberto Simone () Introduccion practica a los FPGA August 16, 2012 51 / 84

  • El FPGA no muerdeDiseno de ejemplo

    Paso 2: Elegir un FPGAALTERA: Familias de FPGA

    CPLD

    MAX 7000MAX II

    FPGA

    Cyclone - bajo costo

    Cyclone ICyclone IICyclone IIICyclone IVCyclone V

    Arria - gama mediaStratix - tecnologa de punta

    Ing. Roberto Simone () Introduccion practica a los FPGA August 16, 2012 51 / 84

  • El FPGA no muerdeDiseno de ejemplo

    Paso 2: Elegir un FPGAALTERA: Familias de FPGA

    CPLD

    MAX 7000MAX II

    FPGACyclone - bajo costo

    Cyclone ICyclone IICyclone IIICyclone IVCyclone V

    Arria - gama mediaStratix - tecnologa de punta

    Ing. Roberto Simone () Introduccion practica a los FPGA August 16, 2012 51 / 84

  • El FPGA no muerdeDiseno de ejemplo

    Paso 2: Elegir un FPGAALTERA: Familias de FPGA

    CPLD

    MAX 7000MAX II

    FPGACyclone - bajo costo

    Cyclone ICyclone IICyclone IIICyclone IVCyclone V

    Arria - gama mediaStratix - tecnologa de punta

    Ing. Roberto Simone () Introduccion practica a los FPGA August 16, 2012 51 / 84

  • El FPGA no muerdeDiseno de ejemplo

    Paso 2: Elegir un FPGAALTERA: Familias de FPGA

    CPLD

    MAX 7000MAX II

    FPGACyclone - bajo costo

    Cyclone ICyclone IICyclone IIICyclone IVCyclone V

    Arria - gama media

    Stratix - tecnologa de punta

    Ing. Roberto Simone () Introduccion practica a los FPGA August 16, 2012 51 / 84

  • El FPGA no muerdeDiseno de ejemplo

    Paso 2: Elegir un FPGAALTERA: Familias de FPGA

    CPLD

    MAX 7000MAX II

    FPGACyclone - bajo costo

    Cyclone ICyclone IICyclone IIICyclone IVCyclone V

    Arria - gama mediaStratix - tecnologa de punta

    Ing. Roberto Simone () Introduccion practica a los FPGA August 16, 2012 51 / 84

  • El FPGA no muerdeDiseno de ejemplo

    Paso 2: Elegir un FPGA

    FPGA Cyclone I

    Elementos logicos

    EP1C3: 2910 LE.EP1C4: 4000 LE.EP1C6: 5980 LE.EP1C12: 12060 LE.EP1C20: 20060 LE.

    Encapsulados

    EP1CxT100: 100 pines TQFP.EP1CxT144: 144 pines TQFP.EP1CxQ240: 240 pines PQFP.EP1CxF256: 256 pines FBGA.EP1CxF324: 324 pines FBGA.EP1CxF400: 400 pines FBGA.

    Ing. Roberto Simone () Introduccion practica a los FPGA August 16, 2012 52 / 84

  • El FPGA no muerdeDiseno de ejemplo

    Paso 2: Elegir un FPGAFPGA Cyclone I

    Elementos logicos

    EP1C3: 2910 LE.EP1C4: 4000 LE.EP1C6: 5980 LE.EP1C12: 12060 LE.EP1C20: 20060 LE.

    Encapsulados

    EP1CxT100: 100 pines TQFP.EP1CxT144: 144 pines TQFP.EP1CxQ240: 240 pines PQFP.EP1CxF256: 256 pines FBGA.EP1CxF324: 324 pines FBGA.EP1CxF400: 400 pines FBGA.

    Ing. Roberto Simone () Introduccion practica a los FPGA August 16, 2012 52 / 84

  • El FPGA no muerdeDiseno de ejemplo

    Paso 2: Elegir un FPGAFPGA Cyclone I

    Elementos logicos

    EP1C3: 2910 LE.EP1C4: 4000 LE.EP1C6: 5980 LE.EP1C12: 12060 LE.EP1C20: 20060 LE.

    Encapsulados

    EP1CxT100: 100 pines TQFP.EP1CxT144: 144 pines TQFP.EP1CxQ240: 240 pines PQFP.EP1CxF256: 256 pines FBGA.EP1CxF324: 324 pines FBGA.EP1CxF400: 400 pines FBGA.

    Ing. Roberto Simone () Introduccion practica a los FPGA August 16, 2012 52 / 84

  • El FPGA no muerdeDiseno de ejemplo

    Paso 2: Elegir un FPGAFPGA Cyclone I

    Elementos logicos

    EP1C3: 2910 LE.EP1C4: 4000 LE.EP1C6: 5980 LE.EP1C12: 12060 LE.EP1C20: 20060 LE.

    Encapsulados

    EP1CxT100: 100 pines TQFP.EP1CxT144: 144 pines TQFP.EP1CxQ240: 240 pines PQFP.EP1CxF256: 256 pines FBGA.EP1CxF324: 324 pines FBGA.EP1CxF400: 400 pines FBGA.

    Ing. Roberto Simone () Introduccion practica a los FPGA August 16, 2012 52 / 84

  • El FPGA no muerdeDiseno de ejemplo

    Paso 2: Elegir un FPGAFPGA Cyclone I

    Elementos logicos

    EP1C3: 2910 LE.EP1C4: 4000 LE.EP1C6: 5980 LE.EP1C12: 12060 LE.EP1C20: 20060 LE.

    Encapsulados

    EP1CxT100: 100 pines TQFP.EP1CxT144: 144 pines TQFP.EP1CxQ240: 240 pines PQFP.EP1CxF256: 256 pines FBGA.EP1CxF324: 324 pines FBGA.EP1CxF400: 400 pines FBGA.

    Ing. Roberto Simone () Introduccion practica a los FPGA August 16, 2012 52 / 84

  • El FPGA no muerdeDiseno de ejemplo

    Paso 2: Elegir un FPGAFPGA Cyclone I

    Elementos logicos

    EP1C3: 2910 LE.EP1C4: 4000 LE.EP1C6: 5980 LE.EP1C12: 12060 LE.EP1C20: 20060 LE.

    Encapsulados

    EP1CxT100: 100 pines TQFP.EP1CxT144: 144 pines TQFP.EP1CxQ240: 240 pines PQFP.EP1CxF256: 256 pines FBGA.EP1CxF324: 324 pines FBGA.EP1CxF400: 400 pines FBGA.

    Ing. Roberto Simone () Introduccion practica a los FPGA August 16, 2012 52 / 84

  • El FPGA no muerdeDiseno de ejemplo

    Paso 2: Elegir un FPGA

    Kit de entrenamiento EDUDEVICES

    Ing. Roberto Simone () Introduccion practica a los FPGA August 16, 2012 53 / 84

  • El FPGA no muerdeDiseno de ejemplo

    Paso 2: Elegir un FPGAKit de entrenamiento EDUDEVICES: PLUGIN_CYCLONE + BASE FPGA

    Ing. Roberto Simone () Introduccion practica a los FPGA August 16, 2012 53 / 84

  • El FPGA no muerdeDiseno de ejemplo

    Paso 3: Dibujar el circuito

    Ing. Roberto Simone () Introduccion practica a los FPGA August 16, 2012 54 / 84

  • El FPGA no muerdeDiseno de ejemplo

    Paso 3: Dibujar el circuito

    Ing. Roberto Simone () Introduccion practica a los FPGA August 16, 2012 54 / 84

  • El FPGA no muerdeDiseno de ejemplo

    Paso 4: Asignar pines

    Ing. Roberto Simone () Introduccion practica a los FPGA August 16, 2012 55 / 84

  • El FPGA no muerdeDiseno de ejemplo

    Paso 4: Asignar pines

    Ing. Roberto Simone () Introduccion practica a los FPGA August 16, 2012 55 / 84

  • El FPGA no muerdeDiseno de ejemplo

    Paso 5: Sntesis

    Ing. Roberto Simone () Introduccion practica a los FPGA August 16, 2012 56 / 84

  • El FPGA no muerdeDiseno de ejemplo

    Paso 5: Sntesis

    Ing. Roberto Simone () Introduccion practica a los FPGA August 16, 2012 56 / 84

  • El FPGA no muerdeDiseno de ejemplo

    Paso 6: Programar el chip

    PLD POD Programador de Edudevices ( USB Blaster compatible )

    Ing. Roberto Simone () Introduccion practica a los FPGA August 16, 2012 57 / 84

  • El FPGA no muerdeDiseno de ejemplo

    Paso 6: Programar el chip"PLD_POD" Programador de Edudevices ( USB Blaster compatible )

    Ing. Roberto Simone () Introduccion practica a los FPGA August 16, 2012 57 / 84

  • Ejemplos en VHDL

    1 Implementacion de un sistema dedicado.

    2 Chau compuertas, hola FPGA.

    3 El FPGA no muerde.

    4 Ejemplos en VHDL.

    Ing. Roberto Simone () Introduccion practica a los FPGA August 16, 2012 58 / 84

  • Ejemplos en VHDLLenguajes descriptores de hardware

    senalC es senal A AND senal Bconectar senal A a pin 1conectar senal B a pin 2conectar senal C a pin 3

    Ing. Roberto Simone () Introduccion practica a los FPGA August 16, 2012 59 / 84

  • Ejemplos en VHDLLenguajes descriptores de hardware

    senalC es senal A AND senal B

    conectar senal A a pin 1conectar senal B a pin 2conectar senal C a pin 3

    Ing. Roberto Simone () Introduccion practica a los FPGA August 16, 2012 59 / 84

  • Ejemplos en VHDLLenguajes descriptores de hardware

    senalC es senal A AND senal Bconectar senal A a pin 1

    conectar senal B a pin 2conectar senal C a pin 3

    Ing. Roberto Simone () Introduccion practica a los FPGA August 16, 2012 59 / 84

  • Ejemplos en VHDLLenguajes descriptores de hardware

    senalC es senal A AND senal Bconectar senal A a pin 1conectar senal B a pin 2

    conectar senal C a pin 3

    Ing. Roberto Simone () Introduccion practica a los FPGA August 16, 2012 59 / 84

  • Ejemplos en VHDLLenguajes descriptores de hardware

    senalC es senal A AND senal Bconectar senal A a pin 1conectar senal B a pin 2conectar senal C a pin 3

    Ing. Roberto Simone () Introduccion practica a los FPGA August 16, 2012 59 / 84

  • Ejemplos en VHDLVHDL

    VHSIC Hardware Description Language.

    Sintaxis semejante a PASCAL.

    Descripto en el estandar IEEE 1164.

    Ing. Roberto Simone () Introduccion practica a los FPGA August 16, 2012 60 / 84

  • Ejemplos en VHDLVHDL

    VHSIC Hardware Description Language.

    Sintaxis semejante a PASCAL.

    Descripto en el estandar IEEE 1164.

    Ing. Roberto Simone () Introduccion practica a los FPGA August 16, 2012 60 / 84

  • Ejemplos en VHDLVHDL

    VHSIC Hardware Description Language.

    Sintaxis semejante a PASCAL.

    Descripto en el estandar IEEE 1164.

    Ing. Roberto Simone () Introduccion practica a los FPGA August 16, 2012 60 / 84

  • Ejemplos en VHDLPrimer diseno

    Ing. Roberto Simone () Introduccion practica a los FPGA August 16, 2012 61 / 84

  • Ejemplos en VHDLUso de WITH SELECT

    Ing. Roberto Simone () Introduccion practica a los FPGA August 16, 2012 62 / 84

  • Ejemplos en VHDLUso de PROCESS

    Ing. Roberto Simone () Introduccion practica a los FPGA August 16, 2012 63 / 84

  • Ejemplos en VHDLUso de PROCESS

    Ing. Roberto Simone () Introduccion practica a los FPGA August 16, 2012 64 / 84

  • Ejemplos en VHDLDestello de un LED

    Ing. Roberto Simone () Introduccion practica a los FPGA August 16, 2012 65 / 84

  • Ejemplos en VHDLVista RTL

    Ing. Roberto Simone () Introduccion practica a los FPGA August 16, 2012 66 / 84

  • Ejemplos en VHDLVista RTL - MUX

    Ing. Roberto Simone () Introduccion practica a los FPGA August 16, 2012 67 / 84

  • Ejemplos en VHDLVista RTL - Comparador

    Ing. Roberto Simone () Introduccion practica a los FPGA August 16, 2012 68 / 84

  • Ejemplos en VHDLVista RTL - Incrementador

    Ing. Roberto Simone () Introduccion practica a los FPGA August 16, 2012 69 / 84

  • Ejemplos en VHDLVista RTL - Reinicio del conteo

    Ing. Roberto Simone () Introduccion practica a los FPGA August 16, 2012 70 / 84

  • Ejemplos en VHDLVista RTL - Logica de salida

    Ing. Roberto Simone () Introduccion practica a los FPGA August 16, 2012 71 / 84

  • Ejemplos en VHDLContador BCD - Contador con ENABLE

    Ing. Roberto Simone () Introduccion practica a los FPGA August 16, 2012 72 / 84

  • Ejemplos en VHDLContador BCD - Uso de componentes

    Ing. Roberto Simone () Introduccion practica a los FPGA August 16, 2012 73 / 84

  • Ejemplos en VHDLContador BCD - Ticks

    Ing. Roberto Simone () Introduccion practica a los FPGA August 16, 2012 74 / 84

  • Ejemplos en VHDLGenerador VGA

    Ing. Roberto Simone () Introduccion practica a los FPGA August 16, 2012 75 / 84

  • Ejemplos en VHDLGenerador VGA - Sincronismo horizontal

    Ing. Roberto Simone () Introduccion practica a los FPGA August 16, 2012 76 / 84

  • Ejemplos en VHDLGenerador VGA - Sincronismo vertical

    Ing. Roberto Simone () Introduccion practica a los FPGA August 16, 2012 77 / 84

  • Ejemplos en VHDLGenerador VGA - VGA sync

    Ing. Roberto Simone () Introduccion practica a los FPGA August 16, 2012 78 / 84

  • Ejemplos en VHDLGenerador VGA - Sincronismos

    Ing. Roberto Simone () Introduccion practica a los FPGA August 16, 2012 79 / 84

  • Ejemplos en VHDLDisplays 7 segmentos multiplexados

    Ing. Roberto Simone () Introduccion practica a los FPGA August 16, 2012 80 / 84

  • Ejemplos en VHDLDisplays 7 segmentos multiplexados - Diagrama de estados

    Ing. Roberto Simone () Introduccion practica a los FPGA August 16, 2012 81 / 84

  • Ejemplos en VHDLDisplays 7 segmentos multiplexados - Maquina de estados

    Ing. Roberto Simone () Introduccion practica a los FPGA August 16, 2012 82 / 84

  • Ejemplos en VHDLDisplays 7 segmentos multiplexados - Transiciones de estados

    Ing. Roberto Simone () Introduccion practica a los FPGA August 16, 2012 83 / 84

  • Ejemplos en VHDLConversor A/D por contador

    Ing. Roberto Simone () Introduccion practica a los FPGA August 16, 2012 84 / 84

  • Ejemplos en VHDLConversor A/D por contador

    Ing. Roberto Simone () Introduccion practica a los FPGA August 16, 2012 85 / 84

Recommended

View more >