Académique Documents
Professionnel Documents
Culture Documents
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.
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.
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.
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.
2 / 84
1 2 3 4
Implementaci on de un sistema dedicado. Chau compuertas, hola FPGA. El FPGA no muerde. Ejemplos en VHDL.
3 / 84
4 / 84
5 / 84
6 / 84
6 / 84
6 / 84
6 / 84
6 / 84
6 / 84
6 / 84
6 / 84
6 / 84
Es REPROGRAMABLE.
6 / 84
6 / 84
7 / 84
8 / 84
9 / 84
La CPU puede ser un cuello de botella. DMA Para fsamp > 1MSPS el A/D suele ser externo.
10 / 84
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.
11 / 84
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
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
13 / 84
14 / 84
El reloj es de 33MHz, tCLK = 30, 3ns . Dif cil de atender para un microcontrolador.
14 / 84
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
15 / 84
Las se nales anal ogicas de ROJO, VERDE y AZUL deben ingresar en secuencia.
16 / 84
Para una resoluci on de 640 x 480 p xeles deben ser ingresados cada 40ns.
17 / 84
18 / 84
19 / 84
20 / 84
Los colores R, G, B de cada p xel se guardan en una memoria llamada frame buer.
21 / 84
22 / 84
23 / 84
24 / 84
25 / 84
26 / 84
27 / 84
28 / 84
Decodican protocolos de mediana complejidad, como IIC. O protocolos altamente sosticados como USB.
28 / 84
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.
28 / 84
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.
28 / 84
1 2 3 4
Implementaci on de un sistema dedicado. Chau compuertas, hola FPGA. El FPGA no muerde. Ejemplos en VHDL.
29 / 84
30 / 84
31 / 84
32 / 84
S = D .B + D .B .A
32 / 84
33 / 84
Los mapas de Karnaugh son pr acticos hasta 4 variables. Con 5 variables, el m etodo no es tan directo.
33 / 84
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.
33 / 84
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.
33 / 84
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.
33 / 84
34 / 84
38 / 84
Un error en el PCB: PCB a la basura. Problemas para distribuir en el PCB se nales sensibles como el reloj.
38 / 84
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.
38 / 84
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.
38 / 84
39 / 84
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
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
40 / 84
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
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
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
42 / 84
46 / 84
46 / 84
47 / 84
Si llenamos las LUT a mano volvemos a la antigua t ecnica de dise no. Actualmente se trabaja a nivel RTL.
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.
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.
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.
49 / 84
El FPGA no muerde
Dise no de ejemplo
50 / 84
El FPGA no muerde
Dise no de ejemplo
50 / 84
El FPGA no muerde
Dise no de ejemplo
51 / 84
El FPGA no muerde
Dise no de ejemplo
51 / 84
El FPGA no muerde
Dise no de ejemplo
51 / 84
El FPGA no muerde
Dise no de ejemplo
51 / 84
El FPGA no muerde
Dise no de ejemplo
FPGA
51 / 84
El FPGA no muerde
Dise no de ejemplo
FPGA
Cyclone - bajo costo
51 / 84
El FPGA no muerde
Dise no de ejemplo
FPGA
Cyclone - bajo costo
Cyclone Cyclone Cyclone Cyclone Cyclone I II III IV V
51 / 84
El FPGA no muerde
Dise no de ejemplo
FPGA
Cyclone - bajo costo
Cyclone Cyclone Cyclone Cyclone Cyclone I II III IV V
51 / 84
El FPGA no muerde
Dise no de ejemplo
FPGA
Cyclone - bajo costo
Cyclone Cyclone Cyclone Cyclone Cyclone I II III IV V
51 / 84
El FPGA no muerde
Dise no de ejemplo
52 / 84
El FPGA no muerde
Dise no de ejemplo
52 / 84
El FPGA no muerde
Dise no de ejemplo
52 / 84
El FPGA no muerde
Dise no de ejemplo
52 / 84
El FPGA no muerde
Dise no de ejemplo
Encapsulados
52 / 84
El FPGA no muerde
Dise no de ejemplo
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
53 / 84
El FPGA no muerde
Dise no de ejemplo
53 / 84
El FPGA no muerde
Dise no de ejemplo
54 / 84
El FPGA no muerde
Dise no de ejemplo
54 / 84
El FPGA no muerde
Dise no de ejemplo
55 / 84
El FPGA no muerde
Dise no de ejemplo
55 / 84
El FPGA no muerde
Dise no de ejemplo
Paso 5: S ntesis
56 / 84
El FPGA no muerde
Dise no de ejemplo
Paso 5: S ntesis
56 / 84
El FPGA no muerde
Dise no de ejemplo
57 / 84
El FPGA no muerde
Dise no de ejemplo
Paso 6: Programar el chip PLD POD Programador de Edudevices ( USB Blaster compatible )
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.
58 / 84
Ejemplos en VHDL
Lenguajes descriptores de hardware
59 / 84
Ejemplos en VHDL
Lenguajes descriptores de hardware
59 / 84
Ejemplos en VHDL
Lenguajes descriptores de hardware
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
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
59 / 84
Ejemplos en VHDL
VHDL
60 / 84
Ejemplos en VHDL
VHDL
60 / 84
Ejemplos en VHDL
VHDL
VHSIC Hardware Description Language. Sint axis semejante a PASCAL. Descripto en el est andar IEEE 1164.
60 / 84
Ejemplos en VHDL
Primer dise no
61 / 84
Ejemplos en VHDL
Uso de WITH SELECT
62 / 84
Ejemplos en VHDL
Uso de PROCESS
63 / 84
Ejemplos en VHDL
Uso de PROCESS
64 / 84
Ejemplos en VHDL
Destello de un LED
65 / 84
Ejemplos en VHDL
Vista RTL
66 / 84
Ejemplos en VHDL
Vista RTL - MUX
67 / 84
Ejemplos en VHDL
Vista RTL - Comparador
68 / 84
Ejemplos en VHDL
Vista RTL - Incrementador
69 / 84
Ejemplos en VHDL
Vista RTL - Reinicio del conteo
70 / 84
Ejemplos en VHDL
Vista RTL - L ogica de salida
71 / 84
Ejemplos en VHDL
Contador BCD - Contador con ENABLE
72 / 84
Ejemplos en VHDL
Contador BCD - Uso de componentes
73 / 84
Ejemplos en VHDL
Contador BCD - Ticks
74 / 84
Ejemplos en VHDL
Generador VGA
75 / 84
Ejemplos en VHDL
Generador VGA - Sincronismo horizontal
76 / 84
Ejemplos en VHDL
Generador VGA - Sincronismo vertical
77 / 84
Ejemplos en VHDL
Generador VGA - VGA sync
78 / 84
Ejemplos en VHDL
Generador VGA - Sincronismos
79 / 84
Ejemplos en VHDL
Displays 7 segmentos multiplexados
80 / 84
Ejemplos en VHDL
Displays 7 segmentos multiplexados - Diagrama de estados
81 / 84
Ejemplos en VHDL
Displays 7 segmentos multiplexados - M aquina de estados
82 / 84
Ejemplos en VHDL
Displays 7 segmentos multiplexados - Transiciones de estados
83 / 84
Ejemplos en VHDL
Conversor A/D por contador
84 / 84
Ejemplos en VHDL
Conversor A/D por contador
85 / 84