¿Qué es una FPGA?
Las FPGAs son uno de los últimos escalones en
la evolución del hardware reconfigurable. Diseñar y probar componentes
hardware era un proceso muy lento y muy costoso. No había muchas formas de
probar que tu diseño funcionara hasta que no lo imprimías en una placa, y el
proceso de impresión es lento y caro, sobre todo para ir probando cambios en el
diseño.
Las
FPGAs llegaron para cambiar esto. En esencia son muchos componentes hardware interconectados entre
sí (desde puertas lógicas hasta elementos un poco más complejos), pero de
manera que las interconexiones son configurables y las eliges tú. Esto te
permite escoger los componentes que tú quieras y conectarlos a tu gusto, sin necesidad de imprimir en hardware. Simplemente haces el diseño en un lenguaje concreto (llamado
lenguaje de descripción hardware, HDL por sus siglas en inglés), y una herramienta
proporcionada por el fabricante de la FPGA convertirá ese lenguaje en
conexiones abiertas o cerradas en los miles de componentes internos de la FPGA.
El resultado es que dentro de la FPGA se encontrará tu circuito hardware tal cual, y producirá la misma función que
produciría si lo hubieras impreso en una placa.
Esto
facilitó en muchos aspectos el proceso de diseño y construcción, porque
permitía probar de manera rápida y barata cada cambio en el diseño.
Originalmente, las FPGAs se utilizaban para prototipado y diseño, no como
producto final (no se utiliza la FPGA en producción), pero a día de hoy sí
existen soluciones que incorporan FPGAs en el producto final (FPGAs por ejemplo
que emulan el comportamiento de cierto procesador). En la imagen vemos una
placa de desarrollo para una FPGA de Digilent. La FPGA propiamente dicha es el pequeño cuadradito negro
arriba de las letras que leen “Basys-3” (Basys-3 es el nombre de
la placa). El resto de componentes de la placa sirven para poder probar
diferentes funcionalidades y añadirle entrada/salida, entre otras cosas.
Comentarios
Publicar un comentario