El diseño de hardware es una de las disciplinas que más está creciendo en los últimos años. Esto se debe al hecho que de cara a optimizar las aplicaciones, el diseño de las mismas empieza a ligarse con el del hardware del PC. Esta situación se traduce en la creación de lo que llamamos aceleradores, por un lado, y los procesadores de dominio específico por otro. Sin embargo, el hecho de diseñar hardware supone un coste humano, económico y en tiempo que no tiene todo el mundo. Algo que Google pretende solucionar esto con su programa Open MPW.
Si tenemos los conocimientos suficientes podemos diseñar hardware para necesidades concretas. El problema viene en que a no ser que tengamos en manos un proyecto que va a ser usado de forma masiva, a día de hoy no podemos fabricarlo en ninguna parte. Para ello obviamente están los FPGA, pero su total configurabilidad es un arma de doble filo en cuanto a costes. Tampoco es que necesitemos acceder a los nodos de fabricación más avanzados para ciertos niveles de complejidad y ciertas soluciones, pero el nivel de complejidad que podemos conseguir con los chips configurables es relativamente bajo para ciertas aplicaciones
¿Qué es programa Open MPW de Google?
En noviembre de 2020, Google llego a un acuerdo con SkyWater Technologies para ofrecer en código abierto su kit de diseño basado en el proceso SKY130. Un proceso de fabricación muy simple al basarse solo en un nodo de 130 nm. Aunque lo suficientemente bueno como para tener una comunidad de 3000 miembros que comparten sus proyectos de diseño de hardware totalmente abierto.
La idea, por tanto, no se reduce a poder diseñar chips, sino en la capacidad de poderlos manufacturar e instalarlos en productos existentes. Así pues, el proyecto da a cada usuario la capacidad de diseñar y fabricar chips con un área de 2.92 x 3.52 mm y 38 pines para E/S. Esto es algo que nos puede perecer muy modesto y más con un nodo de fabricación como el de 130 nm. Pero es ideal para proyectos pequeños, en especial de cara al mundo del internet de las cosas.
¿Qué productos se han conseguido hacer?
Pues cosas tan curiosas como:
- Pequeños aceleradores para cálculo de matrices, muy relacionado con la inteligencia artificial.
- Sistemas dedicados para la encriptación y desencriptación de datos.
- Aceleradores y procesadores de función fija para complementar procesadores heterogéneos basados en ARM o RISC-V.
- Hardware para dispositivos musicales como guitarras, teclados, etcétera.
- Versiones plenamente ejecutadas por hardware de aplicaciones como Sudokus, Tetris o el últimamente popular Wordle.
El acuerdo entre Google y SkyWater Technologies ofrece una gran cantidad de herramientas para el diseño y el despliegue de soluciones de hardware, las cuales podéis encontrar en su página web. Todas ellas de código abierto.
¿Qué ventajas aporta?
El proyecto además les da la libertad de trabajar a los diferentes equipos en diseño con un entorno similar al del software de código abierto, pero centrado en el diseño de nuevos chips. Dado que los diseños del programa cumplen las siguientes premisas:
- No violan ninguna patente existente.
- Pueden ser reproducidos fácilmente por terceros.
¿Cuáles son los proyectos que harías vosotros y por qué? Nos interesa mucho saberlo. En todo caso, si tenéis interés en apuntaros al programa daos prisa. Tenéis hasta el 8 de junio en la actual convocatoria.