Un FPGA es un chip que utiliza puertas lógicas configurables, por lo que podemos hacer que simule otro chip ya existente o en desarrollo. A nivel profesional se suelen usar en dos campos. El primero es de cara el prototipaje de nuevos chips que saldrán en el futuro. En cuanto al segundo uso, su utilidad no es otra que para implementar arquitecturas a tan pequeña escala que no justifican su fabricación.
No existen limitaciones en los FPGA para simular sistemas retro, pero …
No obstante, de un tiempo a esta parte hemos visto aparecer un uso en concreto para los FPGA, ni más ni menos hacer que simulen la circuitería de sistemas antiguos ya descatalogados. Es decir, tener lo que sería una consola o un ordenador de antaño con su hardware original, solo que implementado en este tipo de chips, por lo que terminan ejecutando el contenido sin emuladores por el medio. Sin embargo, tienen sus problemas asociados y no son tan fidedignos a los sistemas originales como nos podríamos imaginar.
Hemos de partir del hecho que un FPGA se programa desde un lenguaje de descripción del hardware como VHDL o Verilog. Estos lenguajes describen los diferentes componentes dentro del chip a nivel de electrónica. Es decir: puertas lógicas, sistemas combinaciones y secuenciales, celdas de memoria y las interconexiones entre ellos. Por lo que si se quiere conocer el chip original es necesario conocer el chip por dentro. No nos bastan las especificaciones técnicas. Para ello es necesario decapar un chip de los originales, y a través de un microscopio electrónico ir analizando punto por punto cada una de las piezas, lo cual es literalmente un trabajo titánico que no todo el mundo puede hacer.
¿Qué ocurre cuando en un emulador se ha de emular una función del sistema que se sabe lo que hacer, pero no como lo hace? Pues se busca una forma alternativa de implementar esa función del sistema original, que si bien no será fiel e inicialmente no tendrá el mismo rendimiento, aumentará la compatibilidad de los juegos. En el caso del hardware ocurre lo mismo, y no solo con las FPGA, sino que hay un caso histórico muy parecido.
El curioso caso de la SNES Jr.
La SNES Jr. no llevaba un FPGA, pero se trató de la implementación de la SNES en un solo chip que sirvió como base para un tercer modelo de la consola que tuvo muy poco tiempo de vida, ya que salió en 1997. Al unificarlo todo en un chip y tras la ruptura de relaciones comerciales con SONY para el chip SCP700, que se encargaba del sonido, en Nintendo tuvieron que crear un reemplazo y rediseñar toda la circuitería. ¿Las consecuencias? Ambos modelos no se ven ni se oyen exactamente igual.
Pues bien, ese problema ocurre con las implementaciones del hardware antiguo en los FPGA y es uno de los motivos de queja de los puristas. Si nos agarramos al criterio de utilidad, estos no dejan de ser una versión nueva sin los problemas de desgaste de un hardware de varias décadas y es una solución mucho mejor que la clásica cerdada de las consolas con chip ARM de gama baja emulando que es lo que se suelen ver en la mayoría de consolas chinas que se suelen ver.
¿Exageran los puristas o es una forma de defender su patrimonio?
Más bien las dos cosas al mismo tiempo, el gran problema que existe con buena parte de estos sistemas antiguos es que muchas de las personas que los diseñaron ya se han jubilado, por edad, o fallecieron. Es más, ni ellos mismos se acordarían por qué colocaron dicho transistor aquí o allí y una misma funcionalidad se puede implementar de varias maneras. Por ejemplo, podemos tener dos diseños simétricos, uno compuesto por puertas NAND y otro por puertas NOR y hacer exactamente lo mismo.
Sin embargo, la primera preocupación a la hora de hacer un sistema basado en FPGA es proporcionar la mayor compatibilidad posible, la fidelidad ya llegará después. Pero todo eso se va al garete cuando descubres que los propios fabricantes de las consolas no tienen en cuenta elementos como si un color se ve más apagado o brillante, si un sonido suena exactamente igual o no. Ya que eso supondría tiempo adicional en el desarrollo y el departamento de calidad. Eso te lo puedes encontrar si haces galletas donde lo que buscas es que todas tengan el mismo sabor.
¿Sí a los fabricantes les importa más bien poco esos detalles por qué me debería hacerlo a mí? Ah no, que lo dicen y hacen aquellos que conservan los sistemas originales, los cuales tarde o temprano se caerán a pedazos y necesitan encalmárselos a alguien a un buen precio. ¿La caja original y los manuales? De decoración, sin más utilidad que presumir de un status económico mayor. ¿La realidad? En unos años sus sistemas originales estarán rotos y sin poderse usar. Y esto lo saben, de ahí de haber creado la burbuja del retro, hay que vender rápido.