Documentos de Académico
Documentos de Profesional
Documentos de Cultura
No es secuencial
Necesita una noción explicita del tiempo
Un lenguaje normal se usa para crear software, con HDL, se diseña hardware
VHDL
VHDL proporciona tres métodos básicos para describir un circuito digital por
software:
• Comportamental
• Flujo de datos
• Estructural
Elementos fundamentales en cualquier programa VHDL
• Entidad: Describe una determinada función lógica en función de sus entradas externas y
sus salidas, denominadas puertos.
• Arquitectura: Describe la operación interna de la función lógica.
Ejemplo de un programa VHDL para una
puerta AND de 2 entradas
Desventajas
• Cada fabricante diseña su forma de hacer síntesis sobre las FPGAs, su forma de configurar es cerrada
• No se programan, se configuran con un HDL, lo cual no es la programación normal a la que estamos
acostumbrados
• Tiene un costo elevado
Composición
La arquitectura a diferencia de Gpu, Cpu y microcontroladores, FPGA contiene una cantidad de
bloques lógicos configurables(CLB), interconectables (INT), matrices de conmutación(SM) y
entradas y salidas(I/O)
“Las FPGAs son el equivalente a las impresoras 3D para los circuitos digitales”
Ventajas
Son reprogramables
Los costes de desarrollo y adquisición son mucho menores
El tiempo de diseño y manufacturación es menor
Nota: actualmente existen FPGAs lo suficientemente grandes para contener sistemas complejos, la
velocidad de recursos de interconexión ha aumentado exponencialmente y se ha reducido su
consumo energético sobre todo para FPGAs destinadas especialmente a dispositivos de bajo
consumo
Programación
En un FPGA no se realiza programación tal cual como se
realiza en otros dispositivos como DSP, CPLD o Se hace uso de lenguajes de programación
microcontroladores especial conocidos como HDL, los mas
utilizados son:
Los FPGA tienen celdas que se configuran como una • VHDL
función especifica ya sea memoria (FLIP-FLOP tipo D), • Verilog
como multiplexor o con una función lógica tipo AND, OR, • ABEL
XOR.
• Aeroespacial.
• Audio.
• Automotriz.
• Broadcast.
• Electrónica.
• Centros de datos.
• Computación de alto rendimiento.
• Industrial y médica.
COMPARATIVA CON PROCESADORES DE PROPOSITO
GENERAL
Un procesador es un dispositivo complejo con un conjunto fijo de instrucciones. Cada una de ellas
está asociada a un hardware conectado de forma fija, y el programador no puede usar más
instrucciones que las definidas y configuradas por el fabricante. Por otra parte, la FPGA no tiene
nada conectado de forma fija, sino que está compuesta por una red con conexiones que el usuario
puede unir o romper, y que determinan el comportamiento lógico del dispositivo.
Al programar un microprocesador se agrupa una serie de instrucciones para su ejecución secuencial
o en serie. Por otra parte, cuando describimos lógica digital para un FPGA, el circuito resultante
contendrá múltiples señales que variaran al mismo tiempo, en una especie de ejecución paralela
Se suele decir que un procesador está limitado en tiempo o ciclos de reloj. Si queremos realizar
más trabajo, esto se traduce en más ciclos de reloj, es decir, más tiempo. Sin embargo, una FPGA
puede ejecutar múltiples tareas simultáneamente, pero en ese caso está limitada por espacio
BREVE HISTORIA DEL FPGA
AMD estaría muy cerca de comprar Xilinx por la suma de hasta 30.000 millones de
dólares.
Posibles motivos:
AMD no tiene básicamente ninguna presencia en el mercado más allá de las CPU x86
y las tarjetas gráficas, y comprar una compañía económicamente saludable como
Xilinx le vendría bien
La posibilidad de competir con Intel en este segmento. El gigante azul compró Altera
en 2015, que es el mayor competidor de Xilinx en FPGA
¿Que le aporta la compra de Xilinx a AMD?
Antes de nada, hemos de entender lo que es el concepto de acelerador: son co-procesadores que
se dedican a hacer tareas específicas dentro de un procesador, pero las hacen utilizando un área
del chip mucho más pequeña que un procesador completo y con un consumo muy pequeño, se
basan en tres premisas:
• Ocupa una porción muy pequeña en comparación con el núcleo de una CPU u otro tipo de
procesador complejo.
• Realiza su trabajo con una porción minúscula de la energía en comparación a si lo hiciera una CPU
u otro tipo de procesador complejo.
• Puede trabajar en paralelo al procesador principal al que sirven como apoyo, liberando con ello
parte del trabajo y el tiempo del procesador que están acelerando.
Ventajas FPGA en aceleradores
El concepto de NoC es algo que que se empieza a oir y leer mucho. NoC significa
red en un chip ya que son las siglas de Network on a Chip. La idea es llevar el
concepto de las redes locales a los procesadores y dejar de utilizar matrices de
interconexión para comunicar los diferentes elementos dentro de un SoC o un
MCM.
La idea es que a cada elemento independiente de la arquitectura se le coloque un
transceptor o router, como si se le colocase un adaptador de red a cada uno.
En lugar de tener una matriz central en la que los elementos esten interconectados
entre si, lo que tenemos es que cada elemento del sistema tiene su transceptor, el
cual solo ha de marcar el numero de otro elemento de la infraestructura para
comunicarse con el
Un ejemplo de NoC ya nos lo mostro NVIDIA con el chip experimental RC-18
Pero en todo esto, ¿dónde entra en juego
un FPGA?
Pues en toda red necesitamos un controlador de red integrado conocido como NIC(network
interface card), y es en este punto donde la implementación de un FPGA tiene todo el sentido,
para poder implementar lo que tradicionalmente se conoce como un SmartNIC.
La idea sería implementar el SmartNIC en un FPGA, lo que nos permite integrar un
controlador de red con extras como por ejemplo un acelerador encargado comprimir y
descomprimir al vuelo los datos que se envíen de un procesador a otro, o desde la memoria a
un procesador.
Es con el advenimiento de los NoC, el interés de la industria en adoptarlos en
futuros productos incluyendo a AMD y el porfolio en comunicaciones que tiene
Xilinx cuando vemos todo el puzle completo y podemos ver el sentido al interés
de AMD por comprar Xilinx, y no solo de cara a implementar aceleradores vía
FPGA, sino también de cara al mercado de la inteligencia artificial y para el
desarrollo de SmartNICs para los NoC alrededor de los cuales girarán futuros
diseños, los cuales en poco tiempo ya no nos parecerán tan futuros.
¿Y por qué parece que últimamente las FPGAs han ganado peso en los
medios de comunicación cuando se trata de un dispositivo que lleva
existiendo desde los años 80?