Você está na página 1de 50

Ing.

Julio Gonzalez Prado

Field Programmable Gate Array

Ing. Julio Gonzalez Prado

Una FPGA (del ingls Field Programmable


Gate Array) es un dispositivo semiconductor
que contiene bloques de lgica cuya
interconexin y funcionalidad puede ser
configurada 'in situ' mediante un lenguaje
de descripcin especializado. La lgica
programable
puede
reproducir
desde
funciones tan sencillas como las llevadas a
cabo
por
una
puerta lgica
o
un
sistema combinacional
hasta complejos
sistemas en un chip.
2

Ing. Julio Gonzalez Prado

LAS
FPGAS
SE
UTILIZAN
EN
APLICACIONES SIMILARES A LOS ASICS
SIN EMBARGO SON MS LENTAS,
TIENEN UN MAYOR CONSUMO DE
POTENCIA Y NO PUEDEN ABARCAR
SISTEMAS TAN COMPLEJOS COMO
ELLOS

Ing. Julio Gonzalez Prado

A PESAR DE ESTO, LAS FPGAS TIENEN


LAS
VENTAJAS
DE
SER
REPROGRAMABLES (LO QUE AADE UNA
ENORME FLEXIBILIDAD AL FLUJO DE
DISEO), SUS COSTES DE DESARROLLO
Y ADQUISICIN SON MUCHO MENORES
PARA
PEQUEAS
CANTIDADES
DE
DISPOSITIVOS
Y
EL
TIEMPO
DE
DESARROLLO ES TAMBIN MENOR.
4

Ing. Julio Gonzalez Prado

CIERTOS FABRICANTES CUENTAN CON


FPGAS
QUE
SLO
SE
PUEDEN
PROGRAMAR UNA VEZ, POR LO QUE
SUS VENTAJAS E INCONVENIENTES SE
ENCUENTRAN A MEDIO CAMINO ENTRE
LOS
ASICS
Y
LAS
FPGAS
REPROGRAMABLES.

Ing. Julio Gonzalez Prado

Ing. Julio Gonzalez Prado

Ing. Julio Gonzalez Prado

HISTRICAMENTE LAS FPGA SURGEN


COMO UNA EVOLUCIN DE LOS
CONCEPTOS DESARROLLADOS EN LAS
PAL Y LOS CPLD.

Ing. Julio Gonzalez Prado

LAS FPGAS FUERON INVENTADAS EN EL


AO 1984 POR ROSS FREEMAN Y
BERNARD
VONDERSCHMITT,
COFUNDADORES DE XILINX, Y SURGEN
COMO UNA EVOLUCIN DE LOS CPLDS.
TANTO LOS CPLDS COMO LAS FPGAS
CONTIENEN UN GRAN NMERO DE
ELEMENTOS LGICOS PROGRAMABLES.
9

Ing. Julio Gonzalez Prado

SI MEDIMOS LA DENSIDAD DE LOS


ELEMENTOS LGICOS PROGRAMABLES EN
PUERTAS LGICAS EQUIVALENTES (NMERO
DE PUERTAS NAND EQUIVALENTES QUE
PODRAMOS
PROGRAMAR
EN
UN
DISPOSITIVO) PODRAMOS DECIR QUE EN
UN CPLD HALLARAMOS DEL ORDEN DE
DECENAS DE MILES DE PUERTAS LGICAS
EQUIVALENTES Y EN UNA FPGA DEL ORDEN
DE CIENTOS DE MILES HASTA MILLONES DE
ELLAS.
10

Ing. Julio Gonzalez Prado

APARTE DE LAS DIFERENCIAS EN


DENSIDAD ENTRE AMBOS TIPOS DE
DISPOSITIVOS,
LA
DIFERENCIA
FUNDAMENTAL ENTRE LAS FPGAS Y
LOS CPLDS ES SU ARQUITECTURA

11

Ing. Julio Gonzalez Prado

LA ARQUITECTURA DE LOS CPLDS ES


MS RGIDA Y CONSISTE EN UNA O
MS
SUMAS
DE
PRODUCTOS
PROGRAMABLES CUYOS RESULTADOS
VAN A PARAR A UN NMERO REDUCIDO
DE BIESTABLES SNCRONOS (TAMBIN
DENOMINADOS FLIP-FLOPS).

12

Ing. Julio Gonzalez Prado

LA ARQUITECTURA DE LAS FPGAS, POR


OTRO LADO, SE BASA EN UN GRAN
NMERO
DE
PEQUEOS
BLOQUES
UTILIZADOS PARA REPRODUCIR SENCILLAS
OPERACIONES LGICAS, QUE CUENTAN A
SU VEZ CON BIESTABLES SNCRONOS. LA
ENORME LIBERTAD DISPONIBLE EN LA
INTERCONEXIN DE DICHOS BLOQUES
CONFIERE A LAS FPGAS UNA GRAN
FLEXIBILIDAD.
13

Ing. Julio Gonzalez Prado

14

Ing. Julio Gonzalez Prado

OTRA DIFERENCIA IMPORTANTE ENTRE


FPGAS Y CPLDS ES QUE EN LA MAYORA
DE LAS FPGAS SE PUEDEN ENCONTRAR
FUNCIONES DE ALTO NIVEL (COMO
SUMADORES
Y
MULTIPLICADORES)
EMBEBIDAS EN LA PROPIA MATRIZ DE
INTERCONEXIONES,
AS
COMO
BLOQUES DE MEMORIA.

15

Ing. Julio Gonzalez Prado

LAS FPGA SON EL RESULTADO DE LA


CONVERGENCIA DE DOS TECNOLOGAS
DIFERENTES,
LOS
DISPOSITIVOS
LGICOS
PROGRAMABLES
(PLDS
[PROGRAMMABLE LOGIC DEVICES]) Y
LOS
CIRCUITOS
INTEGRADOS
DE
APLICACIN
ESPECFICA
(ASIC
[APPLICATION-SPECIFIC
INTEGRATED
CIRCUIT]).
16

Ing. Julio Gonzalez Prado

LA HISTORIA DE LOS PLDS COMENZ CON


LOS
PRIMEROS
DISPOSITIVOS
PROM
(PROGRAMMABLE READ-ONLY MEMORY) Y
SE LES AADI VERSATILIDAD CON LOS
PAL (PROGRAMMABLE ARRAY LOGIC) QUE
PERMITIERON UN MAYOR NMERO DE
ENTRADAS
Y
LA
INCLUSIN
DE
REGISTROS. ESOS DISPOSITIVOS HAN
CONTINUADO CRECIENDO EN TAMAO Y
POTENCIA.
17

Ing. Julio Gonzalez Prado

LOS ASIC SIEMPRE HAN SIDO POTENTES


DISPOSITIVOS,
PERO
SU
USO
HA
REQUERIDO TRADICIONALMENTE UNA
CONSIDERABLE INVERSIN TANTO DE
TIEMPO COMO DE DINERO. INTENTOS DE
REDUCIR ESTA CARGA HAN PROVENIDO
DE
LA
MODULARIZACIN
DE
LOS
ELEMENTOS DE LOS CIRCUITOS, COMO
LOS ASIC BASADOS EN CELDAS, Y DE LA
ESTANDARIZACIN DE LAS MSCARAS,
TAL COMO FERRANTI FUE PIONERO CON
LA ULA (UNCOMMITTED LOGIC ARRAY).
18

Ing. Julio Gonzalez Prado

LAS
FPGAS
SE
UTILIZAN
EN
CONTROLADORES,
CODIFICADORES/DECODIFICADORES Y
EN EL PROTOTIPADO DE CIRCUITOS
VLSI
Y
MICROPROCESADORES
A
MEDIDA.

19

Ing. Julio Gonzalez Prado

EL PRIMER FABRICANTE DE ESTOS


DISPOSITIVOS FUE XILINX
Y LOS
DISPOSITIVOS
DE
XILINX
SE
MANTIENEN COMO UNO DE LOS MS
POPULARES EN COMPAAS Y GRUPOS
DE INVESTIGACIN.
OTROS
VENDEDORES
EN
ESTE
MERCADO SON ATMEL, ALTERA, AMD Y
MOTOROLA.
20

Ing. Julio Gonzalez Prado

UNA JERARQUA DE INTERCONEXIONES


PROGRAMABLES
PERMITE
A
LOS
BLOQUES LGICOS DE UN FPGA SER
INTERCONECTADOS
SEGN
LA
NECESIDAD DEL DISEADOR DEL
SISTEMA, ALGO PARECIDO A UN
BREADBOARD PROGRAMADO.

21

Ing. Julio Gonzalez Prado

ESTOS
BLOQUES
LGICOS
E
INTERCONEXIONES
PUEDEN
SER
PROGRAMADOS
DESPUS
DEL
PROCESO DE MANUFACTURA POR EL
USUARIO/DISEADOR, AS QUE EL
FPGA PUEDE DESEMPEAR CUALQUIER
FUNCIN LGICA NECESARIA.

22

Ing. Julio Gonzalez Prado

UNA TENDENCIA RECIENTE HA SIDO


COMBINAR LOS BLOQUES LGICOS E
INTERCONEXIONES DE LOS FPGA CON
MICROPROCESADORES Y PERIFRICOS
RELACIONADOS PARA FORMAR UN
SISTEMA PROGRAMABLE EN UN CHIP.

23

Ing. Julio Gonzalez Prado

EJEMPLO DE TALES TECNOLOGAS


HBRIDAS PUEDEN SER ENCONTRADAS
EN LOS DISPOSITIVOS VIRTEX-II PRO Y
VIRTEX-4 DE XILINX, LOS CUALES
INCLUYEN UNO O MS PROCESADORES
POWERPC EMBEBIDOS JUNTO CON LA
LGICA DEL FPGA.

24

Ing. Julio Gonzalez Prado

El FPSLIC de Atmel es otro dispositivo


similar, el cual usa un procesador AVR
en combinacin con la arquitectura
lgica programable de Atmel.

25

Ing. Julio Gonzalez Prado

OTRA ALTERNATIVA ES HACER USO DE


NCLEOS
DE
PROCESADORES
IMPLEMENTADOS HACIENDO USO DE LA
LGICA DEL FPGA. ESOS NCLEOS
INCLUYEN
LOS
PROCESADORES
MICROBLAZE Y PICOBLAZE DE XLINX,
NIOS Y NIOS II DE ALTERA, Y LOS
PROCESADORES DE CDIGO ABIERTO
LATTICEMICRO32 Y LATTICEMICRO8.
26

Ing. Julio Gonzalez Prado

MUCHOS FPGA MODERNOS SOPORTAN


LA RECONFIGURACIN PARCIAL DEL
SISTEMA, PERMITIENDO QUE UNA
PARTE
DEL
DISEO
SEA
REPROGRAMADA,
MIENTRAS
LAS
DEMS PARTES SIGUEN FUNCIONANDO.
ESTE ES EL PRINCIPIO DE LA IDEA DE
LA COMPUTACIN RECONFIGURABLE,
O LOS SISTEMAS RECONFIGURABLES.
27

Ing. Julio Gonzalez Prado

LA FPGA TIENE CELDAS


CONFIGURAN CON UNA
ESPECFICA YA SEA COMO
(FLIP-FLOP
TIPO
D),
MULTIPLEXOR O CON UNA
LGICA TIPO AND, OR, XOR.

QUE SE
FUNCIN
MEMORIA
COMO
FUNCIN

28

Ing. Julio Gonzalez Prado

LA TAREA DEL "PROGRAMADOR" ES


DEFINIR LA FUNCIN LGICA QUE
REALIZAR CADA UNO DE LOS CLB,
SELECCIONAR EL MODO DE TRABAJO
DE CADA IOB E INTERCONECTARLOS.

29

Ing. Julio Gonzalez Prado

EL DISEADOR CUENTA CON LA AYUDA


DE
ENTORNOS DE DESARROLLO
ESPECIALIZADOS EN EL DISEO DE
SISTEMAS A IMPLEMENTARSE EN UN
FPGA.
UN
DISEO
PUEDE
SER
CAPTURADO
YA
SEA
COMO
ESQUEMTICO, O HACIENDO USO DE
UN
LENGUAJE DE PROGRAMACIN
ESPECIAL
30

Ing. Julio Gonzalez Prado

ESTOS LENGUAJES DE PROGRAMACIN


ESPECIALES SON CONOCIDOS COMO HDL
O HARDWARE DESCRIPTION LANGUAGE
(LENGUAJES
DE
DESCRIPCIN
DE
HARDWARE). LOS HDLS MS UTILIZADOS
SON:
VHDL
Verilog
ABEL
31

Ing. Julio Gonzalez Prado

EN UN INTENTO DE REDUCIR LA
COMPLEJIDAD
Y
EL
TIEMPO
DE
DESARROLLO
EN
FASES
DE
PROTOTIPAJE RPIDO, Y PARA VALIDAR
UN DISEO EN HDL, EXISTEN VARIAS
PROPUESTAS
Y
NIVELES
DE
ABSTRACCIN DEL DISEO

32

Ing. Julio Gonzalez Prado

LOS
NIVELES
DE
ABSTRACCIN
SUPERIOR SON LOS FUNCIONALES Y
LOS
NIVELES
DE
ABSTRACCIN
INFERIOR SON LOS DE DISEO AL NIVEL
DE
COMPONENTES
HARDWARE
BSICOS. ENTRE OTRAS, NATIONAL
INSTRUMENTS LABVIEW FPGA PROPONE
UN ACERCAMIENTO DE PROGRAMACIN
GRFICA DE ALTO NIVEL.
33

Ing. Julio Gonzalez Prado

CUALQUIER CIRCUITO DE APLICACIN


ESPECFICA PUEDE SER IMPLEMENTADO
EN UN FPGA, SIEMPRE Y CUANDO ESTA
DISPONGA
DE
LOS
RECURSOS
NECESARIOS.

34

Ing. Julio Gonzalez Prado

LAS
APLICACIONES
DONDE
MS
COMNMENTE SE UTILIZAN LOS FPGA
INCLUYEN A LOS DSP (PROCESAMIENTO
DIGITAL DE SEALES), RADIO DEFINIDO POR
SOFTWARE, SISTEMAS AEROESPACIALES Y DE
DEFENSA, PROTOTIPOS DE ASICS, SISTEMAS
DE IMGENES PARA MEDICINA, SISTEMAS DE
VISIN
PARA
COMPUTADORAS,
RECONOCIMIENTO DE VOZ, BIOINFORMTICA,
EMULACIN
DE
HARDWARE
DE
COMPUTADORA, ENTRE OTRAS.
35

Ing. Julio Gonzalez Prado

CABE NOTAR QUE SU USO EN OTRAS


REAS ES CADA VEZ MAYOR, SOBRE
TODO EN AQUELLAS APLICACIONES
QUE REQUIEREN UN ALTO GRADO DE
PARALELISMO.

36

Ing. Julio Gonzalez Prado

VOLTILES: BASADAS EN RAM. SU


PROGRAMACIN SE PIERDE AL QUITAR
LA ALIMENTACIN. REQUIEREN UNA
MEMORIA EXTERNA NO VOLTIL PARA
CONFIGURARLAS AL ARRANCAR (ANTES
O DURANTE EL RESET).

37

Ing. Julio Gonzalez Prado

NO VOLTILES: BASADAS EN ROM. HAY


DE DOS TIPOS, LAS REPROGRAMABLES
Y LAS NO REPROGRAMABLES.

38

Ing. Julio Gonzalez Prado

REPROGRAMABLES:
BASADAS
EN
EPROM O FLASH. STAS SE PUEDEN
BORRAR Y VOLVER A REPROGRAMAR
AUNQUE CON UN LMITE DE UNOS
10.000 CICLOS.
NO REPROGRAMABLES: BASADAS EN
FUSIBLES O ANTIFUSIBLES. SOLO SE
PUEDEN PROGRAMAR UNA VEZ, LO QUE
LAS HACE POCO RECOMENDABLES
PARA TRABAJOS EN LABORATORIOS.
39

Ing. Julio Gonzalez Prado

40

Ing. Julio Gonzalez Prado

DESDE PRINCIPIOS DE 2007, HAY DOS


GRANDES PRODUCTORES DE FPGA DE
PROPSITO GENERAL, ADEMS DE UN
CONJUNTO DE OTROS COMPETIDORES
QUIENES SE DIFERENCIAN POR OFRECER
DISPOSITIVOS CON CARACTERSTICAS
NICAS.
XILINX ES UNO DE LOS DOS GRANDES
LDERES EN LA FABRICACIN DE FPGA.
ALTERA ES EL OTRO GRAN LDER.
41

Ing. Julio Gonzalez Prado

LATTICE SEMICONDUCTOR LANZ AL


MERCADO DISPOSITIVOS FPGA CON
TECNOLOGA DE 90NM. ADEMS,
LATTICE ES UN PROVEEDOR LDER EN
TECNOLOGA
NO
VOLTIL,
FPGA
BASADAS EN TECNOLOGA FLASH, CON
PRODUCTOS DE 90NM Y 130NM.

42

Ing. Julio Gonzalez Prado

ACTEL TIENE FPGAS BASADOS EN


TECNOLOGA FLASH REPROGRAMMABLE.
TAMBIN OFRECE FPGAS QUE INCLUYEN
MEZCLADORES DE SEALES BASADOS
EN FLASH.
QUICKLOGIC
TIENE
PRODUCTOS
BASADOS
EN
ANTIFUSIBLES
(PROGRAMABLES UNA SOLA VEZ).
43

Ing. Julio Gonzalez Prado

ATMEL ES UNO DE LOS FABRICANTES


CUYOS
PRODUCTOS
SON
RECONFIGURABLES (EL XILINX XC62XX
FUE UNO DE ESTOS, PERO NO ESTN
SIENDO
FABRICADOS
ACTUALMENTE).
ELLOS SE ENFOCARON EN PROVEER
MICROCONTROLADORES AVR CON FPGAS,
TODO EN EL MISMO ENCAPSULADO.
44

Ing. Julio Gonzalez Prado

ACHRONIX SEMICONDUCTOR A TRAVS


DE TECNOLOGA DE INTEL DE 22 NM,
SU CATLOGO INCLUYE DISPOSITIVOS
FPGA DE HASTA 1.5 GHZ

45

Ing. Julio Gonzalez Prado

46

Ing. Julio Gonzalez Prado

47

Ing. Julio Gonzalez Prado

48

Ing. Julio Gonzalez Prado

49

Ing. Julio Gonzalez Prado

50

Você também pode gostar