Hace ya años que se habla de las FPGAs como dispositivos de grandes posibilidades destinados a ir quitando protagonismo a los omnipresentes microcontroladores. Su principal virtud es que al ser grandes bloques de lógica programable, son extremadamante rápidos, tienen una flexibilidad enorme, y se puede hacer prácticamente todo con ellos. Existen IP cores ( bloques funcionales que se pueden insertar dentro de la FPGA ) para casi cualquier aplicación imaginable: procesadores de 8 o 32bits, DSPs, protocolos de comunicaciones, sistemas criptográficos de alta velocidad, codificadores o decodificadores de audio o video etc.
Pero a pesar de que aún son insustituibles en algunas aplicaciones, no terminan de despegar, o al menos no se han situado al nivel que prometían hace unos años. Exceptuando estos casos raros en los que no tienen sustiuto, las FPGAs són una solución cara si se las compara con los microcontroladores. Caras porque su precio es aún mucho mayor que el de un microcontrolador capaz de hacer cosas parecidas por “software”, y porque en el mercado laboral hay bastantes menos profesionales con conocimientos sólidos para trabajar con ellas ( por ello los pocos que hay suelen ser exigentes con los sueldos ). Además, las FPGAs son más complejas de configurar y depurar, y los tiempos de desarrollo y puesta en marcha suelen ser más largos. Por otro lado los microcontroladores no hacen más que incrementar sus prestaciones y potencia a la vez que disminuyen su coste y dificultad de desarrollo ( algo que también sucede con las FPGAs, todo sea dicho).
Desde mi punto de vista estas son algunas de las razones que hacen que las empresas, apremiadas por disminuir los costes y el “time to market”, apuesten mayoritariamente por los microcontroladores siempre que pueden, dejando las FPGAs sólo para aquellos casos en que la solución mediante microcontrolador es inviable. La gran mayoría de productos en los que he tenido la oportunidad de trabajar o en que he sabido trabajaban compañeros mios estaban basados en microcontrolador.
Hace unos años pensaba que las FPGAs dejarian en segundo plano a los microcontroladores en muchos campos de aplicación, pero la realidad es que la situación no ha cambiado mucho, es más diría que aplicaciones que hace pocos años estaban sólo al alcance de las FPGAS ( p.ej. procesado de video ) ahora se realizan mayoritariamente con microprocesadores.
