Tarea 5 Fpga

Descargar como pdf o txt
Descargar como pdf o txt
Está en la página 1de 6

INSTITUTO TECNOLÓGICO DE ENSENADA

FPGA

Programación en VHDL.

GERARDO JARAMILLO TIRADO

Maestro: Galván Espinosa Enrique Carlos Alfonso

-------------------------------------------------
Los FPGA son dispositivos que aunque no son nuevos no son tan populares, si no
los has usado seguramente ya habrás escuchado de ellos, este artículo no
tiene como intención hacer un análisis técnico profundo ni enseñar a
programarlos, sólo mostrar el panorama para aquellos que no los conocen.

FPGA son las siglas de Field Programmable Gate Array, los FPGAs son
dispositivos digitales que son capaces de configurarse para prácticamente
cualquier aplicación, son muy rápidos, son capaces de trabajar muchos procesos
en paralelo.
Entonces viene la pregunta, ¿por qué no muchos los utilizan? ¿son una tecnología
sin futuro? Habrá opiniones diferentes pero por lo menos Intel cree que tienen
mucho futuro, acaba de invertir $16,700 millones de dólares en la compra de
Altera, una de las empresas más grandes de FPGAs. Analizemos algunos de sus
aspectos.
ARQUITECTURA PROGRAMABLE
Sin entrar en detalles internamente los FPGAs tienen un conjunto muy grande de
componentes digitales elementales combinacionales y secuenciales, compuertas
AND, OR, NOT, FLIP-FLOPs entre otros.

Lo interesante está en que se pueden “programar” las conexiones entre las


compuertas y FLIP-FLOPs de modo que se puede crear cualquier dispositivo
digital que te puedas imaginar, lo que sea, los únicos limitantes son la frecuencia y
la cantidad de compuertas, y precisamente estos son los factores que determinan
el precio del FPGA.
Algunos ejemplos de aplicaciones pueden ser: compuertas AND, decodificadores
de 7 segmentos, temporizadores, sumadores, ALUs, microprocesadores,
protocolos de comunicación UART, I2C, SPI, memorias RAM, y cualquier circuito
digital que te imagines.
VELOCIDAD
Entre las tarjetas de desarrollo con FPGAs más básicas se suelen manejar los
50MHz, si quieres compararlos con algún microcontrolador debes ser cuidadoso
porque para los FPGAs esa frecuencia es una frecuencia de operación real,
realizan sumas, multiplicaciones, divisiones y cambios de estado de un pin a
50MHz, a diferencia de los microprocesadores que aunque están conectados a un
cristal de cierta frecuencia, su frecuencia de operación es 2 o 4 veces menor
debido a la arquitectura que tienen.
Otro detalle es que al igual que muchos microcontroladores y
microprocesadores tienen PLLs internos que permiten multiplicar la frecuencia
llegando a 100MHz o 200MHz desde 50MHzsin ningún problema.
PROGRAMACIÓN, O MEJOR DICHO, DESCRIPCIÓN DE HARDWARE
Los FPGAs a diferencia de los microcontroladores y microprocesadores no se
programan, se describen, no tienen lenguaje de programación, tienen lenguaje de
descripción de descripción de hardware, se le llama descripción porque lo que en
realidad hacemos es describir las conexiones entre los elementos, hay dos
opciones, VHDL y Verilog.

Hay que decirlo, es un lenguaje difícil, mientras que enviar el mensaje “¡Hola
Mundo!” desde Arduino implica escribir unas pocas líneas, quizá unas 10, casi
cualquiera puede hacerlo, enviar ese mensaje en VHDL puede implicar unas 300 o
400 líneas de código para alguien que ya tiene experiencia. Claro que hay
sistemas que definitivamente no se pueden hacer en los microcontroladores y para
los FPGA no hay problema.
También existe la posibilidad de implementar un procesador y a este
procesador programarlo en C utilizando las herramientas oficiales, o algunas
alternativas. O también hay FPGAs que llevan in procesador dentro.
PRECIO
Las tarjetas de desarrollo suelen ser relativamente caras, un poco por el precio del
FPGA mismo pero también por los componentes externos necesarios para su
funcionamiento, memoria Flash, fuente de voltaje, que usualmente es fuente
conmutada porque consumen bastante corriente para su funcionamiento, varias
decenas capacitores necesarios por la gran cantidad de transistores que funcionan
a altas frecuencias, programador y muchos otros aditamentos que suelen poner
los fabricantes de tarjetas para agregar funcionalidad.
¿QUIENES UTILIZAN LOS FPGA?
Las industrias dedicadas al desarrollo de circuitos integrados digitales, centros de
investigación, en general instituciones dedicadas a crear circuitos digitales que no
pueden conseguir en ningún otro lado, sistemas con características especiales.
Si eres estudiante de alguna carrera que está relacionada con sistemas digitales,
arquitectura de procesadores, microcontroladores también es recomendable
utilizarlos, utilizar FPGAs para practicar la teoría mejora mucho el entendimiento
de los sistemas digitales.
Todo ingeniero que se tome en serio los sistemas digitales debería también saber
a programar FPGAs incluso si no es la plataforma de su preferencia, implementar
sistemas en FPGAs ayuda mucho a entender mucho a los microprocesadores o
microcontroladores, características como el DMA (Direct Memory Access),
prioridad de interrupciones y la diferencia entre un SoftwareSerial y un Serial de
Arduino.
FUTURO DE LOS FPGAS
La compra de Altera de parte de Intel quizá sea indicio de que lo mejor está
por venir, ya hablamos de que algunos FPGAs llevan procesadores dentro, otra
propuesta interesante es que los procesadores lleven dentro un FPGA.
Imaginemos que en el futuro nuestra computadora podrá elegir entre agregar
algunos núcleos de procesador extra, o mayor memoria RAM o agregar otra
tarjeta gráfica, todo esto sin tener que agregar nada físicamente, nuestra
computadora configuraría su hardware de acuerdo a las necesidades.
En el área de los microcontroladores también hay propuestas interesantes que
agregan una parte de arquitectura configurable, manteniendo el bajo costo, el bajo
consumo y la facilidad de programación, esto agrega el gran beneficio de poder
agregar PWMs o UART o Timers extra, de acuerdo a la necesidad de la
aplicación.

También podría gustarte