Download Diapositiva 1

Document related concepts
no text concepts found
Transcript
Introducción a FPGA
Ing. Diego Barragán Guerrero
http://www.matpic.com
¿Qué es una FPGA?
 Siglas de Field Programmable Gate Array.
 Es un dispositivo reprogramable, que permite implementar
diversos circuitos digitales en él.
 Basadas generalmente en memorias RAM.
Por qué usar las FPGA?
 Hay aplicaciones en las cuales usar un microcontrolador
no es suficiente, o usar una FPGA posee costos
comparables (por ejemplo, codificar y decodificar en
MPEG).
 Actualmente hay modelos que incluyen elementos
adicionales en el mismo chip.
 La Virtex 4 de Xilinx posee uno o más PowerPC embebidos en
el chip.
Tipos de dispositivos
 FPGA – Field Programable Gate Array.
 „GPP – General purpose processors.
 „DSP – Digital Signal Processor.
 „ASIC – Application Specific IntegratedCircuit. Integrated.
Comparación entre dispositivos
Desempeño
Costo
Potencia
Flexibilidad
Esfuerzo
de diseño
ASIC
Alto
Alto
Baja
Bajo
Alto
DSP
Medio
Medio
Media
Medio
Medio
GPP
Bajo
Bajo
Media
Alta
Bajo
FPGA
Medio
Medio
Alta
Alta
Medio
Ventajas de las FPGA
 Son dispositivos reconfigurables.
 Bajo costo respecto a los ASIC.
 Los circuitos se “ejecutan” más rápido que en otros
dispositivos reprogramables.
 Al ser circuitos digitales, la “ejecución” de cada bloque es en
paralelo, no así en un microcontrolador.
 Son útiles para realizar prototipos que luego serán llevados a
ASIC si es necesario.
Desventajas de las FPGA
 Al estar basadas en RAM, pierden su configuración al
suprimir la energía (hay soluciones a ello).
 Poseen retardos de propagación mayores a los existentes
en ASIC o standard cells.
 Un procesador de alta velocidad (~GHz) se ejecuta mucho más
rápido en ASIC que en una FPGA.
Fabricantes de FPGAs
 Xilinx.
 Altera.
 Atmel.
 Actel.
 Lattice Semiconductor.
 Cypress Semiconductor.
 Achronix Semiconductor.
 QuickLogic .
Arquitectura de una FPGA
 Una FPGA posee al menos 3 bloques:
 CLB: Configurable-logic blocks, donde se implementan los
circuitos lógicos.
 IOB: Input-output block, donde se conectan las configuraciones
internas con pines de entrada y salida.
 DCM: Digital Clock Managers, permiten entregar señales de
reloj a toda la FPGA.
Arquitectura de una FPGA
Slice
 El elemento esencial es el slice. En él se pueden implementar tanto
circuitos combinacionales como secuenciales.
 Una slice es la base de las CLB.
 En esencia es un bloque de look-up tables enlazadas con una salida
que puede ser registrada (flip-flop) o directa, pudiendo
implementarse diversas funciones lógicas.
Look up Table
 Lógica combinatoria está almacenada
em LUTs.
 Conocida también como Generadora de
funciones.
 Capacidad limitada por el número de
entradas e no por la complexidad.
 El atraso a través de uma LUT es constante.
RAM distribuída
 LUTs son también utilizadas como
memorias.
 Flexibilidad: RAM, ROM, o shift
register.
 Rápido tiempo de acceso.
 Aplicaciones:





Shift register.
Aritmética distribuida.
Registradores.
Pequeñas FIFO.
Líneas de atraso.
Unidades de multiplicación
 Multiplicadores embarcados de 18 x
18 bit.
 Cantidad varía dependiendo de la
FPGA:
 Virtex II: hasta 168
 Virtex II pro: hasta 556
 Spartan 3E: hasta 20
 Operaciones em complemento de 2
com signo.
 Operandos de 4 a 18 bits.
Herramientas de programación
 VHDL (ANSI/IEEE 1076-1993)
 Verilog (IEEE 1364-1995)
 SystemC (IEEE 1666-2005)
 System Generator (Xilinx)
 DSP Builder (Altera)
VHDL
Verilog
SystemC
System Generator (Xilinx)
DSP Builder (Altera)
Referencias:
 Volnei A. Pedroni. 2004. Circuit Design with VHDL. MIT
Press, Cambridge, MA, USA.
 Maxinez, D.G., Alcalá, J. 2003. VHDL: el arte de programar
sistemas digitales. Compañía Editorial Continental.