You are on page 1of 145

Introducci on pr actica a los FPGA

Ing. Roberto Simone

August 16, 2012

Ing. Roberto Simone ()

Introducci on pr actica a los FPGA

August 16, 2012

1 / 84

Itinerario de la presentaci on

1 2 3 4

Implementaci on de un sistema dedicado. Chau compuertas, hola FPGA. El FPGA no muerde. Ejemplos en VHDL.

Ing. Roberto Simone ()

Introducci on pr actica a los FPGA

August 16, 2012

2 / 84

Itinerario de la presentaci on

1 2 3 4

Implementaci on de un sistema dedicado. Chau compuertas, hola FPGA. El FPGA no muerde. Ejemplos en VHDL.

Ing. Roberto Simone ()

Introducci on pr actica a los FPGA

August 16, 2012

2 / 84

Itinerario de la presentaci on

1 2 3 4

Implementaci on de un sistema dedicado. Chau compuertas, hola FPGA. El FPGA no muerde. Ejemplos en VHDL.

Ing. Roberto Simone ()

Introducci on pr actica a los FPGA

August 16, 2012

2 / 84

Itinerario de la presentaci on

1 2 3 4

Implementaci on de un sistema dedicado. Chau compuertas, hola FPGA. El FPGA no muerde. Ejemplos en VHDL.

Ing. Roberto Simone ()

Introducci on pr actica a los FPGA

August 16, 2012

2 / 84

Implementaci on de un sistema dedicado

1 2 3 4

Implementaci on de un sistema dedicado. Chau compuertas, hola FPGA. El FPGA no muerde. Ejemplos en VHDL.

Ing. Roberto Simone ()

Introducci on pr actica a los FPGA

August 16, 2012

3 / 84

Implementaci on de un sistema dedicado


Opci on con microprocesador

Ing. Roberto Simone ()

Introducci on pr actica a los FPGA

August 16, 2012

4 / 84

Implementaci on de un sistema dedicado


Opci on con l ogica discreta

Ing. Roberto Simone ()

Introducci on pr actica a los FPGA

August 16, 2012

5 / 84

Implementaci on de un sistema dedicado


Puntos a favor de los microprocesadores

Ing. Roberto Simone ()

Introducci on pr actica a los FPGA

August 16, 2012

6 / 84

Implementaci on de un sistema dedicado


Puntos a favor de los microprocesadores

Un chip tiene resueltos buena parte del hardware:

Ing. Roberto Simone ()

Introducci on pr actica a los FPGA

August 16, 2012

6 / 84

Implementaci on de un sistema dedicado


Puntos a favor de los microprocesadores

Un chip tiene resueltos buena parte del hardware:


CPU.

Ing. Roberto Simone ()

Introducci on pr actica a los FPGA

August 16, 2012

6 / 84

Implementaci on de un sistema dedicado


Puntos a favor de los microprocesadores

Un chip tiene resueltos buena parte del hardware:


CPU. Memorias de programa y de datos.

Ing. Roberto Simone ()

Introducci on pr actica a los FPGA

August 16, 2012

6 / 84

Implementaci on de un sistema dedicado


Puntos a favor de los microprocesadores

Un chip tiene resueltos buena parte del hardware:


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

Ing. Roberto Simone ()

Introducci on pr actica a los FPGA

August 16, 2012

6 / 84

Implementaci on de un sistema dedicado


Puntos a favor de los microprocesadores

Un chip tiene resueltos buena parte del hardware:


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

Ing. Roberto Simone ()

Introducci on pr actica a los FPGA

August 16, 2012

6 / 84

Implementaci on de un sistema dedicado


Puntos a favor de los microprocesadores

Un chip tiene resueltos buena parte del hardware:


CPU. Memorias de programa y de datos. Puertos de E/S. M odulos indispensables:
Conversor A/D.

Ing. Roberto Simone ()

Introducci on pr actica a los FPGA

August 16, 2012

6 / 84

Implementaci on de un sistema dedicado


Puntos a favor de los microprocesadores

Un chip tiene resueltos buena parte del hardware:


CPU. Memorias de programa y de datos. Puertos de E/S. M odulos indispensables:
Conversor A/D. Timers.

Ing. Roberto Simone ()

Introducci on pr actica a los FPGA

August 16, 2012

6 / 84

Implementaci on de un sistema dedicado


Puntos a favor de los microprocesadores

Un chip tiene resueltos buena parte del hardware:


CPU. Memorias de programa y de datos. Puertos de E/S. M odulos indispensables:
Conversor A/D. Timers. USART.

Ing. Roberto Simone ()

Introducci on pr actica a los FPGA

August 16, 2012

6 / 84

Implementaci on de un sistema dedicado


Puntos a favor de los microprocesadores

Un chip tiene resueltos buena parte del hardware:


CPU. Memorias de programa y de datos. Puertos de E/S. M odulos indispensables:
Conversor A/D. Timers. USART.

Es REPROGRAMABLE.

Ing. Roberto Simone ()

Introducci on pr actica a los FPGA

August 16, 2012

6 / 84

Implementaci on de un sistema dedicado


Puntos a favor de los microprocesadores

Un chip tiene resueltos buena parte del hardware:


CPU. Memorias de programa y de datos. Puertos de E/S. M odulos indispensables:
Conversor A/D. Timers. USART.

Es REPROGRAMABLE. Solo debemos preocuparnos del rmware y la periferia anal ogica.

Ing. Roberto Simone ()

Introducci on pr actica a los FPGA

August 16, 2012

6 / 84

Implementaci on de un sistema dedicado


Situaciones problem aticas: Caso 1 - DMA

Ing. Roberto Simone ()

Introducci on pr actica a los FPGA

August 16, 2012

7 / 84

Implementaci on de un sistema dedicado


Situaciones problem aticas: Caso 1 - DMA

La CPU puede ser un cuello de botella.

Ing. Roberto Simone ()

Introducci on pr actica a los FPGA

August 16, 2012

8 / 84

Implementaci on de un sistema dedicado


Situaciones problem aticas: Caso 1 - DMA

La CPU puede ser un cuello de botella. DMA

Ing. Roberto Simone ()

Introducci on pr actica a los FPGA

August 16, 2012

9 / 84

Implementaci on de un sistema dedicado


Situaciones problem aticas: Caso 1 - DMA

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

Ing. Roberto Simone ()

Introducci on pr actica a los FPGA

August 16, 2012

10 / 84

Implementaci on de un sistema dedicado


Situaciones problem aticas: Caso 1 - DMA

La CPU puede ser un cuello de botella. DMA Para fsamp > 1MSPS el A/D suele ser externo. Para capacidad > 1MB la RAM suele ser externa.

Ing. Roberto Simone ()

Introducci on pr actica a los FPGA

August 16, 2012

11 / 84

Implementaci on de un sistema dedicado


Situaciones problem aticas: Caso 1 - DMA

La CPU puede ser un cuello de botella. DMA Para 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 mas de 1MB externo.
Ing. Roberto Simone () Introducci on pr actica a los FPGA August 16, 2012 11 / 84

Implementaci on de un sistema dedicado


Situaciones problem aticas: Caso 1 - DMA

La CPU puede ser un cuello de botella. DMA Para 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 mas de 1MB externo.RARO
Ing. Roberto Simone () Introducci on pr actica a los FPGA August 16, 2012 12 / 84

Implementaci on de un sistema dedicado


Situaciones problem aticas: Caso 2 - PCI

Ing. Roberto Simone ()

Introducci on pr actica a los FPGA

August 16, 2012

13 / 84

Implementaci on de un sistema dedicado


Situaciones problem aticas: Caso 2 - PCI

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

Ing. Roberto Simone ()

Introducci on pr actica a los FPGA

August 16, 2012

14 / 84

Implementaci on de un sistema dedicado


Situaciones problem aticas: Caso 2 - PCI

El reloj es de 33MHz, tCLK = 30, 3ns . Dif cil de atender para un microcontrolador.

Ing. Roberto Simone ()

Introducci on pr actica a los FPGA

August 16, 2012

14 / 84

Implementaci on de un sistema dedicado


Situaciones problem aticas: Caso 2 - PCI

El reloj es de 33MHz, tCLK = 30, 3ns . Dif cil de atender para un microcontrolador. En el mejor de los casos no podr a realizar otra funci on.
Ing. Roberto Simone () Introducci on pr actica a los FPGA August 16, 2012 14 / 84

Implementaci on de un sistema dedicado


Situaciones problem aticas: Caso 3 - Generaci on de video

En los monitores los p xeles se encienden en secuencia.

Ing. Roberto Simone ()

Introducci on pr actica a los FPGA

August 16, 2012

15 / 84

Implementaci on de un sistema dedicado


Situaciones problem aticas: Caso 3 - Generaci on de video

Las se nales anal ogicas de ROJO, VERDE y AZUL deben ingresar en secuencia.

Ing. Roberto Simone ()

Introducci on pr actica a los FPGA

August 16, 2012

16 / 84

Implementaci on de un sistema dedicado


Situaciones problem aticas: Caso 3 - Generaci on de video

Para una resoluci on de 640 x 480 p xeles deben ser ingresados cada 40ns.

Ing. Roberto Simone ()

Introducci on pr actica a los FPGA

August 16, 2012

17 / 84

Implementaci on de un sistema dedicado


Situaciones problem aticas: Caso 3 - Generaci on de video

El reloj adecuado es de 25,176MHz.

Ing. Roberto Simone ()

Introducci on pr actica a los FPGA

August 16, 2012

18 / 84

Implementaci on de un sistema dedicado


Situaciones problem aticas: Caso 3 - Generaci on de video

Ing. Roberto Simone ()

Introducci on pr actica a los FPGA

August 16, 2012

19 / 84

Implementaci on de un sistema dedicado


Situaciones problem aticas: Caso 3 - Generaci on de video

Ing. Roberto Simone ()

Introducci on pr actica a los FPGA

August 16, 2012

20 / 84

Implementaci on de un sistema dedicado


Situaciones problem aticas: Caso 3 - Generaci on de video

Los colores R, G, B de cada p xel se guardan en una memoria llamada frame buer.

Ing. Roberto Simone ()

Introducci on pr actica a los FPGA

August 16, 2012

21 / 84

Implementaci on de un sistema dedicado


Situaciones problem aticas: Caso 3 - Generaci on de video

La memoria es le da a medida que se muestra la imagen.

Ing. Roberto Simone ()

Introducci on pr actica a los FPGA

August 16, 2012

22 / 84

Implementaci on de un sistema dedicado


Situaciones problem aticas: Caso 3 - Generaci on de video

Ing. Roberto Simone ()

Introducci on pr actica a los FPGA

August 16, 2012

23 / 84

Implementaci on de un sistema dedicado


Situaciones problem aticas: Caso 3 - Generaci on de video

Ing. Roberto Simone ()

Introducci on pr actica a los FPGA

August 16, 2012

24 / 84

Implementaci on de un sistema dedicado


Situaciones problem aticas: Caso 3 - Generaci on de video

Ing. Roberto Simone ()

Introducci on pr actica a los FPGA

August 16, 2012

25 / 84

Implementaci on de un sistema dedicado


Situaciones problem aticas: Caso 3 - Generaci on de video

Ing. Roberto Simone ()

Introducci on pr actica a los FPGA

August 16, 2012

26 / 84

Implementaci on de un sistema dedicado


Situaciones problem aticas: Caso 3 - Generaci on de video

Para dibujar una imagen guardamos datos en el frame buer.

Ing. Roberto Simone ()

Introducci on pr actica a los FPGA

August 16, 2012

27 / 84

Implementaci on de un sistema dedicado


Situaciones problem aticas: Caso 4 - Analizadores de protocolo

Decodican protocolos de mediana complejidad, como IIC.

Ing. Roberto Simone ()

Introducci on pr actica a los FPGA

August 16, 2012

28 / 84

Implementaci on de un sistema dedicado


Situaciones problem aticas: Caso 4 - Analizadores de protocolo

Decodican protocolos de mediana complejidad, como IIC. O protocolos altamente sosticados como USB.

Ing. Roberto Simone ()

Introducci on pr actica a los FPGA

August 16, 2012

28 / 84

Implementaci on de un sistema dedicado


Situaciones problem aticas: Caso 4 - Analizadores de protocolo

Decodican protocolos de mediana complejidad, como IIC. O protocolos altamente sosticados como USB. Un microcontrolador no puede registrar todas las transiciones de las se nales.

Ing. Roberto Simone ()

Introducci on pr actica a los FPGA

August 16, 2012

28 / 84

Implementaci on de un sistema dedicado


Situaciones problem aticas: Caso 4 - Analizadores de protocolo

Decodican protocolos de mediana complejidad, como IIC. O protocolos altamente sosticados como USB. Un microcontrolador no puede registrar todas las transiciones de las se nales. Tampoco tiene la memoria para almacenar todos los eventos.

Ing. Roberto Simone ()

Introducci on pr actica a los FPGA

August 16, 2012

28 / 84

Chau compuertas, hola FPGA

1 2 3 4

Implementaci on de un sistema dedicado. Chau compuertas, hola FPGA. El FPGA no muerde. Ejemplos en VHDL.

Ing. Roberto Simone ()

Introducci on pr actica a los FPGA

August 16, 2012

29 / 84

Chau compuertas, hola FPGA


L ogica discreta: Mapas de Karnaugh

Partimos de la especicaci on de un circuito combinacional.

Ing. Roberto Simone ()

Introducci on pr actica a los FPGA

August 16, 2012

30 / 84

Chau compuertas, hola FPGA


L ogica discreta: Mapas de Karnaugh

Ing. Roberto Simone ()

Introducci on pr actica a los FPGA

August 16, 2012

31 / 84

Chau compuertas, hola FPGA


L ogica discreta: Mapas de Karnaugh

Ing. Roberto Simone ()

Introducci on pr actica a los FPGA

August 16, 2012

32 / 84

Chau compuertas, hola FPGA


L ogica discreta: Mapas de Karnaugh

S = D .B + D .B .A

Ing. Roberto Simone ()

Introducci on pr actica a los FPGA

August 16, 2012

32 / 84

Chau compuertas, hola FPGA


L ogica discreta: Mapas de Karnaugh

Los mapas de Karnaugh son pr acticos hasta 4 variables.

Ing. Roberto Simone ()

Introducci on pr actica a los FPGA

August 16, 2012

33 / 84

Chau compuertas, hola FPGA


L ogica discreta: Mapas de Karnaugh

Los mapas de Karnaugh son pr acticos hasta 4 variables. Con 5 variables, el m etodo no es tan directo.

Ing. Roberto Simone ()

Introducci on pr actica a los FPGA

August 16, 2012

33 / 84

Chau compuertas, hola FPGA


L ogica discreta: Mapas de Karnaugh

Los mapas de Karnaugh son pr acticos hasta 4 variables. Con 5 variables, el m etodo no es tan directo. Para mas de 5 variables es inviable.

Ing. Roberto Simone ()

Introducci on pr actica a los FPGA

August 16, 2012

33 / 84

Chau compuertas, hola FPGA


L ogica discreta: Mapas de Karnaugh

Los mapas de Karnaugh son pr acticos hasta 4 variables. Con 5 variables, el m etodo no es tan directo. Para mas de 5 variables es inviable. No considera que m ultiples salidas pueden compartir parte de sus circuitos.

Ing. Roberto Simone ()

Introducci on pr actica a los FPGA

August 16, 2012

33 / 84

Chau compuertas, hola FPGA


L ogica discreta: Mapas de Karnaugh

Los mapas de Karnaugh son pr acticos hasta 4 variables. Con 5 variables, el m etodo no es tan directo. Para mas de 5 variables es inviable. No considera que m ultiples salidas pueden compartir parte de sus circuitos.

Orientado a la implementaci on de circuitos con compuertas.

Ing. Roberto Simone ()

Introducci on pr actica a los FPGA

August 16, 2012

33 / 84

Chau compuertas, hola FPGA


Mapeo tecnol ogico: AND-OR

Surge directamente del mapa de Karnaugh.

Ing. Roberto Simone ()

Introducci on pr actica a los FPGA

August 16, 2012

34 / 84

Chau compuertas, hola FPGA


Mapeo tecnol ogico: OR-AND

Lo obtenemos agrupando 0s en el mapa. S = (D + B ).(B + A).(D + B )


Ing. Roberto Simone () Introducci on pr actica a los FPGA August 16, 2012 35 / 84

Chau compuertas, hola FPGA


Mapeo tecnol ogico: NAND-NAND

Aplicamos De Morgan a la suma de productos S = D .B + D .B .A = D .B .D .B .A


Ing. Roberto Simone () Introducci on pr actica a los FPGA August 16, 2012 36 / 84

Chau compuertas, hola FPGA


Mapeo tecnol ogico: 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 () Introducci on pr actica a los FPGA August 16, 2012 37 / 84

Chau compuertas, hola FPGA


L ogica discreta: Otros problemas

Un error en el PCB: PCB a la basura.

Ing. Roberto Simone ()

Introducci on pr actica a los FPGA

August 16, 2012

38 / 84

Chau compuertas, hola FPGA


L ogica discreta: Otros problemas

Un error en el PCB: PCB a la basura. Problemas para distribuir en el PCB se nales sensibles como el reloj.

Ing. Roberto Simone ()

Introducci on pr actica a los FPGA

August 16, 2012

38 / 84

Chau compuertas, hola FPGA


L ogica discreta: Otros problemas

Un error en el PCB: PCB a la basura. Problemas para distribuir en el PCB se nales sensibles como el reloj. PCB tama no ba no: kilos y kilos de electr onica.

Ing. Roberto Simone ()

Introducci on pr actica a los FPGA

August 16, 2012

38 / 84

Chau compuertas, hola FPGA


L ogica discreta: Otros problemas

Un error en el PCB: PCB a la basura. Problemas para distribuir en el PCB se nales sensibles como el reloj. PCB tama no ba no: kilos y kilos de electr onica. Dise nos ultrar gidos: Dif ciles de actualizar.

Ing. Roberto Simone ()

Introducci on pr actica a los FPGA

August 16, 2012

38 / 84

Chau compuertas, hola FPGA


Mapeo tecnol ogico: FPGA

Los FPGA est an repletos de tablas llamadas Look-Up Tables.

Ing. Roberto Simone ()

Introducci on pr actica a los FPGA

August 16, 2012

39 / 84

Chau compuertas, hola FPGA


Mapeo tecnol ogico: FPGA

Los FPGA est an repletos de tablas llamadas Look-Up Tables. Las LUTs son SRAM de alta velocidad.
Ing. Roberto Simone () Introducci on pr actica a los FPGA August 16, 2012 39 / 84

Chau compuertas, hola FPGA


Mapeo tecnol ogico: FPGA

Los FPGA est an repletos de tablas llamadas Look-Up Tables. Las LUTs son SRAM de alta velocidad. Las LUTs son reprogramables.
Ing. Roberto Simone () Introducci on pr actica a los FPGA August 16, 2012 39 / 84

Chau compuertas, hola FPGA


Mapeo tecnol ogico: FPGA

Podemos usar o no un ip-op junto con la LUT.

Ing. Roberto Simone ()

Introducci on pr actica a los FPGA

August 16, 2012

40 / 84

Chau compuertas, hola FPGA


Mapeo tecnol ogico: FPGA

Podemos usar o no un ip-op junto con la LUT. Nos permite construir circuitos secuenciales.
Ing. Roberto Simone () Introducci on pr actica a los FPGA August 16, 2012 40 / 84

Chau compuertas, hola FPGA


Mapeo tecnol ogico: FPGA

Podemos usar o no un ip-op junto con la LUT. Nos permite construir circuitos secuenciales. Surge el elemento l ogico ( LE ).
Ing. Roberto Simone () Introducci on pr actica a los FPGA August 16, 2012 40 / 84

Chau compuertas, hola FPGA


Mapeo tecnol ogico: FPGA

Disponemos de autopistas ( ruteo ) para conectar las se nales de los LE entre s y con los terminales del chip.
Ing. Roberto Simone () Introducci on pr actica a los FPGA August 16, 2012 41 / 84

Chau compuertas, hola FPGA


Conguraci on del FPGA

Armar un circuito con un FPGA consiste de

Ing. Roberto Simone ()

Introducci on pr actica a los FPGA

August 16, 2012

42 / 84

Chau compuertas, hola FPGA


Conguraci on del FPGA

Armar un circuito con un FPGA consiste de

Llenar las tablas de verdad.


Ing. Roberto Simone () Introducci on pr actica a los FPGA August 16, 2012 42 / 84

Chau compuertas, hola FPGA


Conguraci on del FPGA

Armar un circuito con un FPGA consiste de

Determinar si usamos o no cada ip-op.


Ing. Roberto Simone () Introducci on pr actica a los FPGA August 16, 2012 43 / 84

Chau compuertas, hola FPGA


Conguraci on del FPGA

Armar un circuito con un FPGA consiste de

Determinar si usamos o no cada ip-op.


Ing. Roberto Simone () Introducci on pr actica a los FPGA August 16, 2012 44 / 84

Chau compuertas, hola FPGA


Conguraci on del FPGA

Armar un circuito con un FPGA consiste de

Conectas las entradas y salidas de los LE.


Ing. Roberto Simone () Introducci on pr actica a los FPGA August 16, 2012 45 / 84

Chau compuertas, hola FPGA


T ecnica de dise no

No tienen sentido minimizar funciones con los mapas de Karnaugh

Ing. Roberto Simone ()

Introducci on pr actica a los FPGA

August 16, 2012

46 / 84

Chau compuertas, hola FPGA


T ecnica de dise no

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 ()

Introducci on pr actica a los FPGA

August 16, 2012

46 / 84

Chau compuertas, hola FPGA


T ecnica de dise no

Si llenamos las LUT a mano volvemos a la antigua t ecnica de dise no.

Ing. Roberto Simone ()

Introducci on pr actica a los FPGA

August 16, 2012

47 / 84

Chau compuertas, hola FPGA


T ecnica de dise no

Si llenamos las LUT a mano volvemos a la antigua t ecnica de dise no. Actualmente se trabaja a nivel RTL.

Ing. Roberto Simone ()

Introducci on pr actica a los FPGA

August 16, 2012

47 / 84

El FPGA no muerde

1 2 3 4

Implementaci on de un sistema dedicado. Chau compuertas, hola FPGA. El FPGA no muerde. Ejemplos en VHDL.

Ing. Roberto Simone ()

Introducci on pr actica a los FPGA

August 16, 2012

48 / 84

El FPGA no muerde
Dise no de ejemplo

Paso 1: Especicaci on del dise no Al tocar 2 botones simult aneamente se enceder a el LED.

Ing. Roberto Simone ()

Introducci on pr actica a los FPGA

August 16, 2012

49 / 84

El FPGA no muerde
Dise no de ejemplo

Paso 1: Especicaci on del dise no Al tocar 2 botones simult aneamente se enceder a el LED.

Ing. Roberto Simone ()

Introducci on pr actica a los FPGA

August 16, 2012

49 / 84

El FPGA no muerde
Dise no de ejemplo

Paso 2: Elegir un FPGA

Ing. Roberto Simone ()

Introducci on pr actica a los FPGA

August 16, 2012

50 / 84

El FPGA no muerde
Dise no de ejemplo

Paso 2: Elegir un FPGA Fabricantes de FPGA:

Ing. Roberto Simone ()

Introducci on pr actica a los FPGA

August 16, 2012

50 / 84

El FPGA no muerde
Dise no de ejemplo

Paso 2: Elegir un FPGA

Ing. Roberto Simone ()

Introducci on pr actica a los FPGA

August 16, 2012

51 / 84

El FPGA no muerde
Dise no de ejemplo

Paso 2: Elegir un FPGA ALTERA: Familias de FPGA

Ing. Roberto Simone ()

Introducci on pr actica a los FPGA

August 16, 2012

51 / 84

El FPGA no muerde
Dise no de ejemplo

Paso 2: Elegir un FPGA ALTERA: Familias de FPGA CPLD

Ing. Roberto Simone ()

Introducci on pr actica a los FPGA

August 16, 2012

51 / 84

El FPGA no muerde
Dise no de ejemplo

Paso 2: Elegir un FPGA ALTERA: Familias de FPGA CPLD


MAX 7000 MAX II

Ing. Roberto Simone ()

Introducci on pr actica a los FPGA

August 16, 2012

51 / 84

El FPGA no muerde
Dise no de ejemplo

Paso 2: Elegir un FPGA ALTERA: Familias de FPGA CPLD


MAX 7000 MAX II

FPGA

Ing. Roberto Simone ()

Introducci on pr actica a los FPGA

August 16, 2012

51 / 84

El FPGA no muerde
Dise no de ejemplo

Paso 2: Elegir un FPGA ALTERA: Familias de FPGA CPLD


MAX 7000 MAX II

FPGA
Cyclone - bajo costo

Ing. Roberto Simone ()

Introducci on pr actica a los FPGA

August 16, 2012

51 / 84

El FPGA no muerde
Dise no de ejemplo

Paso 2: Elegir un FPGA ALTERA: Familias de FPGA CPLD


MAX 7000 MAX II

FPGA
Cyclone - bajo costo
Cyclone Cyclone Cyclone Cyclone Cyclone I II III IV V

Ing. Roberto Simone ()

Introducci on pr actica a los FPGA

August 16, 2012

51 / 84

El FPGA no muerde
Dise no de ejemplo

Paso 2: Elegir un FPGA ALTERA: Familias de FPGA CPLD


MAX 7000 MAX II

FPGA
Cyclone - bajo costo
Cyclone Cyclone Cyclone Cyclone Cyclone I II III IV V

Arria - gama media

Ing. Roberto Simone ()

Introducci on pr actica a los FPGA

August 16, 2012

51 / 84

El FPGA no muerde
Dise no de ejemplo

Paso 2: Elegir un FPGA ALTERA: Familias de FPGA CPLD


MAX 7000 MAX II

FPGA
Cyclone - bajo costo
Cyclone Cyclone Cyclone Cyclone Cyclone I II III IV V

Arria - gama media Stratix - tecnolog a de punta

Ing. Roberto Simone ()

Introducci on pr actica a los FPGA

August 16, 2012

51 / 84

El FPGA no muerde
Dise no de ejemplo

Paso 2: Elegir un FPGA

Ing. Roberto Simone ()

Introducci on pr actica a los FPGA

August 16, 2012

52 / 84

El FPGA no muerde
Dise no de ejemplo

Paso 2: Elegir un FPGA FPGA Cyclone I

Ing. Roberto Simone ()

Introducci on pr actica a los FPGA

August 16, 2012

52 / 84

El FPGA no muerde
Dise no de ejemplo

Paso 2: Elegir un FPGA FPGA Cyclone I Elementos l ogicos

Ing. Roberto Simone ()

Introducci on pr actica a los FPGA

August 16, 2012

52 / 84

El FPGA no muerde
Dise no de ejemplo

Paso 2: Elegir un FPGA FPGA Cyclone I Elementos l ogicos


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

Ing. Roberto Simone ()

Introducci on pr actica a los FPGA

August 16, 2012

52 / 84

El FPGA no muerde
Dise no de ejemplo

Paso 2: Elegir un FPGA FPGA Cyclone I Elementos l ogicos


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

Encapsulados

Ing. Roberto Simone ()

Introducci on pr actica a los FPGA

August 16, 2012

52 / 84

El FPGA no muerde
Dise no de ejemplo

Paso 2: Elegir un FPGA FPGA Cyclone I Elementos l ogicos


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 () Introducci on pr actica a los FPGA August 16, 2012 52 / 84

El FPGA no muerde
Dise no de ejemplo

Paso 2: Elegir un FPGA

Ing. Roberto Simone ()

Introducci on pr actica a los FPGA

August 16, 2012

53 / 84

El FPGA no muerde
Dise no de ejemplo

Paso 2: Elegir un FPGA Kit de entrenamiento EDUDEVICES

Ing. Roberto Simone ()

Introducci on pr actica a los FPGA

August 16, 2012

53 / 84

El FPGA no muerde
Dise no de ejemplo

Paso 3: Dibujar el circuito

Ing. Roberto Simone ()

Introducci on pr actica a los FPGA

August 16, 2012

54 / 84

El FPGA no muerde
Dise no de ejemplo

Paso 3: Dibujar el circuito

Ing. Roberto Simone ()

Introducci on pr actica a los FPGA

August 16, 2012

54 / 84

El FPGA no muerde
Dise no de ejemplo

Paso 4: Asignar pines

Ing. Roberto Simone ()

Introducci on pr actica a los FPGA

August 16, 2012

55 / 84

El FPGA no muerde
Dise no de ejemplo

Paso 4: Asignar pines

Ing. Roberto Simone ()

Introducci on pr actica a los FPGA

August 16, 2012

55 / 84

El FPGA no muerde
Dise no de ejemplo

Paso 5: S ntesis

Ing. Roberto Simone ()

Introducci on pr actica a los FPGA

August 16, 2012

56 / 84

El FPGA no muerde
Dise no de ejemplo

Paso 5: S ntesis

Ing. Roberto Simone ()

Introducci on pr actica a los FPGA

August 16, 2012

56 / 84

El FPGA no muerde
Dise no de ejemplo

Paso 6: Programar el chip

Ing. Roberto Simone ()

Introducci on pr actica a los FPGA

August 16, 2012

57 / 84

El FPGA no muerde
Dise no de ejemplo

Paso 6: Programar el chip PLD POD Programador de Edudevices ( USB Blaster compatible )

Ing. Roberto Simone ()

Introducci on pr actica a los FPGA

August 16, 2012

57 / 84

Ejemplos en VHDL

1 2 3 4

Implementaci on de un sistema dedicado. Chau compuertas, hola FPGA. El FPGA no muerde. Ejemplos en VHDL.

Ing. Roberto Simone ()

Introducci on pr actica a los FPGA

August 16, 2012

58 / 84

Ejemplos en VHDL
Lenguajes descriptores de hardware

Ing. Roberto Simone ()

Introducci on pr actica a los FPGA

August 16, 2012

59 / 84

Ejemplos en VHDL
Lenguajes descriptores de hardware

se nalC es se nal A AND se nal B

Ing. Roberto Simone ()

Introducci on pr actica a los FPGA

August 16, 2012

59 / 84

Ejemplos en VHDL
Lenguajes descriptores de hardware

se nalC es se nal A AND se nal B conectar se nal A a pin 1

Ing. Roberto Simone ()

Introducci on pr actica a los FPGA

August 16, 2012

59 / 84

Ejemplos en VHDL
Lenguajes descriptores de hardware

se nalC es se nal A AND se nal B conectar se nal A a pin 1 conectar se nal B a pin 2

Ing. Roberto Simone ()

Introducci on pr actica a los FPGA

August 16, 2012

59 / 84

Ejemplos en VHDL
Lenguajes descriptores de hardware

se nalC es se nal A AND se nal B conectar se nal A a pin 1 conectar se nal B a pin 2 conectar se nal C a pin 3

Ing. Roberto Simone ()

Introducci on pr actica a los FPGA

August 16, 2012

59 / 84

Ejemplos en VHDL
VHDL

VHSIC Hardware Description Language.

Ing. Roberto Simone ()

Introducci on pr actica a los FPGA

August 16, 2012

60 / 84

Ejemplos en VHDL
VHDL

VHSIC Hardware Description Language. Sint axis semejante a PASCAL.

Ing. Roberto Simone ()

Introducci on pr actica a los FPGA

August 16, 2012

60 / 84

Ejemplos en VHDL
VHDL

VHSIC Hardware Description Language. Sint axis semejante a PASCAL. Descripto en el est andar IEEE 1164.

Ing. Roberto Simone ()

Introducci on pr actica a los FPGA

August 16, 2012

60 / 84

Ejemplos en VHDL
Primer dise no

Ing. Roberto Simone ()

Introducci on pr actica a los FPGA

August 16, 2012

61 / 84

Ejemplos en VHDL
Uso de WITH SELECT

Ing. Roberto Simone ()

Introducci on pr actica a los FPGA

August 16, 2012

62 / 84

Ejemplos en VHDL
Uso de PROCESS

Ing. Roberto Simone ()

Introducci on pr actica a los FPGA

August 16, 2012

63 / 84

Ejemplos en VHDL
Uso de PROCESS

Ing. Roberto Simone ()

Introducci on pr actica a los FPGA

August 16, 2012

64 / 84

Ejemplos en VHDL
Destello de un LED

Ing. Roberto Simone ()

Introducci on pr actica a los FPGA

August 16, 2012

65 / 84

Ejemplos en VHDL
Vista RTL

Ing. Roberto Simone ()

Introducci on pr actica a los FPGA

August 16, 2012

66 / 84

Ejemplos en VHDL
Vista RTL - MUX

Ing. Roberto Simone ()

Introducci on pr actica a los FPGA

August 16, 2012

67 / 84

Ejemplos en VHDL
Vista RTL - Comparador

Ing. Roberto Simone ()

Introducci on pr actica a los FPGA

August 16, 2012

68 / 84

Ejemplos en VHDL
Vista RTL - Incrementador

Ing. Roberto Simone ()

Introducci on pr actica a los FPGA

August 16, 2012

69 / 84

Ejemplos en VHDL
Vista RTL - Reinicio del conteo

Ing. Roberto Simone ()

Introducci on pr actica a los FPGA

August 16, 2012

70 / 84

Ejemplos en VHDL
Vista RTL - L ogica de salida

Ing. Roberto Simone ()

Introducci on pr actica a los FPGA

August 16, 2012

71 / 84

Ejemplos en VHDL
Contador BCD - Contador con ENABLE

Ing. Roberto Simone ()

Introducci on pr actica a los FPGA

August 16, 2012

72 / 84

Ejemplos en VHDL
Contador BCD - Uso de componentes

Ing. Roberto Simone ()

Introducci on pr actica a los FPGA

August 16, 2012

73 / 84

Ejemplos en VHDL
Contador BCD - Ticks

Ing. Roberto Simone ()

Introducci on pr actica a los FPGA

August 16, 2012

74 / 84

Ejemplos en VHDL
Generador VGA

Ing. Roberto Simone ()

Introducci on pr actica a los FPGA

August 16, 2012

75 / 84

Ejemplos en VHDL
Generador VGA - Sincronismo horizontal

Ing. Roberto Simone ()

Introducci on pr actica a los FPGA

August 16, 2012

76 / 84

Ejemplos en VHDL
Generador VGA - Sincronismo vertical

Ing. Roberto Simone ()

Introducci on pr actica a los FPGA

August 16, 2012

77 / 84

Ejemplos en VHDL
Generador VGA - VGA sync

Ing. Roberto Simone ()

Introducci on pr actica a los FPGA

August 16, 2012

78 / 84

Ejemplos en VHDL
Generador VGA - Sincronismos

Ing. Roberto Simone ()

Introducci on pr actica a los FPGA

August 16, 2012

79 / 84

Ejemplos en VHDL
Displays 7 segmentos multiplexados

Ing. Roberto Simone ()

Introducci on pr actica a los FPGA

August 16, 2012

80 / 84

Ejemplos en VHDL
Displays 7 segmentos multiplexados - Diagrama de estados

Ing. Roberto Simone ()

Introducci on pr actica a los FPGA

August 16, 2012

81 / 84

Ejemplos en VHDL
Displays 7 segmentos multiplexados - M aquina de estados

Ing. Roberto Simone ()

Introducci on pr actica a los FPGA

August 16, 2012

82 / 84

Ejemplos en VHDL
Displays 7 segmentos multiplexados - Transiciones de estados

Ing. Roberto Simone ()

Introducci on pr actica a los FPGA

August 16, 2012

83 / 84

Ejemplos en VHDL
Conversor A/D por contador

Ing. Roberto Simone ()

Introducci on pr actica a los FPGA

August 16, 2012

84 / 84

Ejemplos en VHDL
Conversor A/D por contador

Ing. Roberto Simone ()

Introducci on pr actica a los FPGA

August 16, 2012

85 / 84

You might also like