Está en la página 1de 32

Que es una FPGA?

Las FPGA’s (Field Programmable Gate Array)


Son dispositivos lógicos de propósito general
programable por los usuarios, compuesto de
bloques lógicos comunicados por conexiones
programables.

El tamaño, estructura, número de bloques y


la cantidad y conectividad de las conexiones
varian en las distintas arquitecturas.

Microelectrónica - Universidad Francisco de Paula Santander


Ing. Gabriel Sánchez Suárez - gabrielsanchezsuarez@hotmail.com
Es un circuito integrado que contienen celdas
lógicas idénticas (64 hasta 8’000.000) que se
puede ver como componentes estándar

Las celdas lógicas se interconectan por medio de


una matriz de cables y switches programables
* Estructura : arreglo bidimensional de bloques
lógicos rodeados por conexiones configurables.
Una familia contiene idénticos bloques lógicos y
conexiones , pero difieren en el tamaño del arreglo.

* Tecnología de programación : se programa por la


carga de celdas de memoria de configuración, que
controlan la lógica e interconexiones.

* Características : volatilidad, no volatilidad,


memoria externa, reprogramabilidad, proceso de
fabricación estándar y bajo consumo.
FPGAs diponibles en el mercado
Por las formas de programación: Static RAM,
Antifusibles y (E)EPROM
Estructura de una FPGA (Familia XC4000 Xilinx)

„ Organización por CLBs


„ Rutas de interconexión
programables
„ Bloques de Entrada y
Salida
„ Bloques de RAM
Arquitectura del dispositivo

El CHIP de la FPGA
„ Arreglo 2d de CLBs
rodeados por IOB.
„ La palabra de configuración
se carga en las celdas de
memoria de configuración
formando las funciones
lógicas en una tabla y
controlan las interconexiones
en PIPs y multiplexores.
Arquitectura del dispositivo
Bloque lógico CLB (Configurable Logic Block)

„ Contiene una tabla de n


entradas
„ Esta rodeado por canales del
cableado (varios segmentos)
„ La salida del CLB es
conectada a segmentos
cableados usando PIPs
„ Si el bloque no se usa, todos
los PIPs se desonectan y el
bloque no genera señal a
ningún segmento, y el
segmento puede ser usado
para otras señales.
Un bloque esta formado por:

* Implementa lógica combinacional 2n por cada


celda de memoria. Usando n entradas 2^2n.

* Se programa cargando el patrón de bits de la


tabla de verdad de la función.

* Las entradas no usadas se mantienen a nivel


bajo o se duplica la lógica.

* Punto de Interconexión Programables (PIP)

*Multiplexores
¿Qué hace una celda lógica?
„ Su arquitectura varia entre
familias de dispositivos
„ Cada una combina entradas
binarias a una o dos salidas
„ En la mayoría de las familias,
el usuario puede colocar un
registro a la salida de una
celda, para implementar
lógica secuencial
„ La lógica combinacional de las
celdas se puede implementar
físicamente como una
pequeña memoria (LUT) o
como un conjunto de
multiplexore y compuertas
Cómo se crean los programas para FPGAs?

„ Hay software especial para


definir las conexiones de os
switches y las funciones de las
celdas lógicas.
„ El software traduce diagramas
esquemáticos del usuario o
código de lenguaje de
descripción de hardware, y
luego valida el diseño traducido
„ El software permite al usuario
influenciar una implementación
y validarla para obtener mayor
eficiencia y utilización del
dispositivo
Herramientas de diseño

„ Lenguajes: VHDL, Verilog, HandelC


„ Ambientes integrados: Xilinx ISE, Max Plus,
Libero
„ Simuladores: Active HDL, ModelSim
„ Síntesis: Synopsis FPGA Compiler, Synplicity,
Leonardo
Densidades de algunas FPGAs

„ Spartan II XC2S15 15.000*


„ Spartan IIE XC2S150E 150.000
„ Virtex E XCV50E 72.000
„ Virtex E XCV3200E 4’047.000
„ Virtex II XC2V40 40.000
„ Virtex II XC2V8000 8’000.000
Costos del algunas FPGAs

„ Varían entre 1 y 8.000 dólares


„ Spartan 2000 compuertas 1 dólar
„ Spartan 40.000 compuertas 20 dólares
„ Virtex 300.000 compuertas 300 dólares
„ Virtex II Pro 8 millones de compuertas
8000 dólares