Está en la página 1de 26

Dispositivos FPGA & Flujo de Diseo

Que son las FPGAs?


Field programmable gate arrays (FPGAs) son circuitos integrados digitales que contienen bloques lgicos programables junto con interconexiones configurables entre dichos bloques. Los ingenieros pueden programar estos dispositivos para realizar una gran variedad de tareas.

Vistazo a una FPGA


Configurable Logic Blocks I/O Blocks Block RAMs
Block RAMs Block RAMs

Para qu se usan las FPGA


1.
Digital Signal Processing: las FPGAs actuales contienen bloques embebidos de multiplicadores, ruteo dedicado para clculos aritmticos, onchip RAM. Todo esto facilita las operaciones de procesamiento digital de seales, con la ventaja del paralelismo masivo que proveen las FPGA. Embedded microcontrollers: An las FPGAs mas pequeas tienen la suficiente capacidad para implementar un soft procesor combinado con una seleccin propia de funciones de I/O. Physical layer communications: Las FPGAs han sido usadas desde el principio para implementar glue logic que haga de interface entre los chips de physical layer communication y los higlevel networking protocol layers. Ahora las FPGAs pueden contener multiples high-speed tranceivers de forma tal que las funciones de comunicacin y de networking pedens er consolidadas en un nico dispositivo.

2. 3.

4.

Reconfigurable computing: Explota las capacidades de reconfiguracion y paralelismo de las FPGA para acelerar por hardware algoritmos de software tales como aldoritmos de criptografa

Los orgenes de las FPGAs

PROM

Primero aparecieron los PLD (programable logic devices). Los primeros pld que existieron fueron los PROMs. Los PROMs consistan en un array fijo de AND que terminaban en un array programable de funciones OR.

PLA

Para superar las limitaciones de los PROMS, aparecieron las PLA que tenian ambos arrays (AND y OR) programables. Otra diferencia con los anteriores es que el nmero de funciones AND en el array de ANDs es independiente del numero de entradas, AND adicionales se pueden agregar introduciendo mas filas en el array. La gran desventaja que tenan las PLA es que eran mucho mas lentas que las PROMs.

PAL

PALs and GALs


Para solucionar el problema de velocidad de las PLA, surgi una nueva clase de dispositivo llamado PAL (programmable array logic). Conceptualmente una PAL es lo opuesto a una PROM, porque tiene programable el array de AND y predefinido el array de OR. La ventaja de las PALs es que eran

CPLD (Complex PLD)

Un CPLD contiene un cierto nmero de bloques PLD que comparten una matriz comn de interconexiones programables. Adems de poder programar los PLD, tambin se pueden programar las interconexiones entre ellos.

ASIC (Application Specific Integrated Circuits)

Gate Array ASIC

ASIC estructurados

Comparacin entre ASIC y FPGA


ASIC FPGA

High performance Low power Low cost in high volumes

Off-the-shelf Low development cost Short time to market Reconfigurability

FPGAs: Caractersticas Bsicas


Elementos lgicos: todas las FPGA se basan en arrays de pequeos elementos de lgica digital. Para usar un determinado dispositivo, los problemas de lgica digital deben ser descompuesto en circuitos lgicos que puedan ser mapeados a uno o mas de estas celdas lgicas a travs de un proceso llamado technology mapping

FPGAs: Caractersticas Bsicas 2


Lookup tables: los elementos lgicos de una FPGA estn compuestos de al menos un registro programable (flip-flop) y alguna lgica de entrada, que usualmente estas implementada como una lookup table de n entradas donde n es 5 o menos. Estas LUTS son capaces de implementar cualquier funcin combinacional de sus entradas

FPGAs: Caractersticas Bsicas 3


Recursos de Memoria: las FPGAs actuales incorporan on-chip memory tales como SRAM. Estas memorias pueden ser accedidas en forma jerrquica, tal como la memoria local de cada celda y la memoria global de los bloques compartidos de memoria. Configurable I/O: Las FPGAs tienen pines TTL, CMOS, PCI, LVDS, y muchos otros que lse permiten hacer de interface, y convertir muchas tecnologas diferentes. Las FPGAs tienen I/O dedicados para clocks y global resets, y tambin incluyen PLL y esquemas de managment de clock permitiendo multiples clock domains.

FPGAs: Caractersticas Bsicas 4


Routing Resources: El ruteo es la clave de la flexibilidad de las FPGA. El ruteo tpicamente incluye una jerarqua de canales que van desde high-speed, cross-chip long lines a locales conexiones flexibles entre bloques. Switches programables conectan los distintos recursos de las FPGAs

Tecnologas de Programacin

Comparacin entre las tecnologas de Progamacin

MUX-based versus LUT-based logic blocks


Hay dos clases fundamentales de bloques lgicos utilizados en las arquitecturas de las FPGA y son: MUX (multiplexer) based y LUT (lookup table) based

MUX-based
funcin y = (a AND b) OR c Esta funcin puede ser implementada usando un bloque que solo contenga multiplexores. El dispositivo puede ser programado para que cada entrada es presentada como 0, o 1 o la versin normal o invertida de la seal (a,b, o c) proveniente de otro bloque o de la entrada

LUT-Based

Compilacin de un circuito
1. Technology Mapping
LUT

2. Placement
LU T

3. Routing

Software para programar FPGA

Xilinx: ISE Design http://www.xilinx.com/support/download/inde Altera: Quartus II http://www.altera.com/products/softwa re/quartus-ii/subscription-edition/qtsse-index.html

Vendedores de FPGA
SRAM-based FPGAs Xilinx, Inc. Altera Corp. Atmel Lattice Semiconductor Flash & antifuse FPGAs Actel Corp. Quick Logic Corp

Tarea
Buscar la hoja de datos de la FPGA Spartan 3E del sitio de Xilinx

También podría gustarte