Que es una FPGA? Las FPGA`s \(Field Programmable Gate Array

Anuncio
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 - [email protected]
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
Spartan IIE
Virtex E
Virtex E
Virtex II
Virtex II
XC2S15
XC2S150E
XCV50E
XCV3200E
XC2V40
XC2V8000
15.000*
150.000
72.000
4’047.000
40.000
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
Descargar