mmo-chip es una herramienta de código abierto diseñada para revertir la ingeniería de circuitos integrados a partir de fotografías del dado (die shots), con un enfoque particular en chips CMOS de matriz de puertas y células estándar (gate array y standard cell). Permite importar y trocear imágenes de gigapíxeles del dado, anotarlas manualmente o con asistencia de aprendizaje automático —marcando vías, pistas y células estándar— y extraer tanto el esquemático completo del circuito como los esquemáticos por célula (transistores y puertas lógicas) y un netlist Verilog a nivel de dado.
La aplicación se divide en cuatro áreas de trabajo: un frontend en Vite + React + TypeScript que actúa como visor del dado y permite navegar por las células, redes y pines de E/S colocados, así como realizar la anotación capa a capa de cada célula; un backend en Node + TypeScript encargado de la importación de imágenes, el troceado en teselas, la persistencia en JSON y la comunicación por WebSocket; un módulo de tipos TypeScript compartidos que define el esquema de anotación; y un sidecar de aprendizaje automático en Python con una red U-Net para detección automática de vías y pistas, expuesto mediante FastAPI.
Los requisitos son Node 20 o superior —gestionado mediante npm workspaces— y Python 3.10 o superior, este último solo necesario si se quiere usar la asistencia por aprendizaje automático. El comando npm run dev levanta los tres servicios simultáneamente: backend en el puerto 3001, frontend en el 5173 y sidecar de ML, dejando la aplicación lista en el navegador. Sin el sidecar, se pueden arrancar por separado con npm run dev -w backend y npm run dev -w frontend. El proyecto incluye además comandos estándar de build y test (npm run build, npm test).
El repositorio advierte de que el software se encuentra en una fase muy temprana de desarrollo y que solo ha sido probado en entornos locales con cortafuegos, por lo que se recomienda usarlo bajo la responsabilidad del usuario. Las imágenes del dado que aparecen en las capturas de pantalla del proyecto proceden de InfoSecDJ.
