Está en la página 1de 33

VHDL Y FPGA

CURSO: ELECTRÓNICOS III


NOMBRE: MÁRQUEZ VARGAS STING GIANNI
DOCENTE: ING. MESTAS RAMOS SERGIO
Lenguaje HDL
 Los lenguajes de descripción hardware (HDL, hardware description language) son herramientas que
permiten introducir los diseños lógicos, utilizando texto, que se emplean para implementar circuitos
lógicos en dispositivos lógicos programables.

Diferencias entre HDL y lenguajes normales

 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: VHSIC HDL


 HDL: Hardware Description Language
 VHSIC: Very High Speed Integrated Circuits

Es un lenguaje de descripción de hardware, no de programación aunque su forma de uso se asemeje,


para sacarle el máximo partido posible exige un gran esfuerzo y tener experiencia.
Ofrece ventajas siendo la mas significativa que utilizando este lenguaje es posible tanto describir
como simular el sistema
Características

 Descripción a distintos niveles de abstracción

 Modular y Jerárquico: diseños hechos se pueden conectar a nuevos


diseños creando así una jerarquía

 Descripción y modelado de sistemas electrónicos digitales

 Independiente de la tecnología de destino de la materialización


 Etapa de desarrollo
a) Planteo general del sistema
b) Codificación
c) Compilación
d) Verificación
e) Simulación
 Etapa de realización
a) Síntesis
b) Ajuste y enrutamiento
c) Verificación temporal y total del circuito
Programación en 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

Un programa VHDL para una puerta AND de 2 entradas


FPGA
FPGA (Field-programmable gate array): matriz de puertas lógicas
programable en campo

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
Nos permiten describir un circuito digital usando un lenguaje
específico (los dos más comunes son VHDL y Verilog) y que, tras
cargarlo en el integrado, es creado físicamente en el chip. Su
nombre es un acrónimo inglés que significa matriz de puertas
reprogramable o Field Programmable Gate Array.
Ventajas
• Procesamiento de señales 100% en paralelo
• Velocidades muy altas
• Hardware reconfigurable

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”

Estructura interna de un FPGA


FPGA frente a ASIC
Inconvenientes
 Son mas lentas
 Consumen mayor potencia
 No pueden realizar sistemas excesivamente complejos

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.

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.
APLICACIONES
Cualquier circuito de aplicación específica puede ser implementado en una FPGA, siempre y cuando
esta disponga de los recursos necesarios.
Lo interesante de este tipo de dispositivo son sus innumerables aplicaciones en la actualidad, ya que sus
características técnicas pueden ser enfocadas a sectores como:

• 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

 Xilinx Inc. Se fundo en 1984, la compañía produjo la primera familia de


dispositivos lógicos programables por el usuario de propósito general basados en
una arquitectura de matriz. Llamó a este avance tecnológico el Logic Cell Array
(LCA), y con esto nació la familia de FPGA Xilinx XC 2000
Fabricantes actuales
 El primer fabricante de estos dispositivos fue Xilinx y los dispositivos de Xilinx
se mantienen como uno de los más populares en compañías y grupos de
investigación.

Posee las mayores familias de productos de FPGAs, incluyendo


las series Virtex (alto rendimiento), Kintex (rango medio), y
Artix (bajo costo), y la retirada Spartan (bajo costo).

Los fabricantes actuales son:


Xilinx, Altera, Lattice, Actel, QuickLogic, Atmel, Achronix,
MathStar, Tabula
Los FPGA son cada vez más completos y
complejos
 El siguiente punto principal es la integración, ya que hoy en día un FPGA puede
incluir RAM, procesadores, motores DSP y un sin fin de sistemas individuales
para una misma matriz. Cada año van aumentando en complejidad, donde podrían
llegar a rivalizar con un sistema básico en cuanto a complejidad y potencia bruta.
 Como vemos, los FPGA tienen muchas opciones de ser cada vez más famosos en
la industria, donde como hemos comentado Intel está apostando fuerte sobre todo
en centros de datos e IA.
FPGA para 5G: Hardware reconfigurable para la comunicación
de próxima generación

 La comunicación de próxima generación se basa en protocolos


estandarizados, arquitecturas heterogéneas y tecnologías
avanzadas que están previstas para que traigan conectividad
ubicua y perfecta.

 Esta evolución de la comunicación no solo mejorara el


rendimiento de las redes existentes sino también habilitara varias
aplicaciones en otros campos mientras se integra con diferentes
sistemas heterogéneos

 Este escalamiento masivo de las comunicaciones móviles


requiere un mayor ancho de banda para operar. 5G promete una
robusta solución ofreciendo latencia ultra baja y un gran ancho de
banda para la transmisión de datos
Utilidad de FPGA en 5G
 Para proporcionar a las personas y empresas una experiencia en tiempo real, social y
totalmente conectada, se debe diseñar una arquitectura coordinada de extremo a extremo que
sea ágil e inteligente en cada etapa. Dado que los FPGA tienen el potencial de ser eficientes en
recursos y energía, se pueden utilizar para construir componentes de infraestructura 5G.
 Esto puede acelerar el rendimiento de la red sin hacer una gran inversión en hardware nuevo.
La reconfigurabilidad dinámica y las funciones de programación en campo de los FPGAs en
comparación con los ASIC de función fija ayudan a desarrollar mejores sistemas inalámbricos
Desafíos técnicos en infraestructura 5G
 Control de acceso medio: en el caso de un despliegue denso de puntos de acceso y terminales de
usuario, el rendimiento del sistema se reducirá y la latencia sería alta.
 Gestión del trafico de datos: pasar de la comunicación tradicional a M2M no solo sobrecargara y
congestionara la red , sino que también será una amenaza para la red de acceso por radio
 Red de servicios múltiples: 5G tiene que ofrecer servicios diversificados a redes y dispositivos
heterogéneos que operan en diferentes geografías, y estos pueden tener diferentes especificaciones
 Consumo de energía: La reducción del consumo de energía para los servicios prestados es específica
para ayudar a que los equipos del usuario final tengan una mejor duración de la batería
 Comunicación, navegación y detección: Estos servicios dependen en gran medida del espectro de
radio asignado, ya que la capacidad de transmisión depende de eso.
Generalidades de FPGA para 5G
 Los FPGA con las características de reconfigurabilidad dinámica parcial (DPR) y la capacidad de
funcionar a frecuencias más altas lo hacen conveniente para diseñar varios bloques de
construcción de la arquitectura 5G.
 Además, los FPGA tienen excelentes ventajas como el procesamiento en tiempo real que ayuda
en el procesamiento de la señal de radio, el paralelismo que ayuda al cálculo de múltiples núcleos
en el mismo FPGA y la eficiencia energética en el caso de cálculos de precisión fija que las GPU.
 Sin embargo, existen algunos desafíos asociados con el uso de FPGA, por ejemplo, son más
costosos y tienen un mayor consumo de energía en comparación con DSP y microcontroladores
 Además, son difíciles de programar y menos eficientes en los cálculos de punto flotante. Además,
los ASIC (circuitos integrados de aplicación específica) son más eficientes y funcionan mejor que
los FPGA. Los FPGA solo se prefieren cuando el volumen de producción requerido es menor y la
importancia del tiempo de comercialización es mayor.
Aplicaciones de FPGA en 5G
 Aparte de los gastos de capital (CAPEX), incurridos durante la construcción de la infraestructura
preliminar para 5G y el mantenimiento anual, el gasto de capital operativo (OPEX) debe reducirse
para que los servicios se puedan proporcionar a tarifas reducidas.
 Por lo tanto, los operadores de telecomunicaciones se están enfocando en minimizar los costos
operativos y mejorar la eficiencia del hardware y la transmisión
 La flexibilidad de los FPGA nos permite programar varias aplicaciones sobre él en diferentes
instancias. La capacidad de la FPGA para reconfigurarse dinámicamente nos permite cambiar la
capacidad de transmisión de datos junto con el cambio entre servicios según el requisito actual. Todas
estas capacidades de FPGA están empujando a los principales fabricantes de FPGA a invertir más para
hacer que su hardware sea más capaz de lidiar con las crecientes tecnologías de comunicación. Dado
que los FPGA se están desempeñando bien en el procesamiento de señales, dando una salida más
rápida y un mayor rendimiento, pueden usarse para filtrar señales en telecomunicaciones.
AMD por adquirir Xilinx

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?

 Pues una formidable presencia y tecnología punta en 5G, redes,


automóviles inteligentes y especialmente en cuanto a
comunicaciones, mercados en los que AMD no tiene presencia por
el hecho que el desarrollo de sus tecnologías no ha ido en ese
sentido, pero la cosa es mucho más profunda y requiere un análisis
detallado.
 Hay que tener en cuenta que Xilinx es una empresa especializada
en el desarrollo de los FPGA, aunque aparte de ello también
licencian código de descripción del hardware como IPs que carga
en sus FPGA y que tienen funciones específicas dentro de
diferentes ámbitos.
Aceleradores

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

 Un ejemplo de este tipo de aceleradores puede ser un descodificador de vídeo


integrado dentro de un SoC o una GPU; el problema de dicho descodificador es
que si aparece un nuevo tipo de formato de vídeo no podemos cambiar la
circuitería del mismo para que lo pueda reproducir, pero con un FPGA a cambio
de que estos son un poco más complejos en tamaño sí que pueden ser
reconfigurados para soportar nuevos estándares o mejorar su eficiencia.

 Nos permite reorganizar por completo el propósito dentro de los diferentes


aceleradores
Influencia de los FPGA en la inteligencia artificial

 Los diseños mas adecuados de cara a los algoritmos de inteligencia


artificial son los de tipo MIMD(Multiple Instruction, Multiple
Data) por que tienen ventaja sobre el resto de arquitecturas
 Dado que los CPU son escalares y por lo general son un poco
SIMD(Single Instruction, Multiple Data), ha sido necesaria la
creación de núcleos con ALUs de ejecución MIMD en pos de
implementar algoritmos de inteligencia artificial
 Y en este punto es donde entran los FPGA ya que pueden ser
configurados como múltiples núcleos distintos funcionando en
paralelo y esto ha hecho que muchas implementaciones de IA no se
basen en ASICs sino en implementar FPGAs como redes
neuronales o arrays sistolicos
El advenimiento de los NoC

 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?

 Por una parte, debido al progresivo estancamiento de la ley de Moore, las


empresas ya no pueden delegar la mejora de la velocidad de sus algoritmos al
continuo incremento de potencia de los procesadores. Es por ello que Microsoft
está incluyendo una FPGA en todos sus servidores, consiguiendo multiplicar por
40 la velocidad de sus algoritmos de búsqueda.
 Según un representante de la compañía, la integración de FPGAs y CPUs en un
único integrado podría incrementar la velocidad hasta un 50% con respecto a su
uso en integrados separados.
Conclusiones
 Si bien es cierto estos dispositivos son difíciles de aprender a usar, las posibilidades
no tienen limites
 La reconfigurabilidad dinámica en los FPGAs son su principal ventaja frente a los
ASIC
 La ventaja de poder comprobar la corrección de uno de estos sistemas es
fundamental para las empresas ya que se evitan unos costes grandes por errores de
diseño
 Una inversión y gran desarrollo de los FPGA llega en un momento adecuado, ahora
que ciertas tecnologías están alcanzando un tope
 Ya que el diseñador tiene el control total del sistema, existe una menor dependencia
del hardware diseñado por otra persona

También podría gustarte