Вы находитесь на странице: 1из 4

¿QUE ES UNA FPGA?

INTRODUCCION
 Una FPGA o matriz de puertas programables (del inglés field-programmable
gate array) es un dispositivo programable que contiene bloques de lógica cuya
interconexión y funcionalidad puede ser configurada en el momento mediante un
lenguaje de descripción especializado. La lógica programable puede reproducir
desde funciones tan sencillas como las llevadas a cabo por una puerta lógica o
un sistema combinacional hasta complejos sistemas en un chip.
 Las FPGA se utilizan en aplicaciones similares a los ASIC sin embargo son más
lentas, tienen un mayor consumo de energía y no pueden abarcar sistemas tan
complejos como ellos. A pesar de esto, las FPGA tienen las ventajas de ser
reprogramables (lo que añade una enorme flexibilidad al flujo de diseño), sus
costes de desarrollo y adquisición son mucho menores para pequeñas
cantidades de dispositivos y el tiempo de desarrollo es también menor.
 Ciertos fabricantes cuentan con FPGA que sólo se pueden programar una vez,
por lo que sus ventajas e inconvenientes se encuentran a medio camino entre
los ASIC y las FPGA reprogramables.
FPGA FRENTE CPLD
 Tanto los CPLD como las FPGA contienen un
gran número de elementos lógicos
programables. Si medimos la densidad de los
elementos lógicos programables en puertas
lógicas equivalentes (número de puertas
NAND equivalentes que podríamos
programar en un dispositivo) podríamos decir
que en un CPLD hallaríamos del orden de
decenas de miles de puertas lógicas
equivalentes y en una FPGA del orden de
cientos de miles hasta millones de ellas.
 Aparte de las diferencias en densidad entre ambos tipos de dispositivos, la
diferencia fundamental entre las FPGA y los CPLD es su arquitectura. La
arquitectura de los CPLD es más rígida y consiste en una o más sumas de
productos programables cuyos resultados van a parar a un número reducido de
biestables síncronos (también denominados flip-flops). La arquitectura de las
FPGA, por otro lado, se basa en un gran número de pequeños bloques utilizados
para reproducir sencillas operaciones lógicas, que cuentan a su vez con
biestables síncronos. La enorme libertad disponible en la interconexión de
dichos bloques confiere a las FPGA una gran flexibilidad.
 Otra diferencia importante entre FPGA y CPLD es que en la mayoría de las
FPGA se pueden encontrar funciones de altos niveles (como sumadores y
multiplicadores) embebidas en la propia matriz de interconexiones, así como
bloques de memoria.
CARACTERISTICAS
 Una jerarquía de interconexiones programables permite a los bloques lógicos de
un FPGA ser interconectados según la necesidad del diseñador del sistema,
algo parecido a una placa de inserción (es una placa de uso genérico reutilizable
o semipermanente) programable. Estos bloques lógicos e interconexiones
pueden ser programados después del proceso de manufactura por el
usuario/diseñador, así que la FPGA puede desempeñar cualquier función lógica
necesaria.
 Una tendencia reciente ha sido combinar los bloques lógicos e interconexiones
de las FPGA con microprocesadores y periféricos relacionados para formar un
sistema programable en un chip.
 Muchas FPGA modernos soportan la reconfiguración parcial del sistema,
permitiendo que una parte del diseño sea reprogramada, mientras las demás
partes siguen funcionando. Este es el principio de la idea de la computación
reconfigurable, o los sistemas reconfigurables.
SU PROGRAMACION
 En la FPGA no se realiza programación tal cual como se realiza en otros
dispositivos como DSP, CPLD o microcontroladores. La FPGA tiene celdas que
se configuran con una función específica ya sea como memoria (FLIP-FLOP tipo
D), como multiplexor o con una función lógica tipo AND, OR, XOR. La labor del
programador es describir el hardware que tendrá la FPGA. Por consiguiente, la
tarea del programador es definir la función lógica que realizará cada uno de los
CLB, seleccionar el modo de trabajo de cada IOB e interconectarlos.
 El diseñador cuenta con la ayuda de entornos de desarrollo especializados en el
diseño de sistemas a implementarse en una FPGA. Un diseño puede ser
capturado ya sea como esquemático, o haciendo uso de un lenguaje de
programación especial. Estos lenguajes de programación especiales son
conocidos como HDL o lenguajes de descripción de hardware. Los HDL más
utilizados son:
o VHDL
o Verilog
o ABEL
 En un intento de reducir la complejidad y el tiempo de desarrollo en fases de
prototipaje rápido, y para validar un diseño en HDL, existen varias propuestas y
niveles de abstracción del diseño. Los niveles de abstracción superior son los
funcionales y los niveles de abstracción inferior son los de diseño al nivel de
componentes hardware básicos. Entre otras, National Instruments LabVIEW
FPGA propone un acercamiento de programación gráfica de alto nivel.
APLICACIONES
Cualquier circuito de aplicación específica puede ser implementado en una FPGA,
siempre y cuando esta disponga de los recursos necesarios. Las aplicaciones donde
más comúnmente se utilizan las FPGA incluyen a los DSP (procesamiento digital de
señales), radio definido por software, sistemas aeroespaciales y de defensa, prototipos
de ASIC, sistemas de imágenes para medicina, sistemas de visión para computadoras,
reconocimiento de voz, bioinformática, emulación de hardware de computadora, entre
otras. Cabe notar que su uso en otras áreas es cada vez mayor, sobre todo en aquellas
aplicaciones que requieren un alto grado de paralelismo.

Dispositivos lógicos programables (PLD)


 Un PLD (Programmable Logic Device, Dispositivo lógico programable) es un
componente electrónico empleado para la fabricación de circuitos digitales. A
diferencia de las puertas lógicas un PLD tiene una función indefinida. Antes de
que un PLD pueda ser usado en un circuito este puede ser programado.
 Un PLD está formado por una matriz de compuertas AND y puertas OR, que se
pueden programar para conseguir funciones lógicas especificas. Existen cuatro
tipos de dispositivos que se clasifican como PLD.
o PROM (Programmable Read Only Memory). Memoria programable de
sólo lectura.
o PLA (Programmable Logic Array). Matriz lógica programable.
o PAL (Programmable Array Logic). Matriz lógica programable.
o GAL (Generic Array Logic). Matriz lógica generica.
 Todos los PLD están formados por matrices programables. Esencialmente, una
matriz programable es una red de conductores distribuidos en filas y columnas
con un fusible en cada punto de intesección. Las matrices pueden ser fijas o
programables.
o Matriz OR. Esta formada por una serie de puertas OR conectadas a una
matriz programable con fusibles en cada punto de intersección de una
columna y una fila. La matriz se programa fundiendo los fusibles para
eliminar las variables seleccionadas de las funciones de salida para un
caso especifico. Para cada una de las entradas de una puerta OR sólo
queda intacto un fusible que conecta la variable deseada en la entrada de
la puerta. Una vez que el fusible esta fundido, no se puede volver a
conectar.
o Matriz AND. Este tipo de matriz esta formado por puertas AND
conectadas a una matriz programable con fusibles en cada punto de
intersección. al igual que la matriz OR la matriz AND se programa
fundiendo los fusibles para eliminar las variables de la función salida.
Para cada entrada de una puerta AND sólo queda intacto un fusible que
conecta la variable deseada a la entrada de la puerta. Como para la
matriz OR la matriz AND con fusibles se puede programar una única vez.

 El trabajo con PLDs proporciona: facilidad de diseño, prestaciones, fiabilidad,


economía y seguridad.
o Facilidad de diseño. Las herramientas de soporte al diseño con PLDs
facilitan enormemente este proceso. Estas nuevas herramientas permiten
expresar la lógica de los circuitos utilizando formas variadas de entrada
tales como; ecuaciones, tablas de verdad, procedimientos para máquinas
de estados, esquemas, etc. La simulación digital posibilita la depuración
de los diseños antes de la programación de los dispositivos. Todo el
equipo de diseño se reduce a un software de bajo coste que corre en un
PC, y a un programador.
o Prestaciones. Los PLDs TTL que hay en el mercado tienen tiempos de
conmutación tan rápidos como los circuitos integrados de función fija más
veloces. Los PLDs ECL son todavía más rápidos. Sin embargo, el
incremento de velocidad obtenido con los dispositivos CMOS, que ya han
igualado o superado en prestaciones a los dispositivos TTL, está
provocando el abandono de la tecnología bipolar por parte de los
fabricantes. En cuanto al consumo de potencia, los PLDs generalmente
consumen menos que el conjunto de chips a los que reemplazan.
o Fiabilidad. Cuanto más complejo es un circuito, más probabilidades hay
de que alguna de sus partes falle. Puesto que los PLDs reducen el
número de chips en los sistemas, la probabilidad de un fallo disminuye.
Los circuitos impresos con menor densidad de CI son más fáciles de
construir y más fiables. Las fuentes de ruido también se reducen.
o Economía. En este apartado, hay aspectos que resultan difíciles de
cuantificar. Por ejemplo, los costes de pérdida de mercado por una
introducción tardía de un producto. Otros son más claros, por ejemplo, la
reducción del área de las placas de circuito impreso obtenida gracias a
que cada PLD sustituye a varios circuitos integrados de función fija.
Muchas veces se consigue reducir el número de placas de circuito
impreso economizándose en conectores. La reducción de artículos en
almacén también aporta ventajas económicas.
o Seguridad. Los PLDs tienen fusibles de seguridad que impiden la lectura
de los dispositivos programados, protegiendo los diseños frente a copias.
o Además de los puntos mencionados, podemos añadir que los PLDs
facilitan el ruteado de las placas de circulo impreso debido a la libertad de
asignación de patillas que proporcionan. Permiten realizar modificaciones
posteriores del diseño y en ocasiones hacen posible la reutilización de
circuitos impresos con algunos fallos, mediante una reasignación de los
PLDs

Вам также может понравиться